1                                                                                                                                    
-                                                                                                                                    
0                                            PRINCETON UNIVERSITY COMPUTER CENTER CLINIC                                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
                                                            +------------+                                                           
                                                            +            +                                                           
                                                            + COMPUTER   +                                                           
                                                            +            +                                                           
                                                            +    PICTURE +                                                           
                                                            +            +                                                           
                                                            +------------+                                                           
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                              THE MOON                                                              
-                                                   COMPUTER TRANSCRIPTION PROCESS                                                   
0                                                                 BY                                                                 
0                                                         SAMUEL P. HARBISON                                                         
0                                                       COMPUTER CENTER CLINIC                                                       
                                                         PRINCETON UNIVERSITY                                                        
                                                           87 PROSPECT ST.                                                           
                                                     PRINCETON, NEW JERSEY 08540                                                     
-                                                  COPYRIGHT 1973 BY S. P. HARBISON                                                  
-                                                       SHEET  1 OF  5 SHEETS                                                        
-                         THE COMPLETE PICTURE IS CONSTRUCTED BY TAPING THE SHEETS TOGETHER SO THAT THE                              
                          LAST CHARACTER ON THE FIRST SHEET MEETS THE FIRST CHARACTER ON THE NEXT SHEET                              
                          WITH NO WHITE SPACE BETWEEN THEM.  THIS WILL REQUIRE TRIMMING THE SHEETS WITH                              
                          SCISSORS.  DO NOT PUT TAPE ON THE PRINTED SIDE OF THE PAPER; TAPE FROM BEHIND.                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
0                                                                                                                                    
         - 1 1-11+=====IXXXZZZXZZZZ-Z--Z-----Z-Z----Z-Z--M------M------MM-------------------------------Z-----------Z--------M-------
+                                  C CC CCCCC C CCCC C CC CCCCCC CCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC CCCCCCCC CCCCCCC
 -"----------"---"-"""""-"""""""""""+""""""""""+"+"+"++++++++++++++++++++++++++++++++++++++++==++++=++++==+++===+====++=+===++==++==+
+.C..........+...+.+++++.+++++++++++C++++++++++C+C+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+'B''''''''''C'''C'CCCCC'CCCCCCCCCCC CCCCCCCCCC C C C                                                                                
+XHXXXXXXXXXX XXX X     X                                                                                                            
+CXCCCCCCCCCC CCC C     C                                                                                                            
 """""""""""--------------"----""""""""""""""""""+"""""+"+++++++++++++++=++++++++++++++++++++++++++++++++++++++++++==+++++++++==++==+
+CCCCCCCCCCC..............+....++++++++++++++++++C+++++C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBB''''''''''''''C''''CCCCCCCCCCCCCCCCCC CCCCC C                                                                            
+HHHHHHHHHHHXXXXXXXXXXXXXX XXXX                                                                                                      
+XXXXXXXXXXXCCCCCCCCCCCCCC CCCC                                                                                                      
 """"-""""""--"----------------""-"""""""""""""""""""""+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++
+CCCC.CCCCCC..C................++.+++++++++++++++++++++C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBB'BBBBBB''B''''''''''''''''CC'CCCCCCCCCCCCCCCCCCCCC C                                                                            
+HHHHXHHHHHHXXHXXXXXXXXXXXXXXXX  X                                                                                                   
+XXXXCXXXXXXCCXCCCCCCCCCCCCCCCC  C                                                                                                   
 """"-""----"------"-------"""""""""""""+"""""+"""""+"+"++++++++"==++++++++++++++++++++++++++++++++++++++++++++=++++++++++++=+++++=++
+CCCC.+C....C......+.......+++++++++++++C+++++C+++++C+C+CCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBB'CB''''B''''''C'''''''CCCCCCCCCCCCC CCCCC CCCCC C C        C                                                                    
+HHHHX HXXXXHXXXXXX XXXXXXX                                                                                                          
+XXXXC XCCCCXCCCCCC CCCCCCC                                                                                                          
 """""-""""""-"----"-------"---"-"""""""""""""""""""""""+++"++""++"++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCC.C+CCCC.C....+.......+...+.+++++++++++++++++++++++CCC+CC++CC+CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBB'BCBBBB'B''''C'''''''C'''C'CCCCCCCCCCCCCCCCCCCCCCC   C  CC  C          C                                                       
+HHHHHXH HHHHXHXXXX XXXXXXX XXX X                                                                                                    
+XXXXXCX XXXXCXCCCC CCCCCCC CCC C                                                                                                    
 """"""-+""---"------------------""-""""""""""""""""""""+"""""""""+++"++"++++++++++++++++++"+++++++++++++++++++++++++++++++++++++++++
+CCCCCC.CCC...C..................++.++++++++++++++++++++C+++++++++CCC+CC+CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBB' BB'''B''''''''''''''''''CC'CCCCCCCCCCCCCCCCCCCC CCCCCCCCC   C  C                  C                                         
+HHHHHHX HHXXXHXXXXXXXXXXXXXXXXXX  X                                                                                                 
+XXXXXXC XXCCCXCCCCCCCCCCCCCCCCCC  C                                                                                                 
 """"""""""""-"--"-------------"----"---""-""""""""""""""""""""""""""""""++"+""+"+++++"+"++++"+++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCC.C..C.............+....+...++.++++++++++++++++++++++++++++++CC+C++C+CCCCC+C+CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBB'B''B'''''''''''''C''''C'''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C CC C     C C    C                                       
+HHHHHHHHHHHHXHXXHXXXXXXXXXXXXX XXXX XXX  X                                                                                          
+XXXXXXXXXXXXCXCCXCCCCCCCCCCCCC CCCC CCC  C                                                                                          
 """"-"""-"""--"-"---"-------------""""+"""""""""""""""""""""""""""""+"++++""+"+++++++"++++++++"+++++++++++++++++++++++++++++++++++++
+CCCC.CCC.CCC..C.C...+.............++++C+++++++++++++++++++++++++++++C+CCCC++C+CCCCCCC+CCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBB'BBB'BBB''B'B'''C'''''''''''''CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC C    CC C       C        C                                     
+HHHHXHHHXHHHXXHXHXXX XXXXXXXXXXXXX                                                                                                  
+XXXXCXXXCXXXCCXCXCCC CCCCCCCCCCCCC                                                                                                  
 """""""""""""--""-------"---------""""-"""""""""""""""""""""""""""""""+"++"++"+""+"+""""""++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCC..CC.......+.........++++.+++++++++++++++++++++++++++++++C+CC+CC+C++C+C++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBB''BB'''''''C'''''''''CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  C  C CC C CCCCCC                                          
+HHHHHHHHHHHHHXXHHXXXXXXX XXXXXXXXX    X                                                                                             
+XXXXXXXXXXXXXCCXXCCCCCCC CCCCCCCCC    C                                                                                             
 """"""-"""""""-"""------------------""---"---"""""""""""""""""""""""""""+++"""+"+""+"""++"+"++""++"+++++++++++++++++++++++++++++++++
+CCCCCC.CCCCCCC.CCC..................++...+...+++++++++++++++++++++++++++CCC+++C+C++C+++CC+C+CC++CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBB'BBBBBBB'BBB''''''''''''''''''CC'''C'''CCCCCCCCCCCCCCCCCCCCCCCCCCC   CCC C CC CCC  C C  CC  C                                 
+HHHHHHXHHHHHHHXHHHXXXXXXXXXXXXXXXXXX  XXX XXX                                                                                       
+XXXXXXCXXXXXXXCXXXCCCCCCCCCCCCCCCCCC  CCC CCC                                                                                       
 """"""""""""""-"""----------------"---------""""""""""""""""""""""""""""+"+""+""+""+"+"+"+"""+++++"+++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCC.CCC................+.........++++++++++++++++++++++++++++C+C++C++C++C+C+C+C+++CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBBB'BBB''''''''''''''''C'''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCC C CC CC CC C C C CCC     C                                 
+HHHHHHHHHHHHHHXHHHXXXXXXXXXXXXXXXX XXXXXXXXX                                                                                        
+XXXXXXXXXXXXXXCXXXCCCCCCCCCCCCCCCC CCCCCCCCC                                                                                        
 """""""""""-""-"""--------------"-------"""""""""""-"""""""""""""""""""""""""""+""++"+++""""++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCC.CC.CCC..............+.......+++++++++++.+++++++++++++++++++++++++++C++CC+CCC++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBB'BB'BBB''''''''''''''C'''''''CCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCC CC  C   CCCC                                        
+HHHHHHHHHHHXHHXHHHXXXXXXXXXXXXXX XXXXXXX           X                                                                                
+XXXXXXXXXXXCXXCXXXCCCCCCCCCCCCCC CCCCCCC           C                                                                                
 """"""""""""""-"""----------------""-----""-""""""""""""""""""""""""""""""""""++""""++""""""""+"++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCC.CCC................++.....++.++++++++++++++++++++++++++++++++++CC++++CC++++++++C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBBB'BBB''''''''''''''''CC'''''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCC  CCCCCCCC C                                    
+HHHHHHHHHHHHHHXHHHXXXXXXXXXXXXXXXX  XXXXX  X                                                                                        
+XXXXXXXXXXXXXXCXXXCCCCCCCCCCCCCCCC  CCCCC  C                                                                                        
 """"""""""""""-"---"-------------"---"-"--"-"""""""""""""""""""""""""""""""""""""""""+"""+"+++"++""+++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCC.C...C.............+...+.+..+.+++++++++++++++++++++++++++++++++++++++++C+++C+CCC+CC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBBB'B'''B'''''''''''''C'''C'C''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC C   C  CC                                 
+HHHHHHHHHHHHHHXHXXXHXXXXXXXXXXXXX XXX X XX X                                                                                        
+XXXXXXXXXXXXXXCXCCCXCCCCCCCCCCCCC CCC C CC C                                                                                        
 """"""""""""""-"-------------------"-"---""""""""""""""""""""""""""""""""""""""""""""""++""+""++"+"+++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCC.C...................+.+...++++++++++++++++++++++++++++++++++++++++++++++CC++C++CC+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBBB'B'''''''''''''''''''C'C'''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC CC  C C                                 
+HHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXX X XXX                                                                                           
+XXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCC C CCC                                                                                           
 """""""""-"-"---------------------"-"-""""-"-"""""""""""""""""""""""""""""""+""""++""++"""""+"++++"+++"+++++++++++++++++++++++++++++
+CCCCCCCCC.C.C.....................+.+.++++.+.+++++++++++++++++++++++++++++++C++++CC++CC+++++C+CCCC+CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBB'B'B'''''''''''''''''''''C'C'CCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC  CC  CCCCC C    C   C                             
+HHHHHHHHHXHXHXXXXXXXXXXXXXXXXXXXXX X X    X X                                                                                       
+XXXXXXXXXCXCXCCCCCCCCCCCCCCCCCCCCC C C    C C                                                                                       
 """"""""""""""""-----------------------"-"-"""""""""""""""""""""""""""""""""+"""""""""""+"""""""+"++++++++"+++++++++++++++++++++++++
+CCCCCCCCCCCCCCCC.......................+.+.+++++++++++++++++++++++++++++++++C+++++++++++C+++++++C+CCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBBBBB'''''''''''''''''''''''C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC CCCCCCC C        C                         
+HHHHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXX X X                                                                                         
+XXXXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCC C C                                                                                         
 """""""""""""""---------------------------"""""""""""""""""""""""""""""""""""+"""""+""+"""+"""++++++"+++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCC...........................+++++++++++++++++++++++++++++++++++C+++++C++C+++C+++CCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBBBB'''''''''''''''''''''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC CC CCC CCC      C                               
+HHHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                                          
+XXXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                                          
 """""""-""""---"""--"-"-----------------"""-"""""""""""""""""""""""""""""""""+"""""""""""""""""+++++"+++++++++++++++++++++++++++++++
+CCCCCCC.CCCC...CCC..C.C.................+++.+++++++++++++++++++++++++++++++++C+++++++++++++++++CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBB'BBBB'''BBB''B'B'''''''''''''''''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCC     C                               
+HHHHHHHXHHHHXXXHHHXXHXHXXXXXXXXXXXXXXXXX   X                                                                                        
+XXXXXXXCXXXXCCCXXXCCXCXCCCCCCCCCCCCCCCCC   C                                                                                        
 #""-"""""""""-"--"-"-"---"------"-------"-"""--"""""-""""-""""""""""""""""""""""""""+"""""""""++++"+++++++++"++++++""+++++++++++++++
+XCC.CCCCCCCCC.C..C.+.+...C......+.......+.+++..+++++.++++.++++++++++++++++++++++++++C+++++++++CCCC+CCCCCCCCC+CCCCCC++CCCCCCCCCCCCCCC
+$BB'BBBBBBBBB'B''B'C'C'''B''''''C'''''''C'CCC''CCCCC'CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC    C         C      CC               
+_HHXHHHHHHHHHXHXXHX X XXXHXXXXXX XXXXXXX X   XX     X    X                                                                          
+&XXCXXXXXXXXXCXCCXC C CCCXCCCCCC CCCCCCC C   CC     C    C                                                                          
 """""""""""""-"""-------------------------""""""""""""""""""""""""""""""""""""""""+""+"""+"""""+""+++++++++++"++++++++++++++++++++++
+CCCCCCCCCCCCC.CCC.........................++++++++++++++++++++++++++++++++++++++++C++C+++C+++++C++CCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBB'BBB'''''''''''''''''''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCC CCCCC CC           C                      
+HHHHHHHHHHHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXXX                                                                                          
+XXXXXXXXXXXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCCC                                                                                          
 """"""""-""""""----"------------------"----"""""""""""""""""""""""""""""""""""""""""""+""+"++""+"""++++"+++"++++++++++++++++++++++++
+CCCCCCCC.CCCCCC....C..................+....+++++++++++++++++++++++++++++++++++++++++++C++C+CC++C+++CCCC+CCC+CCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBB'BBBBBB''''B''''''''''''''''''C''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC C  CC CCC    C   C                        
+HHHHHHHHXHHHHHHXXXXHXXXXXXXXXXXXXXXXXX XXXX                                                                                         
+XXXXXXXXCXXXXXXCCCCXCCCCCCCCCCCCCCCCCC CCCC                                                                                         
 """""""""""""-""-""""--------------------"""-"--"-"""""""""""""""""""""""""""""""""""""""""""+""""""""""""+"++""+"++""+"+++"++++++"+
+CCCCCCCCCCCCC.CC.CCCC....................+++.+..+.+++++++++++++++++++++++++++++++++++++++++++C++++++++++++C+CC++C+CC++C+CCC+CCCCCC+C
+BBBBBBBBBBBBB'BB'BBBB''''''''''''''''''''CCC'C''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCC C  CC C  CC C   C      C 
+HHHHHHHHHHHHHXHHXHHHHXXXXXXXXXXXXXXXXXXXX   X XX X                                                                                  
+XXXXXXXXXXXXXCXXCXXXXCCCCCCCCCCCCCCCCCCCC   C CC C                                                                                  
 """""""-"-"-"""--""--"----+--------"-"---"""-""""""""""""""""""""""""""""""""+""""""""""+"""+"++++++++"+++++++""+"++++++++++++++++++
+CCCCCCC.C.C.CCC..CC..C....C........+.+...+++.++++++++++++++++++++++++++++++++C++++++++++C+++C+CCCCCCCC+CCCCCCC++C+CCCCCCCCCCCCCCCCCC
+BBBBBBB'B'B'BBB''BB''B'''' ''''''''C'C'''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC CCC C        C       CC C                  
+HHHHHHHXHXHXHHHXXHHXXHXXXX XXXXXXXX X XXX   X                                                                                       
+XXXXXXXCXCXCXXXCCXXCCXCCCC CCCCCCCC C CCC   C                                                                                       
 """#""""""-""""-"-""--"---=-------------"-""-"""""""""""""""""""""""""""""+""+"""+""""""""+"+++"+""++"+"+++"+++"++++++++++++++++++++
+CCCXCCCCCC.CCCC.C.CC..+...C.............+.++.+++++++++++++++++++++++++++++C++C+++C++++++++C+CCC+C++CC+C+CCC+CCC+CCCCCCCCCCCCCCCCCCCC
+BBB$BBBBBB'BBBB'B'BB''C''' '''''''''''''C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCC CCCCCCCC C   C CC  C C   C   C                    
+HHH_HHHHHHXHHHHXHXHHXX XXX XXXXXXXXXXXXX X  X                                                                                       
+XXX&XXXXXXCXXXXCXCXXCC CCC CCCCCCCCCCCCC C  C                                                                                       
 """"""-""""""""""--""-----------"------""""--""""""""""""""""""""""""""""""""""""""""""""""""+"""++++""+++""+++"""+"++++++++++++++++
+CCCCCC.CCCCCCCCCC..CC...........+......++++..++++++++++++++++++++++++++++++++++++++++++++++++C+++CCCC++CCC++CCC+++C+CCCCCCCCCCCCCCCC
+BBBBBB'BBBBBBBBBB''BB'''''''''''C''''''CCCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC    CC   CC   CCC C                
+HHHHHHXHHHHHHHHHHXXHHXXXXXXXXXXX XXXXXX    XX                                                                                       
+XXXXXXCXXXXXXXXXXCCXXCCCCCCCCCCC CCCCCC    CC                                                                                       
 #"""""-"""""-"""""----"----------------""-----"""""""""""""""""""""""""""""""""""""""""""""""+"++""++""+++""++++++++++"+++++++++++++
+XCCCCC.CCCCC.CCCCC....C................++.....+++++++++++++++++++++++++++++++++++++++++++++++C+CC++CC++CCC++CCCCCCCCCC+CCCCCCCCCCCCC
+$BBBBB'BBBBB'BBBBB''''B''''''''''''''''CC'''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CC  CC   CC          C             
+_HHHHHXHHHHHXHHHHHXXXXHXXXXXXXXXXXXXXXX  XXXXX                                                                                      
+&XXXXXCXXXXXCXXXXXCCCCXCCCCCCCCCCCCCCCC  CCCCC                                                                                      
 "#"""""#""""""""------------------"---"""-""-"-""""""""""""""""""""""""""""+"""""""""""""+""++"+++++++"++"+"++++++++++++++++++++++++
+CXCCCCCXCCCCCCCC..................+...+++.++.+.++++++++++++++++++++++++++++C+++++++++++++C++CC+CCCCCCC+CC+C+CCCCCCCCCCCCCCCCCCCCCCCC
+B$BBBBB$BBBBBBBB''''''''''''''''''C'''CCC'CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC CC  C       C  C C                        
+H_HHHHH_HHHHHHHHXXXXXXXXXXXXXXXXXX XXX   X  X X                                                                                     
+X&XXXXX&XXXXXXXXCCCCCCCCCCCCCCCCCC CCC   C  C C                                                                                     
 ##"""#"""""""""""-"-"------------------""-"-"""""""""-"""""""""""""""""""""""""""""""""""""""""""+"+"""+"""++++++""++++++++"+++++"++
+XXCCCXCCCCCCCCCCC.C.C..................++.+.+++++++++.+++++++++++++++++++++++++++++++++++++++++++C+C+++C+++CCCCCC++CCCCCCCC+CCCCC+CC
+$$BBB$BBBBBBBBBBB'B'B''''''''''''''''''CC'C'CCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCC CCC      CC        C     C  
+__HHH_HHHHHHHHHHHXHXHXXXXXXXXXXXXXXXXXX  X X         X                                                                              
+&&XXX&XXXXXXXXXXXCXCXCCCCCCCCCCCCCCCCCC  C C         C                                                                              
 #""""""""""""""--"----------------------"----"-"""""""""""-""""""""""""""""""""""""""""""""""""""+""""""""""+++++"++""++++++++++++++
+XCCCCCCCCCCCCCC..C......................+....+.+++++++++++.++++++++++++++++++++++++++++++++++++++C++++++++++CCCCC+CC++CCCCCCCCCCCCCC
+$BBBBBBBBBBBBBB''B''''''''''''''''''''''C''''C'CCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC     C  CC              
+_HHHHHHHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXX XXXX X           X                                                                         
+&XXXXXXXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCC CCCC C           C                                                                         
 #"""""""""""""""-"-----------------------------"""""""""""""""""""""""""""""""""""""""""""""+"""+"""""""""""""+"++++++"++"++++++++++
+XCCCCCCCCCCCCCCC.C.............................+++++++++++++++++++++++++++++++++++++++++++++C+++C+++++++++++++C+CCCCCC+CC+CCCCCCCCCC
+$BBBBBBBBBBBBBBB'B'''''''''''''''''''''''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC CCCCCCCCCCCCC C      C  C          
+_HHHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                                     
+&XXXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                                     
 """""""""""""""""-""------------------"-""-""""""""-""""""""""""""""""""""""+"""""+""""""""""""++"""+++""++++++"""++++++++++++++++++
+CCCCCCCCCCCCCCCCC.CC..................+.++.++++++++.++++++++++++++++++++++++C+++++C++++++++++++CC+++CCC++CCCCCC+++CCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBBBBBB'BB''''''''''''''''''C'CC'CCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCC CCCCC CCCCCCCCCCCC  CCC   CC      CCC                  
+HHHHHHHHHHHHHHHHHXHHXXXXXXXXXXXXXXXXXX X  X        X                                                                                
+XXXXXXXXXXXXXXXXXCXXCCCCCCCCCCCCCCCCCC C  C        C                                                                                
 """""#"""""""""---""----"------------"-----""""""-"""""""""""""""""""""""""""""""""""""""""""""+"+""++"+""+"++""""+++"++++++++++++++
+CCCCCXCCCCCCCCC...CC....C............+.....++++++.+++++++++++++++++++++++++++++++++++++++++++++C+C++CC+C++C+CC++++CCC+CCCCCCCCCCCCCC
+BBBBB$BBBBBBBBB'''BB''''B''''''''''''C'''''CCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CC  C CC C  CCCC   C              
+HHHHH_HHHHHHHHHXXXHHXXXXHXXXXXXXXXXXX XXXXX      X                                                                                  
+XXXXX&XXXXXXXXXCCCXXCCCCXCCCCCCCCCCCC CCCCC      C                                                                                  
 ""#""""""""""""-"------------------------"-""""---"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""+""""+++"+++++""++++++"
+CCXCCCCCCCCCCCC.C........................+.++++...+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++C++++CCC+CCCCC++CCCCCC+
+BB$BBBBBBBBBBBB'B''''''''''''''''''''''''C'CCCC'''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC   C     CC      C
+HH_HHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXX X    XXX X                                                                                
+XX&XXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCC C    CCC C                                                                                
 """"#""""""""""""---"---------------------""""-"--"-""-"-"""""""""""""""""""""""""""""""""""""""""""""""""""+""""""""+++++++"+++++++
+CCCCXCCCCCCCCCCCC...C.....................++++.+..+.++.+.+++++++++++++++++++++++++++++++++++++++++++++++++++C++++++++CCCCCCC+CCCCCCC
+BBBB$BBBBBBBBBBBB'''B'''''''''''''''''''''CCCC'C''C'CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC       C       
+HHHH_HHHHHHHHHHHHXXXHXXXXXXXXXXXXXXXXXXXXX    X XX X  X X                                                                           
+XXXX&XXXXXXXXXXXXCCCXCCCCCCCCCCCCCCCCCCCCC    C CC C  C C                                                                           
 #""##""#""""""""""-""-------------------"------------"""-""""""""""""""""""""""""""""""""""""""""""""++"""++++"+""+++++"""""++"+++++
+XCCXXCCXCCCCCCCCCC.CC...................+............+++.++++++++++++++++++++++++++++++++++++++++++++CC+++CCCC+C++CCCCC+++++CC+CCCCC
+$BB$$BB$BBBBBBBBBB'BB'''''''''''''''''''C''''''''''''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCC    C CC     CCCCC  C     
+_HH__HH_HHHHHHHHHHXHHXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX   X                                                                           
+&XX&&XX&XXXXXXXXXXCXXCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCC   C                                                                           
 ##"#""""""""""-"""-"--------------------"---""---"--"-""""""""""""""""""""""""""""""""""""""""""+"""""""""""+"+""+"""+"""+"""++++"++
+XXCXCCCCCCCCCC.CCC.C....................+...++...+..+.++++++++++++++++++++++++++++++++++++++++++C+++++++++++C+C++C+++C+++C+++CCCC+CC
+$$B$BBBBBBBBBB'BBB'B''''''''''''''''''''C'''CC'''C''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC C CC CCC CCC CCC    C  
+__H_HHHHHHHHHHXHHHXHXXXXXXXXXXXXXXXXXXXX XXX  XXX XX X                                                                              
+&&X&XXXXXXXXXXCXXXCXCCCCCCCCCCCCCCCCCCCC CCC  CCC CC C                                                                              
 "#"""""""""""""""-"-""--------------------"-""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""""""+""+"""++++"++
+CXCCCCCCCCCCCCCCC.C.CC....................+.++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++++++C++C+++CCCC+CC
+B$BBBBBBBBBBBBBBB'B'BB''''''''''''''''''''C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC CC CCC    C  
+H_HHHHHHHHHHHHHHHXHXHHXXXXXXXXXXXXXXXXXXXX X  X                                                                                     
+X&XXXXXXXXXXXXXXXCXCXXCCCCCCCCCCCCCCCCCCCC C  C                                                                                     
 """""""""""""""""-"---------------------------"""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"+"+"+"""+++""++
+CCCCCCCCCCCCCCCCC.C...........................+++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+C+C+C+++CCC++CC
+BBBBBBBBBBBBBBBBB'B'''''''''''''''''''''''''''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C CCC   CC  
+HHHHHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXX   X                                                                                  
+XXXXXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC   C                                                                                  
 ""#"#-#"""-"""-"""""-"-""--""---------------"-"""-""-""""""""""""""""+"""""""""""""""""""""""""""""""""+"""""""+""+++++"++++++++++++
+CCXCX.XCCC.CCC.CCCCC.C.CC..CC...............+.+++.++.++++++++++++++++C+++++++++++++++++++++++++++++++++C+++++++C++CCCCC+CCCCCCCCCCCC
+BB$B$'$BBB'BBB'BBBBB'B'BB''BB'''''''''''''''C'CCC'CC'CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC CC     C            
+HH_H_X_HHHXHHHXHHHHHXHXHHXXHHXXXXXXXXXXXXXXX X   X  X                                                                               
+XX&X&C&XXXCXXXCXXXXXCXCXXCCXXCCCCCCCCCCCCCCC C   C  C                                                                               
 #"""#""""""-"-"-""""-"""---"-----------"---------"-""""-"""""""-""""""""""""""""""""""""""""""""""""""""""+""""""""+"""""++"++++++++
+XCCCXCCCCCC.C.C.CCCC.CCC...C...........+.........+.++++.+++++++.++++++++++++++++++++++++++++++++++++++++++C++++++++C+++++CC+CCCCCCCC
+$BBB$BBBBBB'B'B'BBBB'BBB'''B'''''''''''C'''''''''C'CCCC'CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC CCCCC  C        
+_HHH_HHHHHHXHXHXHHHHXHHHXXXHXXXXXXXXXXX XXXXXXXXX X    X       X                                                                    
+&XXX&XXXXXXCXCXCXXXXCXXXCCCXCCCCCCCCCCC CCCCCCCCC C    C       C                                                                    
 """#""""""-""""""--"""-"------------------------""--"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+""+++"++++
+CCCXCCCCCC.CCCCCC..CCC.C........................++..+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C++CCC+CCCC
+BBB$BBBBBB'BBBBBB''BBB'B''''''''''''''''''''''''CC''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC   C    
+HHH_HHHHHHXHHHHHHXXHHHXHXXXXXXXXXXXXXXXXXXXXXXXX  XX X                                                                              
+XXX&XXXXXXCXXXXXXCCXXXCXCCCCCCCCCCCCCCCCCCCCCCCC  CC C                                                                              
 #"#""-""""""""""""-""""-------------------------"----"""""""""""-""""""""""""""""""""""""""""""""""""""""""""""+"""""""""""""+++++++
+XCXCC.CCCCCCCCCCCC.CCCC.........................+....+++++++++++.++++++++++++++++++++++++++++++++++++++++++++++C+++++++++++++CCCCCCC
+$B$BB'BBBBBBBBBBBB'BBBB'''''''''''''''''''''''''C''''CCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC       
+_H_HHXHHHHHHHHHHHHXHHHHXXXXXXXXXXXXXXXXXXXXXXXXX XXXX           X                                                                   
+&X&XXCXXXXXXXXXXXXCXXXXCCCCCCCCCCCCCCCCCCCCCCCCC CCCC           C                                                                   
 """""""""""-"-"""-""""-------------------"----"--""+""""""""-"-"""""""""""""""""""""""""""""""""""""""+"""+""""++""+"""""++"++++++++
+CCCCCCCCCCC.C.CCC.CCCC...................+....+..++C++++++++.+.+++++++++++++++++++++++++++++++++++++++C+++C++++CC++C+++++CC+CCCCCCCC
+BBBBBBBBBBB'B'BBB'BBBB'''''''''''''''''''C''''C''CC CCCCCCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC CCCC  CC CCCCC  C        
+HHHHHHHHHHHXHXHHHXHHHHXXXXXXXXXXXXXXXXXXX XXXX XX           X X                                                                     
+XXXXXXXXXXXCXCXXXCXXXXCCCCCCCCCCCCCCCCCCC CCCC CC           C C                                                                     
 #"#"""""""""""""""""-"-------------------------"-"""""-"-""""-""""""+""""""""""""""""""""""""""""""""""+""""""""""""""""++""""+++"++
+XCXCCCCCCCCCCCCCCCCC.C.........................+.+++++.+.++++.++++++C++++++++++++++++++++++++++++++++++C++++++++++++++++CC++++CCC+CC
+$B$BBBBBBBBBBBBBBBBB'B'''''''''''''''''''''''''C'CCCCC'C'CCCC'CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC  CCCC   C  
+_H_HHHHHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXX X     X X    X                                                                      
+&X&XXXXXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCC C     C C    C                                                                      
 """#"""""""""""--"""---------------------------"--""--""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"++""+++"""
+CCCXCCCCCCCCCCC..CCC...........................+..++..++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+CC++CCC+++
+BBB$BBBBBBBBBBB''BBB'''''''''''''''''''''''''''C''CC''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CC   CCC
+HHH_HHHHHHHHHHHXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXX XX  XX  X                                                                           
+XXX&XXXXXXXXXXXCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCC CC  CC  C                                                                           
 """"""-"""""""""-""""--"--------------------------""-"""""""""""""""""""""""""""""""""""""""""""""""""+""""""""""""""+""+"++"+"++"+"
+CCCCCC.CCCCCCCCC.CCCC..C..........................++.+++++++++++++++++++++++++++++++++++++++++++++++++C++++++++++++++C++C+CC+C+CC+C+
+BBBBBB'BBBBBBBBB'BBBB''B''''''''''''''''''''''''''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC CC C  C C  C C
+HHHHHHXHHHHHHHHHXHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXX  X                                                                               
+XXXXXXCXXXXXXXXXCXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCC  C                                                                               
 """""-"""""""""""--"--"--"----------------------""-"-"""""""""""""""""""""""""""""""""""""""""""""""""+"""""""""""""""+""""""++"++""
+CCCCC.CCCCCCCCCCC..C..C..C......................++.+.+++++++++++++++++++++++++++++++++++++++++++++++++C+++++++++++++++C++++++CC+CC++
+BBBBB'BBBBBBBBBBB''B''B''B''''''''''''''''''''''CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC CCCCCC  C  CC
+HHHHHXHHHHHHHHHHHXXHXXHXXHXXXXXXXXXXXXXXXXXXXXXX  X X                                                                               
+XXXXXCXXXXXXXXXXXCCXCCXCCXCCCCCCCCCCCCCCCCCCCCCC  C C                                                                               
 #"#""""""""""""""""""--""-"-----------------"----""-"-""""""""""""""""""""""""""""""""""""""""""""""""""""+""""""""+++""+"++++++"+""
+XCXCCCCCCCCCCCCCCCCCC..CC.+.................+....++.+.++++++++++++++++++++++++++++++++++++++++++++++++++++C++++++++CCC++C+CCCCCC+C++
+$B$BBBBBBBBBBBBBBBBBB''BB'C'''''''''''''''''C''''CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC   CC C      C CC
+_H_HHHHHHHHHHHHHHHHHHXXHHX XXXXXXXXXXXXXXXXX XXXX  X X                                                                              
+&X&XXXXXXXXXXXXXXXXXXCCXXC CCCCCCCCCCCCCCCCC CCCC  C C                                                                              
 #""""""""-"""""""---"---"-------------------"---"""-""""""""""""""""""""""""""""""""""""""""""""""""""""""+""""""+"+""""+"""++"++"""
+XCCCCCCCC.CCCCCCC...C...C...................+...+++.++++++++++++++++++++++++++++++++++++++++++++++++++++++C++++++C+C++++C+++CC+CC+++
+$BBBBBBBB'BBBBBBB'''B'''B'''''''''''''''''''C'''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC C CCCC CCC  C  CCC
+_HHHHHHHHXHHHHHHHXXXHXXXHXXXXXXXXXXXXXXXXXXX XXX   X                                                                                
+&XXXXXXXXCXXXXXXXCCCXCCCXCCCCCCCCCCCCCCCCCCC CCC   C                                                                                
 """""""#""""""""""""---"""---------------------""-"-"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""+""++""
+CCCCCCCXCCCCCCCCCCCC...CCC.....................++.+.+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++C++CC++
+BBBBBBB$BBBBBBBBBBBB'''BBB'''''''''''''''''''''CC'C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC CC  CC
+HHHHHHH_HHHHHHHHHHHHXXXHHHXXXXXXXXXXXXXXXXXXXXX  X X X                                                                              
+XXXXXXX&XXXXXXXXXXXXCCCXXXCCCCCCCCCCCCCCCCCCCCC  C C C                                                                              
 """""#""""-"-"""---"""--"-"""---------------"--"""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""""+""""""++"+"+"""
+CCCCCXCCCC.C.CCC...CCC..C.CCC...............+..+++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++++C++++++CC+C+C+++
+BBBBB$BBBB'B'BBB'''BBB''B'BBB'''''''''''''''C''CCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC CCCCCC  C C CCC
+HHHHH_HHHHXHXHHHXXXHHHXXHXHHHXXXXXXXXXXXXXXX XX     X                                                                               
+XXXXX&XXXXCXCXXXCCCXXXCCXCXXXCCCCCCCCCCCCCCC CC     C                                                                               
 #"""#""""""""""""""""--"""-----------------------"--"--"""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""++
+XCCCXCCCCCCCCCCCCCCCC..CCC.......................+..+..+++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++CC
+$BBB$BBBBBBBBBBBBBBBB''BBB'''''''''''''''''''''''C''C''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC  
+_HHH_HHHHHHHHHHHHHHHHXXHHHXXXXXXXXXXXXXXXXXXXXXXX XX XX   X                                                                         
+&XXX&XXXXXXXXXXXXXXXXCCXXXCCCCCCCCCCCCCCCCCCCCCCC CC CC   C                                                                         
 """""""""""""""""-"""-""""----------------------"""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"++"""""
+CCCCCCCCCCCCCCCCC.CCC.CCCC......................+++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+CC+++++
+BBBBBBBBBBBBBBBBB'BBB'BBBB''''''''''''''''''''''CCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CCCCC
+HHHHHHHHHHHHHHHHHXHHHXHHHHXXXXXXXXXXXXXXXXXXXXXX     X                                                                              
+XXXXXXXXXXXXXXXXXCXXXCXXXXCCCCCCCCCCCCCCCCCCCCCC     C                                                                              
 """""""""""""""""""""-"-"------------------"---""""-"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+""+"++++"""""
+CCCCCCCCCCCCCCCCCCCCC.C.C..................+...++++.+.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C++C+CCCC+++++
+BBBBBBBBBBBBBBBBBBBBB'B'B''''''''''''''''''C'''CCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC C    CCCCC
+HHHHHHHHHHHHHHHHHHHHHXHXHXXXXXXXXXXXXXXXXXX XXX    X X                                                                              
+XXXXXXXXXXXXXXXXXXXXXCXCXCCCCCCCCCCCCCCCCCC CCC    C C                                                                              
 #"""""#"""""""-"--""""---"--"------------------""---""""""--""""""""""""""""""""""""""""""""""""""""""""""""""""""""""++"""""++""""+
+XCCCCCXCCCCCCC.C..CCCC...C..C..................++...++++++..++++++++++++++++++++++++++++++++++++++++++++++++++++++++++CC+++++CC++++C
+$BBBBB$BBBBBBB'B''BBBB'''B''B''''''''''''''''''CC'''CCCCCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCC  CCCC 
+_HHHHH_HHHHHHHXHXXHHHHXXXHXXHXXXXXXXXXXXXXXXXXX  XXX      XX                                                                        
+&XXXXX&XXXXXXXCXCCXXXXCCCXCCXCCCCCCCCCCCCCCCCCC  CCC      CC                                                                        
 #""##"""#"#"""""""-""""-------"---------------"--""---""-""-"""""""""""""""""-"""""""""""""""""""""""""""+""""""""""""""""""""""+"++
+XCCXXCCCXCXCCCCCCC.CCCC.......C...............+..++...++.++.+++++++++++++++++.+++++++++++++++++++++++++++C++++++++++++++++++++++C+CC
+$BB$$BBB$B$BBBBBBB'BBBB'''''''B'''''''''''''''C''CC'''CC'CC'CCCCCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC C  
+_HH__HHH_H_HHHHHHHXHHHHXXXXXXXHXXXXXXXXXXXXXXX XX  XXX  X  X                 X                                                      
+&XX&&XXX&X&XXXXXXXCXXXXCCCCCCCXCCCCCCCCCCCCCCC CC  CCC  C  C                 C                                                      
 """"##""""""""+"""""""--"------"------------------""-"""---""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""+"""++++"++
+CCCCXXCCCCCCCCCCCCCCCC..C......C..................++.+++...++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++C+++CCCC+CC
+BBBB$$BBBBBBBB BBBBBBB''B''''''B''''''''''''''''''CC'CCC'''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC CCC    C  
+HHHH__HHHHHHHH HHHHHHHXXHXXXXXXHXXXXXXXXXXXXXXXXXX  X   XXX                                                                         
+XXXX&&XXXXXXXX XXXXXXXCCXCCCCCCXCCCCCCCCCCCCCCCCCC  C   CCC                                                                         
 """""""""""""""-""""""""-"-""----------------"----------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+""++++""+
+CCCCCCCCCCCCCC+.CCCCCCCC.C.CC................+..........++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C++CCCC++C
+BBBBBBBBBBBBBBC'BBBBBBBB'B'BB''''''''''''''''C''''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC    CC 
+HHHHHHHHHHHHHH XHHHHHHHHXHXHHXXXXXXXXXXXXXXXX XXXXXXXXXX                                                                            
+XXXXXXXXXXXXXX CXXXXXXXXCXCXXCCCCCCCCCCCCCCCC CCCCCCCCCC                                                                            
 "#"#"""""""""""""""""-"--"--""-----------------"------"-""""""""""-""""""""""""""""""""""""""""""""""""""""""""""""""""++""++++++++"
+CXCXCCCCCCCCCCCCCCCCC.C..C..CC.................+......+.++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++CC++CCCCCCCC+
+B$B$BBBBBBBBBBBBBBBBB'B''B''BB'''''''''''''''''C''''''C'CCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC        C
+H_H_HHHHHHHHHHHHHHHHHXHXXHXXHHXXXXXXXXXXXXXXXXX XXXXXX X          X                                                                 
+X&X&XXXXXXXXXXXXXXXXXCXCCXCCXXCCCCCCCCCCCCCCCCC CCCCCC C          C                                                                 
 "##"#"""#"""""""""""-""""-----------------------"--"--"--"-""""""""""""""""""""""""""""""""""""""""""""""""+""""""""+++++++++++++"+"
+CXXCXCCCXCCCCCCCCCCC.CCCC.......................+..+..+..+.++++++++++++++++++++++++++++++++++++++++++++++++C++++++++CCCCCCCCCCCCC+C+
+B$$B$BBB$BBBBBBBBBBB'BBBB'''''''''''''''''''''''C''C''C''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC             C C
+H__H_HHH_HHHHHHHHHHHXHHHHXXXXXXXXXXXXXXXXXXXXXXX XX XX XX X                                                                         
+X&&X&XXX&XXXXXXXXXXXCXXXXCCCCCCCCCCCCCCCCCCCCCCC CC CC CC C                                                                         
 """"""""#""""""""""""""-"-"---------------------"---"""--""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""""+"+"++++++"""++
+CCCCCCCCXCCCCCCCCCCCCCC.C.C.....................+...+++..++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++++C+C+CCCCCC+++CC
+BBBBBBBB$BBBBBBBBBBBBBB'B'B'''''''''''''''''''''C'''CCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC C C      CCC  
+HHHHHHHH_HHHHHHHHHHHHHHXHXHXXXXXXXXXXXXXXXXXXXXX XXX   XX                                                                           
+XXXXXXXX&XXXXXXXXXXXXXXCXCXCCCCCCCCCCCCCCCCCCCCC CCC   CC                                                                           
 ""#"""#""""""""-""""-""-""---"-----------------""--------""""""""""""""""""""""""""""""""""""""""""""""""""""+"+"""""""++"+""+"""""+
+CCXCCCXCCCCCCCC.CCCC.CC.CC...C.................++........++++++++++++++++++++++++++++++++++++++++++++++++++++C+C+++++++CC+C++C+++++C
+BB$BBB$BBBBBBBB'BBBB'BB'BB'''B'''''''''''''''''CC''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCC  C CC CCCCC 
+HH_HHH_HHHHHHHHXHHHHXHHXHHXXXHXXXXXXXXXXXXXXXXX  XXXXXXXX                                                                           
+XX&XXX&XXXXXXXXCXXXXCXXCXXCCCXCCCCCCCCCCCCCCCCC  CCCCCCCC                                                                           
 #""-#""""""-"""""""""---"-"---"-------------------"----""""""""""""-""""""""""""""""""""""""""""""""""""+"""""""""""+"++"""""+"+"+++
+XCC.XCCCCCC.CCCCCCCCC...C.C...C...................+....++++++++++++.++++++++++++++++++++++++++++++++++++C+++++++++++C+CC+++++C+C+CCC
+$BB'$BBBBBB'BBBBBBBBB'''B'B'''B'''''''''''''''''''C''''CCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC C  CCCCC C C   
+_HHX_HHHHHHXHHHHHHHHHXXXHXHXXXHXXXXXXXXXXXXXXXXXXX XXXX            X                                                                
+&XXC&XXXXXXCXXXXXXXXXCCCXCXCCCXCCCCCCCCCCCCCCCCCCC CCCC            C                                                                
 """""""""""""""""""""""""""---"---------------"-"-""---"-""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""++
+CCCCCCCCCCCCCCCCCCCCCCCCCCC...C...............+.+.++...+.++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++CC
+BBBBBBBBBBBBBBBBBBBBBBBBBBB'''B'''''''''''''''C'C'CC'''C'CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
+HHHHHHHHHHHHHHHHHHHHHHHHHHHXXXHXXXXXXXXXXXXXXX X X  XXX X    X                                                                      
+XXXXXXXXXXXXXXXXXXXXXXXXXXXCCCXCCCCCCCCCCCCCCC C C  CCC C    C                                                                      
 """""""#""""""""""""""""-"--"-------------------"------"-"--"""""""""""""""""""""""""""""""""""""""""""""""""+""""""""""""""""""""++
+CCCCCCCXCCCCCCCCCCCCCCCC.C..C...................+......+.+..+++++++++++++++++++++++++++++++++++++++++++++++++C++++++++++++++++++++CC
+BBBBBBB$BBBBBBBBBBBBBBBB'B''B'''''''''''''''''''C''''''C'C''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC  
+HHHHHHH_HHHHHHHHHHHHHHHHXHXXHXXXXXXXXXXXXXXXXXXX XXXXXX X XX                                                                        
+XXXXXXX&XXXXXXXXXXXXXXXXCXCCXCCCCCCCCCCCCCCCCCCC CCCCCC C CC                                                                        
 ##"#"""""#""""""""""-"-"""------"------------------"-----""-"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""""+
+XXCXCCCCCXCCCCCCCCCC.C.CCC......C..................+.....++.+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++++C
+$$B$BBBBB$BBBBBBBBBB'B'BBB''''''B''''''''''''''''''C'''''CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC 
+__H_HHHHH_HHHHHHHHHHXHXHHHXXXXXXHXXXXXXXXXXXXXXXXXX XXXXX  X X                                                                      
+&&X&XXXXX&XXXXXXXXXXCXCXXXCCCCCCXCCCCCCCCCCCCCCCCCC CCCCC  C C                                                                      
 """#"""""""""""""""""-"--"-----------------------"-----"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""++++"+"""+
+CCCXCCCCCCCCCCCCCCCCC.C..C.......................+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++CCCC+C+++C
+BBB$BBBBBBBBBBBBBBBBB'B''B'''''''''''''''''''''''C'''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    C CCC 
+HHH_HHHHHHHHHHHHHHHHHXHXXHXXXXXXXXXXXXXXXXXXXXXXX XXXXX                                                                             
+XXX&XXXXXXXXXXXXXXXXXCXCCXCCCCCCCCCCCCCCCCCCCCCCC CCCCC                                                                             
 """"#""""""""""""""""""""---"-----------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""++"++""""+
+CCCCXCCCCCCCCCCCCCCCCCCCC...C.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++CC+CC++++C
+BBBB$BBBBBBBBBBBBBBBBBBBB'''B'''''''''''''''''''''''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C  CCCC 
+HHHH_HHHHHHHHHHHHHHHHHHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                          
+XXXX&XXXXXXXXXXXXXXXXXXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                          
 #""""#""""""""""""""""--"--------------------------""-"-""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""++"+"++""=
+XCCCCXCCCCCCCCCCCCCCCC..C..........................++.+.++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++CC+C+CC++C
+$BBBB$BBBBBBBBBBBBBBBB''B''''''''''''''''''''''''''CC'C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C C  CC 
+_HHHH_HHHHHHHHHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXX  X X  X                                                                         
+&XXXX&XXXXXXXXXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCC  C C  C                                                                         
 """""#""""""""""""""""-"-""-"-"----------------"-"-""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"++"+=
+CCCCCXCCCCCCCCCCCCCCCC.C.CC.C.C................+.+.++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+CC+CC
+BBBBB$BBBBBBBBBBBBBBBB'B'BB'B'B''''''''''''''''C'C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  C  
+HHHHH_HHHHHHHHHHHHHHHHXHXHHXHXHXXXXXXXXXXXXXXXX X X  X                                                                              
+XXXXX&XXXXXXXXXXXXXXXXCXCXXCXCXCCCCCCCCCCCCCCCC C C  C                                                                              
 "##"""#""""""#"""""""""-----"--------------------"--------"-"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""+++
+CXXCCCXCCCCCCXCCCCCCCCC.....C....................+........+.+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++CCC
+B$$BBB$BBBBBB$BBBBBBBBB'''''B''''''''''''''''''''C''''''''C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC   
+H__HHH_HHHHHH_HHHHHHHHHXXXXXHXXXXXXXXXXXXXXXXXXXX XXXXXXXX X X                                                                      
+X&&XXX&XXXXXX&XXXXXXXXXCCCCCXCCCCCCCCCCCCCCCCCCCC CCCCCCCC C C                                                                      
 """###""#""""""""""""""""--""----------"-------------------"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+
+CCCXXXCCXCCCCCCCCCCCCCCCC..CC..........+...................+.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C
+BBB$$$BB$BBBBBBBBBBBBBBBB''BB''''''''''C'''''''''''''''''''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
+HHH___HH_HHHHHHHHHHHHHHHHXXHHXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X                                                                       
+XXX&&&XX&XXXXXXXXXXXXXXXXCCXXCCCCCCCCCC CCCCCCCCCCCCCCCCCCC C                                                                       
 "###"""""""""""""""""-"""----------------------"---""--""""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CXXXCCCCCCCCCCCCCCCCC.CCC......................+...++..++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+B$$$BBBBBBBBBBBBBBBBB'BBB''''''''''''''''''''''C'''CC''CCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+H___HHHHHHHHHHHHHHHHHXHHHXXXXXXXXXXXXXXXXXXXXXX XXX  XX      X                                                                      
+X&&&XXXXXXXXXXXXXXXXXCXXXCCCCCCCCCCCCCCCCCCCCCC CCC  CC      C                                                                      
 #"""""#"""#"""""""""-""-"-"-"----"---------------"-"----""--""""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""+"""+
+XCCCCCXCCCXCCCCCCCCC.CC.C.C.C....C...............+.+....++..++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++C+++C
+$BBBBB$BBB$BBBBBBBBB'BB'B'B'B''''B'''''''''''''''C'C''''CC''CCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC CCC 
+_HHHHH_HHH_HHHHHHHHHXHHXHXHXHXXXXHXXXXXXXXXXXXXXX X XXXX  XX      X                                                                 
+&XXXXX&XXX&XXXXXXXXXCXXCXCXCXCCCCXCCCCCCCCCCCCCCC C CCCC  CC      C                                                                 
 """""""""""""""""""""-"-----"-"-----------------------""""-"""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"+"+
+CCCCCCCCCCCCCCCCCCCCC.C.....C.C.......................++++.+++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+C+C
+BBBBBBBBBBBBBBBBBBBBB'B'''''B'B'''''''''''''''''''''''CCCC'CCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C 
+HHHHHHHHHHHHHHHHHHHHHXHXXXXXHXHXXXXXXXXXXXXXXXXXXXXXXX    X     X                                                                   
+XXXXXXXXXXXXXXXXXXXXXCXCCCCCXCXCCCCCCCCCCCCCCCCCCCCCCC    C     C                                                                   
 "##"##"""""""""""""-"-"---"--"""--------------------------""--""--"-"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CXXCXXCCCCCCCCCCCCC.C.C...C..CCC..........................++..++..+.+.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+B$$B$$BBBBBBBBBBBBB'B'B'''B''BBB''''''''''''''''''''''''''CC''CC''C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+H__H__HHHHHHHHHHHHHXHXHXXXHXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXX  XX  XX X X                                                              
+X&&X&&XXXXXXXXXXXXXCXCXCCCXCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCC  CC  CC C C                                                              
 "#"""""#"""""""""""""--"--"-""-"--------------------------""--""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CXCCCCCXCCCCCCCCCCCCC..C..C.CC.C..........................++..++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+B$BBBBB$BBBBBBBBBBBBB''B''B'BB'B''''''''''''''''''''''''''CC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+H_HHHHH_HHHHHHHHHHHHHXXHXXHXHHXHXXXXXXXXXXXXXXXXXXXXXXXXXX  XX                                                                      
+X&XXXXX&XXXXXXXXXXXXXCCXCCXCXXCXCCCCCCCCCCCCCCCCCCCCCCCCCC  CC                                                                      
 """"""#""-"""""""""""""""---"--"--------------"-----------"""-""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""++""""
+CCCCCCXCC.CCCCCCCCCCCCCCC...C..C..............+...........+++.++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++CC++++
+BBBBBB$BB'BBBBBBBBBBBBBBB'''B''B''''''''''''''C'''''''''''CCC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC  CCCC
+HHHHHH_HHXHHHHHHHHHHHHHHHXXXHXXHXXXXXXXXXXXXXX XXXXXXXXXXX   X  X                                                                   
+XXXXXX&XXCXXXXXXXXXXXXXXXCCCXCCXCCCCCCCCCCCCCC CCCCCCCCCCC   C  C                                                                   
 "##""""""""""-""""-""""----"""-"--------"-------------"---""-""""-"""""""""""""""""""""""""""""""""""""""""""+"""""""""""""""+"+""+"
+CXXCCCCCCCCCC.CCCC.CCCC....CCC.C........+.............+...++.++++.+++++++++++++++++++++++++++++++++++++++++++C+++++++++++++++C+C++C+
+B$$BBBBBBBBBB'BBBB'BBBB''''BBB'B''''''''C'''''''''''''C'''CC'CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC C CC C
+H__HHHHHHHHHHXHHHHXHHHHXXXXHHHXHXXXXXXXX XXXXXXXXXXXXX XXX  X    X                                                                  
+X&&XXXXXXXXXXCXXXXCXXXXCCCCXXXCXCCCCCCCC CCCCCCCCCCCCC CCC  C    C                                                                  
 "#"#""#"#""#"""""""-"""""--""--------------------------"--""-"--""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CXCXCCXCXCCXCCCCCCC.CCCCC..CC..........................+..++.+..++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+B$B$BB$B$BB$BBBBBBB'BBBBB''BB''''''''''''''''''''''''''C''CC'C''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+H_H_HH_H_HH_HHHHHHHXHHHHHXXHHXXXXXXXXXXXXXXXXXXXXXXXXXX XX  X XX                                                                    
+X&X&XX&X&XX&XXXXXXXCXXXXXCCXXCCCCCCCCCCCCCCCCCCCCCCCCCC CC  C CC                                                                    
 """""#"""""""""""""""""-"---"--"-----------------------"--"""-"""""""-"""""""""""""""""""""""""""""""""""""""""""""""+""""""""""""""
+CCCCCXCCCCCCCCCCCCCCCCC.C...C..C.......................+..+++.+++++++.+++++++++++++++++++++++++++++++++++++++++++++++C++++++++++++++
+BBBBB$BBBBBBBBBBBBBBBBB'B'''B''B'''''''''''''''''''''''C''CCC'CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC
+HHHHH_HHHHHHHHHHHHHHHHHXHXXXHXXHXXXXXXXXXXXXXXXXXXXXXXX XX   X       X                                                              
+XXXXX&XXXXXXXXXXXXXXXXXCXCCCXCCXCCCCCCCCCCCCCCCCCCCCCCC CC   C       C                                                              
 #"#"""#"#""""""""""""""-""--""-"-----------------------"---""-""-""""""""""""""""""""""""""""""""""""""""""""""""""""+""""""""""""""
+XCXCCCXCXCCCCCCCCCCCCCC.CC..CC.C.......................+...++.++.++++++++++++++++++++++++++++++++++++++++++++++++++++C++++++++++++++
+$B$BBB$B$BBBBBBBBBBBBBB'BB''BB'B'''''''''''''''''''''''C'''CC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC
+_H_HHH_H_HHHHHHHHHHHHHHXHHXXHHXHXXXXXXXXXXXXXXXXXXXXXXX XXX  X  X                                                                   
+&X&XXX&X&XXXXXXXXXXXXXXCXXCCXXCXCCCCCCCCCCCCCCCCCCCCCCC CCC  C  C                                                                   
 #""""#""-#"""""""""---"""""-"---------------"-----------"-"""""""-""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""++
+XCCCCXCC.XCCCCCCCCC...CCCCC.C...............+...........+.+++++++.++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++CC
+$BBBB$BB'$BBBBBBBBB'''BBBBB'B'''''''''''''''C'''''''''''C'CCCCCCC'CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
+_HHHH_HHX_HHHHHHHHHXXXHHHHHXHXXXXXXXXXXXXXXX XXXXXXXXXXX X       X    X                                                             
+&XXXX&XXC&XXXXXXXXXCCCXXXXXCXCCCCCCCCCCCCCCC CCCCCCCCCCC C       C    C                                                             
 ""#"#"#"##"""#"""""-"""--"-""-""--------------------------------"---"-"-"""""""""""""""""""""""""""""""""""""""""""+""""""""""""""""
+CCXCXCXCXXCCCXCCCCC.CCC..C.CC.CC................................+...+.+.+++++++++++++++++++++++++++++++++++++++++++C++++++++++++++++
+BB$B$B$B$$BBB$BBBBB'BBB''B'BB'BB''''''''''''''''''''''''''''''''C'''C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC
+HH_H_H_H__HHH_HHHHHXHHHXXHXHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X X                                                            
+XX&X&X&X&&XXX&XXXXXCXXXCCXCXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC C C                                                            
 ""#""##"""#"""#"""""""""""--""----------------------"------"--"""-"-"""""""""""""""""""""""""""""""""""""""""""""""+"""""""""""""""+
+CCXCCXXCCCXCCCXCCCCCCCCCCC..CC......................+......+..+++.+.+++++++++++++++++++++++++++++++++++++++++++++++C+++++++++++++++C
+BB$BB$$BBB$BBB$BBBBBBBBBBB''BB''''''''''''''''''''''C''''''C''CCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC 
+HH_HH__HHH_HHH_HHHHHHHHHHHXXHHXXXXXXXXXXXXXXXXXXXXXX XXXXXX XX   X X                                                                
+XX&XX&&XXX&XXX&XXXXXXXXXXXCCXXCCCCCCCCCCCCCCCCCCCCCC CCCCCC CC   C C                                                                
 #"-"#"#""""""""""""""--""""-""----------------------------"-"-""""""""""-""""""""""""""""""""""""""""""""""""""""""+""""""""+""++""+
+XC.CXCXCCCCCCCCCCCCCC..CCCC.CC............................+.+.++++++++++.++++++++++++++++++++++++++++++++++++++++++C++++++++C++CC++C
+$B'B$B$BBBBBBBBBBBBBB''BBBB'BB''''''''''''''''''''''''''''C'C'CCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC CC  CC 
+_HXH_H_HHHHHHHHHHHHHHXXHHHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X          X                                                           
+&XCX&X&XXXXXXXXXXXXXXCCXXXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C          C                                                           
 #"""""""""""""""""""-""""--"-----------------"-------------------"-""""-""-"-"-"""""""""""""""""""""""""""""""""""""""""""++""""""""
+XCCCCCCCCCCCCCCCCCCC.CC+C..C.................+...................+.++++.++.+.+.+++++++++++++++++++++++++++++++++++++++++++CC++++++++
+$BBBBBBBBBBBBBBBBBBB'BBCB''B'''''''''''''''''C'''''''''''''''''''C'CCCC'CC'C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCC
+_HHHHHHHHHHHHHHHHHHHXHH HXXHXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X    X  X X X                                                     
+&XXXXXXXXXXXXXXXXXXXCXX XCCXCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC C    C  C C C                                                     
 #"##""""##"#""""""-""""-"""""""----------------------------"--"--"""-""""--""""""+""""""""""""""""""""""""""""""""""""""""""""""""""
+XCXXCCCCXXCXCCCCCC.CCCC.CCCCCCC............................+..+..+++.++++..++++++C++++++++++++++++++++++++++++++++++++++++++++++++++
+$B$$BBBB$$B$BBBBBB'BBBB'BBBBBBB''''''''''''''''''''''''''''C''C''CCC'CCCC''CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+_H__HHHH__H_HHHHHHXHHHHXHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XX   X    XX                                                         
+&X&&XXXX&&X&XXXXXXCXXXXCXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CC   C    CC                                                         
 #"""""""""""""""""""""""--"-"--"---------------------------""""---"""""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+XCCCCCCCCCCCCCCCCCCCCCCC..C.C..C...........................++++...+++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+$BBBBBBBBBBBBBBBBBBBBBBB''B'B''B'''''''''''''''''''''''''''CCCC'''CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+_HHHHHHHHHHHHHHHHHHHHHHHXXHXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXX    XXX       X                                                          
+&XXXXXXXXXXXXXXXXXXXXXXXCCXCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCC       C                                                          
 """"#""""""""""""""""""---"--""-"-"------------------------""-"-"-"""--"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCXCCCCCCCCCCCCCCCCCC...C..CC.C.C........................++.+.+.+++..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+BBBB$BBBBBBBBBBBBBBBBBB'''B''BB'B'B''''''''''''''''''''''''CC'C'C'CCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHH_HHHHHHHHHHHHHHHHHHXXXHXXHHXHXHXXXXXXXXXXXXXXXXXXXXXXXX  X X X   XX                                                             
+XXXX&XXXXXXXXXXXXXXXXXXCCCXCCXXCXCXCCCCCCCCCCCCCCCCCCCCCCCC  C C C   CC                                                             
 """"""""#""""""""""-"-""----""-""---"----------------------"-""--"""-"-"""""-""-""""""""""""""""""""""""""""""""""""""""""+"""""""""
+CCCCCCCCXCCCCCCCCCC.C.CC....CC.CC...C......................+.++..+++.+.+++++.++.++++++++++++++++++++++++++++++++++++++++++C+++++++++
+BBBBBBBB$BBBBBBBBBB'B'BB''''BB'BB'''B''''''''''''''''''''''C'CC''CCC'C'CCCCC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC
+HHHHHHHH_HHHHHHHHHHXHXHHXXXXHHXHHXXXHXXXXXXXXXXXXXXXXXXXXXX X  XX   X X     X  X                                                    
+XXXXXXXX&XXXXXXXXXXCXCXXCCCCXXCXXCCCXCCCCCCCCCCCCCCCCCCCCCC C  CC   C C     C  C                                                    
 #"#""""#"""""""""""""""--""-"""--"-"----------------------------""--"--"-""--"""""""""""""""""""""""""""""""""""""""""""""""""""""""
+XCXCCCCXCCCCCCCCCCCCCCC..CC.CCC..C.C............................++..+..+.++..+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+$B$BBBB$BBBBBBBBBBBBBBB''BB'BBB''B'B''''''''''''''''''''''''''''CC''C''C'CC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+_H_HHHH_HHHHHHHHHHHHHHHXXHHXHHHXXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX XX X  XX                                                       
+&X&XXXX&XXXXXXXXXXXXXXXCCXXCXXXCCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC CC C  CC                                                       
 #""""#""""-""""""""""""""---"""-"------------------------------""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""+
+XCCCCXCCCC.CCCCCCCCCCCCCC...CCC.C..............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++C
+$BBBB$BBBB'BBBBBBBBBBBBBB'''BBB'B''''''''''''''''''''''''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC 
+_HHHH_HHHHXHHHHHHHHHHHHHHXXXHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                     
+&XXXX&XXXXCXXXXXXXXXXXXXXCCCXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                     
 ""#""""#"""#""#"""""""""""-""---"-------------------------------"""""""-""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""+=
+CCXCCCCXCCCXCCXCCCCCCCCCCC.CC...C...............................+++++++.++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++CC
+BB$BBBB$BBB$BB$BBBBBBBBBBB'BB'''B'''''''''''''''''''''''''''''''CCCCCCC'CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
+HH_HHHH_HHH_HH_HHHHHHHHHHHXHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       X    X                                                       
+XX&XXXX&XXX&XX&XXXXXXXXXXXCXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       C    C                                                       
 #"""""""""""""""-""""""--"-------"--""-------------------------------"-""""""""""""""""-""""""""""""""""""""""""""""""+"""""""+""+==
+XCCCCCCCCCCCCCCC.CCCCCC..C.......C..CC...............................+.++++++++++++++++.++++++++++++++++++++++++++++++C+++++++C++CCC
+$BBBBBBBBBBBBBBB'BBBBBB''B'''''''B''BB'''''''''''''''''''''''''''''''C'CCCCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC CC   
+_HHHHHHHHHHHHHHHXHHHHHHXXHXXXXXXXHXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X                X                                            
+&XXXXXXXXXXXXXXXCXXXXXXCCXCCCCCCCXCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                C                                            
 #"#"""""""""""""""""""""""--"------------------------"--"-------""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"++M="
+XCXCCCCCCCCCCCCCCCCCCCCCCC..C........................+..+.......++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+CC C+
+$B$BBBBBBBBBBBBBBBBBBBBBBB''B''''''''''''''''''''''''C''C'''''''CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C    C
+_H_HHHHHHHHHHHHHHHHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXX    X                                                               
+&X&XXXXXXXXXXXXXXXXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCC    C                                                               
 "#"#"""""""""""""""""-"""---"--"--------------------------"-"--"-"""-""-"""-""""""""""""""""""""""""""""""""""""""""""""""""""++=++-
+CXCXCCCCCCCCCCCCCCCCC.CCC...C..C..........................+.+..+.+++.++.+++.++++++++++++++++++++++++++++++++++++++++++++++++++CCCCCC
+B$B$BBBBBBBBBBBBBBBBB'BBB'''B''B''''''''''''''''''''''''''C'C''C'CCC'CC'CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      
+H_H_HHHHHHHHHHHHHHHHHXHHHXXXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXX X XX X   X  X   X                                                        
+X&X&XXXXXXXXXXXXXXXXXCXXXCCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCC C CC C   C  C   C                                                        
 ##"""#""""""""""""""""""-""-""""--"------------------"------""---""------""-"""""""""""""""""""""""""""""""""""""""""""""""""++=+=XI
+XXCCCXCCCCCCCCCCCCCCCCCC.CC.CCCC..C..................+......++...++......++.+++++++++++++++++++++++++++++++++++++++++++++++++CCCCC  
+$$BBB$BBBBBBBBBBBBBBBBBB'BB'BBBB''B''''''''''''''''''C''''''CC'''CC''''''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       
+__HHH_HHHHHHHHHHHHHHHHHHXHHXHHHHXXHXXXXXXXXXXXXXXXXXX XXXXXX  XXX  XXXXXX  X                                                        
+&&XXX&XXXXXXXXXXXXXXXXXXCXXCXXXXCCXCCCCCCCCCCCCCCCCCC CCCCCC  CCC  CCCCCC  C                                                        
 """""""""##""""""""-""""""--"""""""-"-------------------"---"""""""-""""""+""""""-"""""""""""""""""""""""""""""""""""""""""++M--Z=-+
+CCCCCCCCCXXCCCCCCCC.CCCCCC..CCCCCCC.C...................+...+++++++.++++++C++++++.+++++++++++++++++++++++++++++++++++++++++CC CC    
+BBBBBBBBB$$BBBBBBBB'BBBBBB''BBBBBBB'B'''''''''''''''''''C'''CCCCCCC'CCCCCC CCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         
+HHHHHHHHH__HHHHHHHHXHHHHHHXXHHHHHHHXHXXXXXXXXXXXXXXXXXXX XXX       X             X                                                  
+XXXXXXXXX&&XXXXXXXXCXXXXXXCCXXXXXXXCXCCCCCCCCCCCCCCCCCCC CCC       C             C                                                  
 ####""#"#"""""-""""""""""-"-"-""---------------------------------""-----"-""-""""""""""""""""""""""""""""""""""""""""""""""+-XXI+-1I
+XXXXCCXCXCCCCC.CCCCCCCCCC.C.C.CC.................................++.....+.++.++++++++++++++++++++++++++++++++++++++++++++++CC       
+$$$$BB$B$BBBBB'BBBBBBBBBB'B'B'BB'''''''''''''''''''''''''''''''''CC'''''C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         
+____HH_H_HHHHHXHHHHHHHHHHXHXHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXX X  X                                                       
+&&&&XX&X&XXXXXCXXXXXXXXXXCXCXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCC C  C                                                       
 #"""""#"""""""""""""""""--""""----------------------------------"""-"---"""""""-""""""""""""""""""""""""""""""""""""""""""=MZXI--+A-
+XCCCCCXCCCCCCCCCCCCCCCCC..CCCC..................................+++.+...+++++++.++++++++++++++++++++++++++++++++++++++++++C        C
+$BBBBB$BBBBBBBBBBBBBBBBB''BBBB''''''''''''''''''''''''''''''''''CCC'C'''CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          
+_HHHHH_HHHHHHHHHHHHHHHHHXXHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   X XXX       X                                                    
+&XXXXX&XXXXXXXXXXXXXXXXXCCXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   C CCC       C                                                    
 #""#""""""""""""""""-""--"--"""---"----------------------------"--"---""-""""""""-"-"""""""""""""""""""""""""""""""""""""=-MZA=-=ZM-
+XCCXCCCCCCCCCCCCCCCC.CC..C..CCC...C............................+..+...++.++++++++.+.+++++++++++++++++++++++++++++++++++++CC        C
+$BB$BBBBBBBBBBBBBBBB'BB''B''BBB'''B''''''''''''''''''''''''''''C''C'''CC'CCCCCCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC           
+_HH_HHHHHHHHHHHHHHHHXHHXXHXXHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXX  X        X X                                                
+&XX&XXXXXXXXXXXXXXXXCXXCCXCCXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCC  C        C C                                                
 "-""#####"#""""#""""""""""--"------------------------------"--"------"--""""""""""""""""""""""""""""""""""""""""""""""""MA--I=1I-=-=
+C.CCXXXXXCXCCCCXCCCCCCCCCC..C..............................+..+......+..++++++++++++++++++++++++++++++++++++++++++++++++  CC    CCC 
+B'BB$$$$$B$BBBB$BBBBBBBBBB''B''''''''''''''''''''''''''''''C''C''''''C''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC            
+HXHH_____H_HHHH_HHHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXX XX                                                            
+XCXX&&&&&X&XXXX&XXXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCC CC                                                            
 ##""""##"""""""""""-""""""-"-"""""---------"----------------------""---"----"""""""""-"-"""""""""""""""""""""""""""""""=IIZAI=IXM-=-
+XXCCCCXXCCCCCCCCCCC.CCCCCC.C.CCCCC.........+......................++...+....+++++++++.+.+++++++++++++++++++++++++++++++C         C  
+$$BBBB$$BBBBBBBBBBB'BBBBBB'B'BBBBB'''''''''C''''''''''''''''''''''CC'''C''''CCCCCCCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC             
+__HHHH__HHHHHHHHHHHXHHHHHHXHXHHHHHXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX  XXX XXXX         X X                                            
+&&XXXX&&XXXXXXXXXXXCXXXXXXCXCXXXXXCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC  CCC CCCC         C C                                            
 """"""##"#""""""""""""""""-"-"--"------------------------"----------"--"-""-""""-"""""""""""""""""""""""""""""""""""""+Z=AAIIIAZ-A -
+CC+CCCXXCXCCCCCCCCCCCCCCCC.C.C..C........................+..........+..+.++.++++.+++++++++++++++++++++++++++++++++++++C         C   
+BBCBBB$$B$BBBBBBBBBBBBBBBB'B'B''B''''''''''''''''''''''''C''''''''''C''C'CC'CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              
+HH HHH__H_HHHHHHHHHHHHHHHHXHXHXXHXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XX X  X    X                                                   
+XX XXX&&X&XXXXXXXXXXXXXXXXCXCXCCXCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC CC C  C    C                                                   
 ""-""""#""""""""""""""""""--"----------------------------"-"--------""""-"""""""-""""""""""""""""""""""""""""""""""""+MZXI+=IIAZX+ +
+CC.CCCCXCCCCCCCCCCCCCCCCCC..C............................+.+........++++.+++++++.++++++++++++++++++++++++++++++++++++C              
+BB'BBBB$BBBBBBBBBBBBBBBBBB''B''''''''''''''''''''''''''''C'C''''''''CCCC'CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC               
+HHXHHHH_HHHHHHHHHHHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXX    X       X                                                   
+XXCXXXX&XXXXXXXXXXXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCCC    C       C                                                   
 """"""""""#"""""""""-"""-"--"""----------------------------"-""--"""-"--"""""-"""""""-"""""""""""""""""""""""""""""""=ZX+-=I+=XA=--I
+CCCCCCCCCCXCCCCCCCCC.CCC.C..CCC............................+.++..+++.+..+++++.+++++++.+++++++++++++++++++++++++++++++C              
+BBBBBBBBBB$BBBBBBBBB'BBB'B''BBB''''''''''''''''''''''''''''C'CC''CCC'C''CCCCC'CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC               
+HHHHHHHHHH_HHHHHHHHHXHHHXHXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX X  XX   X XX     X       X                                              
+XXXXXXXXXX&XXXXXXXXXCXXXCXCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CC   C CC     C       C                                              
 """""""""""""""""""""""""-"""""------------------------"---"----------"""---"""""-"--""-"""""-""""""""""""""""""""""=--A1+IXXAZZI1=A
+CCCCCCCCCCCCCCCCCCCCCCCCC.CC+CC........................+...+..........+++...+++++.+..++.+++++.++++++++++++++++++++++CCC             
+BBBBBBBBBBBBBBBBBBBBBBBBB'BBCBB''''''''''''''''''''''''C'''C''''''''''CCC'''CCCCC'C''CC'CCCCC'CCCCCCCCCCCCCCCCCCCCCC                
+HHHHHHHHHHHHHHHHHHHHHHHHHXHH HHXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXX   XXX     X XX  X     X                                      
+XXXXXXXXXXXXXXXXXXXXXXXXXCXX XXCCCCCCCCCCCCCCCCCCCCCCCC CCC CCCCCCCCCC   CCC     C CC  C     C                                      
 ##"""""""""""""-""""""""--"--------------------------------"---""--"-""-"""-"-"""""""""""""""""""""""""""""""""""""+MM-AII-+-XZA==IA
+XXCCCCCCCCCCCCC.CCCCCCCC..C................................+...++..+.++.+++.+.+++++++++++++++++++++++++++++++++++++C  C   CCC       
+$$BBBBBBBBBBBBB'BBBBBBBB''B''''''''''''''''''''''''''''''''C'''CC''C'CC'CCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                 
+__HHHHHHHHHHHHHXHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX  XX X  X   X X                                                      
+&&XXXXXXXXXXXXXCXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC  CC C  C   C C                                                      
 "#"####"#""""""""""""""-"""-""""--"-----------------------------"--"-"-""--""-"""""""""""-""""""""""+"""""""""""""+MAZZXI="=AAIIIAXI
+CXCXXXXCXCCCCCCCCCCCCCC.CCC.CCCC..C.............................+..+.+.++..++.+++++++++++.++++++++++C+++++++++++++C      C+C        
+B$B$$$$B$BBBBBBBBBBBBBB'BBB'BBBB''B'''''''''''''''''''''''''''''C''C'C'CC''CC'CCCCCCCCCCC'CCCCCCCCCC CCCCCCCCCCCCC        C         
+H_H____H_HHHHHHHHHHHHHHXHHHXHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX X X  XX  X           X                                          
+X&X&&&&X&XXXXXXXXXXXXXXCXXXCXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC C C  CC  C           C                                          
 ##"#"""""""""""""""""""""---"""--------------------------------------"""---"-""-"""-"""""""""""""""++""""""""""""+-IZZMAM"+AIIXAAAXI
+XXCXCCCCCCCCCCCCCCCCCCCCC...CCC......................................+++...+.++.+++.+++++++++++++++CC++++++++++++CC      +C         
+$$B$BBBBBBBBBBBBBBBBBBBBB'''BBB''''''''''''''''''''''''''''''''''''''CCC'''C'CC'CCC'CCCCCCCCCCCCCCC  CCCCCCCCCCCC        C          
+__H_HHHHHHHHHHHHHHHHHHHHHXXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXX X  X   X                                                
+&&X&XXXXXXXXXXXXXXXXXXXXXCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCC C  C   C                                                
 "#""#"""#""-"""""""""-"""-"---"""----------------------"-----------"-"-"""-"-""""--"""-""""""""""""""""""""""""""-IXZ-XX+MAIIZXXZXAI
+CXCCXCCCXCC.CCCCCCCCC.CCC.C...CCC......................+...........+.+.+++.+.++++..+++.++++++++++++++++++++++++++C   C  C           
+B$BB$BBB$BB'BBBBBBBBB'BBB'B'''BBB''''''''''''''''''''''C'''''''''''C'C'CCC'C'CCCC''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCC                   
+H_HH_HHH_HHXHHHHHHHHHXHHHXHXXXHHHXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X X   X X    XX   X                                             
+X&XX&XXX&XXCXXXXXXXXXCXXXCXCCCXXXCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC C C   C C    CC   C                                             
 ##""""""""""""""""""-""""""""--"""-------------------------------""----"""-""--"-"-"""""""""""""""""""""""""""""-AZZ-XIZZIIIIXXXXAII
+XXCCCCCCCCCCCCCCCCCC.CCCCCCCC..CCC...............................++....+++.++..+.+.+++++++++++++++++++++++++++++C   C               
+$$BBBBBBBBBBBBBBBBBB'BBBBBBBB''BBB'''''''''''''''''''''''''''''''CC''''CCC'CC''C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCC                    
+__HHHHHHHHHHHHHHHHHHXHHHHHHHHXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXX   X  XX X X                                                 
+&&XXXXXXXXXXXXXXXXXXCXXXXXXXXCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCC   C  CC C C                                                 
 #""""#"""""#"""""""""""""""""-""-"-"---------------------------"-""--""-"""""""--"""""""""""-""""""""""""""""""=ZZZX-I+AAAAIXXAAAAXX
+XCCCCXCCCCCXCCCCCCCCCCCCCCCCC.CC.C.C...........................+.++..++.+++++++..+++++++++++.++++++++++++++++++C    C               
+$BBBB$BBBBB$BBBBBBBBBBBBBBBBB'BB'B'B'''''''''''''''''''''''''''C'CC''CC'CCCCCCC''CCCCCCCCCCC'CCCCCCCCCCCCCCCCCC                     
+_HHHH_HHHHH_HHHHHHHHHHHHHHHHHXHHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXX X  XX  X       XX           X                                       
+&XXXX&XXXXX&XXXXXXXXXXXXXXXXXCXXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CC  C       CC           C                                       
 "#""""""##""#""""""-""""""""""""-"""---------------------------"""--"---""""-"""""""-"""-""""""""""""""""""""""==ZAZX++IXZAXXIIAXXAX
+CXCCCCCCXXCCXCCCCCC.CCCCCCCCCCCC.CCC...........................+++..+...++++.+++++++.+++.++++++++++++++++++++++CC                   
+B$BBBBBB$$BB$BBBBBB'BBBBBBBBBBBB'BBB'''''''''''''''''''''''''''CCC''C'''CCCC'CCCCCCC'CCC'CCCCCCCCCCCCCCCCCCCCCC                     
+H_HHHHHH__HH_HHHHHHXHHHHHHHHHHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXX   XX XXX    X       X   X                                           
+X&XXXXXX&&XX&XXXXXXCXXXXXXXXXXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCC   CC CCC    C       C   C                                           
 #""""#""""""""""""""-""""-"-""-"--------------------------------"""---""-"""""""""""""""""-""""""""""""""""""""+Z=AA=++Z-M-XXIIAXAAA
+XCCCCXCCCCCCCCCCCCCC.CCCC.C.CC.C................................+++...++.+++++++++++++++++.++++++++++++++++++++C        C C         
+$BBBB$BBBBBBBBBBBBBB'BBBB'B'BB'B''''''''''''''''''''''''''''''''CCC'''CC'CCCCCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCC                     
+_HHHH_HHHHHHHHHHHHHHXHHHHXHXHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXX  X                 X                                         
+&XXXX&XXXXXXXXXXXXXXCXXXXCXCXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCC  C                 C                                         
 """#"""""#""""#""""""""""----"""---"-------------------------------"-"-""-"""-""-"""""""""""""""""""""""""""++=-=====+A--M-ZXAAAAAXZ
+CCCXCCCCCXCCCCXCCCCCCCCCC....CCC...C...............................+.+.++.+++.++.+++++++++++++++++++++++++++CCCC       CC C         
+BBB$BBBBB$BBBB$BBBBBBBBBB''''BBB'''B'''''''''''''''''''''''''''''''C'C'CC'CCC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCC                        
+HHH_HHHHH_HHHH_HHHHHHHHHHXXXXHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X  X   X  X                                                   
+XXX&XXXXX&XXXX&XXXXXXXXXXCCCCXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C  C   C  C                                                   
 ###"""""""##"##""""""-""-"---"-"-------""-------------------------""-"-"--"--"-""-""""""""""""""""""""""""""=MMX-+1+==XZZ--ZAIXIIAAX
+XXXCCCCCCCXXCXXCCCCCC.CC.C...C.C.......CC.........................++.+.+..+..+.++.++++++++++++++++++++++++++C            CC         
+$$$BBBBBBB$$B$$BBBBBB'BB'B'''B'B'''''''BB'''''''''''''''''''''''''CC'C'C''C''C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCC                        
+___HHHHHHH__H__HHHHHHXHHXHXXXHXHXXXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXX  X X XX XX X  X                                                  
+&&&XXXXXXX&&X&&XXXXXXCXXCXCCCXCXCCCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCC  C C CC CC C  C                                                  
 #"""""""-#""#""""""-"""""-"--"""-----"---------------------"-"-"---"-""--"""""""-""""""""""""""""""""""""""=MMMX  -+1IXXXZZXIAII=XAA
+XCCCCCCC.XCCXCCCCCC.CCCCC.C..CCC.....C.....................+.+.+...+.++..+++++++.++++++++++++++++++++++++++C                        
+$BBBBBBB'$BB$BBBBBB'BBBBB'B''BBB'''''B'''''''''''''''''''''C'C'C'''C'CC''CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCC                         
+_HHHHHHHX_HH_HHHHHHXHHHHHXHXXHHHXXXXXHXXXXXXXXXXXXXXXXXXXXX X X XXX X  XX       X                                                   
+&XXXXXXXC&XX&XXXXXXCXXXXXCXCCXXXCCCCCXCCCCCCCCCCCCCCCCCCCCC C C CCC C  CC       C                                                   
 ##"""#"""""""""""""-"""""--""""-""-----------------------------------""-""-""""""""""""""""""""""++""""""+MM=-Z1 -1-1IIAXIIAIAAXZXXA
+XXCCCXCCCCCCCCCCCCC.CCCCC..CCCC.CC...................................++.++.++++++++++++++++++++++CC++++++C  CC                      
+$$BBB$BBBBBBBBBBBBB'BBBBB''BBBB'BB'''''''''''''''''''''''''''''''''''CC'CC'CCCCCCCCCCCCCCCCCCCCCC  CCCCCC                           
+__HHH_HHHHHHHHHHHHHXHHHHHXXHHHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X  X                                                         
+&&XXX&XXXXXXXXXXXXXCXXXXXCCXXXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C  C                                                         
 ##""#""#"""""""""""""""""---""""----------------------------------------"""""-"""-"""""""-"""""""""""""""-Z=MX+ 1+11AAIIA=IAIAXXZZZZ
+XXCCXCCXCCCCCCCCCCCCCCCCC...CCCC........................................+++++.+++.+++++++.+++++++++++++++C C                        
+$$BB$BB$BBBBBBBBBBBBBBBBB'''BBBB''''''''''''''''''''''''''''''''''''''''CCCCC'CCC'CCCCCCC'CCCCCCCCCCCCCCC                           
+__HH_HH_HHHHHHHHHHHHHHHHHXXXHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     X   X       X                                          
+&&XX&XX&XXXXXXXXXXXXXXXXXCCCXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC     C   C       C                                          
 ##"#""""""""""""""-"""""""--""""--------------------------"--------------""---"""-"""""""""""""""""""""-+XZ-X+-1=+=AXAAII+XXA=AZZZXZ
+XXCXCCCCCCCCCCCCCC.CCCCCCC..CCCC..........................+..............++...+++.+++++++++++++++++++++.C  C                        
+$$B$BBBBBBBBBBBBBB'BBBBBBB''BBBB''''''''''''''''''''''''''C''''''''''''''CC'''CCC'CCCCCCCCCCCCCCCCCCCCC'                            
+__H_HHHHHHHHHHHHHHXHHHHHHHXXHHHHXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX  XXX   X                     X                            
+&&X&XXXXXXXXXXXXXXCXXXXXXXCCXXXXCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC  CCC   C                     C                            
 #"#""""""#""""#"""""""""""-"-""-"""--""-"-----"--------------"--------"--"""""""""""""-""""-""""""""""-+---=M11++IIAAA+==IXI=AXXZXAA
+XCXCCCCCCXCCCCXCCCCCCCCCCC.C.CC.CC+..C+.+.....+..............+........+..+++++++++++++.++++.++++++++++.CCCCC                        
+$B$BBBBBB$BBBB$BBBBBBBBBBB'B'BB'BBC''BC'C'''''C''''''''''''''C''''''''C''CCCCCCCCCCCCC'CCCC'CCCCCCCCCC'                             
+_H_HHHHHH_HHHH_HHHHHHHHHHHXHXHHXHH XXH X XXXXX XXXXXXXXXXXXXX XXXXXXXX XX             X    X          X                             
+&X&XXXXXX&XXXX&XXXXXXXXXXXCXCXXCXX CCX C CCCCC CCCCCCCCCCCCCC CCCCCCCC CC             C    C          C                             
 "#""""""#"""""""""""""""-"-"--"----"-----------------------------"----------"""""""""""""""""""""""""-"MMM+"Z+====II=++AIAIAIXAAZAAI
+CXCCCCCCXCCCCCCCCCCCCCCC.C.C..C....+.............................+..........+++++++++++++++++++++++++.+   C+                        
+B$BBBBBB$BBBBBBBBBBBBBBB'B'B''B''''C'''''''''''''''''''''''''''''C''''''''''CCCCCCCCCCCCCCCCCCCCCCCCC'C    C                        
+H_HHHHHH_HHHHHHHHHHHHHHHXHXHXXHXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX                         X                              
+X&XXXXXX&XXXXXXXXXXXXXXXCXCXCCXCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC                         C                              
 #"#"""""""""""""""""""""""-""""""---------------------------"----""-------"-"-"""""""""""""""""""""---+=-M-=ZAXAAIAI==II=IXXIAAXZZXA
+XCXCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC...........................+....++.......+.+.+++++++++++++++++++++...CCC .C                        
+$B$BBBBBBBBBBBBBBBBBBBBBBB'BBBBBB'''''''''''''''''''''''''''C''''CC'''''''C'C'CCCCCCCCCCCCCCCCCCCCC'''    '                         
+_H_HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX  XXXXXXX X X                     XXX    X                         
+&X&XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC  CCCCCCC C C                     CCC    C                         
 #"""""""""#"""""""""""""""---""""""-"----------------------------"----"----""--"-"""-""""""""""---"--"==-MMZX-XXAAA=I+++AAZZAXX-M-XX
+XCCCCCCCCCXCCCCCCCCCCCCCCC...CCCCCC.C............................+....+....++..+.+++.++++++++++...+..+CCC    C                 C C  
+$BBBBBBBBB$BBBBBBBBBBBBBBB'''BBBBBB'B''''''''''''''''''''''''''''C''''C''''CC''C'CCC'CCCCCCCCCC'''C''C                              
+_HHHHHHHHH_HHHHHHHHHHHHHHHXXXHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXX  XX X   X          XXX XX                               
+&XXXXXXXXX&XXXXXXXXXXXXXXXCCCXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC CCCC  CC C   C          CCC CC                               
 #"""""""""#"""""""#-"""--"---"""--------------------------"----"---""""""""-""""""""""-"""""""""-"--"+-XZZXZZXXXXXII++=IAX--XZZM+ZAX
+XCCCCCCCCCXCCCCCCCX.CCC..C...CCC..........................+....+...++++++++.++++++++++.+++++++++.+..+CC                   CC    C   
+$BBBBBBBBB$BBBBBBB$'BBB''B'''BBB''''''''''''''''''''''''''C''''C'''CCCCCCCC'CCCCCCCCCC'CCCCCCCCC'C''C                               
+_HHHHHHHHH_HHHHHHH_XHHHXXHXXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX        X          X         X XX                                
+&XXXXXXXXX&XXXXXXX&CXXXCCXCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC CCC        C          C         C CC                                
 #"#-"###""""""""""""""""""""""""""---"----------------------------------------"-""---"--""-"-"-"""--MMXAX-ZXZZZXXX+I1+AAXZZZZ-Z="ZZZ
+XCX.CXXXCCCCCCCCCCCCCCCCCCCCCCCCCC...C........................................+.++...+..++.+.+.+++..     C                   C C+   
+$B$'B$$$BBBBBBBBBBBBBBBBBBBBBBBBBB'''B''''''''''''''''''''''''''''''''''''''''C'CC'''C''CC'C'C'CCC''                            C   
+_H_XH___HHHHHHHHHHHHHHHHHHHHHHHHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X  XXX XX  X X X   XX                                
+&X&CX&&&XXXXXXXXXXXXXXXXXXXXXXXXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CCC CC  C C C   CC                                
 #""#"""""""""""""""""""""""""""""--""-------------------------"-"-----""""""""""""""""""""""-""""--+M=XAXAAZZXXAAI=I=IZZZXXXZZ-++-M-
+XCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..CC.........................+.+.....++++++++++++++++++++++.++++..C C                        CCCC C
+$BB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBB''BB'''''''''''''''''''''''''C'C'''''CCCCCCCCCCCCCCCCCCCCCC'CCCC''                                 
+_HH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX                      X    XX                                 
+&XX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCC                      C    CC                                 
 """"##"""""#"""""""""""""-""-""""--"""------------------------------"-"""--"""""-""-"-"""-""---"-""+M+-ZA+A-XXXXXAXXXZZZZAIIXAMMMZZZ
+CCCCXXCCCCCXCCCCCCCCCCCCC.CC.CCCC..CCC..............................+.+++..+++++.++.+.+++.++...+.C+C CC    C                        
+BBBB$$BBBBB$BBBBBBBBBBBBB'BB'BBBB''BBB''''''''''''''''''''''''''''''C'CCC''CCCCC'CC'C'CCC'CC'''C'BC                                 
+HHHH__HHHHH_HHHHHHHHHHHHHXHHXHHHHXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X   XX     X  X X   X  XXX XH                                  
+XXXX&&XXXXX&XXXXXXXXXXXXXCXXCXXXXCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C   CC     C  C C   C  CCC CX                                  
 """"""""""#"""""""""""-"""--""""""""------------------------------"--"""""""-""""""""""-"""""""----=+M=ZAAXZZXAXZXZZZ-ZIAAAAXM=IZXXI
+CCCCCCCCCCXCCCCCCCCCCC.CCC..CCCCCCCC..............................+..+++++++.++++++++++.+++++++....CC C              C        C     
+BBBBBBBBBB$BBBBBBBBBBB'BBB''BBBBBBBB''''''''''''''''''''''''''''''C''CCCCCCC'CCCCCCCCCC'CCCCCCC''''                                 
+HHHHHHHHHH_HHHHHHHHHHHXHHHXXHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX       X          X       XXXX                                 
+XXXXXXXXXX&XXXXXXXXXXXCXXXCCXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC       C          C       CCCC                                 
 #####"##"""""""""""""""""--"""-"""---"-----------------------------"---""""""""""""""---""-"---"-"-=+MZXIAZZXAA-ZZZX--MXAAAXXM-AAII=
+XXXXXCXXCCCCCCCCCCCCCCCCC..CCC.CCC...C.............................+...++++++++++++++...++.+...+.C.CC          C    CC        C     
+$$$$$B$$BBBBBBBBBBBBBBBBB''BBB'BBB'''B'''''''''''''''''''''''''''''C'''CCCCCCCCCCCCCC'''CC'C'''C'B'                                 
+_____H__HHHHHHHHHHHHHHHHHXXHHHXHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX              XXX  X XXX XHX                                 
+&&&&&X&&XXXXXXXXXXXXXXXXXCCXXXCXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC              CCC  C CCC CXC                                 
 ##""#"#"""""""""""""""""""""""""""-""----------------------"---------"-""""-""""-"""-"""-"-"-"--"""+=-XIIZXXXIXZXZZZ-M-XXZX-XXA===11
+XXCCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC......................+.........+.++++.++++.+++.+++.+.+.+..CC+CCC              C C    C        
+$$BB$B$BBBBBBBBBBBBBBBBBBBBBBBBBBB'BB''''''''''''''''''''''C'''''''''C'CCCC'CCCC'CCC'CCC'C'C'C''BBC                                 
+__HH_H_HHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X    X    X   X   X X X XXHH                                  
+&&XX&X&XXXXXXXXXXXXXXXXXXXXXXXXXXXCXXCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC C    C    C   C   C C C CCXX                                  
 #"#"""-""""""""""""""""--"""-""""--""-""-----------------------"--"-"""""""-""""""""-""--"---""""-"=MZXAXXXXXAZXXZZXZ-XXZMZM-X=1+1-+
+XCXCCC.CCCCCCCCCCCCCCCC..CCC.CCCC..CC.CC.......................+..+.+++++++.++++++++.++..+...++CC.+C                 C      C       
+$B$BBB'BBBBBBBBBBBBBBBB''BBB'BBBB''BB'BB'''''''''''''''''''''''C''C'CCCCCCC'CCCCCCCC'CC''C'''CCBB'C                                 
+_H_HHHXHHHHHHHHHHHHHHHHXXHHHXHHHHXXHHXHHXXXXXXXXXXXXXXXXXXXXXXX XX X       X        X  XX XXX  HHX                                  
+&X&XXXCXXXXXXXXXXXXXXXXCCXXXCXXXXCCXXCXXCCCCCCCCCCCCCCCCCCCCCCC CC C       C        C  CC CCC  XXC                                  
 #"""#""#"""""#"""-"""""-"""""-"-"--""-"----------------------------"---"-"--""""""--"""""-"""+-"-"=M-AXAXZ-XXZZAXXZXXXAZM-ZXXA1--  +
+XCCCXCCXCCCCCXCCC.CCCCC.CCCCC.C.C..CC.C............................+...+.+..++++++..+++++.+++C.C.+C C     C              C          
+$BBB$BB$BBBBB$BBB'BBBBB'BBBBB'B'B''BB'B''''''''''''''''''''''''''''C'''C'C''CCCCCC''CCCCC'CCC 'B'C                                  
+_HHH_HH_HHHHH_HHHXHHHHHXHHHHHXHXHXXHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X XX      XX     X    XHX                                   
+&XXX&XX&XXXXX&XXXCXXXXXCXXXXXCXCXCCXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC C CC      CC     C    CXC                                   
 #""""#""""""""""""""""""-"""-"-"--"--"-------------------------"-----"----""---"""""""-""----""-"+MZXAAAZ--ZXXXXZAXIIIAZZXAI=1     -
+XCCCCXCCCCCCCCCCCCCCCCCC.CCC.C.C..C..C.........................+.....+....++...+++++++.++....+C.+C       CC                         
+$BBBB$BBBBBBBBBBBBBBBBBB'BBB'B'B''B''B'''''''''''''''''''''''''C'''''C''''CC'''CCCCCCC'CC''''CB'C                                   
+_HHHH_HHHHHHHHHHHHHHHHHHXHHHXHXHXXHXXHXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXX  XXX       X  XXXX HX                                    
+&XXXX&XXXXXXXXXXXXXXXXXXCXXXCXCXCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC CCCC  CCC       C  CCCC XC                                    
 ##"""#""""""""""""""""""-"""-"""""""-"--------------------"---""-------"-""--"-"""""""-""""-"--+==XZAXXZZ---ZXAIA=I+=IXXAI=1    ---1
+XXCCCXCCCCCCCCCCCCCCCCCC.CCC.CCCCCCC.C....................+...++.......+.++..+.+++++++.++++.+..CCC       CCC                        
+$$BBB$BBBBBBBBBBBBBBBBBB'BBB'BBBBBBB'B''''''''''''''''''''C'''CC'''''''C'CC''C'CCCCCCC'CCCC'C''                                     
+__HHH_HHHHHHHHHHHHHHHHHHXHHHXHHHHHHHXHXXXXXXXXXXXXXXXXXXXX XXX  XXXXXXX X  XX X       X    X XX                                     
+&&XXX&XXXXXXXXXXXXXXXXXXCXXXCXXXXXXXCXCCCCCCCCCCCCCCCCCCCC CCC  CCCCCCC C  CC C       C    C CC                                     
 "#""#"#"""""""""""""""""-""-"""""-""-"------"----------------------"-""--"--"--""""-""-"----+"+=MZAXAZZZZZZ---AXAA=-1=XAII+-   -1-1=
+CXCCXCXCCCCCCCCCCCCCCCCC.CC.+CCCC.CC.C......C......................+.++..+..+..++++.++.+....C+CC           CCC                      
+B$BB$B$BBBBBBBBBBBBBBBBB'BB'CBBBB'BB'B''''''B''''''''''''''''''''''C'CC''C''C''CCCC'CC'C'''' C                                      
+H_HH_H_HHHHHHHHHHHHHHHHHXHHX HHHHXHHXHXXXXXXHXXXXXXXXXXXXXXXXXXXXXX X  XX XX XX    X  X XXXX                                        
+X&XX&X&XXXXXXXXXXXXXXXXXCXXC XXXXCXXCXCCCCCCXCCCCCCCCCCCCCCCCCCCCCC C  CC CC CC    C  C CCCC                                        
 ###""#"""""""#""#""""-"""-""---""-"-"-----"-----------------------""""-"""-""+-"""""----"--+""++ZI=AZMZ-Z-X--XAZXI==AIIIIAI1   11-+I
+XXXCCXCCCCCCCXCCXCCCC.CCC.C+...CC.C.C.....C.......................++++.+++.++C.+++++....+..C++CC       C C CC                       
+$$$BB$BBBBBBB$BB$BBBB'BBB'BC'''BB'B'B'''''B'''''''''''''''''''''''CCCC'CCC'CC 'CCCCC''''C'' CC                                      
+___HH_HHHHHHH_HH_HHHHXHHHXH XXXHHXHXHXXXXXHXXXXXXXXXXXXXXXXXXXXXXX    X   X   X     XXXX XX                                         
+&&&XX&XXXXXXX&XX&XXXXCXXXCX CCCXXCXCXCCCCCXCCCCCCCCCCCCCCCCCCCCCCC    C   C   C     CCCC CC                                         
 """"""""""""""""""""""""""--"""-"""--"""-----------------------+""""-""""-"""""""""""""""-"===+==1A-ZZXZ-ZXAXXXZZAIAAAAAAI=----1+1AI
+CCCCCCCCCCCCCCCCCCCCCCCCCC..CCC.CCC..CCC.......................C++++.++++.+++++++++++++++.+CCCCC   C    C                           
+BBBBBBBBBBBBBBBBBBBBBBBBBB''BBB'BBB''BBB''''''''''''''''''''''' CCCC'CCCC'CCCCCCCCCCCCCCC'C                                         
+HHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHXHHHXXHHHXXXXXXXXXXXXXXXXXXXXXXX     X    X               X                                          
+XXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXCXXXCCXXXCCCCCCCCCCCCCCCCCCCCCCC     C    C               C                                          
 """#""-""""""""""""""-""""---""""--""-------------------------"--""--""""-""--"""-"""-""-"--=MMZ-IXZAAAXZXAIAXZZZAIIIXXXXA+- --+1+A=
+CCCXCC.CCCCCCCCCCCCCC.CCCC...CCCC..CC.........................+..++..++++.++..+++.+++.++.+CCC                                       
+BBB$BB'BBBBBBBBBBBBBB'BBBB'''BBBB''BB'''''''''''''''''''''''''C''CC''CCCC'CC''CCC'CCC'CC'C                                          
+HHH_HHXHHHHHHHHHHHHHHXHHHHXXXHHHHXXHHXXXXXXXXXXXXXXXXXXXXXXXXX XX  XX    X  XX   X   X  X                                           
+XXX&XXCXXXXXXXXXXXXXXCXXXXCCCXXXXCCXXCCCCCCCCCCCCCCCCCCCCCCCCC CC  CC    C  CC   C   C  C                                           
 """#""""""""""""""""-""""""""""""""----"--""------------#---------------"-"-"-""---""""--+X==M-A=ZZMZXXZZAXXAAA+I==IXZZAXA=1--11+===
+CCCXCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCC....C..+C............X...............+.+.+.++...++++..C CC C                                     
+BBB$BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBB''''B''CB''''''''''''$'''''''''''''''C'C'C'CC'''CCCC''                                           
+HHH_HHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHXXXXHXX HXXXXXXXXXXXX_XXXXXXXXXXXXXXX X X X  XXX    XX                                           
+XXX&XXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXCCCCXCC XCCCCCCCCCCCC&CCCCCCCCCCCCCCC C C C  CCC    CC                                           
 """#""""#"""""""""""""""""--"""""""-"-------------------------"--"""-----"--"""-"---"""--XZ+==-XZ-MMZXAXZZZXAA-I==Z-ZZXA=+- 11-+++=A
+CCCXCCCCXCCCCCCCCCCCCCCCCC..CCCCCCC.C.........................+..+++.....+..+++.+...+++..  CCCC  C                 C                
+BBB$BBBB$BBBBBBBBBBBBBBBBB''BBBBBBB'B'''''''''''''''''''''''''C''CCC'''''C''CCC'C'''CCC''                                           
+HHH_HHHH_HHHHHHHHHHHHHHHHHXXHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXX XX   XXXXX XX   X XXX   XX                                           
+XXX&XXXX&XXXXXXXXXXXXXXXXXCCXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCC CC   CCCCC CC   C CCC   CC                                           
 #""""""#"#"""""""""""""""---"""""-"""--"--------------------------""--""-""--"--"""--"-"=-=M=M-Z--+-XAAAZZXIIA1=X-=-ZXA=1---11-++IAA
+XCCC+CCXCXCCCCCCCCCCCCCCC...CCCCC.CCC..C..........................++..++.++..+..+++..+.+CCC C C CCCC             CCC                
+$BBBCBB$B$BBBBBBBBBBBBBBB'''BBBBB'BBB''B''''''''''''''''''''''''''CC''CC'CC''C''CCC''C'C                                            
+_HHH HH_H_HHHHHHHHHHHHHHHXXXHHHHHXHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXX  XX  X  XX XX   XX X                                             
+&XXX XX&X&XXXXXXXXXXXXXXXCCCXXXXXCXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCC  CC  C  CC CC   CC C                                             
 ##""""#""""""""""""""""-"""--""""---"--------------------------"--""-"""""""---""-----"M---Z=M--Z-MZAAAIXXX=====X-MZZX=1++11+11++III
+XXCCCCXCCCCCCCCCCCCCCCC.CCC..CCCC...C..........................+..++.+++++++...++.....+ CCC C CC C               C                  
+$$BBBB$BBBBBBBBBBBBBBBB'BBB''BBBB'''B''''''''''''''''''''''''''C''CC'CCCCCCC'''CC'''''C                                             
+__HHHH_HHHHHHHHHHHHHHHHXHHHXXHHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXX XX  X       XXX  XXXXX                                              
+&&XXXX&XXXXXXXXXXXXXXXXCXXXCCXXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC CC  C       CCC  CCCCC                                              
 ""#"#""""""""""""""""""""""--""""--------"-------------------"-""---"""-""""------""--+ZZ-AZMM-M--ZZZZIIAZA=+1=AA-M-ZA+1===+=II=====
+CCXCXCCCCCCCCCCCCCCCCCCCCCC..CCCC........C...................+.++...+++.++++......++..C  C    C CC               C C                
+BB$B$BBBBBBBBBBBBBBBBBBBBBB''BBBB''''''''B'''''''''''''''''''C'CC'''CCC'CCCC''''''CC''                                              
+HH_H_HHHHHHHHHHHHHHHHHHHHHHXXHHHHXXXXXXXXHXXXXXXXXXXXXXXXXXXX X  XXX   X    XXXXXX  XX                                              
+XX&X&XXXXXXXXXXXXXXXXXXXXXXCCXXXXCCCCCCCCXCCCCCCCCCCCCCCCCCCC C  CCC   C    CCCCCC  CC                                              
 "#"""#"""""""#"""""""""""---"""----"------------------------------""""""""-"--""-""---=ZXAXZX-M==--Z-ZAIAI=11=ZAX=MZX++IXI=I=XX=1+=+
+CXCCCXCCCCCCCXCCCCCCCCCCC...+CC....C..............................++++++++.+..++.++...C      C CCCC C            C                  
+B$BBB$BBBBBBB$BBBBBBBBBBB'''CBB''''B''''''''''''''''''''''''''''''CCCCCCCC'C''CC'CC'''                                              
+H_HHH_HHHHHHH_HHHHHHHHHHHXXX HHXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        X XX  X  XXX                                              
+X&XXX&XXXXXXX&XXXXXXXXXXXCCC XXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        C CC  C  CCC                                              
 #""-""""""""#"""""""""""""-"-"-"-"-"----------------------------""-"------"-"-"-""--"M=XAAXZXZ-=M=MZAXZXA++1IZZX--XA=+IXXIIAIAA=11+1
+XCC.CCCCCCCCXCCCCCCCCCCCCC.C.C.C.C.C............................++.+......+.+.+.++..+ C       CC C              CC                  
+$BB'BBBBBBBB$BBBBBBBBBBBBB'B'B'B'B'B''''''''''''''''''''''''''''CC'C''''''C'C'C'CC''C                                               
+_HHXHHHHHHHH_HHHHHHHHHHHHHXHXHXHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X XXXXXX X X X  XX                                                
+&XXCXXXXXXXX&XXXXXXXXXXXXXCXCXCXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C CCCCCC C C C  CC                                                
 #""#"""""""#"""""""""""""""--"""-"------------------------------"----"""""--"-------=M=IAX=-X--MM=MZA-ZA+1=IXZZZ-ZXI==IAXAXAI===I11+
+XCCXCCCCCCCXCCCCCCCCCCCCCCC..CCC.C..............................+....+++++..+.......C C   CC CC  C   C          C                   
+$BB$BBBBBBB$BBBBBBBBBBBBBBB''BBB'B''''''''''''''''''''''''''''''C''''CCCCC''C'''''''                                                
+_HH_HHHHHHH_HHHHHHHHHHHHHHHXXHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX     XX XXXXXXX                                                
+&XX&XXXXXXX&XXXXXXXXXXXXXXXCCXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC     CC CCCCCCC                                                
 #""#"""#""""""""""""""""""""""""---""--"----------------------"--------"----"------"M=Z+XA"M-=-MMMMZXZA=+IAX-Z--ZAI+==IZZZZA=+=II11+
+XCCXCCCXCCCCCCCCCCCCCCCCCCCCCCCC...CC..C......................+........+....+......+ C    + CCC             C CC                    
+$BB$BBB$BBBBBBBBBBBBBBBBBBBBBBBB'''BB''B''''''''''''''''''''''C''''''''C''''C''''''C      C                                         
+_HH_HHH_HHHHHHHHHHHHHHHHHHHHHHHHXXXHHXXHXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX XXXX XXXXXX                                                 
+&XX&XXX&XXXXXXXXXXXXXXXXXXXXXXXXCCCXXCCXCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC CCCC CCCCCC                                                 
 #"""""""""""""""-"""""""""""-""""--"--"--"-----------------"--"--"----""--""--""----M==IXA--==--X--XXX=1AZZZ---XXI====AM-ZZ=++II+1++
+XCCCCCCCCCCCCCCC.CCCCCCCCCCC.CCCC..C..C..C.................+..+..+....++..++..++...C C    .CCCCC CC         CCC         C           
+$BBBBBBBBBBBBBBB'BBBBBBBBBBB'BBBB''B''B''B'''''''''''''''''C''C''C''''CC''CC''CC'''       '                                         
+_HHHHHHHHHHHHHHHXHHHHHHHHHHHXHHHHXXHXXHXXHXXXXXXXXXXXXXXXXX XX XX XXXX  XX  XX  XXX       X                                         
+&XXXXXXXXXXXXXXXCXXXXXXXXXXXCXXXXCCXCCXCCXCCCCCCCCCCCCCCCCC CC CC CCCC  CC  CC  CCC       C                                         
 #"""""#""""""""""-"""""""-"-""""""-""---"-----------------------"----"----"------""-=-XXA-+-M=-ZZ-AXA==A-XZZXZXII=AAI=Z-ZZA==+I++=I+
+XCCCCCXCCCCCCCCCC.CCCCCCC.C.CCCCCC.CC...C.......................+....+....+......++CCC   CCC CC  C      C              C            
+$BBBBB$BBBBBBBBBB'BBBBBBB'B'BBBBBB'BB'''B'''''''''''''''''''''''C''''C''''C''''''CC                                                 
+_HHHHH_HHHHHHHHHHXHHHHHHHXHXHHHHHHXHHXXXHXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXX XXXXXX                                                   
+&XXXXX&XXXXXXXXXXCXXXXXXXCXCXXXXXXCXXCCCXCCCCCCCCCCCCCCCCCCCCCCC CCCC CCCC CCCCCC                                                   
 """""""#""""""""""""""""""""-""""---""----------------------------"-----""-----"--=+MXXAZMM--M-=-XAAIIXZZXXXZZAIIAAA==XZZA=A==I===I1
+CCCCCCCXCCCCCCCCCCCCCCCCCCCC.CCCC...CC............................+.....++.....+..CC       CC CCC                                   
+BBBBBBB$BBBBBBBBBBBBBBBBBBBB'BBBB'''BB''''''''''''''''''''''''''''C'''''CC'''''C''                                                  
+HHHHHHH_HHHHHHHHHHHHHHHHHHHHXHHHHXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX  XXXXX XX                                                  
+XXXXXXX&XXXXXXXXXXXXXXXXXXXXCXXXXCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC  CCCCC CC                                                  
 ##""""""##""""""""""""""""""-"-""""------------------------------"---"-""--------+==ZZAIXMM-XMM=M-IAIAZ-XXZXZX=IA==I=IXAI=XA=A+++II-
+XXCCCCCCXXCCCCCCCCCCCCCCCCCC.C.CCCC..............................+...+.++........CCC       C   C C     C                            
+$$BBBBBB$$BBBBBBBBBBBBBBBBBB'B'BBBB''''''''''''''''''''''''''''''C'''C'CC''''''''                                                   
+__HHHHHH__HHHHHHHHHHHHHHHHHHXHXHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X  XXXXXXXX                                                   
+&&XXXXXX&&XXXXXXXXXXXXXXXXXXCXCXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC C  CCCCCCCC                                                   
 "#"""""""""""""""""""""""-----"""-""----------------------------"""-""-"---"---"-=+-ZZ1=X-M-ZZ-+=-ZAXZZAAXAAA=IIIIXIAII==AXAAX+==I=-
+CXCCCCCCCCCCCCCCCCCCCCCCC.....CCC.CC............................+++.++.+...+...+.CCC     C C  CCCC                                  
+B$BBBBBBBBBBBBBBBBBBBBBBB'''''BBB'BB''''''''''''''''''''''''''''CCC'CC'C'''C'''C'                                                   
+H_HHHHHHHHHHHHHHHHHHHHHHHXXXXXHHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX   X  X XXX XXX X                                                   
+X&XXXXXXXXXXXXXXXXXXXXXXXCCCCCXXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC   C  C CCC CCC C                                                   
 ""###"#"###""""""""""""""--"---""----"------------------------------------------+=+ZZZIX=-Z==A-=MZZXZZXXIXAXA=IAZ-ZXXI1=IXXX-A=IAI=1
+CCXXXCXCXXXCCCCCCCCCCCCCC..C...CC....C..........................................CCC     CC CC CC                 C          C       
+BB$$$B$B$$$BBBBBBBBBBBBBB''B'''BB''''B''''''''''''''''''''''''''''''''''''''''''                                                    
+HH___H_H___HHHHHHHHHHHHHHXXHXXXHHXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                    
+XX&&&X&X&&&XXXXXXXXXXXXXXCCXCCCXXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                    
 "#"""""""#"""""-"""""""""""---"-"-"----------------------------"---------------"MM=AZZI-+-M+=-MMZ-XXZXZZX-ZXAIIXXAZZXI=AAZZZZAXAXXI+
+CXCCCCCCCXCCCCC.CCCCCCCCCCC...C.C.C............................+...............+  C    CCC CCC   C       C                          
+B$BBBBBBB$BBBBB'BBBBBBBBBBB'''B'B'B''''''''''''''''''''''''''''C'''''''''''''''C                                                    
+H_HHHHHHH_HHHHHXHHHHHHHHHHHXXXHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX                                                     
+X&XXXXXXX&XXXXXCXXXXXXXXXXXCCCXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC                                                     
 "#""""""""#"""""""""--"""--""""""""-"-""---------------------------------------+-MMAZIZM=Z===-M-ZMA=AXZZ--XAAAAAIXZZXXAZX---XZ-X-ZA1
+CXCCCCCCCCXCCCCCCCCC..CCC..CCCCCCCC.C.CC.......................................CC       C CCCC C        CC               CCC  C C   
+B$BBBBBBBB$BBBBBBBBB''BBB''BBBBBBBB'B'BB'''''''''''''''''''''''''''''''''''''''                                                     
+H_HHHHHHHH_HHHHHHHHHXXHHHXXHHHHHHHHXHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                     
+X&XXXXXXXX&XXXXXXXXXCCXXXCCXXXXXXXXCXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                     
 ""#"""""""#"""#"""""-""""""-"""-"""--"-"-----------------------""-""-"-""------MXMM=X=MZ====--MZ-ZI=AXZXZZAIAAAIXZZAAZXZ-=----ZZ-ZA 
+CCXCCCCCCCXCCCXCCCCC.CCCCCC.CCC.CCC..C.C.......................++.++.+.++......    C    CCCCCC  C                       CCCCCC  C   
+BB$BBBBBBB$BBB$BBBBB'BBBBBB'BBB'BBB''B'B'''''''''''''''''''''''CC'CC'C'CC''''''                                                     
+HH_HHHHHHH_HHH_HHHHHXHHHHHHXHHHXHHHXXHXHXXXXXXXXXXXXXXXXXXXXXXX  X  X X  XXXXXX                                                     
+XX&XXXXXXX&XXX&XXXXXCXXXXXXCXXXCXXXCCXCXCCCCCCCCCCCCCCCCCCCCCCC  C  C C  CCCCCC                                                     
 #"#"""##"""""""""""""""""""""""""-"------"------------------------------------"-Z=M"ZZ-M-MM--=M+=IAAXZMMMXXAXAAAAIAA-ZXZMMM-=MZ---Z-
+XCXCCCXXCCCCCCCCCCCCCCCCCCCCCCCCC.C......C....................................+C C +  C C  CCC CC                   C      CC  CCC  
+$B$BBB$$BBBBBBBBBBBBBBBBBBBBBBBBB'B''''''B''''''''''''''''''''''''''''''''''''C    C                                                
+_H_HHH__HHHHHHHHHHHHHHHHHHHHHHHHHXHXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                      
+&X&XXX&&XXXXXXXXXXXXXXXXXXXXXXXXXCXCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                      
 #""""""""""""""""""""""""""""""""----"-"-"------------------------"-----------MZ==-=ZMM=-M-Z-=="-=AA---=-ZZXXZZA=IA----M----=-Z=-MX+
+XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC....C.C.C........................+...........  CCCC   CC C CCC+C   CCCCC          CCCC CCCCCC CC   
+$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''''B'B'B''''''''''''''''''''''''C'''''''''''                 C                                    
+_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXHXHXHXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX                                                      
+&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCXCXCXCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC                                                      
 #""""#""""""""""""""""""-"""""""-""-"""--""----------------------------"------Z-=MZZM==M-M--M++=X=AXZ-M-XXZXAZXI=ZZ=MMMZXZZ=MZ-=Z-Z=
+XCCCCXCCCCCCCCCCCCCCCCCC.CCCCCCC.CC.CCC..CC............................+...... CC    CC C CC CCC     C C           C       C  CC C  
+$BBBB$BBBBBBBBBBBBBBBBBB'BBBBBBB'BB'BBB''BB''''''''''''''''''''''''''''C''''''                                                      
+_HHHH_HHHHHHHHHHHHHHHHHHXHHHHHHHXHHXHHHXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX                                                      
+&XXXX&XXXXXXXXXXXXXXXXXXCXXXXXXXCXXCXXXCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC                                                      
 #""""#""""""""""""""-""""--""------""-"-------------"-----------------"-"----=ZM+-Z-=-MM-Z-Z+++ZIXZZ-MZZXXXXIZXXXZ-+MM-ZZ--=M-M=---A
+XCCCCXCCCCCCCCCCCCCC.CCCC..CC......CC.C.............+.................+.+....C  CC CCC  C C CCC     C             CC  C  CCC C CCCC 
+$BBBB$BBBBBBBBBBBBBB'BBBB''BB''''''BB'B'''''''''''''C'''''''''''''''''C'C''''                                                       
+_HHHH_HHHHHHHHHHHHHHXHHHHXXHHXXXXXXHHXHXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX X XXXX                                                       
+&XXXX&XXXXXXXXXXXXXXCXXXXCCXXCCCCCCXXCXCCCCCCCCCCCCC CCCCCCCCCCCCCCCCC C CCCC                                                       
 #"""##""#""""#-""""""""-"""""""-"-"-"""-""-------------------"-----------"----ZM=XX-MMM====-=MZXXZ--M-ZXZZXXXZ-ZZZ-MMM-MMM-=MM-M-ZMX
+XCCCXXCCXCCCCX.CCCCCCCC.CCCCCCC.C.C.CCC.CC...................+...........+...C  C  C   CCCCCC     CC C        C   C   C   CC  C C   
+$BBB$$BB$BBBB$'BBBBBBBB'BBBBBBB'B'B'BBB'BB'''''''''''''''''''C'''''''''''C'''                                                       
+_HHH__HH_HHHH_XHHHHHHHHXHHHHHHHXHXHXHHHXHHXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX XXX                                                       
+&XXX&&XX&XXXX&CXXXXXXXXCXXXXXXXCXCXCXXXCXXCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC CCC                                                       
 #"""""""#"""""""""""""""""-""-""""""""---"-------------------"---------------IZM=XA-M=M===ZZ-AIZ--M-=M-ZZ-ZXX-=ZZZZMMZM=M----M-M-M+-
+XCCCCCCCXCCCCCCCCCCCCCCCCC.CC.CCCCCCCC...C...................+...............   C  C C CCC  C   CC CC C  C   CC        C CCCC C C CC
+$BBBBBBB$BBBBBBBBBBBBBBBBB'BB'BBBBBBBB'''B'''''''''''''''''''C'''''''''''''''                                                       
+_HHHHHHH_HHHHHHHHHHHHHHHHHXHHXHHHHHHHHXXXHXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX                                                       
+&XXXXXXX&XXXXXXXXXXXXXXXXXCXXCXXXXXXXXCCCXCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC                                                       
 ##"#""""""""#""""""""""""""""""""""-"-""---------------------"--------------=IM==ZX--MM-ZXXZ-ZXM=M---=--M-ZXZ+"M-XZ=MZM=M--MM-MM-="=
+XXCXCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCC.C.CC.....................+..............C  CC  CC  C    C   C CCCCCC C   C+ C  C   C CC  C  CC+C
+$$B$BBBBBBBB$BBBBBBBBBBBBBBBBBBBBBB'B'BB'''''''''''''''''''''C''''''''''''''                                  C                   C 
+__H_HHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHXHXHHXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX                                                        
+&&X&XXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXCXCXXCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC                                                        
 #""-""#"#""#"""""""""""""---"""---""""-"--"--------------------------------"XZ=M-Z-Z--MXAXXMM-M+=MM-=M--MM-AX-MM-XZ=M=MXMMZMMM+=-+"-
+XCC.CCXCXCCXCCCCCCCCCCCCC...CCC...CCCC.C..C................................+  C C C CC       C CC  CC CC  C  C  C  C C        CCCC+C
+$BB'BB$B$BB$BBBBBBBBBBBBB'''BBB'''BBBB'B''B''''''''''''''''''''''''''''''''C                                                      C 
+_HHXHH_H_HH_HHHHHHHHHHHHHXXXHHHXXXHHHHXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                         
+&XXCXX&X&XX&XXXXXXXXXXXXXCCCXXXCCCXXXXCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                         
 ####""""""""""""""#-""""""""""""""""""-"-----------------------------------MZ==+-X----ZXX-M---==MMZ==-M-=+-ZZZAXZZZZZ+MX=-MMM==+++"I
+XXXXCCCCCCCCCCCCCCX.CCCCCCCCCCCCCCCCCC.C...................................  CCCC CCCC   C CCCCC   CCC CCCC          C  CC   CCCCC+ 
+$$$$BBBBBBBBBBBBBB$'BBBBBBBBBBBBBBBBBB'B'''''''''''''''''''''''''''''''''''                                                       C 
+____HHHHHHHHHHHHHH_XHHHHHHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                         
+&&&&XXXXXXXXXXXXXX&CXXXXXXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                         
 #"""##"#"""""""-""""""""""""""""""---"-"-------------------------------------MM+XX-MZ-XZ--Z-ZZ-M=-ZMM-M-==--XXIIAXXXZ=M-=-====-==++Z
+XCCCXXCXCCCCCCC.CCCCCCCCCCCCCCCCCC...C.C...................................CC  C  C  C  CC C  C CC   C CCCCC         C CCCCCCCCCCCC 
+$BBB$$B$BBBBBBB'BBBBBBBBBBBBBBBBBB'''B'B'''''''''''''''''''''''''''''''''''                                                         
+_HHH__H_HHHHHHHXHHHHHHHHHHHHHHHHHHXXXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                         
+&XXX&&X&XXXXXXXCXXXXXXXXXXXXXXXXXXCCCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                         
 #""##""##"""""""#"""""-""""""-""""-"-"""--------------------"--------------Z--=ZX-M-XZXZ--Z-Z--=MZZZZ-MM==MZZX=I=AAXZMM==M===M--M"+=
+XCCXXCCXXCCCCCCCXCCCC+.CCCCCC.CCCC.C.CCC....................+.............. CCC  C C    CC C CCC     C  CC             CC CCC CC +CC
+$BB$$BB$$BBBBBBB$BBBBC'BBBBBB'BBBB'B'BBB''''''''''''''''''''C''''''''''''''                                                      C  
+_HH__HH__HHHHHHH_HHHH XHHHHHHXHHHHXHXHHHXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX                                                         
+&XX&&XX&&XXXXXXX&XXXX CXXXXXXCXXXXCXCXXXCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC                                                         
 "#""""""##"""-"""""""""""""-""""-"-""-------------------------"-----------=ZXM==XX-XZZX-MZ--XZ-=M-ZXZZZ-M+-ZMXAIIIAZZ--+=-M+M---=++"
+CXCCCCCCXXCCC.CCCCCCCCCCCCC.CCCC.C.CC.........................+...........C   C   C    C  CC  CC C     C CC          CCCCC C CCCCCC+
+B$BBBBBB$$BBB'BBBBBBBBBBBBB'BBBB'B'BB'''''''''''''''''''''''''C'''''''''''                                                         C
+H_HHHHHH__HHHXHHHHHHHHHHHHHXHHHHXHXHHXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX                                                          
+X&XXXXXX&&XXXCXXXXXXXXXXXXXCXXXXCXCXXCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC                                                          
 """"""#"#-""#""""""""""-""""-""""-"""-"""---------------------------------MZZ=MXIZZAZZZZZA-MZZX-ZZXX-X--M+---XXAAAZZZZAMM--+=++"+"+"
+CCCCCCXCX.CCXCCCCCCCCCC.CCCC.CCCC.CCC.CCC.................................   C            C    C    C CC CCCC            CCCCCC+C+C+
+BBBBBB$B$'BB$BBBBBBBBBB'BBBB'BBBB'BBB'BBB'''''''''''''''''''''''''''''''''                                                     C C C
+HHHHHH_H_XHH_HHHHHHHHHHXHHHHXHHHHXHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                          
+XXXXXX&X&CXX&XXXXXXXXXXCXXXXCXXXXCXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                          
 "#""""#""#"""""""""""""-""""""-"""""""-----------------------------------"XX-=MIAZAXZAXXXZ=--ZXXZ-ZZZ-=+==---AAAXXXZZA=---M++"""=""+
+CXCCCCXCCXCCCCCCCCCCCCC.CCCCCC.CCCCCCC...................................+  CC            CCC    C   CCCCCCCC          CCC CC+++C++C
+B$BBBB$BB$BBBBBBBBBBBBB'BBBBBB'BBBBBBB'''''''''''''''''''''''''''''''''''C                                                   CCC CC 
+H_HHHH_HH_HHHHHHHHHHHHHXHHHHHHXHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                           
+X&XXXX&XX&XXXXXXXXXXXXXCXXXXXXCXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                           
 "#"#"""#""""""""""""""-"""""-"""""""--"-----------"----------------------=AX-=--XAAZXIXXXMM-=M-Z--XX-="+==ZZ-ZXAZXXZA=+-ZM=+""++M"++
+CXCXCCCXCCCCCCCC+CCCCC.CCCCC.CCCCCCC..C...........+......................C  CCC            CC C CC  CC+CCC  C          C  CC++CC +CC
+B$B$BBB$BBBBBBBBCBBBBB'BBBBB'BBBBBBB''B'''''''''''C''''''''''''''''''''''                             C                     CC   C  
+H_H_HHH_HHHHHHHH HHHHHXHHHHHXHHHHHHHXXHXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX                                                           
+X&X&XXX&XXXXXXXX XXXXXCXXXXXCXXXXXXXCCXCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC                                                           
 """"""""""#""-"""""""""""-"---"-"----"---------------------"----"-"------ZXAZMZ=X=X-XIZ--MM==+--=-ZZM+"+=MXAZ-AXZXZA=IAM-=="""""M""+
+CCCCCCCCCCXCC.C+CCCCCCCCC.C...C.C....C.....................+....+.+......          C   CC  CCCCCCC   C+CC    C          CCC+++++ ++C
+BBBBBBBBBB$BB'BCBBBBBBBBB'B'''B'B''''B'''''''''''''''''''''C''''C'C''''''                             C                    CCCCC CC 
+HHHHHHHHHH_HHXH HHHHHHHHHXHXXXHXHXXXXHXXXXXXXXXXXXXXXXXXXXX XXXX X XXXXXX                                                           
+XXXXXXXXXX&XXCX XXXXXXXXXCXCCCXCXCCCCXCCCCCCCCCCCCCCCCCCCCC CCCC C CCCCCC                                                           
 "####"#"""""""""""""""-"""""""""""""""---"--"----------------------------AAX=MXAIAZ-AA---MMMMMM-M--======MZXZZIAXAI11=XZZ===="""=""+
+CXXXXCXCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCC...C..C............................   C      C  CCC      C CCCCCCCC                CCCC+++C++C
+B$$$$B$BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBB'''B''B''''''''''''''''''''''''''''                                                    CCC CC 
+H____H_HHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHXXXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                           
+X&&&&X&XXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXCCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                           
 "#"#""#""""""""""""""""""""""""""""-"-"---------------------------------=AAM+ZAI=AZZAZ--Z--Z-MMZZMM+=MM=MZXXAXAXXI+  1AXM==M=""=M=="
+CXCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.C.................................C   C         CC CC C      CC  C                 CC C++C CC+
+B$B$BB$BBBBBBBBBBBBBBBBBBBBBBBBBBBB'B'B'''''''''''''''''''''''''''''''''                                                     CC    C
+H_H_HH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                            
+X&X&XX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                            
 #"#""#""#"""""""""""""""""""""""""""--"""-----------"-------------------IAAMMIAA+AZZZX--=-ZXM=ZAZ-M=+=M==Z-MIIIX-A1 -1XM=MMM=++M-=M"
+XCXCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC..CCC...........+...................              CCCC   C   C CCC CC C     C       C   CCC CC +
+$B$BB$BB$BBBBBBBBBBBBBBBBBBBBBBBBBBB''BBB'''''''''''C'''''''''''''''''''                                                           C
+_H_HH_HH_HHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX                                                            
+&X&XX&XX&XXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC                                                            
 ##""#####"""##""#""""""""""-"""--"-""--"-----"----"---"------"--------""+II-A=I==AXZZZMZ+-XXZ=MAXXM=-==++M==IIAAI=I+11IM=--=++MZM+="
+XXCCXXXXXCCCXXCCXCCCCCCCCCC.CCC..C.CC..C.....C....+...+......+........++   C            CC   C     CCCCCC CC            CCCCCC   CC+
+$$BB$$$$$BBB$$BB$BBBBBBBBBB'BBB''B'BB''B'''''B''''C'''C''''''C''''''''CC                                                           C
+__HH_____HHH__HH_HHHHHHHHHHXHHHXXHXHHXXHXXXXXHXXXX XXX XXXXXX XXXXXXXX                                                              
+&&XX&&&&&XXX&&XX&XXXXXXXXXXCXXXCCXCXXCCXCCCCCXCCCC CCC CCCCCC CCCCCCCC                                                              
 ###"###"#"""#""""-"""""""""""""-"""""-"""------------------------------M=AIZ===-AXZZZA-Z=-MX-M-Z-=M-Z=M+=MM=XAAIA-"=I=XMM--M=-MZM+-"
+XXXCXXXCXCCCXCCCC.CCCCCCCCCCCCC.CCCCC.CCC..............................               C CC  C C CC C C CC  C     C+C     CC CC   CC+
+$$$B$$$B$BBB$BBBB'BBBBBBBBBBBBB'BBBBB'BBB''''''''''''''''''''''''''''''                                           C                C
+___H___H_HHH_HHHHXHHHHHHHHHHHHHXHHHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                             
+&&&X&&&X&XXX&XXXXCXXXXXXXXXXXXXCXXXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                             
 ""#"""""#"""""""""""""""""""""-"""""-"--"------------------------"-----XA==I=I==XXXZZ=XZ=M+XZ------MM=MM-MM=-ZZMM"-"MAX--ZZMMMMZM=M"
+CCXCCCCCXCCCCCCCCCCCCCCCCCCCCC.CCCCC.C..C........................+.....                 C C  CCCCCC  C  C  CC    +.+   CC        C +
+BB$BBBBB$BBBBBBBBBBBBBBBBBBBBB'BBBBB'B''B''''''''''''''''''''''''C'''''                                          C'C               C
+HH_HHHHH_HHHHHHHHHHHHHHHHHHHHHXHHHHHXHXXHXXXXXXXXXXXXXXXXXXXXXXXX XXXXX                                           X                 
+XX&XXXXX&XXXXXXXXXXXXXXXXXXXXXCXXXXXCXCCXCCCCCCCCCCCCCCCCCCCCCCCC CCCCC                                           C                 
 #"""""#"""""""""""""""""""""""""""-""--"--"------------"---------------II1+=IA=AZZZZXAZ-++=-----=Z-=++=M=M-M=+"+"--+MXAM--M--ZXX=+==
+XCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC..C..C............+...............                CCCCCCCCCC CCCCC C C CC+C+..C    CC CC   CCCC
+$BBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBB'BB''B''B''''''''''''C'''''''''''''''                                       C C''                 
+_HHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXXHXXHXXXXXXXXXXXX XXXXXXXXXXXXXXX                                          XX                 
+&XXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXCXXCCXCCXCCCCCCCCCCCC CCCCCCCCCCCCCCC                                          CC                 
 """"""""""##"""""""""-"""-"""""""--"--""-------------------"--------""M=+ 1=AA=AZZXIX-=M="==MM-M=-=+==++"-MZM="+---+ZXIXM==-ZIAA===Z
+CCCCCCCCCCXXCCCCCCCCC.CCC.CCCCCCC..C..CC...................+........++               CC C+CC  C CCCCCCCC+C   C+C...C     CCC    CCC 
+BBBBBBBBBB$$BBBBBBBBB'BBB'BBBBBBB''B''BB'''''''''''''''''''C''''''''CC                   C              C     C '''                 
+HHHHHHHHHH__HHHHHHHHHXHHHXHHHHHHHXXHXXHHXXXXXXXXXXXXXXXXXXX XXXXXXXX                                            XXX                 
+XXXXXXXXXX&&XXXXXXXXXCXXXCXXXXXXXCCXCCXXCCCCCCCCCCCCCCCCCCC CCCCCCCC                                            CCC                 
 ###"""""""""#""""""""""""""-""""""""-""-"---------------"-------------Z=  +AXA+IZXI=A-+==+M=-MMMMM++=+-+"M+-Z-=+"--"--X-=++=MA=I=M-X
+XXXCCCCCCCCCXCCCCCCCCCCCCCC.CCCCCCCC.CC.C...............+.............               CCCCC CC     CCCC.C+ CC CCC+..+CC CCCCC    C C 
+$$$BBBBBBBBB$BBBBBBBBBBBBBB'BBBBBBBB'BB'B'''''''''''''''C'''''''''''''                                ' C       C''C                
+___HHHHHHHHH_HHHHHHHHHHHHHHXHHHHHHHHXHHXHXXXXXXXXXXXXXXX XXXXXXXXXXXXX                                X          XX                 
+&&&XXXXXXXXX&XXXXXXXXXXXXXXCXXXXXXXXCXXCXCCCCCCCCCCCCCCC CCCCCCCCCCCCC                                C          CC                 
 #"""""#"""""""""""""""""""""""""""""-""-"-------"-------------------"-II  IXXXXIZZAAXM+M=M=-MM-Z-M+++-"+"+"=ZZZ=+"""M++===++=-IXM--M
+XCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC.C.......+...................+.                C C CC  C C CCC.+C+C+C   CC+++ CCCCCCCCC   CC 
+$BBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB'B'''''''C'''''''''''''''''''C'                               'C C C      CCC                
+_HHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXHXXXXXXX XXXXXXXXXXXXXXXXXXX X                               X                              
+&XXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXCXCCCCCCC CCCCCCCCCCCCCCCCCCC C                               C                              
 #""""""#""""""""""""""-""""""""""""""""""------------------------"----=+-+AZIX-XZ-XAIMM-MM=MM-ZX-=+""""----=-ZZM+"-++"-+M=+++MX-ZX-=
+XCCCCCCXCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCC........................+....        C  C     C  C  C  CCC++++....CC   C+.CC+.C CCCC  C  CC
+$BBBBBB$BBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBB''''''''''''''''''''''''C''''                             CCCC''''      C'  C'             
+_HHHHHH_HHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXX XXXX                                 XXXX       X   X             
+&XXXXXX&XXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCC CCCC                                 CCCC       C   C             
 ##"""#"#""#"#""""#""""""""""""""""""--"----------------------------"-+1+-AIXIXXZZZXIAMMM-=MMZZ-ZZ=+"""---"+=Z-M-M-"=+-"+MM""+-XZXAZ=
+XXCCCXCXCCXCXCCCCXCCCCCCCCCCCCCCCCCC..C............................+.C                  CC    C  CC+++...+CC C C .+CC.+C  ++CC     C
+$$BBB$B$BB$B$BBBB$BBBBBBBBBBBBBBBBBB''B''''''''''''''''''''''''''''C'                              CCC'''C       'C  'C   CC        
+__HHH_H_HH_H_HHHH_HHHHHHHHHHHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX X                                 XXX        X   X              
+&&XXX&X&XX&X&XXXX&XXXXXXXXXXXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                                 CCC        C   C              
 ""-"##"#""#"""""""""""""""""""""""""""""-"---------------------"-----X111XXIXXAXXZI+X===--MMZ-ZZM+""""---+++Z-MM-"=M+"""+==+MZAXXXZM
+CC.CXXCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.....................+.....                CCCCC   C   C++++...CCC C  C+C C+++CCCC        
+BB'B$$B$BB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B'''''''''''''''''''''C'''''                             CCCC'''        C   CCC            
+HHXH__H_HH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXX XXXXX                                 XXX                           
+XXCX&&X&XX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCC CCCCC                                 CCC                           
 #""""#"""""#"""""""""""""""""""""""""""------------------------------+=-=ZA=XZIXXZ=--=Z=M-MZZXXZ-=++""--"++=Z--++"=M+++""=MMXII=AI=X
+XCCCCXCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC..............................               CC C C      CCCC++..+CCC CCCC+C CCC++C          
+$BBBB$BBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBB''''''''''''''''''''''''''''''                               CC''C        C     CC           
+_HHHH_HHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                 XX                            
+&XXXX&XXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                 CC                            
 ##"#""#"""""""""""""""""""""-""""""-"---"---------------------"-----"-=1AZAIXZAXXA+=M-Z+-M=ZX=IZ-M=++=""+M=MZ-=+"++=""""+-ZX=1+1+-+I
+XXCXCCXCCCCCCCCCCCCCCCCCCCCC.CCCCCC.C...C.....................+.....+                C CC C     C CCCC++C C  CCC+CCC++++CC          
+$$B$BB$BBBBBBBBBBBBBBBBBBBBB'BBBBBB'B'''B'''''''''''''''''''''C'''''C                                 CC        C   CCCC            
+__H_HH_HHHHHHHHHHHHHHHHHHHHHXHHHHHHXHXXXHXXXXXXXXXXXXXXXXXXXXX XXXXX                                                                
+&&X&XX&XXXXXXXXXXXXXXXXXXXXXCXXXXXXCXCCCXCCCCCCCCCCCCCCCCCCCCC CCCCC                                                                
 ##"""-""#"###"""""#""""""""""""""""""-"---"-----------------------"-=-==IXZXZ-XZZ=AZMXMMZ=MAZAXXMM+++=+M+Z----=++M++++"+MMZX+1--+-1-
+XXCCC.CCXCXXXCCCCCXCCCCCCCCCCCCCCCCCC.C...C.......................+.C        C           C        CCCCC C CCCCCCC CCCC+C           C
+$$BBB'BB$B$$$BBBBB$BBBBBBBBBBBBBBBBBB'B'''B'''''''''''''''''''''''C'                                                  C             
+__HHHXHH_H___HHHHH_HHHHHHHHHHHHHHHHHHXHXXXHXXXXXXXXXXXXXXXXXXXXXXX X                                                                
+&&XXXCXX&X&&&XXXXX&XXXXXXXXXXXXXXXXXXCXCCCXCCCCCCCCCCCCCCCCCCCCCCC C                                                                
 #""#""""""""#"""""#"""""""""""""""""""------------------------------X+=AAIZZZZXZAIAZZZM-MMZZZZXZM=+====MMZZZX-+++=++++"==MXZ=+=+==X+
+XCCXCCCCCCCCXCCCCCXCCCCCCCCCCCCCCCCCCC..............................                   C         CCCCCC      CCCCCCCCC+CC          C
+$BB$BBBBBBBB$BBBBB$BBBBBBBBBBBBBBBBBBB''''''''''''''''''''''''''''''                                                  C             
+_HH_HHHHHHHH_HHHHH_HHHHHHHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                
+&XX&XXXXXXXX&XXXXX&XXXXXXXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                
 ####""""##""""""""""""""""""""""""""""-""-----------------------"---I=+XAIZZZXXX=AXZZZZZ----ZXAZMMM===+M-XXXZM=+=+++++"+=-AI1IAAI=A-
+XXXXCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC.......................+...                    CCCC       CCCC C     CCCCCCCC+CCC         C
+$$$$BBBB$$BBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB'''''''''''''''''''''''C'''                                                  C             
+____HHHH__HHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXXXXXXXXXXXXXXXXXXXXXXX XXX                                                                
+&&&&XXXX&&XXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXCCCCCCCCCCCCCCCCCCCCCCC CCC                                                                
 ###"#""""""#"#""""""""""""""""""""""---"----------------------------===XXZXXZXAAIXX-ZXAXZX-MZXA--Z-M=++=XAXZ-===M+++==+==XI=1A-Z=II=
+XXXCXCCCCCCXCXCCCCCCCCCCCCCCCCCCCCCC...C............................               C      C    CC C CCCC    CCCC CCCCCCCC     C     
+$$$B$BBBBBB$B$BBBBBBBBBBBBBBBBBBBBBB'''B''''''''''''''''''''''''''''                                                                
+___H_HHHHHH_H_HHHHHHHHHHHHHHHHHHHHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                
+&&&X&XXXXXX&X&XXXXXXXXXXXXXXXXXXXXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                
 ##"###"##"#"""""""""""""""""""""""""+""-"---------------------------I==AAZXX-AAAZZXZ-ZXXX--=XAZMM-Z-M=+-AAX--+++M+MMM==--II=+ZAIX=IX
+XXCXXXCXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C...........................        C       C    CCC     C C CCC   CCCCC C   CCCC           
+$$B$$$B$$B$BBBBBBBBBBBBBBBBBBBBBBBBB BB'B'''''''''''''''''''''''''''                                                                
+__H___H__H_HHHHHHHHHHHHHHHHHHHHHHHHH HHXHXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                
+&&X&&&X&&X&XXXXXXXXXXXXXXXXXXXXXXXXX XXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                
 ###""""""""#"""""""""""""-""-"""-"-"-"-----------------------------"==AXIAAZXIXZXXZZZ-X-ZZZZAAAZ-MZZ--MXZX-M=++MM=MMM=+M-AAAXM-ZM=Z=
+XXXCCCCCCCCXCCCCCCCCCCCCC.CC.CCC.C.C.C.............................+                 C C        C   CC    C CCC  C   CC C     C    C
+$$$BBBBBBBB$BBBBBBBBBBBBB'BB'BBB'B'B'B'''''''''''''''''''''''''''''C                                                                
+___HHHHHHHH_HHHHHHHHHHHHHXHHXHHHXHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                 
+&&&XXXXXXXX&XXXXXXXXXXXXXCXXCXXXCXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                 
 #""""#""#""""""""""""""""-""""-"""""""-------------------------"---=++IXIAXZXAX----ZXXAZZZ-ZAAAXZZZM=MMXZ-M+"+=-M+===++M-AAXZ-ZXXIZM
+XCCCCXCCXCCCCCCCCCCCCCCCC.CCCC.CCCCCCC.........................+...C           CCCC       C         C    C C+CCC CCCCCC C    C      
+$BBBB$BB$BBBBBBBBBBBBBBBB'BBBB'BBBBBBB'''''''''''''''''''''''''C'''                                         C                       
+_HHHH_HH_HHHHHHHHHHHHHHHHXHHHHXHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXX XXX                                                                 
+&XXXX&XX&XXXXXXXXXXXXXXXXCXXXXCXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCC CCC                                                                 
 """""#""""""""""""""""""""""-"""""""---"---------------------------M=+IXXXX-AIX---ZZXAAXZZZXIAXXZ-M-=M-Z-Z=""+M-=MM====--==AZ-X=XXZ-
+CCCCCXCCCCCCCCCCCCCCCCCCCCCC.CCCCCCC...C...........................        C   CCC               C CC C C C++C CC  CCCCCC    C     C
+BBBBB$BBBBBBBBBBBBBBBBBBBBBB'BBBBBBB'''B'''''''''''''''''''''''''''                                        CC                       
+HHHHH_HHHHHHHHHHHHHHHHHHHHHHXHHHHHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                 
+XXXXX&XXXXXXXXXXXXXXXXXXXXXXCXXXXXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                 
 "#""###""#"""""""""""""""""""""-"""""----------------------------"-X==AAXZZZAX---ZZZAAZZXZXIAIXX----=--Z=-+-++MX=====MMZZXA1AZXZZZZM
+CXCCXXXCCXCCCCCCCCCCCCCCCCCCCCC.CCCCC............................+.           CCC               CCCCCCC CCC.CC  CCCCC               
+B$BB$$$BB$BBBBBBBBBBBBBBBBBBBBB'BBBBB''''''''''''''''''''''''''''C'                                        '                        
+H_HH___HH_HHHHHHHHHHHHHHHHHHHHHXHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX X                                        X                        
+X&XX&&&XX&XXXXXXXXXXXXXXXXXXXXXCXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                                        C                        
 ##"""#""""""##""""""""-"""""-"""""""----"--"-------------------"---AI=XXAZZXZZM---ZXAIZXZXXXIAI+AM--MM--==--++M-==+=M-ZZMZZIAZMMM-X-
+XXCCCXCCCCCCXXCCCCCCCC.CCCCC.CCCCCCC....C..C...................+...            CCC                CC  CCCC..CC CCCCC C           C C
+$$BBB$BBBBBB$$BBBBBBBB'BBBBB'BBBBBBB''''B''B'''''''''''''''''''C'''                                       ''                        
+__HHH_HHHHHH__HHHHHHHHXHHHHHXHHHHHHHXXXXHXXHXXXXXXXXXXXXXXXXXXX XXX                                       XX                        
+&&XXX&XXXXXX&&XXXXXXXXCXXXXXCXXXXXXXCCCCXCCXCCCCCCCCCCCCCCCCCCC CCC                                       CC                        
 """#""""""""""#""""""""""-"""""""""""---------------------------"--I==XXIZZXMM--ZZZAAAXAXAXZXA+1Z=MM-M--M+-"++-M++===M---XXXX-M==-ZX
+CCCXCCCCCCCCCCXCCCCCCCCCC.CCCCCCCCCCC...........................+..           CC                 C  C CC C.+CCC CCCCC CCC    C CCC  
+BBB$BBBBBBBBBB$BBBBBBBBBB'BBBBBBBBBBB'''''''''''''''''''''''''''C''                                       'C                        
+HHH_HHHHHHHHHH_HHHHHHHHHHXHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXX XX                                       X                         
+XXX&XXXXXXXXXX&XXXXXXXXXXCXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCC CC                                       C                         
 """#"#""##"#""""""""""""""""""""-"""""-"---------------------------+I=XX=IXX-XZ-ZZZ=AAXAXXZ--X=AXM---MZZM="+""==+====MM-ZX--ZZ-M=MZI
+CCCXCXCCXXCXCCCCCCCCCCCCCCCCCCCC.CCCCC.C...........................         C  C           CC     CCC    C+C++CCCCCCC  C  CC  C C   
+BBB$B$BB$$B$BBBBBBBBBBBBBBBBBBBB'BBBBB'B'''''''''''''''''''''''''''                                       C CC                      
+HHH_H_HH__H_HHHHHHHHHHHHHHHHHHHHXHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                 
+XXX&X&XX&&X&XXXXXXXXXXXXXXXXXXXXCXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                 
 #"""#"##"""""""""#""""""-"""""""""""""-"---------------------------=A+AAAI=AXXX--ZXAXIAIXXXZZZIX----Z-XA-M=++"+=++M=+=MZ--MMM--=M-X=
+XCCCXCXXCCCCCCCCCXCCCCCC.CCCCCCCCCCCCC.C...........................            CC               CCCC C  C CCC+CCCC CCC  CC   CCC C  
+$BBB$B$$BBBBBBBBB$BBBBBB'BBBBBBBBBBBBB'B'''''''''''''''''''''''''''                                          C                      
+_HHH_H__HHHHHHHHH_HHHHHHXHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                 
+&XXX&X&&XXXXXXXXX&XXXXXXCXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                 
 """#"""""#""""""""""-""""""""""""""-""-----------------------------IAIIIIA1XAXXZZAIAIIXAAXAAXZAA--XZZXXIXZX-="==+++===---MMMMM==-ZA1
+CCCXCCCCCXCCCCCCCCCC.CCCCCCCCCCCCCC.CC.............................                             CC         CC+CCCCCCCCCCC     CCC   
+BBB$BBBBB$BBBBBBBBBB'BBBBBBBBBBBBBB'BB'''''''''''''''''''''''''''''                                          C                      
+HHH_HHHHH_HHHHHHHHHHXHHHHHHHHHHHHHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                 
+XXX&XXXXX&XXXXXXXXXXCXXXXXXXXXXXXXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                 
 ""##"#"""#""#""""""""""""""""""""""-"""----------------------"----"AAXI=XX+XZAXZXIIIIIZXXIAAAXAAZ-ZXAII=IXAZM+M=+=+MMMMZ-MM--M=MZZX=
+CCXXCXCCCXCCXCCCCCCCCCCC+CCCCCCCCCC.CCC......................+....+                              C           C CCCC     C  CC C     
+BB$$B$BBB$BB$BBBBBBBBBBBCBBBBBBBBBB'BBB''''''''''''''''''''''C''''C                                                                 
+HH__H_HHH_HH_HHHHHHHHHHH HHHHHHHHHHXHHHXXXXXXXXXXXXXXXXXXXXXX XXXX                                                                  
+XX&&X&XXX&XX&XXXXXXXXXXX XXXXXXXXXXCXXXCCCCCCCCCCCCCCCCCCCCCC CCCC                                                                  
 ""###"##"""""#"""""#"-""-"-"""""-""-------------------------------+XAAIIZX+AX=XZXIIIIIXAA=AAAAAAZXA=++++==AXZMM-MZMMMM-Z-MMMMMM-Z-ZI
+CCXXXCXXCCCCCXCCCCCXC.CC.C.CCCCC.CC...............................C                                            C      C C      C C  
+BB$$$B$$BBBBB$BBBBB$B'BB'B'BBBBB'BB'''''''''''''''''''''''''''''''                                                                  
+HH___H__HHHHH_HHHHH_HXHHXHXHHHHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+XX&&&X&&XXXXX&XXXXX&XCXXCXCXXXXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 #""#"#"#"""""""""""""""""""---"-""-----"--"-----------------------ZAX=AI=AAAAAXZXXXAAAAAA+IAAIAZZX1--11++==AAMZM=Z+=MZZZ-Z-M-Z=M--ZX
+XCCXCXCXCCCCCCCCCCCCCCCCCCC...C.CC.....C..C.......................                                              C CC    C C C C CC  
+$BB$B$B$BBBBBBBBBBBBBBBBBBB'''B'BB'''''B''B'''''''''''''''''''''''                                                                  
+_HH_H_H_HHHHHHHHHHHHHHHHHHHXXXHXHHXXXXXHXXHXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+&XX&X&X&XXXXXXXXXXXXXXXXXXXCCCXCXXCCCCCXCCXCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 """""##"""""""""""""""""""-"""""""""""""-"------------------------+IAIIAIAXIXI=AAIXAIAAXA=I1=AXZXI1-1=+====IX--=MM=M-ZXXXZ--ZM===MZX
+CCCCCXXCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCC.C........................                                           CCC  C C     CC  CCC   
+BBBBB$$BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBB'B''''''''''''''''''''''''                                                                  
+HHHHH__HHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+XXXXX&&XXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 "##"##"""""#""#"""""""""""""""""""""""----------------------------1AAAAIAAAXA=-+IIXAAAAXXII =AXZA=- +======AZMMM===-Z-ZXZ-====++=-ZZ
+CXXCXXCCCCCXCCXCCCCCCCCCCCCCCCCCCCCCCC............................                                              CCCC C   CCCCCCCCC  
+B$$B$$BBBBB$BB$BBBBBBBBBBBBBBBBBBBBBBB''''''''''''''''''''''''''''                                                                  
+H__H__HHHHH_HH_HHHHHHHHHHHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+X&&X&&XXXXX&XX&XXXXXXXXXXXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 #"#"""""""""""#"""""""""-"""""""""""""-"""-----------------------"+XXXIA1AAZII 1IXZX=IIIAII1=XXZI1  +=+II=+AZM--===M--M--=+++++++M--
+XCXCCCCCCCCCCCXCCCCCCCCC.CCCCCCCCCCCCC.CCC.......................+                                            CCCCC CC CCCCCCCCCC CC
+$B$BBBBBBBBBBB$BBBBBBBBB'BBBBBBBBBBBBB'BBB'''''''''''''''''''''''C                                                                  
+_H_HHHHHHHHHHH_HHHHHHHHHXHHHHHHHHHHHHHXHHHXXXXXXXXXXXXXXXXXXXXXXX                                                                   
+&X&XXXXXXXXXXX&XXXXXXXXXCXXXXXXXXXXXXXCXXXCCCCCCCCCCCCCCCCCCCCCCC                                                                   
 ##""#""#""#"""""""""""""""-"-""--"""-----------------------------"=XMZXA1XZ-ZX 1AXXZIIIAXA=+=IZX=1  1+ =I==A-ZZ-=+=M-Z==M=+++"+=++++
+XXCCXCCXCCXCCCCCCCCCCCCCCC.C.CC..CCC.............................+         C                                C  CCCC C CC CCCC+CCCCCC
+$$BB$BB$BB$BBBBBBBBBBBBBBB'B'BB''BBB'''''''''''''''''''''''''''''C                                                           C      
+__HH_HH_HH_HHHHHHHHHHHHHHHXHXHHXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                   
+&&XX&XX&XX&XXXXXXXXXXXXXXXCXCXXCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                   
 "#""""#"##"""""""""-""""""-""""""""--"""-------------------------"=XZXAXIAZZZX==XIIXAXXXZXI=AXXA=+  1- +I=IZZZZM+=+=MM+=MM=++"+++"++
+CXCCCCXCXXCCCCCCCCC.CCCCCC.CCCCCCCC..CCC.........................+                                              CCCC  CC  CCC+CCC+CC
+B$BBBB$B$$BBBBBBBBB'BBBBBB'BBBBBBBB''BBB'''''''''''''''''''''''''C                                                           C   C  
+H_HHHH_H__HHHHHHHHHXHHHHHHXHHHHHHHHXXHHHXXXXXXXXXXXXXXXXXXXXXXXXX                                                                   
+X&XXXX&X&&XXXXXXXXXCXXXXXXCXXXXXXXXCCXXXCCCCCCCCCCCCCCCCCCCCCCCCC                                                                   
 """""""""""""""""""""""""""""""""""--"--"-------------------------IXZZ+A=ZXZZX=IXI=IAZXZXII=AXAA=1  1---=IXZ-MMM++++++++==M=+""+""==
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..C..C.........................                                          C   CCCCCCCCCC CC++C++CC
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''B''B'''''''''''''''''''''''''                                                           CC CC  
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHXXHXXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 """"""""""""-"""""-""""""""""""""--"---"--------------------------IZZX+A=XXIZX=XAA==X-XZZI==AAAXI+--+--1+=Z-==MM+++===-==+===+++++=M
+CCCCCCCCCCCC.CCCCC.CCCCCCCCCCCCCC..C...C..........................                   C                     CCC  CCCCCCCCCCCCCCCCCCC 
+BBBBBBBBBBBB'BBBBB'BBBBBBBBBBBBBB''B'''B''''''''''''''''''''''''''                                                                  
+HHHHHHHHHHHHXHHHHHXHHHHHHHHHHHHHHXXHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+XXXXXXXXXXXXCXXXXXCXXXXXXXXXXXXXXCCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 #""""#"""#""""""""""""""""-"""-""-""-------"----------------------IMMZ+=1IAAZZXXXAAAX-ZXX=+=IAAX=11--1-1+=XM++M-+=+=MZZZM=+=M==+++=M
+XCCCCXCCCXCCCCCCCCCCCCCCCC.CCC.CC.CC.......C......................                   C                      CC CCCCC     CCC CCCCCC 
+$BBBB$BBB$BBBBBBBBBBBBBBBB'BBB'BB'BB'''''''B''''''''''''''''''''''                                                                  
+_HHHH_HHH_HHHHHHHHHHHHHHHHXHHHXHHXHHXXXXXXXHXXXXXXXXXXXXXXXXXXXXXX                                                                  
+&XXXX&XXX&XXXXXXXXXXXXXXXXCXXXCXXCXXCCCCCCCXCCCCCCCCCCCCCCCCCCCCCC                                                                  
 "#""#""""#"#"""""""""""""""""""""--""-"-"-------------------------=-MMI=1AIXZZXXZ-=IAZAAXX=IAAZZ+=+1+111+=AM"+==++++MZZX--MMMM==-=MM
+CXCCXCCCCXCXCCCCCCCCCCCCCCCCCCCCC..CC.C.+......................... C             C                          +CCCCCCC    CC    CCCC  
+B$BB$BBBB$B$BBBBBBBBBBBBBBBBBBBBB''BB'B'C'''''''''''''''''''''''''                                          C                       
+H_HH_HHHH_H_HHHHHHHHHHHHHHHHHHHHHXXHHXHX XXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+X&XX&XXXX&X&XXXXXXXXXXXXXXXXXXXXXCCXXCXC CCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 "#""""""""""""""""""""""""""""""""-""----------------------------"=-="X==AAXXXZZZM==IXXXIX=IZZ-ZAZII=++1=XZ="=M+++++=M-Z-M--M===M=M-
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC............................+ CC+                        C            C+C CCCCCC C C CC CCC C C
+B$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB''''''''''''''''''''''''''''C   C                                      C                       
+H_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                   
+X&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                   
 """"#""""""""""""""""""""""""-""""-"""-"""------------------------=M+-Z=IXZZZZZZXXIXXXXZAZIA-M-M-MXZA===ZM=""=-=+++++=MM=MMMM+++==-X
+CCCCXCCCCCCCCCCCCCCCCCCCCCCCC.CCCC.CCC.CCC........................  C.                      C C C         C++CCCCCCCCC  C    CCCCCC 
+BBBB$BBBBBBBBBBBBBBBBBBBBBBBB'BBBB'BBB'BBB''''''''''''''''''''''''   '                                     CC                       
+HHHH_HHHHHHHHHHHHHHHHHHHHHHHHXHHHHXHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXX   X                                                              
+XXXX&XXXXXXXXXXXXXXXXXXXXXXXXCXXXXCXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCC   C                                                              
 """""""""""--"""""""""""-"-""""""""-"--"-------------------------"=-"-+++Z-ZMZZXAXXZZZX=ZZXI-=MMMMM--ZXA=+"+++-M=+++++=++=MMM+++=M-Z
+CCCCCCCCCCC..CCCCCCCCCCC.C.CCCCCCCC.C..C.........................+ C+.C   C                 CC     CC   CC+CCCC CCCCCCCCCC   CCCC C 
+BBBBBBBBBBB''BBBBBBBBBBB'B'BBBBBBBB'B''B'''''''''''''''''''''''''C  C'                                    C                         
+HHHHHHHHHHHXXHHHHHHHHHHHXHXHHHHHHHHXHXXHXXXXXXXXXXXXXXXXXXXXXXXXX    X                                                              
+XXXXXXXXXXXCCXXXXXXXXXXXCXCXXXXXXXXCXCCXCCCCCCCCCCCCCCCCCCCCCCCCC    C                                                              
 #"#"""""""#""""""""""""-"""""""""""""-"---------------------------=I+-"+AZ-Z--ZXXXZ----Z--XXM=-=MZ=MM===+"-"+=-=M======="+=MM=+==MMM
+XCXCCCCCCCXCCCCCCCCCCCC.CCCCCCCCCCCCC.C...........................  C.+   C CC     CCCC CC   CCC  C  CCCC+.+CCCC CCCCCCC+CC  CCCC   
+$B$BBBBBBB$BBBBBBBBBBBB'BBBBBBBBBBBBB'B'''''''''''''''''''''''''''   'C                                  C'C            C           
+_H_HHHHHHH_HHHHHHHHHHHHXHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXX   X                                    X                         
+&X&XXXXXXX&XXXXXXXXXXXXCXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC   C                                    C                         
 """"#""""#""""""""""""""-"""""""""""""---------------------------"+I=++AAZZAZZXAXZXZ-MMZZ-ZZ=--=MZ-==++"-"-"+-Z-XZ-=MZM=+--M==+=M---
+CCCCXCCCCXCCCCCCCCCCCCCC.CCCCCCCCCCCCC...........................+  CCC             C    C  CCCC  CCCCC+C+.+CC C  CC   CCCC CCCC CCC
+BBBB$BBBB$BBBBBBBBBBBBBB'BBBBBBBBBBBBB'''''''''''''''''''''''''''C                                     C C'C                        
+HHHH_HHHH_HHHHHHHHHHHHHHXHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXX                                         X                         
+XXXX&XXXX&XXXXXXXXXXXXXXCXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCC                                         C                         
 ###"#"""##""""""""#"""""""""""""""-"-""""--"----------------------=IMMM-IZZXZZAAZ-AZ-MX-X--M=Z-MZ--MM="+=""+=--AIA-=M--M=MM==++=M-ZA
+XXXCXCCCXXCCCCCCCCXCCCCCCCCCCCCCCC.C.CCCC..C......................     C         C  C  C CC C C  CC  C+CC++CCCC   CC CC C  CCCCC C  
+$$$B$BBB$$BBBBBBBB$BBBBBBBBBBBBBBB'B'BBBB''B''''''''''''''''''''''                                    C  CC                         
+___H_HHH__HHHHHHHH_HHHHHHHHHHHHHHHXHXHHHHXXHXXXXXXXXXXXXXXXXXXXXXX                                                                  
+&&&X&XXX&&XXXXXXXX&XXXXXXXXXXXXXXXCXCXXXXCCXCCCCCCCCCCCCCCCCCCCCCC                                                                  
 #"""#""####""#"-"""""""""""""""-""-"-"-"------"-----------------""==MMMMI-AAZZ=XXZXXM--MZ--+M-MZ+-M=M="+""==MM-=AZZ-MM--===MM+++=MZX
+XCCCXCCXXXXCCXC.CCCCCCCCCCCCCCC.CC.C.C.C......C.................++       C           CC  CCC C   C C C+C++CC  C    C  CCCCC  CCCC   
+$BBB$BB$$$$BB$B'BBBBBBBBBBBBBBB'BB'B'B'B''''''B'''''''''''''''''CC                                    C CC                          
+_HHH_HH____HH_HXHHHHHHHHHHHHHHHXHHXHXHXHXXXXXXHXXXXXXXXXXXXXXXXX                                                                    
+&XXX&XX&&&&XX&XCXXXXXXXXXXXXXXXCXXCXCXCXCCCCCCXCCCCCCCCCCCCCCCCC                                                                    
 #""""""##""#""""""""""""""""""""-"""""--"-""-----"----------------I=-M-+AAAIXX=XIAAX-Z--ZZM=-Z-ZXMM+-M++++-M-ZZAXXZZMMMZ-M=======-Z-
+XCCCCCCXXCCXCCCCCCCCCCCCCCCCCCCC.CCCCC..C.CC.....C................  C CC            C CC   CC C    CC CCCCC C           C CCCCCCCC C
+$BBBBBB$$BB$BBBBBBBBBBBBBBBBBBBB'BBBBB''B'BB'''''B''''''''''''''''                                                                  
+_HHHHHH__HH_HHHHHHHHHHHHHHHHHHHHXHHHHHXXHXHHXXXXXHXXXXXXXXXXXXXXXX                                                                  
+&XXXXXX&&XX&XXXXXXXXXXXXXXXXXXXXCXXXXXCCXCXXCCCCCXCCCCCCCCCCCCCCCC                                                                  
 ""##"""""#"""""""""""""""""-"""""""""""-"-"-----------------------AIMMZ+AAAIAA+AIXXX-XZ=XZM=-X--ZMM+-=+=M-ZZZZXAAXXZ--M---+++==M-ZZM
+CCXXCCCCCXCCCCCCCCCCCCCCCCC.CCCCCCCCCCC.C.C.......................     C            C  C   CC CC   CCCCC C          CC CCCCCCCC C   
+BB$$BBBBB$BBBBBBBBBBBBBBBBB'BBBBBBBBBBB'B'B'''''''''''''''''''''''                                                                  
+HH__HHHHH_HHHHHHHHHHHHHHHHHXHHHHHHHHHHHXHXHXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+XX&&XXXXX&XXXXXXXXXXXXXXXXXCXXXXXXXXXXXCXCXCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 ""#"#""#"##"""""""""-""""""""""""""""""-"----"--------------------AAMMZ-ZXZ=XXAIIXAAXXXZZZ-MAZ--Z-MMX=+=MZXAAXAAAXZZ-Z-MM==++=MMMZ-=
+CCXCXCCXCXXCCCCCCCCC.CCCCCCCCCCCCCCCCCC.C....C....................     C                  C   CC C   CCC            C C  CCCCC    CC
+BB$B$BB$B$$BBBBBBBBB'BBBBBBBBBBBBBBBBBB'B''''B''''''''''''''''''''                                                                  
+HH_H_HH_H__HHHHHHHHHXHHHHHHHHHHHHHHHHHHXHXXXXHXXXXXXXXXXXXXXXXXXXX                                                                  
+XX&X&XX&X&&XXXXXXXXXCXXXXXXXXXXXXXXXXXXCXCCCCXCCCCCCCCCCCCCCCCCCCC                                                                  
 "#"#""""""""""""""""""""""""""-"""""""""-"""-"--------------------IX-MZM-ZX+XAXIAXA=XAX=--MZAA-ZM-MZZM+=ZAXAAAIIAXZXZZ-===M=+=MMMMMM
+CXCXCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCC.CCC.C....................  C   C               CC    C  C    CC              CCCC CCC      
+B$B$BBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBB'BBB'B''''''''''''''''''''                                                                  
+H_H_HHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHXHHHXHXXXXXXXXXXXXXXXXXXXX                                                                  
+X&X&XXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXCXXXCXCCCCCCCCCCCCCCCCCCCC                                                                  
 ""#"#""""#""""""-"""""""""""""-"""-""-"-"-------------------------IAM=MM-ZX=XI-IIX==XXX=Z---XX+I-Z-M-=+MMZXAA=IIXXZZZZ--==-M+MM---M=
+CCXCXCCCCXCCCCCC.CCCCCCCCCCCCC.CCC.CC.C.C.........................   C  C     C          CCC    C C CCC               CCCCC C  CCC C
+BB$B$BBBB$BBBBBB'BBBBBBBBBBBBB'BBB'BB'B'B'''''''''''''''''''''''''                                                                  
+HH_H_HHHH_HHHHHHXHHHHHHHHHHHHHXHHHXHHXHXHXXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+XX&X&XXXX&XXXXXXCXXXXXXXXXXXXXCXXXCXXCXCXCCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 #"#"""""""#""""""""""""""""""""""""""----"----------------------"#ZX-"MM-XZAA=-ZZXAXZ-A=ZZMZXX1+XAMMM=+=M-AAAI==AAXZ---MMM-M-M==M-M=
+XCXCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC....C......................CX  C+  C     C      C               CCC C          CCC   C C CC C C
+$B$BBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBB''''B''''''''''''''''''''''B$   C                                                              
+_H_HHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHXXXXHXXXXXXXXXXXXXXXXXXXXXXH_                                                                  
+&X&XXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXCCCCXCCCCCCCCCCCCCCCCCCCCCCX&                                                                  
 #"#"""#"""#""""#"""#"#"""""""""""""--""""""-----------------------MZ="MM--ZXI=ZZZZAXZZAXXA-XZA+-XZZZ-MMM=-AAAA+=IAXZ-MZMMMM--M======
+XCXCCCXCCCXCCCCXCCCXCXCCCCCCCCCCCCC..CCCCCC.......................  C+  CC                C         C   CC          C      CC CCCCCC
+$B$BBB$BBB$BBBB$BBB$B$BBBBBBBBBBBBB''BBBBBB'''''''''''''''''''''''   C                                                              
+_H_HHH_HHH_HHHH_HHH_H_HHHHHHHHHHHHHXXHHHHHHXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+&X&XXX&XXX&XXXX&XXX&X&XXXXXXXXXXXXXCCXXXXXXCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 "###""""""#""""""""-"""""""--"""""""-"-----"----"------------"--"--M+"M-MZZZ=1XX-ZXXAA1AZA=AZIA+XXAAXI-Z=-XXAX=IIAAZ-M-M=MMMM==M=+++
+CXXXCCCCCCXCCCCCCCC.CCCCCCC..CCCCCCC.C.....C....C............+..+.. C+ C        C                     C CC          C C C    CC CCCC
+B$$$BBBBBB$BBBBBBBB'BBBBBBB''BBBBBBB'B'''''B''''B''''''''''''C''C''  C                                                              
+H___HHHHHH_HHHHHHHHXHHHHHHHXXHHHHHHHXHXXXXXHXXXXHXXXXXXXXXXXX XX XX                                                                 
+X&&&XXXXXX&XXXXXXXXCXXXXXXXCCXXXXXXXCXCCCCCXCCCCXCCCCCCCCCCCC CC CC                                                                 
 """"""""""""""""""""""-""""""""""""--"-"-"------------------------"=++-=-IAAIAXXXAAZXA=AIZAAA==MI1=AMZX-=ZAZZXAIXXXZ-M-MMMMM===M==+=
+CCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCC..C.C.C........................+CCCCCC                     C        CC           C C     CCC CCCC
+BBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBB''B'B'B''''''''''''''''''''''''C                                                                 
+HHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHXXHXHXHXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+XXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXCCXCXCXCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 """"""#""""""#"""""""""""""""-"""""""""---------------------------"M+=-+=AAAXZXZZAAZAXXZ=M-AII"=ZXIAZZZM+-XM-ZXXZ------MMM===MM===++
+CCCCCCXCCCCCCXCCCCCCCCCCCCCCC.CCCCCCCCC...........................+ CCCCC                 C   +C        CC  C    CCCCCC   CCC  CCCCC
+BBBBBB$BBBBBB$BBBBBBBBBBBBBBB'BBBBBBBBB'''''''''''''''''''''''''''C                           C                                     
+HHHHHH_HHHHHH_HHHHHHHHHHHHHHHXHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                  
+XXXXXX&XXXXXX&XXXXXXXXXXXXXXXCXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                  
 "#""""""#"""""""""""""""""""""""-""""""-----------------------------"+M"MAAXAZAMZ-ZZZ--X+--X=++-=+ZXAA-=+M-MM-ZZ-==Z--M--++++M---===
+CXCCCCCCXCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC............................C+C +         C   CC  CC   CCCC    CCC C  C  CCC CC CCCCCC CCCCCC
+B$BBBBBB$BBBBBBBBBBBBBBBBBBBBBBB'BBBBBB'''''''''''''''''''''''''''' C  C                                                            
+H_HHHHHH_HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                 
+X&XXXXXX&XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                 
 """""""""#""#"""""""""-""""""""""""""-"-"------------"----------------"--==AZ-ZM-Z-XMM-=XAIXI1ZX-"MXAIZ==XZ===--M==Z---Z-++=+=-XZ-MM
+CCCCCCCCCXCCXCCCCCCCCC.CC+CCCCCCCCCCC.C.C............+.............C..+.C    C  C C   CC        C+     CC  CCCCC CC CCC CCCCCCC  C  
+BBBBBBBBB$BB$BBBBBBBBB'BBCBBBBBBBBBBB'B'B''''''''''''C''''''''''''' ''C'                         C                                  
+HHHHHHHHH_HH_HHHHHHHHHXHH HHHHHHHHHHHXHXHXXXXXXXXXXXX XXXXXXXXXXXXX XX X                                                            
+XXXXXXXXX&XX&XXXXXXXXXCXX XXXXXXXXXXXCXCXCCCCCCCCCCCC CCCCCCCCCCCCC CC C                                                            
 #"""""""""""""""""""""-""""-"-""""""----""-------"-----"-----------=--"-=X=XZ-=MMIZXXAZ+XAX=-A--X+MX=+XM==I==--M=====M-M=++===-Z--MM
+XCCCCCCCCCCCCCCCCCCCCC.CCCC.C.CCCCCC....CC.......C.....+...........C..+.C    C         C   CC CC C      C  CCCC CCCCC C CCCCCCC CC  
+$BBBBBBBBBBBBBBBBBBBBB'BBBB'B'BBBBBB''''BB'''''''B'''''C''''''''''' ''C'                                                            
+_HHHHHHHHHHHHHHHHHHHHHXHHHHXHXHHHHHHXXXXHHXXXXXXXHXXXXX XXXXXXXXXXX XX X                                                            
+&XXXXXXXXXXXXXXXXXXXXXCXXXXCXCXXXXXXCCCCXXCCCCCCCXCCCCC CCCCCCCCCCC CC C                                                            
 "#""""""""#""""""""""""""""""""""""""--"--------------------------"+-""-MZZXAM=Z-XAAXXMZAM+"=+"+AM-ZI=ZMM++M=M--++===--=+==++=------
+CXCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC..C..........................+C.C+.        C         C+CC+C  C         C CCCCCCCCCCCCCCCCCCCCCC
+B$BBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBB''B''''''''''''''''''''''''''C 'BC'                   C  C                                     
+H_HHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXX  XH X                                                            
+X&XXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCC  CX C                                                            
 "##"##"""""#"""""""""""""""""-"""""""""--""------------------------"-"+-+--XAZX-=MXX===MAZ"-Z=-"MIAAAIZMX=+Z=+M-=+-M=MM++==++=-X----
+CXXCXXCCCCCXCCCCCCCCCCCCCCCCC.CCCCCCCCC..CC........................+.CC.CCC    CC   C C   +. C.+            CC CCCC C  CCCCCCCC CCCC
+B$$B$$BBBBB$BBBBBBBBBBBBBBBBB'BBBBBBBBB''BB''''''''''''''''''''''''C'B '                  C'  'C                                    
+H__H__HHHHH_HHHHHHHHHHHHHHHHHXHHHHHHHHHXXHHXXXXXXXXXXXXXXXXXXXXXXXX XH X                   X  X                                     
+X&&X&&XXXXX&XXXXXXXXXXXXXXXXXCXXXXXXXXXCCXXCCCCCCCCCCCCCCCCCCCCCCCC CX C                   C  C                                     
 ""-"##"""-"""""""""""""""""-"-""""-"-"-"--------------"-----------"-""+-"-XIIX+Z-MAAZA=-=Z--=-""=X==+I-ZIIIXM==M=+=+==M=+==++=MZ---X
+CC.CXXCCC.CCCCCCCCCCCCCCCCC.C.CCCC.C.C.C..............+...........+.CCC.+C    C C     CC  .. C++C C   C      CC CCCCCC CCCCCCC  CCC 
+BB'B$$BBB'BBBBBBBBBBBBBBBBB'B'BBBB'B'B'B''''''''''''''C'''''''''''C'BB 'C                 ''  CC                                    
+HHXH__HHHXHHHHHHHHHHHHHHHHHXHXHHHHXHXHXHXXXXXXXXXXXXXX XXXXXXXXXXX XHH X                  XX                                        
+XXCX&&XXXCXXXXXXXXXXXXXXXXXCXCXXXXCXCXCXCCCCCCCCCCCCCC CCCCCCCCCCC CXX C                  CC                                        
 """"""""""#"""""""""""""-""""-"-"--""-"---"--------------------------"="MZXXAZ+--ZXXXIXMAZ+M+--"+="-AA=XIIXZMM===+++=MM=====MM-X----
+CCCCCCCCCCXCCCCCCCCCCCCC.CCCC.C.C..CC.C...C..........................CC+      CCC         C  C.+CC+C  C       CCCCCCC  CCCCC  C CCCC
+BBBBBBBBBB$BBBBBBBBBBBBB'BBBB'B'B''BB'B'''B''''''''''''''''''''''''''B C                      'C  C                                 
+HHHHHHHHHH_HHHHHHHHHHHHHXHHHHXHXHXXHHXHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXH                        X                                     
+XXXXXXXXXX&XXXXXXXXXXXXXCXXXXCXCXCCXXCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCX                        C                                     
 """""""#"""""""""""""""""""---"-"-""--"-----------------------------"-+=ZIXII-=ZZ-XAXIAZAI==IZ--""+=ZI+MAAZ-MAMM=+===M-MMMMMMMMZ--MM
+CCCCCCCXCCCCCCCCCCCCCCCCCCC...C.C.CC..C.............................+.CC     CC  C        C   ..++CC  C    C    CCCCC C         CC  
+BBBBBBB$BBBBBBBBBBBBBBBBBBB'''B'B'BB''B'''''''''''''''''''''''''''''C'                        ''CC                                  
+HHHHHHH_HHHHHHHHHHHHHHHHHHHXXXHXHXHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X                        XX                                    
+XXXXXXX&XXXXXXXXXXXXXXXXXXXCCCXCXCXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                        CC                                    
 """"##"#""""""""""""""""""-"--"""""---"--"--------------------------"-"=M=XA+--Z-M-XXX+IAX-ZXM-"""=-ZIMMIXZ=MXZM=++=+=M--==M===M=M==
+CCCCXXCXCCCCCCCCCCCCCCCCCC.C..CCCCC...C..C..........................+.+C     CC C C       C   .+++CC       C    CCCCCC CCCC CCC C CC
+BBBB$$B$BBBBBBBBBBBBBBBBBB'B''BBBBB'''B''B''''''''''''''''''''''''''C'C                       'CCC                                  
+HHHH__H_HHHHHHHHHHHHHHHHHHXHXXHHHHHXXXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXX X                        X                                     
+XXXX&&X&XXXXXXXXXXXXXXXXXXCXCCXXXXXCCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCC C                        C                                     
 "##"""#"""""""""--"""""-"-""""-"--"""-----"--"-----------------------"-M+ZIA=AX--M+MXA+A=ZM"-M""""=1==Z=XAZ+++++""=M++=Z-=====++==M=
+CXXCCCXCCCCCCCCC..CCCCC.C.CCCC.C..CCC.....C..C.......................C. C      CC C        +C ++++C    C   CCCCC++C CCC CCCCCCCCCC C
+B$$BBB$BBBBBBBBB''BBBBB'B'BBBB'B''BBB'''''B''B'''''''''''''''''''''''B'                    C  CCCC              CC                  
+H__HHH_HHHHHHHHHXXHHHHHXHXHHHHXHXXHHHXXXXXHXXHXXXXXXXXXXXXXXXXXXXXXXXHX                                                             
+X&&XXX&XXXXXXXXXCCXXXXXCXCXXXXCXCCXXXCCCCCXCCXCCCCCCCCCCCCCCCCCCCCCCCXC                                                             
 """#""""""""""#""""""""""-"""""-"""-"---"---------------------------"""Z=ZIAAZZ-ZM-"Z1IAI-++-X+"-"=+-IM+XA=="-""+"=Z=+=Z-===M=+"+==+
+CCCXCCCCCCCCCCXCCCCCCCCCC.CCCCC.CCC.C...C...........................+CC C      C  C+       CC C+.+C    C  CC+.++C+C CCC CCCC CC+CCCC
+BBB$BBBBBBBBBB$BBBBBBBBBB'BBBBB'BBB'B'''B'''''''''''''''''''''''''''CBB            C           C'C          C'CC C             C    
+HHH_HHHHHHHHHH_HHHHHHHHHHXHHHHHXHHHXHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXX HH                         X            X                      
+XXX&XXXXXXXXXX&XXXXXXXXXXCXXXXXCXXXCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC XX                         C            C                      
 "#"""""""""""""""""""""""""""""-"""-----"-------------------------------MZI=XZZX--M"+AA=+-+-M=Z="+M+ A+MZX==+---""+I-+=M-MM==++""=++
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC.....C..............................C        CC +C      C   C+C    C   CCC...++C CCC C  CCCC++CCC
+B$BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB'''''B''''''''''''''''''''''''''''''            C            C            '''CC             CC   
+H_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                      XXX                    
+X&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                      CCC                    
 "#"#""""""""#""""""""""""-""""-""""""--"-----------------------------""=MZA1XZXX-++M-ZA===IZM=A+++=  A==-=Z-M+-+-"-=Z++++==+++++"+"+
+CXCXCCCCCCCCXCCCCCCCCCCCC.CCCC.CCCCCC..C.............................++C        CCC .          CCCC   CCC  C C.C.+C  CCCCCCCCCCC+C+C
+B$B$BBBBBBBB$BBBBBBBBBBBB'BBBB'BBBBBB''B'''''''''''''''''''''''''''''CC             '                         ' 'C              C C 
+H_H_HHHHHHHH_HHHHHHHHHHHHXHHHHXHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX               X                         X X                   
+X&X&XXXXXXXX&XXXXXXXXXXXXCXXXXCXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC               C                         C C                   
 """""-"""##""""""""""""""-"-"""-"-"-"--"-----------------------------"=+MZZ=ZZXXX====ZAI-====A=+=M-- A-+-AXXXA"=""A+IZ=+"++"""++""""
+CCCCC.CCCXXCCCCCCCCCCCCCC.C.CCC.C.C.C..C.............................+CC         CCCC   C   C  CC C   CCC     +C++    CC+CC+++CC++++
+BBBBB'BBB$$BBBBBBBBBBBBBB'B'BBB'B'B'B''B'''''''''''''''''''''''''''''C                                        C CC      C  CCC  CCCC
+HHHHHXHHH__HHHHHHHHHHHHHHXHXHHHXHXHXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                               
+XXXXXCXXX&&XXXXXXXXXXXXXXCXCXXXCXCXCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                               
 "#"""""""""""""""""""""-""---"""-"""--"------------------------------""+MZAA-MZI=ZX=X1XA-1A=ZZI=XM-A+=Z-MMMZXZ-ZZ-==A1I-==+"+=+++"++
+CXCCCCCCCCCCCCCCCCCCCCC.CC...CCC.CCC..C..............................++C    C      C    C      C  C    C      C  C     CCCC+CCCCC+CC
+B$BBBBBBBBBBBBBBBBBBBBB'BB'''BBB'BBB''B''''''''''''''''''''''''''''''CC                                                    C     C  
+H_HHHHHHHHHHHHHHHHHHHHHXHHXXXHHHXHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                               
+X&XXXXXXXXXXXXXXXXXXXXXCXXCCCXXXCXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                               
 ##"##"""#"#"""""""-"""""-"""""""-"""----------------------------------"-=A=I=MM=+XZM--IX-=MA==IXMX=A==XXMMM-AZXXXZ+=I1+X--M""=++++++
+XXCXXCCCXCXCCCCCCC.CCCCC.CCCCCCC.CCC..................................+.C           C   C                  C            CC ++CCCCCCC
+$$B$$BBB$B$BBBBBBB'BBBBB'BBBBBBB'BBB''''''''''''''''''''''''''''''''''C'                                                   CC       
+__H__HHH_H_HHHHHHHXHHHHHXHHHHHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X                                                            
+&&X&&XXX&X&XXXXXXXCXXXXXCXXXXXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                                                            
 #"""#"###"""""""""-"""""""""""""--"-"--"-"-"--------------------------""+AI=1XM1 AX-Z++=+=MA=I=1-Z====XZZAAZXXAAXZII===Z-AI-=+""+""+
+XCCCXCXXXCCCCCCCCC.CCCCCCCCCCCCC..C.C..C.C.C..........................+CC          C            C                       C  CCC++C++C
+$BBB$B$$$BBBBBBBBB'BBBBBBBBBBBBB''B'B''B'B'B''''''''''''''''''''''''''CB                                                      CC CC 
+_HHH_H___HHHHHHHHHXHHHHHHHHHHHHHXXHXHXXHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXX H                                                            
+&XXX&X&&&XXXXXXXXXCXXXXXXXXXXXXXCCXCXCCXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCC X                                                            
 ""#"##""""#"#"""-"""""""""-""""--"--""""------------------------""""""M-+AZI+=AI ==ZX=I- +ZZAX=A=MAIA=X+XAZZZXXXXXXXIIIZ+X1IZ"-"+""+
+CCXCXXCCCCXCXCCC.CCCCCCCCC.CCCC..C..CCCC........................++++++ .C                     C        C                C    +.+C++C
+BB$B$$BBBB$B$BBB'BBBBBBBBB'BBBB''B''BBBB''''''''''''''''''''''''CCCCCC '                                                     C'C CC 
+HH_H__HHHH_H_HHHXHHHHHHHHHXHHHHXXHXXHHHHXXXXXXXXXXXXXXXXXXXXXXXX       X                                                      X     
+XX&X&&XXXX&X&XXXCXXXXXXXXXCXXXXCCXCCXXXXCCCCCCCCCCCCCCCCCCCCCCCC       C                                                      C     
 ###"""#"-"#"""""""""""""-"-"-"""""-"----"-"----"--------------------""=+=IZA=+AA-AAII=I  -=A==+"MAXA=IZZI-"+AAAZ+AXAXXAZ-X==A-+""+++
+XXXCCCXC.CXCCCCCCCCCCCCC.C.C.CCCCC.C....C.C....C....................++CCC                C    C+         C+C            C    CC++CCC
+$$$BBB$B'B$BBBBBBBBBBBBB'B'B'BBBBB'B''''B'B''''B''''''''''''''''''''CC                         C          C                    CC   
+___HHH_HXH_HHHHHHHHHHHHHXHXHXHHHHHXHXXXXHXHXXXXHXXXXXXXXXXXXXXXXXXXX                                                                
+&&&XXX&XCX&XXXXXXXXXXXXXCXCXCXXXXXCXCCCCXCXCCCCXCCCCCCCCCCCCCCCCCCCC                                                                
 ""#"""#""""""""""""-""""-""-"""-"--------"----------------------------"--AZII1IA=AZA+=+  =ZI==-"-XAM=IXZIZ"-XXZ-AAAAZMZZZXXAAIX+-"++
+CCXCCCXCCCCCCCCCCCC.CCCC.CC.CCC.C........C............................+CC                C    C+.         +.   C               C.+CC
+BB$BBB$BBBBBBBBBBBB'BBBB'BB'BBB'B''''''''B''''''''''''''''''''''''''''C                        C'         C'                    'C  
+HH_HHH_HHHHHHHHHHHHXHHHHXHHXHHHXHXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX                          X          X                    X   
+XX&XXX&XXXXXXXXXXXXCXXXXCXXCXXXCXCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC                          C          C                    C   
 ""#""#""""##""""""""""""--"""-"-""-"""--"---"--------------------------Z-XXI=++IIIZXA-1+1Z-ZX=I---AZ+=IIXAM+IAMMAXAA-M-ZZAXZZ==-""++
+CCXCCXCCCCXXCCCCCCCCCCCC..CCC.C.CC.CCC..C...C.......................... C                 C    C.C         C        C C        C++CC
+BB$BB$BBBB$$BBBBBBBBBBBB''BBB'B'BB'BBB''B'''B''''''''''''''''''''''''''                         '                               CC  
+HH_HH_HHHH__HHHHHHHHHHHHXXHHHXHXHHXHHHXXHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXX                         X                                   
+XX&XX&XXXX&&XXXXXXXXXXXXCCXXXCXCXXCXXXCCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC                         C                                   
 "###"""#""""-""""""""""""""-"-""-"--""---"-----------------------------ZMXAA=1 +=IAI=- AM1++M==I""XZ--AI=ZAXAMMMZAXZZ-XZXXZZXIIA-MZ-
+CXXXCCCXCCCC.CCCCCCCCCCCCCC.C.CC.C..CC...C.............................                    C    ++  CC               C          C  C
+B$$$BBB$BBBB'BBBBBBBBBBBBBB'B'BB'B''BB'''B'''''''''''''''''''''''''''''                         CC                                  
+H___HHH_HHHHXHHHHHHHHHHHHHHXHXHHXHXXHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                             
+X&&&XXX&XXXXCXXXXXXXXXXXXXXCXCXXCXCCXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                             
 "##""#"#""""""""""""""""""""""""""---""-"------------------------------MMXIAI  ==IAAI- -"-A"MZII+-AA-Z=XIZZZZ=A-ZXX--Z-AXIXA=AAXXXAX
+CXXCCXCXCCCCCCCCCCCCCCCCCCCCCCCCCC...CC.C..............................                C+C +    C.  C          C   CC C             
+B$$BB$B$BBBBBBBBBBBBBBBBBBBBBBBBBB'''BB'B''''''''''''''''''''''''''''''                 C  C     '                                  
+H__HH_H_HHHHHHHHHHHHHHHHHHHHHHHHHHXXXHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                          X                                  
+X&&XX&X&XXXXXXXXXXXXXXXXXXXXXXXXXXCCCXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                          C                                  
 "##""####"""""#"""""""""-""""""""--"-""-------------------------"------"--IAI+1+=IAXA11-"+AM-"M-+"ZA-XIZXIXXXA=ZZXA-M-ZAXAXZXXAXXXAX
+CXXCCXXXXCCCCCXCCCCCCCCC.CCCCCCCC..C.CC.........................+......+CC             C+C  C+ CCC  C              C C              
+B$$BB$$$$BBBBB$BBBBBBBBB'BBBBBBBB''B'BB'''''''''''''''''''''''''C''''''C                C    C   B                                  
+H__HH____HHHHH_HHHHHHHHHXHHHHHHHHXXHXHHXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX                          H                                  
+X&&XX&&&&XXXXX&XXXXXXXXXCXXXXXXXXCCXCXXCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC                          X                                  
 "#"""#"##"#""""""""""""""""""-""""""""-"------------------------"-------Z=AAX=I+=+IZZIX+-"XZ+"=""""XZAXZII1AAZ--ZXAX--AXA-IZ-ZZZZXXX
+CXCCCXCXXCXCCCCCCCCCCCCCCCCCC.CCCCCCCC.C........................+....... C             C.+  CCC+CC+           CC    CC   C  C       
+B$BBB$B$$B$BBBBBBBBBBBBBBBBBB'BBBBBBBB'B''''''''''''''''''''''''C'''''''                'C   B CBBC                                 
+H_HHH_H__H_HHHHHHHHHHHHHHHHHHXHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX                X    H  HH                                  
+X&XXX&X&&X&XXXXXXXXXXXXXXXXXXCXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC                C    X  XX                                  
 #""""##""#""""""""""""""-""-"""""-""-"--""-----------------"------"-----MMZZX1I=+-AI-MX+-"=X=-=-""-ZAI=XAA AXZ-XZXXIXZZAZMXIZZ-ZZ-ZA
+XCCCCXXCCXCCCCCCCCCCCCCC.CC.CCCCC.CC.C..CC.................+......+.....            C  C.+C C.C.CC.           C               C  C  
+$BBBB$$BB$BBBBBBBBBBBBBB'BB'BBBBB'BB'B''BB'''''''''''''''''C''''''C'''''                'C   ' 'BB'                                 
+_HHHH__HH_HHHHHHHHHHHHHHXHHXHHHHHXHHXHXXHHXXXXXXXXXXXXXXXXX XXXXXX XXXXX                X    X XHHX                                 
+&XXXX&&XX&XXXXXXXXXXXXXXCXXCXXXXXCXXCXCCXXCCCCCCCCCCCCCCCCC CCCCCC CCCCC                C    C CXXC                                 
 "##"""""""#""""""""""-"""""""""""""-"---------------------------"-"-----"M-ZZ=I+=AI=Z"--="-XX"--""+ZAI+"=A=IXZ-AAZ-----MMMXAAXI-XZXX
+CXXCCCCCCCXCCCCCCCCCC.CCCCCCCCCCCCC.C...........................+.+.....+ C          +CCC+.  +..CCC   C+C     C   CCCCC        C    
+B$$BBBBBBB$BBBBBBBBBB'BBBBBBBBBBBBB'B'''''''''''''''''''''''''''C'C'''''C            C   C'  C''BB     C                            
+H__HHHHHHH_HHHHHHHHHHXHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX                  X   XXHH                                  
+X&&XXXXXXX&XXXXXXXXXXCXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCC                  C   CCXX                                  
 "##"-"""""""""""""""""""-"""""""""""""--"-------------------------------"--=ZAI1=ZX+AM=+A+-+I+--""X+IA""-ZXZ--Z-Z-=MMMZ+=--AIXAXAZXX
+CXXC.CCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCC..C...............................+CCC          CC C.C C..C+    +C.   CC C CC    CCCC         
+B$$B'BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBB''B'''''''''''''''''''''''''''''''C                 '   ''BC    CB'                           
+H__HXHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                  X   XXH      HX                           
+X&&XCXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                  C   CCX      XC                           
 ##"#"""#"""""""""""""-""-"""""""-"-"""----------------------------------"M-"=XA=IX-I=IXZAM="-X""-M-1IAM""+M+"+--M++MM=-=MZ-AAAXXZXXZ
+XXCXCCCXCCCCCCCCCCCCC.CC.CCCCCCC.C.CCC..................................+ C+C     C       C+C C+.      CCC C+CCC CC  CCC  C         
+$$B$BBB$BBBBBBBBBBBBB'BB'BBBBBBB'B'BBB''''''''''''''''''''''''''''''''''C  C               C  BC'      BB   C                       
+__H_HHH_HHHHHHHHHHHHHXHHXHHHHHHHXHXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                      H X      HH                           
+&&X&XXX&XXXXXXXXXXXXXCXXCXXXXXXXCXCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                      X C      XX                           
 ""#"""#""""--""""""""""-""--""""""-"""-"----------------"-------------"--+M+"XXAAAAA=+I=-==-+=-""M- AAX"-+""+MMI-M--M+MM-ZZZZZX-MIAA
+CCXCCCXCCCC..CCCCCCCCCC.CC..CCCCCC.CCC.C................+.............+..C C+           CC CCC.++      +.CCCC   C CC C  C      C    
+BB$BBB$BBBB''BBBBBBBBBB'BB''BBBBBB'BBB'B''''''''''''''''C'''''''''''''C''   C                 'CC      C' BB                        
+HH_HHH_HHHHXXHHHHHHHHHHXHHXXHHHHHHXHHHXHXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XX                     X         X HH                        
+XX&XXX&XXXXCCXXXXXXXXXXCXXCCXXXXXXCXXXCXCCCCCCCCCCCCCCCC CCCCCCCCCCCCC CC                     C         C XX                        
 #"##""#"""""""""""""""""""""""""-""""""-"""-------------------------------M="-AXXAAII+A-M"A-A"M=-+A+AXZXZ--"-MMXZZ-MZ--ZZ-----XAZXZA
+XCXXCCXCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC.CCC............................... C+C         C +   + CCC       C.+C     C  CC  CCCCC      
+$B$$BB$BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB'BBB'''''''''''''''''''''''''''''''  C            C   C            'C                        
+_H__HH_HHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                X                         
+&X&&XX&XXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                C                         
 """#"""""""#"""""""""""""""""""""-""--"--"--------------------------------+-=+AZ-I=AA=IZ==- =M+"M=XX-XX-Z-++--MZ-AM-X---MMZ-ZZXAXAZI
+CCCXCCCCCCCXCCCC+CCCCCCCCCCCCCCCC.CC..C..C................................CCCC  C       CCC   C+ C  C  C CCCCC  C  C CCC   C        
+BBB$BBBBBBB$BBBBCBBBBBBBBBBBBBBBB'BB''B''B''''''''''''''''''''''''''''''''                     C                                    
+HHH_HHHHHHH_HHHH HHHHHHHHHHHHHHHHXHHXXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                          
+XXX&XXXXXXX&XXXX XXXXXXXXXXXXXXXXCXXCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                          
 ###""""""""""""""""""""-"""""""""-"--"-"----------------------------------"-="AZMXAAAI=IXZ==-M"-"--M-ZZ---ZMMZXZXXMZX--XZZ--XZXAZXXZ
+XXXCCCCCCCCCCCCCCCCCCCC.CCCCCCCCC.C..C.C..................................+CC+            C C +.+CC C  CCC           CC   CC        
+$$$BBBBBBBBBBBBBBBBBBBB'BBBBBBBBB'B''B'B''''''''''''''''''''''''''''''''''C  C                C'C                                   
+___HHHHHHHHHHHHHHHHHHHHXHHHHHHHHHXHXXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                     X                                    
+&&&XXXXXXXXXXXXXXXXXXXXCXXXXXXXXXCXCCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                     C                                    
 #"""##"""""#"""""""""""""""--"""""--""""---------------------"--""--------"=---ZXXAI==II1=+MM+-""Z--ZAZI-=-MMZAXI+Z--AIAZAAZZ-ZZMZX-
+XCCCXXCCCCCXCCCCCCCCCCCCCCC..CCCCC..CCCC.....................+..++........+CC.C           C  CC+C CC    CCC        CC        C     C
+$BBB$$BBBBB$BBBBBBBBBBBBBBB''BBBBB''BBBB'''''''''''''''''''''C''CC''''''''C  '                 CB                                   
+_HHH__HHHHH_HHHHHHHHHHHHHHHXXHHHHHXXHHHHXXXXXXXXXXXXXXXXXXXXX XX  XXXXXXXX   X                  H                                   
+&XXX&&XXXXX&XXXXXXXXXXXXXXXCCXXXXXCCXXXXCCCCCCCCCCCCCCCCCCCCC CC  CCCCCCCC   C                  X                                   
 """"""""""""""""""""""""-"""-"""""""""-"-------------------"-"-----------"-"Z+ZAZAI==IIIII--MXXM=ZAZIAAXZMMMXI===+AAAIAX-=1+I=AA-AXZ
+CCCCCCCCCCCCCCCCCCCCCCCC.CCC.CCCCCCCCC.C...................+.+...........+.+ C            C.    C                       C       C   
+BBBBBBBBBBBBBBBBBBBBBBBB'BBB'BBBBBBBBB'B'''''''''''''''''''C'C'''''''''''C'C               '                                        
+HHHHHHHHHHHHHHHHHHHHHHHHXHHHXHHHHHHHHHXHXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXX X                X                                        
+XXXXXXXXXXXXXXXXXXXXXXXXCXXXCXXXXXXXXXCXCCCCCCCCCCCCCCCCCCC C CCCCCCCCCCC C                C                                        
 """""""""""""""""-""""""""""""""""-""-"--------------------"-------"------"-M-XA-XI++AAAAIX+"ZAXAA=XZIXXIZM=A=I+=+AXIX=MZZ-A+-11==AX
+CCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCC.CC.C....................+.......+......+. C  C          C+              C          C   C         
+BBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBB'BB'B''''''''''''''''''''C'''''''C''''''C'                C                                       
+HHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHXHHXHXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXX X                                                        
+XXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXCXXCXCCCCCCCCCCCCCCCCCCCC CCCCCCC CCCCCC C                                                        
 ##""""""""""""-"""#"""""-""-""""""-""-"-""-"-------------------"----------"-+--A-XA+=A+AIAIX=+=IIIIAZXZ-IX-=Z=AIZ-XA1X+M=M+=X1--+AXZ
+XXCCCCCCCCCCCC.CCCXCCCCC.CC.CCCCCC.CC.C.CC.C...................+..........+.CCC C           CC         C  CC     C    C C CC        
+$$BBBBBBBBBBBB'BBB$BBBBB'BB'BBBBBB'BB'B'BB'B'''''''''''''''''''C''''''''''C'                                                        
+__HHHHHHHHHHHHXHHH_HHHHHXHHXHHHHHHXHHXHXHHXHXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X                                                        
+&&XXXXXXXXXXXXCXXX&XXXXXCXXCXXXXXXCXXCXCXXCXCCCCCCCCCCCCCCCCCCC CCCCCCCCCC C                                                        
 """"""#""""""""""""""--"""""--""--"""--"--------------"------------------"-""+XAXXA =IAAI+=IAMX+=IA=ZXIMAIXII+++M+=-ZZ=+++++=MX1IAAZ
+CCCCCCXCCCCCCCCCCCCCC..CCCCC..CC..CCC..C..............+..................+.++C                                   CCC  CCCCCCC       
+BBBBBB$BBBBBBBBBBBBBB''BBBBB''BB''BBB''B''''''''''''''C''''''''''''''''''C'CC                                                       
+HHHHHH_HHHHHHHHHHHHHHXXHHHHHXXHHXXHHHXXHXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX X                                                         
+XXXXXX&XXXXXXXXXXXXXXCCXXXXXCCXXCCXXXCCXCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC C                                                         
 ###""""#"#"#""""#"""-"""""-""--"""---""-"---------------------------"-"---"---ZXZZX++IIAAIAIIAAI+A=XZI+ZZII+ AZXM==M-MM-========MI=A
+XXXCCCCXCXCXCCCCXCCC.CCCCC.CC..CCC...CC.C...........................+.+...+...                                   CC C  CCCCCCCCC    
+$$$BBBB$B$B$BBBB$BBB'BBBBB'BB''BBB'''BB'B'''''''''''''''''''''''''''C'C'''C'''                                                      
+___HHHH_H_H_HHHH_HHHXHHHHHXHHXXHHHXXXHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXX                                                      
+&&&XXXX&X&X&XXXX&XXXCXXXXXCXXCCXXXCCCXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCC CCC                                                      
 #"""""""##"""""""""""""""-""---""""""""""----------------------------"--"---"-+Z-+A=++=XXAMAIII=IAAXX=-+AXA==M==MM---MM--MM==M==-++=
+XCCCCCCCXXCCCCCCCCCCCCCCC.CC...CCCCCCCCCC............................+..+...+.C CC                            CC  CCC  CC  CC CCC   
+$BBBBBBB$$BBBBBBBBBBBBBBB'BB'''BBBBBBBBBB''''''''''''''''''''''''''''C''C'''C'                                                      
+_HHHHHHH__HHHHHHHHHHHHHHHXHHXXXHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXX X                                                      
+&XXXXXXX&&XXXXXXXXXXXXXXXCXXCCCXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCC C                                                      
 ###"#""""""""""""""""""""""""""""""""-"-------------------------"----"-"----"--"+-Z=+1+AMA=X=A+=ZMXX 1  II+AZ=+=M--ZZ-M-Z--MM-MM-IIA
+XXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.........................+....+.+....+..+C.        C                  CCC CC  C C CC  C  C   
+$$$B$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B'''''''''''''''''''''''''C''''C'C''''C''C '                                                  
+___H_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X XXXX XX  X                                                  
+&&&X&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCC CCCC C CCCC CC  C                                                  
 "##"""""""#"-""""""""""""""-"-"""---"----------------------------------"----""---"=I+I1+Z-MXIA+=-"+A -  I+=IZ==M-X-ZZ---Z------MMMZ=
+CXXCCCCCCCXC.CCCCCCCCCCCCCC.C.CCC...C..................................+....++...+C      C      C+C          CC C C  CCC CCCCCC     
+B$$BBBBBBB$B'BBBBBBBBBBBBBB'B'BBB'''B''''''''''''''''''''''''''''''''''C''''CC'''C               C                                  
+H__HHHHHHH_HXHHHHHHHHHHHHHHXHXHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX  XXX                                                   
+X&&XXXXXXX&XCXXXXXXXXXXXXXXCXCXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC  CCC                                                   
 #"""""""""""""""""""""""""""""""-"""""-"-"---------------------------------""""---+I+ZX=AAZ==ZI+A+"A+11 1+=AZ==ZXX----M-ZZZ--ZZ----I
+XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCC.C.C.................................++++...C              C+          CC   CCCC C   CC  CCCC 
+$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBB'B'B'''''''''''''''''''''''''''''''''CCCC'''                C                                 
+_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    XXX                                                  
+&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCC                                                  
 ""#""""""""-""""""""""""""""-"""""--"-"-""---------------------------"-"---"---"----I=+AIIA==I=1=-"-+A=1 1=Z=+=-ZZ-------XXXZZXZZZZZ
+CCXCCCCCCCC.CCCCCCCCCCCCCCCC.CCCCC..C.C.CC...........................+.+...+...+...C CC          C+C        CCCC  CCCCCCC           
+BB$BBBBBBBB'BBBBBBBBBBBBBBBB'BBBBB''B'B'BB'''''''''''''''''''''''''''C'C'''C'''C'''               C                                 
+HH_HHHHHHHHXHHHHHHHHHHHHHHHHXHHHHHXXHXHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXX XXX                                                 
+XX&XXXXXXXXCXXXXXXXXXXXXXXXXCXXXXXCCXCXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCC CCC CCC                                                 
 "##"""""#"""+"""""""""""""""""-""""-"""--""--------------------------"--------""---MZM"+ZXAAI=++1IMXIXI++ =-M+=---MM-Z---ZXXAXZZ--ZZ
+CXXCCCCCXCCCCCCCCCCCCCCCCCCCCC.CCCC.CCC..CC..........................+........++...   CC                   C CCCCC  C CCC       CC  
+B$$BBBBB$BBB BBBBBBBBBBBBBBBBB'BBBB'BBB''BB''''''''''''''''''''''''''C''''''''CC'''   B                                             
+H__HHHHH_HHH HHHHHHHHHHHHHHHHHXHHHHXHHHXXHHXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX  XXX   H                                             
+X&&XXXXX&XXX XXXXXXXXXXXXXXXXXCXXXXCXXXCCXXCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC  CCC   X                                             
 "#""""""""""""#"""""""""-"""""""--""-----------"---------------"---"-"--""""""""+-"+XAM""ZAAAAI-++I+AZ++1 1--=MMMX=MZZX--ZXXAIAZ--ZZ
+CXCCCCCCCCCCCCXCCCCCCCCC.CCCCCCC..CC...........C...............+...+.+..++++++++C.+C   ++                  CCC    C    CC       CC  
+B$BBBBBBBBBBBB$BBBBBBBBB'BBBBBBB''BB'''''''''''B'''''''''''''''C'''C'C''CCCCCCCC 'C    CC                                           
+H_HHHHHHHHHHHH_HHHHHHHHHXHHHHHHHXXHHXXXXXXXXXXXHXXXXXXXXXXXXXXX XXX X XX         X                                                  
+X&XXXXXXXXXXXX&XXXXXXXXXCXXXXXXXCCXXCCCCCCCCCCCXCCCCCCCCCCCCCCC CCC C CC         C                                                  
 ##"""""""#"""""""""""""""-""-"-"-"-""""----------------""-----"------"---"--""""="-"-Z--+MX-AI=+++==X-A1=--XM===MMMM-ZXZ-ZXXAAZ-M---
+XXCCCCCCCXCCCCCCCCCCCCCCC.CC.C.C.C.CCCC................++.....+......+...+..++++C+.+C CCC            C       CCC    C   C      C CCC
+$$BBBBBBB$BBBBBBBBBBBBBBB'BB'B'B'B'BBBB''''''''''''''''CC'''''C''''''C'''C''CCCC C'C                                                
+__HHHHHHH_HHHHHHHHHHHHHHHXHHXHXHXHXHHHHXXXXXXXXXXXXXXXX  XXXXX XXXXXX XXX XX      X                                                 
+&&XXXXXXX&XXXXXXXXXXXXXXXCXXCXCXCXCXXXXCCCCCCCCCCCCCCCC  CCCCC CCCCCC CCC CC      C                                                 
 ###""""""""""""""""-"""""-""""-"---"--"-----------------------"------"----""-"-"+=-""-+-M+ZAA++==-AXZMA+=1  ZMMM-MMM-XXZZZXXAXZ---Z-
+XXXCCCCCCCCCCCCCCCC.CCCCC.CCCC.C...C..C.......................+......+....++.+.+CC.C+CCC C                      C   C          CCC C
+$$$BBBBBBBBBBBBBBBB'BBBBB'BBBB'B'''B''B'''''''''''''''''''''''C''''''C''''CC'C'C  'BC                                               
+___HHHHHHHHHHHHHHHHXHHHHHXHHHHXHXXXHXXHXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXX  X X   XH                                                
+&&&XXXXXXXXXXXXXXXXCXXXXXCXXXXCXCCCXCCXCCCCCCCCCCCCCCCCCCCCCCC CCCCCC CCCC  C C   CX                                                
 "##"""#"""""""""""""""""-"-----"---"---------------------------------"----""-"---+-"-=="-"=-X=1+I-=XA=I=-1- AM--M--ZZXXZZXXAAAXZZ-=I
+CXXCCCXCCCCCCCCCCCCCCCCC.C.....C...C.................................+....++.+...C.C.CC+C+CC         C        CC CC              C  
+B$$BBB$BBBBBBBBBBBBBBBBB'B'''''B'''B'''''''''''''''''''''''''''''''''C''''CC'C''' 'B'  C C                                          
+H__HHH_HHHHHHHHHHHHHHHHHXHXXXXXHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX  X XXX XHX                                               
+X&&XXX&XXXXXXXXXXXXXXXXXCXCCCCCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC  C CCC CXC                                               
 #""""""""""-"""""""""""-"""""--------"----------------------------""--"-"-""-"""""M--"Z----MZA+=+++==M-ZA++ AXZZ-ZXZZXAZXXAXXIAXZZ1+
+XCCCCCCCCCC.CCCCCCCCCCC.CCCCC........C............................++..+.+.++.+++++ ..+ .C..           C         C                   
+$BBBBBBBBBB'BBBBBBBBBBB'BBBBB''''''''B''''''''''''''''''''''''''''CC''C'C'CC'CCCCC ''C ' ''                                         
+_HHHHHHHHHHXHHHHHHHHHHHXHHHHHXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX X X  X      XX  X XX                                         
+&XXXXXXXXXXCXXXXXXXXXXXCXXXXXCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC C C  C      CC  C CC                                         
 "#""""##"""""""""""""""""""-"---"""--"------------------------------------"---"-"-=+"+Z-==+"MXI++=+1+Z-X=XXIX-Z-ZZZZZZZZXXZXZXXXXZZX
+CXCCCCXXCCCCCCCCCCCCCCCCCCC.C...CCC..C....................................+...+.+.CC+C CCCC+          C C    C C                    
+B$BBBB$$BBBBBBBBBBBBBBBBBBB'B'''BBB''B''''''''''''''''''''''''''''''''''''C'''C'C'  C      C                                        
+H_HHHH__HHHHHHHHHHHHHHHHHHHXHXXXHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X X                                                  
+X&XXXX&&XXXXXXXXXXXXXXXXXXXCXCCCXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC C C                                                  
 ###""""""""""""""""""-""-"-"""-""""-"""----------------------------------""-"""""""-++-ZMX=="ZAI=++++X=-M-XZX-Z--XZZZZZZZXXZZZAAXXZZ
+XXXCCCCCCCCCCCCCCCCCC.CC.C.CCC.CCCC.CCC..................................++.+++++++CCCC   CC+         CC C   C CC                   
+$$$BBBBBBBBBBBBBBBBBB'BB'B'BBB'BBBB'BBB''''''''''''''''''''''''''''''''''CC'CCCCCCC         C                                       
+___HHHHHHHHHHHHHHHHHHXHHXHXHHHXHHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X                                                        
+&&&XXXXXXXXXXXXXXXXXXCXXCXCXXXCXXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C                                                        
 "###"#"""##""""-"""#"-""-""""-"-"""-"----------------------------------"""----""""-ZZ++ZXAZ-""XI=11+1-=+"MXZXXZ-ZXZZZZ-Z-XXZZZXAXXXA
+CXXXCXCCCXXCCCC.CCCXC.CC.CCCC.C.CCC.C..................................+++....++++.  CC    C++       CCC+      C      C C           
+B$$$B$BBB$$BBBB'BBB$B'BB'BBBB'B'BBB'B''''''''''''''''''''''''''''''''''CCC''''CCCC'         CC          C                           
+H___H_HHH__HHHHXHHH_HXHHXHHHHXHXHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXXX    X                                                 
+X&&&X&XXX&&XXXXCXXX&XCXXCXXXXCXCXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCCC    C                                                 
 "##""""""#"""""""""""""""""-"""""---"-----------------------------""------"-""--""-++Z-ZAI-----==+-++IAM+=MZZAXZAZXZZ--Z-ZXZZXXXXAIA
+CXXCCCCCCXCCCCCCCCCCCCCCCCC.CCCCC...C.............................++......+.++..++.C  .   CCC.C         CC           CC C           
+B$$BBBBBB$BBBBBBBBBBBBBBBBB'BBBBB'''B'''''''''''''''''''''''''''''CC''''''C'CC''CC'   '      '                                      
+H__HHHHHH_HHHHHHHHHHHHHHHHHXHHHHHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXX X  XX  X   X      X                                      
+X&&XXXXXX&XXXXXXXXXXXXXXXXXCXXXXXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCC C  CC  C   C      C                                      
 ##"""""""""""""""""""""""""""""""""-"------------------------------------""-"-"-"-""IX++XIA=ZMM-I=-1==+IM+MZXAAXXZZZ-ZZZZZZZZXXXAIII
+XXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C....................................++.+.+.+.++  CC   C             C          C               
+$$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B''''''''''''''''''''''''''''''''''''CC'C'C'C'CC                                                
+__HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X X X X                                                  
+&&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C C C C                                                  
 ###"""""""""""""""""-"""-"""""-"""--"-------------------------------"-------"-""-"--=I="+IIXMX-=II++=++=Z++M-X=IXZ-ZZZ-ZZ-ZZZXXXAAAI
+XXXCCCCCCCCCCCCCCCCC.CCC.CCCCC.CCC..C...............................+.......+.++.+..C C+C     C          CC C     C   C  C          
+$$$BBBBBBBBBBBBBBBBB'BBB'BBBBB'BBB''B'''''''''''''''''''''''''''''''C'''''''C'CC'C''   C                                            
+___HHHHHHHHHHHHHHHHHXHHHXHHHHHXHHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X  X XX                                                
+&&&XXXXXXXXXXXXXXXXXCXXXCXXXXXCXXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC C  C CC                                                
 ""#""""""""""""""""""---""--""-""-""-"----------------------------------"-----""-""""-X+--=IZZXXII1+==+=AI++MZI=AXZ-Z-Z-ZZXZXXZXAAIA
+CCXCCCCCCCCCCCCCCCCCC...CC..CC.CC.CC.C..................................+.....++.++++C C.C                CC       C C C            
+BB$BBBBBBBBBBBBBBBBBB'''BB''BB'BB'BB'B''''''''''''''''''''''''''''''''''C'''''CC'CCCC   '                                           
+HH_HHHHHHHHHHHHHHHHHHXXXHHXXHHXHHXHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX  X       X                                           
+XX&XXXXXXXXXXXXXXXXXXCCCXXCCXXCXXCXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC  C       C                                           
 "##""#"""""##-"""""-"-"""""-"-"""----""-"-----------------------"""--""--"--""""""""""A-""IAXZ-XX=+IA=I+AX==--ZXAAXXZM-MZXXXXZZZXAII
+CXXCCXCCCCCXX.CCCCC.C.CCCCC.C.CCC....CC.C.......................+++..++..+..++++++++++ C++    C           CCCC        C             
+B$$BB$BBBBB$$'BBBBB'B'BBBBB'B'BBB''''BB'B'''''''''''''''''''''''CCC''CC''C''CCCCCCCCCC  CC                                          
+H__HH_HHHHH__XHHHHHXHXHHHHHXHXHHHXXXXHHXHXXXXXXXXXXXXXXXXXXXXXXX   XX  XX XX                                                        
+X&&XX&XXXXX&&CXXXXXCXCXXXXXCXCXXXCCCCXXCXCCCCCCCCCCCCCCCCCCCCCCC   CC  CC CC                                                        
 "###"""#""""""""""""--""-"-"----""-"-"--------------------------""""-------""---"--"""=AM"Z=IZ--XI-=XIAI+I-+Z--ZZAXXXZZ-ZXZZZZZXXI=I
+CXXXCCCXCCCCCCCCCCCC..CC.C.C....CC.C.C..........................++++.......++...+..+++C  +    CC          CC CC        C            
+B$$$BBB$BBBBBBBBBBBB''BB'B'B''''BB'B'B''''''''''''''''''''''''''CCCC'''''''CC'''C''CCC   C                                          
+H___HHH_HHHHHHHHHHHHXXHHXHXHXXXXHHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXX    XXXXXXX  XXX XX                                                 
+X&&&XXX&XXXXXXXXXXXXCCXXCXCXCCCCXXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCCCCC  CCC CC                                                 
 """#""""""""""""--""""""-""""--"""---"-----------------""------------"---"""""-""-"-"""XI=-=AXZZZX+1XXA=+=Z+=ZAZZAXZZZXZXAZZ--ZXXAII
+CCCXCCCCCCCCCCCC..CCCCCC.CCCC..CCC...C.................++............+...+++++.++.+.+++  CC                CC               CC      
+BBB$BBBBBBBBBBBB''BBBBBB'BBBB''BBB'''B'''''''''''''''''CC''''''''''''C'''CCCCC'CC'C'CCC                                             
+HHH_HHHHHHHHHHHHXXHHHHHHXHHHHXXHHHXXXHXXXXXXXXXXXXXXXXX  XXXXXXXXXXXX XXX     X  X X                                                
+XXX&XXXXXXXXXXXXCCXXXXXXCXXXXCCXXXCCCXCCCCCCCCCCCCCCCCC  CCCCCCCCCCCC CCC     C  C C                                                
 ""#"""""""#"""""""-""""""""""---"-"--------------------""----------------""""--"""---"-=+=Z=AXXXXX=1IZZ+=-1-MZ+MMXXZZ-XXZXXZ--ZXXXXA
+CCXCCCCCCCXCCCCCCC.CCCCCCCCCC...C.C....................++................++++..+++...+.C                   C         C      CC      
+BB$BBBBBBB$BBBBBBB'BBBBBBBBBB'''B'B''''''''''''''''''''CC''''''''''''''''CCCC''CCC'''C'                                             
+HH_HHHHHHH_HHHHHHHXHHHHHHHHHHXXXHXHXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX    XX   XXX X                                             
+XX&XXXXXXX&XXXXXXXCXXXXXXXXXXCCCXCXCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC    CC   CCC C                                             
 """""""""""--""-""-""-"""-"-""-"-"-"-------------------------------------""-"-"--"""""-"I++IAIAAXX=++X==Z= Z-AI==-ZZZZZAXZXZZZZXXXAA
+CCCCCCCCCCC..CC.CC.CC.CCC.C.CC.C.C.C.....................................++.+.+..+++++.+              C     C  CCC                  
+BBBBBBBBBBB''BB'BB'BB'BBB'B'BB'B'B'B'''''''''''''''''''''''''''''''''''''CC'C'C''CCCCC'C                                            
+HHHHHHHHHHHXXHHXHHXHHXHHHXHXHHXHXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X X XX     X                                             
+XXXXXXXXXXXCCXXCXXCXXCXXXCXCXXCXCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C C CC     C                                             
 """""""""""""""""""""-"""""-""-""---""------"-----------------"--"-"----""---"---"-"-"""MI===A=IXXI====ZX=AX-Z-MMMZXZZZXXZXXZZZXAXXA
+CCCCCCCCCCCCCCCCCCCCC.CCCCC.CC.CC...CC......+.................+..+.+....++...+...+.+.+++              C  C  C C                     
+BBBBBBBBBBBBBBBBBBBBB'BBBBB'BB'BB'''BB''''''C'''''''''''''''''C''C'C''''CC'''C'''C'C'CCC                                            
+HHHHHHHHHHHHHHHHHHHHHXHHHHHXHHXHHXXXHHXXXXXX XXXXXXXXXXXXXXXXX XX X XXXX  XXX XXX X X                                               
+XXXXXXXXXXXXXXXXXXXXXCXXXXXCXXCXXCCCXXCCCCCC CCCCCCCCCCCCCCCCC CC C CCCC  CCC CCC C C                                               
 """"""""""""""-""""""""---""""-"--"----------------------------------"-"-"""-""""-"""-"""A===ZI-AAI=IIA-ZMXI-X-MMMZXZXZZZXXXZXXXAAAX
+CCCCCCCCCCCCCC.CCCCCCCC...CCCC.C..+..................................+.+.+++.++++.+++.+++              C    C C                     
+BBBBBBBBBBBBBB'BBBBBBBB'''BBBB'B''C''''''''''''''''''''''''''''''''''C'C'CCC'CCCC'CCC'CCC                                           
+HHHHHHHHHHHHHHXHHHHHHHHXXXHHHHXHXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X   X    X   X                                              
+XXXXXXXXXXXXXXCXXXXXXXXCCCXXXXCXCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C   C    C   C                                              
 """""""""##"""-""""""""""-"""-""----"-----------------------"--"-----"---"""--""""""""-""=+1=XX1==I=I=AZM=X+XXAM-M-ZZZXZZXAAAAXXAIAA
+CCCCCCCCCXXCCC.CCCCCCCCCC.CCC.CC....C.......................+..+.....+...+++..++++++++.++C               C      C C                 
+BBBBBBBBB$$BBB'BBBBBBBBBB'BBB'BB''''B'''''''''''''''''''''''C''C'''''C'''CCC''CCCCCCCC'CC                                           
+HHHHHHHHH__HHHXHHHHHHHHHHXHHHXHHXXXXHXXXXXXXXXXXXXXXXXXXXXXX XX XXXXX XXX   XX        X                                             
+XXXXXXXXX&&XXXCXXXXXXXXXXCXXXCXXCCCCXCCCCCCCCCCCCCCCCCCCCCCC CC CCCCC CCC   CC        C                                             
 "##""#""-#""#"""-"""""-"""--""----""---"------------------"-----------"-----"---"-"-""""""M 1=X=+II=II=XX-ZX-Z=IA-M-ZZXZZZA=IXXXA=I=
+CXXCCXCC.XCCXCCC.CCCCC.CCC..CC....CC...+..................+...........+.....+...+.+.++++++               C       C C                
+B$$BB$BB'$BB$BBB'BBBBB'BBB''BB''''BB'''C''''''''''''''''''C'''''''''''C'''''C'''C'C'CCCCCC                                          
+H__HH_HHX_HH_HHHXHHHHHXHHHXXHHXXXXHHXXX XXXXXXXXXXXXXXXXXX XXXXXXXXXXX XXXXX XXX X X                                                
+X&&XX&XXC&XX&XXXCXXXXXCXXXCCXXCCCCXXCCC CCCCCCCCCCCCCCCCCC CCCCCCCCCCC CCCCC CCC C C                                                
 ##"""""""""""""""""""""""""""--"---"---------------------------"------"-"""-"----"""-""""-"I-+IA==A=IAAIIXXA+II=-AAAAZZZ-ZAIAXZXX===
+XXCCCCCCCCCCCCCCCCCCCCCCCCCCC..C...C...........................+......+.+++.+....+++.++++.+                     C       C           
+$$BBBBBBBBBBBBBBBBBBBBBBBBBBB''B'''B'''''''''''''''''''''''''''C''''''C'CCC'C''''CCC'CCCC'C                                         
+__HHHHHHHHHHHHHHHHHHHHHHHHHHHXXHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X   X XXXX   X    X                                          
+&&XXXXXXXXXXXXXXXXXXXXXXXXXXXCCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC C   C CCCC   C    C                                          
 ##""""""""""""-"""""""""""-"--"----------"--------------------"--------"-"-----"-""----""-"+=1+A==I==IAIIAZZ=ZIX-Z+ IZZ-XXXXAXXXX===
+XXCCCCCCCCCCCC.CCCCCCCCCCC.C..C..........+....................+........+.+.....+.++....++.+C                    C      C            
+$$BBBBBBBBBBBB'BBBBBBBBBBB'B''B''''''''''C''''''''''''''''''''C''''''''C'C'''''C'CC''''CC'C                                         
+__HHHHHHHHHHHHXHHHHHHHHHHHXHXXHXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXX X XXXXX X  XXXX  X                                          
+&&XXXXXXXXXXXXCXXXXXXXXXXXCXCCXCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC CCCCCCCC C CCCCC C  CCCC  C                                          
 "##"""#"""""""""""""""""-"-""-""-"----"----------------------------------""--"""--"""-""""""MI==A=+=+IAAIAXXXM+"+-X =XZXXZZZZIAAA==+
+CXXCCCXCCCCCCCCCCCCCCCCC.C.CC.CC.C....C..................................++..+++..+++.++++++                  C+CC                  
+B$$BBB$BBBBBBBBBBBBBBBBB'B'BB'BB'B''''B''''''''''''''''''''''''''''''''''CC''CCC''CCC'CCCCCC                   C                    
+H__HHH_HHHHHHHHHHHHHHHHHXHXHHXHHXHXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX   XX   X                                              
+X&&XXX&XXXXXXXXXXXXXXXXXCXCXXCXXCXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC   CC   C                                              
 #"#"""""""""""""""""""--""---""----"-------------------"---"--"""-"-""---"--""""-"-""""""""""ZX+==++-=IAXXAX-M++-"+==XA=AZZZZXI=IA=+
+XCXCCCCCCCCCCCCCCCCCCC..CC...CC....C...................+...+..+++.+.++...+..++++.+.++++++++++               C CCC+C                 
+$B$BBBBBBBBBBBBBBBBBBB''BB'''BB''''B'''''''''''''''''''C'''C''CCC'C'CC'''C''CCCC'C'CCCCCCCCCC                    C                  
+_H_HHHHHHHHHHHHHHHHHHHXXHHXXXHHXXXXHXXXXXXXXXXXXXXXXXXX XXX XX   X X  XXX XX    X X                                                 
+&X&XXXXXXXXXXXXXXXXXXXCCXXCCCXXCCCCXCCCCCCCCCCCCCCCCCCC CCC CC   C C  CCC CC    C C                                                 
 ##""""""""""""-""""""""""""""""""-""---"----------------------"-"-----"-"---""""-----""""-"""+I==I++1++IXAXA-X=-XX"+IXXA1II-ZZZXXZAA
+XXCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCC.CC...C......................+.+.....+.+...++++.....++++.+++C              C CC  +C       C        
+$$BBBBBBBBBBBB'BBBBBBBBBBBBBBBBBB'BB'''B''''''''''''''''''''''C'C'''''C'C'''CCCC'''''CCCC'CCC                     C                 
+__HHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHXHHXXXHXXXXXXXXXXXXXXXXXXXXXX X XXXXX X XXX    XXXXX    X                                          
+&&XXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXCXXCCCXCCCCCCCCCCCCCCCCCCCCCC C CCCCC C CCC    CCCCC    C                                          
 """"""""""""""-""""""""-"""-"-----------------------------"------------"-""-""""-"-"--""---"""ZI=+=+-11=AIIII=ZZXI+-MXZZ1+-IXAXXZ-ZZ
+CCCCCCCCCCCCCC.CCCCCCCC.CCC.C.............................+............+.++.++++.+.+..++...+++                    C.             C  
+BBBBBBBBBBBBBB'BBBBBBBB'BBB'B'''''''''''''''''''''''''''''C''''''''''''C'CC'CCCC'C'C''CC'''CCC                     '                
+HHHHHHHHHHHHHHXHHHHHHHHXHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X  X    X X XX  XXX                        X                
+XXXXXXXXXXXXXXCXXXXXXXXCXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCC C  C    C C CC  CCC                        C                
 """""#""""""""""""""""""--""--"---"--"-----------+------"---------"--"--"""-"-"""""""""-"--""""XA1=+ -1+IIAXIAXZMZ---+MZA+- +AAAX-ZZ
+CCCCCXCCCCCCCCCCCCCCCCCC..CC..C...C..C...........C......+.........+..+..+++.+.+++++++++.+..++++                   C..C           C  
+BBBBB$BBBBBBBBBBBBBBBBBB''BB''B'''B''B''''''''''' ''''''C'''''''''C''C''CCC'C'CCCCCCCCC'C''CCCC                    ''               
+HHHHH_HHHHHHHHHHHHHHHHHHXXHHXXHXXXHXXHXXXXXXXXXXX XXXXXX XXXXXXXXX XX XX   X X         X XX                        XX               
+XXXXX&XXXXXXXXXXXXXXXXXXCCXXCCXCCCXCCXCCCCCCCCCCC CCCCCC CCCCCCCCC CC CC   C C         C CC                        CC               
 """"-""""-"""-"-""""-""--"-"-"-"-------------------------"--"---"""-""-"--"--""-"""""""-"""""""+=+-+ -+===IAAA-ZZZA=+-=XI+=11Z-AXZZX
+CCCC.CCCC.CCC.C.CCCC.CC..C.C.+.C.........................+..+...+++.++.+..+..++.+++++++.+++++++C              C    CC.C       C     
+BBBB'BBBB'BBB'B'BBBB'BB''B'B'C'B'''''''''''''''''''''''''C''C'''CCC'CC'C''C''CC'CCCCCCC'CCCCCCC                      '              
+HHHHXHHHHXHHHXHXHHHHXHHXXHXHX XHXXXXXXXXXXXXXXXXXXXXXXXXX XX XXX   X  X XX XX  X       X                             X              
+XXXXCXXXXCXXXCXCXXXXCXXCCXCXC CXCCCCCCCCCCCCCCCCCCCCCCCCC CC CCC   C  C CC CC  C       C                             C              
 """"""#""""""""""""""""--"-----""-------------------------------"--------""-""""""""-"--""-""""-==1++ -=+=IAAXX=XZX=MMM+X=IIXZZAZI==
+CCCCCCXCCCCCCCCCCCCCCCC..C.....CC...............................+........++.++++++++.+..++.++++.C                  C   C            
+BBBBBB$BBBBBBBBBBBBBBBB''B'''''BB'''''''''''''''''''''''''''''''C''''''''CC'CCCCCCCC'C''CC'CCCC'                                    
+HHHHHH_HHHHHHHHHHHHHHHHXXHXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX  X        X XX  X    X                                    
+XXXXXX&XXXXXXXXXXXXXXXXCCXCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC  C        C CC  C    C                                    
 #"""""""""""""""""-"""-""""-"--"-------------------------------"-------"-""""-""-"""-""-"-"""""""Z+1=- 1++IIAAIAXZMMMXI+=--1Z-ZM+-XI
+XCCCCCCCCCCCCCCCCC.CCC.CCCC.C..C...............................+.......+.++++.++.+++.++.+.+++++++                      CC    C  CC  
+$BBBBBBBBBBBBBBBBB'BBB'BBBB'B''B'''''''''''''''''''''''''''''''C'''''''C'CCCC'CC'CCC'CC'C'CCCCCCC                                   
+_HHHHHHHHHHHHHHHHHXHHHXHHHHXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X    X  X   X  X X                                          
+&XXXXXXXXXXXXXXXXXCXXXCXXXXCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC C    C  C   C  C C                                          
 #""""""""""""""-"""""""""""-"--"--""-"-""----------"------"----"------------""-"---"""""""""""""""X+1+-1-=I+AAA=XXZXAA+-"A -X-Z=+MMZ
+XCCCCCCCCCCCCCC.CCCCCCCCCCC.C..C..CC.C.CC..........+......+....+............++.+...+++++++++++++++                     C+    C CC   
+$BBBBBBBBBBBBBB'BBBBBBBBBBB'B''B''BB'B'BB''''''''''C''''''C''''C''''''''''''CC'C'''CCCCCCCCCCCCCCC                      C           
+_HHHHHHHHHHHHHHXHHHHHHHHHHHXHXXHXXHHXHXHHXXXXXXXXXX XXXXXX XXXX XXXXXXXXXXXX  X XXX                                                 
+&XXXXXXXXXXXXXXCXXXXXXXXXXXCXCCXCCXXCXCXXCCCCCCCCCC CCCCCC CCCC CCCCCCCCCCCC  C CCC                                                 
 """""-""""""-""""-"""""""""""------"-"-------------------""----""-"----""---"-""---""""-""""""""""++--+++=I+IA+-+II==A=A"MZ1=Z===-ZM
+CCCCC.CCCCCC.CCCC.CCCCCCCCCCC......C.C...................++....++.+....++...+.++...++++.++++++++++C                     +     CCCC  
+BBBBB'BBBBBB'BBBB'BBBBBBBBBBB''''''B'B'''''''''''''''''''CC''''CC'C''''CC'''C'CC'''CCCC'CCCCCCCCCC                      C           
+HHHHHXHHHHHHXHHHHXHHHHHHHHHHHXXXXXXHXHXXXXXXXXXXXXXXXXXXX  XXXX  X XXXX  XXX X  XXX    X                                            
+XXXXXCXXXXXXCXXXXCXXXXXXXXXXXCCCCCCXCXCCCCCCCCCCCCCCCCCCC  CCCC  C CCCC  CCC C  CCC    C                                            
 #"""""#"""""""""""""""-""-""---"--"-"-----------------------"-"------"--"---"""-""""""--""-"""""-""=+--+++++IAAII====II=ZZ+=Z-===MZZ
+XCCCCCXCCCCCCCCCCCCCCC.CC.CC...C..C.C.......................+.+......+..+...+++.++++++..++.+++++.++C                      CC CCCC   
+$BBBBB$BBBBBBBBBBBBBBB'BB'BB'''B''B'B'''''''''''''''''''''''C'C''''''C''C'''CCC'CCCCCC''CC'CCCCC'CC                                 
+_HHHHH_HHHHHHHHHHHHHHHXHHXHHXXXHXXHXHXXXXXXXXXXXXXXXXXXXXXXX X XXXXXX XX XXX   X      XX  X     X                                   
+&XXXXX&XXXXXXXXXXXXXXXCXXCXXCCCXCCXCXCCCCCCCCCCCCCCCCCCCCCCC C CCCCCC CC CCC   C      CC  C     C                                   
 """""""""""""""""""""--""""""--"--""--"-------------------------------------"-"-"-""""--"""""""-""""Z+--=+1=IXAAX=1==IXXZXX+=ZM=MXZ-
+CCCCCCCCCCCCCCCCCCCCC..CCCCCC..C..CC..C.....................................+.+.+.++++..+++++++.++++                       CC  C   C
+BBBBBBBBBBBBBBBBBBBBB''BBBBBB''B''BB''B'''''''''''''''''''''''''''''''''''''C'C'C'CCCC''CCCCCCC'CCCC                                
+HHHHHHHHHHHHHHHHHHHHHXXHHHHHHXXHXXHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X X    XX       X                                    
+XXXXXXXXXXXXXXXXXXXXXCCXXXXXXCCXCCXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C    CC       C                                    
 #"""""""""""""""""""--"""""-"""---"-"---"--------------"---------"---------"--""""-"""""""""""""""""+I-  I==IAXXXA1+AZ-M-ZA==II-MM-M
+XCCCCCCCCCCCCCCCCCCC..CCCCC.CCC...C.C...C..............+.........+.........+..++++.+++++++++++++++++C                 C C  CC  C  C 
+$BBBBBBBBBBBBBBBBBBB''BBBBB'BBB'''B'B'''B''''''''''''''C'''''''''C'''''''''C''CCCC'CCCCCCCCCCCCCCCCC                                
+_HHHHHHHHHHHHHHHHHHHXXHHHHHXHHHXXXHXHXXXHXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXX XX    X                                                 
+&XXXXXXXXXXXXXXXXXXXCCXXXXXCXXXCCCXCXCCCXCCCCCCCCCCCCCC CCCCCCCCC CCCCCCCCC CC    C                                                 
 """"#"""#""""""""""""""""-"-""-"-------------------------"--"-"--"----""""-"-----""""""""""""""""""""=+  -==+AXAAAI11Z++ZXZXXIA--=MM
+CCCCXCCCXCCCCCCCCCCCCCCCC.C.CC.C.........................+..+.+..+....++++.+.....++++++++++++++++++++C                CC       CCC  
+BBBB$BBB$BBBBBBBBBBBBBBBB'B'BB'B'''''''''''''''''''''''''C''C'C''C''''CCCC'C'''''CCCCCCCCCCCCCCCCCCCC                               
+HHHH_HHH_HHHHHHHHHHHHHHHHXHXHHXHXXXXXXXXXXXXXXXXXXXXXXXXX XX X XX XXXX    X XXXXX                                                   
+XXXX&XXX&XXXXXXXXXXXXXXXXCXCXXCXCCCCCCCCCCCCCCCCCCCCCCCCC CC C CC CCCC    C CCCCC                                                   
 ""#"""""""""""""""""""""""--""-"""---"---""----------------------------"-----"--""""""""""""""-"""""""-1 11+=IA+==IA=X=XAAI==IX==-MM
+CCXCCCCCCCCCCCCCCCCCCCCCCC..CC.CCC...C...CC............................+.....+..++++++++++++++.+++++++C               C        CCC  
+BB$BBBBBBBBBBBBBBBBBBBBBBB''BB'BBB'''B'''BB''''''''''''''''''''''''''''C'''''C''CCCCCCCCCCCCCC'CCCCCCC                              
+HH_HHHHHHHHHHHHHHHHHHHHHHHXXHHXHHHXXXHXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XX              X                                     
+XX&XXXXXXXXXXXXXXXXXXXXXXXCCXXCXXXCCCXCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC CC              C                                     
 ""#""""""""""""""""""""""-"-"------""--"------------------------"--"---------"--"--""""""""""""""""""""Z  1 +===+IIA=I-X=XI+I+=XX-=-
+CCXCCCCCCCCCCCCCCCCCCCCCC.C.C......CC..C........................+..+.........+..+..++++++++++++++++++++               C          CCC
+BB$BBBBBBBBBBBBBBBBBBBBBB'B'B''''''BB''B''''''''''''''''''''''''C''C'''''''''C''C''CCCCCCCCCCCCCCCCCCCC                             
+HH_HHHHHHHHHHHHHHHHHHHHHHXHXHXXXXXXHHXXHXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXX XX XX                                                 
+XX&XXXXXXXXXXXXXXXXXXXXXXCXCXCCCCCCXXCCXCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCCCC CC CC                                                 
 ""#""""""""""""""""""""""-"---""--"-"--"-----------------------""--"--"-""--""-""--"-""-"""""""""""-"""+A ---+11=I==IIX-IIA=AI===XM-
+CCXCCCCCCCCCCCCCCCCCCCCCC.C...+C..C.C..C.......................++..+..+.++..++.++..+.++.+++++++++++.+++C               C           C
+BB$BBBBBBBBBBBBBBBBBBBBBB'B'''CB''B'B''B'''''''''''''''''''''''CC''C''C'CC''CC'CC''C'CC'CCCCCCCCCCC'CCC                             
+HH_HHHHHHHHHHHHHHHHHHHHHHXHXXX HXXHXHXXHXXXXXXXXXXXXXXXXXXXXXXX  XX XX X  XX  X  XX X  X           X                                
+XX&XXXXXXXXXXXXXXXXXXXXXXCXCCC XCCXCXCCXCCCCCCCCCCCCCCCCCCCCCCC  CC CC C  CC  C  CC C  C           C                                
 """"""""-"""""-"""-"""""-"-"-"-"-"""------------------------""--"-""---"-""-"""""-""""""""""""""""""""""+--1-1 1=I==XAXXA=XIAZ=1-=IA
+CCCCCCCC.CCCCC.CCC.CCCCC.C.C.C.C.CCC........................++..+.++...+.++.+++++.++++++++++++++++++++++C                           
+BBBBBBBB'BBBBB'BBB'BBBBB'B'B'B'B'BBB''''''''''''''''''''''''CC''C'CC'''C'CC'CCCCC'CCCCCCCCCCCCCCCCCCCCCC                            
+HHHHHHHHXHHHHHXHHHXHHHHHXHXHXHXHXHHHXXXXXXXXXXXXXXXXXXXXXXXX  XX X  XXX X  X     X                                                  
+XXXXXXXXCXXXXXCXXXCXXXXXCXCXCXCXCXXXCCCCCCCCCCCCCCCCCCCCCCCC  CC C  CCC C  C     C                                                  
 ""#""-""""""""""""""-"-----------"--"-""-------------------------"--""---"--""""""-""""""""""""""""""""""=1++I+1=IAIAAXAAIAIIXXI=I=X
+CCXCC.CCCCCCCCCCCCCC.C...........C..C.CC.........................+..++...+..++++++.++++++++++++++++++++++C                          
+BB$BB'BBBBBBBBBBBBBB'B'''''''''''B''B'BB'''''''''''''''''''''''''C''CC'''C''CCCCCC'CCCCCCCCCCCCCCCCCCCCCC                           
+HH_HHXHHHHHHHHHHHHHHXHXXXXXXXXXXXHXXHXHHXXXXXXXXXXXXXXXXXXXXXXXXX XX  XXX XX      X                                                 
+XX&XXCXXXXXXXXXXXXXXCXCCCCCCCCCCCXCCXCXXCCCCCCCCCCCCCCCCCCCCCCCCC CC  CCC CC      C                                                 
 """""""""-""""""""""""-----------"----------------------"-"-"--"-"---""------"""""""""""""""""""""""""""""M++==+=IAII=IIIAXAXZ-XAXXZ
+CCCCCCCCC.CCCCCCCCCCCC...........C......................+.+.+..+.+...++......+++++++++++++++++++++++++++++                    C     
+BBBBBBBBB'BBBBBBBBBBBB'''''''''''B''''''''''''''''''''''C'C'C''C'C'''CC''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCC                          
+HHHHHHHHHXHHHHHHHHHHHHXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXX X X XX X XXX  XXXXXX                                                       
+XXXXXXXXXCXXXXXXXXXXXXCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCC C C CC C CCC  CCCCCC                                                       
 """"""""--"""""""""""""---"----"-""--------"--------------------------"----""""-"-""""""""""--"""""""""""""-11===IAAI11AIIAXXXZXXIXZ
+CCCCCCCC..CCCCCCCCCCCCC...C....C.CC........+..........................+....++++.+.++++++++++..+++++++++++++C                        
+BBBBBBBB''BBBBBBBBBBBBB'''B''''B'BB''''''''C''''''''''''''''''''''''''C''''CCCC'C'CCCCCCCCCC''CCCCCCCCCCCCC                         
+HHHHHHHHXXHHHHHHHHHHHHHXXXHXXXXHXHHXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX XXXX    X X          XX                                      
+XXXXXXXXCCXXXXXXXXXXXXXCCCXCCCCXCXXCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCC CCCC    C C          CC                                      
 """"""""-"-"="-"""""-""---"-----"------------------------"--""""""------""""""-"""""-"""""""""""""""""""""""M-+=ZIAAI=-=IIIAAAAXA==X
+CCCCCCCC.C.CCC.CCCCC.CC...C.....C........................+..++++++......++++++.+++++.+++++++++++++++++++++++                        
+BBBBBBBB'B'B B'BBBBB'BB'''B'''''B''''''''''''''''''''''''C''CCCCCC''''''CCCCCC'CCCCC'CCCCCCCCCCCCCCCCCCCCCCC                        
+HHHHHHHHXHXH HXHHHHHXHHXXXHXXXXXHXXXXXXXXXXXXXXXXXXXXXXXX XX      XXXXXX      X     X                                               
+XXXXXXXXCXCX XCXXXXXCXXCCCXCCCCCXCCCCCCCCCCCCCCCCCCCCCCCC CC      CCCCCC      C     C                                               
 """""-""""""""""""""--"--"------"-"-"------------------""-------"""--"-----"-"-""-"""""""""""""""""""""""""""Z1+XZ=A=+=+IIIIAI=IIIIZ
+CCCCC.CCCCCCCCCCCCCC..C..C......C.C.C..................++.......+++..+.....+.+.++.+++++++++++++++++++++++++++                       
+BBBBB'BBBBBBBBBBBBBB''B''B''''''B'B'B''''''''''''''''''CC'''''''CCC''C'''''C'C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCC                       
+HHHHHXHHHHHHHHHHHHHHXXHXXHXXXXXXHXHXHXXXXXXXXXXXXXXXXXX  XXXXXXX   XX XXXXX X X  X                                                  
+XXXXXCXXXXXXXXXXXXXXCCXCCXCCCCCCXCXCXCCCCCCCCCCCCCCCCCC  CCCCCCC   CC CCCCC C C  C                                                  
 """""--""""""""""-"""---""-"--"""-"--------------------------""--"""-""----"-"-""-"""""""""""""""""""""""""""+Z+1XX=I=IIIIII==1=AAAX
+CCCCC..CCCCCCCCCC.CCC...CC.C..CCC.C..........................++..+++.++....+.+.++.+++++++++++++++++++++++++++C                      
+BBBBB''BBBBBBBBBB'BBB'''BB'B''BBB'B''''''''''''''''''''''''''CC''CCC'CC''''C'C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCC                       
+HHHHHXXHHHHHHHHHHXHHHXXXHHXHXXHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXX  XX   X  XXXX X X  X                                                  
+XXXXXCCXXXXXXXXXXCXXXCCCXXCXCCXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCC  CC   C  CCCC C C  C                                                  
 "#""""""#-"""""""""-""--""""----"---"----------------"-----"-----"--------""-""-"""""-""""""""-"""""""""""""""+Z--II=IIAAI=AI==IAA=A
+CXCCCCCCX.CCCCCCCCC.CC..CCCC....C...C................+.....+.....+........++.++.+++++.++++++++.+++++++++++++++C                     
+B$BBBBBB$'BBBBBBBBB'BB''BBBB''''B'''B''''''''''''''''C'''''C'''''C''''''''CC'CC'CCCCC'CCCCCCCC'CCCCCCCCCCCCCCC                      
+H_HHHHHH_XHHHHHHHHHXHHXXHHHHXXXXHXXXHXXXXXXXXXXXXXXXX XXXXX XXXXX XXXXXXXX  X  X     X        X                                     
+X&XXXXXX&CXXXXXXXXXCXXCCXXXXCCCCXCCCXCCCCCCCCCCCCCCCC CCCCC CCCCC CCCCCCCC  C  C     C        C                                     
 ""-""-""""--""""""""-"""""----"--------------------------"--"""-""--"-""""""""""""""""""""""""""""""""""""""""""X -=I=IIAAIXA==IIIAX
+CC.CC.CCCC..CCCCCCCC.CCCCC....C..........................+..+++.++..+.++++++++++++++++++++++++++++++++++++++++++                    
+BB'BB'BBBB''BBBBBBBB'BBBBB''''B''''''''''''''''''''''''''C''CCC'CC''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                    
+HHXHHXHHHHXXHHHHHHHHXHHHHHXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXX XX   X  XX X                                                              
+XXCXXCXXXXCCXXXXXXXXCXXXXXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC CC   C  CC C                                                              
 """"""""""-""""""""---"""""-"------"---------------"-------""---"-----""-""-""--""--""""""""""""""""""-""""""""""X1+I==IAXZ-ZA+===AX
+CCCCCCCCCC.CCCCCCCC...CCCC+.C......C...............+.......++...+.....++.++.++..++..++++++++++++++++++.++++++++++          C        
+BBBBBBBBBB'BBBBBBBB'''BBBBC'B''''''B'''''''''''''''C'''''''CC'''C'''''CC'CC'CC''CC''CCCCCCCCCCCCCCCCCC'CCCCCCCCCC                   
+HHHHHHHHHHXHHHHHHHHXXXHHHH XHXXXXXXHXXXXXXXXXXXXXXX XXXXXXX  XXX XXXXX  X  X  XX  XX                  X                             
+XXXXXXXXXXCXXXXXXXXCCCXXXX CXCCCCCCXCCCCCCCCCCCCCCC CCCCCCC  CCC CCCCC  C  C  CC  CC                  C                             
 """""""""""""""""""-""""""---"-"------------------"----"--"""---"-""--"-""""--""""-""-"""""""""""""""""""""""""""+-I=IIAAIZZZ-X==IIA
+CCCCCCCCCCCCCCCCCCC.CCCCCC...C.C..................+....+..+++...+.++..+.++++..++++.++.+++++++++++++++++++++++++++CC          C      
+BBBBBBBBBBBBBBBBBBB'BBBBBB'''B'B''''''''''''''''''C''''C''CCC'''C'CC''C'CCCC''CCCC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCC                   
+HHHHHHHHHHHHHHHHHHHXHHHHHHXXXHXHXXXXXXXXXXXXXXXXXX XXXX XX   XXX X  XX X    XX    X  X                                              
+XXXXXXXXXXXXXXXXXXXCXXXXXXCCCXCXCCCCCCCCCCCCCCCCCC CCCC CC   CCC C  CC C    CC    C  C                                              
 """""#"""""""""""""""""-""""""-"-----------------------"----"-----"""--"""""-""""-"-""-"""""--"""""""""""""""""""""=AAIII=IX=AZI=+II
+CCCCCXCCCCCCCCCCCCCCCCC.CCCCCC.C.......................+....+.....+++..+++++.++++.+.++.+++++..+++++++++++++++++++++C                
+BBBBB$BBBBBBBBBBBBBBBBB'BBBBBB'B'''''''''''''''''''''''C''''C'''''CCC''CCCCC'CCCC'C'CC'CCCCC''CCCCCCCCCCCCCCCCCCCCC                 
+HHHHH_HHHHHHHHHHHHHHHHHXHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXX   XX     X    X X  X     XX                                      
+XXXXX&XXXXXXXXXXXXXXXXXCXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCC CCCC CCCCC   CC     C    C C  C     CC                                      
 """""""-""""""""""-"--"---"-----------------------------"------"-"-"""-""-"""""""""-"-"""""""""""""""""""""""""""""++XA===1AA=IIA+-+
+CCCCCCC.CCCCCCCCCC.C..C...C.............................+......+.+.+++.++.+++++++++.+.+++++++++++++++++++++++++++++CC               
+BBBBBBB'BBBBBBBBBB'B''B'''B'''''''''''''''''''''''''''''C''''''C'C'CCC'CC'CCCCCCCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCC                 
+HHHHHHHXHHHHHHHHHHXHXXHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X X   X  X         X X                                              
+XXXXXXXCXXXXXXXXXXCXCCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC C C   C  C         C C                                              
 """""""""-"""""""""-""""--""-"-"----------------"---------""""--""""""-""""-"""""""""""-"""""""""""""""""""""""""""""+X=I===IXAAAA==
+CCCCCCCCC.CCCCCCCCC.CCCC..CC.C.C................+.........++++..++++++.++++.+++++++++++.+++++++++++++++++++++++++++++C              
+BBBBBBBBB'BBBBBBBBB'BBBB''BB'B'B''''''''''''''''C'''''''''CCCC''CCCCCC'CCCC'CCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCC               
+HHHHHHHHHXHHHHHHHHHXHHHHXXHHXHXHXXXXXXXXXXXXXXXX XXXXXXXXX    XX      X    X           X                                            
+XXXXXXXXXCXXXXXXXXXCXXXXCCXXCXCXCCCCCCCCCCCCCCCC CCCCCCCCC    CC      C    C           C                                            
 """""""""""""""""""-""""--"--"--"---------------------------""--"""""""-""-"-"""""""""""""""""""""""""""""""""""""""""+ZI==1=IXAAAAA
+CCCCCCCCCCCCCCCCCCC.CCCC..C..C..C...........................++..+++++++.++.+.+++++++++++++++++++++++++++++++++++++++++C             
+BBBBBBBBBBBBBBBBBBB'BBBB''B''B''B'''''''''''''''''''''''''''CC''CCCCCCC'CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              
+HHHHHHHHHHHHHHHHHHHXHHHHXXHXXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX       X  X X                                                       
+XXXXXXXXXXXXXXXXXXXCXXXXCCXCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC       C  C C                                                       
 ""#""#""""""""""""""""""""-"-"-""""-------------""----------"-"--""""------""-"-""""""""""""-""""""""""""""""""+"""""""+-==1+IAXXXAX
+CCXCCXCCCCCCCCCCCCCCCCCCCC.C.C.CCCC.............++..........+.+..++++......++.+.++++++++++++.++++++++++++++++++C+++++++CC           
+BB$BB$BBBBBBBBBBBBBBBBBBBB'B'B'BBBB'''''''''''''CC''''''''''C'C''CCCC''''''CC'C'CCCCCCCCCCCC'CCCCCCCCCCCCCCCCCC CCCCCCC             
+HH_HH_HHHHHHHHHHHHHHHHHHHHXHXHXHHHHXXXXXXXXXXXXX  XXXXXXXXXX X XX    XXXXXX  X X            X                                       
+XX&XX&XXXXXXXXXXXXXXXXXXXXCXCXCXXXXCCCCCCCCCCCCC  CCCCCCCCCC C CC    CCCCCC  C C            C                                       
 """"""-""""-"""-""-"-"="""----"-"--------------"--"------"--"""-"""""""""-"""""""""""""""""""""""""""""""""""""""""""""""M=+1=XXXAXX
+CCCCCC.CCCC.CCC.CC.C.CCCCC....C.C..............+..+......+..+++.+++++++++.+++++++++++++++++++++++++++++++++++++++++++++++           
+BBBBBB'BBBB'BBB'BB'B'B BBB''''B'B''''''''''''''C''C''''''C''CCC'CCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC           
+HHHHHHXHHHHXHHHXHHXHXH HHHXXXXHXHXXXXXXXXXXXXXX XX XXXXXX XX   X         X                                                          
+XXXXXXCXXXXCXXXCXXCXCX XXXCCCCXCXCCCCCCCCCCCCCC CC CCCCCC CC   C         C                                                          
 """""""""""""""""""""""""------"""-"--"-----------------"----""-"-""""""""""""""""""""""""""""""""""""""+"""""""""+"""""""-=+1X-XXXZ
+CCCCCCCCCCCCCCCCCCCCCCCCC......CCC.C..C.................+....++.+.++++++++++++++++++++++++++++++++++++++C+++++++++C+++++++C    C    
+BBBBBBBBBBBBBBBBBBBBBBBBB''''''BBB'B''B'''''''''''''''''C''''CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC CCCCCCC          
+HHHHHHHHHHHHHHHHHHHHHHHHHXXXXXXHHHXHXXHXXXXXXXXXXXXXXXXX XXXX  X X                                                                  
+XXXXXXXXXXXXXXXXXXXXXXXXXCCCCCCXXXCXCCXCCCCCCCCCCCCCCCCC CCCC  C C                                                                  
 """""""""""""""""""-"""""-"----"-----------------------------"""--""""""""""""""""""""""""""""""""""""""""""""""""""""""""+Z=11AAAAX
+CCCCCCCCCCCCCCCCCCC.CCCCC.C....C.............................+++..++++++++++++++++++++++++++++++++++++++++++++++++++++++++C         
+BBBBBBBBBBBBBBBBBBB'BBBBB'B''''B'''''''''''''''''''''''''''''CCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          
+HHHHHHHHHHHHHHHHHHHXHHHHHXHXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XX                                                                  
+XXXXXXXXXXXXXXXXXXXCXXXXXCXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CC                                                                  
 "#"""""""""""""""""-"""""""-"---""-"----------------------"--"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+Z+-=AI+X
+CXCCCCCCCCCCCCCCCCC.CCCCCCC.C...C+.C......................+..+.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C        
+B$BBBBBBBBBBBBBBBBB'BBBBBBB'B'''BC'B''''''''''''''''''''''C''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         
+H_HHHHHHHHHHHHHHHHHXHHHHHHHXHXXXH XHXXXXXXXXXXXXXXXXXXXXXX XX X                                                                     
+X&XXXXXXXXXXXXXXXXXCXXXXXXXCXCCCX CXCCCCCCCCCCCCCCCCCCCCCC CC C                                                                     
 "#""""#""""""""""""-""""----""-""----"-------------"-------"--"-""-"""""--""--"""""-""""""""-"""""""""""""""""+"""""""""""""+I--IZIX
+CXCCCCXCCCCCCCCCCCC.CCCC....CC.CC....C.............+.......+..+.++.+++++..++..+++++.++++++++.+++++++++++++++++C+++++++++++++C       
+B$BBBB$BBBBBBBBBBBB'BBBB''''BB'BB''''B'''''''''''''C'''''''C''C'CC'CCCCC''CC''CCCCC'CCCCCCCC'CCCCCCCCCCCCCCCCC CCCCCCCCCCCCC        
+H_HHHH_HHHHHHHHHHHHXHHHHXXXXHHXHHXXXXHXXXXXXXXXXXXX XXXXXXX XX X  X     XX  XX     X        X                                       
+X&XXXX&XXXXXXXXXXXXCXXXXCCCCXXCXXCCCCXCCCCCCCCCCCCC CCCCCCC CC C  C     CC  CC     C        C                                       
 """""""#"""""""""""-""--"""--""---""-------------------"------"---"--"""-""-""""""-""""""""""""""""""""""""+"""""""""""""""""+I--IAX
+CCCCCCCXCCCCCCCCCCC.CC..CCC..CC...CC...................+......+...+..+++.++.++++++.++++++++++++++++++++++++C+++++++++++++++++C      
+BBBBBBB$BBBBBBBBBBB'BB''BBB''BB'''BB'''''''''''''''''''C''''''C'''C''CCC'CC'CCCCCC'CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCC       
+HHHHHHH_HHHHHHHHHHHXHHXXHHHXXHHXXXHHXXXXXXXXXXXXXXXXXXX XXXXXX XXX XX   X  X      X                                                 
+XXXXXXX&XXXXXXXXXXXCXXCCXXXCCXXCCCXXCCCCCCCCCCCCCCCCCCC CCCCCC CCC CC   C  C      C                                                 
 """""""""""""""""""-""-""--"-"""---"-----------"----"---------"""-""--""""""""""""""""""""""""""""""""""""""""""""""""""""""""+X111I
+CCCCCCCCCCCCCCCCCCC.CC.CC..C.CCC...C...........+....+.........+++.++..++++++++++++++++++++++++++++++++++++++++++++++++++++++++C     
+BBBBBBBBBBBBBBBBBBB'BB'BB''B'BBB'''B'''''''''''C''''C'''''''''CCC'CC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      
+HHHHHHHHHHHHHHHHHHHXHHXHHXXHXHHHXXXHXXXXXXXXXXX XXXX XXXXXXXXX   X  XX                                                              
+XXXXXXXXXXXXXXXXXXXCXXCXXCCXCXXXCCCXCCCCCCCCCCC CCCC CCCCCCCCC   C  CC                                                              
 "##""#"""""""""""""-""""""--"---------------------""-----"-----"---""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"+-+1+
+CXXCCXCCCCCCCCCCCCC.CCCCCC..C.....................++.....+.....+...++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+CC   
+B$$BB$BBBBBBBBBBBBB'BBBBBB''B'''''''''''''''''''''CC'''''C'''''C'''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C     
+H__HH_HHHHHHHHHHHHHXHHHHHHXXHXXXXXXXXXXXXXXXXXXXXX  XXXXX XXXXX XXX                                                                 
+X&&XX&XXXXXXXXXXXXXCXXXXXXCCXCCCCCCCCCCCCCCCCCCCCC  CCCCC CCCCC CCC                                                                 
 "#"""-""#-"""-""""""-""-"""""""-------------------"----------"-""-"-"""""-""""""""""""""""""""""""""""""""""""+"++""""""""+""""""==+
+CXCCC.CCX.CCC.CCCCCC.CC.CCCCCCC...................+..........+.++.+.+++++.++++++++++++++++++++++++++++++++++++C+CC++++++++C++++++C  
+B$BBB'BB$'BBB'BBBBBB'BB'BBBBBBB'''''''''''''''''''C''''''''''C'CC'C'CCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CCCCCCCC CCCCCC   
+H_HHHXHH_XHHHXHHHHHHXHHXHHHHHHHXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X  X X     X                                                          
+X&XXXCXX&CXXXCXXXXXXCXXCXXXXXXXCCCCCCCCCCCCCCCCCCC CCCCCCCCCC C  C C     C                                                          
 """"""""""-""-""""""-""--"--"""--""--"-----------"-------""-----------"-"-"""""--""-""""""""""""""""""""""""""""""""""""""""""""""=A
+CCCCCCCCCC.CC.CCCCCC.CC..C..CCC..CC..C...........+.......++...........+.+.+++++..++.++++++++++++++++++++++++++++++++++++++++++++++C 
+BBBBBBBBBB'BB'BBBBBB'BB''B''BBB''BB''B'''''''''''C'''''''CC'''''''''''C'C'CCCCC''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
+HHHHHHHHHHXHHXHHHHHHXHHXXHXXHHHXXHHXXHXXXXXXXXXXX XXXXXXX  XXXXXXXXXXX X X     XX  X                                                
+XXXXXXXXXXCXXCXXXXXXCXXCCXCCXXXCCXXCCXCCCCCCCCCCC CCCCCCC  CCCCCCCCCCC C C     CC  C                                                
 """""#"-""-"""""""-"-"-"-"----"---------------"-"--"------"-----------"-"-"""""""""""""""""""""""""""""""""""""""""""""""""+"++""""+
+CCCCCXC.CC.CCCCCCC.C.C.C.C....C...............+.+..+......+...........+.+.+++++++++++++++++++++++++++++++++++++++++++++++++C+CC++++C
+BBBBB$B'BB'BBBBBBB'B'B'B'B''''B'''''''''''''''C'C''C''''''C'''''''''''C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CCCC 
+HHHHH_HXHHXHHHHHHHXHXHXHXHXXXXHXXXXXXXXXXXXXXX X XX XXXXXX XXXXXXXXXXX X X                                                          
+XXXXX&XCXXCXXXXXXXCXCXCXCXCCCCXCCCCCCCCCCCCCCC C CC CCCCCC CCCCCCCCCCC C C                                                          
 """""""""""""""""--""""--"--"""-----------"-""-"---------""---------"-"""""""""""""-""""""""""""""""""""""""""""""""""""""""""+"""""
+CCCCCCCCCCCCCCCCC..CCCC..C..CCC...........+.++.+.........++.........+.+++++++++++++.++++++++++++++++++++++++++++++++++++++++++C+++++
+BBBBBBBBBBBBBBBBB''BBBB''B''BBB'''''''''''C'CC'C'''''''''CC'''''''''C'CCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC
+HHHHHHHHHHHHHHHHHXXHHHHXXHXXHHHXXXXXXXXXXX X  X XXXXXXXXX  XXXXXXXXX X             X                                                
+XXXXXXXXXXXXXXXXXCCXXXXCCXCCXXXCCCCCCCCCCC C  C CCCCCCCCC  CCCCCCCCC C             C                                                
 ""#""-""""#"-""""""-""-""-"------"""-----------""""-----"-""---"-""""""""-"""-""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCXCC.CCCCXC.CCCCCC.CC.CC.C......C+C...........++++.....+.++...+.++++++++.+++.++++++++++++++++++++++++++++++++++++++++++++++++++++++
+BB$BB'BBBB$B'BBBBBB'BB'BB'B''''''BCB'''''''''''CCCC'''''C'CC'''C'CCCCCCCC'CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HH_HHXHHHH_HXHHHHHHXHHXHHXHXXXXXXH HXXXXXXXXXXX    XXXXX X  XXX X        X   X                                                      
+XX&XXCXXXX&XCXXXXXXCXXCXXCXCCCCCCX XCCCCCCCCCCC    CCCCC C  CCC C        C   C                                                      
 "##""""""""""-"""-"""-""-"""---"---"------"----------"----------"-"--"-""""-"-""""-"""-""""""""""""""-"""""""""""+""""""""""""""""""
+CXXCCCCCCCCCC.CCC.CCC.CC.CCC...C...C......+..........+..........+.+..+.++++.+.++++.+++.++++++++++++++.+++++++++++C++++++++++++++++++
+B$$BBBBBBBBBB'BBB'BBB'BB'BBB'''B'''B''''''C''''''''''C''''''''''C'C''C'CCCC'C'CCCC'CCC'CCCCCCCCCCCCCC'CCCCCCCCCCC CCCCCCCCCCCCCCCCCC
+H__HHHHHHHHHHXHHHXHHHXHHXHHHXXXHXXXHXXXXXX XXXXXXXXXX XXXXXXXXXX X XX X    X X    X   X              X                              
+X&&XXXXXXXXXXCXXXCXXXCXXCXXXCCCXCCCXCCCCCC CCCCCCCCCC CCCCCCCCCC C CC C    C C    C   C              C                              
 """#"""""""""""""-"""--"-"----"-----------------------------"-------""-"""""""""""-""""""""""""""""""""""""""""""+""+"""""""""""""""
+CCCXCCCCCCCCCCCCC.CCC..C.C....C.............................+.......++.+++++++++++.++++++++++++++++++++++++++++++C++C+++++++++++++++
+BBB$BBBBBBBBBBBBB'BBB''B'B''''B'''''''''''''''''''''''''''''C'''''''CC'CCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCCCCCCCCCC
+HHH_HHHHHHHHHHHHHXHHHXXHXHXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX  X           X                                                 
+XXX&XXXXXXXXXXXXXCXXXCCXCXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC  C           C                                                 
 ###"""""""""""""""""""""""--"----"------------------------"---"-----""-""""--"""""-"-"""""""""""""""""""""""""""""""""""""""""""""""
+XXXCCCCCCCCCCCCCCCCCCCCCCC..C....C........................+...+.....++.++++..+++++.+.+++++++++++++++++++++++++++++++++++++++++++++++
+$$$BBBBBBBBBBBBBBBBBBBBBBB''B''''B''''''''''''''''''''''''C'''C'''''CC'CCCC''CCCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+___HHHHHHHHHHHHHHHHHHHHHHHXXHXXXXHXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX  X    XX     X X                                               
+&&&XXXXXXXXXXXXXXXXXXXXXXXCCXCCCCXCCCCCCCCCCCCCCCCCCCCCCCC CCC CCCCC  C    CC     C C                                               
 """"""#"""""""-""-""--"""--""---"----------------"--------""------"-"-""""-"-""""""""""""""""""""""""""+""""""""""""""""""""""""""""
+CCCCCCXCCCCCCC.CC.CC..CCC..C+...+................+........++......+.+.++++.+.++++++++++++++++++++++++++C++++++++++++++++++++++++++++
+BBBBBB$BBBBBBB'BB'BB''BBB''BC'''C''''''''''''''''C''''''''CC''''''C'C'CCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHH_HHHHHHHXHHXHHXXHHHXXH XXX XXXXXXXXXXXXXXXX XXXXXXXX  XXXXXX X X    X X                                                       
+XXXXXX&XXXXXXXCXXCXXCCXXXCCX CCC CCCCCCCCCCCCCCCC CCCCCCCC  CCCCCC C C    C C                                                       
 """"""""""""""""-""""-""-""-"-------------------"--------"-"----"---"--"--""""---"""""-"""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCC.CCCC.CC.CC.C...................+........+.+....+...+..+..++++...+++++.+++++++++++++++++++++++++++++++++++++++++++++
+BBBBBBBBBBBBBBBB'BBBB'BB'BB'B'''''''''''''''''''C''''''''C'C''''C'''C''C''CCCC'''CCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHHHHHHHHHHHHXHHHHXHHXHHXHXXXXXXXXXXXXXXXXXXX XXXXXXXX X XXXX XXX XX XX    XXX     X                                             
+XXXXXXXXXXXXXXXXCXXXXCXXCXXCXCCCCCCCCCCCCCCCCCCC CCCCCCCC C CCCC CCC CC CC    CCC     C                                             
 ""#"""""""""""""-"""--"-""----""------------------"------+"""----""-"--"""""""-""""""""-""""""""""""""""""""""""""""""""""""""""""""
+CCXCCCCCCCCCCCCC.CCC..C.CC....CC..................+......C+++....++.+..+++++++.++++++++.++++++++++++++++++++++++++++++++++++++++++++
+BB$BBBBBBBBBBBBB'BBB''B'BB''''BB''''''''''''''''''C'''''' CCC''''CC'C''CCCCCCC'CCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HH_HHHHHHHHHHHHHXHHHXXHXHHXXXXHHXXXXXXXXXXXXXXXXXX XXXXXX    XXXX  X XX       X        X                                            
+XX&XXXXXXXXXXXXXCXXXCCXCXXCCCCXXCCCCCCCCCCCCCCCCCC CCCCCC    CCCC  C CC       C        C                                            
 ""#"""""""""""""""""""--""-----------------------------"----"----"--"--"-"-"-"-"""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCXCCCCCCCCCCCCCCCCCCC..CC.............................+....+....+..+..+.+.+.+.+++++++++++++++++++++++++++++++++++++++++++++++++++++
+BB$BBBBBBBBBBBBBBBBBBB''BB'''''''''''''''''''''''''''''C''''C''''C''C''C'C'C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HH_HHHHHHHHHHHHHHHHHHHXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXX XX XX X X X X                                                     
+XX&XXXXXXXXXXXXXXXXXXXCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC CCCC CC CC C C C C                                                     
 """""""-"-""""""--------""-----"----"--------------"----------"""-"--"-""""-"-""--""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCC.C.CCCCCC........CC.....C....C..............+..........+++.+..+.++++.+.++..++++++++++++++++++++++++++++++++++++++++++++++++++
+BBBBBBB'B'BBBBBB''''''''BB'''''B''''B''''''''''''''C''''''''''CCC'C''C'CCCC'C'CC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHHHXHXHHHHHHXXXXXXXXHHXXXXXHXXXXHXXXXXXXXXXXXXX XXXXXXXXXX   X XX X    X X  XX                                                  
+XXXXXXXCXCXXXXXXCCCCCCCCXXCCCCCXCCCCXCCCCCCCCCCCCCC CCCCCCCCCC   C CC C    C C  CC                                                  
 """""""""""""""""""-""---"""-----------------------------------"----"""--"""-""-""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCC.CC...CCC...................................+....+++..+++.++.++++++++++++++++++++++++++++++++++++++++++++++++++++
+BBBBBBBBBBBBBBBBBBB'BB'''BBB'''''''''''''''''''''''''''''''''''C''''CCC''CCC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHHHHHHHHHHHHHHHXHHXXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX   XX   X  X                                                    
+XXXXXXXXXXXXXXXXXXXCXXCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC   CC   C  C                                                    
 ""#""""""""""""""-"""--""--"----------------------------"-""-"""""-"""""""""""""""""-"""""""""""""""""""""""""""""""""""""""""""""""
+CCXCCCCCCCCCCCCCC.CCC..CC..C............................+.++.+++++.+++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++
+BB$BBBBBBBBBBBBBB'BBB''BB''B''''''''''''''''''''''''''''C'CC'CCCCC'CCCCCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HH_HHHHHHHHHHHHHHXHHHXXHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX X  X     X                 X                                               
+XX&XXXXXXXXXXXXXXCXXXCCXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  C     C                 C                                               
 """""""""""""""-"""-"-"-"--"--------------=-------------"-""-""""--"""""""""""""""--""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCC.C+C.C.C.C..C..............C.............+.++.++++..+++++++++++++++..++++++++++++++++++++++++++++++++++++++++++++++++
+BBBBBBBBBBBBBBB'BCB'B'B'B''B'''''''''''''' '''''''''''''C'CC'CCCC''CCCCCCCCCCCCCCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHHHHHHHHHHHXH HXHXHXHXXHXXXXXXXXXXXXXX XXXXXXXXXXXXX X  X    XX               XX                                                
+XXXXXXXXXXXXXXXCX XCXCXCXCCXCCCCCCCCCCCCCC CCCCCCCCCCCCC C  C    CC               CC                                                
 """"#-""""""-"""-""-""""""------------------"-------"--"--"-"-"-"-"""""""""""""-""""""""""""""""""""""""""""""""""""""+""""""""""+"+
+CCCCX.CCCCCC.CCC.CC.CCCCCC..................+.......+..+..+.+.+.+.+++++++++++++.++++++++++++++++++++++++++++++++++++++C++++++++++C+C
+BBBB$'BBBBBB'BBB'BB'BBBBBB''''''''''''''''''C'''''''C''C''C'C'C'C'CCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC C 
+HHHH_XHHHHHHXHHHXHHXHHHHHHXXXXXXXXXXXXXXXXXX XXXXXXX XX XX X X X X             X                                                    
+XXXX&CXXXXXXCXXXCXXCXXXXXXCCCCCCCCCCCCCCCCCC CCCCCCC CC CC C C C C             C                                                    
 """""""""-""""""""--""""""----------------"--------------"---"-"--"---""-"""""""""-"""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCC.CCCCCCCC..CCCCCC................+..............+...+.+..+...++.+++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++
+BBBBBBBBB'BBBBBBBB''BBBBBB''''''''''''''''C''''''''''''''C'''C'C''C'''CC'CCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHHHHHXHHHHHHHHXXHHHHHHXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX XXX X XX XXX  X         X                                                 
+XXXXXXXXXCXXXXXXXXCCXXXXXXCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC CCC C CC CCC  C         C                                                 
 """""""""""""""""""""""""--""--------------"-"-----------"--""-""-"--"""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""+""
+CCCCCCCCCCCCCCCCCCCCCCCCC..CC..............+.+...........+..++.++.+..+++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++C++
+BBBBBBBBBBBBBBBBBBBBBBBBB''BB''''''''''''''C'C'''''''''''C''CC'CC'C''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC
+HHHHHHHHHHHHHHHHHHHHHHHHHXXHHXXXXXXXXXXXXXX X XXXXXXXXXXX XX  X  X XX   X                                                           
+XXXXXXXXXXXXXXXXXXXXXXXXXCCXXCCCCCCCCCCCCCC C CCCCCCCCCCC CC  C  C CC   C                                                           
 """"""""""""""""""""-"""---"----"-----------------"------"------"""-"""-"""""""-"""""""""""""""""""""""""""""""""""""""""""""""""+""
+CCCCCCCCCCCCCCCCCCCC.CCC...C....C.................+......+......+++.+++.+++++++.+++++++++++++++++++++++++++++++++++++++++++++++++C++
+BBBBBBBBBBBBBBBBBBBB'BBB'''B''''B'''''''''''''''''C''''''C''''''CCC'CCC'CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC
+HHHHHHHHHHHHHHHHHHHHXHHHXXXHXXXXHXXXXXXXXXXXXXXXXX XXXXXX XXXXXX   X   X       X                                                    
+XXXXXXXXXXXXXXXXXXXXCXXXCCCXCCCCXCCCCCCCCCCCCCCCCC CCCCCC CCCCCC   C   C       C                                                    
 "#"""-""#-""-""""""""""--------------------------------------"""-""-"-"""""--"""""""-""""""""""""""""""""""""""""""""""""+""""""""""
+CXCCC.CCX.CC.CCCCCCCCCC......................................+++.++.+.+++++..+++++++.++++++++++++++++++++++++++++++++++++C++++++++++
+B$BBB'BB$'BB'BBBBBBBBBB''''''''''''''''''''''''''''''''''''''CCC'CC'C'CCCCC''CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC
+H_HHHXHH_XHHXHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   X  X X     XX       X                                               
+X&XXXCXX&CXXCXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   C  C C     CC       C                                               
 """""""""""""""""-""""-"---"--------------------------"---"-""-"""--""""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCC.CCCC.C...C..........................+...+.++.+++..++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+BBBBBBBBBBBBBBBBB'BBBB'B'''B''''''''''''''''''''''''''C'''C'CC'CCC''CCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHHHHHHHHHHHHHXHHHHXHXXXHXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X  X   XX        X                                                       
+XXXXXXXXXXXXXXXXXCXXXXCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC CCC C  C   CC        C                                                       
 """"""""""""""""""""""""-"------------------------------""-"""-""--"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCC.C..............................++.+++.++..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+BBBBBBBBBBBBBBBBBBBBBBBB'B''''''''''''''''''''''''''''''CC'CCC'CC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHHHHHHHHHHHHHHHHHHHHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X   X  XX                                                                 
+XXXXXXXXXXXXXXXXXXXXXXXXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C   C  CC                                                                 
 """"""""""""""""-"-""----"--"-------------------"---"---""""""-""-""""""""""""""""""""""""""""""""""""""""+"""""""""""""""""""""""""
+CCCCCCCCCCCCCCCC.C.CC....C..C...................+...+...++++++.++.++++++++++++++++++++++++++++++++++++++++C+++++++++++++++++++++++++
+BBBBBBBBBBBBBBBB'B'BB''''B''B'''''''''''''''''''C'''C'''CCCCCC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC
+HHHHHHHHHHHHHHHHXHXHHXXXXHXXHXXXXXXXXXXXXXXXXXXX XXX XXX      X  X                                                                  
+XXXXXXXXXXXXXXXXCXCXXCCCCXCCXCCCCCCCCCCCCCCCCCCC CCC CCC      C  C                                                                  
 """"""""#-"""-"-"""""""-""-----------------"-"---"-"---""-"-""""""-+""""""""""""""""""""""""""""""""""""""+"""""""""""""""""+""""++"
+CCCCCCCCX.CCC.C.CCCC+CC.CC.................+.+...+.+...++.+.++++++.C++++++++++++++++++++++++++++++++++++++C+++++++++++++++++C++++CC+
+BBBBBBBB$'BBB'B'BBBBCBB'BB'''''''''''''''''C'C'''C'C'''CC'C'CCCCCC' CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCC CCCC  C
+HHHHHHHH_XHHHXHXHHHH HHXHHXXXXXXXXXXXXXXXXX X XXX X XXX  X X      X                                                                 
+XXXXXXXX&CXXXCXCXXXX XXCXXCCCCCCCCCCCCCCCCC C CCC C CCC  C C      C                                                                 
 ""#"""""""""""""-""-"""-""---------------------"--"--"-""""--""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""""
+CCXCCCCCCCCCCCCC.CC.CCC.CC.....................+..+..+.++++..++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++++
+BB$BBBBBBBBBBBBB'BB'BBB'BB'''''''''''''''''''''C''C''C'CCCC''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC
+HH_HHHHHHHHHHHHHXHHXHHHXHHXXXXXXXXXXXXXXXXXXXXX XX XX X    XX  X                                                                    
+XX&XXXXXXXXXXXXXCXXCXXXCXXCCCCCCCCCCCCCCCCCCCCC CC CC C    CC  C                                                                    
 """"""""""""""""""""""--"""--------------------"-"---"---""--"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""++
+CCCCCCCCCCCCCCCCCCCCCC..CCC....................+.+...+...++..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++CC
+BBBBBBBBBBBBBBBBBBBBBB''BBB''''''''''''''''''''C'C'''C'''CC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC  
+HHHHHHHHHHHHHHHHHHHHHHXXHHHXXXXXXXXXXXXXXXXXXXX X XXX XXX  XX                                                                       
+XXXXXXXXXXXXXXXXXXXXXXCCXXXCCCCCCCCCCCCCCCCCCCC C CCC CCC  CC                                                                       
 """"""""""""""""""""""--"--"-------------------"-"-------""-""-"""""""-""""""""""""""""""""""""""""""""""""""""+"+""""+""""""+""""""
+CCCCCCCCCCCCCCCCCCCCCC..C..C...................+.+.......++.++.+++++++.++++++++++++++++++++++++++++++++++++++++C+C++++C++++++C++++++
+BBBBBBBBBBBBBBBBBBBBBB''B''B'''''''''''''''''''C'C'''''''CC'CC'CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCC CCCCCC CCCCCC
+HHHHHHHHHHHHHHHHHHHHHHXXHXXHXXXXXXXXXXXXXXXXXXX X XXXXXXX  X  X       X                                                             
+XXXXXXXXXXXXXXXXXXXXXXCCXCCXCCCCCCCCCCCCCCCCCCC C CCCCCCC  C  C       C                                                             
 ""#""-""-"--"""-""""----""--"----------------"""---""-""-"---""-""""""""""""""""""""""""""""""""""""""""""""""""+""""+"""+""""""""""
+CCXCC.CC.C..CCC.CCCC....CC..C................+++...++.++.+...++.++++++++++++++++++++++++++++++++++++++++++++++++C++++C+++C++++++++++
+BB$BB'BB'B''BBB'BBBB''''BB''B''''''''''''''''CCC'''CC'CC'C'''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC CCC CCCCCCCCCC
+HH_HHXHHXHXXHHHXHHHHXXXXHHXXHXXXXXXXXXXXXXXXX   XXX  X  X XXX  X                                                                    
+XX&XXCXXCXCCXXXCXXXXCCCCXXCCXCCCCCCCCCCCCCCCC   CCC  C  C CCC  C                                                                    
 -"""""""""""""-""""""""-""--------------------------""-"-""-"-""""-"--"""""""""""""""""""""""""""""""""""""""""""""""""""""""+""""""
+.CCCCCCCCCCCCC.CCCCCCCC.CC..........................++.+.++.+.++++.+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++C++++++
+'BBBBBBBBBBBBB'BBBBBBBB'BB''''''''''''''''''''''''''CC'C'CC'C'CCCC'C''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC
+XHHHHHHHHHHHHHXHHHHHHHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXX  X X  X X    X XX                                                              
+CXXXXXXXXXXXXXCXXXXXXXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCC  C C  C C    C CC                                                              
 -""""""""""""""""-""""--"------------------------"--"-"--"""-""-""-""-""""""""""""""""""""""""""""""""+"""""""""""""+"""""""+""""""+
+.CCCCCCCCCCCCCCCC.CCCC..C........................+..+.+..+++.++.++.++.++++++++++++++++++++++++++++++++C+++++++++++++C+++++++C++++++C
+'BBBBBBBBBBBBBBBB'BBBB''B''''''''''''''''''''''''C''C'C''CCC'CC'CC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC CCCCCCC CCCCCC 
+XHHHHHHHHHHHHHHHHXHHHHXXHXXXXXXXXXXXXXXXXXXXXXXXX XX X XX   X  X  X  X                                                              
+CXXXXXXXXXXXXXXXXCXXXXCCXCCCCCCCCCCCCCCCCCCCCCCCC CC C CC   C  C  C  C                                                              
 -""""""""""""""""-""""--"-------------------"----"-----"---"--"""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""++""""""+
+.CCCCCCCCCCCCCCCC.CCCC..C...................+....+.....+...+..+++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++CC++++++C
+'BBBBBBBBBBBBBBBB'BBBB''B'''''''''''''''''''C''''C'''''C'''C''CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCC 
+XHHHHHHHHHHHHHHHHXHHHHXXHXXXXXXXXXXXXXXXXXXX XXXX XXXXX XXX XX       X                                                              
+CXXXXXXXXXXXXXXXXCXXXXCCXCCCCCCCCCCCCCCCCCCC CCCC CCCCC CCC CC       C                                                              
 --"""""""""""""""-"""-"-------------------------"----"-"--""-"""""""-"""""""""""""""""""""""""""+"""+""""+"""""""""""+"""++""++"""+"
+..CCCCCCCCCCCCCCC.CCC.C.........................+....+.+..++.+++++++.+++++++++++++++++++++++++++C+++C++++C+++++++++++C+++CC++CC+++C+
+''BBBBBBBBBBBBBBB'BBB'B'''''''''''''''''''''''''C''''C'C''CC'CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCC CCC CCCC CCCCCCCCCCC CCC  CC  CCC C
+XXHHHHHHHHHHHHHHHXHHHXHXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X XX  X       X                                                               
+CCXXXXXXXXXXXXXXXCXXXCXCCCCCCCCCCCCCCCCCCCCCCCCC CCCC C CC  C       C                                                               
 --"""""""""#""""""-"-----------"------------"""""------""-"""-""-""""""""""""""""""""""""""""""""""""""""+"""""""+""""+""""""""+""++
+..CCCCCCCCCXCCCCCC.C...........+............+++++......++.+++.++.++++++++++++++++++++++++++++++++++++++++C+++++++C++++C++++++++C++CC
+''BBBBBBBBB$BBBBBB'B'''''''''''C''''''''''''CCCCC''''''CC'CCC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC CCCC CCCCCCCC CC  
+XXHHHHHHHHH_HHHHHHXHXXXXXXXXXXX XXXXXXXXXXXX     XXXXXX  X   X  X                                                                   
+CCXXXXXXXXX&XXXXXXCXCCCCCCCCCCC CCCCCCCCCCCC     CCCCCC  C   C  C                                                                   
 --""""""""""""""""-"-"---"-----"------------"----------"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"+""""""""""++
+..CCCCCCCCCCCCCCCC.C.C...C.....+............+..........+.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+C++++++++++CC
+''BBBBBBBBBBBBBBBB'B'B'''B'''''C''''''''''''C''''''''''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCCCCC  
+XXHHHHHHHHHHHHHHHHXHXHXXXHXXXXX XXXXXXXXXXXX XXXXXXXXXX X                                                                           
+CCXXXXXXXXXXXXXXXXCXCXCCCXCCCCC CCCCCCCCCCCC CCCCCCCCCC C                                                                           
 "-""""""""""-""""-"""----"---"----------------"""-----"""""-"-""""-"""""""""""""""""""""""""""""""+""""+"""""""""""""""+"""""+"+""+"
+C.CCCCCCCCCC.CCCC.CCC....C...+................+++.....+++++.+.++++.+++++++++++++++++++++++++++++++C++++C+++++++++++++++C+++++C+C++C+
+B'BBBBBBBBBB'BBBB'BBB''''B'''C''''''''''''''''CCC'''''CCCCC'C'CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC CCCCCCCCCCCCCCC CCCCC C CC C
+HXHHHHHHHHHHXHHHHXHHHXXXXHXXX XXXXXXXXXXXXXXXX   XXXXX     X X    X                                                                 
+XCXXXXXXXXXXCXXXXCXXXCCCCXCCC CCCCCCCCCCCCCCCC   CCCCC     C C    C                                                                 
 "-"""-"""""----"--"-"----"--------------="-"""---""----""""""""""""""""""""""""""""""""""""""+""""+"""""+"+"+"+++"+"++"++"+++++"++++
+C.+CC.CCCCC....C..C.C....C..............C+.+++...++....++++++++++++++++++++++++++++++++++++++C++++C+++++C+C+C+CCC+C+CC+CC+CCCCC+CCCC
+B'CBB'BBBBB''''B''B'B''''B'''''''''''''' C'CCC'''CC''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC CCCCC C C C   C C  C  C     C    
+HX HHXHHHHHXXXXHXXHXHXXXXHXXXXXXXXXXXXXX  X   XXX  XXXX                                                                             
+XC XXCXXXXXCCCCXCCXCXCCCCXCCCCCCCCCCCCCC  C   CCC  CCCC                                                                             
 ""-""-""""""""""-"""-----"------"-------"------"--"----""--""-""-""""""""""""""""""""""""""""""""""""+""""""""""""""""""+"+"""+"""""
+CC.CC.CCCCCCCCCC.CCC.....C......C.......+......+..+....++..++.++.++++++++++++++++++++++++++++++++++++C++++++++++++++++++C+C+++C+++++
+BB'BB'BBBBBBBBBB'BBB'''''B''''''B'''''''C''''''C''C''''CC''CC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC C CCC CCCCC
+HHXHHXHHHHHHHHHHXHHHXXXXXHXXXXXXHXXXXXXX XXXXXX XX XXXX  XX  X  X                                                                   
+XXCXXCXXXXXXXXXXCXXXCCCCCXCCCCCCXCCCCCCC CCCCCC CC CCCC  CC  C  C                                                                   
 """""-"""-"""""-"""-""--"--------------------"----------"-"""--"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"+"+"
+CCCCC.CCC.CCCCC.CCC.CC..C....................+..........+.+++..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+C+C+
+BBBBB'BBB'BBBBB'BBB'BB''B''''''''''''''''''''C''''''''''C'CCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C
+HHHHHXHHHXHHHHHXHHHXHHXXHXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X   XX                                                                     
+XXXXXCXXXCXXXXXCXXXCXXCCXCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC C   CC                                                                     
 """""""""""""-""""""""-""--------------------""----"------""""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""+""+"""+""
+CCCCCCCCCCCCC.CCCCCCCC.+C....................++....+......++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++C++C+++C++
+BBBBBBBBBBBBB'BBBBBBBB'CB''''''''''''''''''''CC''''C''''''CCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCC CC
+HHHHHHHHHHHHHXHHHHHHHHX HXXXXXXXXXXXXXXXXXXXX  XXXX XXXXXX        X                                                                 
+XXXXXXXXXXXXXCXXXXXXXXC XCCCCCCCCCCCCCCCCCCCC  CCCC CCCCCC        C                                                                 
 -""-""-#"""""""""-""-----"-""-----------"--"---"------""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""++"+++++++"+++++++
+.CC.CC.XCCCCCCCCC.CC.....+.CC...........+..+...+......++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++CC+CCCCCCC+CCCCCCC
+'BB'BB'$BBBBBBBBB'BB'''''C'BB'''''''''''C''C'''C''''''CCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C       C       
+XHHXHHX_HHHHHHHHHXHHXXXXX XHHXXXXXXXXXXX XX XXX XXXXXX      X                                                                       
+CXXCXXC&XXXXXXXXXCXXCCCCC CXXCCCCCCCCCCC CC CCC CCCCCC      C                                                                       
 """--"-""-""""""-""-""-"---"--------------"-----""-------"---""-"""""""""""""""""""""""""""""""""""""""""""""""""""""++"""+"""+"""++
+CCC..C.CC.CCCCCC.CC.CC.C...C..............+.....++.......+...++.+++++++++++++++++++++++++++++++++++++++++++++++++++++CC+++C+++C+++CC
+BBB''B'BB'BBBBBB'BB'BB'B'''B''''''''''''''C'''''CC'''''''C'''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCC CCC CCC  
+HHHXXHXHHXHHHHHHXHHXHHXHXXXHXXXXXXXXXXXXXX XXXXX  XXXXXXX XXX  X                                                                    
+XXXCCXCXXCXXXXXXCXXCXXCXCCCXCCCCCCCCCCCCCC CCCCC  CCCCCCC CCC  C                                                                    
 """--""""--""""""""""-"------""----------------------"-"""""""""""""""""""""""+"""""""""""""""""""""""""""""""""""""""+"""++""++++""
+CCC..CCCC..CCCCCCCCCC.C......C+......................+.+++++++++++++++++++++++C+++++++++++++++++++++++++++++++++++++++C+++CC++CCCC++
+BBB''BBBB''BBBBBBBBBB'B''''''BC''''''''''''''''''''''C'CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC  CC    CC
+HHHXXHHHHXXHHHHHHHHHHXHXXXXXXH XXXXXXXXXXXXXXXXXXXXXX X                                                                             
+XXXCCXXXXCCXXXXXXXXXXCXCCCCCCX CCCCCCCCCCCCCCCCCCCCCC C                                                                             
 """---""""--"-""""""--"----"-----"-------------------"""-"""""""""""""""""""""+"""""""""""""""""""""""""""""""""""""""""""+"+"+++"""
+CCC...CCCC..C.CCCCCC..C....+.....C...................+++.+++++++++++++++++++++C+++++++++++++++++++++++++++++++++++++++++++C+C+CCC+++
+BBB'''BBBB''B'BBBBBB''B''''C'''''B'''''''''''''''''''CCC'CCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C   CCC
+HHHXXXHHHHXXHXHHHHHHXXHXXXX XXXXXHXXXXXXXXXXXXXXXXXXX   X                                                                           
+XXXCCCXXXXCCXCXXXXXXCCXCCCC CCCCCXCCCCCCCCCCCCCCCCCCC   C                                                                           
 """"---"----""""-""---"-------"-----------"---"-"----"""""""-""""""""""""""""""""""""""""""""""""""""""""+"+""""++"""+"++""++"++++++
+CCCC...C....CCCC.CC...C.......+...........+...+.+....+++++++.++++++++++++++++++++++++++++++++++++++++++++C+C++++CC+++C+CC++CC+CCCCCC
+BBBB'''B''''BBBB'BB'''B'''''''C'''''''''''C'''C'C''''CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCC  CCC C  CC  C      
+HHHHXXXHXXXXHHHHXHHXXXHXXXXXXX XXXXXXXXXXX XXX X XXXX       X                                                                       
+XXXXCCCXCCCCXXXXCXXCCCXCCCCCCC CCCCCCCCCCC CCC C CCCC       C                                                                       
 """-"-""""""-"-"""-"""-""-------------------"--------"---"""-""""""""""""""""""""""""""""""""""""""""""""""""""""+""+"""+"""+""+""+"
+CCC.C.CCCCCC.C.CCC.CCC.CC...................+........+...+++.++++++++++++++++++++++++++++++++++++++++++++++++++++C++C+++C+++C++C++C+
+BBB'B'BBBBBB'B'BBB'BBB'BB'''''''''''''''''''C''''''''C'''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCC CCC CC CC C
+HHHXHXHHHHHHXHXHHHXHHHXHHXXXXXXXXXXXXXXXXXXX XXXXXXXX XXX   X                                                                       
+XXXCXCXXXXXXCXCXXXCXXXCXXCCCCCCCCCCCCCCCCCCC CCCCCCCC CCC   C                                                                       
 """-"-"-"--"---"""-"---"---"---------"--------------""--"-""""""""""""""""""""""""""""""""""""""""""""""""""+""""""+++"""++""+"+"""+
+CCC.C.C.C..C...CCC.C...C...+.........+..............++..+.++++++++++++++++++++++++++++++++++++++++++++++++++C++++++CCC+++CC++C+C+++C
+BBB'B'B'B''B'''BBB'B'''B'''C'''''''''C''''''''''''''CC''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC   CCC  CC C CCC 
+HHHXHXHXHXXHXXXHHHXHXXXHXXX XXXXXXXXX XXXXXXXXXXXXXX  XX X                                                                          
+XXXCXCXCXCCXCCCXXXCXCCCXCCC CCCCCCCCC CCCCCCCCCCCCCC  CC C                                                                          
 """""--"-"""--""""""---------------------------------"-""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+""++""+""+"+""
+CCCCC..C.CCC..CCCCCC.................................+.++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C++CC++C++C+C++
+BBBBB''B'BBB''BBBBBB'''''''''''''''''''''''''''''''''C'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC  CC CC C CC
+HHHHHXXHXHHHXXHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X  X                                                                          
+XXXXXCCXCXXXCCXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  C                                                                          
 ""#"--""-"""""-"""""""--"-"-------------"----"--"----"--""""""""""""""""""""""""""""""""""""""""""""""""+M"""""""+"+"++"""+""+""+++"
+CCXC..CC.CCCCC.CCCCCCC..C.C.............+....+..+....+..++++++++++++++++++++++++++++++++++++++++++++++++C +++++++C+C+CC+++C++C++CCC+
+BB$B''BB'BBBBB'BBBBBBB''B'B'''''''''''''C''''C''C''''C''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCC C C  CCC CC CC   C
+HH_HXXHHXHHHHHXHHHHHHHXXHXHXXXXXXXXXXXXX XXXX XX XXXX XX                                                                            
+XX&XCCXXCXXXXXCXXXXXXXCCXCXCCCCCCCCCCCCC CCCC CC CCCC CC                                                                            
 """"--"-""-"""-""""""-""--------------"------------"""""--""""""+""""""""""""""""""""""""""""""""""""""""""""""""+""""++""++"+""++++
+CCCC..C.CC.CCC.CCCCCC.CC..............+............+++++..++++++C++++++++++++++++++++++++++++++++++++++++++++++++C++++CC++CC+C++CCCC
+BBBB''B'BB'BBB'BBBBBB'BB''''''''''''''C''''''''''''CCCCC''CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC  CC  C CC    
+HHHHXXHXHHXHHHXHHHHHHXHHXXXXXXXXXXXXXX XXXXXXXXXXXX     XX                                                                          
+XXXXCCXCXXCXXXCXXXXXXCXXCCCCCCCCCCCCCC CCCCCCCCCCCC     CC                                                                          
 """"---""""""--""""--"--------------"-------------------""--""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""++"++""++""+""
+CCCC...CCCCCC..CCCC..C..............+...................++..++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++CC+CC++CC++C++
+BBBB'''BBBBBB''BBBB''B''''''''''''''C'''''''''''''''''''CC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC  C  CC  CC CC
+HHHHXXXHHHHHHXXHHHHXXHXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX  XX                                                                        
+XXXXCCCXXXXXXCCXXXXCCXCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC  CC                                                                        
 """""--""""""""-"""----"------------------"---------"-------""--""""""""""""""""""""""=""""""""""""""""""""""""+""""""+""++"""+""+""
+CCCCC..CCCCCCCC.CCC....C..................+.........+.......++..++++++++++++++++++++++C++++++++++++++++++++++++C++++++C++CC+++C++C++
+BBBBB''BBBBBBBB'BBB''''B''''''''''''''''''C'''''''''C'''''''CC''CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCC CCCCCC CC  CCC CC CC
+HHHHHXXHHHHHHHHXHHHXXXXHXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXX  XX                                                                    
+XXXXXCCXXXXXXXXCXXXCCCCXCCCCCCCCCCCCCCCCCC CCCCCCCCC CCCCCCC  CC                                                                    
 """"--"-"""-""""""""-"-"---"----------------------""-----"-""""""""-"""""""""""""""""""""""""""""""""""+"""""+"+""""+"+"+"""""+""""+
+CCCC..C.CCC.+CCCCCCC.C.C...C......................++.....+.++++++++.+++++++++++++++++++++++++++++++++++C+++++C+C++++C+C+C+++++C++++C
+BBBB''B'BBB'CBBBBBBB'B'B'''B''''''''''''''''''''''CC'''''C'CCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC C CCCC C C CCCCC CCCC 
+HHHHXXHXHHHX HHHHHHHXHXHXXXHXXXXXXXXXXXXXXXXXXXXXX  XXXXX X        X                                                                
+XXXXCCXCXXXC XXXXXXXCXCXCCCXCCCCCCCCCCCCCCCCCCCCCC  CCCCC C        C                                                                
 """""""""-""""""---""------------------------------"""------"""""""""""""""""""""""""""""""""""""""""""""""""""""++""++"+++"""""+"++
+CCCCCCCCC.CCCCCC...CC..............................+++......+++++++++++++++++++++++++++++++++++++++++++++++++++++CC++CC+CCC+++++C+CC
+BBBBBBBBB'BBBBBB'''BB''''''''''''''''''''''''''''''CCC''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC  C   CCCCC C  
+HHHHHHHHHXHHHHHHXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXXXXX                                                                        
+XXXXXXXXXCXXXXXXCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCCCCC                                                                        
 """"--"""""""-"""-"""----------------------------"-""----"""-""-""-""""""""""""""""""""""""""""""""""""""""""+"+"""""+++"""""""""+""
+CCCC..CCCCCCC.CCC.CCC............................+.++....+++.++.++.++++++++++++++++++++++++++++++++++++++++++C+C+++++CCC+++++++++C++
+BBBB''BBBBBBB'BBB'BBB''''''''''''''''''''''''''''C'CC''''CCC'CC'CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCC   CCCCCCCCC CC
+HHHHXXHHHHHHHXHHHXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX X  XXXX   X  X  X                                                                 
+XXXXCCXXXXXXXCXXXCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CCCC   C  C  C                                                                 
 """"-""""""""""-""""""-""------"-"----------"-----"-"-----"--""--""""""""-""""""""""""""""""""""""""""""""""+"""""+"+++""""""+""""""
+CCCC.CCCCCCCCCC.CCCCCC.CC......+.C..........+.....+.+.....+..++..++++++++.++++++++++++++++++++++++++++++++++C+++++C+CCC++++++C++++++
+BBBB'BBBBBBBBBB'BBBBBB'BB''''''C'B''''''''''C'''''C'C'''''C''CC''CCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC C   CCCCCC CCCCCC
+HHHHXHHHHHHHHHHXHHHHHHXHHXXXXXX XHXXXXXXXXXX XXXXX X XXXXX XX  XX        X                                                          
+XXXXCXXXXXXXXXXCXXXXXXCXXCCCCCC CXCCCCCCCCCC CCCCC C CCCCC CC  CC        C                                                          
 """""""""""-"""-"""""---"-----"---"---------"---------"--""-""""""""""""""""""""""""""""+""+"""""""""+"+"""++""++++"+++"+++++"+"++++
+CCCCCCCCCCC.CCC.CCCCC...C.....+...+.........+.........+..++.++++++++++++++++++++++++++++C++C+++++++++C+C+++CC++CCCC+CCC+CCCCC+C+CCCC
+BBBBBBBBBBB'BBB'BBBBB'''B'''''C'''C'''''''''C'''''''''C''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCCCC C CCC  CC    C   C     C C    
+HHHHHHHHHHHXHHHXHHHHHXXXHXXXXX XXX XXXXXXXXX XXXXXXXXX XX  X                                                                        
+XXXXXXXXXXXCXXXCXXXXXCCCXCCCCC CCC CCCCCCCCC CCCCCCCCC CC  C                                                                        
 """"-""""""-"""-""------------"------------------"-"-""""-""""""""""""""""""""""""""""""""+""""""""""""""""+""""+"+++"+""+++"++++++"
+CCCC.CCCCCC.CCC.CC............+..................+.+.++++.++++++++++++++++++++++++++++++++C++++++++++++++++C++++C+CCC+C++CCC+CCCCCC+
+BBBB'BBBBBB'BBB'BB''''''''''''C''''''''''''''''''C'C'CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC CCCC C   C CC   C      C
+HHHHXHHHHHHXHHHXHHXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX X X    X                                                                          
+XXXXCXXXXXXCXXXCXXCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC C C    C                                                                          
 """"-""""""""""-"""-""------------------------"-----"---"""""""""""""""""""""""""""""""""""""""""""""""""""""""++"++++++++"""+"++++"
+CCCC.CCCCCCCCCC.CCC.CC........................+.....+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++CC+CCCCCCCC+++C+CCCC+
+BBBB'BBBBBBBBBB'BBB'BB''''''''''''''''''''''''C'''''C'''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C        CCC C    C
+HHHHXHHHHHHHHHHXHHHXHHXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX                                                                            
+XXXXCXXXXXXXXXXCXXXCXXCCCCCCCCCCCCCCCCCCCCCCCC CCCCC CCC                                                                            
 """"-""""--""-"-"""-------------"------------"---"--"----""""""""""""""""""""""""""""""""""""""""""""""""""""""""+++++"+"++""+"+"+++
+CCCC.CCCC..CC.C.CCC.............+............+...+..+....++++++++++++++++++++++++++++++++++++++++++++++++++++++++CCCCC+C+CC++C+C+CCC
+BBBB'BBBB''BB'B'BBB'''''''''''''C''''''''''''C'''C''C''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC     C C  CC C C   
+HHHHXHHHHXXHHXHXHHHXXXXXXXXXXXXX XXXXXXXXXXXX XXX XX XXXX                                                                           
+XXXXCXXXXCCXXCXCXXXCCCCCCCCCCCCC CCCCCCCCCCCC CCC CC CCCC                                                                           
 """---"-"""""---"-----"----------------------"--"----"""-"""""-""""""""""""""""""""""""""""""""""""""""""""""+""""++""+"+++++"+"+"++
+CCC...C.CCCCC...C.....C......................+..+....+++.+++++.++++++++++++++++++++++++++++++++++++++++++++++C++++CC++C+CCCCC+C+C+CC
+BBB'''B'BBBBB'''B'''''B''''''''''''''''''''''C''C''''CCC'CCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC  CC C     C C C  
+HHHXXXHXHHHHHXXXHXXXXXHXXXXXXXXXXXXXXXXXXXXXX XX XXXX   X     X                                                                     
+XXXCCCXCXXXXXCCCXCCCCCXCCCCCCCCCCCCCCCCCCCCCC CC CCCC   C     C                                                                     
 """""""""""""""-""--"---"----"---------"-------"--"----""""""""""""""""""""""""""""""""""""""""""""""""+"+"+"""""+++++++++++"+++""++
+CCCCCCCCCCCCCCC.CC..C...C....C.........+.......+..+....++++++++++++++++++++++++++++++++++++++++++++++++C+C+C+++++CCCCCCCCCCC+CCC++CC
+BBBBBBBBBBBBBBB'BB''B'''B''''B'''''''''C'''''''C''C''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C CCCCC           C   CC  
+HHHHHHHHHHHHHHHXHHXXHXXXHXXXXHXXXXXXXXX XXXXXXX XX XXXX                                                                             
+XXXXXXXXXXXXXXXCXXCCXCCCXCCCCXCCCCCCCCC CCCCCCC CC CCCC                                                                             
 """""""-"""-"""-""--"--------------------------"----"-"""""""-""""""""""""""""""""""""""""""""""""""""""""+"""++"+++++""+++"+"++++++
+CCCCCCC.CCC.CCC.CC..C..........................+....+.+++++++.++++++++++++++++++++++++++++++++++++++++++++C+++CC+CCCCC++CCC+C+CCCCCC
+BBBBBBB'BBB'BBB'BB''B''''''''''''''''''''''''''C''''C'CCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC  C     CC   C C      
+HHHHHHHXHHHXHHHXHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X       X                                                                      
+XXXXXXXCXXXCXXXCXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC C       C                                                                      
 """""""""""""-"--"-----------------------"---""--""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""+""""++"+"++++"+"++++"+
+CCCCCCCCCCCCC.C..C.......................+...++..++...+++++++++++++++++++++++++++++++++++++++++++++++++++++++C++++CC+C+CCCC+C+CCCC+C
+BBBBBBBBBBBBB'B''B'''''''''''''''''''''''C'''CC''CC'''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC  C C    C C    C 
+HHHHHHHHHHHHHXHXXHXXXXXXXXXXXXXXXXXXXXXXX XXX  XX  XXX                                                                              
+XXXXXXXXXXXXXCXCCXCCCCCCCCCCCCCCCCCCCCCCC CCC  CC  CCC                                                                              
 ""-"""-""""--""""-"""---------------------"--+-""""-"-""""""""""""""""""""""""""""""""""""""""""""++"+"""+"""+++++++"+++++++"+++++++
+CC.CCC.CCCC..CCCC.CCC.....................+..C.++++.+.++++++++++++++++++++++++++++++++++++++++++++CC+C+++C+++CCCCCCC+CCCCCCC+CCCCCCC
+BB'BBB'BBBB''BBBB'BBB'''''''''''''''''''''C'' 'CCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C CCC CCC       C       C       
+HHXHHHXHHHHXXHHHHXHHHXXXXXXXXXXXXXXXXXXXXX XX X    X X                                                                              
+XXCXXXCXXXXCCXXXXCXXXCCCCCCCCCCCCCCCCCCCCC CC C    C C                                                                              
 """""""-""""""-"""---"-----------------------"-"---""-"""-""""""""""""""""""""""""""""""""""""""+"""""""""""""""+""+++++++++++++""++
+CCCCCCC.CCCCCC.CCC...C.......................+.+...++.+++.++++++++++++++++++++++++++++++++++++++C+++++++++++++++C++CCCCCCCCCCCCC++CC
+BBBBBBB'BBBBBB'BBB'''B'''''''''''''''''''''''C'C'''CC'CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC CC             CC  
+HHHHHHHXHHHHHHXHHHXXXHXXXXXXXXXXXXXXXXXXXXXXX X XXX  X   X                                                                          
+XXXXXXXCXXXXXXCXXXCCCXCCCCCCCCCCCCCCCCCCCCCCC C CCC  C   C                                                                          
 """""--"-"""""-"-""--"----------------------"------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""++++"""++++++++++"++
+CCCCC..C.CCCCC.C.CC..C......................+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++CCCC+++CCCCCCCCCC+CC
+BBBBB''B'BBBBB'B'BB''B''''''''''''''''''''''C''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCC          C  
+HHHHHXXHXHHHHHXHXHHXXHXXXXXXXXXXXXXXXXXXXXXX XXXXXX                                                                                 
+XXXXXCCXCXXXXXCXCXXCCXCCCCCCCCCCCCCCCCCCCCCC CCCCCC                                                                                 
 "-""""""-"""""--"------"-----------------"--"-"---"""-"""""""""""""""""""""""""""""""""+"""""""""""""""+"""""++"+++""""++++"+++++"++
+C.CCCCCC.CCCCC..C......C.................+..+.+...+++.+++++++++++++++++++++++++++++++++C+++++++++++++++C+++++CC+CCC++++CCCC+CCCCC+CC
+B'BBBBBB'BBBBB''B''''''B'''''''''''''''''C''C'C'''CCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC CCCCC  C   CCCC    C     C  
+HXHHHHHHXHHHHHXXHXXXXXXHXXXXXXXXXXXXXXXXX XX X XXX   X                                                                              
+XCXXXXXXCXXXXXCCXCCCCCCXCCCCCCCCCCCCCCCCC CC C CCC   C                                                                              
 --""""""-"""""---"------"--"------------"-""-"-"-""-"-"""""""""""""""""""""""""""""""""""""""""""""""+"+"""+"""+"++++++++++++++++"++
+..CCCCCC.CCCCC...C......C..+............+.++.+.+.++.+.+++++++++++++++++++++++++++++++++++++++++++++++C+C+++C+++C+CCCCCCCCCCCCCCCC+CC
+''BBBBBB'BBBBB'''B''''''B''C''''''''''''C'CC'C'C'CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCC CCC C                C  
+XXHHHHHHXHHHHHXXXHXXXXXXHXX XXXXXXXXXXXX X  X X X  X X                                                                              
+CCXXXXXXCXXXXXCCCXCCCCCCXCC CCCCCCCCCCCC C  C C C  C C                                                                              
 """""""""-""--""----"-------------------------""""-""""""""""""""""""""""""""""""""+""""""""""""""""""""""""+""""++++"++++++++++++++
+CCCCCCCCC.CC..CC....C.........................++++.++++++++++++++++++++++++++++++++C++++++++++++++++++++++++C++++CCCC+CCCCCCCCCCCCCC
+BBBBBBBBB'BB''BB''''B'''''''''''''''''''''''''CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCC CCCC    C              
+HHHHHHHHHXHHXXHHXXXXHXXXXXXXXXXXXXXXXXXXXXXXXX    X                                                                                 
+XXXXXXXXXCXXCCXXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCC    C                                                                                 
 """""-""--"""--"--"-----------------------"--"--""-"""""""""""""""""""""""""""""""""""""""""""""""""""+"""""+"""+++++"++++++++++++++
+CCCCC.CC..CCC..C..C.......................+..+..++.+++++++++++++++++++++++++++++++++++++++++++++++++++C+++++C+++CCCCC+CCCCCCCCCCCCCC
+BBBBB'BB''BBB''B''B'''''''''''''''''''''''C''C''CC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC CCC     C              
+HHHHHXHHXXHHHXXHXXHXXXXXXXXXXXXXXXXXXXXXXX XX XX  X                                                                                 
+XXXXXCXXCCXXXCCXCCXCCCCCCCCCCCCCCCCCCCCCCC CC CC  C                                                                                 
 """""--""--""----""-----------------------"--"""-"-"-"""""""""""""""""""""""""""""""""""""""""""""""""+""+"+"+"""+++"++"++++++++++++
+CCCCC..CC..CC....CC.......................+..+++.+.+.+++++++++++++++++++++++++++++++++++++++++++++++++C++C+C+C+++CCC+CC+CCCCCCCCCCCC
+BBBBB''BB''BB''''BB'''''''''''''''''''''''C''CCC'C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC C C CCC   C  C            
+HHHHHXXHHXXHHXXXXHHXXXXXXXXXXXXXXXXXXXXXXX XX   X X X                                                                               
+XXXXXCCXXCCXXCCCCXXCCCCCCCCCCCCCCCCCCCCCCC CC   C C C                                                                               
 """""""---"-"-"""--"--"---"---------+-----""-"""-""-"-""""-""""""""""""""""""""""+"""""""""""+""+""+"++"+++"+"+++++"+"++++++++++++++
+CCCCCCC...C.C.CCC..C..C...+.........C.....++.+++.++.+.++++.++++++++++++++++++++++C+++++++++++C++C++C+CC+CCC+C+CCCCC+C+CCCCCCCCCCCCCC
+BBBBBBB'''B'B'BBB''B''B'''C''''''''' '''''CC'CCC'CC'C'CCCC'CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC CC CC C  C   C C     C C              
+HHHHHHHXXXHXHXHHHXXHXXHXXX XXXXXXXXX XXXXX  X   X  X X    X                                                                         
+XXXXXXXCCCXCXCXXXCCXCCXCCC CCCCCCCCC CCCCC  C   C  C C    C                                                                         
 ""-""""-""""-""--"-"----------------------------""-"-""""""""""""""""""""""""""+""""""""""""""""""""""""""+++++++++++""++++++++++++"
+CC.CCCC.CCCC.CC..C.C............................++.+.++++++++++++++++++++++++++C++++++++++++++++++++++++++CCCCCCCCCCC++CCCCCCCCCCCC+
+BB'BBBB'BBBB'BB''B'B''''''''''''''''''''''''''''CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCC           CC            C
+HHXHHHHXHHHHXHHXXHXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X X                                                                               
+XXCXXXXCXXXXCXXCCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C C                                                                               
 "-"""--""-"""-"-----------------------"----------"""""""""""""""""""""""""""""""+""""""""""""""++"""""+""""+++++++++++++++++++++++++
+C.CCC..CC.CCC.C.......................+..........+++++++++++++++++++++++++++++++C++++++++++++++CC+++++C++++CCCCCCCCCCCCCCCCCCCCCCCCC
+B'BBB''BB'BBB'B'''''''''''''''''''''''C''''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC  CCCCC CCCC                         
+HXHHHXXHHXHHHXHXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX                                                                                   
+XCXXXCCXXCXXXCXCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC                                                                                   
 """""-----"--""""----"--------"-----------"---"---""""""""""""""""""""""""""""""""""""""""""""+""+""""""+""""++"+++++++"++++++++++++
+CCCCC.....C..CCCC....C........+...........+...+...++++++++++++++++++++++++++++++++++++++++++++C++C++++++C++++CC+CCCCCCC+CCCCCCCCCCCC
+BBBBB'''''B''BBBB''''B''''''''C'''''''''''C'''C'''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCC CCCC  C       C            
+HHHHHXXXXXHXXHHHHXXXXHXXXXXXXX XXXXXXXXXXX XXX XXX                                                                                  
+XXXXXCCCCCXCCXXXXCCCCXCCCCCCCC CCCCCCCCCCC CCC CCC                                                                                  
 -""""---""-"-----------"-------------------------""""""""""""""""""""""""""""""""""""""""+++"+""++"""+"++""+""+"+"+"+++++++"+++"++++
+.CCCC...CC.C...........C.........................++++++++++++++++++++++++++++++++++++++++CCC+C++CC+++C+CC++C++C+C+C+CCCCCCC+CCC+CCCC
+'BBBB'''BB'B'''''''''''B'''''''''''''''''''''''''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   C CC  CCC C  CC CC C C C       C   C    
+XHHHHXXXHHXHXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXX                                                                                   
+CXXXXCCCXXCXCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCC                                                                                   
 ---""--""---"-"--"---"---"------------------"---"---"""-"""""""""+""""""""""""""""""""""""""""+"++""+++"+""+++++++++"+""+"++"++++"++
+...CC..CC...C.C..C...C...C..................+...+...+++.+++++++++C++++++++++++++++++++++++++++C+CC++CCC+C++CCCCCCCCC+C++C+CC+CCCC+CC
+'''BB''BB'''B'B''B'''B'''B''''''''''''''''''C'''C'''CCC'CCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC C  CC   C CC         C CC C  C    C  
+XXXHHXXHHXXXHXHXXHXXXHXXXHXXXXXXXXXXXXXXXXXX XXX XXX   X                                                                            
+CCCXXCCXXCCCXCXCCXCCCXCCCXCCCCCCCCCCCCCCCCCC CCC CCC   C                                                                            
 ---"""--"""--------------------------------------""-"-""""""""""""""""""""""""""""""""""""""""""""+++""++"+"+++++++++++"+"++++++++++
+...CCC..CCC......................................++.+.++++++++++++++++++++++++++++++++++++++++++++CCC++CC+C+CCCCCCCCCCC+C+CCCCCCCCCC
+'''BBB''BBB''''''''''''''''''''''''''''''''''''''CC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CC  C C           C C          
+XXXHHHXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X X                                                                              
+CCCXXXCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C C                                                                              
 "--"--"--""--"--------------------------"-"---"-"-"""""""""""""""""""""""""""""""""""""""""""""+"++++""+""+"++"+++++++++++++++++++++
+C..C..C..CC..C..........................+.+...+.+.+++++++++++++++++++++++++++++++++++++++++++++C+CCCC++C++C+CC+CCCCCCCCCCCCCCCCCCCCC
+B''B''B''BB''B''''''''''''''''''''''''''C'C'''C'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C    CC CC C  C                     
+HXXHXXHXXHHXXHXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX X X                                                                                  
+XCCXCCXCCXXCCXCCCCCCCCCCCCCCCCCCCCCCCCCC C CCC C C                                                                                  
 ""-""--"""----""---------------------"----"---"--"""""""""""""""""""""""""""""+"""""""+"+""""+""+"+++++"+++++++++="+++++++++++++"+++
+CC.CC..CCC....CC.....................+....+...+..+++++++++++++++++++++++++++++C+++++++C+C++++C++C+CCCCC+CCCCCCCCCC+CCCCCCCCCCCCC+CCC
+BB'BB''BBB''''BB'''''''''''''''''''''C''''C'''C''CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC C CCCC CC C     C          C             C   
+HHXHHXXHHHXXXXHHXXXXXXXXXXXXXXXXXXXXX XXXX XXX XX                                                                                   
+XXCXXCCXXXCCCCXXCCCCCCCCCCCCCCCCCCCCC CCCC CCC CC                                                                                   
 ""-""""-""""--"-------------"----------"+++"""""-"""""""""""""""""""""""""+"""""""""""""+"""""++""+++""++"+"++"+++++++++++++++++++++
+CC.CC+C.CCCC..C.............+..........+CCC+++++.+++++++++++++++++++++++++C+++++++++++++C+++++CC++CCC++CC+C+CC+CCCCCCCCCCCCCCCCCCCCC
+BB'BBCB'BBBB''B'''''''''''''C''''''''''C   CCCCC'CCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC CCCCC  CC   CC  C C  C                     
+HHXHH HXHHHHXXHXXXXXXXXXXXXX XXXXXXXXXX         X                                                                                   
+XXCXX XCXXXXCCXCCCCCCCCCCCCC CCCCCCCCCC         C                                                                                   
 "-"""--"-"-""--------------"--"--"---------"-""""""""""""""""""""""""""""""""""""""""""""""+""""+"+++++"++"+++++++++++++++++++++++++
+C.CCC..C.C.CC..............+..+..+.........+.++++++++++++++++++++++++++++++++++++++++++++++C++++C+CCCCC+CC+CCCCCCCCCCCCCCCCCCCCCCCCC
+B'BBB''B'B'BB''''''''''''''C''C''C'''''''''C'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC C     C  C                         
+HXHHHXXHXHXHHXXXXXXXXXXXXXX XX XX XXXXXXXXX X                                                                                       
+XCXXXCCXCXCXXCCCCCCCCCCCCCC CC CC CCCCCCCCC C                                                                                       
 -""""-""-"-""--------------"-----------------"-"""""-""""""""""""""""+"""""""""""""""+""""""+"""""+++"+"+"+"++++++++++++++++++++++++
+.CCCC.CC.C.CC..............+.................+.+++++.++++++++++++++++C+++++++++++++++C++++++C+++++CCC+C+C+C+CCCCCCCCCCCCCCCCCCCCCCCC
+'BBBB'BB'B'BB''''''''''''''C'''''''''''''''''C'CCCCC'CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC CCCCCC CCCCC   C C C C                        
+XHHHHXHHXHXHHXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX X     X                                                                               
+CXXXXCXXCXCXXCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCC C     C                                                                               
 """""----""-----"-"-"----"-------"---"----""-"""-""""""""-""""""""""""""+""""""""""""+++""+"""""++"+++"+"+"+++++++++++++++++++++++++
+CCCCC....CC.....C.C.C....+.......+...+....++.+++.++++++++.++++++++++++++C++++++++++++CCC++C+++++CC+CCC+C+C+CCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBB''''BB'''''B'B'B''''C'''''''C'''C''''CC'CCC'CCCCCCCC'CCCCCCCCCCCCCC CCCCCCCCCCCC   CC CCCCC  C   C C C                         
+HHHHHXXXXHHXXXXXHXHXHXXXX XXXXXXX XXX XXXX  X   X        X                                                                          
+XXXXXCCCCXXCCCCCXCXCXCCCC CCCCCCC CCC CCCC  C   C        C                                                                          
 "--"""""""---"-----""---""----""-----------"--"-""""""""""""""""""""+"""""""+"""+""""""""""+"""""""++++"+"+++""+++++++++++++++++++++
+C..CCCCCCC...C.....CC...++....++...........+..+.++++++++++++++++++++C+++++++C+++C++++++++++C+++++++CCCC+C+CCC++CCCCCCCCCCCCCCCCCCCCC
+B''BBBBBBB'''B'''''BB'''CC''''CC'''''''''''C''C'CCCCCCCCCCCCCCCCCCCC CCCCCCC CCC CCCCCCCCCC CCCCCCC    C C   CC                     
+HXXHHHHHHHXXXHXXXXXHHXXX  XXXX  XXXXXXXXXXX XX X                                                                                    
+XCCXXXXXXXCCCXCCCCCXXCCC  CCCC  CCCCCCCCCCC CC C                                                                                    
 -""""-""------"-------------------------""-"--"""""""-""""""""""""""+""+""""+"""""""+""""""+++++"+""+++++"++++++++++++++++++++++++++
+.CCCC.CC......C.........................++.+..+++++++.++++++++++++++C++C++++C+++++++C++++++CCCCC+C++CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCC
+'BBBB'BB''''''B'''''''''''''''''''''''''CC'C''CCCCCCC'CCCCCCCCCCCCCC CC CCCC CCCCCCC CCCCCC     C CC     C                          
+XHHHHXHHXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXX  X XX       X                                                                              
+CXXXXCXXCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCC  C CC       C                                                                              
 "-"""-"---"-----"-------------"-----""------"""""""""""""""""""""""+""""""""++"""""+"""""+"""+++"+++++++++++++++++++++++++++++++++++
+C.CCC.C...C.....C.............+.....++......+++++++++++++++++++++++C++++++++CC+++++C+++++C+++CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+B'BBB'B'''B'''''B'''''''''''''C'''''CC''''''CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC  CCCCC CCCCC CCC   C                                   
+HXHHHXHXXXHXXXXXHXXXXXXXXXXXXX XXXXX  XXXXXX                                                                                        
+XCXXXCXCCCXCCCCCXCCCCCCCCCCCCC CCCCC  CCCCCC                                                                                        
 --"""-"--"---""-----------"------"----"""-""-""""""""""""""+""""""""""+"""""+"++"+"""+"+""+""++++++""+++++++++++++++++++++++++++++++
+..CCC.C..C...CC...........+......+....+++.++.++++++++++++++C++++++++++C+++++C+CC+C+++C+C++C++CCCCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+''BBB'B''B'''BB'''''''''''C''''''C''''CCC'CC'CCCCCCCCCCCCCC CCCCCCCCCC CCCCC C  C CCC C CC CC      CC                               
+XXHHHXHXXHXXXHHXXXXXXXXXXX XXXXXX XXXX   X  X                                                                                       
+CCXXXCXCCXCCCXXCCCCCCCCCCC CCCCCC CCCC   C  C                                                                                       
 -""""--"---"--"--"--------------------"-----""-""""""""""""""""""""+"""+"""""""+""+"""+"+++"""++++++""++"+++++++++++++++++++++++++++
+.CCCC..C...C..C..C....................+.....++.++++++++++++++++++++C+++C+++++++C++C+++C+CCC+++CCCCCC++CC+CCCCCCCCCCCCCCCCCCCCCCCCCCC
+'BBBB''B'''B''B''B''''''''''''''''''''C'''''CC'CCCCCCCCCCCCCCCCCCCC CCC CCCCCCC CC CCC C   CCC      CC  C                           
+XHHHHXXHXXXHXXHXXHXXXXXXXXXXXXXXXXXXXX XXXXX  X                                                                                     
+CXXXXCCXCCCXCCXCCXCCCCCCCCCCCCCCCCCCCC CCCCC  C                                                                                     
 """""--"--"---"------"---------"---"---""""""""""""""""""""""""""""""""""""""""+""+""""""""""""+"+++"+++++++++++++++++++++++++++++++
+CCCCC..C..C...C......+.........+...+...++++++++++++++++++++++++++++++++++++++++C++C++++++++++++C+CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBB''B''B'''B''''''C'''''''''C'''C'''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCCCCCCC C   C                               
+HHHHHXXHXXHXXXHXXXXXX XXXXXXXXX XXX XXX                                                                                             
+XXXXXCCXCCXCCCXCCCCCC CCCCCCCCC CCC CCC                                                                                             
 "--"--"""-----+----------------"-----""--"-"""""""""""""""""""""""""+"""+"""""""""""""""+""""+++++++++"+++++++++++++++++++++++++++++
+C..C..CCC.....C................+.....++..+.+++++++++++++++++++++++++C+++C+++++++++++++++C++++CCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+B''B''BBB''''' ''''''''''''''''C'''''CC''C'CCCCCCCCCCCCCCCCCCCCCCCCC CCC CCCCCCCCCCCCCCC CCCC         C                             
+HXXHXXHHHXXXXX XXXXXXXXXXXXXXXX XXXXX  XX X                                                                                         
+XCCXCCXXXCCCCC CCCCCCCCCCCCCCCC CCCCC  CC C                                                                                         
 "-"-----"""-"-----------"-----"""--"-"-"""""""+""""""""""""+""+""""+""""""""++++"=+++"++""++++++++""++++++++++++++++++++++++++++++++
+C.C.....CCC.C...........+.....+++..+.+.+++++++C++++++++++++C++C++++C++++++++CCCC+CCCC+CC++CCCCCCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+B'B'''''BBB'B'''''''''''C'''''CCC''C'C'CCCCCCC CCCCCCCCCCCC CC CCCC CCCCCCCC    C    C  CC        CC                                
+HXHXXXXXHHHXHXXXXXXXXXXX XXXXX   XX X X                                                                                             
+XCXCCCCCXXXCXCCCCCCCCCCC CCCCC   CC C C                                                                                             
 -""---"--""--"---------"--"-----""""-"-"--"""""""""""""""""""+""++"""+"""""++"+""++++++"++++++++++++++++++++++++++++++++++++++++++++
+.CC...C..CC..C.........+..+.....++++.+.+..+++++++++++++++++++C++CC+++C+++++CC+C++CCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+'BB'''B''BB''B'''''''''C''C'''''CCCC'C'C''CCCCCCCCCCCCCCCCCCC CC  CCC CCCCC  C CC      C                                            
+XHHXXXHXXHHXXHXXXXXXXXX XX XXXXX    X X XX                                                                                          
+CXXCCCXCCXXCCXCCCCCCCCC CC CCCCC    C C CC                                                                                          
1                                                                                                                                    
-                                                                                                                                    
0                                            PRINCETON UNIVERSITY COMPUTER CENTER CLINIC                                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
                                                            +------------+                                                           
                                                            +            +                                                           
                                                            + COMPUTER   +                                                           
                                                            +            +                                                           
                                                            +    PICTURE +                                                           
                                                            +            +                                                           
                                                            +------------+                                                           
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                              THE MOON                                                              
-                                                   COMPUTER TRANSCRIPTION PROCESS                                                   
0                                                                 BY                                                                 
0                                                         SAMUEL P. HARBISON                                                         
0                                                       COMPUTER CENTER CLINIC                                                       
                                                         PRINCETON UNIVERSITY                                                        
                                                           87 PROSPECT ST.                                                           
                                                     PRINCETON, NEW JERSEY 08540                                                     
-                                                  COPYRIGHT 1973 BY S. P. HARBISON                                                  
-                                                       SHEET  2 OF  5 SHEETS                                                        
-                         THE COMPLETE PICTURE IS CONSTRUCTED BY TAPING THE SHEETS TOGETHER SO THAT THE                              
                          LAST CHARACTER ON THE FIRST SHEET MEETS THE FIRST CHARACTER ON THE NEXT SHEET                              
                          WITH NO WHITE SPACE BETWEEN THEM.  THIS WILL REQUIRE TRIMMING THE SHEETS WITH                              
                          SCISSORS.  DO NOT PUT TAPE ON THE PRINTED SIDE OF THE PAPER; TAPE FROM BEHIND.                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
0                                                                                                                                    
 -------------------------------MM------M---M-MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM=MM=MMMM=M==MM=M==MMMM=
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCC CCC C                                                                C  C    C CC  C CC    C
 [encoded data, 5035 characters]
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCC
+                                                                                                                             C      
 ++++++++++++++++++++++++++++++++=M++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ C                                                                                                                                  
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++"+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C
+                                                                                                                                  C 
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+          C                                                                                                                         
 +++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++
+CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+     C                                                                                                                              
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++"++++++++"++++
+CCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCC+CCCCCCCC+CCCC
+       C                                                                                                          C   C        C    
 ++"+++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CC+CCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+  C       C                                                                                                                         
 ++"++"+++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CC+CC+CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+  C  C     C                                                                                                                        
 ++++++++++""++"+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCC++CC+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+          CC  C C                                                                                                                   
 +++++"+++++++++++++++++++++++++++++"++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++++++
+CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC
+     C                             C          C                                                                           C         
 "+++++""++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+"++++++++++++
++CCCCC++CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+CCCCCCCCCCCC
+C     CC    C                                                                                                        C C            
 ++++"+""""++""+++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++++++++
+CCCC+C++++CC++CCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCC
+    C CCCC  CC       C                                                                                               C              
 "+"+"""+""++"+"++++"++""++++++++++++++++++"+++++++++++++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++"++++++++++++
++C+C+++C++CC+C+CCCC+CC++CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCC
+C C CCC CC  C C    C  CC                  C                                       C                                    C            
 +++"++++"+++++"+++++++++++++++++++++++++++++++=++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++MM-ZXAIIA
+CCC+CCCC+CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC  C      
+   C    C     C                                      C                                                                  C           
 +""+++++"+++++++++"+++"++++++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++==M-ZZXA=+=I=+  +
+C++CCCCC+CCCCCCCCC+CCC+CCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C             
+ CC     C         C   C              C                                                                                              
 +"""+""+++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=M-ZZZAI======+1-1--    
+C+++C++CCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                     
+ CCC CC           C                                                                                                                 
 +"+"+""+""+"++++"+++++""+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++====M-XAAXXZZAI===+--          
+C+C+C++C++C+CCCC+CCCCC++C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                         
+ C C CC CC C    C     CC C                                                                                                          
 ++""+""+++++"++""""++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++"+++++++++M-ZZXXXAXXXII==+----    -          
+CC++C++CCCCC+CC++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC+CCCCCCCCC C                                 
+  CC CC     C  CCCC                                                              C     C                                            
 "+"++"""++"+++"+"+"+++++"+++++++++++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++=M-ZZXZXAIAXXAI=----   --  ---     -    
++C+CC+++CC+CCC+C+C+CCCCC+CCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                                     
+C C  CCC  C   C C C     C                   C                                                                                       
 +++"++++++""+""""+++++++"++++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++=M-ZZZZZXAIIXAI=1--  --- -11--11  --       
+CCC+CCCCCC++C++++CCCCCCC+CCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                                        
+   C      CC CCCC       C            C                                                                                              
 ++""++"++++"+""""++++++++++++++++++++++++++"+++++++++++++++++++++++++++++++++++++++++=M-ZZAXXXXZXA=+=II=1++++--1----+++=1--1---   --
+CC++CC+CCCC+C++++CCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                                            
+  CC  C    C CCCC                          C                                                                                        
 +"++"+"""++++++"++++++++++++++++++++++++"+++++++++++++++++++++"++++++++"+++++++++++=M-ZXXAXXIA=111+===I==+++- ----  1---  1---   -1-
+C+CC+C+++CCCCCC+CCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCC+CCCCCCCC+CCCCCCCCCCCC C                                              
+ C  C CCC      C                        C                     C        C                                                            
 """+++"++++""+++""++"+"""++++++++++++++++"++++++++++"++++++"+++"+++++++""+"++"++=M-XXXXXA=+==II==+==+==111-- -1-    -1-11-----      
++++CCC+CCCC++CCC++CC+C+++CCCCCCCCCCCCCCCC+CCCCCCCCCC+CCCCCC+CCC+CCCCCCC++C+CC+CCC C                                                 
+CCC   C    CC   CC  C CCC                C          C      C   C       CC C  C                                                      
 """"++++"+++++++""++++++"+++++++++++++++++"++++++++++++++++++++++++++++"++++"+=-XXIIIIAXA+-++===+11++==1----11--   ----11- --       
+++++CCCC+CCCCCCC++CCCCCC+CCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCC+CCC                                                    
+CCCC    C       CC      C                 C                            C    C                                                       
 "+++++++"+++++""+"+"+++++++++++++++++++"++++++++++++++++++++"++++++++"+++++++MZAAAIAAAAII+11--1111-11+11--11+111-  11--11---     -  
++CCCCCCC+CCCCC++C+C+CCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCC+CCCCCCCC+CCCCCCC                                                       
+C       C     CC C C                   C                    C        C                                                              
 """"+""++++++++++++++++++"++++++++++++++++++++++++++++++++++++++"+"++++++=M-XAAAIAIII=+1111---11+11111-   +==++1- -1--1+1--     - - 
+++++C++CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+CCCCCCC C                                                        
+CCCC CC                  C                                      C C                                                                 
 ++"++++"++++++++++++++++++++"++++++++"++"+++++++++++++++"+++++++"+++=M-Z---ZAIIII=++++++1---111+- -1---- -+++111+1-----1--        - 
+CC+CCCC+CCCCCCCCCCCCCCCCCCCC+CCCCCCCC+CC+CCCCCCCCCCCCCCC+CCCCCCC+CCCC C CCC                                                         
+  C    C                    C        C  C               C       C                                                                   
 ++"+++"++++++"+++++++++++++"++++++++""+++++++++++++++++++++"++++++==MZXZ--ZXAI=+++11--1-----11+1- -111111++1111-1 ---11----     --1-
+CC+CCC+CCCCCC+CCCCCCCCCCCCC+CCCCCCCC++CCCCCCCCCCCCCCCCCCCCC+CCCCCCCC    CC                                                          
+  C   C      C             C        CC                     C                                                                        
 +""+++"++++"+++++++++++++"++++++"++++++++++++++++++"+"++""+"++++---ZXZ---ZXI==1-----    -1+11-1-- --111+1+1--111-   -11---      -11-
+C++CCC+CCCC+CCCCCCCCCCCCC+CCCCCC+CCCCCCCCCCCCCCCCCC+C+CC++C+CCCCCCC   CCC                                                           
+ CC   C    C             C      C                  C C  CC C                                                                        
 ++"+"+++++"+++"++++++++++++"++++++++++++++"+++++++++++++++++++M-ZAAIIAZZZAA=1  -       ---1---     --111-+1 -1-++1-  ---       ---  
+CC+C+CCCCC+CCC+CCCCCCCCCCCC+CCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCC C                                                                    
+  C C     C   C            C              C                                                                                         
 ""+"++++++++++++++++++++++++++++++"+++++"+++++++""++++++++=M--ZXIIIII=AAI++1--1-  - -11- ----      -1+11+1--111+++--          ---11+
+++C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC+CCCCCCC++CCCCCCCCC CC                                                                      
+CC C                              C     C       CC                                                                                  
 +"""+++++++++++++++++++++++++++++++++++++++++++++++++++MMM--ZZIIIII=1111--111---- - -1-  -1--  -1-1-111-1--1++1+=+11-         -1-1+1
+C+++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CC                                                                        
+ CCC                                                                                                                                
 +""++++++++++++"+++++++++++++++++++++++"++++++++++++=M---ZZZA=+=I==1--  -++1-  -- --111----- --11-1  ----1+++++1+1111-   -     - -+1
+C++CCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCC CCC                                                                           
+ CC            C                       C                                                                                            
 +""++++++++++++++"+++++++++++++++++++++++++++++++++=-ZAAXAXA=1+=++1-1   1+-  --- ----1++1-   -1----    -1++=+1111111+1- -1-    --111
+C++CCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                               
+ CC              C                                                                                                                  
 "+"++++++++++++++++"+++"++++++++++++++++++++++++=--ZZA=IAAI=+111-- 1--  --   - ------------111---------1+++++---++11+1- 1++1+1-1+++=
++C+CCCCCCCCCCCCCCCC+CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                                 
+C C                C   C                                                                                                            
 """+++++++++++++++++"++"+++++++++++++"+++++++++M-XXAA===II=1------ 1- -     ------1-1--11---1--1111----111111-11=++11--1+==+11-1++++
++++CCCCCCCCCCCCCCCCC+CC+CCCCCCCCCCCCC+CCCCCCCCC C                                                                                   
+CCC                 C  C             C                                                                                              
 """++"++++++++++++++"++"+++++++++++"+"+"++++++MZXI=+1-1++1-  --    -       -11-----1111++1-11---1111---1  --1+===+1---1=+++1   1-11+
++++CC+CCCCCCCCCCCCCC+CC+CCCCCCCCCCC+C+C+CCCCCC                                                                                      
+CCC  C              C  C           C C C                                                                                            
 +"++++++++"++++"+++++++++"+++++++++"+"+++++++-X==111+++1+--1-   -       -   -1-1-- --1111-1++-----1- 11-   -+=+1111- -1+---     ---1
+C+CCCCCCCC+CCCC+CCCCCCCCC+CCCCCCCCC+C+CCCCCCCC                                                                                      
+ C        C    C         C         C C                                                                                              
 +"++++++++++"++""++++"++++"+++++"+++++++++=ZZXI+11===II+1 --   1-- -- -----  ---------11---+++---11-111    -+==+1-11-11-    --     -
+C+CCCCCCCCCC+CC++CCCC+CCCC+CCCCC+CCCCCCCCCC                                                                                         
+ C          C  CC    C    C     C                                                                                                   
 +"+"+"++++"""+++++"++"++++"+++++"++++++++-I+A=+-+IAIII=+-----11+11-1+------  -11--111111-11111 -1- --11-1- -++==1 11+1-     -       
+C+C+C+CCCC+++CCCCC+CC+CCCC+CCCCC+CCCCCCCCC                                                                                          
+ C C C    CCC     C  C    C     C                                                                                                   
 +"++++++++"""+++"++++++++++++++++"+++=M-A=- 11+=IAAIA==+111-111+1++++-- --- -1++11111=+11+1+++++1 ---1111  -111+11+++11--  -        
+C+CCCCCCCC+++CCC+CCCCCCCCCCCCCCCC+CCCC C                                                                                            
+ C        CCC   C                C                                                                                                  
 +"++++++++"++++""+"++"++++"+""+++++=M-XI1- -1+=++===I=+1-111- -1+11----11---1+11+111++===111+++++1--   -1---111+1111+=++1- -1--     
+C+CCCCCCCC+CCCC++C+CC+CCCC+C++CCCCCC C                                                                                              
+ C        C    CC C  C    C CC                                                                                                      
 +++""""++"++++++"+"++++++++"+++++=-ZXA=+111=IA=+===+++11111  --1-+1111111----1+111- 1=II=++1++++-      --111111-- 11--1++111--1     
+CCC++++CC+CCCCCC+C+CCCCCCCC+CCCCCCC                                                                                                 
+   CCCC  C      C C        C                                                                                                        
 ++""""""""++++++"++"++++++"+++=M=MZA=+-1++==AA====+1-1--1++111111=+==+1+1----1+++++1-1==+11++1--       --111111+1-11  -1-+1+111-   -
+CC++++++++CCCCCC+CC+CCCCCC+CCCC C                                                                                                   
+  CCCCCCCC      C  C      C                                                                                                         
 "++"""+"""++"""+"++"++++"""+===MZI+-  1====+==+++=+11+1-++++++++11+++++=111--11++++1  -+1111+11-   -1--111111-1=+111----+11++=I=1=11
++CC+++C+++CC+++C+CC+CCCC+++CCCC                                                                                                     
+C  CCC CCC  CCC C  C    CCC                                                                                                         
 "+"+"++"++"+++"++++++++++++===ZI+-   1+III=111++++1++++++++=+1+---++1++--11111-1- 1+11-11+++111---111111111--1+===+=++1+=+==IIAA=I1+
++C+C+CC+CC+CCC+CCCCCCCCCCCCCCC                                                                                                      
+C C C  C  C   C                                                                                                                     
 """""""+++"""+""+++""+"++++=-X=+1  1===II=+-1=+1-++1+1+=++11--1- 111+111+++++++1--+======++++1--1+1+11-- - - -+===+++1+II==+++=I=+11
++++++++CCC+++C++CCC++C+CCCCCC                                                                                                       
+CCCCCCC   CCC CC   CC C                                                                                                             
 """"+"++++"+""""+++"++++MMMXII=11++1=II==++1+=1--+=++1=++11+1++- -+++++1+1+1+==+++1++====+==+11--111111----  -1====IIIII=+I=+1+===1+
+++++C+CCCC+C++++CCC+CCCC                                                                                                            
+CCCC C    C CCCC   C                                                                                                                
 "+""""""++++"""+"++"++MXXZXXZZ+ 1==+=I=++111=I++=+++1++1+--11=1 -+I==I+111--++1+==+1+====+==+11--1+1-1---11--11+===IIIII=======+=I==
++C++++++CCCC+++C+CC+CC                                                                                                              
+C CCCCCC    CCC C  C                                                                                                                
 ++++++"++++"++"+"++=-Z=IAZ-===  +1+I=1--+=11==+IAIII+111-- -+=1 -=AII=+1-11 ---1+=111++====1-11  1111---1+---1--1===IIAI====AI==IIII
+CCCCCC+CCCC+CC+C+CCCC     CCC                                                                                                       
+      C    C  C C                                                                                                                   
 ++""""""+++++++++=M-X+-IZM=Z= -1=+=+----11+=I=IAAII=1-1+++++-+--+II=++1-11  --1+++11+++++111- ------  11+1111+111+++=III+++=I==IIII=
+CC++++++CCCCCCCCCC C      C                                                                                                         
+  CCCCCC                                                                                                                            
 """""""+++++++++=-ZI+1=XZXI+1111=++1-- 11+I=AII===+11--1+=+=++1+=I=111--    ---11---1++++11++-----    ----------111+=======+++=+==++
++++++++CCCCCCCCCCC                                                                                                                  
+CCCCCCC                                                                                                                             
 """""""+"+"++++-XX=1=ZMZ=1+===+==++1111-==IIIAI+11---+=1+==I=++===+1111    --  -1111++==+++=+1111-    ----- --11==+++11+=I==+===+=++
++++++++C+C+CCCCC                                                                                                                    
+CCCCCCC C C                                                                                                                         
 "+""""++"++++=-AI==ZMMZI +==IA==++==+=++=III=+===-  -+1 ++===+++++1---- --1-----1+11+1++=+====++11--1+1-    -+==III=++====++1+=====+
++C++++CC+CCCCCC                                                                                                                     
+C CCCC  C                                                                                                                           
 """"""""""++MZXIAZ===MX=II=AAAI==+=I=======++IIII++1-1--1-1===++1111-- --- 111+====+1-1+--=====+1111+++---111+==AAAII=IIII11===+=+++
+++++++++++CC      CCC                                                                                                               
+CCCCCCCCCC                                                                                                                          
 """"+""""+=-Z-ZZM==+++ZAZXXZAI=++1+++====+1+IAIIII=111-1-  11------   ---  ---+=+11----- -1++1111--11++1--111++=III=IIII=+=II==+++=+
+++++C++++CCC C   CCCCC                                                                                                              
+CCCC CCCC                                                                                                                           
 ""+++"""+-XX-MMM--===-XXZXXA==11+==+II+=I+=AXAIII++1++1- -           -1--  -- -11------- -1++1----1++++++++II====+1++===++II===+=III
+++CCC+++CC  C   CCCCCC                                                                                                              
+CC   CCC                                                                                                                            
 "+"++++=XIXZZM-XX=MXIIAZ-ZAXI  =I=+II=IAIIAXXAI==--1-----          ----        -1  -1-----11+111+=+=I==III=IAII==111---+=++++=+1+1++
++C+CCCCC      C  C      C                                                                                                           
+C C                                                                                                                                 
 """"++MX=AAZ---M++X++A-=-AAI--+I=11IAAII==IXAII=1-11--    -      ---   -    -11-   --1111111+++===+==+-1==III===+1111++==+1- ----1- 
+++++CC      CCC CC    CCC                                                                                                           
+CCCC                                                                                                                                
 """"+MZX=IIXZM+"+A11=Z-ZA==+1+==I==III+=++=III==+1--1-   --      --    -  -11111--111++++=+===+==+-1+1 -+=III=+++   -1111           
+++++C         C+C     C                                                                                                             
+CCCC           C                                                                                                                    
 +""+=M-IAZXZM""=A -=IAAI+++=+1++=+==+======II=II1- ---   -       --  --1--1+-1---111-1+++++==++=++11++11+++++=-1-           -     - 
+C++CC C      ++C                                                                                                                    
+ CC          CC                                                                                                                     
 ""+===XI-=-MM+MI+=IXZZZI=+++ -+1--1++IAII==I=II+- - -----     -1111---1+++111-   -----1++11++111++111++1++1  - 1    ---  - ---1++++=
+++CCCC  CCC  C                                                                                                                      
+CC                                                                                                                                  
 ++=++-XM=-ZZZA==IXZZ-ZA=+1-  11-  -+=AAAI+111+1-----1--   ----111++11111+==+--    --11+++1111-1+=====++==1    11--1++++111+++1=AAIII
+CCCCCC  CC          C                                                                                                               
 ==+"MZM=-I+I=-1=XZAAXZ=--   11-   1+=II=+-  -    --11    11----11++1-11++==1-    ---+++11-  -----+====II+1111+=====+++==11+++1==I=I=
+CCC+   CC                                                                                                                           
+   C                                                                                                                                
 =""MXZ--I+IZ1-+=III+=A--   -1--  -1++==+1- -1--   --   -1+=----1+1111++++++11----1--+1111-- 1=++11++III=++==IIIAAAIIIIII++I=++++===+
+C++   CC                                                                                                                            
+ CC                                                                                                                                 
 ""-+IAMA1Z=AII=-=I111    ----   1=====++++++--1 ----  -11-111-1- -----1+1+=++---1+--1+111+=+=AIA=+=IAA==+1++=IIAAXIAII==IAIII=AXXXAA
+++C       C                                                                                                                         
+CC                                                                                                                                  
 +Z==I--+Z+ZAXZX+I1       --    +III===1+=+1+++--11-  --    -------- ---1+111-  -++11+++==+11+=+=IIAAXI=++++++==AIIIIAAIAXAAXZZZZXXXX
+C    CC  C                                                                                                                          
 A+==X-I=ZXXXA==+-     -- -11--+IIIII==++1+===1-------11   -11-- --  11---11----1++11+=+===11+=++=IIAA======IIIIAIAAXXXZXZXXZZXAI===I
+     C                                                                                                                              
 =AXXMXIAIIA=+1+-     -11-1=1+=+=IIII=IA=1+=+111------1-  ---    -1111+1-11---1111---+==++======I=I+AAII=+=AAIIIIIAAAAXXZZXXZXAAI=AII
 =ZZMM-AI+11111      1+++=++1+=+=I=IAIAXI+11-111         --  -1---111--11--- --- - -1++=+1+II=====IIII==+++I===IIIXXA===AXAXXAZZXIAAA
+     C                                                                                                                              
 Z-Z-MXA+11+1+- -   -1+=A=1++=++AAAXAIIAI+-- --          --  +1------- --         --+===+++==I==IAI=IAAAII====II=IXXAXA==AAI=IAXXI=A=
+ C C                                                                                                                                
 -I=AI=I+1--1+1+1++1+1=AAI==I=+IAAAIAAI=+1-            ---1-----                  1+==II==+===+++====IAIIAIAAAXAAAAAIXXXAI=+1=AXAI=+1
+C                                                                                                                                   
 I11++==++-1+=II++===+IAAIIIIIAXIIIIX=1---        1111-11111--11----    -     11-+=++=IIII======+++=I=IAXAAXXXXXXAI==IAA==+11IAAII+ -
 1=1-1II+=I==IIIIIIIIIIII=IAIIXAI=II=-   -       -+++=++++=III=+11--    -----1+++=++1-1=I==++=+111++IIAXA==AIAI===++=I++++1111=====-1
 ==1++IIIIIIAAAIIAAAAIII=IAAIAX=1-++1   1-     --++-1====IIIIII=+=1+1-  11++====I=======I=+++++1+++=IXZZA=-=I==+---=AX1IXI=======++11
 1+==+IIAI=IXI==AAAAA=IAIAXA=II11+++111--      --+=11++=IIIIII=+==++11-1++=====I==IIIAIIA======++1+=AXXXAI++=+-    +=I==A=II=+++=++++
 ===+1+=AA=XAIIIAXXAAIAAXXA+1==I=++++++--11-   -1+=+==+==II=I==+==+++=+===IIIIIIAAAAAAAII=++=++111+=AA+=AI=++-    -1+++1+++==+11+1111
 A=1111II=AZZXXXZZZAXIAIAA=11+=I=++11111++1   -1++=========II=++=++==IIAAAAXAAAAXAAAAII++1------1-11==--II+1---1--1+++------=+1=++11 
 I==I=+I=AXZZ-Z-ZXAAXAXXII==+==+11+11-1-1=+   -++1=======+=AI=+1-1==IAAAAAAA==+=AAII=I=+11-  -11--1+=I+1II==++11  1++1-11+1-11-1++-  
+            C C                                                                                                                     
 =+IA=+=+AAZZZ-ZXAXAZXXXIAAAII+-1+1-  - -=1  -1+1-+++++==1=I=+1-11==IIIIAIII+-1+IAIIIAI=+1- --1+1--1+====I=++11-  -1-111++111--11+--1
+             C                                                                                                                      
 ==III=+=XXZZ--ZZZZZZZZAAXXAA=11++-  -- +=- 1-++1--- -11+++=+=+1--=I=I=IAIII==I=AAAAI===+111111++- 11-+++=++1-1     11111+++++===+11+
+            CC                                                                                                                      
 IAIIA++AXZZ-MZZZZ---M-AXAXA=+11+1---- 1=1+1+-+=11-     -==+1=+111====II==IAAAAAAAIII++I+++11111-   1+=I==+++1-     11++1++=XAI=111==
+           C     CCC C                                                                                                              
 IAXXI+IXIZ---ZZZ---MMZXZZAI=+-+1--1--1+=-=++++1--- -1+-++1-1++11+==III=+IXAAAI===I=++===111    --- +==+++1+1-1------+==++1+II+1+1+==
+          CCC   CCC                                                                                                                 
 AZZX=IXAAZ-ZZZZZM--MMZZZA=+++111-1+1+++=1-111- ----111-111111----1=IAA=IAII======I+1+11-- - --11-- -11++1-111+++=+=======+++++IAI==+
+          C      CC                                                                                                                 
 XXZXAXAIA--XX---MZ-ZZXXXI=+-+11+1===++===11-1--------  ---1-----11=IAXAAI=1+=I+11111-    -1------    ------1+1+==IIAAI=====+=IAXA=1-
+         CC  CCC  C                                                                                                                 
 ZZXAXXXAZZZZ--M=MXAAZZA==1-1======+=1==I=+++1-           ----11-++=AAAAAI+1+=1--   -     -- -     ---1  -11==++IAXXZA=====AAAIII=1-1
+            CC C                                                                                                                    
 XXXXZZXZZ----MMM----X==+==+==III=+++-1===1+1-------       -1-111+==AIIAI+1--11--             - ------- -+=II==+IAXZX=1+=IAAII====11 
+         CCCC   CCCC                                                                                                                
 ZM=ZZ---Z--M--X---ZXI+=+===+IIAI+--1+==I++==+++++11--    -11++11+=+=++=+1-----              -+11- -----1+++1--1+III==+IXZII=11+111- 
+  C  CCC CC CC CCC                                                                                                                  
 X=+ZX--ZX-MMZZX--ZI=++======III=--1=I=II==III===++11-   -111+1--1++++++++1111 --1-     ---11+111--1===1 --  -+11+==II=IAI=+1--1 1-  
+ CC  CC  C     CC                                                                                                                   
 A--XZMXX-MMMMM---X===IIII+=IIA=1-=IAII=II===I==I=111---1++--111+++++=+1++111--1+1-----11++======1+III=- -  +II=+=IAAI=I+++1-==+--   
+ CC     C     CCC                                                                                                                   
 XIA-MMXZMMM-M---X=1=IIIII=IXA1-+AAAAAI====-+IIII=++11++++++1-===+-1111+++1+++++1-11-11-1++======1===+1-----+=+I===IAIIA1-111===1-   
+   C       C CCC                                                                                                                    
 XIXM-ZZZM-----AII==I=IIAIAAXI+=XXAXAXXI+I=1+I=I=I+11++=++==11++1-111--+==II+++=11+1111 1++==+1+++1+1--   -1IAI=====IAIAI=1--111-    
+    C    CCCCC                                                                                                                      
 AAAXIIXZ-ZZZ--=====I==AZZXAAIIAAIAAIIA==II=++1+I=111+======1- ---1-1--+IIAA++======+=++IIIII++===+1--   -==I===AA=IAX===+1--1--   - 
+        C   CC                                                                                                                      
 A++-1AZZZZ---ZA==11++AZ--AIAZAI-+A+=AA==AI1--- +++=+=====+-     --1+IIIAXXXIIII===I=II+=AIIIIAI+1+----11+11+1+IAAAAIA+--   11-1111  
+          CCC          CC                                                                                                           
 =++1+A-Z-ZZZXI++++++I--ZZXZZAI=-=AXXZAIAI++=+11++=IAI+=+--     11=IIAXXXAXAAAIIIII==II++=I=+===I+++1++==11++++IIAAA=+-  -  -11=+-   
+      C C            CC                                                                                                             
 ===IAZ--ZXA=+11==I=IZM-ZZ--ZAA=IXZZZZAAAI====+======+++1+11+11====AIAXAAA===II=III==III===+-+IIAIII===I=++==11=AAI=- - -111+=+---111
+      CC              C  CC                                                                                                         
 A=XAAXXAI==+1=++=IIZM----M-ZZZXZZXXAIAAI====++++==111+==I=IIIIAIIIAAAA==A=++I=+==+1+=AI==+===IIII===+==+====11+I=1 --1+++++==1 1-===
+                     CCCC C                                                                                                         
 XAXAI+++===1=AA=+IZM--MMMM-Z-ZZXIXXAAXAI=+++-+=++111==III=IAAIXAIIII====II=+==+=+- 1===I=IAAIII===+1++11===+--11-  -===++---++ 11+=I
+                    CC    C C                                                                                                       
 ZAXI=IIAAA++AXXIAZMM-Z-ZMM-ZXZZXAAIII=III=+++++++=IIII=+AAXXAIIIAAIIIAAII=======I=1++IAA1+=I=I=+=I+-1+I===1   -1----++111-- -11+1=IX
+                    C C   C                                                                                                         
 XAXAAXAXA=+AXAXIZ-MM-ZXXZZZAAXZII==AAIAII=11+1+=IIAAAIIIAXXXA=++AXXI=IAI=+1++=AI==+==AXA=+=++++=AI+-1=I=1-    -- ---   -  --====+=AX
+                 C  C                                                                                                               
 AAAIAIIII=AXXAA=ZMM-ZZAIIXXXXAAII=IAAAI=+=++++=IIIAAXXXAXZX=I==+AXXI+=I+- 1+==IIIIIIIAAAA=====++=++++=I+--      ---      --1=I===IAI
+                   C                                                                                                                
 IIIII=====AAXAAIZ-XAXA==IXXAAIIIIIIAIII==I==++IIIIAXZAAAAZX=I===AAA=1++++-1===IIAIIIIIIII+=III=1+=1===++-1-    1 +111-   1+==+++IAA=
+                 C                                                                                                                  
 =I=II=++=IIXAIAXAIAAII=IAAAIAAIAIAIIIII=III=+IAA=IAXX==AIII==1=II===+++=I====IIII=+==AAI=1++=I=--11+++11-  -1--+-+1=1-  -+AAI++=II=I
 +=II=+=XXAAX=IAA==II=IIAXIAAI=AAXAIAAII=III==IAAIIAAAIAAII===+II=+=I=+====1-1+==1-11+II+++==I=I11+11        --+++=11111+==AXA=1=II=I
 ==A==AZZZXXA=AA=I=AXAAAZXXZXI=IIXIAAI===IIII=IAIAXAAXIIAAIIII=II++II=+=+1+111+=- -+++11 1=IIIIA=+++-         1+-1++1=+=IAIAAAAA=IAAX
 +==+A-M-ZZX==XIIIIXAAAXXXZXIIAAIA=IIA===I==AIIAIXXAIA=IAA==III====II===+++==+11 +1-11  -+I=+1=I=1-     -1    1+--11+IIAII==IAI=AAZZZ
+     C C                                                                                                                            
 1=IIXZZXXA=+XXAAIAAAIIAAXZZAIA=1===IAI=IAAA=IIXZXAIIIAAAIIIIA=IIIIIII=+====+1-+1=----11===+IIA=-     -11-   1+1--1+III=11IXAIIAAZ-ZZ
+                                                                                                                                 C  
 =AAAAAAAI+-=XXAAAAXXIAZZZ--ZAAI=III==AIIAAAI==AXXAAXAIAAIIAAI=IXI=IIA=+=II=+-==+1--1===IIIAAAI+11-1-1--1-11+=+--1++===++=IAAAXXZZXAX
+                         CC                                                                                                         
 AIIAAIII1-+AAAAXXZZZXZZZ----ZXXZXI===IAAIIIII=IAZXZXAIIAAXZAIAIAAIIAAIAI+++I+==+=IIAAI=IIAAAII+1++11   -+==I=+1-+++=====1IIIAXXXAAAX
+                        CCCC                                                                                                        
 =II==I+- 1IIXXXAXZXZZX-ZZZZZZZXAI=AI===I=++==+=AXZZAIAAZZZXAXAIAA+IIIXIIIII=++=IAAIAAAXAIA===I=++--     1+==+=1-++1+IA=+=IIAAXXAIAAX
+                      C                                                                                                             
 AX+11-   1==IAXAXAXZXXZZZZZXXZA==XXAAI=1  --1+=IAXXXAAAXXXI=IIAXA==IAXIIII===IAAI==AXZZZAI1-+I=+1---    -=+++=1  1+==I==AAAAXAI==IAX
 XZ=-1    1++-IIXZZZZZZXAAAAAAAI==IAXAII1  --+==IIAXZZXIAXAII=IAA==AXXXI++===IAAAIIAXXZ-ZX=1=II111---  -11++==1-  1+=I==IIIIII==1+=AA
+                                                                                      C                                             
 I=++-    +===IAZZZZZXAI==IAIIII=+=IA=+I+--1=I=+-+AAXZI++AIIAAAII=IXAAXAIIXI=+IAXAAZZXZZAA11AI+- -- -  ++11==+---1+==IIIAAAII==I+=1=I
 XI=1-  -+====IX--XXXAI=-1AXA=====I+IAAAI++=III+1=AAAA++===IIIIIAA=IIIAXIAXAA===IAXZZZZX===II+-       1+====++11-1=I++AAIII===I=I1=--
+               CC                                                                                                                   
 XI+   --+IA=IXZZXIIAIA=+AZXX==AA==AXZXA+==IAAII===IAI=III+=IIAAAAII=IXXAXZXXAI11IAXZZZA1=I=1       -++III11+=I=+1+===XX=1 +==+=I11--
 A=- -1++=AI=AXZZIIXXAAAIXZXX==II=AXZXAA==IAXXAIIIIXXA=IIX==AAAAAAAIIAAXAZZXXXA=1=IAZZXI+=++      -1+=IAI=+-+=II=1 1AXXA=--+IIII=111+
 =-111+++=I=1IAXAAAZZAZXIIAXXI=IAAAZXXAAIIAAXXXAAXXZZAAAAZAIIIAXIAAXXXXXXXXXZZXI==AZZXAI1-+1     -++1+==II=1====+===AXA====IXA=++-  -
 1 1++=+I=+=1+=IXXZZZX-AIZZX===AXXXZZXA++==XZXAIXXZZZXXAAXIIIIIAAAAAAXZXIAZXZZXAAAXXAII+        -+1----+I=1+=+==IZZAXZA+IAAIAI=+-    
+                     C                                                                                                              
 ==+==I=I=++=++IZZZ-ZZZXZZXA+IIIXXAX-ZA=IXXZZAIAXAXXAAAIIAI=IXXAAXAAZZZXIIAAXZXXZZXIIII1-    1+11   -- =III==-+IXZZZXZAAA++IAI1-  ---
+                  C                C                                                                                                
 =+=I=II=+11====IAXZZ-ZZZXII=AAAXXAX-ZXAXZZXXXXXZXAAAAAAAI++IXAAIAAZ-ZXXXXAAIIAAXA=++==+1--+=I=11-  -1+=II=I=+IIAAXZXAAXI--=I+-- -11-
+                    C              C                               C                                                                
 +===IAI=+ -1IA==IAZZ--Z-ZXIIAXZAIIIZZZXXZXXX-ZXAAAAAXXXAI=IAXIIIXZZ-XAXXXXAIII==+1+1+I++1=AAA=1++11++=II++==++AAAAAAA=+1- -+-    ---
+                    CC C                    C                      C                                                                
 -==+IAI+-1=+II==IXXZM---ZZXAAZ-ZXIIXXZZXX=AX-ZXAAAXXXZXA=AZZXAAAXXZZXAIXXXAAA=11-1+11-1IIXXAA==IIIAAII=I+1=1-1AAXI=IA=1+- -+1---  -=
+                     CCC      C             C                                                                                       
 1AI+II==1==+=IXXAXXXZZZ---ZXZ---ZXAAXZXZZ=IXZIAXAXXZZXX=+XZ-XIAXZAAXXAAXIAAA=1--11+-  1IAXXAIIIIAXXXIAAAI==+=IXAI-+I=II=1-=+1111+===
+                       CCC   CCC                           C                                                                        
 +AAXI==IIAAIA=AZAAXXAXXXXZZXZM--ZZXXXAA--XAIAAAXZZZZXAA=IAX-XXXXZXZXA=II=AI=+- -1-----+IIAXXI=IAAXZXAAXXI===IAII=1+=1I==++=+-11+===+
+                              CC       CC                  C                                                                        
 1AXZI==IIXAIXIIZZXXXZZZXXAAZ-M=-ZXX-ZZZ-MM-ZXXXZ-XXIAAAXIAX--Z-XZZZXI-1+II=11  -   11+IAAAAXI=AXAAXAIAZAI==+IAAA==+1++-++==11-+=I=++
+                            C CC   C   C  C     C          CC C                                                                     
 +AAI+IAIAXZZZZXZZXZZZZ-ZX=AZ-M=MZAZMM-----XZAXZZXA=+IAXZAXX--Z-IZ-ZZI===++--      1IIAIAAIII=AXAAZZXZXX==IAIXAII=+1=I1- -++=+++++===
+                      C     C C      CCCCC                 CC C  C                                                                  
 =IXA=IAAAXZ-MMXXXAX--MM-ZXA--M==MZ-M=----ZAAAZZZXAAAAXZ---ZZ--MM--ZXAXA=11---  --1=AXAXAXAIIAXZZX-ZZZZA=AAI=I++==--=+++  -=====++=I+
+           C       CC  C   CC CC  C CCCCC              CCC  CC  CC                               C                                  
 IIXXAIAIXXIZM-ZAIAXMMMMZ--XZZ-=++==+MZZXXXZZ--ZZXZXAAX-MM---MM=MZ-ZZZXI+11-----11+IXXAXZAXXAXAAZXZZZXAIIXXI+1-+=1 1+11-  -II=11==II=
+             C          CC   CCCCCCC        CC        C  CCC  C  C                                                                  
 ==AXXAAIZXAXXZZXAXZMMMM--ZIAZM=+"""+=MZAXXMM==-XXZZXZ-M=MMMM==M----ZA=+1+-- --=I=1=ZZAXZZZXX=AAAXZXXA==AXXA=1-+=-1++1   -+==+-+IAI++
+                       CC     CC+++CC       CCC      C C    CC CCCC                                                                 
+                                CCC                                                                                                 
 1=XXXAAAZZZIAAZZZZZZZM-XXZAX-==="""++=MMMM-==M-IXZZZM=+=+=M==MM-M-XAI--1-----1II+ =X--ZXXXZA=AXIAXAAI1+AZZAI1 - 1=1-    11+--1=IA=+-
+                      C     CCCC+++CCC    CCC C      CCCCC CC  C C                  CC                                              
+                                CCC                                                                                                 
 1=ZXZAAXXZX1IXZZMMXZ-M-ZXZ=I-=+""+++++++=ZA-=M-ZZZ-M=+++++====M-ZXII=--1-1+++=I=1+A-M--MZZXZXXA==AAIAI=AXXAI1+1 1+-1---1-+=1++IIIA=I
+                    C C     CCC++CCCCCCCC  CC C   C CCCCCCCCCC C                   C CC                                             
+                               CC                                                                                                   
 1=AX-XAXXAX=IZZ-=+ZZ--ZXXXAXZ-="-"====++=--M+=M--ZZM==++++===M-ZXI==1----1==I=I=IIAZZ--MMMZAAZAIIXXIAIAIAII=+I=1-+++111+1+=+==III=+=
+    C          CCC  CC       CC+.+CCCCCCCCC CC CC   CCCCCCCCC C                      CC                                             
+                               C'C                                                                                                  
+                                X                                                                                                   
+                                C                                                                                                   
 +AXZMZXXAIAAX---=+-XAZ-AZXXZ-=+""=-MM-=M====+=--ZZZ==++M=+===-ZZXI+-  -1=IAI==AAXXZXXZZMMM-AX-XAXXA=I==II=++I=++1+11++==+==1++=III==
+             CCCCCC   C     CCC++CC  CC CCCCCCCC   CCCC CCCCCC                            C  C                                      
+                               CC                                                                                                   
 =AAZMZXIAIXXZM-Z=+MXXX-ZZ--Z-+""=ZM==MMM=++++MMZZZ-==+=MM=-=MM-ZX=    1=AXAAAXAXZZ-ZXXX-ZZZIZ-ZAAI=II=++1=I=III==+--+1=I+=+1--++=IA=
+              C CC    C  CC CC++C  CC   CCCCC     CCCCC  CCC  C                   C    C     C                                      
+                              CC                                                                                                    
 AIZ==-XAAAXZZZ-M=MM-XZ==+++++"""+Z-=MMZ-=++++MM--MM=+""=+===M=M-A+- -++IXZIXZ--XZZX-ZXX---ZAAZZXAXXA==+=A=I+==II=1-1=+I==+1-++====II
+   CCC        C C  C  CCCCCCC+++C CC   CCCCCC  CC  CC++CCCCC C C             CC    C   CCC                                          
+                             CCC                     CC                                                                             
 -A-==ZAAXXXXZ-M=MZ-MXZM==++---""+-MMZXXXZ=+===M-M=+++""++M--MM-XI111+IIAXXAAAZ-ZZZXZXXXZZZXAXXXZZZXXA+1=I=I1+-+II+=+=I=+=++1====+=I=
+C CCC        C C  C    CCCC...++CC       CCCCC C CCCC++CC CC  C               C                                                     
+                           '''CC                     CC                                                                             
+                           XXX                                                                                                      
+                           CCC                                                                                                      
 -X--=-ZXXZXZ-M=+=---ZZ--=""-""-+MMMMZIXAXM=-M=MM=M+"+""+=-ZZXXAI+===AXAAAXZXAXZ--ZZXAI=AI+IXXAZ--ZIXI++=I+=+1 +=IIIIII=======++=IAAA
+C CCCC      C CCCCCC  CCC++.CC.C          CC C  C C+C++CCC                     CC              CC                                   
+                         CC'BB'                    C CC                                                                             
+                           XHHX                                                                                                     
+                           CXXC                                                                                                     
 XXXZ=M-ZZ--X-=++MM=M-ZZ-"--"-"-+M+M--=IZ--ZXZZ-MM==+++++=ZZZAAIIIXAAXZXZXXZ-ZXXZMZZZAI==IIIZZAZ--XIIIIAAA=11--+IXAIA=++II==I=IIAAAXX
+    C C  CC CCCC  C C  C+..C.C.C C CC   CC    C  CCCCCCCC                  C                   CC                                   
+                        C''B'B'                                                                                                     
+                         XXHXHX                                                                                                     
+                         CCXCXC                                                                                                     
 =AAZ-ZMMM=MXM-"=XAZ-ZX-=""---"-+==M-A=X--ZXIAX-M++=M=M==M-AAII=IXZXXZ-ZZZZ-Z-XZ-Z-MXZXAIAXX-ZAXAA=AIAXXAAI+-+==AXAAI++=II=I==A=IXZXX
+    C    C   .+C   C  CC++...+.CCC C   CC     C CCC C CC C           C    C C  C C         C                                        
+             'C         CC'''C'                                                                                                     
+             X            XXX X                                                                                                     
+             C            CCC C                                                                                                     
 --ZZZXM-M=M==""=XIXZXA-+""""+=+=ZZZZA==AXXXA==Z+++++==+=M-AIIIIAXXXXX---Z-ZXZZ-M-M-XAXA=IXZZZXXA=IIIAXXAXI++=IAXXAAA=AAAA===III=IAAA
+CC     C C CC++C      CC++++CCCC               CCCCCCCCC C           CCC C    C C C                                                 
+             CC         CCCC                                                                                                        
 ++MX-M==M++++"+-XX--ZIZ=+"==+--ZXI====IAA-ZA1=-=++"+++++MAAXAAAXXAAIA-ZZ--XXZZ-Z--ZXAXA==XZZXAZZIXIIAZAAA==AAAXZXAAAIIAAI-+=AAAII=IZ
+CC  C CC CCCC+CC  CC   CC+CCCCC          C    CCCC+CCCCC             C  CC    C CC                                                  
+             C           C                        C                                                                                 
 "+ZAZ="""""""=MXXM++-ZZ=+++""=XMXI++===AZ+=X==ZMM======+Z==IAXAXAAIAXZ---XXZZZ-XAZZZAAI=AZXZAAZZAZIAXX=+III=IXAAXI=IAIXA=-+=XXXAA=AX
++C   C+++++++C    CCC  CCCC++C           CC      CCCCCCC              CCC     C                                                     
+C     CCCCCCC              CC                                                                                                       
 =-XAX=++-+--"MX+XM""MM-M+="-""M==-A=AIIXM""-A=AZX==M=--Z=  IZZAAZZAZ--ZZ-ZXAXZ-ZXXZX=-=AAZ-ZXZZZXXAAAI==AAA=IAAA=+IIAXAAI==IXXXAAIIA
+CC   CCC.C..+     ++  C CC+.++ CCC       ++C     CC CCC             CC  C     C           C                                         
+        ' ''C     CC      C'CC           CC                                                                                         
+        X XX               X                                                                                                        
+        C CC               C                                                                                                        
 ZXXIAM+"-""""MA+XZ+=MMM-=+"""""=++M--II-==+=ZXAAA--Z-XA=+1=AZ-ZIZXXZXZZAZZXAZ--ZZZZZI-IXXZZZ-ZXZZXAAI===+I=IXZXA1+IIXZXAIIIIAXXXXAII
+      C+.++++     CC   CCC+++++CCC CC  CCCCC     CC C        C               CC             C                                       
+       C'CCCC             CCCCC                                                                                                     
+        X                                                                                                                           
+        C                                                                                                                           
 XA=AX-=++=++"+Z=IZ--==MMM++=++++"+++-+A===++MM-XAZZXZI+IAIIX-ZXA-ZZ-ZXXXIAZAZMZX-MZZ=+A--ZZ-MZA-ZZAAI==I==IX--ZA=IAAXXXIIIIAAXXXXXAI
+  C  CCCCCCC+C    CCCC   CCCCCCC+CCCC  CCCCC  C             C   C  C            C      CC  C   C            CC                      
+            C                   C                                                                                                   
 ZZMI-ZZM-M"--"=XIAZ-MM===M--=-="=M""MIZ===+++++MMMZXA+IZMZXXZAXXZZZZZAX=1AXAZXXXXZAXIAXM-X-M-AA--XI===IAIAXZ--ZZX=AXAXAI==IAXXXXXXI=
+    C   C +..+C    C  CCC CCCCC+C ++   CCCCCCCC                                         C C C  CC           CC                      
+          C''C                 C  CC                                                                                                
+           XX                                                                                                                       
+           CC                                                                                                                       
 ZIAX-AAAZ+--"--M-X-=M-==M-ZZ-ZZ+""-""=MM===+""-""+MZAAZ=+MZXZ-ZZ---XXAAI+IAIXIIXXXAAXAX--ZZ-XIXZZXI-+IAIIXZ-ZZZZXI=AXXXI=IAXXZZAXAI+
+    C    C..+.. C CC CCC C  C  C++.++C  CCCC++.++C     CC    C  CCC                    CC  C               C                        
+          ''C''                 CC'CC       CC'CC                                                                                   
+          XX XX                   X           X                                                                                     
+          CC CC                   C           C                                                                                     
 =-Z-ZI+ZXM"-"--+=--M--M-ZXXZZXM"""""++MMM==+"-"""++M---M=M-X-MZZM=MZZXXAI=====AXZXIIAAXZ-ZZ-ZZXZZAA =II=IAZ-ZZXXX-ZAAAXAIIAXXXXAX=I-
+CC C      +.+..CCCC CC C       +++++CC   CCC+.+++CC CCC C C C    C                      C  C               C     C                  
+          C'C''                CCCCC        C'CCC                                                                                   
+           X XX                              X                                                                                      
+           C CC                              C                                                                                      
 -"+MAAI-ZZ++M=+-=+MM-ZM-X=IAAA-+"""++==MM-==+"+"+=+===MMM=MM==Z-MM-ZXXXAI++1+IAAII==AAXZZZ-ZZZAXZX==AIIAAXZZZZXXX--XAAXAAAIIXA=AXI= 
+.+C    C  CC CCCCC  C  C      CC+++CCCC  CCCC+C+CCCCCC   C  CC C  C                       C                      CC                 
+'C                              CCC          C C                                                                                    
+X                                                                                                                                   
+C                                                                                                                                   
 -"+AAXIAZ-=-Z==X+-+MAX-ZI+I==AM=++=-M-MMM-MMI-++=+++===MZ-M=+MXXZ-ZAAAII+1-1+II=====IIAZAZ-XXZXXZZ=IIIIZM-ZXAXZXX--MZXZZX+ -I=1IXXI=
+.+C      CCC CC C.C   C        CCCCC C   C   CCCCCCCCCC  C CC    C                        C              C       CC                 
+'C               '                                                                                                                  
+X                X                                                                                                                  
+C                C                                                                                                                  
 -"=M=-ZA-Z-XZ-A-"-+ZIXZXA+==+=-==+MZ---=MMM-1XMM=++++==MXX-M=XAIXXXAI===+- +1++==IIII=IAAZZAXXXZXAIIXAAZM--ZZZA=IXZZXAAXXA1=AAAAIAAA
+.+C CC  C C  C C+.C           CCCC  CCCC   C    CCCCCCC   C C                                            CC                         
+'C              C'                                                                                                                  
+X                X                                                                                                                  
+C                C                                                                                                                  
 "-Z-Z==XZZXXXZZ"-""+XA=IA++1-+ZMMMM---M-M--MZZ-M=++++MM--Z--=-ZZXZXXA===11+I11+=IAAAI=I=IAXXXXAXXAIXAAXXZZZZZZAAXAXZA=IAIAIIIAXI+III
++C C CC        +.++C               CCC C CC   C CCCCC  CC CCCC                                                                      
+C              C'CC                                                                                                                 
+                X                                                                                                                   
+                C                                                                                                                   
 -XM+-M+ZZXXZ-M-+---+X1+==--  1I-=-Z------ZZMM--M=MM==MM==M==+=M-ZZZZXI==+1+I-+==IAAAA=IAAAXZXXXXAXIAIIZZZXXXXZXZZAXXI+IIIAAXXAAAIAA=
+C  CC C     C CC...C           CCC CCCCCC    CC C  CC  CC CCCC C                                                                    
+                '''                                                                                                                 
+                XXX                                                                                                                 
+                CCC                                                                                                                 
 X==+MZ=ZIXXXM+"""-"ZA=+11--  +AZM-Z--ZZZAAM=MMM-MZZMM==+==++=MMMM---ZXI=+1++--IIIAIII=AXXXXXAAAIIXAAAZ---XZXZ-XZ-ZXAII===XAZZXXXXXA=
+ CCC  C      C+++.+              C CC      C   C     CCCCCCCC    CCC                                  CCC    C  C                   
+              CCC'C                                                                                                                 
+                 X                                                                                                                  
+                 C                                                                                                                  
 Z=+=Z--X+AIAZZ"----+XAII+    +IZ-ZZZZZZXAX-M--=M-ZX--==++=+=+=MM--MMMXA=---1==IIAXAI==IAAAII==IIAAXAX-M--ZZXAAAAXXXXXAI==AAX-ZXZZXAI
+ CCC CC       +....C            C         C CCC C  CCCCCCCCCCC  CC                                   C CC                   C       
+              C''''                                                                                                                 
+               XXXX                                                                                                                 
+               CCCC                                                                                                                 
 MMMZZZZA+XZXIX=----"=ZAI+1   -=Z-ZZXXXAAXXZ---M-ZZ---M==++++++==M--M-XI1  1+AAAIAAA=+==III=I=IAAAAAAX---ZXXA=+====ZXAAAAAAAXZ-ZZZAXX
+              C....+C           C          CCC C  CCC CCCCCCCCCC CC C                                CCC                     C      
+               ''''C                                                                                                                
+               XXXX                                                                                                                 
+               CCCC                                                                                                                 
 +=-ZZXXA==AA+X+-"===-III=+    1A--XII==XZAZ-MMM-ZM=--M==+""++====--ZZXI+1++=AXAII===+I+==IIAAAAXAXXXZX--XAAXAI=1+=XZAXXAXAZXXZZZXXXZ
+CCC           C.+CCCC           CC         C   C  CCC CCC++CCCCCCCC                                   CC                            
+               'C                                        CC                                                                         
+               X                                                                                                                    
+               C                                                                                                                    
 +=-ZAIA=II+AIX="=-MX=AA==+-  1==XMX=++=AXAXZZZZZZM++==+++""+=====MZAAXA=+==IAAI+==++1111+=IAAAAAXZXXZZZ-ZAXXXI=I=XZAAZZXZ--ZZZXXAXXX
+CCC           C+CC                                CCCCCCC++CCCCCC                                      C                 CC         
+               C                                         CC                                                                         
 =M-ZAAA=AXA-ZAXXIIXX+=AIII=1+AIXXXIIIIAXXXXXXXXZZ-M===+++"""+++===-XAXXIIIIAA+==II=+--  1+=IAI=+IXXXXXXXXAAXA==AAXZX=XXZZ--ZXXAXXZXA
+C C        C                                     C CCCCCC+++CCCCCCC                                                      CC         
+                                                         CCC                                                                        
 XX--IIAIXM-MZXAI=-+I11=I=AX=1==XZAI==IAXXZZZZZ-MM----M+"++++-"+=MM--ZXAIAAAAI=AAAI=1-   1+II=I=IXIXZXXXXAXAI=IAXXAXA=IXXZZXIIIIIXZXI
+  CC      C                                   C  CCCC C+CCCC.+CC  CC                                                                
+                                                       C    'C                                                                      
+                                                            X                                                                       
+                                                            C                                                                       
 AZMX=AXX===MZXII=+=I11=I+II1  =XXXAIAZZZXZZ--M==M-----=+=+++""+M==MM-ZZZAIXXAXZXA==-    +=I===IIAAXZZXXXXAI+==IAI=I==IAAXXI+=I=AZXXX
+        CCC                                CC CC CCCCCCCCCCC++C CC  C                                                               
+                                                            CC                                                                      
 -M=I+XXX++"+A1==IAAAI++==IX1  IAAXXXZZZZZZ-=++++==---=+==+++=""MM==M-Z-MZIAZ---ZAI+-   11=I==IIAIIIZZXZAAA=I=I=+11++=AXXXXAXXXIAXZZZ
+C C     CC+C                              CCCCCCCCCCCCCCCCCCC++  CC C C     CCC                                                     
+          C                                                  CC                                                                     
 ==MAIAZZ="-=1=ZA=IAXI1=++IZ=+XXXAAAAXZZXZZ-==+=+=-ZX-==++==MM=M---MM-M==ZXXXXZZZXAI=1--1+=====IXAIAXAXXXAAAXII=11++ +IAXXZZXZ-XIAXZZ
+CC      C+.C                              CCCCCCCC  CCCCCCC  C CCC  C CC                                                     C      
+         C'                                                                                                                         
+          X                                                                                                                         
+          C                                                                                                                         
 M=-AAXMZZ==Z+X=Z=XXXAIII=IZXI--ZXAXXAZXAAX----MMZXXX-MM++=MM-MZ--ZXZ-MM-XXZX=IXZZXAI+11====I+=IXAIAAIAXXIIAAAAI+++1-+=IAAZZZ-ZAAAXZX
+ CC      CC   C              CC           CCCC      C  CCC  C  CC   C  C                                                    C       
 AZZXAX=ZXXXAIA-AAM=MXXX==+=ZAZM----ZXZ-ZAZ----=MZAA--MM++==-Z--MZXXZMMZ--ZZXIIXXZZZA=++IIII==IAAAAAIIAAA==IIAII1111+==I=IAXZXXXAAZXA
+      C       C   C            CCCC   C   CCCCC    CC  CCCCC CC        CC                                                           
 XXAA+=ZXX-ZZXI1IZ+"=Z-ZA=A=-ZZ-MM==--XZZXAZMMMMMZXAZZM===M=Z-ZM-ZXZ-MZMMMZZZAXXAAZZAI++IAAXAIIAIIXI1==+=I==IAI+    +=IAAIIZZXXX=II=I
+         C       C+C C     C  C  CCCC                 CCC C C  C   C                                                                
+                  C                                                                                                                 
 MX==1=AXM+XAIX=I=+M-AXZZIA+XM++==+=M-ZXZZZZ-----ZXAAXZ-M=--M-ZZZZX-M-MMMA=AXAZZIAAAAA=+IAZAAIIAIIXA==-1IAII===1   -=IIAXAXXAAIII====
+         C      CC C         CCCCCC C      CCCCC      C CCC C     C C                                                               
 =Z==++=XM+X1=AAIMMXXI==AII=X=-""+MM=-ZXXZ--ZZXXZXXIIIAZ-ZZZ-ZZXZ--==-M=-A-1=AXZAAAAAIA=IAXXAA=I1=+==I+=III=-+=+   -+II1=AXA=IIIXII=I
+C        C                  C.++C  CC    CC            C   C    CCCCC CC                                                            
+                             'CC                                                                                                    
+                             X                                                                                                      
+                             C                                                                                                      
 +M+-+IA=M=A-+=AAXZZAA=+11=AIXM=++ZAM--ZZZMMZZZ--XX=IAAAXZZXXI+=-==++M==M-I++IXZAAXA====IIXXII== + -=IIAAAAI =AI-   +AXIAXAIIA+=AAIAA
+C        C                    CCC   CC        CC               CCCCC CC C                                                           
 +"= =AI=M==A1I=+AXZZI===1=A=I-ZZZXIXZ-M-XX-ZZ---M=ZZ==-XIIZI- =M"""+-=M==MZXIIIIAZZI==II=IAAAI= 1  =AIIAAXA=AIA=1 1IXZ-ZZXAII=I=IAAA
+C+       CC   CC             C       C C  C  CCC C  CCC         +++CCC CC                                             C             
+ C                                                              CCC                                                                 
 =+=IXXIZ++=+-A++XZXX=I+==+=AX-ZZZIIAXXM=-ZZMMM+=+=MM+++=Z+=1 1ZM"""+ZMMMMM-XA=-=A-ZXXI=IAIAIII+-+11=AAAXXXXAIIAAA+1AZM----ZAII=A--ZZ
+CCC     CCCCC CC             C         CC     CCCC  CCCC        +++C      C      C                                    CCCC      CC  
+                                                                CCC                                                                 
 M==ZZ-ZX+"=++A-ZAAII==1+=+AXZXIZZX-XZZ-MM---M===M-===++=-X+--=M++="=M--Z--ZXAI=AZM---ZIXA====A1-=I+IAXXZZZZA++IXAI=IX-ZZ---ZAIIZZ---
+ CC  C  C+CCC C                   C   C  CCC CCC CCCCCCCC      CCC+C CC CC        CCC                                C  CCC      CCC
+         C                                                        C                                                                 
 Z-=-Z-XA=++++==-M=--=11+II=AXZAZZZ--M+=X-Z-Z-=+=--M==+===-X+=Z+++=+=MM-XZ--XXXXAZ--=M-XZZA1++++=I=+IAXZ-Z--X=IAXZXA=XZZZ--XAAAXZ--ZZ
+ CCC C  CCCCCCCC                  CC CC C C CCCCCC CCCCCCC    CCCCCC  C  CC      CCC C                 C CC             CC      CC  
 AZ=-ZZAXZZXAX-+"++  1 1+AI+IAXXZ-ZZ-=+MAZ-MM-=+===--MMM=-M-ZAM=++"""M==-ZMMM---Z-MM--ZXXZZI+-1==I=IXAAZZXZXX=IAAXXIAZ-ZZ--A+XXXZZAIA
+  CC         CC+C               C  CCC   C  CCCCCCCC   CC C   CCC+++ CCC    CCC C  CC                                C  CC          
+               C                                                 CCC                                                                
 IX--ZI1+=-1++=X=+Z+---+IXAIAAAAZM-ZZ=MXIAZ--M=ZZM-Z-ZZ-M-Z--Z-MM===+M=M-M==-MZ-MM+=M--ZXXZXXI=====IAI=XAIXIX=IAXXZXXZ-ZZXXA=II=+=+II
+  CC           CC                C  C     CC C   C C  C C CC C  CCCC C C CCC  C  CC CC                               C              
 =AZZZI=A++XZA==Z=-I1+1+=AIIIIIIZ--ZMMZA+1IXZ--XXZXXXXZZZ-ZZXXZ-M=MM==+=MMMM-M-MM=+++MM-ZXZZZXIII====IIIXAIAXIIAIAXXXZZZXXXAI=+=IIIAI
+                CC              CC          CC          C     C C  CCCC    C C  CCCC  C                                             
 =AZ-ZXZZ++-MZZX=-A===1+II=+1+=IZ-ZXMMXX1-=AX-ZZZZXXAXZ---ZXAXXZ-MM=+++=M---Z-+++====M--M-MMM-XXI=I===IIA=IAIIAI=XXXZZ--AAAI=++++=AXI
+   C      C     C               C           C         CCC      C  CCCCC CCC CCCCCCCC CC C   C                        CC             
 =AXM-Z-M= +ZAI1AZ=+++=ZXX=1 -=AXIXZ-MXZIIIAXZXZ-X=AAX--MMZXIIZ-M--==+++=MM---++"+==MM--M=MMM=MZIAA=++IAA+=AIIAAXXIXX--XIII==IAI+=AXA
+    C C                            C           C     CC       C CCCCCCCC  CCCCC+CCC  CC C   C                       CC              
+                                                                               C                                                    
 IAZ---MZX-    -X==1-IM-==A- 1=IXAAAXAIIXZZZ--X--XXXIX--ZMZAIXZZZ-=MM===M=MMM=++++==M-ZM=+=M=MZXXXII=====1+======IAAAXZZAAAIAXXI=AIAI
+   CCC                CCC                  CC CC     CC         CC  CCC C   CCCCCCC C  CCC C                                        
 AAZZZ--A=XA1-1IXAAI=Z++="Z  1IAXAI==+==XZZZ-M--MMZIIZ--XZ-XXZZZXZ=MM=MM-=MM-M==MMMMM-Z-M++=MZAXZXI++++--1+==+111+IAXXZZXAIII=I=II+==
+     CC              CCC+                  C CC      CC  C       C  C  CC  C CC     C C CCC                                         
+                        C                                                                                                           
 -X-Z-Z-A+AX=IXX-==MM=++=+X1-+AZXXII--+=AAXX--M===-XAZ--XX-ZZZZZXXMMMM-M-M---MM---MMMZZZ-=M==-AXZXA=+1-----1+11++=AAXZ-ZXI=AAIII==++=
+C C C C        CCC  CCCCC                  CC CCCC   CC  C           C C CCC  CCC      CC CCC                        C              
 =MZZ--ZAAXZAXZX=++-"+=++=X==AAAXAA=- -+=XXAZZM=MM---X---ZZZZX-MZZM==---ZZZZ-==--ZX---ZZM=M--AAI=AAI=+     -+1+=IAIAXX-ZXAIIXAAA=IIII
+C   CC         CCCC+CCCCC                     C  CCC CCC     C    CCCCC    CCCCC  CCC   C CC                         C              
+                   C                                                                                                                
 M-AAX--ZZXZZXZZM=+-=ZZ+=XI=IAXAAII11 -==AAXXX=M=-AZ-ZZ-M-Z---M=M--=MM-ZXXZ-M==M-M-XZ----=MZXAXA+===I+      1+=IIIAIAAZXAXZZZZXX+=AAA
+ C   CC         CCCC  CC                     C CC  C  C C CCC C CCC  C    C CC C C  CCCCC                                           
 =ZI=Z---XXZZI=XM=++=XAXI==IAZZXXXA=+++==IAAAZMZMM--ZZZZ-ZXZ-MMM=M-ZMZZXIAZ-===+++=ZX--Z-==-AZZZAAI==1-    -1=IIAI===IAXAIAXZZXI===IA
+C    CCC        CCCC                             CC    C   C   C C        CCCCCCCC  CC CCCC                                         
 -X==Z--ZAAXXXIA=""++=-ZAIIAZZ-XZ-XI+===IXXXXXZ-MM-ZZZ-ZZXXX-M===----ZZXIXZXM=+"++=-Z-ZA-==ZZZZZXAI=++-   -1=AAAAIII==IIXAAAXZAI=IAAA
+C    CC        C++CCCC       C  C             C  C   C     C CCCCCCC        CC+CCCC C  CCC                                          
+                CC                                                            C                                                     
 MZIAX-ZX==AZXZ-=++M-++==ZXXAZ--M=ZI +IXXZXZZ-ZX-Z--ZZ-ZXZ-XZM==MZMMMZXIAZZA-M++++=MMM-M-Z=ZZZXXA=+=+=+  -1++AXXAIIAA=1-+AAIXZAII=AXI
+     C        CCCC CCCCC     CC C           C  C CC  C   C   CC            C CCCCC   C C C                                          
 -ZAXZ--ZAAZMZM=MMMMZM++"+-ZXZ=M-=MZAIXZAAAZZ---MMMMM--Z--ZXZ-MM---Z--XXXZ-X--=++==M==+"=+-XXZXI= 1++II1---1==XXAIAAIAI=1AAI=IAIAI+=I
+C    CC       C      CC+CC   C CC           CCC     CC CC   C  CCC CC    C CCCCCCC CCC+C C                                          
+                       C                                                              C                                             
 --ZZXXZZZZZ-Z-=M-=M-++"""=MM=MMM=MMZXZZZI+XX---M=---XAZZAZXX-M-Z-XIAZXZ--=MM-M=+=M==M=MZ=X==AAI=1==IA=+++11+IZXXAXIAZZA+=IIIIAAAI--+
+CC         C CC CC CCC+++C  C   C           CCC CCCC        C C C      CCC  C CCC CC C                                              
+                      CCC                                                                                                           
 MM--XIZ-ZXZ=+AM=-XZX=+"""=M+=M===M=MZ--ZXXZZ-ZM=MZZX+AZA=XZXZM-X-X11AZZ--M-MMM-M==MZ-XZ=AZAIIII====AA======IIAAX=IAAZXAI++IAAI=I=1++
+  CC   C       CC   CC+++C CC CCC C  CC     C  C              C C      CC C   C CC  C                                               
+                      CCC                                                                                                           
 M-Z-ZIZZZXA=IXX--+=Z=+""+MM-=++==MMM-M==M=-XXMM=M=ZXXXZA=IAX-ZAA-ZA=XZ-ZZZ-M==ZXMM--ZX=1AXXA=I==I==IA===IAXXZXA=+XAZZXAAI+II=A=1--++
+ C C           CC   CC++C  CCCCCC   C CC CC    C C          C   C     C   C CC    CC                                                
+                      CC                                                                                                            
 M---XAX-ZXZXAXXZZ==-M-+++ZMM=MMZMMM-==MM==MZAM=M=MXXZZZZXI=X-X+=Z-ZI=X--XZZ--MX+=X--XI1+=AAIIII=++=II=I+=IXZZZX==XZ-ZZZ=IIAI++=+=+11
+ CCC   C           C CCCC   C      CCC  CC    C C           C    C    CC   CC     CC                               C                
 ---ZXAXZZXZXAXXXA11X==AAXA-MM-XZ-M=M=MMM=++M-MMAZM-Z-ZXZZIIXZXAAAZZAAX-MZ-Z-Z-A--IXZ=11IA=AAAII=111===AIIAXZZXA=AZZZXZXIIIAI=+==I=++
+CCC                       C  C  C C C   CCC C     C C                 C  C C C                                                      
 X-ZXXAXXXZXAAXXZXI1A11+=IIZMMZIZM-M--M=MM=+MMM==X=M-ZZAXX+AA-------ZZ-MM-ZXZZZA-1===+==AA=XAAII=+-- 1=AAAXZ-ZXA+AZX==AXAAAXA=+1==++=
+ C                               C CC C  CC   C  C C        CCCCCCC  C  C                                  C                        
 ZXZAXAAAAZZXXAAX-M--+=====Z=ZZ--Z--ZX=+=-MM==M-MM--Z----MAZZ-+++++==+++=MZZAXMMZ=+++=IAAAAAAXIA=+1  -IXXZZ-ZZXXAXZX -I==IIIII=1==+1+
+                C CC       C  CC CC  CCCC  CC C  CC CCCC    CCCCCCCCCCCC                                  C                         
 ZXZAAXAAIAXAXZXZM=M=ZA==1=ZMMZAZZMMMM==M-ZX-MZXZ-XXZ-Z-MM--ZX=++++"+"++MMZZZXA-=M====AAIIAXXXIXAIAI+IAZZAAXXXXAXXXXA=AI=IIIAI=II=+11
+                 C C                 CC C  C    C   C C  CC  CCCCC+C+CC       CC                                                    
+                                                                  C C                                                               
 ---ZAXXXAAXXZZX--M=+=MA==X-=MXAXZ-M=---M-ZZZZ-ZX-Z-MMZXXXZXIA-++++"""+=XMMMMZI-++AI==AZA=AZXAAAXXXAIAAXXI==IAIIXXXXXAII==1=AAAI==11-
+CCC            CC CCC     CC     C CCCC C    C  C C          CCCCC+++CC       CCC                                                   
+                                                                  CCC                                                               
 M--ZIIXXIXXXZZZM--==++ZIZMM-ZZZZZ-MMXXZZZZMZ-M-Z-==+MXZIZZ+1IM"+""""+++-M==M-Z=+=X=+IIAAIAXZXAAAXZIIIIAXAAIIIIAXXAXZXAII==1=II=I=+11
+ CC             CCCCCC     C     C          C C CCCC          +C++++CCCC CC C CCC                                                   
+                                                              C CCCC                                                                
 MM-ZIIXZXXXXZZZZ--==+"-XX-M-X-MM-=M-MAXZM-=-==MZZ==+M=IAZ-A=I=++"+""+++MMM=MZ-==-A+=AIAIIAZMXAIXXZZXIAXIXXIIIIAAZZZZX=-+II===I=I=II+
+  C             CCCCC+C  C C C  CC C     CCCCC   CCC     C   CCC+C++CCC   C  CCCC                                                   
+                     C                                          C CC                                                                
 =M-ZAAXZZZZZZZZ-ZZ-M++-ZM+"=ZM=-M=-XZ==XZMMM==MMMMM=-AIZZXXII++++++++++MM-Z-AX=MZ11AXA===AM+M-ZAAIXZA=AIXAAIXZZZZZZXA  +IXAAI=AIAAA=
+C C            C  C CCC  C+C  CC CC         CC     CC        CCCCCCCCCC  C C  C            C C                                      
+                          C                                                                                                         
 ===-AAX-ZZZZZZZZZ--M=++=++M-X-MM=M-IXAA-MMIXZ--MM-Z-ZZAZXAZ=I++++++++=MMMMM-=I-MZ+I-=MZA+A-==-Z==++A==AAXXXAAZZ-ZXXA=I=IIIIAIIIXXXXA
+CCCC   C         CC CCCCCC C C  C C    C     CC  C C         CCCCCCCCC     C  C    CC     CCCC                 C                    
 ===-AAZ--ZXXXXXXX-===+""+MAXAZZMM=-AZAXMMZIXXX-MMMZZXAAXZ--AX=M+==+==---M==Z+A-=-ZM=MM=ZX-MM=MXI++++AXIXM-Z-A=XZZXXA+AIAI==++IAXXXXA
+CCCC   CC        CCCCC++C        CC           C          CC  C CCCCCCCCC CC   CCC  C  C  C  C            C C                        
+                      CC                                                                                                            
 ===-A=X1XXAAZ--ZZ-+M=++"+ZAI+Z---=--XXAXAAXIIX--==ZXX===AXAXAMM===M-ZZMM-==ZXZM=-M=M=X+M===M++MX=XI=--XZ""=ZA1XZXAAI+==II=++==I==II+
+CCCC         CC  CC CCC+C     CCCCCC          CCCC             CCC C    CCC    CC C   C CCC CC      CC  ++C                         
+                       C                                                                                CC                          
 ===MZ1XX--ZZ------M-M+++-IA==-ZXZ=MMMZXZZXAIIXZ-ZZA==++-=ZXA-==+==MZAZMMM==-ZZ-=--==M=+===-M++==M==M=MZ=+++MX+XZXZZXAI+=IAZAI=II===1
+CCC     CC  CCCCCC C CCCC    C   C             C            CCCCCC       CCC  CCCCCC CCCCCC CCCC CC C  CCCC                         
 =M=M-XZZMMZXZ--MM-MM=MMMA===I-ZX-M-M-Z---XAI+IAX===-   -X=+M===+=MMAIZM--MMZ-ZMM-XM==++===-M=++=++=M-Z-+=MZ-XAZZZZZ-ZI=I=AXA=III=++-
+C C C        CC  C  C        C  C C C CCC                CC CCCCC      CC   C   C  CCCCCCCC CCCCCCC C CCC  C       C                
 ====ZZXZM=ZZ-MZ-M-M===MZI++==Z=ZIAAAAZ-Z-ZAI==I==I=-   1Z=+=+====ZMAI--ZXM-Z--MMZX-======M-Z+"+M==MXAAZ=MA1XXAAAZZXZXZXXXAA=IAI=++1-
+CCCC     C  C  C C CCC        C       C C                CCCCCCCC    CC   C CC    CCCCCCC C C+C CC     C                            
+                                                                                             C                                      
 ====XXXZZ=M==MZ-====+=-ZA+--MI-A-+=XAXZXXZZXXAI+IA=1+--1=--=+M===Z-XX--ZX-ZZZ-M--XXZ-====M=M="+=MMZ=IXAXZAIAZI==ZZIZXZZXXX==AI+11+1-
+CCCC     C CC  CCCCCCCC    C  C                          CCCC CCC C  CC  C   C CC   CCCCC C C+CC                                    
+                                                                                             C                                      
 M===-ZZZZ--MM-ZM=++++=X=A+++"M-XI==XMM-AXXZ-=X=111-==+=Z-MM++=MZMMMZX---Z-ZZZM-Z--AXZM=+===++++==MX=AXZAAAX--A+AZXZX=AXZXIXXI====+1-
+ CCCC    CC  C  CCCCCC     C+ C       C    CC           C  CCC       CCC C    C CC    CCCCCCCCCCC          CC                       
+                            C                                                                                                       
 M====--ZZZZMMMZ==+=+"+I+II+-"+==+MIM="=XX-M++MI- -=I=+=="+=====-MMMZZ-M---Z-------XAZ-M==M=++====MZ=IAZAAAXM=AIAXXXZ=XZ--AZZAAIII+--
+ CCCCCC        CCCCC+C     C+CCCC   C+C  C CC          C+CCCCCCC     C CCC CCCCCCC   C CC CCCCCCC           C          CC           
+                    C       C        C                  C                                                                           
 MMM===-ZZZZ-++=+++=+""I=ZMA-+-""-+Z++"-X-+"+=Z1-+===+11-+++=+==MMMM-ZZ--MMMMMM-MMZZXZZ--M-M=+M-=+=MZZZZ==IA-=-X+1+IZXZZZ-XXXAI==+- -
+   CCCC    CCCCCCCCC++     CC.++.C CC+C CC+CC          CCCCCCCC    C  CC      C       CC C CC CCCC         CCC          C           
+                    CC       'CC'    C    C                                                                                         
+                             X  X                                                                                                   
+                             C  C                                                                                                   
 XMMM==MZXZ--=+""++M-++--M=X---Z"-"-=++=="""+-1 1+++1- -A=++==M--Z--MM----MMMM=M=-ZZXAZMMMMM=+MZ=+=====-AIAAX-ZI   1M=M-XZ--ZXI====+-
+    CC    CCCC++CC CCCCC C CCC +.+CCCCCC+++CC           CCCCC CC CC  CCCC    C CC          CC  CCCCCCCC     C       C C  CC         
+              CC               C'C      CCC                                                                                         
+                                X                                                                                                   
+                                C                                                                                                   
 -MMM==MZZZ---="""+MXA===XIX=Z=I""+=M+++""+==M+1+=III- -I=+=MM--AIX-MZMZZ--=MM==M--ZZX-==M=+===-M+=====M-ZXIZM-Z   +-MMZXZZZZZZZXAI+-
+C   CC    CCCC+++C   CCC   C   ++CC CCC++CCC            CCC  CC   C     CCC  CC CC   CCC CCCCCC CCCCCC C     C     C                
+              CCC              CC      CC                                                                                           
 -M====MZ-Z--Z="""=-ZX===I+Z++XZ"+++++"++++MMMXAXZM--A11AM++=M-Z==IXZMM-Z-M==M==M---ZZ-========--=+=====M-I=X-MMX==AZ--ZZ-ZZ---ZZXI1 
+C CCCC  C CC C+++CC  CCC   CC  +CCCCC+CCCC        CC     CCC C        C C CC CC CCC  CCCCCCCCCCCCCCCCCC C   C       CC  C  CCC      
+              CCC              C     C                                                                                              
 =M==M=---ZZZZ+""=----MMMXX=+"=M+=+"+""+==MM==M=M=+=M-AAM=M+=M-ZI=IXXM=M--M==M=+=M-MM--=+======Z-M=M-==MMMXXAZ-M=+MZAZM--Z=AZZZIAI1-1
+C CC CCCC    C++CCCCC     CC+C CCC+C++CCC  CC C CCC C   C CC C       C CC CC CCC C  CCCCCCCCCC C C CCC       C CC     CC            
+              CC            C     C CC                                                                                              
 =ZMM-M---XZX-=++MXZXXAI-Z-+++=MM++++=M=M--===+M==+=M-XAMM--ZZZZXAX--=M---M-M-==+=M===MM==M==MMM--MMM==M--M=MM==++=-XZ-ZMZIIZXX111+==
+C   C CCC   CCCC       C CCCCC  CCCCC C CCCCCC CCCC C    CC       CCC CCC C CCCCC CCC  CC CC   CC   CC CC C  CCCCCC  C              
 +XM=MM--M-XXZ-=+MXII+=ZMMX-=+=-="+++=--M-ZMMMMM+=M=M-ZAAAZ-IXZZ---MMM--MMM-Z--M+======M=====MM-M--M=MM--MMM=====-XZZZZXZ--XXAAXA===A
+C  C  CC C   CCC          CCCCCC+CCCCCC C      CC C C     C    CCC   CC   C CC CCCCCCC CCCCC  C CC C  CC   CCCCCC       CC          
+                                C                                                                                                   
 +=MMMM-M==ZXZ-==MXIA=ZZ-M-M===M+"""++M-MZXZZZX-M--MMMM-AX--ZZZZ===MM--M=M--Z-X-===+=+====M---ZZ--Z----AXMMMMM-M-I+-ZZZAXZXAXXZZA+==A
+CC    C CC   CCC       C C CCC C+++CC C       C CC    C  CC    CCC  CC C CC C CCCCCCCCCCC CCC  CC CCCC       C C  C                 
+                                CCC                                                                                                 
 ++=-MMM+++MZZM==-ZZXZZAZM--=+==+=+++==-XAXXXXXX-Z--=+M-ZXM----XM==M=M-==MMM--X-M==++=M=MMMZ-ZXXX-Z----IAMMMMM-MMAXX-ZXAAXAAXXXX=+IXA
+CCCC   CCC    CCC        CCCCCCCCCCCCCC        C CCCC C   CCCC  CC C CCC   CC C CCCCC C    C    C CCCC       C     C                
 +"+MMM=+"+-ZZ+++=ZZZMZI-M-M=+M+MM+++=M-XAAAAZX=ZX-MMMM--Z--Z-M-=M-ZM-ZMM===--ZZ-M=++====MMZZZXIAZ---Z-ZZ-===M-=++MZXAAZ-XXAXAIA=IZZX
+C+C   CC+CC  CCCC      C C CC C  CCCC C          C    CC CC C CC C  C   CCCCC  C CCCCCCC         CCC C  CCCC CCCC      C            
+ C      C                                                                                                                           
 ++MMZ-=++=ZZ-++"+MMZ-ZI----+=IM=M==++--ZIIAZ-A=ZZZMM=M-XXZZ-MM--M------M===MMZ---=+++===--ZXZXIXZXXXZ---Z-M===-Z=MZ-ZAXZXIAAIII=X-ZI
+CC   CCCCC  CCC+C   C  CCCCCC  C CCCCCC     C       C C    C  CC CCCCCC CCC   CCCCCCCCCCCC           CCC C CCCC C  C             C  
+               C                                                                                                                    
 ++MMMMM+=MZZM++"+MMZ-MZZ-M==MXMMM=-MM--ZAAAZZZXZXZM+=-XXXXAM=====M--MMM=+++==-ZZ-M=++=MM-ZZXXAAZXXAAXZ----M==-ZX-ZZM-ZXXAAIAAI++IZZI
+CC     CC    CC+C   C   C CC     CC  CC            CCC      CCCCC CC   CCCCCCC  C CCCC  C             CCCC CCC  C   C               
+               C                                                                                                                    
 ++=+++M==ZAXZMM=MMZ-----======M-M=M--MMXXXAXZ-ZZAXM+MZZ--ZAM+++==--MMM==+=++=-ZZ-MM===M-XXXXAAXXA==IZ-M--M==MAX--Z-MM-AIAXAIXA-1=XAI
+CCCCCC CC      C   CCCCCCCCCCC C C CC        C     C   CC   CCCCCCC   CCCCCCCC  C  CCC C             C CC CC   CC C  C              
 +=++++=--XAIIIZZZZAXZ--M=====++MM+=M=--AXAIAAXXXX-===ZA-MM-=++==--MMM-=======-ZZ-Z-M=MZAAAAAAAZZI++=AZ--Z-M=MMM-ZZZZ-ZZXXAXIXA==II+X
+CCCCCCCCC            CC CCCCCCC  CC CCC          CCCC  C  CCCCCCCC   CCCCCCCCC  C C C                 CC C C   C    C               
 =M==++=MZ==+1+IAXZZZAX-==+===++M===+=MZXXAI=AZZ-Z=+=MM-MMM=++=MM--MMMMMM+++=+=-ZZ--ZM-XAIAAAIAZZA=+=A-M-MMMM==+=ZZZXXX-ZZXXXX==IIAXZ
+C CCCCC               CCCCCCCCC CCCCC          C CCC  C   CCCC  CC      CCCCCCC  CC  C               C C    CCCC      C             
 ==M-=+=MX++I==+A--ZXIIZMM==MM+MXM=M==MZZXII+AZZZ-=+==+====MMM--Z-Z-M========+=--Z----XIIIAXAAXZZXZXXZMMMMM-MM=++-XXAAIXXZX=II-1=AAXZ
+CC CCCC         CC       CC  C   C CC           CCCCCCCCCC   CC C C CCCCCCCCCCCC CCCC                     C  CCCC                   
 ===-===MZ1-A-X+=XAXXAIZ--M=-M+=ZZM===-ZXAII=AXXA-++===M==MMMMMMMM-ZMMMMM=M==+==M----ZX=IXXZXXZZ----ZMMMMMMMMM=+"MX-XXAAAXI++=1+=AXXX
+CCCCCCC     C          CC CC CC   CCCC          CCCCCC CC        C      C CCCCC CCCC           CCCC          CC+  C                 
+                                                                                                               C                    
 =MZZMMM+M+ AZ-Z++=ZZZZ-M==+==+=MZM=MMM-ZAXAIXZZA-=+=++MM==MMMMMMMZ---ZZ-=====M==M-ZZXIIIAXXXZZZ-----MMMMMMM===Z=+=MXXXIAI=+===++=AXA
+C      C     C        C CCCCCCC   C   C         CCCCCC  CC        CCC  CCCCCC CC C             CCCCC       CCC CCC                  
 -=--MMM+=I1IIXZ-AX-MMMM======+-AA-MMMMMZZZXXZ--ZM====MM=-MMMMMM=MZ-ZZZ-M===MM==--ZXAAI==AXAA--Z-MMM-MMMMMM==+=M=+++ZXXAXZX=IAAI==IAX
+CCCC   CC      C  C    CCCCCCCC  C           CC  CCCC  CC      C  C   C CCC  CCCC           CC C   C      CCCC CCCC                 
 Z=MM=+=+=ZAIIIX=MM=MMMM==M==Z-I-=-==MM-Z--ZZXZXZM==M-ZZM-MMMMM==MZ--Z--MMMMZ-MM-Z-ZXXA==AXAX--Z-MMMMMM-MM==++++MMM+=-AAZZZIIAAAA==IX
+ C  CCCCC      C  C    CC CC C   CCC  C CC       CC C   C     CC  CC CC     C  C C          CC C      C  CCCCCC   CCC               
 AZ=M=+++=MMZM--=====M----==-II+-X=+M==M-M-ZZXZXZMMMMZZZZ-MM======-MM-M---Z-X-MM--MM-XA=IIAXZ----MMMM==M=M+=++++-M-MMZ=AXXXXXZXII=1IX
+  C CCCCC    CCCCCCC CCCCCCC     CC CC C C              C  CCCCCCC  C CCC C C  CC  C        CCCC    CC C CCCCCCC C                  
 ZXMM="++M=++"+=++=M---XAI-=Z=1++AM=M+=-MMM--XZZZ-Z--ZZXZ-MZM===MM-MMMMM--Z-X-MMM===M-XIAAAXZ---Z-M-M==MM===+++=MMMMZXII=XX-=+=ZZ+1IA
+    C+CC CCC+CCCCC CCC   CC       C CCC   CC    C CC    C   CCC  C     CC C C   CCC C       CCC C C CC  CCCCCCC           CCCC      
+     C      C                                                                                                                       
 M--ZX""++""--""+"=-ZXXAAIMZ+ -=1=Z-MMM-MMMMZZZZZ-----ZZZ----MMM-M-M=MMM----XZ-MM=MMMM-ZXXAA-------MMMMMM=+++++=Z-MMXXZ=+IIX""+=X===A
+ CC  ++CC++..++C+CC               C   C         CCCCC   CCCC   C C C   CCCC  C  C    C     CCCCCCC      CCCCCCC C          ++CC     
+     CC  CC''CC C                                                                                                          CC       
+           XX                                                                                                                       
+           CC                                                                                                                       
 -ZZXZ++++""---"""+-ZZZZ=+I+ -==1AZZM----MM---ZZZ--Z----Z-Z----ZX-M=M-ZM-Z-MX---MMM--M=M--ZX-MMM---MM---M=++=+=--ZZ-X-ZI+=XZM++Z++==X
+C    CCCC++...+++CC                 CCCC  CCC   CC CCCC C CCCC  C C C  C C  CCC   CC C CC  C   CCC  CCC CCCCCCCC  C C       CC      
+         CC'''CCC                                                                                                                   
+           XXX                                                                                                                      
+           CCC                                                                                                                      
 ZXZXM=+++""""-"""++==M-+-11 IZ+AXZA-----MM--MM----ZZZZ-ZZZMM--XX--MM--MM-M-Z--MMMMMM==----Z-==MM---M-MZZM=+=+=-MMM-AAA=IAIZAAZ1+11=X
+     CCCC++++.+++CCCC C            CCCCC  CC  CCCC    C     CC  CC  CC  C C CC      CCCCCC CCC  CCC C    CCCCCC   C                 
+         CCCC'CCC                                                                                                                   
+             X                                                                                                                      
+             C                                                                                                                      
 ZZ-ZXMZM+""""""++M=M=MZ+-1+=-M=+X-ZZ-Z--MM-MMM-Z--ZXZZ-------MM---MMM-MMM-ZZ-M-ZXZ-MM=-XX---MMMM-ZZ-----ZZ-==+==+==-AA++A=+++=1IZA=Z
+  C     C++++++CC C C       C    C  C CC  C   C CC    CCCCCCC  CCC   C   C  C C   C  CC  CCC    C  CCCCC  CCCCCCCCCC                
+         CCCCCC                                                                                                                     
 XXXZXXI=XMM+"++M-ZZXAXXI1  IM=-XZ----ZZZMM=MMMMZ--ZXXZ-MMMMMMMM--XMMM=MM-----ZXXXAZZ--ZZ-MMMMMMM--ZZZZ--Z--M=++++===+MI+++++- -=M+ZA
+           C+CC C            CC  CCCC     C     CC    C        CC    C  CCCCC       CC  C       CC    CC CC CCCCCCCCC            C  
+            C                                                                                                                       
 IAXAXIA=IAX--ZZMM-XXAAXXA- =-+=M-ZZ-MZX1X=+=M--Z-ZZXZZZMMMM----M--MMM=M-M--XAAXAX=IAXXX--=M=MMM-M-ZZXZZ-Z--==++++=ZZ==MA=+1+11-+="=A
+           CC    C          CCC C  C     CCC CC C          CCCC CC   C C CC            CCC C   C C     C CCCCCCCCC  CC          C+C 
+                                                                                                                                 C  
 AXXZXXXAAAAAXAZ==MAXXIXXX1 1AM=MM-Z--ZZ+AM+=MM--M--Z--MMZMM----MM==MMMM-M-XAZZXXI 1AAAAXZM-MM----ZZXIAZ---M++++++MZZ=++=AI+11=+=I-==
+               CC             C  C CC     CC  CC CC CC     CCCC  CC    C C                C  CCCC      CCC CCCCCC   CCCC         CCC
 --ZAXIXIIIII=XXM++-II=AXAI===-M---=XZZ---M-==--MMM==MM-=-MMZ--MMMM=MM=M-MXIZ--XXI++IAXAAZ-MMMM---ZX=+=Z-M-M++=M=MMM===+++Z-  +=IIAXM
+CC              CCC          C CCC    CCC CCCCC   CC  CCC   CC    C  C C    CC           C    CCC      C C CCC C   CCCCCC           
 XZZXAAAI==II=XX-++ZAX-=MX-=MX--MZXI1IZZMM=MMMM-MMM====MMM==---M=====M=M-MA+XZZXAIIAAXXZZ-MM==M-MM-XAAIZ-M==++++=ZMM=+==+++Z++-=IIAAX
+               CCC   CC  CC  CC          C    C   CCCC   CCCCC CCCCC C C                C  CC C  C     C CCCCCCC   CCCCCCC          
 IXXXAXXII=I=IX-Z==X-+"""==++=M--XI=1AZZ-M=M--M--MM====M=====MMM==MMMMM-ZZZIAZZXXAAXXXZZ--M-MMMMMM-XXXXMMM=+++==MMM+++=XXZ-ZII-IAAAXA
+              C CC CC+++CCCCC CC       C C CC CC  CCCC CCCCC   CC     C                CC C      C       CCCCCC   CCCC   C          
+                     CCC                                                                                                            
 XZZXXXX=AAAXX---MZX+"""+"==+==M-ZZA=XZ--MMMMM-Z-M-===MM===M==MMMM-MM-ZZZXXXX-MZZZZX-----MM-MMMMMMZMM--MMM=+++=MZ-M++++=1++- =AXXIA-M
+             CCC   C+++C+CCCCC C      CC     C C CCCC  CCC CC    C  C       C      CCCCC  C         CC   CCCCC  C CCCC            C 
+                    CCC C                                                                                                           
 ZXAXAXZXAA=AA-M--XAZ-XZ-++=+====AX-ZZZZZ--MMMZX---MMMMMMMMMZM-AZ-Z-ZAAZXXXAZ-M---Z-------MMM=MZA-M==MM====+"+=-A=XM++MI=+11IZ--+11=-
+             C CC   C  CCCCCCCCC  C     CC     CCC           C  C C         C CCC CCCCCCC   C   C CC  CCCCC+CCC    CC        CC    C
+                                                                                                           C                        
 AAZ-XAXAXAIAXM=MM-XXII==X-M++==+MIZZ---Z-Z----Z-Z---MMMMMMM-MMZ-ZZAIIAZXAIIZM=MMM----ZZ---MMM=M--M===M==+++"M==MAIXXZZ-IZ-M=M-=ZXI+I
+   C          C  C       C CCCCC    CCC C CCCC C CCC       C   C             C   CCCC  CCC   C CC CCC CCCCC+ CC       C  C C CC     
+                                                                                                           C                        
 XXX-ZAA=AXAAXZMMM-ZZXA=+A-=++M=MMZ-----Z-ZXXAZZZZZZ--MMMMMMMMMM-ZZI1IXXAAAAZMM-Z--MM----M--Z-MMM--MMM====+++MM=-A+=X-M-AZ++"=M==ZAII
+   C             C       CCCC C   CCCCC C          CC          C              C CC  CCCC CC C   CC   CCCCCCC  CC    C C  CC+C CC    
+                                                                                                                           C        
 -ZZ-ZA=1=XXXAAXM-ZX-ZXAAAXZXZXA+=Z-ZZZZZZZXXXXXZZZZZMMMMMM=MM=M---X=IZZXXZZ-M--XZ-M=MMMMM----MM-Z-M-MMM===+++=MMA++AZZXZZ=+"+=M=-XZ-
+C  C            C  C              C                       C  C CCC         C CC  C C     CCCC  C C C   CCCCCCC           CC+CC CC  C
+                                                                                                                           C        
 ZAXZXA==1=XX==IZM-AZ-M--XZZXII++1==++AZ-M-ZZZXAAIAXXZ-MMMMMMM=M--MZXAZ-MZ---==-ZZ-MMMMM-----MMMMZZ--MM====MIZMZAI===AIXI=AZMZZ-ZAM++
+                 C  C CC               C C           C       C CC     C  CCCCCC  C     CCCCC      CC  CCCC                    C   CC
 XZXZAI=I=+=AII==XXAXM===MZXIXXI==I= -AM=MM--ZXXI=IIAXZMM--M===M--=-ZZ-M=M-M-=M-ZZ-Z---M-MMMMMM--XZ--M===M=Z+XMAXAXXZAIAX++1I==I+X=++
+                     CCC               C  CC            CC CCC CCCC  C C C CC C  C CCC C      CC  CC CCC C                       CCC
 ZM-ZZXAI=+-=II=-=AZ-M===M-XAZXZ+IAI+IIX=M=M--ZZAI=IXZ-MMZ-M==+==M==---M==M=MMMMZAZZ-MM----M--ZAIIXXZ-MM=M-=+AIIXA-XZX=1A+111- --IZ=+
+  C                C CCC C             C C CC        C   C CCCCC CCCCC CC C        C  CCCC CC       C  C C       C                CC
 MMZMMZ=IA= =I==1-AZ-M+===MZX-X-AZZX=XMIA==M--ZXAIAAA-MMMZ-MM=+++M==MM--=MM===MM-AZ-ZMM-ZZ---ZA1- -=AZ----A+-===IAXIA====1-      -IX-
+                   C CCCC   C C         CC CC       C    C  CCCC CC  CCC  CCC  C  C   C  CCC         CCCC                          C
 Z--===ZAII+=AI=+-+A-=MMMZZZ-MZ-=--XA+=1X+=M-XXXAI+IZZM==MZ--====-M===M-MXZ=-==M-Z--Z--ZXZZ-ZXI-    1=XXZ-I1-+1 1====AIAI+       ++IM
+ CCCCC             CC      C  CCCC      CC C          CC  CCCCCCC CCC C   CCCC C CC CC    C             C                           
 ----MMMZXAI+=AI=1-XM=-=--XMMM--ZMM-ZX=+Z++=-AIIII=AZ-=+=M-Z-M=M====M====MM=MM=M---ZZZAXXZZZ-X=--  -+IXMXI1-  --AAAXZZIII=-        =Z
+CCCC                CCCCC    CC   C     CCCC        CCCC C C C CCCC CCCC  C  C CCC         C                                        
 --ZZMMMZ--X==XAI+-=AZ-M+=MMM-ZAI-M---ZA-"+=-XIIIAAXZ-===MMZZ-Z-===MMMM========MZZ-ZXA=AXZZ-M-ZA==-+AZ-MMZ=1+=IZ-AIZM=MMM-I1  -++1 -+
+CC      CC           C CC   C   C CCC  C+CCC        CCCC    C CCCC    CCCCCCCC   C        C C        C         C    C   C           
+                                        C                                                                                           
 ZZZZ-M=M-M-Z=AAI=++IZ=Z====---XA---MMM-="+M-ZAIIAAZ---==M=-ZZZZ-M==MZM=MM=++++=ZZZXAIIAXZZ-M---ZZZZZ-M==XXZMMM-ZI1XM+=+++MZA=AZM--ZI
+    C C C C          C CCCCCCC  CCC   CC+C C       CCCCC CC    C CC   C  CCCCCC           C CCC     C CC      C     CCCCC       CC  
+                                        C                                                                                           
 XZXXXZ--A-M=ZA==+=++IZ-M==MZ-----M-MM-ZZM+=M-ZXXZXZ--ZM==MMZX-ZZZ==ZZ-=M-M++=Z=M-XAIAXXZZZZZ-MMMMMM=M==A-=++=-ZZAXM==MMM+=M-XX-MMMM-
+      CC C C          C CC  CCCCC C  C   CC C      CC  CC    C   CC  CC C CCC C C           C      C CC CCCCCC     CC   CC C  C    C
 ZZXXZZZZIIIM=XI=++==+ZM-MM--Z-Z-M-ZZ-ZXXXM==MM-ZZZZZ--M=M-M-ZZZZIZM--M-Z-=+++M==MXAAZZZZXZXZZ-MMM===++==+++=-XZ-ZZ-M---M=---XZ-M-ZZZ
+            C          C  CC C C C  C     CC  C     CC C C C       CC C CCCCC CC             C   CCCCCCCCCCCC  C  C CCC CCCC  C C   
 ZZZZXXXXI11AM-I=+-++ =XZ-M-Z----MM---ZXXAAMM====M-Z--MMMM--MM-ZX=A-MMMZZM=+++++=MZXZZ-Z+1AAXZZMMM=====++==MM-ZZ-ZZZ-ZXIZ-ZXAIXZ-ZZZZ
+             C          C C CCCC  CCC       CCCC C CC    CC  C    C      CCCCCCC     C           CCCCCCCCC  C  C   C    C      C    
 AXZZZXAIA1 +X-X=- +   -=XZ--ZMM-MM---ZIII=IA=+=++=M=MMM==---MM-XAAAM=-AZM=++=+===-ZZ--ZAIXXXX-M==M==MMMMMMM---ZZZZZZXXIXZZXAIXXZ---Z
+             C            CC   C  CCC       CCCCCC C   CCCCC  C     CC   CCCCCCCCC  CC       C CC CC       CCC                  CCC 
 AXXZZZIII1-++XA+- 1-   -+=X-ZMMMMM---ZIIIA=A=+++""+-=====Z-MMMMZZAX-M=III="==+++MMM----MM---ZMM==M=M----MMM-Z--ZXXXXXAIXAXXAAXAXZ-M-
+                           C      CCC       CCCC++CCCCCCC C        C     C+CCCCC   CCCC  CCC   CC C CCCC   C CC                  C C
+                                                CC                        C                                                         
 AAAXXXIIA+1++==--  -1-1- 1=AX---M=MZZ-ZIIZZM+M=""-+M---M--M==Z=IAXZXZ=AZ=Z++M--=MMMMMMMMMMMM-MMM--M----MMMM----ZXXAXIAIAAAX=AXXAXZZZ
+                             CCC C   C      C C++.C CCC CC CC             CC CCC            C   CC CCCC    CCCC                     
+                                               CC'                                                                                  
+                                                 X                                                                                  
+                                                 C                                                                                  
 II=AAAAAAA=AX+=11-11=I=1--11+IXZZMM----IZ++++-=""-++-XAM====+==1=ZZXX=+1=X==--ZZ-MMM=MMMMM=MMM--ZZ---------M---ZAAII=IIAIAA==XZXAAZZ
+                                   CCCC  CCCCCC++.CCC   CCCCCC            CCCC  C   C     C   CC  CCCCCCCCC CCC                     
+                                               CC'                                                                                  
+                                                 X                                                                                  
+                                                 C                                                                                  
 AIIAXZ--Z-Z-ZI==II=+=AI+1-++=+++IZ--MM--=""++MM=""++MXZ-=+++""=XAZXXAI=1IX-MMX++Z-MMM=MMMM=M-ZZXAXZ-----Z--M-ZZZAAI+=IIAIAI==XZXXZ--
+      CC C C                      CC  CCC++CC  C++CC   CCCCC++C           C      C   C    C C      CCCCC CC C                     CC
+                                         CC     CC          CC                                                                      
 IIIAX-M=M-MZXIXAAAI==AA==-+==1I=++IX+=="--"+++++""++=M--ZM=+++-AAAAII+===AIII++=AZ-MM=M-M---ZXZXIAZ-MMM----ZZZZXXAA==IIIII==IAXXZ--Z
+     C C C                          CCC+..+CCCCC++CCC CC  CCCCC                   C  C C CCC       C   CCCC                      CC 
+                                       C''C     CC                                                                                  
+                                        XX                                                                                          
+                                        CC                                                                                          
 IIAAX-ZMMZ-AXAXXAII==AX=+++===A==++=XZZ=""+++++++===+=M-ZZM===MAAXAII=-+IAIAXXAAAAXZ=MMMMM--ZZZA=IZ--M=--Z-ZXZZXXXAI===II=11IAAXZ---
+     C    C                            C++CCCCCCCCCCCC C   CCC                      C     CC       CC CCC C                      CCC
+                                        CC                                                                                          
 IAAAZZIZZXAAXXXAII=+IXZ=-IIIIIAII==+==IZ=+++++++==+=+=M-Z--=""+AXXAI=A1+==XZZ=ZM-AZX=MM-M--ZXZZXXXZ-MMM--Z-ZXZZZZXAI====I+11IAXZZ--Z
+                                        CCCCCCCCCCCCCC C CCC++C                 C   C  C CC        C   CC C                      CC 
+                                                            CC                                                                      
 AXAXZZXXXIA--ZIIIAA+AXXI=AXAXIAXXXII===XMMM---MZZM====MMZZZM+""ZXXA=IA=1+-ZZ+AZM=---=M----ZXXZZZ---MMMM-ZZ--ZZZZXXXI=IIII=1+AXZZ---Z
+           CC                              CCC    CCCC      C++                 CCCCC CCCC      CCC    C  CC                    CCC 
+                                                             CC                                                                     
 AAAXXXAAIAZ=M=-ZAXXAX-XAIIZ-ZXX-ZXXAII=IAXA -IXI=AZZ-++=MZZ-Z-MZ-XA=I=1==-XZI-IAZM=++--M-ZZZZZZ-M-Z-----ZZZZXZX=XAI=IIIAII1+AXZZZZM-
+           C CC      C     C   C                    CCCC   C C  C            C    CCCCC C      C C CCCCC                           C
 AAAIII=AAX-M=+MMZAX-Z--AZ-XZZXAZ-ZXXIAIIIA=  =AAIZXM++++MZZXAZXX-ZZ=+==IAA= 1M=-+"=+=ZZM-ZZZ-ZZZ-ZZ-ZZ-----ZZXZXXIIII=II=1 +AZ-ZZ---
+          C CC     C CC  C      C                   CCCC        C             CCC+CCC   C   C   C  C  CCCCC                   C  CCC
+                                                                                 C                                                  
 AI===I=AXXMM="+ZIZZZAZ-ZZ----AAX-ZAXZZXXXZI11IAAAM=+++""+=MZAZXXZZX=+I=IXXZ+=M----+M-ZZ---ZZ-ZZZXXZ---M-----ZZZZAIAAI=III1-=AZ----MM
+            C+C       C  CCCC   C                 CCCC++CC                    ....C C  CCC  C      CCC CCCCC                  CCCC  
+             C                                        CC                      ''''                                                  
+                                                                              XXXX                                                  
+                                                                              CCCC                                                  
 I===II=IAXM=+"+M=XXAAZXZ-==Z-ZXXZ--ZM+=M==Z+ 1+=X=++"""""=M-ZZAXZXXAAXAIIA-II="++""MM--M-XZZZZXXAX--MM--Z------ZAAAAIII==11AXZ--MMMM
+           CC+C         CCC C    CC  CC CC       CCC+++++C C              C  C+CC++  CC C         CC  CC CCCCCC               CC    
+             C                                      CCCCC                     C  CC                                                 
 +=++A=IIXZZ=+"=MXXAI=Z-Z-=-Z--XIXZXX=MM=MM-- 11+X="""----+M-ZZAAAAZA=AII=Z-Z=M+X+-+=MMMM-ZZZZZXXAZ--MMMM-----Z-ZAXXXAAI==-=AXZ-MMM-M
+           CC+C       C CCC CC      C  C  C      C+++....C C              C   C  CCC    C         CC    CCCCC C               C   C 
+             C                                    CCC''''                                                                           
+                                                     XXXX                                                                           
+                                                     CCCC                                                                           
 ++==AAI=AZM+++M----AIM-M=+ZM==MZAXZM=-XM==MX+1+=A-=+"----+MMZZ-XA=I===IXZA=++XMZ=1Z===MMM-ZXAZXXXZZ-MMMMM----ZZXXXXXAAAI+1AXXZ-MMM--
+           CCC CCCC   C CC  CC      CC  CC       CCC+....C    C                    CCC   C         C     CCCC                 C   CC
+                                                    C''''                                                                           
+                                                     XXXX                                                                           
+                                                     CCCC                                                                           
 ===IIAA=I-===+=MZZM-X-X==+MZMM=MXXZ+"+Z-M+=MAIIAXZ-="""--+=MM-MM-Z==XXXZ-I- 1ZZ-Z=X===M==-ZZXZZZXZZ--M-M---ZZ-XAXXXXXXXA++AZZZ------
+         CCCCCC    C C CCC    C    C+C C CC       CC+++..CC  C  C       C      C   CCC CCC         CC C CCC  C                CCCCCC
+                                    C               CCC''                                                                           
+                                                       XX                                                                           
+                                                       CC                                                                           
 =IIXAXXIA-=+=-X--ZM-XZZ====ZZ-=MZXMM--=ZM==MZAIZZX-=+=M+""=M-XX-M-XAAZZZZ==1=ZXZM-M====M=-ZZZZXZZZ--MM-Z--ZZZZAAXXXXAXAA+=AZZXZZ--M-
+         CCCCC CC  C   CCCC  CC     ..C  CC       CCCC C++C C  C C               C CCCC CC        CC  C CC                      CC C
+                                    ''                  CC                                                                          
+                                    XX                                                                                              
+                                    CC                                                                                              
 =IAZZIAXAZ="+Z---"=MZAZM-M==XZZZZZ-=--"+=-Z-ZXAX-XZ==-X==++MZXIZZZZZAXZ=-AAIXZAAXM====M==M--ZZZZZZZ------ZZAXXAXXAXAAZZI+AZZZZZZ----
+          C+C CCC+C     C CC      CC..+CCC C    C  CCC CCCC            CC         CCCC CC CC       CCCCCC                       CCCC
+           C     C                  ''C                                                                                             
+                                    XX                                                                                              
+                                    CC                                                                                              
 IAXZZXXZXA-==ZA-=""M-Z==Z===M--MMMM=-----MZXZZXZMZXZ-XAZMM=ZXXZZ-XXXXX--ZZXZZAAI=ZM===M=++M-ZZXXZZZZZ-----ZXXXAIAAAAAXZI=AX---ZZ---Z
+          CCC  CC++ C CC CCC CC    C.....           C     C     C     CC           CCC CCC C         CCCCC                 CCC  CCC 
+                 CC                 '''''                                                                                           
+                                    XXXXX                                                                                           
+                                    CCCCC                                                                                           
 XAXZI--ZX+=-=-ZA-+-M-Z==M++==--=MM-="-""-+-AAX-M=-XAAAAXZZZZZXZZXXXZZZZXA-ZXZXAAAAX-==M=++=-ZXXZZXXZZZXZZ-ZXAAI===IIAAXIIAXZZZZZZ--Z
+     CC    CCC  CC. C CC CCCCCCC  CC+.++.CC   C CC                       C         CCC CCCCC             C                       CC 
+                  '                 C'CC'                                                                                           
+                  X                  X  X                                                                                           
+                  C                  C  C                                                                                           
 ZXXZXM-ZI- Z--MXX"-MZI="+++++M-M---+--M-MM-IAZZ-M-XIAAIAXZZXXAIAAXZ-ZXAZZM-XXXAXA=IX++=M===-ZZXXXAAXZZXZZ-ZXXAI===IAAAAIAXXZZXXZZZ-X
+      C     CC   +.   C+CCCCC C CCCC.. C  C    C C                 C      C         CCC CCCC             C                        C 
+                 C'    C            ''                                                                                              
+                  X                 XX                                                                                              
+                  C                 CC                                                                                              
 ZZAIZ-I=++1AI=+-A-----+-+===M-M-MM="--++XZZXXZZZZZZI=XIIAZAII=++IIX-X 1ZM==XXAIAAAAZM+=M=MMZZZZXXAIXZZXAZZZXAAI===IAAIAIXZZZZXAXXXZX
+     C       CCC ...CCC.CCCC C C  C+..CC                           C     CC          CC C                                           
+                 '''   '           C''                                                                                              
+                 XXX   X            XX                                                                                              
+                 CCC   C            CC                                                                                              
 Z--I1AA+=IIIAMM=""-+==+M-+++=M--=+"-""="=ZXZ-M-XZZ-ZXXAIAAAII=1-1IAXI  IZ-ZAI=IIAAXXI======M-ZZZZXAZ-ZXXXZXXAIIIIIIAA=AIXZZZZZXAXXXX
+ CC            C+C.CCCC CCCCC CCCC+.C+C+C   C C   C                      C           CCCCCC C       C                               
+                CB'               C'BC C                                                                                            
+                 HX                XH                                                                                               
+                 XC                CX                                                                                               
 A==A-=-XXXZZXM-M--MX--+M=""++=MM-+---=+++-ZX---ZZZ-ZZZAA=IAII+1-1=I=++1+=AXIAII1IAXZZ======MM-ZZXAIXZZXXXXXXXIIIIAAAXXXAAXZZZ-ZZXAIX
+ CC   C       C ..  CCC C++CCC  CC...CCCCC  CCC   C                                  CCCCCC  C                               C      
+                ''       CC       '''                                                                                               
+                XX                XXX                                                                                               
+                CC                CCC                                                                                               
 =Z=ZAA-MMM--Z---""ZXXA="+"-+++M=MM==+="-M-ZXXXXAXXXXXXII=IAII----+I=1++=+=AIA-XA=Z-MMMM======M-ZXAIXZZ-ZXXXXXII==AXXXZAAXXZZZXXXXAAA
+  C   C   CC CCC++    C+C+.CCC C  CCCC+C C                                   C    C    CCCCCC C       C                             
+                CC     C C'           C                                                                                             
+                          X                                                                                                         
+                          C                                                                                                         
 XXM-=-++MX-Z-MM-""="=Z--M="+=M-M+=--ZZX-ZMMZ-XXXXXAIAIIIIA=== -  -=====11=IAX-ZX-""++=M++++=+==-ZZXXZ---XAAAXAI++AXAXXI=AXZ-XAI+IAXZ
+   CCCCC  C C  C++C+C CC C+CC C CCCC   C    C                                C  C++CCC CCCCCCCCC     CCC                   C        
+                CC C      C                                                      CC                                                 
 ZZ=M=MM+-X---==M=+M+=-=-Z-M+=M--=""MZXX-ZMM-"=XXXXAXAAAXXXA=++1  1+11==11==IXZXZ+"""++++"++=++=M-ZZZZ-ZZZXXAI=+1+AXAXA==XZZ-XXA=IAXX
+  C C  CC CCCCC CC CCCCC C CC CCC++    C   C+C                                  C+++CCCC+CCCCCC C    C                     C        
+                                 CC         C                                    CCC    C                                           
 -ZM-ZX-"MMMMZMM-M=MZXZZZ-ZZ-=M--M+++-ZXXM-M=+=XZZZZXZZZZZXXI1++1++1+111+=I=+=IAI="-"+"+"""++++==MZZ-ZZZZZZZAI+-1IAXAXXAAXZ-ZZZXAAAXZ
+C  C  C+       C C      C  CC CC CCCC    C CCC                                  C+.+C+C+++CCCCCC   C                      C         
+       C                                                                         C'C C CCC                                          
+                                                                                  X                                                 
+                                                                                  C                                                 
 M---Z-++MMMMM=M-M=-ZA----ZZ-=----MMZZ--ZMMZM==-ZXZ-ZZZ-ZZZXA=+=+++1+++1-+====IIIAM+"+++"""+++==+==--ZZZ-ZZZAI++=IXAAAXXZZ----ZXXXXZZ
+ CCC CCC     C C CC  CCCC  CCCCCC    CC     CCC   C   C                           C+CCC+++CCCCCCCCCC   C                 CCCC       
+                                                                                   C   CCC                                          
 ==---M++=--M"---"=--AZMZ----=M--XZZZX---==-MM-MMXZ-ZZ---ZZXAA=IA+1+==1-1+==++=AIIIAZ-X+""+"""++====MZZXZXXXAAI==IXAXXXAZ-MM--ZXZZXZ-
+CCCCC CCCCC +...+CCC    CCCCC CC     CCCCCC  C    C  CCC                            C C++C+++CCCCCC                     C  CC      C
+            C'''C                                                                      CC CCC                                       
+             XXX                                                                                                                    
+             CCC                                                                                                                    
 ZXAXX-M-MX-="""--+MZXZ---ZZ-MM--XAXAA---==MM--ZZZZ-----ZAXIAXAIAI====1-111=XAI=+IAXAXXM+""""++======M-XAXXXXXI==IIXAXAXZ-MM--ZZ----M
+     C C  CC+++..C    CCC  C  CC     CCCCC  CC    CCCCC                                C++++CCCCCCCC C                  C  CC  CCCC 
+            CCC''                                                                       CCCC                                        
+               XX                                                                                                                   
+               CC                                                                                                                   
 ZAII+AZZZX-M++Z+""=MXZ---XI-M+MZX==-1XZ-M=M-Z--ZZZZZ--ZXXXAXXXAIAZ===1++===XXAI=IAZAXX-==+"+++==M=MMMZAAAXXAAAII==IAAAZZ--M--Z-M--MM
+          C CC C++C   CCC  C C         C C C CC     CC                                CCCC+CCCCC C                      CC CC C CC  
+                CC                                                                        C                                         
 ZI+II=AXZXXM+=ZM=++=-Z-MZZIZ--ZXA++ -XZZ-MZA--M-XXZZZ-ZXAZZXXXAAZMAI=++==IIXXXAAAA-ZZZXMM-+"++=MMM=MMZXXAAAIIAI==+=AA=ZZ--M-Z-MMMMMM
+            CC  CCCCC C     CC          C   CC C     C                            C      CC+CCC   C                     CC C C      
+                                                                                           C                                        
 XA=IA=+XXZZZM=+=Z=MM-AI-X-Z--XII=+-1+XXAAZZIZZ---Z-XXZ-ZXXZZZXXAIXA=I=+=IAXXXXZXZIXZ--AMM=M+++=MM===M-ZZAAXAIII=++=IAAZZ-----M-M---M
+             CCC C  C  C C CC                 CCC C   C                             CC   C CCCC  CCC C                  CCCCC C CCC 
 XAAI=IIAZXXXXM==Z-ZZ-XZ-Z----ZXA=+1+IXAAIXZXXAAXZZXZXZ-ZZZXXXXZXAIAI==+=IIAAXZ-XIIAIIAA--M--+=+====MM-ZXI=XAIIAI++==AXZZ--Z-M=M=M--M
+              CC C  C  C CCCC                         C                       C        CC CCCCCCCCC  C                  CC C C C CC 
 ZXAA==XXZXAXXZM+MZI+X------M-XAI===IAXAXAXZZXZI=AAIAXZ-ZZZXXXXXXA=AIAI==IAIAXXAXIXA=IAXZ-XAX-M======MM-ZAIAIIAII++==AXXZZZZ--MMMMM-M
+               C     CCCCCC C                         C                                 C   C CCCCCC  C                    CC     C 
 ZIAAI=AAZZ--XXZ-M-I =ZMZX-MM-IAAI=IAXXAAAXZ-ZZX+AXXAAZ--XXXXXXXZIIZZXIIA=XAAIAIXAZX=AA11I=1=AXZ-=====MM-ZAXXIAI==+==AXXZZZZZZ----M--
+          CC   C C       C  C              C          CC                                       CCCCCC  C                     CCCC CC
 XAZI=IXIAXZZZZXXZZAI=AZ-XZ--ZAAXAIAXZXXAAAAZZ-A=AAAXAXZZXXZXXAXXAIZMZXIAIAAAA--XX=IAI=   --1=+IXM=====M--ZZZZXIII===AAXZ-XAXZZZZ-ZZZ
+                       C  CC                 C                               CC                  CCCCC CC               C       C   
 XAXXZZ=ZAAXAIMZXXAAXAXX-ZZZZXAAXAAX---ZAII=XXXXII==ZXXXZZXXXZAAAAAAXZ-ZXIAXXZ-MMA=+II  -----++=IAM====MM-----Z=II=+=IAZ--ZZZ-ZZZ--ZZ
+      C                C           CCC                               C       C                    CCCC  CCCCC          CC   C   CC  
 XXAX-M+-ZZXAX-ZXAAAXXXX-ZZZZXAXXZZZ=MZZA-+IXZZZZXIAZZXXXXXXXXXXAZXXIAAXXX-M--XZZZXXA= --==1- -+==X=====MM----ZAI=IIAXXZZZ-ZZ--ZAXXZZ
+    C CC     C         C           C                                     C CC                     CCCCC  CCCC            C  CC      
 --XZZA-M=Z--ZXIZXX+IAZZ--ZXXXAZZ--Z==AXX1-=XZZZZZZ-M-ZZXAAXXXM-XZXAIAAAXZ++++-M-ZZXXA-- +=11 -+AXI=++=MMMM----ZA=AXXXZZZXZZXXXXAX---
+CC    C C CC           CC       CC CC             C C         C          CCCCC C                  CCCC    CCCC                   CCC
 =+M--X=-=-ZM-X=XZX+IAAXXZZAAIXZ-Z--MM-Z-X=+IAXXZX--MZ--XXXXXAZ=-ZXXIXXAZZ==M+++++M-ZI+-11+=+1+=ZZIM++===-MM--XZXXZZZX--ZZAAAAXZZ-MM-
+CC CC  CCC  C                  C CC  C C         CC  CC       CC         CC CCCCC C                CCCCCC  CC        CC         C  C
 MMMMM-M-M=ZZZZXZZZAIAAXXXXXAIAAZZ-M---XXXIIIIXXXZ-MM-ZXAAZZAAXZM=ZAXXXZZIAX--==++++-ZI111++==AZ-ZA=+=M+=M==MMZIXZZ-ZZZ-ZZZXAAAZZZ---
+     C C C                       C CCC           C  C           C          CCCCCCCCC           C  CCC CC CC       C   C          CCC
 AX--MMM=M=MZZ-Z---ZXAIAAXXAAAXXXZZ-Z-ZAAXXAIIAIX--MMMM-XIZ-ZZZZZZZ-MZAZ-IIXZZZ-M+++M-XI==-+==AXXZ-+=Z-====+=MZ--ZXZ-M-ZZZZXAAAXZZZ--
+  CC   C C   C CCC                C C           CC    C   C       C    C      C CCC C            CCC CCCCCCC  CC   C C            CC
 I=AZM=M+=--Z-ZZ---ZXAII=XZXIAAXZ-AZZ-Z----ZXAAXZ-MM==--ZIX-Z-M---XZZMXX--ZMZM=+++"=M-ZXXA+1==XZZ-="=Z-=+=+++=----Z==+M-ZXXAAXAAX--Z-
+     C CCCC C  CCC              C   C CCCC      C  CCCC   C C CCC      CC    CCCC+C C           CC+C CCCCCCCCCCCC CCC C         CC C
+                                                                                 C                C                                 
 IAAX-=M-==--ZZXZZXXAXAAAXZAI+IXXXXXXX-Z-M-MZXXZAA--M=ZXA=AZZ=+M+"M-M="MI+--""----""++--==Z-+=X--+++"""+""""+=M-XZM==ZA=1+++=AXZZM=MM
+    CC CCCCC                         C C C       CC C       CC C+ C C+  C..++....++CCCCCC     CCCCC+++C++++CC C   CC             C  
+                                                                C    C   ''CC''''CC                CCC CCCC                         
+                                                                         XX  XXXX                                                   
+                                                                         CC  CCCC                                                   
 IXXAAZM-Z-----XXZXXAIIXXAZXI=IXXIXZZZZ-ZZ-ZZ-ZXZZ----ZZAIIZZM+++-""-"-"X=--+=-"--""++==+"+ZAAI=Z=+++""=M+++++++MZZ-MAI====IAIAZMMMM=
+       C CCCCC                        C  C  C    CCCC        CCC.++.+.+ C..CC.C..++CCCCC+C      CCCC++C CCCCCCC   C                C
+                                                                'CC'C'C  ''  'B''CC     C           CC                              
+                                                                X  X X   XX  XHXX                                                   
+                                                                C  C C   CC  CXCC                                                   
 AZZAIXZMM-----ZXXXAXAI===IXXXXXAIXZZZ--Z--ZX--ZXXZ-ZZ-ZXIIXXX-+"--""-""Z-+"-M---"--""=M=""=-ZXAZM+++""=M"""+++=MXIIXI=I=IIZZZAI-MMM=
+         CCCCC                       CC CC  CC    C  C       CC+..CC.++ CC+C ...+..++C C++CC     CCC++C +++CCCC                C   C
+                                                               C''BB'CC   C  '''C''CC   CC          CC  CCC                         
+                                                                XXHHX        XXX XX                                                 
+                                                                CCXXC        CCC CC                                                 
 XZ-ZAXAXZZ--ZXZAAXIIAI+11+=AZM-XXZZZZ-X-ZAMMZZZIXX--ZXZZXAZXXZ-+"-----"+=M=M"""-----"+++++-AZZ--MMM=+"++""""+MMMX==II==IAA-MM-A-===+
+  C       CC                  C      C C          CC          CC+.....+CC C +++.....+CCCCCC   CC   CC+CC++++C             C  C CCCCC
+                                                                C'''''C     CCC'''''C                C  CCCC                        
+                                                                 XXXXX         XXXXX                                                
+                                                                 CCCCC         CCCCC                                                
 XA-=-AA==XXZZZXAIIA=A+-1111+AZMZMMMZZZZZ---=MXAI-M--ZXXXX-MZZZZ-="--"+"-""-----"----"""+=MZ==ZZMM-M=M++"+""+MZM=Z-+=II=IAIIZZZXAX--Z
+  CCC                                   CCCC    C CC     C     CC+..+C+.++.....C....+++CC   C    C C CC+C++C   C                 CC 
+                                                                 C''C C'CC'''''B''''CCC                C CC                         
+                                                                  XX   X  XXXXXHXXXX                                                
+                                                                  CC   C  CCCCCXCCCC                                                
 XXZ--AXZXXXZXZZXXXI=I+1+11-1=AZ-MZ--XZ-M=+=+MZZZM=-M-XXXZZ-XXIAZ-="""++-"-"-+------++"""+==ZXXMMM-=+"++++++-XZM+MZZZAXAAAAXXZXZI+=IA
+   CC                          C  CC  C CCCC     CC C     C     CC+++CC.C.C.C......CC+++CCC      CCC+CCCCCCC   C                    
+                                                                  CCC  'B'B' ''''''  CCC            C                               
+                                                                       XHXHX XXXXXX                                                 
+                                                                       CXCXC CCCCCC                                                 
 XXXZZXA--ZZZXXZZXZXAZA===+1+=AAZ-ZXZXXZM+"+=MZ-Z-ZZ--XI===XZZZZXZ-M++==+"-----------""++"""+MMMMM-=+"++=MZXZZIX=++"+MM-ZXXAAXXXA+===
+       CC                       C       C+CC  C C  CC            C CCCCC+...........++CC+++C     CCC+CCC       CCC+C  C             
+                                         C                              C'''''''''''CC  CCC         C             C                 
+                                                                         XXXXXXXXXXX                                                
+                                                                         CCCCCCCCCCC                                                
 IZXZ-ZXZZMZ-ZZXZX-ZZZZXII+1+IAAX--ZAAAAZ-M==MZ--MZA-M-AI=+XMMMMXXZZ--=M-Z+"--"-"----""""--""+==MZXM++=+=XXXXZAAM++"""++"+-XAAAAAAIII
+    C      C     C              CC      C CC  CC   C C             CCC C C+..+.C....++++..++CCC    CCCCC        CC+++CC+CC          
+                                                                          C''C'B''''CCCC''CC                      CCC  C            
+                                                                           XX XHXXXX    XX                                          
+                                                                           CC CXCCCC    CC                                          
 ZZZZ-ZZZ-=MAZZZ-AIX--XAII++IAIIX---ZXXX-X---Z--X-ZMM=MZXXZ-+++MMMMMZZ-=-XMM+"---"----"""""+""+++ZXM++==M-MZZZ--=+"""""""+MXAAIAAAAII
+    C   CC     C   CC           CCC    C CCC CC C   C     CCCC       CCC   C+...C....+++++C++CCC   CCCC C    CCCC+++++++C           
+                                                                            C'''B''''CCCCC CC                    CCCCCCC            
+                                                                             XXXHXXXX                                               
+                                                                             CCCXCCCC                                               
 ZZZ---ZXZ=+=MXZZZAAZZZAXI++=AIAZZ-M-=XZ-ZZM=MZ-XXAMM-M==Z+="""+=+=M=--Z=A==="-------"--+++==-Z=+=ZM==M=M=MMMMMM=+++=""++"=-II==+IIII
+   CCC   CCC                     C C   C   C  C     C CC CC+++CCCC CCC   CCC+.......+..CCCCCC CCC  CC C C      CCCCC++CC+CC         
+                                                           CCC              C'''''''C''                             CC  C           
+                                                                             XXXXXXX XX                                             
+                                                                             CCCCCCC CC                                             
 XXXZ-MMZZM==MMM-XXXZZZXAA=1+==AZZZZZAAXZZX-M=--ZAZZ---="=++"-+++-XZ----IA-M=""-----""""+-ZAXAX--ZXXZXZ--M--MMMM==MM+"+++=-ZZZXXIAIAA
+    C     CC   C                          C CCC    CCCC+CCC+.CCCC  CCCC  C C++.....++++CC     CC      CC CC    CC  C+CCCCC          
+                                                       C   C'               CC'''''CCCC                             C               
+                                                            X                 XXXXX                                                 
+                                                            C                 CCCCC                                                 
 AXXZZ-----MMM-M-AXXZ--ZXXX1 1+AXZZXAXXZZXZXX-Z-M-M--MM=+M=M++"==MXXZZM=-ZM=="""------"-"=ZAAXM-IIIIXX-M==--MM====MM++++++++==M-ZZXXX
+     CCCCC   C C    CC                      C C C CC  CC C CC+CC      CC  CC+++......+.+C     C      C CCCC  CCCC  CCCCCCCCCC C     
+                                                             C              CCC''''''C'C                                            
+                                                                               XXXXXX X                                             
+                                                                               CCCCCC C                                             
 +AIZZXZ----ZXZ-MMXAXZ---XAI- 1AAAZXZXAAAXXZZ---M-===--M+M====+=MMMZZ--=MMZZZM-"---------+ZZZZZAA=IXXZ+++==MMM==+=M-===+""+"++-XXZXAI
+       CCCC   C      CCC                    CCC CCCCCC C CCCCCC     CCC      .+.........C            CCCCC   CCCC CCCCC++C+CCC      
+                                                                             'C'''''''''                               CC C         
+                                                                             X XXXXXXXXX                                            
+                                                                             C CCCCCCCCC                                            
 +=+IAXAXZ--XXXXZM-ZZXZ--XXXA=+=I=AXXXAAAAXZMMMMMM==M-+"M-=+MM=MMM==MM===-ZXZ+----"++---++=MM-ZXXXAXZ-=M+==MMZZM+=M+++++"+++"+ZZ-MXII
+         CC      C    CC                         CC CC+ CCC  C   CC  CCCC   C....+CC...CCC  C       CC CCC     CC CCCCC+CCC+C  C    
+                                                      C                      ''''C  '''                                C   C        
+                                                                             XXXX   XXX                                             
+                                                                             CCCC   CCC                                             
 X=+=IIIAAXZXAXXXZ-Z--ZZ-ZXAZI1=IIIAXZAAXXZ-==MM-M=MZ-="+-M=MMM=MMMM++++==-XZ=+"""M-M=""=MMMM-IXXZZXZ--M===MZZXZ===++=+"+M=+====+=Z=I
+                 C CC  C                  CCC  C C  CC+CC C   C    CCCCCCC  CC+++ C C++C    C       CC CCC     CCCCCCC+C CCCCCCCC   
+                                                      C                       CCC    CC                               C             
 +MI==+=I==IXAAXZZZ--MZXZZZAXA==Z-XXXXZXXXZ-M=M-Z-=+M---M-Z--XMMMM=MMMM=-M-XZ-=++MZXXXZMMM-MZZ+AXZ-ZZZMMMM-MZXXX-M=+++++"=++M="--"=XA
+C                 CC            C         C C C CCC CCC C CC     C    CC C  CCCC         C       C       C     C CCCCCC+CCC C+..+C  
+                                                                                                                       C     C''C   
+                                                                                                                              XX    
+                                                                                                                              CC    
 ""+I=II==++==XAAZZZX--ZXXXA=IA=Z-MXXXXAAXZ--MMMZMM="+-ZXAAZ-Z-MM-==ZZZ-ZMZAZZZM-Z=M-Z=ZMZ--ZZ=++X-XXZMZMM-MZIIXX-M=+"++""++M-=+-"MXZ
+++C                 CC          C         CC      C+CC     C C  CCC   C        C C C     CC      C       C      C CC+CC++CC CCC.+   
+CC                                                 C                                                                C  CC      'C   
+                                                                                                                               X    
+                                                                                                                               C    
 """=ZII=I===+=+=AZZZ-MZZ-ZX==IIAZMMZXZZXAXZZZM=M=+=++=MZAXX-MXXZ-M==MM--MXIZZXZZM+++=ZZMM-MZZZZXAZZXXZAAAXZI+AZZ--ZM=+=M-M=MZZ-+=-ZX
++++C                C   C                     C CCCCCC     C    C CC  CC         CCCC    C                      CC  CCC C C   CCCC  
+CCC                                                                                                                                 
 """"+MA==AII==I=+AXZ-ZXXZ-ZAIAXAZ-=+-XZ-ZXAXXZ=++"""+==-Z-X-MZAZ-ZM=+=MMZXXZZZZZ=--MMM-MMZ-ZZZZZZZXXXAA=+-==+XZMZZZ-=+M-ZZ-Z-----ZZZ
+++++C               C    C       CCCC  C      CCC+++CCCC C C    C  CCC          CCC   C   C                        CCC C  C CCCCC   
+CCCC                                             CCC                                                                                
 """"++=A=IIIAAII+-=AXZXXAXZXXZ-ZZZZ==-ZZ-Z++AXZ=++""""+=M-ZZZ-I--XMM+++=--MM===M=-Z-ZZXZXXZZAXZ---ZZXXXAA=+1I--MX=X-MMM-ZZA+AZZAXZZZ
+++++CCC                       C    CCC  C      CCC++++CC C   C CC   CCCCCC  CCC CC C           CCC           CC    C   C            
+CCCC                                              CCCC                                                                              
 """""""+Z+==IXII+1=+IXZAAXIX--M--XIZ-MMAXZXIAAZXZ-M=M+++MMZZZX-=MM==+=+++=M===MM==M-ZXXZXAXZXXXZZXZXI+I-MZ=-1=XXZXXM==+==--XXZZXZZZX
++++++++C                    CC CC   C            C C CCC      CC  CCCCCCCC CCC  CC C                   C            CCCCCCC         
+CCCCCCC                                                                                                                             
 """"""""+Z+++=IXI+++==IAIXZXZ-MM--A=AMMMM-X=AZX+IZM=M-==MMZM-ZZ-M===+==+++===+=M=----ZXZ---Z=AZX=AXZXI==AA==IXM==++==++++++=MMMM--ZZ
+++++++++C                    C  CC       C         C CCC    C  C CCCCCCCCCCCCCC CCCCC   CCC                    CCCCCCCCCCCCC    CC  
+CCCCCCCC                                                                                                                            
 """""""""+=X=+1=AI==II===+A-Z-M=-ZZXA-=++==-ZZ-ZZ-MZ---=+MMMM-Z-M=M=====+++==+++MM--MMM-MMM=-Z-ZXAX--ZZI=AZZMMM==+++===+++=++M--ZXXX
++++++++++CC                C C CC    CCCCCCC  C  C  CCCCC    C C C CCCCCCCCCCCCC  CC   C   CC C    CC          CCCCCCCCCCCCCC CC    
+CCCCCCCCC                                                                                                                           
 """""""""+"+-I++==I+=AAIA=+XZXZ+"=MMXX="+=+"MXZ-ZMMZXMM-===-M---MMMMMM==========MMM-MM-ZZ==++=M--ZXM-M-X==I-MMZ--ZMMM=====M++MZZZXXX
++++++++++C+CC                  C+C    C+CCC+   C       CCCCC CCC      CCCCCCCCCC   C  C  CCCCC CC   C C    C   CC    CCCCC CC       
+CCCCCCCCC C                     C      C   C                                                                                        
 """""""""""""+X+===+-IXAZZX=AXI-"----XZ===++"M--AXX-ZZZX=+=MMM--ZZX-ZZ-M=MZZM=M=-Z-M--=M-MM--MMM=MZ=MM-XA==-==ZXI==AX-="======ZZZZZZ
++++++++++++++C                 C+...C  CCCCC+ CC   C    CCC   CC   C  C C    C CC C CCC C  CC   C  C  C    CCC       CC+CCCCCC      
+CCCCCCCCCCCCC                   C'''        C                                                                          C            
+                                 XXX                                                                                                
+                                 CCC                                                                                                
 """"""""""""""+-I=IIIIXZXZZXAAAZ-=-"+-XX-MMM=+==MMMMM=-Z=====MMM-ZAAZZZ---Z-MMM--ZZM=-==-ZZMMZ===+MM-X-XAIAZ-=MZAXXAX-M"=++"+"=MMM--
+++++++++++++++CC                CC.CCC  C   CCCC     CC CCCCC   C      CCC C   CC   CCCCC     CCCC  C C     CC       C +CCC+C+C   CC
+CCCCCCCCCCCCCC                    'B                                                                                   C   C C      
+                                  XH                                                                                                
+                                  CX                                                                                                
 """""""""""""""+=XIAAAXXXXAIAAX-==--"=-AZ-M==""+==+++==++===M----A=+ZMMMM-ZZM-MM--ZZMZMMMXAZZ-MZ-M==MZXXXAZZM=+M-----M=+==+++++---ZZ
++++++++++++++++CC              CCC..+CC  C CC++CCCCCCCCCCCCC CCCC        C   C  CC           C  C CC         CC CCCCC CCCCCCCCCCCC  
+CCCCCCCCCCCCCCC                   ''C        CC                                                                                     
+                                  XX                                                                                                
+                                  CC                                                                                                
 ""+""""+""""""""++MAIAAAXXXAAIAZ-MM+=MMZXZM==+---"+==MM+"+=M-M-ZIAXAZ-==M-AAZZ---ZXZ-MMM-AIXX-ZAX-MM-XIAIAZM==+++==++++===+"=MM-M-ZX
+++C++++C++++++++CC              C  CC      CCC...+CCC  C+CC C C      CCC C    CCC   C   C    C   C  C       CCCCCCCCCCCCCCC+C  C C  
+CC CCCC CCCCCCCC                              '''C      C                                                                  C        
+                                              XXX                                                                                   
+                                              CCC                                                                                   
 +"""++"++"+"""""++"=XAIIXZZZXAAIXXZ-MMMXAAX-MM"-----+-X-++=-Z-M-A-+IXZ-MMZ1I=-XX-XAA--====I=AXXXZ=M-MZXIIIZ-=+++++==++=M-M==M-----ZZ
+C+++CC+CC+C+++++CC+C               C       C  +.....CC CCCCC C C      C     CC  C   CC           C C       CCCCCCCCCCCC C CC CCCCC  
+ CCC  C  C CCCCC  C                           C'''''                                                                                
+                                               XXXXX                                                                                
+                                               CCCCC                                                                                
 ""+"""++"""+"""""++"+-A=AA---ZA=AXZZA-ZZXA=AX-=+++"""=Z-M===-----ZXIIIXMMZ+I--XXZZXA-M++A+=ZZAAXM=-ZXAI=+=X-M+++=M=M=+=-Z-X--XZ--M-Z
+++C+++CC+++C+++++CC+CC    CCC        C       CCCCC+++C C CCCCCCCC           CC      C            CC        C CCCC C CCCC C CC  CC C 
+CC CCC  CCC CCCCC  C                              CCC                                                                               
 """"""++"+"+++"""""+"+=ZAAX---ZAIZZ-XZAXZZIIAZZZZ-M="+MM==MM---Z-ZZ= +IZM-AIXZAAXZZXA-Z=AZM====Z-ZXZA=+=AAZ-M++=++MMMMZAZ-ZZZZZ==MMZ
+++++++CC+C+CCC+++++C+CC    CCC     C             C C+C  CC  CCC C        C           C     CC   C          C CCCCC       C     CC   
+CCCCCC  C C   CCCCC C                               C                                                                               
 ""+""""+++"++"++"+"+""++=ZIAZZ-ZAZXZZZXXXMMX=IXZZZZZM=+=+++++M-M--ZI --IXXAI=AZ-Z=AXIXZZXAAAA++XZAAZZ==IXZZM====++=++=ZZ-M--Z-ZMM-M+
+++C++++CCC+CC+CC+C+C++CCC     C                      CCCCCCCC C CC             C                            CCCCCCCCCC  C CC C   C C
+CC CCCC   C  C  C C CC                                                                                                              
 """+"+"""""++""""+"+"+++++=AAAZZZ--ZZZZZZXZZX=IXX--XZAZ-Z="""++++=-ZXZA==AAAXI=AZX==IAAXZXAA=IAAZ-ZXZI=AXZ-M+=MA-+"==ZIZM=+=ZZZZ-M=+
++++C+C+++++CC++++C+C+CCCCCC      CC              CC    C C+++CCCCCC                              C        C CC  CC+CC    CCC    C CC
+CCC C CCCCC  CCCC C C                                     CCC                                                     C                 
 "+""+"+"++++"++""++""+"+""++ZAAAXX---ZZIZ--XXIAAI--Z-M-XX-=+"""++=ZXXZZZAIAIIXXAAIAAIIIXZIAXAIIIX--ZAIIAXZM=+++=+"=MZAAZ-=++MM-MMMM+
++C++C+C+CCCC+CC++CC++C+C++CC      CCC    CC      CC C C  CCC+++CCC                               CC        CCCCCC+C     CCCC  C    C
+C CC C C    C  CC  CC C CC                                  CCC                                                  C                  
 "++"+"""+++++"+""""""""+""+"+=ZAIAZZXXZZZ--ZZZXIAX-XZZZXXAZ-+++++=MZXXZZXI==AXXXXAZZAX=AXAAAAIAAIAZZAIAAX-M==MMMMM-ZI=XZZZ===+++=Z-+
++CC+C+++CCCCC+C++++++++C++C+CC           CC       C        CCCCCCC                                       C CC     C       CCCCCCC CC
+C  C CCC     C CCCCCCCC CC C                                                                                                        
 "++"""""+"""++""""""""+"++"+""++MXIAZ----MMZZ--XAXZZAX--ZXAIXM==+=-ZXZXXZZXIIAAAAXXXXZAIAAAI=IAAAAXXAAAAZZ=++=M-AAXXAZ-MMM===++++M++
++CC+++++C+++CC++++++++C+CC+C++CC     CCCC    CC       CC      CCCCC                                       CCCC C      C   CCCCCCC CC
+C  CCCCC CCC  CCCCCCCC C  C CC                                                                                                      
 "++"+"+"+"++"++"++""+""+""++"+++++-=+XZ-MM--ZMMZZAAI1=X=MZ-ZIAIAZ-ZXIX-XZ--ZAAAIAZXIIAIIAIA=+IA=AAIIIXXIAZ-M=++MXXXZM===++=MMZ==++++
++CC+C+C+C+CC+CC+CC++C++C++CC+CCCCCC    C  CC           C  C      C    C  CC                               C CCC      CCCCCC   CCCCCC
+C  C C C C  C  C  CC CC CC  C                                                                                                       
 """+++"+++"""++"++"""+"+++""+""+"++=ZAIAZ-Z----Z-ZAIIIIZM-M==ZI=I-M-MZXXAAAXA-XIAXAAAAIIAAAA===IAZZIAZ=ZZXAA-=+=M===+=-=+=======++=M
++++CCC+CCC+++CC+CC+++C+CCC++C++C+CCC     C CCCC C        C CC    C C         C                        C     CCCC CCCCCCCCCCCCCCCCCC 
+CCC   C   CCC  C  CCC C   CC CC C                                                                                                   
 "+"+++""+"""+++"++++"+++++++"+"""+"++=-AAAXZZ----ZZI===IXZMMM-X==IAA--XZAAAZZMMZAIIXXIIAAIAIIAIAXXXIZMMZXZA-=+=MM==+++====++++====M-
++C+CCC++C+++CCC+CCCC+CCCCCCC+C+++C+CCCC      CCCC            C      CC                                     CCCC  CCCCCCCCCCCCCCCCC C
+C C   CC CCC   C    C       C CCC C                                                                                                 
 "+++++""""+"++++"+"+++"+++++++++"++++++=-XAIAXZ--M-XI+==IA-M-XAAIAI+=IAAI=+=A-MMX1=AZX==AXXAAAI=XI=IZ--MXZZM++=-MMM======MM=+++=MMMM
++CCCCC++++C+CCCC+C+CCC+CCCCCCCCC+CCCCCCCC      CC C       C C                C                       CC     CCCC   CCCCCC  CCCCC    
+C     CCCC C    C C   C         C                                                                                                   
 "+""""""+"+++"""+++"+"++++"+"+"+++++++"+++=XIIIAAZ--ZX+==IXZZ-XXZXA1+11+I=I=+=+AX=IIAAA==AIXXI+1IAIAX-MAXM-M=========+=MM-==-MM-MMMM
++C++++++C+CCC+++CCC+C+CCCC+C+C+CCCCCCC+CCCC       CC         C                                       C    C CCCCCCCCCCC  CCCC  C    
+C CCCCCC C   CCC   C C    C C C       C                                                                                             
 """+"+"""+++"+"+"++""++++"+++"+"++""++"""+++=XI==IX--MZA+=AXXZAXXAA11IZ-==MXI=--=AAX-II=+AXAAXXI++AXZM==-=====+++++++====+++=--M=MM=
++++C+C+++CCC+C+C+CC++CCCC+CCC+C+CC++CC+++CCCC      CC                  CCC          C                 CCCCCCCCCCCCCCCCCCCCCCCCC C  C
+CCC C CCC   C C C  CC    C   C C  CC  CCC                                                                                           
 """++""+++++"++++""+++++"+"+++++++++++"+"+++++=ZXIAXZM--A===IAXXXAI+1=ZM+"""=ZI1-+AZ=Z=1+AIIIAZ-A+=XZM+MZMM===+++""++++==++=MMM+++++
++++CC++CCCCC+CCCC++CCCCC+C+CCCCCCCCCCC+C+CCCCCC       CC                C+++C       C          C      C    CCCCCC++CCCCCCCCC   CCCCC
+CCC  CC     C    CC     C C           C C                                CCC                                     CC                 
 """+"""++""++++"+"""++"++++++++++++++""++"""+++++M-AAZM-MZA=I==XZZXI=IIAZ=+""+MX1 1+AX=+1++===AZXA=AX-MMXMMMZZ-=+"+"++++++=====+++++
++++C+++CC++CCCC+C+++CC+CCCCCCCCCCCCCC++CC+++CCCCC C    C                 CC++C                       C        CCC+C+CCCCCCCCCCCCCCCC
+CCC CCC  CC    C CCC  C              CC  CCC                               CC                                    C C                
 "+++++++++"+++"++"""+++"++"+++++++""++++"+++++++""++MMM---ZZAXXAAAZZ=I=IIZM=+++=X--111-1--1+=+1=AI=IAAAXIZ++-IIIX=+++++"""+++++""+==
++CCCCCCCCC+CCC+CC+++CCC+CC+CCCCCCC++CCCC+CCCCCCC++CC   CCC                 CCCCC                          CCC    CCCCCC+++CCCCC++CCC
+C         C   C  CCC   C  C       CC    C       CC                                                                     CCC     CC   
 ""++++""++++"++++""+"+++++++++++++++++++"++++"+++"++++++"+=M-ZZZZZAA==IAXI=AXZ--X=++1+=1 1-+1- 1===++=AAAX==MZZXAXZM==+++++""+++"+++
+++CCCC++CCCC+CCCC++C+CCCCCCCCCCCCCCCCCCC+CCCC+CCC+CCCCCC+CC C                 CC                          CC        CCCCCCC++CCC+CCC
+CC    CC    C    CC C                   C    C   C      C                                                                  CC   C   
 ""+++"+""++""""+++"+"+++++"+++++"++"++++"+""+"+"+"++""++"---+MZX-ZZ-ZZAAAAIIAIIII=+111++1+-- -  1=+1-1=I==AXZZ--XZZXZZZZ-MM++=+=--+"
+++CCC+C++CC++++CCC+C+CCCCC+CCCCC+CC+CCCC+C++C+C+C+CC++CC+...C   C  C                                          CC        C  CCCCCCCC+
+CC   C CC  CCCC   C C     C     C  C    C CC C C C  CC  C'''                                                                       C
+                                                         XXX                                                                        
+                                                         CCC                                                                        
 +++++++"+++++""+++"+++"+++++++++"++++++++++++"+"++++"++"++""--"+-XZZMM--ZI++IAXIIIA+-++11=11-11 -11- -11+1++IX--Z-M-MM--M--MM=MM--=+
+CCCCCCC+CCCCC++CCC+CCC+CCCCCCCCC+CCCCCCCCCCCC+C+CCCC+CC+CC++..+CC     CC                                      CC C C  CC CC  C  CCCC
+       C     CC   C   C         C            C C    C  C  CC''C                                                                     
+                                                            XX                                                                      
+                                                            CC                                                                      
 +++++++++++++++++++++++++++++++++++++++++++"+++++++++++++"+++++--+XIAX-Z-XXXIIIXXAXZAX=1+====1-   --1 +I+-+1-1AXXZ-M-M-M-Z-X----MMM-
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCC+CCCCC..C    C C                                         C C C C C CCCC   C
+                                           C             C     ''                                                                   
+                                                               XX                                                                   
+                                                               CC                                                                   
 +""++""+"+++++"+++++++++++++++++++++++"++"++++++"+"+"+++""+""++=+-"-AIXZZ-MMZAA=I====IX=+-+1+==1      -++1++11=+IAZZXXZZ-M-ZZZZZZXXZ
+C++CC++C+CCCCC+CCCCCCCCCCCCCCCCCCCCCCC+CC+CCCCCC+C+C+CCC++C++CCCC.+C     C                                              C C         
+ CC  CC C     C                       C  C      C C C   CC CC    'C                                                                 
+                                                                 X                                                                  
+                                                                 C                                                                  
 "+"+"+"""+++++++++++"+++++++++++++++++++++++++++++++++++++++++"+++++=ZAIAAXX-ZZZXI===+==+-1+11-11-     -11++11IAAI=IIXXXZZZXZZZXXXAX
++C+C+C+++CCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCC       C                                                       
+C C C CCC           C                                         C                                                                     
 ++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=MXI===I==X---ZAII==111-++-++1       -111==I=+=IXXAAAAXXXAAAAAI
+CCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCC                                                 
+        C                                                                                                                           
 +++++++"+++"+++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++=MA+===1=IAXXZZIAI==+ 1+=+==I=1-    ---111+=I==IAI=IAXXIIAAA=
+CCCCCCC+CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                            
+       C   C                                                                                                                        
 ++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=ZIAIII=II=III=II=1+==+1+=AAAI---111---++=+1+==IAXAAA+I===
+CCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                         
+      C                                                                                                                             
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=MXXI+++=++===II++1+1- -1+II=-   ---  -111+=IIIAAXXXXAAA
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                       
 +"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=MZI1--  11====1+++11--1++--   -=IIAAIIIIAXXZZZZZZZ-Z
+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                  C 
+ C                                                                                                                                  
 +"""++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++++++++++++++++++=-I-  -1- - -1+=+   -      1=AZZZXZZAAAAAXXXXZ--M
+C+++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCC                                            CC 
+ CCC                                                      C                                                                         
 +++"+++"++++++++++++++++++"+++"+"++++++++++++++++++++++++++++++++++++++++"++"+++++++++MZ=-      111+- -       1+=IAAAAA=IIIXZIAZMM-Z
+CCC+CCC+CCCCCCCCCCCCCCCCCC+CCC+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+CCCCCCCCC                                            C 
+   C   C                  C   C C                                        C  C                                                       
 ++"++++"+++++++++++"++"++++"++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++MZA=1               111+==III====IXZXXZ-ZZZ
+CC+CCCC+CCCCCCCCCCC+CC+CCCC+CCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                       C   
+  C    C           C  C    C                        C                                                                               
 "+"+"++++++++"+++++"++"++++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++==MXA+           -11==II=I++===IIAXZZZZZ
++C+C+CCCCCCCC+CCCCC+CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                      
+C C C        C     C  C                              C                                                                              
 ""+++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++MA+-          -+==++=IIIIIIIAAAXZX
+++CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                  
+CC   C                                                       C                                                                      
 +"+"+"+"+++""++"+++++++"+++++++++++++"+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==M-I111+1  --11+++==II=IAAAAAA
+C+C+C+C+CCC++CC+CCCCCCC+CCCCCCCCCCCCC+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                           
+ C C C C   CC  C       C             C C                                                                                            
 +"+++"+""++++++"""+"+++""++"+++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++=M==MA++11-+++====++==I=II
+C+CCC+C++CCCCCC+++C+CCC++CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC                      
+ C   C CC      CCC C   CC  C                                                                                                        
 "++++""""+"+++++++++++++"++++++++++++++"+++++++++++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++=M-ZZXXAAI==++++===A
++CCCC++++C+CCCCCCCCCCCCC+CCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                 
+C    CCCC C             C              C                 C                                                                          
 ++++++++++++++"+++++++"+++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++==M-I++==+=
+CCCCCCCCCCCCCC+CCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C       
+              C       C                           C                                                                                 
 ++++++++++++++++++++++++++""++++++++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==MMM-Z
+CCCCCCCCCCCCCCCCCCCCCCCCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   C 
+                          CC                                  C                                                                     
 +++++++""++++++++++++++++++"++++++++=+++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCC++CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+       CC                  C              C                                                                                         
 "+"+"+++""+""+++++++++++++++++"+++++++++++"++++++++++"++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++C+C+CCC++C++CCCCCCCCCCCCCCCCC+CCCCCCCCCCC+CCCCCCCCCC+CCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C C C   CC CC                 C           C          C      C                                                                       
 +++++++++++++++++++++++++++++++++"+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                 C C                                                                                                
 "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C                                                                                                                                   
 +++"++++"++++++++++++++++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCC+CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+   C    C                                          C                                                                                
 """"++++++++++++++++++"++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+CCCC                  C                            C                                                                                
 ++++++"+"++++++++++"++++++++++++++++++++++++++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCC+C+CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+      C C          C                                  C                                                                             
 ++++++"+++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCC+CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+      C   C                                                                                                                         
 "++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++CCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C        C                                                                                                                          
 +++++++"+++++++++++++++++++++++++++++++"+++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+       C                               C                       C                                                                    
 "++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C  C                                                                   C                                                            
 +"+"+++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++
+C+C+CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ C C     C                                                                                                                          
 "++++++++++""++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++CCCCCCCCCC++CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C          CC  C                                                                                                                    
 ++++++++""++"++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCC++CC+CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+        CC  C  C                                                                                                                    
 ++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+        C                                                                                                                           
 +++++"++""+++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCC+CC++CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+     C  CC   C                                                                                                                      
 "+++++++"++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++CCCCCCC+CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C       C    C                                                                                                                      
 "++"+""+++"++++++++++++++++++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++
++CC+C++CCC+CCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C  C CC   C                          C                                                                                              
 +++"+""+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCC+C++C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+   C CC C                                                                                                                           
 +++"++++""++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCC+CCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+   C    CC                                                                                                                          
 +++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+         C                                                                                                                          
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++"+"+++++"+++++++++++++++++++++++++++++++++++++++++"+++++++++++++++++++=+++++++++=++++++++++++++++++++++++++++++++++++++++++++++++
+CCC+C+CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+   C C     C                                         C                                                                              
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++""++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCC++CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+   CC    C                                                                                                                          
 +++++++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+         C                                                                                                                          
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++==+++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++=+++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++=++++++=Z=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++==++++++++++++++++++++++=++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++=++++++++=++++++++++++++++=++++++++++++++++++++++++++++=++++++++++++++++==+++++++++=++++++=++==++++=+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++=++++++++++==++=++++==Z=+++++++=+++++==++++===+++=+=+=++=++++=++++++++=++=+++++++++++++++++=++==+=++++==+++=+++++=+=+=++=++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
1                                                                                                                                    
-                                                                                                                                    
0                                            PRINCETON UNIVERSITY COMPUTER CENTER CLINIC                                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
                                                            +------------+                                                           
                                                            +            +                                                           
                                                            + COMPUTER   +                                                           
                                                            +            +                                                           
                                                            +    PICTURE +                                                           
                                                            +            +                                                           
                                                            +------------+                                                           
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                              THE MOON                                                              
-                                                   COMPUTER TRANSCRIPTION PROCESS                                                   
0                                                                 BY                                                                 
0                                                         SAMUEL P. HARBISON                                                         
0                                                       COMPUTER CENTER CLINIC                                                       
                                                         PRINCETON UNIVERSITY                                                        
                                                           87 PROSPECT ST.                                                           
                                                     PRINCETON, NEW JERSEY 08540                                                     
-                                                  COPYRIGHT 1973 BY S. P. HARBISON                                                  
-                                                       SHEET  3 OF  5 SHEETS                                                        
-                         THE COMPLETE PICTURE IS CONSTRUCTED BY TAPING THE SHEETS TOGETHER SO THAT THE                              
                          LAST CHARACTER ON THE FIRST SHEET MEETS THE FIRST CHARACTER ON THE NEXT SHEET                              
                          WITH NO WHITE SPACE BETWEEN THEM.  THIS WILL REQUIRE TRIMMING THE SHEETS WITH                              
                          SCISSORS.  DO NOT PUT TAPE ON THE PRINTED SIDE OF THE PAPER; TAPE FROM BEHIND.                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
0                                                                                                                                    
 ======MM==M===============M====M=================================+===++=+=+=M=======+++=++++++++=++=++++=+++++++++++=++++=++++++"+++
+CCCCCC  CC CCCCCCCCCCCCCCC CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCC
+                                                                                                                                C   
 ===========+==++==========+=============+=========+++++++=+++++++++++++++=====+++++++++++++++++++++++++++++++++++++++++""+""+"=""""+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++C++C+C++++C
+                                                                                                                       CC CC C CCCC 
 ==++====++++=++++====++=++====+=+==+===+==+====++++=+++++++++++++++++++=+=====+++++++++++++++++++++++++++++++++""+++++""""+"""+"""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCCCC++++C+++C+++++
+                                                                                                               CC     CCCC CCC CCCCC
 ==+==M+=++++++=++====+++=+======+==++=+++======+==+++=+++++++++++++++++==++++++++=++++++++++++++++++++++++++++++"++++++""+"+""""""""
+CCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCC++C+C++++++++
+                                                                                                                C      CC C CCCCCCCC
 ==+===++++++++++=++==+++==++++==+++=+======++M==+=++++++++++++++++++++++==++++++++++++++++=+++++++=++++++"+++++"+++"+"""""+"""+"""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC+CCC+C+++++C+++C+++++
+                                                                                                         C     C   C CCCCC CCC CCCCC
 ++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++==+++++"+"""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+++++++++++++++++++++++++++
+                                                                                                       C CCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+"""""""+"""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+++++++C+++++++++++++++++++
+                                                                                                       C CCCCCCC CCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++""+""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++C++++++++++++++++++++++++++++
+                                                                                                     CC CCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++"+"+"++"""++"+""""+""""""""+"""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+C+CC+++CC+C++++C++++++++C+++++
+                                                                                                   C C C  CCC  C CCCC CCCCCCCC CCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++++++++++++++++++++++++++
+                                                                                                        CCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++++++++++++++++++++++++++++
+                                                                                                      C CCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++""+"+""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++C+C++++++++++++++++++++++++++++
+                                                                                                   CC C CCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++++""+"""""""""""""""""""+"""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC++C+++++++++++++++++++C+++++++
+                                                                                              C       CC CCCCCCCCCCCCCCCCCCC CCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++""+++""""""""""""""""""""+""+""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCC++++++++++++++++++++C++C++++
+                                                                                                   CC   CCCCCCCCCCCCCCCCCCCC CC CCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++"+""+""""""""""""""""""""""+""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++C++++++++++++++++++++++C++++
+                                                                                                    C CC CCCCCCCCCCCCCCCCCCCCCC CCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++++"+"+""+""""""+""+"""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC+C+C++C++++++C++C+++++++++++++++
+                                                                                            C       C C CC CCCCCC CC CCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++=++++==++++++++++++++++++++++++++++++++++++++++"++"""""""""""++"""""""""""""+""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+++++++++++CC+++++++++++++C++
+                                                                                                    C  CCCCCCCCCCC  CCCCCCCCCCCCC CC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++"+"+""+"+"""""""""""+"""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+C++C+C+++++++++++C+++++++++++++++++
+                                                                                              C C CC C CCCCCCCCCCC CCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++""""+"""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++C+++++++++++++++++++++++++++++
+                                                                                                  CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++""""""""""""""""+""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++++++++++++++C++++++++++++++++
+                                                                                                   CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++++++++++++"+++"+++++++++++++++++""+++"""""+""""""""""""""""""+""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCC+CCCCCCCCCCCCCCCCC++CCC+++++C++++++++++++++++++C++
+                             C                                                C   C                 CC   CCCCC CCCCCCCCCCCCCCCCCC CC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++""+"""+""""""""""""""+""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++C+++C++++++++++++++C++++
+                                                                                                          CC CCC CCCCCCCCCCCCCC CCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"""""""""""""""""""""+""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++++++++++++++++++++C++++
+                                                                                                          CCCCCCCCCCCCCCCCCCCCC CCCC
 ++++++++++++++++++++++++++++++++"+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++++++++++++++++++++++++
+                                C C                                                                       CCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+""""+"+"""""""""+"""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++++C+C+++++++++C+++++++++
+                                                                                                        C CCCC C CCCCCCCCC CCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++""""+"""+"""""""""+"""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++C+++C+++++++++C+++++++++
+                                                                                                        CCCC CCC CCCCCCCCC CCCCCCCCC
 ++++++++++++++++++++++++++"+++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"""""+""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++++C++++++++++++++++++++++
+                          C     C                                                                       CCCCC CCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++"+++++"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"""+++++++""""""""+""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCC++++++++C++++++++++++++++++++++
+                          C     C                                                          CCC       CCCCCCCC CCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++"""++++++++""""""+"""""""""""""""""""""""-
+CCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+++CCCCCCCC++++++C+++++++++++++++++++++++.
+                         C                                                             C  CCC        CCCCCC CCCCCCCCCCCCCCCCCCCCCCC'
+                                                                                                                                   X
+                                                                                                                                   C
 +++++++++++++++++++"+++"++"++++++"++++"+++++++++++++++++++++++++++++++++++++++++++"++""+"+""""++"+"+""""""""""""""""""""""""-"""""""
+CCCCCCCCCCCCCCCCCCC+CCC+CC+CCCCCC+CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC++C+C++++CC+C+C++++++++++++++++++++++++.+++++++
+                   C   C  C      C    C                                           C  CC C CCCC  C C CCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCC
+                                                                                                                            X       
+                                                                                                                            C       
 +++++++++++++++++++++++"++++++++++++"+++++++++++++++++++++++++++++++++++++++++++++"++""+""+"""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC++C++C+++++++++++++++++++++++++++++++++++++++++
+                       C            C                                             C  CC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++"+++++"+++"++++++++++++++++++++++++++++++++++++++++++++++++++++""++""+"+""""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCC+CCCCC+CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CC++C+C++++++++++++++++++++++++++++++++++++++++++
+                  C     C   C                                                    CC  CC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++"++++++++++++++++++++++++++++++++++++++"""""""""""""""""""""""""""""""""""""""""""""-""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++++++++++++++++++++++++++++++++++++++++++++.++++
+                                           C                                      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCC
+                                                                                                                               X    
+                                                                                                                               C    
 +++++++++++"+++++"+++"++"""+"++++++++++++++"+++++++"+++++++++++++++"+"++"++++++++"""""""""""""""""""""""""""""""""""+""""-""""""""""
+CCCCCCCCCCC+CCCCC+CCC+CC+++C+CCCCCCCCCCCCCC+CCCCCCC+CCCCCCCCCCCCCCC+C+CC+CCCCCCCC+++++++++++++++++++++++++++++++++++C++++.++++++++++
+           C     C   C  CCC C              C       C               C C  C        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC'CCCCCCCCCC
+                                                                                                                         X          
+                                                                                                                         C          
 +++++++++++"+++++"+"+++""""++"+++++"+++""+++++++++++++++++++++"+++++++++++++++++"+""""""+"""""""""""+""""""""""""""""""""-""""""""""
+CCCCCCCCCCC+CCCCC+C+CCC++++CC+CCCCC+CCC++CCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCC+C++++++C+++++++++++C++++++++++++++++++++.++++++++++
+           C     C C   CCCC  C     C   CC                     C                 C CCCCCC CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC'CCCCCCCCCC
+                                                                                                                         X          
+                                                                                                                         C          
 ++++++++++++"++++++"++++"+""+"""+++"""++""++++++++++++++++++++++++++++++++++"++""+""""""""""""""""""""""""""""""""""""""""-""""""-""
+CCCCCCCCCCCC+CCCCCC+CCCC+C++C+++CCC+++CC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC++C++++++++++++++++++++++++++++++++++++++++.++++++.++
+            C      C    C CC CCC   CCC  CC                                  C  CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCC'CC
+                                                                                                                          X      X  
+                                                                                                                          C      C  
 ++"++"+++"++++++++"+"++"++"""+"++"+"+++"""++"++++++"+++++++++++++++++++++++""+"+""+""+""""""""""""""""""""""""""""""""""-"-"""""""""
+CC+CC+CCC+CCCCCCCC+C+CC+CC+++C+CC+C+CCC+++CC+CCCCCC+CCCCCCCCCCCCCCCCCCCCCCC++C+C++C++C++++++++++++++++++++++++++++++++++.+.+++++++++
+  C  C   C        C C  C  CCC C  C C   CCC  C      C                       CC C CC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'C'CCCCCCCCC
+                                                                                                                        X X         
+                                                                                                                        C C         
 +""++"+"+++++"""+"++++++++++++++"+++++++"+++++++++++++++++"++++++++++"++""""""+++""+""+"""""""""""""""""""""""""""""""""""""--""""""
+C++CC+C+CCCCC+++C+CCCCCCCCCCCCCC+CCCCCCC+CCCCCCCCCCCCCCCCC+CCCCCCCCCC+CC++++++CCC++C++C+++++++++++++++++++++++++++++++++++++..++++++
+ CC  C C     CCC C              C       C                 C          C  CCCCCC   CC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC''CCCCCC
+                                                                                                                            XX      
+                                                                                                                            CC      
 +++++++++"++++++++++++""++++""++""+++++""++"+"+++++++"+++++"+++++++++""""""++"++""+"+""""""""""""""""""++""""""""""""""""""""-""""""
+CCCCCCCCC+CCCCCCCCCCCC++CCCC++CC++CCCCC++CC+C+CCCCCCC+CCCCC+CCCCCCCCC++++++CC+CC++C+C++++++++++++++++++CC++++++++++++++++++++.++++++
+         C            CC    CC  CC     CC  C C       C     C         CCCCCC  C  CC C CCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCC'CCCCCC
+                                                                                                                             X      
+                                                                                                                             C      
 +++++++++"+++++++++++++"++"++""++"+"+++"+++"+"++++++""+"+++"++""++++++"+++"+"+++++""+"""""""""+"+""+"++++""""""""""""""""""""-"""---
+CCCCCCCCC+CCCCCCCCCCCCC+CC+CC++CC+C+CCC+CCC+C+CCCCCC++C+CCC+CC++CCCCCC+CCC+C+CCCCC++C+++++++++C+C++C+CCCC++++++++++++++++++++.+++...
+         C             C  C  CC  C C   C   C C      CC C   C  CC      C   C C     CC CCCCCCCCC C CC C    CCCCCCCCCCCCCCCCCCCC'CCC'''
+                                                                                                                             X   XXX
+                                                                                                                             C   CCC
 +""+++++++++++++++++++"+++++++++++++++++++"+++++=+"+"+"""""+++++"+++++"++""++"+""""""""""""""""""+""+"""+""""-"""""""""""""""-""---"
+C++CCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCC+CCCCCCC+C+C+++++CCCCC+CCCCC+CC++CC+C++++++++++++++++++C++C+++C++++.+++++++++++++++.++...+
+ CC                   C                   C       C C CCCCC     C     C  CC  C CCCCCCCCCCCCCCCCCC CC CCC CCCC'CCCCCCCCCCCCCCC'CC'''C
+                                                                                                             X               X  XXX 
+                                                                                                             C               C  CCC 
 "++++++++++++++++++++++"+"+""+==+++++++++++++++""""""++""+""""""+""""""""++"""""""""""""""""""""""""""""""""""-"""""""""""""""""-"--
++CCCCCCCCCCCCCCCCCCCCCC+C+C++CCCCCCCCCCCCCCCCCC++++++CC++C++++++C++++++++CC+++++++++++++++++++++++++++++++++++.+++++++++++++++++.+..
+C                      C C CC                  CCCCCC  CC CCCCCC CCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCC'C''
+                                                                                                              X                 X XX
+                                                                                                              C                 C CC
 +++++++=MM==MM====MMMM--M+=+M---M=MMMMMMM=====++++++++++++""++++""""+"""""+"""+""""""""""""""""""""""""""""""""""""""""""-"""--"-"-"
+CCCCCCCC  CC  CCCC    CC CCC CCC C       CCCCCCCCCCCCCCCCC++CCCC++++C+++++C+++C++++++++++++++++++++++++++++++++++++++++++.+++..+.+.+
+                                                          CC    CCCC CCCCC CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCC''C'C'C
+                                                                                                                         X   XX X X 
+                                                                                                                         C   CC C C 
 ==+MZA=I=IAI==IIAI++=II=IAXZZXXXX-XZXXZZZZM==M++MM+==MMM==M++++++""""""""""+""""""""""""""""""""""""""""""""""""""""""""""-""""""---
+CCC                              C         CC CC  CCC   CC CCCCCC++++++++++C++++++++++++++++++++++++++++++++++++++++++++++.++++++...
+                                                                 CCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCC'''
+                                                                                                                          X      XXX
+                                                                                                                          C      CCC
 ++II+1-1-=II=1=IIZAII+1+11+=AI===I==IIA-MXAXI+=Z-Z=+MZI=-=M++MA=IX+"-"""++++"+"+""""""""""""""+""""""""""""""""""""""""""""-""-""""-
+                                       C        C CC    CC CC     C+.+++CCCC+C+C++++++++++++++C++++++++++++++++++++++++++++.++.++++.
+                                                                   C'CCC    C C CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC'CC'CCCC'
+                                                                    X                                                      X  X    X
+                                                                    C                                                      C  C    C
 1++1 -++ -1--  +=AIIXXXI1--11+=+1--+111++1=AAIAA=+1II=1 +++=X---A==A-M-M=""""++++"""""""""""""""""""""""""""""""""""""""-""-"""-"-""
+                                                             CCC    C C C++++CCCC+++++++++++++++++++++++++++++++++++++++.++.+++.+.++
+                                                                         CCCC    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CC'CCC'C'CC
+                                                                                                                        X  X   X X  
+                                                                                                                        C  C   C C  
             -  -1IAAIII=1      -==11-+IAI11=++1-----1-++1+++=III==+-1+==IIAZMMMM====="""""""+"""""""""""""""""""""""""""""----"-"""-
+                                                                                CCCCC+++++++C+++++++++++++++++++++++++++++....+.+++.
+                                                                                     CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC''''C'CCC'
+                                                                                                                          XXXX X   X
+                                                                                                                          CCCC C   C
           -----   -=IAAXA=+--   +==1 -IAXAIA=++        +1=1 +++I=++-   1- - =XMZ--M==+""+MM=+""""""""""""""""""""""""""-""--"--"""--
+                                                                                CC CCC++C  CC++++++++++++++++++++++++++.++..+..+++..
+                                                                                      CC     CCCCCCCCCCCCCCCCCCCCCCCCCC'CC''C''CCC''
+                                                                                                                       X  XX XX   XX
+                                                                                                                       C  CC CC   CC
           ---1++1-  -11-++-  1- +===-1=IZXXAAAAA=----    -----   -  111       =+=I==XM=++"=+-AX=+"""""""-""""""""-""""---"--"""---"-
+                                                                                      CCC+CCC  CC+++++++.++++++++.++++...+..+++...+.
+                                                                                         C       CCCCCCC'CCCCCCCC'CCCC'''C''CCC'''C'
+                                                                                                        X        X    XXX XX   XXX X
+                                                                                                        C        C    CCC CC   CCC C
           ---=+====++11-111- -1+1+1-1111=ZZXAXXIA=1--1==11--   1+-11----       1+AIX+-1IZ---=++=ZM=+++"""""""""""""""""""""""""-"---
+                                                                                         CCCCCCC  CCCC+++++++++++++++++++++++++.+...
+                                                                                                      CCCCCCCCCCCCCCCCCCCCCCCCC'C'''
+                                                                                                                               X XXX
+                                                                                                                               C CCC
         ---11+1=II=II+++1+1+1-1+1---1+1-=I===AXXI=+111+=+11----+++11 -1+111 -    -1==II1=AIXX-MMMM=+==MM+"""""""""""""""""""--""""--
+                                                                                             C    CCCC  C+++++++++++++++++++..++++..
+                                                                                                         CCCCCCCCCCCCCCCCCCC''CCCC''
+                                                                                                                            XX    XX
+                                                                                                                            CC    CC
 --1- ----+11++11++++=+++--1+1-1++-   -11=I+11=+=+=++1-=+++1+I=1--1=+1+ 1+--  1--  1+111+=XI=IIAIXZZZMM=M-=+""""""""""""-"-""-"""----
+                                                                                                      C CCC++++++++++++.+.++.+++....
+                                                                                                           CCCCCCCCCCCC'C'CC'CCC''''
+                                                                                                                       X X  X   XXXX
+                                                                                                                       C C  C   CCCC
 --  --11-11-11--11--++1-1    1+11 1      1=++++++++11 -++-++=+=+--11-- -=I1-    1I +111-- -=I-I+1=IXIZ-"+MMZZ""""""""""-"-""""""-""-
+                                                                                                      C+C    ++++++++++.+.++++++.++.
+                                                                                                       C     CCCCCCCCCC'C'CCCCCC'CC'
+                                                                                                                       X X      X  X
+                                                                                                                       C C      C  C
     --1+1++1++11--    ---     --  -        -+===+1111  -1+++==I=++11++---11+-    ---11=- 1----====+1-1=AXXX-ZAX=+"""--""---"--"----"
+                                                                                                           C   CC+++..++...+..+....+
+                                                                                                                 CCC''CC'''C''C''''C
+                                                                                                                    XX  XXX XX XXXX 
+                                                                                                                    CC  CCC CC CCCC 
 --  --11-+++++++111                         -111+1-  -11111+=+11-1111+111-  - -   -  1----1+111 1=+++++=I+=IXZAAXZ=+-"-"""---"-""-"-
+                                                                                                                  CC.+.+++...+.++.+.
+                                                                                                                    'C'CCC'''C'CC'C'
+                                                                                                                    X X   XXX X  X X
+                                                                                                                    C C   CCC C  C C
 ------11--1+==++11+11-- --1--                1111--  -1111- +1-   -+++++11--        -1--+1-==-=1--1+---1++II+IZ-==XX-+-""+-""""""""-
+                                                                                                               C    CC.++C.++++++++.
+                                                                                                                      'CC 'CCCCCCCC'
+                                                                                                                      X   X        X
+                                                                                                                      C   C        C
 -11-1--   --111+1111+-   -11+-               -+++-- --- -- ------111++1+1++1      +1 -- --++IAX=1+1- -1--+-1--+=X1=I-II="-"""--"-"--
+                                                                                                                    C  CC.+++..+.+..
+                                                                                                                        B'CCC''C'C''
+                                                                                                                        HX   XX X XX
+                                                                                                                        XC   CC C CC
  111+----- ----1+11  -      ---               11- -  -+1 ---- --+1+-+=++1+1-     -1==-     1+IX= --111---=+1++===-1IIA+=Z+-""-"--"--
+                                                                                                                         C.++.+..+..
+                                                                                                                          'CC'C''C''
+                                                                                                                          X  X XX XX
+                                                                                                                          C  C CC CC
 -11+11--  --1--1I+1  -11                       1--- -11-  -----1+++1+++=+11- -- -11+=11      ++++   -+++--+==IAAAI==I=XI-I-ZM="-""--
+                                                                                                                          C  C+.++..
+                                                                                                                              C'CC''
+                                                                                                                               X  XX
+                                                                                                                               C  CC
 111----- 1-  -1+A+1-1-1+1                      -1---1++--    ---+11111+++  --1+-1++1+11-- --   1+11-  -=+++1+1IIAA+IAIAAA===I+=Z+-""
+                                                                                                                             CC C.++
+                                                                                                                                 'CC
+                                                                                                                                 X  
+                                                                                                                                 C  
  --111- -11-- -1++111--11-           ---        -++-1+=+1=  -11  - ++II=+-    -+===++++1+1-11-  - -1+111=11-1+==1=AIIAXA--XI- I+MI-"
+                                                                                                                        CC     C  .C
+                                                                                                                                  'B
+                                                                                                                                  XH
+                                                                                                                                  CX
 +++1+11+++++1-1-1--11111-11          -          -+=11+=+1+++---     1+==++1-    1+II===+1+11-1-    --------    1+11AXAII=AXXA=I=XM-=
+                                                                                                                                  CC
 1++111==+11++111- -1++11-111-                    -1+++I===I=+111+- -1++=+1   1111=+11=I=1=+1   -    ---          -11===I=XXIIIAAA=XI
 11111+I==1 =+1-+1-1++=+=+1++1-                     1++I++=++1- 1===++1-=+-   1+=+++=+==++++1+-     -------    -   -11-=====A=IAAA===
 1+=======+++++++++++++=II==+=11--          ----    -1+1- +1-=+1-==AI+=A=-1   +======+++=+ 11  -    --1+= 11-- --1-- ---======IIIAZZA
 +1===++==+1+==+==11+++=+==+1+==+1- -        -1-     -1+1 -1+=++==+=I+==--    +=IIIII=I==II==1  ---1-1++I1=++==+--1+1+11-1++I=+1=IIAX
 +11+1-+I==++=I=II++====+=++1+=++=- -    1-++11      -+++--1+111AIAI=+==11-  -=======II=++==I1+==111+II==1+I==IX=+-1-11+111+===-1+IAI
 +111  +III===I=III=======+-1+==11  - -1-+===11-     -1+=11++---AAA====+11-  +==IIIAII==11==++++===-1=II=+1=IIAXAI=I=1+1++1 -+I=-+1IA
 =++++ 1==II++IAAAAII===II=+==+=+1   1=+ 1+-  -+-     -++1++=1+1IAI=I===+1-  1=IXAAI1+II==+1II==-II1-+++AII1==AAIZZAX=--I-=-  =I1=1- 
 1=====+===I=1=AAAAAAAAI===I+=+111-  1+1- +1+1-++      11 1+1++=IXIIAI===-  -1=====I=+II=I+-=I1==I=== -1+IA=A=IAZZ-ZI=AA=+II+- I+--1 
+                                                                                                                 C                  
  -1++=++==II=+==1+IIIAI=+++++++1--   1+1-1==+=+1-     1111+1--==IAAAXIA=-  -1+1=+++==II1+1-==+++==I+111-1+=AAIAZZ--XXZXXXIII1 1=1   
+                                                                                                                 CC                 
   -+==++===II++=--111=I==+==1--  1++111111+=+=+--     1-11--  ++IIIIXII=1  1+=+==1++=II+I=1I+-==I==- 1+1+ -1+==1AX-XXAAXZZI=1+-1+-- 
+                                                                                                                  C                 
   -+==++==++++=I==++1-11++I==-   1=I==I=+++==AI+     --11 1+ -1+II++1=++-  1=====+I====1++I=-1 1II++ 11-+ -1++=++XXX-AIZZXZX++1- +--
+                                                                                                                    C               
    111===+111=======I=11=1+I=+--  =I=IAIII+++=AI+-    ----11+++IAII=+-+-  -1=+IA=IAIIIA====+1++===+1==A=I++=1-+=1=XZZ-ZXX===A+11-1+1
+                                                                                                                     C              
 -  -111==11+=====++1=I=111-===+1-1IXAI=IAI=+11=I+-   -- ---1++=AIIII=11   1++III=III=II=III=+=++III1II=IA=II=1--111=A-MZXAI+IAI=-+==
+                                                                                                                     C              
 ++++1--1--11+=II=+--1++=++1+=II11IAXAI+=IAA=--1=+11- -1-----==IA===+=++   11+II===I=IA=IAAI++II=AI=+1=I==+IA=+I=1  -+IZMXXA==IIA=I-+
 =II=+1++1 -++=IIII=1111AII+==1=I=+AXII=1-==I+1111-+1  1+---1==++=I1=+1   -++111=II=IIAI=III+=II+1=-A=+==XIIXX+=III1 -+-AXI=1==++IIA1
 +++I=====+1+111+====+==IAI+++1++==IA+-I=1-+===1-+1+-  --  11======-==1-   +=++1IA=+X=AIIAAI==+A==++I==I+=IIAI+=II==+1-1==II=1=I+=AAA
 ==+==II==1111++=IIIIIII+11-1=11-1====+==1--1+=1 -11   -1   -++++==11-    -=++++=+=IAII====I=+-=1I===++=IIAIIA===I=+AI===I====AA=====
 ===+=I+++- -+++1+=IIAAA=1--+=+1++==11+1=11---11  --   ---   11-1I=1-     -1-1+==+-1I=II=+=IAA=I+==I+111==I+==AA==I=AIIA=+II==XXAII=1
 II=1+=+-1111- -  -++==II++-+==+++1+--=1+11- -  1         -- 1- -++1-     --11+++1  =III===AAAII++1+=++++1+===+=I==AIAAXAIII=+A-ZAZ-A
+                                                                                                                              C   C 
 =I+-++++1--     -11-----+=1-++==1-+1II=1++- -11---       -  -1-11+1      11=II++11-+=I==IAAAAIAI1+++11-1++===+=IIAAIAXXXAAI+===XZZZI
 ++11+++11-      +===1---+===+11+=+=+AII===11-1- --           -- +++      1=III===I=+11===AIIA==I=+=====1+1===+IIIIIIAAIIIII11-==IXXI
 1++++=+----     -IXXAI=IIAII==++I==+IIIII=11--                 11----1- -1=AAIIAAXI++++IIAI==1++III+==I=+111+=AXAA+==I=+II=111=+III=
 +++1111- -----    +IXAIIIAIA==1+==+-1+==I=+11                  1----   -1+=IAIIIX=1+I+1+==+I++=++++=II=I+- -++=IXI=11=++==== +===XA=
 ++111111  ---- - 1IAXAXXAI===+==+==+111===++11--      1        - 11     +IIAAXA=AAIA+=+I=IA=+==IIA==AA=-1-1--+++IIII1===AAA=-1=I=A=I
 +=11-+++11- ----  +=IAXXXI====1++11----1111--- -      +-    -    ---    =AAAAAIIAII==IIAIAI+ =IAAAAII=- -11+1--1+==IAI==IZXI+1++=1=A
 I=+1111+=++11--      -=II=+1-1--     --1+----  -  -    -    1    - -   1=AXXAI=AIIA===AI=I==+=IXAAAI=-  -+-=+11++++=IAI=AIAI+==++1+I
 1++1++1-1---            - -   -1    ---------  -       -  --1  1  11   1IXXI=II=1===A=+11+=+AA=IIAI+11 =II=+111=--1+=1+11A=I+1=-1++1
  --    --      -1--            --    ------      -       ----- -  --    1+11=+=IIII=++=II=IIAIIIIIII+=+++I=AII-+++===I=11==-- -  --=
   -            ---                     --- -- ----       -------       --  -1-++==+111+==II==AIXXAII=1I==+IAII+=++1++=I=--1 11+11+-1
   -  --      - -                         - -11-- --11111-1-1-111      -    1---1++1-1-+==I+=AXXAZA=I=+I===II==++I1-11-1+111--++ 11-1
 +1- -      -=+1111-- -1  1-111-1=+1-      --1++1111++===++1 -11--11       11--1=II===11+==+1+==-ZXA+--1++===+I=I++- - 1 1+1-11111++1
 =+-  ------1==++1+1---1+-11+==--+1--        -1++====III+=I==1+1---       1- --1==+=+-  =+==+1I=1AAIA==++==IIIII+1+-  -1-1+--+ 1-+111
 =+1-11+==11--11++++11-1111+11+1---- ------ --1======II==I==I=++11-- -    -- -11+1++--- +=+I+1+=1IIIAIII===I1+III===1- -1111+-  ---11
 ==+11+=XA+--111+111-111++===+1111-    -----1+1+===III=========II=++--   -++- 1+++++=1- ++1II++=+===I=IAI===+1====+===1-1111--  - ---
 I=+1+IAXI1-1111- -++++=+-1++1+---   -    1--+11=I+II=+---1- -1IAI+11- - -++ -1+=-=++++=I++-+===-1=II=I=I=-++==1+++++++1- --     1++-
 AI=+1+==++=+++1+--11+1+11+=++++1---     ---1+++===AI+-         1==+11-1- -1----==I++=I=AAI+IIII+--=+===++1++11+11=1++11+--1-    --1-
 II==+1=AIIIIII=I=11--1+IAAAII==+---1   ----1+===III=1           1=AI=++----    +=+1++==IIA=++=AI+1===+=+++1-  -1++---1-11 ---  -  -+
 II++=++1=+=II==+++=+11=IIII=I+1    --  -111+1=IIAAI=-            IIII=+111---11++1++==IXXI=I+=AA===+++1=+1-1- -+11+ 1=+1 -   11-   1
 AIIII==1-+==111-IAAI-++++==1+1-  +--   - -11-=I=IAAA1            IAI==+11--11-- 11===IIIA+=I+==++++1+1 11+-1-1+++-++11++1 --  +11---
 ====IAI++1++=++=I==I+1++11-      +1   ----1--1===IIA+           1=I===+11-11-++11=++1==III1+++++11++=AAAII=1 -1=====++==11-- -+11+==
 +=++===+1 -11+++=+==+1++==1---- -11-- -  ----1+11+II+          -=II==+111111-111======+=++-++===IAAIA=-X--ZI11+1+II++++===+1-1++++1+
+                                                                                                     CC CC                          
 ++-  --1+---1+++1+++1+++11-1+1-  1--     -    11+==I=1-      -1=I=I+111---1--111-1==I+=I+=1+=IIIXZMZXZXZ=++=-XI+I-M-AI=AAIAI==+++1- 
+                                                                                                        CCCCC    C C                
 1  --11-1--  -1-1++11+++----               - ---1+=+I===-++--=I==+=1+-     --++++1++=++I=I==IIAAA-=M-AIA=M+M=ZZZM=M+XZAAIIII==+--+= 
+                                                                                                 CC C     C C    C C                
 -   --  -1++-1=1+++1++111-++1-  -            - -11++I=+I==I=IAI==+++11-   --1-1++===1I11-1=I=I==AAXI++-+IAXXX=ZIZM=+Z=A=-=I+1111- 11
+                                                                                                             C    CC                
 +1     -1++===++==+-+==+=1+=-  --              --1++=++======II+=+11111-   -11--- II=I=11--+++++AAI++1- +==+IZZ1=AAXZIII++=1---+1-++
 1-    ----+==+==++11+IX=1+11-- -               -11+111+=+1++==++11 -- --- -  -111-=IIIAII=1==A=+=====1+1+I+ =+======III==+=  111++1=
 --      -1++IA=+11+1+=++11----11               1111111+==++1++-1-   --1---+-  -=11+I=AXAIAIIAZ-A++++1 -II=+1 =-1====1=+1++====1+=1AM
+                                                                                              C                                     
       11+=++I=+===11-11+- -1-1+11-              -11111++=+11-     ----11+---+  -1+1=IXXAAAAIXXA=+=+=+1-1IA=I+IX++==+1 -111IIII=1+1=Z
 1-     1===+11==++1- - ---1+1++111                1--1=+1+1--     -    1=- 1=+   +=IIAI=I+I==II11+=III==+==III=======1--+-+1+==+=+=A
 +11    -1-----111--  -  --11+----1-    --         - -1+1-++--     -     1+11++1-   1II1+=+I=++++1  1=I===1==1I+XXAXA+==+1+1111 -1+=I
 ==+    1+-  -     - -- --- -+11----    ---- --- -   +1----1- -      -     1=+I=+-   -=+I+1I=11+=1+- 111IX=+++1=IAX=+X+++=I1-11- ----
+                                                                                                                  CC                
 ++1  --1-  1-      -+1--11--+--11--- ----  1+1-   - ------          --111  -+=II+-   -1=II=-+1AZI+=11-1=A-==11=11=A-M-A+=1+++ 1I=1--
+                                                                                                                   C C              
 11-    1          ---+-1==1--1-1-1111-     --    -1-----            -+1-----11=AI= -  -1=AAIIIAZX+++++-==+++=-+- 11=A-MZ=+AAIXZMZ=++
+                                                                                                                     C              
 1+-   -        --1++111II+1--1111+=++1------     1--11-   1         1I+--=-1+--=II==1   +=IIIAIAAI=IAIII1I===-1+--  -+A-IXZZAM=MZI+-
+                                                                                                                       C      C     
 - -- --      -111 --11=+=1--1++11-I=++1-- 1    -  ----1 -  ---  11---1I==I11=-  -1+=-1   -+AI=AAI+1=+-=IIAXXI+ =ZZX-  -++1X-ZM==-MX=
+                                                                                                                           C  CCC   
   -+-      --1+1-111+++1+11-1===+=I++I+-  - -  -- - -  --- -1- --1-1-+=IA==++1    1+1-    -+==IIII=1I+=AZXAZXI+XMM-X=   -1I--XMZZZM=
+                                                                                                                  C        CC      C
      -+1-11111+1111+==1++==III==+==++=1-- -11-  - --+------ 1-  -----+==II=I11 -1--++ -     11=I===+IIIXXI=IAXXX-M=MM++=IXXZZIAX=II-
+                                                                                                                C C                C
     -++++=++1+1-++1=I1 1++=AII+==II+1----  1----  1IA++- ---111-1-- ---I====11-11+- ---        ===+11+IIAA==ZZ--ZMM-ZI=+=1+XZZAX=+= 
+                                                                                                              CC   C                
    -+11+=1--1--=I+II+11+1--+=I++=II+1+- --  --- --1IXI+-111-1+11-1--+1111=I+I=+III==  +  -      ---   +=1==AZMM=MZ==++==-=AZZMMZXAI=
+                                                                                                               C                    
    -++11+ --- +==I+1=II--1+I==+=AI==I=1-+1  --- -11+II11=+111+111-+1=X=+1=I--==IZA=I+---         -1-  +-1=IXXXZ-MM-Z-XAZZ=I--MMM-ZMM
+                                                                                                               C  C C      CC   C   
      ++11-1--1+1==1IZX=1==IIII+=IIIAA=+11-  ---- --1++1+++1-+I++- +++XA=+=I+-1-=XXIIA=1 -1        - --+1+=AXZXZMMMMM-ZZZZ-A--MMM-Z-X
+                                                                                                                    C    C CC   C C 
     -1++=+++-  -+1IAXI==AIAXAI==IAXXA=I+1   -1---- -+-+=+111+I=I1-1==XA=IIAI1-1==AAXIA=- -          1+===AXZZZ--ZZ-Z-Z--Z-ZM--MMM--Z
+                                                                                                              CC  C C CC C  CC   CC 
    +=IIIAIA=1-11- ++=====IIAAAI=AXXI++==   -1-  --11-1++1--+I=IA+11+=IA==AI=+11=1+IAAI1=-  1-       11 I=A---M==AI-AA-ZZZ-ZZ-AIMMXXM
+                                                                                                          CCC CC  C  C   C  C       
  -=IAI==AAI1-+11--1+==+++++=IAIXXX==1++1     -   -- -+1=11-=I==A++111+=+===I==1+1 -1=+--- -- 1         -=IXX-M-MZ=II11II++=IAZ-MMZMZ
+                                                                                                            C C               C     
 +IXIAI++AA+===+--11+++=+++-1+IXZAXAI111          --+-+-++=++==1+11-1+1==++1AIA=++-1+I=+111-  1+1-       -1=IA==XI=++--+1   -I-M=MM=M
+                                                                                                                             C C  C 
 AAA==I=IA=IXII=111111+=I+11==A-AAAI1 -- --      --++++1+=A=+1111-  11-+II=1=II+=+++=IAI=I=+  --=+        +==I=IX=I1==+=+1+==Z-M==M+-
+                              C                                                                                              C CC CC
 I==IIIAAI++=AXA=+I1+1+AA+1===ZI+==-----++1     1++=11+-+=+1-- 1  1-+===II+1-111-++=1++IAAXA+-            1===AXZ=AIII=11+I==Z==M=M-I
+                                                                                                                             CC C C 
 AAIIIXAA++++I==AAAAIIAZII===IZXI==111+++1-- 111==+I==I-1+111-1--1+1+++=+I1-1=AZIAI1-1+IXAZZZA1  +1+       ++=AAXAAAI=IXZ==+++===-M-A
+                                                                                                                          CCCCCCC C 
 I=II=XXI===+=+AZXAAA===+IIIAXM-I=++11+=+1--1=1=XII====11-+1=11-1==+1=I+I=+II-++=X-A -1=A==+Z-A=--+AII1-   ---AZXIII=+IM+=X-==M-MMZIA
+                              C                                             CCCC C          C                          CC CCC C     
 1IAAAXA+I==+++IAIII=++=+IAIIAMX=+11+-1+1--+II+IX=++=+=+=1I1+=11=I==1=AII++Z-M+==--MI+++1-- +AXAI+=IXXA+ -  --IZZ-ZZ=+=M+"M-XII=IAII+
+                                                                           C CCCCC                              C      C+ C         
+                                                                                                                        C           
 =AX-XI=+II===+-11==++=I=AAI==A+111=+--111+IXI=I===1=+=+=+A+11++=IA=+++XI++Z-===-Z--MZZ+AXI=+AXXXIAI=XZZ=-1---  IXM=ZXIAXXM=+AMZ1=IAI
+   C                                                                       CCCCC CC                               C       C         
 IAZZX=+==AAII=+===I=+++IAI=+++++1AA+ -+=ZAZXIII===I+==1++A+1+11IIAI==I==1+Z-M--Z+ZZZX-IXZAA+AXXZXXX1IX-XA=- 1  =ZZ=++-Z-=+=I-+MZ+IXX
+                                                                           C CC      C                C           CCCC CCCC CC      
 AAAA=++IAXXIAAAAAIA=+=+=I=+-1=+1+AI=+1+IX--ZXZAI=1I===-+=II==+=I=AI++=++11+AZAZ-XAXIA==IAAI-+IXZZXZI1A-ZZZ===  +Z-M=+=++=++ZXM-X+IXX
+                                         CC                                    C                      C          C CCCCCCCC   C     
 XAI=1+=IZXAAAXXXXIA=+=+=I=+1IA+11=++===XZZ-==+ZA++III=+=I=III=I=+I====+++=+IAXX-ZZX=1+A==+11+IZ-ZZZXI=Z--AAAI- --M=++=++M-++-I=1+=IX
+                                          CCCC                                 C               C       CC       C CCCCCC CCCC       
 ZZI+=AIAA+=IAZAXI=II=IIII==IAI1-- -++XAAXXAXXZX=+I==II==+1AIII=11===I+I=1==-+=AAZZI1-=--XI==IZZ---XZXAIA-Z-A==--I-M=++=+=A=+-+M=1--=
+                                                                                      CC       CCC      C C      C CCCCCC CC.C      
+                                                                                                                            '       
+                                                                                                                            X       
+                                                                                                                            C       
 XXIIAAXZXIII=====+IIIXAIIII=I1----1-IIII=III===1=I+-=I++=1AXXXI==I==IAZA+AZ-+-+III1+II=AZZIAA--------ZZAA-Z-ZI=-1IZMM=ZM+MXM""+MI---
+                                                                                             CCCCCCCC    C C         C  C   ++C     
+                                                                                                                            CC      
 AAIAZXXAXAAI==I==+==IXX=I=++--1=+11=A=IAIII==+++II=1+I=II=XZZZXZMXI=AXM-==+==AZZM-AAXXIIZZZXXZZX-==M=Z-XAZ-Z-ZI=+-+-M=+=++M"++=I=+  
+                                                                       C         C              CCC C C   C C      C CCCCC +CCC     
+                                                                                                                           C        
 AIAAAAIAXAI=+=A==II=+IA+11+1 -=I=11+====IXIII==AI=II=I=+1AZZZ-M=+ZA=AA--X=1IAZ-MMMZZ-ZZ--ZM-X-ZXM==+--MZAXZ-MZZXII-AM-+=++"+"=ZXA=+ 
+                                                             C CC     CC      C     C  CC  C C   CCCCC     C         CCCCC+C+C      
+                                                                                                                          C C       
 X=+==IAAI==11AIAZZA====1-----1+1=+1+111+IZIAXI+==1-=AXAXA=ZXX++++A==IX--MZ-ZM-MM=MMMMZ--MM=MZ-MMM==+=--MMXA--ZZ-ZI==ZM-===++++Z=+Z1=
+                                                             CCCC     CC  C  C  C     CC  C  C   CCCCCC    CC  C      CCCCCCCC CC   
 A==IIIAA=1+=AZX-ZZIII++-11-1==1++++1--++===AAI=+=1-I--ZXAIZZZ=+++Z=IXZM====-MM===M--ZZMMMM==M-ZZ-==MMM--M-XAAMZ-ZZ+=AZ--M+++"+--M=XM
+               C                                    CC       CCCC      CCCCC  CCC CC      CC C  CCC   CC C     C      CC CCC+CCC    
+                                                                                                                            C       
 =IIIAI=I=+=IZZ--ZA=X=111+++1XA+++=++11111+=XAXXI=+1ZZ--XXX-MM=+M+M-----M==MZ--====--X-===M==M-ZZ-MMMMMM-MMM-AZ--ZII+1=XX-==+===-=M-=
+              CC                                     CC   C  CC C CCCCC CC  CCCCCCCC CCCC CC C  C      C   C  CC        CCCCCCCCC CC
 +=II=++===IXZ-M-ZX=+1+++==++XA+-+A++==++++=AZZXII=1ZZZZXZZM=+++++M==MMM==MMZZZ=M===X--M=====MZXZZZZ-MM--MM+M-XAMMXII=-+IX-XX-++++--=
+             C C                                           CCCCCC CC   CC     C CCC CC CCCCC       C  CC  C C            C  CCCCCCCC
 +===1-=II=AX-ZZ--A=1=I=++=+1II1 +I++=++1=IZZ-ZI++==IXZZXXZMM++++++MMZ=M-Z---ZXMMMM=MMMM=MMMMMZZZXAZ-ZM=MM=+MMM-AZ-ZA=1- =1IA-=+++-=M
+            C  CC                           C               CCCCCC   C C CCC      C    C           C  C  CC   C  C          CCCCCCC 
 ==--1=AIIAIAZIZ-ZXA===+ 1I+1+1 =I+11+++=II-Z-X+I=II=AZXZAA--M==+M==--++MMMZXZX-=M=M=M--MMM----ZZZZZZZM++M==+MMMZZ--ZX=1  1=ZZM=+"M+=
+               C                          C C             CC CCC CCCCCC       CC C C CC   CCCC        CC CCC     CC           CC+ CC
+                                                                                                                                C   
 =-  1=IIAAIIIAZZZZXAAII=II==+1-=I1-1=++AXZZ-XAAXAIA=IIIZAAZ-=-====MMM++=MMXA--Z+==M==-ZM-M-ZZZ--X-MZZ-MMM-MM=M-M-Z--ZAI=1 =Z--=++=+-
+                                           C               CCCCCCC   CCC    CC CCC CCC  C C   CC C   C   C  C C C CC        CCCCCCCC
 - -11+==III+IZ---ZXXAAAXXIA=+ 1+- -+==IXZ---ZXXZXAAAA=+XA+X-MZM==MM=-++MZ---MM-=++=+=MZ--MMM----ZZMMMMM-ZZ-Z--A-MI=M-ZXI=+=AZ-M==+=-
+              CCC                        CCC               C   CC  CCCC  CCC  CCCCCCC  CC   CCCC       C  C CC C    C        C CCCCC
  -1 -11+=I1-=ZZ--ZXZXXZZAAX=1--1--1IIAAXAZMMZZZZXA=I1I=I==A--ZM=MMMMM==ZZMM--M-=++=+++=-----MMZ-ZZZMM===MZMZ---Z-I -MZZAI==AAZMMMMMM
+               CC                                          CC  C     CC    CC CCCCCCCCCCCCCC   C     CCC    CCC C  C                
 1+1   11=I=1A-Z--ZXXXX-XXXA+-- -=I=+IXAAI-MMZXXZZXIA=IIIZ==+X-M=MM==M=-ZZ=M-M-MM==+"+"+=MMMMZXII==MMMM=+=-ZZZZZ---+AMM-X=IA+AXMM=MM-
+             C CC     C                  C               CCC C C  CC CC  C C C  CCC+C+CC              CCCC     CCC    C         C  C
+                                                                                   C C                                              
 -1-   11+=I=AZZZZZZZZZZXXA=1---1++=+IXAAA---ZZXAIXXAII=IZ+++MXM=M-M=M-ZZMMMMM-MM=M+"++++-Z--A+1I==--M=MM-MM-ZZ-=MZXIXMM-XIA==ZZ-M=--
+                                         CCC             CCC   C C C C       C  C C+CCCCC CC      CC C  C  C  CC       C       C CCC
+                                                                                   C                                                
 11-1--==+=AIXZZXZXZXXXXAAI=++1-11-==+AAAZ----ZXI=AXIAA=AZ==-=M-++MMMM-ZZ=M-MM-ZMM==+++++-AZ-X1 XAXXXZ--MZ-+MZ-MMMZAZI-MMZXAIIAXZMZMZ
+                                         CCCC            CCCC CCC    C  C C  C   CCCCCCCC  C         CC  CC  C       C              
 =11==++==AXXZXXXXXIZXIAIII==+---======IA--ZZZXZ=+XAI=AAXZZMZ+=XZ=----ZZMM=MMM-Z-Z-M=+====ZM=-=-=I+XAI--Z-X-MZZZZZZ=XAX-M=XAI1=XZ-ZX-
+                                        CC                  CC  CCCCC    C   C C C CCCCCC  CC        CC C C           C C       C  C
 ++=I=++=IXZZXXXAXXAZAXAA=+==11+1==IAI=IAZ-XXAXA+=XAA+IIZAAZXMXZ=MMZXZZXX=++++M---Z-====-=M-ZZ-I=1XZ==IZM---ZXX-XXX1=--=Z--ZI=IIAIII+
+                                         C                     C        CCCCC CCC CCCCCCC C  C          CCC   C         CC          
 ===1--+IAXZZZXA=AAXXAXA=1=I+-+I=+IAAIAAZ-M-XAA=+AXXIIIAXAXAAII-MM=XI=XXZ++=+==MM-XAZ-MMMMM-AZ--ZXZI==IIZ--MZZZ-ZZI+11 -1I--A=IIAA==+
+                                        C C                   C  C      CCCCCC  C   C     C  CC         CC    C          CC         
 II=- 1IIIIZXZXXXXXZZZXA++===1=I==AAAIAA-M-XAAXI+XI=+==AXXXII==AZZXA= =ZM==M=++=--I=+Z-Z----ZZ---ZZXI=I=X----ZZZZX==+  -  =ZZXA=AXI+=
+                                       C C                              CC CCCCCC    C CCCC  CCC        CCCC                        
 II===IXX=IXXX-ZZZ--XAAAAA++AI===IXI-IXAZ-ZA=IX=-+=AII-AXZXXI==IXI=AA+AXA-M==+=MM-XAXXXZZZZZZZZM-Z-ZA=1XZZ---ZXZZZA++  1  1IZAXXAAA=I
+             C   CC                     C                               C CCCC  C              C C       CCC                        
 =I=+IZ-ZAIXZZ-ZXXXXAIAAAA==AAA+1+I==IAIAXXXXXXI1+IAAI1=IAXZXI=AXZXAAXXZZM===+"+=M-ZZZXZZXXXAXZM-MMMXXXXZZ-M-Z----X=A=1- -==XMXZ-I===
+      C      C                                                           CCCC+CC C             C         C C CCCC              C    
+                                                                             C                                                      
 =IA=AZZXIIXXZZXXIAXA=IXAA=IAIA11=++AIAAZZZAZXXAIAAAAA+11 IAI=IAXZZZXZZ---===++=-M-MZZXZAX--ZX---M--ZZZZZZ-ZZZ--MMMZAAI+ =AXZMMZZM=++
+                                                                      CCCCCCCCCC C       CC  CCC CC      C   CC                     
 =XXXXXAAXAAXXXIAAAZZIAXAAAA=AI-1IIIXXXXXZZXXZZXZAAAAI1 - IXAIIIAXXXZ----M=+==MZAZ-MAA=A1AM=M---ZMM---ZXXXZ-ZZZMMMMM-M-XAXZ-M-++XZ=-=
+                                                                    CCCC CCCC    C        C CCC   CCC     C        C C    C CCC     
 IAAXZAIXXXAZXAAIIXAIAAXAXXX=I+-=AAZXZXXXXXZZXZXZXAIX+ +1IXZZAI+IAIX-MMM-+"++-ZXIXZM=-AA1+-=MMZ--ZM-XXZXIAAX-ZZZM-MM=M--ZZZ-=M=+A- 1=
+                                                                   C   CC+CCC            CC   CC  C        C    C  C CC   CC CC     
+                                                                         C                                                          
 AIAXXAAXAXAXAAAXAII++AZZXXAAA==IIIAXXXZ-ZZXAXXAI=AXXA+==AZXXAAAAI=IZ-MMM==++=ZXIXAZ-AAIXXM-MM-Z--ZZIZ-Z1X---M-Z-MMMMMZZ-M--M-ZZZI1  
+                                       C                            C   CCCCC      C      C  C CC    C   CCC C C       C CC C       
 AAAXAXXXAXZXXXXXI=+1+AZXXXIXXIAA==AZZXZZZZXXAAI=+IAXI+==IXXXXAA=+1=AZXZMM+"+M-ZXAZZ-ZA-M=+MM-ZX-ZAXAZ--IX-=M---M-=-MMZI=M-MZ--XA-Z1 
+                                                                         C+C C     C  C CC  C  C     CC  CC CCC CCC    C C  CC  C   
+                                                                          C                                                         
 AAAAAZZZXZ-ZXXAAI=1+=IXAAXXZAIXI=IXXXZXXZZZXII+=+IAX+++IAAAXAII=+==AXIZ-=+++-ZXXAXZ-M==+++=MZ-XZXAAAX-ZAAZM=Z-M-MMZ-MMX=---ZZZZ=+ZA1
+          C                                                            CCCCCC      C CCCCCC  C       C     C C C   C   CCCC         
 AXIIAZZZZ--ZXZIII+1=IIXAIAXZIXX=XIXXXXXAZZZXII+==IIA++1IAII===AA==IAIAZM+++=-ZXZZZZ-=+=+++=--XXX-AAX-M-M-AZM----MMMMMM===-Z=XZZI I++
+         CC                                                             CCCCC      CCCCCCCCCC   C   C C C   CCCC      CCCC          
 +=IAXZZXZZZXXZA=1-1=IIAAI+=IIAI=XXXZZZZAZZXXIA++==II===IA====+AI==++==Z=+"+=ZZXXZZZX-+=+=+=MZZZZXA=X-MM--II-=Z-M--MMMM-M==-I=I=-=1--
+                                                                       CC+CC        CCCCCCC         C  CC  C  C CC    C CCC         
+                                                                         C                                                          
 1=AXXZ-ZZ-ZZZXI1-1===I=II+ 1=I+=AAAXAZZXXII==I======II=AAIII++II1--1+=A=++=MXIZAXXZZZMMMZ-M-XXXXXXZZ-=M--+=ZX---M----Z-M==MZ=1- -111
+      C  C                                                             CCCC              C C        CC CC    CCC CCCC C CC          
 AAXZXZ-Z--ZZZXI1+++====II=-1+++=IXAA+AXI=+I=1=I==II+=IIXZAXA=1=A1+1+=IX-++M=-IZXXZZ-ZXM-AXZZZXAXXZZIXZ-ZX11X-M-M-ZZZZXM-M=MZ=    =1A
+      C CC                                                             CCC CC      C   C              C     C C C      C C          
 AAXAAXZ-XZZZXI=1- -+=IIAI===I==III=AAAI=++=11=+++=I+=IAAXXZZI=I=+1==+ZMM+====MM-ZXXX-Z-ZXAXZXXAIAAA=AZ=IX+IZM=MM-Z-ZZMMMMM-ZI   --11
+       C                                                                CCCCC  C    C C                      C  C C       C         
 XAZZZXZZZZAAI++- -++IAI=+++==IIIIIAAIIA=+1++++11+I=1+IAAIXXX===+-1-IA--=+===M=MMM-ZXZZXXZXX-ZAAAAAXXXZA--MM--++M---ZZ-M==M-XI--     
+                                                                     CCCCCCC C   C         C           CC  CCCC CCC  C CC C         
 XAZ-ZXZZZ-XA=+1  -11+==11--1+=I==III=XXI++===1=+=I+1+IAAXZXXIII+1=A-=M=+++==MMMMMMMAAXZAZZZ-ZXXXXXZMM-Z=M==MAM=--MM-ZM=+=M-A+       
+   C     C                                                         CC CCCCCC               C         C C CC   CCC  C  CCC C         
 XAX--ZZ-Z-XAI++1+++-11--    1==++II=IZXA===I===I==+++I==XZ-Z==I+=ZZ====+++=M---M---XIXZ--MZMMZXXX-==MM-=M=-Z=AX--MMM-M=++=M==   ---+
+   CC  C C                                                C        CCCCCCCC CCC CCC    CC        CCC  CC CC    CC   C CCCC          
 ZXZ-Z-XXXXZX=+=+I=+---        ++==+=IZZAAI==++===11-+I=IXZZ-X=I=XXIM===+=MMM--ZM----XZ==MM--M-ZXX===MM-MMMMAZAI--ZXAM==++"=X=-  1 +=
+   C C                                                     C        CCCCC   CC  CCCC  CC  CC C   CCC  C        CC    CCCC+C         
+                                                                                                                         C          
 ZZ-ZZZAI=AXX======1 1    -     - =+IIXXAAAA=1+=A++11==IIAXZAAIIX=MXZ-A-MM=M-X--------M++=M=-M---Z+=++=Z==MMZZAIXXZAZMM+++++-X+    +1
+  C                                                             C   C C  C C CCCCCCCC CCC CC CCC CCCCC CC             CCCCCC        
 ZZ-ZXA=I==AAIII++1 -+- -1+-      =+IIAAAAAI=+1+X=++=I1==AXXIIIIZ=MXXX1IX---ZXXZZZZX-ZM==M=MM---X-==+=-ZM==MZAAZAIXXAIA-MZ++MZI  --=1
+  C                                                             C       CCC        C  CC C  CCC CCCCCC  CC            C  CC         
 IXZXII+=++++=II==++II++1++--1+ 1-1-=IIAAAA=====AI===I1+IXIX===ZXZMXXA+AAXZZXIIAAAAXZ-==+M=MZZ--Z--A-M--MMMMZIAIIAXAZA+=ZXMXZA=  -II+
+                                                                                    CCCC C   CC CC C CC                             
 ++==+==11=  1==++=IAII++=-  +I=I+=+IIIXAI1++=AIII=II1++=XAA1=+Z=ZZ==A=--AZ=1-+IIIAZZM=++=-MM-M---+1=M--==MMA===+IAIII11-=XX-A   1AZA
+                                                               C      CC             CCCCC  C CCC    CCCC              CC  C        
    =III=1+11+=--1==I=III+- -==AAI==AIAXAXI==I=IIXXII++1+=I==IA-=-X1 ==IZZZ+  +=I1=XZM==++-MM-M--Z+A-++++=Z1====++=MX==-A==MZX+1==XZM
+                                                              CCC                    CCCCC  C CC   CCCCCC           CCC CC          
    -III==+1+=I111+1I=I=++11+IIIII=1+IXA=AI++==I=XX==1--+IIIIII--=Z=1+IIAXZ+  +II-=XX-M=++-MMZ-ZXI=ZM++++MA==1==++-====M+M=M-ZZAZ--ZM
+                                                              CCC                   C CCCC   C      CCCC         CCCCC   C C    CC  
 ---1====++=III====II====+-+=III=I=++=IAIAA=====+AXI=1  +=AIIIAZ==MZXAAX+=A1  +IIXZZZMM=+MI-=-X-I 1=M==++=ZII=+1=IM=MMMMZ-M=M----M===
+                                                               CC                     CC  CCC C     CCCCC         C     C C CCCC CCC
 =++==+++-=IXI==IIIAII=I=+-=AAAA++-1===XXXAAA==I=AXI=+--=III==I-++=MM---====+11=XZ---M=+=ZAMAMZ-=  IMM--+=A==I+IX-==--M-Z--MM--=M=++=
+                                                              CCCC  CCC          CCC CCC      C      CCCC       CCCCC C CC  CCC CCCC
 ==IAI=+++=IAIAAA==AIIIII+=IAAII=++=I=AXXXA==+IIA=Z==1====AI==X===MM=M--ZZXXAXIIXZZ-M==MZ-MMX+I+  1=ZMM-M==-=A--M-=M=MM-Z-M----MMM=++
+                                                C             CCC  C CC           C CC  C             C CCC  CC CC C  C C CCCC   CCC
 AAXXI=++=IAAAAAA++I==II=====II===IAXAIAXXA=+====ZAII==I=IMX1==M=MM==MZ--ZZXAXXIXXX-MM=MXM---I=1  1+I-M=---MAX=MMIZMM=MM-Z--MMX-MM===
+                                                               C  CC  CC          C  C   CCC        C CCCC   C      C  C CC   C  CCC
 I=AA++==IIXXAIAA=1IA=I=+++1++=+++IAAA==XII=1+==II====+IIX=A-==AX-==M-=IIIIAXZAAAAX-=M=MM+=M+M+1+-11A-XM-ZI--ZMMZZZMM+=M-ZMMMMZ-M=MMM
+                                                         C      CCC C             CC C  CC C        C  C  CC        CC C      C C   
 I+-=++=IAXXAAI=XXAIXI==++----++- +I=+=AZXII+=IIX===+-=IIAAI+===X==-ZI1+++=AXX+II=ZMM==-MM-=+Z+==+ 11==I-ZZMMZM-Z-Z=MMZ-XZ-M-MZ-MM-Z=
+                                                                CCC                 CCC  CCC           C      C C C   C  C C  C  C C
 A++II=+IIAXAIIIZZXXXAI++1--11-+1-1+11AZZXIA+-+++A===++=IIII+11=Z=MXI=1+1-=++=1=XXXXM-ZXX--ZMZIA=+11++==AZ-M-AZZZ-=MMMZ--Z--XM--M---M
+                                                                C                   C   CC               C C    CC    CC CC  CC CCC 
 XIIAIIIAAXXA=IAZXXXXA=++++++1-+1+11+1AXZI=I+--1=-A=+11==I=+- -=XMZI=11+1-I+ +IAZXZX=ZI-1XZ-Z-AA=I=1-1=+IIXM-IXXZ--MM---ZZMZZ----Z-MM
+                                                C                                  C      C C              C    CC  CCC     CCCC C  
 XAAA++IXAXXAAXXZAIIXI=+++===+=+----++=AXXI=+1-1+II=1-1++==1111=XXI====I=AI=-+AZZ-=-M-I 1AZZ-MAIIIX+--++I=ZMM-AAZM-MM-Z---MZZMZZZZZ-M
+                                                                                CCC C      C                C    C  C CCC         C 
 ZZX==I+AAAXXXZZXI=II+=I+=AAIII+--- 1+=IAII=++-++ ---   +I=1+=+I1I=I===AA+=1 =XZZM=-X--XAXXZZMA==1++++XIIAZ-ZZ=AZZMM--ZZZZ=-Z-Z-Z=ZZ-
+                                                                                 CC CC                    C        CC     C C C    C
 AX+==AAAXXXZZXAA==+==IAAIIAAAI=I==11+==IA=+++-+1- ---  1==1+=+=1=+II===AA===+1X-M-===-Z-XXZZ--II1+IIIXXIA==AZ=AXAMM-MMZ-Z=--ZZ---X-Z
+                                                                               C CCCCC C    CC                     C   C  CC  CCC C 
 IX+I=AZIAXZZXXAAI1==IIAXXAAXAIIXI=+ 1=I=I=1111++1+++1111-11++++++1==IIAZMA=11-A-MZMMM-M-ZZZ-MM--=IIA===III=IIIIXZZ-=MMZZZX-Z-M--MX-Z
+                                                                               C     C C   C  CC                  CC      C C CC  C 
 AAII=IXIAXXXXXIA=-1IIAXXZXAIAAIXI=1 1II==++11+==+II==II=11--1++11-1=IAAA=-=1+ZMM-MM-=-M-X+X=M==M1-X===+=A1I=11==X---MMZZZ--ZZMZZ-A-Z
+                                                                        CC      C  CCC C   C CC  C               CCC     CC     C C 
 XXIAIIAIZZZZAXA=11=IAZXXZZZI=I==+1-1-+===11I====I=IIIIAAI11 11   -+I=AIAMM=+ZM=MMM-Z-M--XX-====+AMXA====II=+- I+1IZ-MMZAZ--ZAZ--ZA-M
+                                                                              C   C C CC  CCCCCC                   C     CC   CC  C 
 XZXAAAIXZXAI=AI--=+IAXZXZ-ZAAXAA===++=IA=++IIIIIIIAXIAIII+1 --   -=I==IIIAAX-M=+=M-ZZMMA-Z-M++MMA=A=X=+--1 1=+1IA-AZZMZXZ--ZZXZ-ZXZM
+                         C                                                  C CCC C     C C CC     C                     CC    C    
 AZZXAAAAIIA=+==-1==AAZZXZM-ZZZXXA==++IAIIIIIAAAI=IIAAAAII=1-111  1IIIIIAI=M=-Z++=--ZZZZXZXZM+===MZZMZ11    -+=1=A-==IA-XAZZXXXX-ZXXM
+                          C                                                CC CCCCC         CCCC                      C        C    
 Z-ZXXXI===I===II=++IIIXZ---ZXXXA+==+=AA1XAXAAAAXIAAIAXXA==++-++ -++II==AAIXMM-=+MZMZXZXZZ-M=+===+==MX+=+ - -1I+=Z11==+XAIIAI1+=-ZAZM
+ C                      CCC                                                  CCC         C CCCCCCCC                            C    
 Z-M-ZXIII=+=A====1+==1IZZZXA=AA=+III=IA+ZAXAAXXAIXXAIAXIIAI=+==---+==I=I=XAZ+==ZZZZXZ-AZX=+"+++==+=AZ+X= 1+ -AZ+I+-====X+XA=1-1Z=A-M
+ C C                                                                        CCC      C   CC+CCCCCCC                             C C 
+                                                                                           C                                        
 AZ-ZAI11IAI=II==+-+I==IIAIII=A=+1IA====1IAXXXXXAIIAIAAXXIAI====1- 1+=A+=IIAIA-+MZM-A--XZZM+""=Z-Z==Z=1II++-  ++--1 --+1AZZAI=-I-=X--
+  C                                                                          CC   C CC    C++C C CC                            CC CC
+                                                                                           CC                                       
 IIAAAI=+IXAIII1++-+I==+=IAAA=II-1IX=II11IAZZXXXA=IIIIIZXAA==+=+11-=+IXI=I=A=1ZM-Z-X+ZZZXZZ=+"+M-XZZZ=+++-1-+=A=+ ----1+I--ZA+1=IXZZZ
+                                                                               C C        CC+C C                        CC          
+                                                                                            C                                       
 I=AXZAI=IXXAA=11-1+=I=+=I=II++I1=AAI=I-+AXXZZXA1=IIIIIIAXZI++++1+-+II=AIIAAA=ZXXIXI=AIXXX-M=++=MAAXAA1I=-+==I=I=---1-++=ZZZA+++IZZZZ
+                                                                                         C CCCC                                     
 X=AXXAA==AAAA++---+1I=+=IXI11AA+IXAIII==XAAXXXI=II=IAA==AA+-+1=====AI =I=IXAIIXXIX=+11IZA-M=+=+MZXZII1=I=I=II=I=11++1+==IZZ====ZMZZZ
+                                                                                         C CCCC                                     
 ZA=I==AI=+===1 --11-111=IA==IA=+IAA=+==+AXZZXX=IIIIIII=+=+1-+++===I==IAXIIAIIX-AAI1++1=XX-MM-MMMXZZ-X+IIIII=====+1=+1+=I=XA1++XZ--A-
+                                                                              C          C  C      C                            CC C
 ZXI==II=+-11--  -++-1- -==+=I=-1=II- ++=IXZXAAAIIII==++1+1--1+1+=+==IAAAI====AXAAI- ++IAXZZZX-ZXXZXZA=I=IA=A====+-=+1=AAIA=1 1AIX-Z-
+                                                                                             C                                   C C
 ZXAI==+1-  -     1=11+1 1++II=11+II11++IIAXIII=I=II=+11-1111++++1-IIIAI===++=AII==+-11=XXXZX--X=XMMMMMXIIIAA===I=+=+1=AAAZ11-+I--MM-
+                                                                                            CC                                 CC  C
 1A==++-          -+11=+ +=+=I==--XA1+==IXXA+==++++=+=+11+++=1+1+++IIIAI==+--+=1I=1A==1IIZZAXXAX=-+=++MMA+=AAXAI=+-+=+==AIZ++-+IZMM==
+                                                                                                CCCCC                             CC
 II===+1-         1==+1 1=AI=++1==AA=-I=IAZXAXAA=+-11++-+=+1+1-1++==IIII==+1-111A++11==IA-XZXZZ-XXM==-Z-I++IAAXA=+-====+I====1 -AX---
+                                                                                        C     C   CCC C                          CCC
 I=+1+11         1+++=+1+=I+=+11+=I==1===AXZZZXA==+1--- 1++++--=I===1=II+-+1 -- 1---1==++=AA-M-MZXA-M-AX=++=IAI===+=+1==IXXAA+ -11ZZZ
+                                                                                           C C    C C                               
 ==+11 -         ++=+=+11+=1+1-1+===IAI=IAIAAXAIII=-     +==+11+IIA=1=II=1+- --     1+11-1=IX-Z-XI=-=A1==1-+AIA1==II+=I=X--ZX=IAIA-XZ
+                                                                                            C C   CC                    CC       C  
 I=1++1--  --    -1==++11+11++++II=IAI==AI-IAXI++AI1--   1++111+=IAAI===I+1   11 -   -  1+=X-M--MIA-MX11=+ -=AII=I==+AIA-=M-ZZXZ-M-AZ
+                                                                                           C CC   C                    CC C    C C  
 =I===++1111--1 --1IAI==+++-1+=IAAAAAIIIAI=AXAAI+==11-   11 -1+IAAIIAIII=+1- -1         1===IX--ZIA-=MA1+=11=IAA=II==IX--=-M==MZMM-A-
+                                                                                             CC   CC                  CCCC CC    C C
 II=+===+1++11+- -1==III==+--+=IZAXII==IX=IXAAA=1+I=+---+1  1++=II==II====+1+I=-         -11==A=AZXXMMZ=+=1AI=IA+=AIII-M--M===-X---Z-
+                                                                                                                     C CC CCCC CCC C
 I==+====+==11++-1+++=IIII=-1=AIAAAAI==IA=AZAII+==AI=+11==111+1+=++++====IA11=+1   -     -1+=+I+=M-XI-XXXZAAAIIAA=IIIIX-ZX==MM-AXXZMM
+                                                                                                 C  C                 C  CC  C      
 I=++=III==+1++=+1==+=IIIIA=++IIIAXA+-=IA+AX=+===II=I++11+++=++1----11+=AIA+--1--   ---  -+=+=1IZZZZAIAZXZ-XI=1IA=III=X-XI==-M-AZXZMZ
+                                                                                                         C            C  CCC C      
 I===AAZAAAIII==- ++==I=III=++=IA=XXI+=XA=AA==III=II+=+1111+AI++1-   11+IAI+-++-1    +=+IAXA=+1IAAZZZ==XX--1XA1==IIIIAZZZX-++=MXZZ--Z
+                                                                                                        CC               CCCC    CC 
 IIIIAAXZXXAAX=I=1=+===+==I=+==IAIAAA1=ZXAXA+IAII====++++1+=AI=+1-   -++=I==1==+=+11+IXAXX=-==+1=1ZM-ZAZZ-MI=A+1+IAI=IZZZ--++=MZZM-ZX
+                                                                                         CC        C    C               CCCCC    C  
 II==IAXXIIAZZII====II+=1-+1=IAXXXIIX=IXIXXXIIIIIIIAI=+1++==II=1-    -++IIIA-IXXI=I=IZAZMXZZXI==AIX---ZXZ--X+A=I=IXI=+X---==+--Z=AZXZ
+                                                                                                  CCC   CC            CCCCCCCC      
 I====I+=IAXZXAI--IAAAII+ -+=AAXZXXIII=AIXAAAA==II=AIA==I=I=I=+---   -=+XZZZAXM=XXAA=-ZZ-ZXX-XIIZZM--A1+XZZ-XAIXI=AI=IXXAZ=++M-Z+I-IZ
+                                                                              C     C  C   C      CC      C              CCC C   C  
 =I=+--1=IAXXXII==AAII=+--++1=IAAXAAIIII=XXZZXAI===IIAIIA=AI=+++-111=++=----ZZ----ZAIIXM=MM=ZAZXMZA-IX+1IAZ-Z=IIIIAI1=+IIAZM=MMX+II1A
+                                                                       CCCC  CCCC      C  C               C                C        
 =I==--+IAIAXXIAI=I+++111==1-=+IAAAA=IAXAAAZZZAAA=III=IAA=II==II=I=====A--ZMZZ-IZZZXX-ZM=+MMMZMZ--X=XZXA-ZZZZ==I=II=11==+IA---MX==+-I
+                                                                       CC    C      C  CC      CC      C                  CCC       
 =++=++=AAAAXXAII++   -1+=++1I=IAAAAIAXXXIXXXZAAAIAI==IAI-1+1=IIA=IAIIAXXAZZZXXZ-ZX-ZM--ZZM-=-M-ZM+==M--MMZXIIAAAI=+=====AXX-MMZII=++
+                                                                               C  C  CC   CCC C  CCC CC                    C        
 ==+===AAAAXAA=I=+1  11-1++11==+=AA==XXIXAXZXXZAXZM-AAZAI+1---==AI=IIIII==II=AI+IAAZZ-MMMZZMZ-=MXMM==M-AZZX-AXAX=I1=AI=+1+=XX-ZX=AI+1
+                                                  C                                 C       CC    CC C    C                 C       
 +=====IXXXAIII=11--1++++======II=AAIXXAXZXX-XAXZ-MMZZMZIIII+=I=AII1A===1I+++IXIAXM-M--M-XZZIAZ==ZZZM=---ZZ-MIIXI=+XI=111-1=IXZXA+=+-
+                                           C    C                                 C CC C      CC    CCCC  C                         
 =++++=IAAAXAI=+++ -+=++=III=+=I=IXXAXXXXZZZZXAIZ-MZZ-MMXZZXI=I=IXA===1+ =+-+=AZ-XZXMM-M-IZ--Z-MM-XZZ-MZMMMM+MMZI==XXA=-  1+=XXZZ=-1-
+                                                C   C                          C     C C  CC C  C   C      C                        
 =+1==AIAAIIA=+11++1=+====I====+1+XI=AAAZ--ZZXAIXXXZ-==+-M=MZXI=IIA===111+--++=IZXAZ==MZZXZM=M--===MMZ--Z-M-Z-=ZI+IIIX=-    =IAAZ=1-1
+                                        CC         CCCCC C                         CC      C CCCCC   CC C C CC                      
 ==+=IAAIII=I+1+++=+===II=+=II+11+I==AAXXXZZZXIAMM====+====MMZXI==AA=XAXA===+IXZAIXA==MXZZ-XMMM-ZX===+---ZZM-I--IIX=II=1 111IAI=A1-1-
+                                                 CCCCCCCCC                         CC    C    C  CCCCCCC   C CC                     
 +++===IAIIII+-+==I=+I+IA++==+==1+==1=AXAXXZXAIZ====M-====ZM-ZAIAXAXXA-ZXXIA+=Z-M--AAZZZ-Z-ZZ=MM-ZAM===M=M=--=-ZIXXAAAI+1=1==XA==1---
+                                               CCCC CCCCC  C         C        C CC     C C  C  C   CCC C CCCCC                      
 1+==1+=II=+I+1+++===I=IA++II===+==+-1AAIXXZZZZ-MM=MM-====MMAAI=X--XXAZXAIAZAIXXM=ZAX-XM==---=MM-M-ZMM=MM=M--+=-ZXZZAXIXAIZZ=A=I++1 -
+                                              C  C  CCCCC       CC              C   C  CCCCCC  C C   C  C CCCCC                     
 11++11+=I====+=11+==III=++AIII=+==++=AA=IA---Z---MMM-=====+XAI+IZ=-IAI=AAXM=M--ZZXX-M=+==MMMMZZZM=M--M+M="+MM++=Z=ZZAZM--M-XII=11+=-
+                                          CCC CCC   CCCCCCC      CC        C CC    C CCCC        C CC C C+C  CCC       CC C         
+                                                                                                         C                          
 --1-- -+==I=+=+==++===I+++=AIX=++=A+=AI==A--ZZXZZ-MM==++=+"-A=++AMA=ZAIIIZ+===M-ZZXZMM-==+MZAAI--=--ZAZMM"-=M=++XZ=XAZMMMMZAXZ==+I=1
+                                          CC     C  CCCCCC+C              CCCC C      CCCC      CCCC     +.C CCC                    
+                                                          C                                              C'                         
+                                                                                                          X                         
+                                                                                                          C                         
 +1-- - -11==+====+1==II=+++=II==IIM-A-MM-XM+MMIIX-MMM==M=-MZXII=-++M-ZAAXZMMZXZZ---ZZI-+ZMMMA =AA-ZZZAAZ-=""+MM+MZAIIAZ-=+AZXX=====+
+                                   C C  C  C     C   CC CC      CCC C           CCC   CC         C      CC++C  C       CCC          
+                                                                                                          CC                        
 ==1- --11-1++===1-++====1+++====AIZ--=+""++"""I+ZMMMMMM-==MXXXXX=++=--ZZAA-MI=X-==-ZX-==--+=-XXZZXZ-MZXAX-++"+M+=-XXI=ZXZMAMZA===I=I
+                                   CCCC++CC+++         CCC      CCCCCC    C    CCCC  CCCCCCCC      C     CCC+C CCC                  
+                                       CC  CCC                                                              C                       
 =++1- -   -++==++1+1++=1+=IIA=+=IIAXX=""""""""XIZMMMM---MMMAIX-ZM==MMM==ZAZ-A=I-==-XZ-MM-M==MMZXIAZMMZZXZZ-M-+=""MZX=A-ZX--+=XZX==IZ
+                                     C++++++++       CCC      C  CC   CC   C   CCCC  C  C CC              C CCC++     C  CCCC       
+                                      CCCCCCCC                                                                 CC                   
 11--- -   -1+++1+=++11+=IIAAAI=+=I==A+""""""""-ZXZM=-ZZXZM==I-A+M==Z-=-=-AAMMZ=MM++MZM-MMZ===M-I=IAZZZXIZZ-M++"++=-XXZM=ZIZ="M=-XAX=
+                                     C++++++++C    CC     C  C C CC CCCCC        CC   C   CCC C           C CC+CCCC    C   C+ CC   C
+                                      CCCCCCCC                                                                C             C       
 -- -- -- -1++1=++===- 1=I=I==II==A=++=""""""""MZ--M-AXZ--ZA+XM="="+M-M-ZZZX-MZZM=+---ZZZZXX--MX+IIAAXXXAAZ-MM"-++=--MX-=MZX=+MM-ZZZ-
+                                     C++++++++  CC C   CC     C+C+C C C    C    CCCCC      CC             C  +CCCCCC  CC   CC  C   C
+                                      CCCCCCCC                 C C                                           C                      
 1       -11+11+1+=I=1 1=====IAA=III==="""""""+=Z-M-MXIAZ-XI=XZZ++"+++=MXX-MZ=MM==+MZZM-ZZAAAZZZZII-M=M-M-==+==--MMMMMXX-ZZZ+=ZM-M-=M
+                                     C+++++++CC C C     C      CC+CCCC   C  C  CCC    C           C C C CCCCCCCC       C   CC  C CC 
+                                      CCCCCCC                    C                                                                  
 1 --   --- -1-++=III===I=I=IAAA=IAAIIM"""""""++--=-ZI=IXM-AXZZ-+MM=""++-XZ-Z++==MM++=+===MXZZZZMMM+"++M==+++"+MZXXZM=-IXXZ-++--ZMM=Z
+                                      +++++++CCCCCC      C    CC  C++CCC  C CCCC  CCCCCCC         C+CC CCCCC+C      CC    CCCCC   C 
+                                      CCCCCCC                      CC                              C        C                       
 -1-    -1 ----1+=II+==I=II=AIIII=IAXXZMM-===="MAAXIAAAXX=XIIAZ-Z--M++=-XZ-Z-++==++"-"M==++=-XZ-M==MMZ++-=+"+-"=XX=+X-MZ+MX-==ZZZM-MM
+                                        CCCCC+          C     C CC CCCC  C CCCCCCC+.+ CCCCCC  C CC   CCCCC+C.+C     C  C  CCC    C  
+                                             C                                    C'C                     C 'C                      
+                                                                                   X                        X                       
+                                                                                   C                        C                       
 --       1--++1-+I=IA=IIAXIIAAA=IIAXXXX=IAXZAAXIAXAZZA-XM-IAIIZ-MM==M=XAX-ZAM=M==+""-+MMMM--ZIXM++"++==----=+-"-AIAI+Z-+=ZMMMXIX-Z-Z
+                                                      C  C     C  CC C   C   C CCC++.C    CC    CC+CCCCCC..CC.+C      CCC       C C 
+                                                                                  CC'             C      ''  'C                     
+                                                                                    X                    XX  X                      
+                                                                                    C                    CC  C                      
 -        - -1++11+IAZII=AAIIXAI=IIAAAZAI=AA=11IIXXAAA=XZZA=II+AXZMM-ZXZAAZZZZ-MZ-""--"+==-ZXAAZ-=+"++==++"-"="-"+MMZXX-+=M=---IZ-ZAA
+                                                                   C         C  C++..+CCCC     CCC+CCCCCCC.+C+.+C     CCC CCCC  C   
+                                                                                 CC''C            C      B'C C'C                    
+                                                                                   XX                    HX   X                     
+                                                                                   CC                    XC   C                     
 -   ---    -+++=1+IAAAAAI+IXXAA==A==IXAAAI=+  ==AAI=+1+AII=II=AZZ--Z-ZXAXZZZAA+M=""-"+++==MZAZ-M-M++++M=M""""-+"=M=-ZXZ--M=M--XMZZA=
+                                                                 CC C         C C++.+CCCCC    C C CCCC C +CCC.C+C CC   CC C CC      
+                                                                                 CC'C                    CBBB' C                    
+                                                                                   X                      HHHX                      
+                                                                                   C                      XXXC                      
 1 -111-     1++=++=IIAZAAIAAIIA=+--1-AZXAAI1-1-1AXXII1+1==+I==IXXZXXXZZZ-ZZAZ+"=""""+"++=-XA--MZZXAM+M=+MX"""-++=-XZZZZX-====-Z=--AX
+                                                                        C    C+C++++C+CCCC  CC      C CC  +C+.CCCC      CCCCCC CCC  
+                                                                              C CCCC C                    CBC'                      
+                                                                                                           H X                      
+                                                                                                           X C                      
 1111-1-     -1++=+1IAAAXXXAAAI=+1  - =AIIXAII+1+AXZXX====+1=IIIAAXXXXZXAZMMAAM=++"+==+""==ZA-MMM==ZAZ-XX-XZ"""+MM-XZ-ZM+"MM-M==MMZZZ
+                                                                              CCC+CCCC++CC  C   CC   C  C  +++C  C  C  C+  C CC     
+                                                                                 C    CC                   CCC          C           
 1+=1+-1--  --1+1++ 1IAXAAII==+1-    -=AAIXZXX=1+XZ-XA=IXIA==I=I=IAZA+IIIA----==M===-Z=++"=M-Z-MMM=MZAXAXXXXZZM-ZXXXXZZM++MMZ-====---
+                                                  C                      CCCCCC CCCC CCC+C C C   C            C        CC   CCCCCCCC
+                                                                                        C                                           
 ==I== -1-    -+-+1--1IAI=+11--     -1IXXZZ-MZA+1AZMMZIIX=A=+==AIIXXXIIIXXZ-Z-+==-M-+I-M+""M-ZZMM-Z-ZIXZ---M-X-Z-XXAXZ-M==M=====MMZZ-
+                                          C                               C CCCCC C  C C++ C    C C    CCC C C C     C CC CCCCC    C
+                                                                                        CC                                          
 =++I=  1-   ---1=====II=+I+1-      -11IIAM=-XI=-=AZZ-AA=I+1 ++=++=XXAA=IX-MM-MMMZ-M=M-=="=M-Z-ZZ-AAXXZ--=-Z-ZZZXZXXXX-M--=++---ZXXZZ
+                                          CC        C                    C  C    C C CCC+C C C  C     CCCC C         C CCCCCCCC     
+                                                                                        C                                           
 AA==+1---++1+--+1=IAI=XXXAI+1--    1===+A-MZ==++==AIX=II111--++- 1IAIIIXZ---MMMMZM=+=M-M+MXXXZ-MMAXZM++===M-ZZ-ZZXAXXM==MMXII=+==AAA
+                                         C                               CCC      CCC C C     C      CCCCC C  C       CC            
 ====+++=1=AA=11==11=A---ZAI==+=-  -==IIAAAI=======AAXAA=+1-  -1+=IAA=IA-M=M--Z-MXXM--ZXAXXXAAXZ--XZX-=""++=M-X-XXXXA-==+MMZ-++-=+1++
+                     CCC                                               C C CC C    CC          CC   CC++CCC C C     CCCC            
+                                                                                                      CC                            
 IIII=+=I+=IAI=+IA=+A-=MMZXA=+AA+11=I=IIAI+IAX++=I=IAXAI=+-   11+IAAI=AX-=====Z-==ZZXZ=MZXZM-ZXXXZXAXZ-=M--ZAAXXZXXZZZM---MA+1- ---  
+                    CC                                                 CCCCCC CCC    C     C         CC CC            CCC           
 =+AIA=AA==III=IZXX=++=MM-MZ==AAA====IAA=11=I=+1--+=IXA++-1++-111IAAAAIZXZM-M-ZMM=-MM+"==XXZ---AAAAAZMM--ZAAAI=IAIZZXXX-A+I111-      
+                  CCCC  C                                                 C C   CC  C+CC   CCC        CC              C             
+                                                                                     C                                              
  1AXXAAAAIIAAAXXX="-+-M--M-ZM-XA==I==IA=IA=1-1+ +=AAAAAAIAA=1+==+AAZ-Z-ZXZZ-Z-+++"-"===-ZMZZ-ZAIIAAIIXXAAXZXAIAIAIAIXAI+--1-        
+                 C+.CC CC C  C                                      C C    C CCCC+.+CCCC    C                                       
+                  C'                                                             C'C                                                
+                   X                                                              X                                                 
+                   C                                                              C                                                 
  1=AXZAZZZXAXXXXA-+M--ZZZ-Z--XAAI==++=A==++-   +=+AIXXXXXXA======AAZZXXZAIXXZM=++++=M-==+=-MMMZXAI+==I==IXZXZAAAAXZXXXA+-     ---   
+                 CC CC   C CC                                                 CCCCCC CCCCCC                                         
 ===IAZX---ZAZZZXAZAIIXZ-Z-MMZA=AXAIIIAA==1I1 - +=1=AXZXXXXAI=++II=IA=IAAII=A--++=++MMMM-===M=M-XAI==IIAI=AAZZZAXXZ---ZA+-  -  -1-   
+       CCC             C C                                                  CCCCCCC    CCCC C C                   CCC               
 AA=XZ--Z-M-ZZZZXXXAAIIAZX---AAIAXXZZXXAA==I+1- 1+-=AXZAAAIIAI+- =IXZXZ-ZZAAZXM"++"++=+==MM-ZZXX-AXAIAAXA+IXXZ-MZ-MZXAZXA+  -  ---   
+     CC C C              CCC                                          C       +CC+CCCCCC  C    C             C  C                   
+                                                                              C  C                                                  
 ZXIXZX--M==M--ZZXXX--XXXZZXI=II=XZZZ-XAAAIAI+  +==IAAAX==IAXII+-+IZ-M=++=XZMM+"""-""+++M-ZA=IXXA=IAX-ZXZXAAAXZZXXXXX--ZXI1-     1---
+      CC CC CC     CC               C                              C CCCC    C+++.++CCC C           C               CC              
+                                                                              CCC'CC                                                
+                                                                                 X                                                  
+                                                                                 C                                                  
 XXAIIAZM=++==++=Z-Z--XAXZXZA+IXAZZ-Z-XIXZXXXI-+===AAIII-+AAI=XAAIAX-=+++==++=+""""""+M---XZXXXXXIAXXZAXXZXXAIAAAIXZ-ZZ--AI+    -++++
+        CCCCCCCC C CC             C C                              CCCCCCCCCCC++++++C CCC                          C  CC            
+                                                                              CCCCCC                                                
 XAA=+=X-+====""=MMMM-----ZZZXIAA-MM-ZZXXZZXXI==I=1IXAAIIIZZXIXXZXAAIM+""++"+++"""""++M--ZXXXAA=I====AZAXXXAXXAA=IXZ-XX-ZZXI11 -1=+1=
+       CCCCCC++C    CCCCC       C  C                                 C++CC+CCC+++++CC CC                           C  C             
+             CC                                                       CC  C   CCCCC                                                 
 AI=+11I-==-M===-Z--M-=MM--ZAZZXAZ++-ZZZZAAZXAIIA=+AZXAAAIX-XAIAZZXZM==+"+++==+"++"+++M-ZXXXXI=I=++++=XAAAAAAAXXAXXZZAII-ZXA+11+1==-1
+       CCCC CCCC CC CC  CC       CCC                      C         CCC+CCCCCC+CC+CCC C                                C            
+                                                                       C      C  C                                                  
 AII+1+=IZM-MMMM-Z=MMZM====M--ZZ-=++++-ZZZ-XXXAII==AXAAX--Z--ZM--MZ=+""-+M+=====+++=MMMM+-MM--ZZXXAI+IAXAZM-XI=AAAAXI=++AX=++-+=+1===
+          C    C C    CCCC CC  CCCCCCC   C             CC CC  CC  CC++.C CCCCCCCCCC    CC  CC             C                         
+                                                                    CC'                                                             
+                                                                      X                                                             
+                                                                      C                                                             
 A==11+1IAXMMM-M-Z=+=+==+"++=MMMM=MM+"+--XXXAAAII==IAA-----MMM======+"-"+====M=M=M----M==-MMZ-ZXAXXX==IIIX-ZAX=XIAAXA=+=I==1===I+-AXI
+             C C CCCCCCC+CCC    C  C+CCC             CCCCC   CCCCCCC+.+CCCCC C C CCCC CCC   C            C                          
+                        C           C                               C'C                                                             
+                                                                     X                                                              
+                                                                     C                                                              
 II+1-I-=Z-MM--M--==+"-"--""+++=MM-Z-+"++-ZXAXAXXZ--X---MZM==++++++""-"+MM--M=MMMMM===MM=--M--ZXAAAI==+IAZZZAXAXAXAAI=IA==++=II=1 1==
+      CC C  CC CCCCC+.+..++CCCC  C CC+CCC        CC CCC   CCCCCCCC++.+C  CC C     CCC  CCC CC                                       
+                    C'C''CC          C                            CC'C                                                              
+                     X XX                                           X                                                               
+                     C CC                                           C                                                               
 AI=++++-"==MM=MMM=+""""-----"+==MM--=""""+=-M======MZ--M--===-="+"-""=MMMM=+==MM-MMZM==MMM--XAAIAI==+=IZZXI==IIIII==+II=I=1+IA=- --1
+      C.+CC  C   CC++++.....+CCC  CCC++++CCC CCCCCC  CC CCCCCCC+C+.++C    CCCC  C    CC   CC                                        
+       'C          CCCC'''''C        CCCC                      C C'CC                                                               
+       X               XXXXX                                      X                                                                 
+       C               CCCCC                                      C                                                                 
 XAAIA=Z--+=MM+++M=+"-""-----""++=MMM++""""++++=++++"ZM=MZZXX-=++="--+===-M====+++=MMM--ZZMZXXAAII=AAIIXAI==I=IIII+AAII=IAI+1===--  1
+       ..CC  CCC CC+.++.....++CCC   CC++++CCCCCCCCC+  C     CCCCC+..CCCCC CCCCCCCC   CC                                             
+       ''          C'CC'''''CC        CCCC         C             C''                                                                
+       XX           X  XXXXX                                      XX                                                                
+       CC           C  CCCCC                                      CC                                                                
 XXXIIAIM=="===M==+""--------"""+====+"+"""++"+++=+"+Z-MM--X-="+"""-"+=-=--M++=""+=M--ZZZZ-XAXAIIXXXXIAXII==+===I==AIIIIIAI-1+1=1++1+
+        CC+CCC CCC++........+++CCCCCC+C+++CC+CCCCC+C C  CC CC+C+++.+CCCCCC CCC++CC CC    C                                          
+          C       CC''''''''CCC      C CCC  C     C          C CCC'C          CC                                                    
+                    XXXXXXXX                                      X                                                                 
+                    CCCCCCCC                                      C                                                                 
 ZZZAIAXZM+-+++MM=M+++"---""+""""+===+++++++++=+++"-"-==-M==+=+"--+-""+MMM==+++"++=M-Z-ZZZXZZXIIII=AI=IAI=+==IIXA==IIIII==+--11====I=
+         C.CCC  C CCC+...++C++++CCCCCCCCCCCCCCCCC+.+CCCC CCCCC+..C.++C   CCCCC+CCC C C                                              
+          '          C'''CC CCCC                 C'C          C'' 'CC         C                                                     
+          X           XXX                         X            XX X                                                                 
+          C           CCC                         C            CC C                                                                 
 Z-ZZXXZXM+--"+MZZ-MMM="---"+"+""++MM==+=M=====+M+"-"+++--Z=++""--"---"++M=+M=++++===MMMZAAZZIZXII-=-AIAX=+=AAXZZA=I=+=I==11111==ZA1=
+ C       C..+C   C   C+...+C+C++CC  CCCC CCCCCC C+.+CCCCC CCC++..+...+CC CC CCCCCCCC             CCC                                
+          ''C         C'''C C CC                 C'C         CC''C'''C                                                              
+          XX           XXX                        X            XX XXX                                                               
+          CC           CCC                        C            CC CCC                                                               
 XM=-M+=M=+"--+=-ZZ-=M++""-"+++++++=M========++++=="""MMZ-M=""-"""""+--"+==M++==+++==MM-ZXZ-ZX+=AZ-=MX===I==AXZZXIXXIIIZIXXAI1=IX-X=I
+  CC CC CC+..CCC  CC CC++.+CCCCCCCC CCCCCCCCCCCCCC+++   C C++.+++++C..+CCC CCCCCCCCC  C   C      CC                             C   
+          C''          CC'C                       CCC      CC'CCCCC ''C                                                             
+           XX            X                                   X      XX                                                              
+           CC            C                                   C      CC                                                              
 X+=A-+"="++""==MXX-=MM=++"""++++++=M=M========+=MMM+++ZAZM=++""++"++++++M=+++=========MX-==-I=++AAXZI==AI=IAAAAAIXAAAIAIXXAA=1AXAXI=
+ CC CC+C+CC++CC   CC  CCC+++CCCCCCC C CCCCCCCCCC   CCC    CCC++CC+CCCCCC CCCCCCCCCCCCC  CCCC                                        
+      C C  CC            CCC                                 CC  C                                                                  
 -"=Z=++-""+=MZ==XAZ=M-==+"""+++++++=M===M==MMM==+M-===ZAAZ-M+=+=MM+"++=XA="""+MM==M=++=M=++MXI+=1AZXZ=+==IAII++==XIXAI+=AAX=I==ZIAAA
+C+C CCCC++CC  CC   C CCCC+++CCCCCCCC CCC CC   CCC CCCC    C CCCC  C+CCC  C+++C  CC CCCC CCC                                         
+ C      CC               CCC                                       C      CCC                                                       
 M---++-Z++=MZIZ-ZXM=M====+++++++++++===M-MM--ZZ-M--M=M==ZZZX="-"+=++""M++-M=+"++"""+"+=M=+=-XXX=+ZX+=1-=IA+=AI++=+=AA==AAAXAZAIA+=-Z
+ CCCCCC CCC    C   C CCCCCCCCCCCCCCCCCC C  CC  C CC C CC    C+.+CCCC++   C CC+CC+++C+CC CCCC                                      C 
+                                                             C'C    CC       C  CCC C                                               
+                                                              X                                                                     
+                                                              C                                                                     
 XXZ-=M=MMMZMM---ZM=+++++=Z==+==++++++=M-ZXZZXXZ-M====-++=ZXZ=++++==M+=-ZAXZ--""""""""+=======XZ+1-XXA11+++=IXI+=1-1====XXXZXAXXA=AZ-
+   CC C      CCC  CCCCCCC CCCCCCCCCCCC C       C CCCCCCCC   CCCCCCC CCC    CC++++++++CCCCCCCC                                      C
+                                                                             CCCCCCCC                                               
 IAZ-+=MZ-ZAAX=-=-==++++++-+==MM====+==MZAZZ-ZZ--+++=+Z-==-ZZMMMMMMZAZ-ZZZXAZ="-""++"+==+===MMMXAIIZX=--1++AXA=I+-11==I=ZXZZIIZZ-AZM+
+   CCC  C    CCCCCCCCCCCCCCCC  CCCCCCC     C  CCCCCCC CCCC           C      C+.++CC+CCCCCCC                                    C   C
+                                                                             C'CC  C                                                
+                                                                              X                                                     
+                                                                              C                                                     
 IIX=++MZXXA==XAZAIAZM+++++====MM=++===M-X--MM---+"+==ZAMZ--XIZ-M-ZX=IAX-XZZZ=+"==++==MM=ZZXIAXI--XZA=++==AII=IA+11-1IA+AAZZIIZM==="=
+   CCC               CCCCCCCCC  CCCCCC C CC  CCCC+CCC    CC   C C      C    CC+CCCCCC  C       CC                              CCC+C
+                                                 C                            C                                                   C 
 =AI-+++MAAII==+=1  -=M=-+=+===MMM=MMM=MMMMMM=MM-=+"+M-"==-ZXAX---M-ZZXIX--MZZ===+-AXAZI+=+I=+-AXZAX=XAXXAIA+II-++ -IXXAX-MX+I-=+=+++
+   CCCC               CCCCCCCC   C   C      C  CCC+C .+CCC    CCC C     CC   CCCCC                                      C    CCCCCCC
+                                                  C  'C                                                                             
+                                                     X                                                                              
+                                                     C                                                                              
 XXZ-=""+MMZ===1      =Z-M-M=+==++==M=+MMM==M===M+++"""+XMZXXAAA--Z---I-IAXZX-ZXZZAIAI=-+==I=XXZZX==XAXXZXXIIX=+I+-=AXZX--M-AZZ=+===Z
+   CC++C               C C CCCCCCCC CC   CC CCC CCC+++C        CC CCC       C                                          CC C   CCCCC 
+     CC                                            CCC                                                                              
 XXM+"""""+MI11-      -IXZM++++++M=====M======+==+=+""+-AAXA=AAAXXZ--ZAIXXAAXXI+AAZA=IIXZZ--ZXXZZX=XZ-ZXXAA=++=XXI-AZZ-ZMZMM-ZZ-=M=MX
+   C+++++C                CCCCCC CCCCC CCCCCCCCCCCC++CC           CC                     CC         C                C     C  CC C  
+    CCCCC                                          CC                                                                               
 -ZM+"""""=Z=1--      1IZ-M=++""+=+++==M+++++++====++++MZXXAAAXXZXZ--XZZZAXXXAI+++ZXZM---Z-ZXXZZXIAZZZXZZI1+==X-ZI+AXZZ--M=-XXM--ZMMZ
+C  C+++++C              C CCC++CCCCCCC CCCCCCCCCCCCCCC            CC                 CCC C                    C       CC CC   CC    
+    CCCCC                    CC                                                                                                     
 ++ZZ-===MZA=++-    -III--M=++++++""++==++++++MM=++MAZZMAAIXAAXZXXZ--ZZZ-XA1+II =I-=++=MMM--AZ--X-Z-XAXXZI1=ZZZ-Z=AIXXXAXMM-IIMMM-=MM
+CC  CCCC               CC CCCCCCC++CCCCCCCCCC  CCC                CC   C         CCCCC   CC  CC C C           C           C     CC  
+                                 CC                                                                                                 
 =M-AXAIXX==AX=I+=++1IXZZXXZ-M--++++++=M=+++===Z-=MZXZ=--IAA=++=IAZXZXAXXI=1111=+-=+"+==M---AIZ-Z--ZZZ-XZXIX--ZZXIIAZ-Z=ZMMX+Z=+==+MM
+C C                        C CCCCCCCCC CCCCCCC CC    CCC                        CCC+CCC CCC   C CC   C     CC       C        CCCCC  
+                                                                                   C                                                
 MX-MM-X==+1=ZXAZZZXIAZ-MIAX-M--MM++MM-AM=MM==MZ-MZXZZM=+AII1-11=IXAZXAA=11+1-  =MM+==++=--ZIIZ--MMM-MMZXZX-MM-XII=A--ZX---XIZ=+M=+=-
+  C  C                C    C CC  CC  C  C  CC  C      CC                          CCCCCCCC    CC   C      C  C     CC  CCC   CC CCCC
 -XM=++=-XI=AXZ-MMM-=AZM=Z=IZZAZMM=+Z-XIXZXZMMMAAXXXXAXXZXXA11+++AAAXXXI11=XXZI=XZ-=="++=-ZAIXZMM=-=M==XZZZM=-AXIXIX--XZ=MMAIZM====MX
+C  CCCCC      C   C    C         CC C                                            CCC+CCCC       CCC CC     CC      CC  C      CCCC  
+                                                                                    C                                               
 Z=AXZ-M+M--MZIXM++MZA-M=MZZXZ-----MAXI=I++I-=+---AAXAXIXZZI=+III=AZXA==+1I-====--==+""++ZAI+IZMMMM=M--Z=-ZMMZXZXX=AMMAZ=MM+=--M-Z=MZ
+     C C CC     CC   C C     CCCCC         CCCCCC                         CCCCCCCCCC++CC          C CC CC              C    CC C C  
+                                                                                    CC                                              
 MMXIIZ-+=M=-AIIA-==M--=====ZZ-ZAXXZXX===+AX-=+==MA===AXZZXI=IXXAIAAII=II=M+""+M++++"""==AIIIIZ-X-X+=ZZ===Z-ZZZZZAIZMMX-=M-=X=MMI =-M
+      CCC CC    CCC CCCCCCC  C             CCCCC                          C++C CCCC+++CC      C C CC  CCC C           CC C  C     C 
+                                                                           CC      CCC                                              
 A-MZA-MZ-IAIIZA=A-=-+++++--XX-XXI=A--I++IAXZ-==M-AXA=IIAAAI=IXZZXXA+IA1XM+++++""+""-"+=ZAAXX---X=++MZMM==ZZ---ZZIIMMM-Z--ZIZ==I   X=
+ C   C  C        CCCCCCCCCC  C     CC       CCC C                        CCCCC++C++.+CC     CCC CCC    CC  CCC       C CC   CC     C
+                                                                              CC CC'C                                               
+                                                                                   X                                                
+                                                                                   C                                                
 +IZZXXA=====AXXXXIA+M="""XA+AM-A+IZ=+-A==AXX-M===ZAIIIIAXXIAAZ--ZIIIXZX=++ZX+""++""""MZX--ZM==MM===ZZ=--ZX--MM-AIX-M=Z-Z--=X=MA  -I=
+                     C+++     C    CCC      C CCC             CC       CCC  C++CC++++   CC  CC  CCC  CCC  CC  C   C C C CC  C      C
+                      CCC                                                    CC  CCCC                                               
 A+ +  -++=IAAAX=A=AIAM+M=AI=XM+MZ=""="M-A+=IXZZ=+-XI=XI+XXXIAX-ZI==XXX+++++=+""+"""+MIA+=Z-+===MZZ-ZZ-XZ--=-=M-XA=-M-M=X--+Z+--ZZXXM
+                      C C     C  C++C+ C       CCC            C       CCCCCCC++C+++C   CC CCCCC   C  C  CCCCC C   C C C CC  CCC     
+                                  CC C                                       CC CCC                                                 
 -X=+     -+AI=111=XXXAXAIIAX=+""M+++++""-I+IAIAA=XXXAIIIIAAIAXXI1-XMZ="+++""""++"""=XA==ZZ==M=MMZZ-M--MMMMM----ZA=XM-+MZZZ=XMMM=MXA=
+C                           CC++ CCCCC++C       C                    C+CCC++++CC+++C  CC  CC C    C CC     CCCC     CC         C   C
+                              CC      CC                              C   CCCC  CCC                                                 
 ZXXXI+1 - +=II=I=IZ--ZAZXZM=+=M-XAXXZZ=+MXI====IXXXAXIIAIIAAAIII=+X++""+++""++++""=-XM--XZ=MZM=MZ-M=MMMMM-MMMZZZA=I-==Z-ZA+I-MM=-IZ-
+                   CC      CCC C      CC                           CC++CCC++CCCC++CC  CC  C   C  C C     C         CCC C    C  CC  C
+                                                                     CC   CC    CC                                                  
 -Z-ZZ-ZXA+11=XZ--X--ZZX===""""=ZAIII==I--ZX==I=1+=AAXA=IIAIAAA==1==+""-""+""++"""=MZM+=-Z-MMZZMMXXM=MMM-MMM=MZZXXIIA-ZZMZAI=Z+=M-AM-
+C C  C         CC CC   CCC++++C        CC                         CC++.++C++CC+++C   CCC C         C   C   C        C        CC C  C
+                          CCCC                                      CC'CC CC  CCC                                                   
+                                                                      X                                                             
+                                                                      C                                                             
 ---ZZMMMZZXX=XAZZM-=IAXM+"=-+"+--ZIAIAIIZZ-A=I=+=II++=+1III+-- IZ+==M=""""-"+""-"=MMMM==-=M=MM--X-MM-=ZZZMM=Z-ZZZA=III--XA1-Z==-Z-M=
+CCC               C     C+CCC+CCC         C                      CCC C++++.+C++.+C    CCCC C  CC C  CC     C C        CC     CCC C C
+                         C   C                                        CCCC'C CC'C                                                   
+                                                                          X    X                                                    
+                                                                          C    C                                                    
 -----MMMM-=1AZMMMM=MMAAZ--ZXZ-ZZMM-XZXAXA=--=+11=II+=1===+-=A=IZ-M==-"+""""+"""""++=+++=++++=M-ZZM==-M-MMM=MZ-ZZZZ=XXZZZAXI=Z=+=-==+
+CCCCC    C        C     CC   C    C       CC                    C CC.+C++++C+++++CCCCCCCCCCCC C   CCC C   C  C               CCCCCCC
+                                                                    'C CCCC CCCCC                                                   
+                                                                    X                                                               
+                                                                    C                                                               
 Z----MMMMMX1XZ-=++++=+1Z-ZXZXZ-ZZAZZZXXXAIIX=1--+=+=I++11=XZXAXXAX=M"""""""""-""+==+"++""+++==--MM==-=M===+==---MZAXMMMM-ZXXZM++-MM=
+ CCCC         CCCCCCC   C     C                                   C +++++++++.++CCCC+CC++CCCCCCC  CCCC CCCCCCCCC        C     CCC  C
+                                                                    CCCCCCCCC'CC    C  CC                                           
+                                                                             X                                                      
+                                                                             C                                                      
 ZZZZ--M---MZAA-=++"++I=-=-Z--Z==-XZZXZ-AAA=I=1- 1- 1+++ +IA+IAI=+AAAM+"-"""---"++++++++""+=+=M-ZM===M=MM==++==-MMAAZ=M-=M-XZZX-=-MMM
+    CC CCC    CCCC+CC  CCC CC CCC     C                              C+.+++...+CCCCCCCC++CCCC C  CCC C  CCCCCCC     C CC C    CCC   
+                  C                                                   C'CCC'''C        CC                                           
+                                                                       X   XXX                                                      
+                                                                       C   CCC                                                      
 Z-Z-ZZX-Z---I=-M+="+++MM==M++=-=+MZZXZZZXAIAI+1    --1++1=+11+===ZXZ+M=-+"""""+M+++++M+""+==M---MMM=M=--M=M++=MM-XXZ---=+M-M-Z-M=A-M
+ C C   C CCC  C CC+CCC  CC CCCCCC                                   C C.C+++++C CCCCC C++CCC CCC   C CCC C CCC  C   CCCCC C C C C C 
+                  C                                                    ' CCCCC         CC                                           
+                                                                       X                                                            
+                                                                       C                                                            
 ZMZZZZXZZZZZAZMM=+++""+""=M===Z=+=-ZZXAAXAIIA==1 +- 1-++1=-++=IAIXM""++MX-===MZM+"+++++"++==M-M-M=--ZMMMZ====M-=MXXZZ-=++=+=-XZ==XXM
+                CCCC++C++C CCC CCCC                                ++CC  CCCC   C+CCCCC+CCCC C C CCC     CCCC CC     CCCCCCCC  CC   
+                    CC CC                                          CC            C     C                                            
 XZZXZZXXXXZ-Z-MMM=+="+=""+MM=M-=M--ZAIIXXIIAI=I+-++  -==+I=IXAAXAIX---ZAAAAAXAZM+"""++""++==--M-M=ZZZM=--M===MM=-XAZMM++""+M-XA++M-M
+           C C   CCC+CC++C  C CC CC                                CCC          C+++CC++CCCCCC C C    CCC CCC  CC     CC++C C  CC C 
+                    C  CC                                                        CCC  CC                                CC          
 X-ZXXZZZXX-M----===+++M""+-=++M-MZXZA+IAAAI===+ -++  =XA1IIAAAII=AA=III==11=I=XM=+""""""++M---MM=M-MMM=M==M=M==M-XA-==++""+=MXZ++===
+ C        C CCCCCCCCCC ++CCCCC C                                                CC++++++CC CCC  C C   C CC C CC C  CCCCC++CC   CCCCC
+                       CC                                                         CCCCCC                                CC          
 Z-ZZZ---ZZ-M==MMM===++Z++"=++=+M-ZAXAAAAXIII=I=-1=   =AMXI+AI=AX=IXAAAA=++=A=IAAZZ-XM+"++=-M-M--MMMMMM==M-MM=-=MZX=AM=+"""+=MZMZZM="
+ C   CCC  C CC   CCCCC CC+CCCCC C                                                 C  C+CCCC C CC      CC C  CCC      CC+++CC      C+
+                         C                                                            C                                CCC         C
 ZZXZZ----ZM=MM=MM===++=+"-=""==MM-AIIII=IIIAAA1===--=AXXZIIII=ZZZZZZAAX==I+IAAXX-ZXXZM"++MMMMM-----M-M-ZZ-MM=MMZ-X=XMM+++++=MMMZ-=+"
+     CCCC  C  C  CCCCCCC+.C++CC  C                                              C     +CC     CCCCC C C  C  C   C     CCCCCC    CCC+
+                        C' CC                                                         C                                            C
+                         X                                                                                                          
+                         C                                                                                                          
 M-Z--Z-Z-MM=MMMMM=M=====+""""=--MZXI+++1=IAIAIII11+AZZXIXAXIXAZXZZXZXAII=I=IAXIAZAA-Z-M==++MM-ZZZZZZZ-ZX---MZ-M--A+X-=+++++========+
+ C CC C C  C     C CCCCCC++++CCC                                                   C C CCCC  C       C  CCC  C CC   CCCCCCCCCCCCCCCC
+                         CCCC                                                                                                       
 M---ZZZZZM=MMMMMM=======+"""+=ZM-MZA+-  1==+=IAI=IAAM=-AIXZZ--MZZXXZAXI==XA=AXAIA=AAAZ-=-+++MZXXZXXAAXIX-M-M-MMM-AAZ-=+X+"++=M=++MM=
+ CCC      C      CCCCCCCC+++CC  C                    CC     CC                        CCCCCC            C C C   C   CCC C+CCC CCC  C
+                         CCC                                                                                             C          
 MXXXXZZZ-M=MM=MM-MMMMMM=+"-"=AMM--ZX-1  +=+1-1=IAXIA-"+Z=AZ-M---ZIAAIIAAXZAI=AII=A=IIA--Z++=-ZXAAAI==+1=AZ-ZM---ZIZ-M=+M+++=MM====-M
+        C C  C  C      CC+.+C   CC                  C+C    C CCC                      CC CCCC             C  CCC   C CC CCCC  CCCCC 
+                         C'C                         C                                                                              
+                          X                                                                                                         
+                          C                                                                                                         
 ZZXXZZZ-MMM==MM--MM==MZ==+""=AXAZZZXIA+=+===--IZXXAXAM="-===MIZZXII+1AAIAZ-ZXXZZAIIAIAZ-ZZ=M-XAA1=1---  +ZMZ==--ZZ-MM==+=+"M=MMMM==M
+       C   CC  CC  CC  CCC++C                         C+CCCC              C            C  C C               CCCC  C  CCCCC+ C    CC 
+                          CC                           C                                                                  C         
 ZXZZ-Z---M======MMM==MM=+++==Z===AXXXZII+IX=A=+=AA--MZA==""=-AXXXZZXIAI+IZZXZXXAAAAIIAAZZ-=M-ZAI=+--- --AZ--==MMZZ-M=+=++""=+=M--===
+    C CCC CCCCCC   CC  CCCCCC                CCC  CC   CC++CC                            CC C             CCCC    C CCCCC++CCC CCCCC
+                                                         CC                                                              CC         
 XZ----M---===+=MMM=MMM=++++M-X+  +IZMZXAAAXA-=+++-++M-XX=++MZZZZXZZXXXA=IZAAAXIIXXAIIIAXZ==MMZI==+---  =ZM-ZMMMM-X-M=+=++"+=+=-Z-=+=
+  CCCC CCCCCCCC   C   CCCCC C               CCCC CCC C  CCC                              CC               C     C C CCCCC+CCCCC CCCC
+                                                                                                                         C          
 X-MM-MM--X-=+=MM------M=++++=ZX=AAZ-MZXXX=1IZ+++ZM="=MM-=MMMZ-ZZAZZXXZX=+XXAA==XXAXIA-Z1--M--XAI===+=IAX----M=M-XX=-M====++==MZ--=+=
+ C  C  CC CCCC  CCCCCC CCCCCC      C         CCC  C+C  CC    C                       C   C CC           CCCC C C  CC CCCCCCCC  CCCCC
+                                                   C                                                                                
 X-MMMMMM-XZ-----Z--MMM=M=+++MXZ-AX-MZXXA=X--++==MM-"++M-MM=MMM=MZ--ZZ-ZXIIIXXXZZZXZ-MZXZ-A==ZZXAXXXXZ---M-MM=M=-ZXXZM=======M-M-MMM=
+ C      C  CCCCC CC   C CCCC   C  C       CCCCCC  C+CC C  C   C  CC  C             C    C CC         CCC C  C CC     CCCCCCC C C   C
+                                                   C                                                                                
 ZZ------ZZXZZZ-ZZZ-MMM=M=+==ZXZZA-M-ZAA=+IX"=ZZM-Z-++++M=+++==+=MM-ZZM-XXAXIIXZZZXXAZX-="++MZ-Z--ZXZZMMMMMM=MMM-ZAIA-=M==MMM==M-ZZMM
+  CCCCCC      C   C   C CCCC     C C       +C   C CCCCC CCCCCCCC  C   C               CC+CC  C CC          C   C    CC CC   CC C    
+                                           C                                            C                                           
 XZZZZ----ZAZZZZZZZ-MM-MM==MZXX-ZZZZXXI- - ==Z=A-M-ZMM==+++"+==+=++ZZZMMZ-ZZAAZ=+AAXA-=++++=Z---M-ZZ--MM==++M==MZ-I1=M=++==M===MXAZMM
+     CCCC         C  C  CC    C            C   C C   CCCCC+CCCCCCC      C           CCCCCCC CCC C  CC  CCCC CC  C    CCCCC CCC      
+                                                          C                                                                         
 X-ZZ----Z--ZZZZZZXZ---M==+M-AXIXAXIIX-- =1ZXI=IAZZZ---+++=++=M=+"MZAM=MM==MZZZ++XZZ-+=++++=M--MM-X-M-M-M+=-===MMMI+-=+"+++====MZXM=-
+ C  CCCC CC        CCC CCC C                       CCCCCCCCCC CC+    C  CC         CCCCCCCC CC  C C C C CCCCCC     CCC+CCCCCCC    CC
+                                                                C                                                     C             
 Z--MM-ZZ--MZ-ZZZZZZ---M=+"+M-IAIXX+III++I==IAI==IIIZ--M=+M++MM=+=MZ-M-X-MMM----MM====++++++=MMMM=ZM=-MMM======MMMZAM==+++++M=--ZMMMM
+ CC  C  CC  C      CCC CC+C C                       CC CC CC  CCC  C C C   CCCC  CCCCCCCCCCC    C  CC   CCCCCC      CCCCCCC CCC     
+                         C                                                                                                          
 Z-MMMM--Z--XZ--ZXZZ---M=====-ZX+=+X-ZA+-+XXZXA+1+1+IAAXXZM=M-M=+==-ZZZZMMZZZZM=++++=+++++++=M-MMMZMM--M===+==M==MZZM-=====MMMX--M==+
+ C    CC CC  CC    CCC CCCCCC      C                      C C CCCCC           CCCCCCCCCCCCCC C      CC CCCCCC CC    CCCCCC    CC CCC
 Z---MMMM---ZZZXAXXXXZXZ====+M=-ZZZMMXA IZ++MZA=1=I===IAIAX---M=+=MMMMM=MMMX=A-+""++++++++++=M==M-XMM-MMMMM+==M==M--MM=MM=MMMM-MM=+++
+ CCC    CCC            CCCCC CC          CC               CCC CCC     C      CC++CCCCCCCCCCC CC C   C     CCC CC CC  C  C    C  CCCC
+                                                                               CC                                                   
 Z-ZMMMMMMM-ZZX=-XXAIAX-=++=+M=====Z-XIAZM"+-ZXAAXAIIAXAZZZ+MM-=MZXXM--Z----+IZ=++=+=+++"=MMMM===--MMMM-M-===M=+=-=====-M-M===M=M=+=+
+ C        C           CCCCCC CCCCC C     +CC              C  CC     CC CCCC   CCCCCCCCC+C    CCCCC    C CCCC CCCCCCCCCC C CCC C CCCC
+                                         C                                             C                                            
 Z--MM=MMMMZZZZXAZZXAAIZM=++++MZ-ZM-MM-MM-=M-XIAZZXIIA=Z--Z-ZZZ-XAIZM-Z-M--MIAM++=-Z=""=====M--MM-ZM--M-MMMM=M===-==MM======M=M===+++
+ CC  C                  CCCCC  C  C  C  CC C           CC C   C     C C CC    CCCC C++CCCCC CC  C  CC C    C CCCCCC  CCCCCC C CCCCCC
+                                                                                    CC                                              
 ZZ-M-MMMMMMZZZZZZZZXXXZ-=M+""+=M=++MZZM+==--ZAAZXXXAXZ--ZXAAXAXXXAZMMMMMM-X=Z++++ZZM+=M++++=-Z-M-Z---MMMMM-==MMMM==M+=+++++====M===+
+  C C                  CC C++CC CCC    CCCCC          CC                 C   CCCC   CC CCCCCC C C CCC     CCC    CC CCCCCCCCCCC CCCC
+                           CC                                                                                                       
 --MMMM=MMMM-Z-----ZZZXXM=M+""++=++++MM++++=M-XXXXZZAIXZZXXXXXAAZZZ-=MM-MZAIAZ=+++=+M=+=++++=M--MZZ-M-M-MMMMMM=MMM==+++++++=MMM=====+
+CC    C    C CCCCC      C C++CCCCCCC  CCCCC C                     CC  C      CCCCCC CCCCCCCC CC   C C C      C   CCCCCCCCCC   CCCCCC
+                           CC                                                                                                       
 --M=MMM-==-ZZMM--Z---ZA-M+=++===+++=+M===++---XAXXAXA=+ZZZXXXZX---ZXIAIAAAZMM+""+=MM++""=====---ZZ-M-ZZMMZZ=MM--XM=+++++=+=---M+=+=+
+CC C   CCCC    CC CCC  C CCCCCCCCCCCC CCCCCCCC                 CCC           C++CC  CC++CCCCCCCC  C C      C  CC  CCCCCCCCCCCC CCCCC
+                                                                              CC      CC                                            
 MMMMMM=MM--ZMMM--M-Z-ZX-==++==MM+++=++++"=M-Z-ZAA=IZZI+XZXXXX-MM=-Z-M-XX-=+=++=++====+++=++==MM--MM==MM==+==MAZZZZ-+++++=====MM++=++
+      C  CC    CC C C  CCCCCCC  CCCCCCCC+C C C               C  CC C C  CCCCCCCCCCCCCCCCCCCCC  CC  CC  CCCCC      CCCCCCCCCCC  CCCCC
+                                        C                                                                                           
 ====MMMM--ZMMMMMM=M-XXI-==+-Z=+==--++"++++M---ZXAIIAAIIXXAXZ-MZ=++=+=-===++++++++M=+=+==+++M--==MM=++M===+=M-=Z-M--==++====M=-==++++
+CCCC    CC       C C   CCCCC CCCCCCCC+CCCC CCC              C  CCCCCCCCCCCCCCCCCC CCCCCCCCC CCCC  CCC CCCCC C  C CCCCCCCCCC CCCCCCCC
+                                     C                                                                                              
 ===MMM-----MMM====M-Z-XZM=+MZ=+=Z=I=++"+===M-ZZZZXZXZZXZXXXZM=M++"="M-+++""+++++=MM==+M++++=MM++==+++==M==MM---M=MMM=+====M-=-=+=+=+
+CCC   CCCCC   CCCC C C   CC  CCC   CCC+CCCC C                C CC+C+ CCCC++CCCCCC  CCC CCCCC  CCCCCCCCC CC  CCC C   CCCCCC CCCCCCCCC
+                                      C                          C C     CC                                                         
 MMM--MMMZZZM+++++==-M-X=++""+""-I=Z+=++"+====--Z---Z--ZMMZZMM++==++=++""=++=++++MMM==MM=++=MM=+M==+++M--MMMMMM--MM=XM+++=====M=++==+
+   CC       CCCCCCCC C CCC++C++C   CCCC+CCCCCCC CCC CC       CCCCCCCCC++CCCCCCCC   CC  CCCC  CC CCCCC CC      CC  C  CCCCCCCC CCCCCC
+                          CC CC        C                              CC                                                            
 MMM-MM----=+++++++=M==M+"=M+""+=Z+X+===+=======MMM-ZXZ-===========M+++"+"++""++++++++=MMM==++====++=MM--==MMMMMMMZ=-=++++M=M====-M==
+   C  CCCCCCCCCCCCC CC C+C C++CC   CCCCCCCCCCCC   C   CCCCCCCCCCCC CCC+C+CC++CCCCCCCCC   CCCCCCCCCCC  CCCC        CCCCCCC C CCCCC CC
+                        C   CC                                        C C  CC                                                       
 -M-------=+++++++==+===++-I-M+X1=+-+M=======+""+=MM-ZZZMM-===+====M=+=+""+==+++++++++=--M-M++====+==MM---M-Z-M==MM=M===+=M========+=
+C CCCCCCCCCCCCCCCCCCCCCCCC C C    CC CCCCCCCC++CC  C     CCCCCCCCC CCCC++CCCCCCCCCCCCCCC C CCCCCCCCC  CCC C C CC  C CCCCC CCCCCCCCCC
+                                             CC                        CC                                                           
 Z-------==+==+==+======+-IA-XMZ+IIMMZM====""+""+=+=ZXXAXZZMM=+++==M=+++""XIM-++++++==MMM======MM-MMM-M-ZMM-ZZM==M====MM===M==++=+===
+ CCCCCCCCCCCCCCCCCCCCCCCC  C          CCCC++C++CCCC         CCCCCC CCCC++   CCCCCCCCC   CCCCCC  C   C C   C   CC CCCC  CCC CCCCCCCCC
+                                          CC CC                        CC                                                           
 -----Z-M==MM=++++=++++M+MIAXIZ-Z-XM-Z="+="-----"MM-AZ-Z-X-M-M=+MMM-=+""++Z1AAMM=+"++++==M==MM-M-ZMMZZ-Z-MM---==M=MMMM=+MMMMM++==+++M
+CCCCC C CC  CCCCCCCCCC C      C C  C C+CC+.....+  C  C C C C CC   CCC++CC      CC+CCCCCC CC  C C     C C  CCCCC C    CC     CCCCCCC 
+                                      C  C'''''C                     CC          C                                                  
+                                          XXXXX                                                                                     
+                                          CCCCC                                                                                     
 ZZZZ----M=MM===++++++=++---AAAM-ZM=MM""""----""+-ZIXZXAZI-M-ZZM=MM-=++"""M1+ZMMMM+++""==M====MMMMMM--MMMMM---MM==MMX===ZMMM==++++++=
+    CCCC C  CCCCCCCCCCCCCCC    C  C  ++++....++CC        C C   C  CCCC+++        CCC++CC CCCC      CC     CCC  CC   CCC    CCCCCCCCC
+                                     CCCC''''CC                       CCC           CC                                              
+                                         XXXX                                                                                       
+                                         CCCC                                                                                       
 ZXZZZZZ-MMMMM-="++""+=+"=--I=I-===ZM+""""""-"+"+=MXZAZXI+ZMMMM-=-=M=++"""-+M=MM===============MMM==M-M==MM--M=M==M-Z=+=MM-M====++++=
+       C     CC+CC++CCC+CCC   CCCC  C++++++.+C+CC             CCCC CCC+++C  C  CCCCCCCCCCCCCCC   CC C CC  CC C CC C CCC  C CCCCCCCCC
+               C  CC   C             CCCCCC'C C                       CCC                                                           
+                                           X                                                                                        
+                                           C                                                                                        
 ZZZZXXXZ-MMMM--=+=+""+++=ZI++=IZ+=X+---"+++++"""++MX===IZ=++==-M-MM==++++XX+==MM+++MMM=M++M==MMM-MMMMM=MM======M=-MM++++==M====+++++
+        C    CCCCCC++CCCC       CC C...+CCCCC+++CC       CCCCCC C  CCCCCC  CCC  CCC   C CC CC   C     C  CCCCCC CC  CCCCCC CCCCCCCCC
+                   CC               '''C     CCC                                                                                    
+                                    XXX                                                                                             
+                                    CCC                                                                                             
 -ZZZZ-Z-ZZ-M-ZZ-MM=""""=-++-+=AZ-AA=+++=="""---"+-"-ZXXAZ+"MMMM=MM-M==++=ZZ===M===+===MM==M-MM--M---M=+M=+==+++=--=++="=M-ZM==+++++"
+C    C C  C C  C  C++++CC       C  CCCCCC+++...+C.+C     C+    C  C CCCCC  CCC CCCCCCC  CC C  CC CCC CC CCCCCCCCCCCCCC+C C  CCCCCCC+
+                   CCCC                  CCC'''C 'C       C                                                           C            C
+                                            XXX  X                                                                                  
+                                            CCC  C                                                                                  
 -Z-Z-------MMZZ-MM=+"+=X1--11+==IAZ++""++""""-++"--+ZZZM=="+M-=MMM==+++++=M-M=M--M===MMMMMM--M-----ZZ=MM===++=+MM=""""+=MZZM=-++++""
+C C CCCCCCC    C  CC+CC            CC++CC++++.CC+..C    CC+C CC   CCCCCCCC C C CC CCC      CC CCCCC  C  CCCCCCC  C++++CC    CCCCCC++
+                    C                CC  CCCC'  C''       C                                                       CCCC            CC
+                                             X   XX                                                                                 
+                                             C   CC                                                                                 
 ----MM==M-MM=--=+"""""+-I1 -11+++1MMMM==+"-"+==+---"=M+++=++===M--M==+++==+Z=++=M=MMMMMMM--ZZ-ZM-M=----M==+++=-M=""++++=MM=+==++++""
+CCCC  CC C  CCCCC+++++CC              CCC+.+CCCC...+C CCCCCCCCC CC CCCCCCCC CCCC C       CC  C  C CCCCC CCCCCCC C++CCCCC  CCCCCCCC++
+                 CCCCC                   C'C    '''C                                                             CC               CC
+                                          X     XXX                                                                                 
+                                          C     CCC                                                                                 
 Z-===+===M==+===""--""++ZI+    +=I-M--M++""++=+-"-"""+"""++++==MMM---==+=+M-M++++==-===MMMMMMM--M=M-MMM===+++=-=+"""+++M==++=+++++""
+ CCCCCCCC CCCCCC++..++CC          C CC CC++CCCC.C.+++C+++CCCCCC   CCCCCCCC C CCCCCCCCCC       CC C C   CCCCCCCCCC+++CCC CCCCCCCCCC++
+                CC''CC                   CC    'B'CCC CCC                                                        CCC              CC
+                  XX                           XHX                                                                                  
+                  CC                           CXC                                                                                  
 M==++++====+=++M++""++==XAAI+ +=IAZ-Z-M+""+=+="-"-"+"""++"+=M=-MM-XX-MM-===MM===+++=M=MMMMM=+=-ZMMMMM====+++++++++++++=M==+==++++"""
+ CCCCCCCCCCCCCC CC++CCCC           C C C++CCCC+.C.+C+++CC+CC CC  C  C  CCCC  CCCCCCC C     CCCC      CCCCCCCCCCCCCCCCCC CCCCCCCCC+++
+                  CC                    CC    C'B'C CCC  C                                                                       CCC
+                                               XHX                                                                                  
+                                               CXC                                                                                  
 +++==+"+=++++"+=+++=MX-XA+==IAAZXAA-MMX-=M-==+"---"=+++===MMM-----ZXX-==M=+=--M=+====++==M==---ZM==M-====+""""+++++MM--Z-MMM===+""""
+CCCCCC+CCCCCC+CCCCCC  C            C   CC CCCC+...+CCCCCCC   CCCCC   CCC CCCCC CCCCCCCCCC CCCCC  CC CCCCCC++++CCCCC  CC C   CCCC++++
+      C      C                                C'''C                                                       CCCC                  CCCC
+                                               XXX                                                                                  
+                                               CCC                                                                                  
 ""+=+""+=""""-"=MM=MXIIIIAA+IIAAA=AM=Z+II--M=Z=--"+=M++M+M---ZZIAZZM-XZ=M=====M==+=++""+++==M-Z-===MZ+++=++"""++++=Z--XX-M---X-=+""+
+++CCC++CC++++.+C  C                 C    CC C C..+CC CC C CCC       C  C CCCCC CCCCCC++CCCCC C CCCC  CCCCCC+++CCCCC CC  C CCC CCC++C
+CC   CC  CCCC'C                                ''C                                   CC                    CCC                   CC 
+             X                                 XX                                                                                   
+             C                                 CC                                                                                   
 +++"+--+M""-"++=-M+=Z=+==AAI==IA=-=Z=-AAX-MM+=""""+M-==-==-ZAZAAIZ-MM-MM=MM===-=+++++"""+++M=M-XMM==-=+====+""+=++=M=XA-MMM---==+++"
+CCC+C..C ++.+CCCC CC                CC   C  CC++++C CCCCCCC       C  C  C  CCCCCCCCCC+++CCC C C   CCCCCCCCCC++CCCCC C  C   CCCCCCCC+
+   C ''  CC'C                                 CCCC                                   CCC                    CC                     C
+     XX    X                                                                                                                        
+     CC    C                                                                                                                        
 M=++M"""=""+=+++=++Z+=1++AAA==I==+=M==MMMM-M="""+"=-M=MZZMZXXZZXZZ-=MM--MMM-==M++"""++""++++++MX==+==+"+++=+++=M=+=MM--MMM=M-=++=+++
+ CCC +++C++CCCCCCCC                 CC    C C+++C+CC C            CC  CC   CCC CC+++CC++CCCCCC  CCCCCC+CCCCCCCC CCC  CC   C CCCCCCCC
+     CCC CC                                  CCC C                               CCC  CC              C                             
 XAXII==M=++++++M-==ZI=11=XXXXA=1IIZ=+====+M=+=++"+M-+==--M-ZZZZZZ-MM=MMM-MM=+++"""""++++++++++=M=++M=++++==+""+==MMM===+===MM===M+"+
+     CC CCCCCCC CCC                CCCCCCC CCCCC+C CCCCCC C      C  C   C  CCCC+++++CCCCCCCCCCC CCC CCCCCCCC++CCC   CCCCCCC  CCC C+C
+                                                C                              CCCCC                        CC                    C 
 =++I+IIIIA-+MZ-AIAXI1II=IAXZXA+-IAXMMMMM+==M+=+++=--=+=M==M-MZZ---M-M==+=MM+"++++""+++"+"""++=MM+++=+++=M=+""+=====+=+++=======++++=
+          CC  C                         CCC CCCCCCCCCCC CC C   CCC C CCCC  C+CCCC++CCC+C+++CCC  CCCCCCCC CC++CCCCCCCCCCCCCCCCCCCCCCC
+                                                                            C    CC   C CCC                CC                       
 I==I=++11+=AIIAII====III+A=+X++ 1XMMM-M-=M-ZM-M=MMM==+==+====-M+=M=M=++""+"""+="""+"M=""""""+=MMM===+++===M==++++M-==+++=====++++++=
+                                     C CC C  C C   CCCCCCCCCCC CC C CCC++C+++CC+++C+ C++++++CC   CCCCCCCCC CCCCCC CCCCCCCCCCCCCCCCCC
+                                                                       CC CCC  CCC C  CCCCCC                                        
 IIAAII=+==+I=AI===1=IIXI I+== 1=X==M-ZM-XAXZZ-M+=MMM=+=++MMMMAM-"==++==+""-""++""""+++++""""+MM==M-=+==+==MZM++++=====+++++++++""+MM
+                                 CC C  C     C CC   CCCCC      .+CCCCCCC++.++CC++++CCCCC++++C  CC CCCCCCCC   CCCCCCCCCCCCCCCCCC++C  
+                                                               'C       CC'CC  CCCC     CCCC                                   CC   
+                                                               X          X                                                         
+                                                               C          C                                                         
 A=IAIII=I=+IXAAAXAII=+== -+=I+XA-+MMM==ZA+=+=Z-M===+=++===+=AZM"+"=++-==+""++"++"""""++++"+++MM===ZM====MMM--M=++++==+==+=+"++""+==I
+                                CC   CC       C CCCCCCCCCCCC   +C+CCCCCCC++CC+CC+++++CCCC+CCC  CCC  CCCC   CC CCCCCCCCCCCCC+CC++CCC 
+                                                               C C       CC  C  CCCCC    C                                 C  CC    
 AIIIAII====A-MM=M=MZ=-1+=AXIAIIA==--=+=ZX=I+1XM-MMM==+++"++==MM==++=-===+++"++""""""++++=+=+===++=MMMMM--M---M==+++++=+++=+++"""+===
+            C  C C              CCCCCCC        C   CCCCC+CCCC  CCCCCCCCCCCC+CC++++++CCCCCCCCCCCCCC     CC CCC CCCCCCCCCCCCCCC+++CCCC
+                                                        C                  C  CCCCCC                                         CCC    
 XIIAI=I=IIIAAXZMM=MMX+-+AXXAIA=--ZXZZMMMZAAXZ--I-MM+=+++"++=+=++"++=X====++""+"""""+++++Z+=M=+++++==MMMZZ---MM=+++=+++=+++++=""++===
+                 C             CC            CC C  CCCCC+CCCCCCC+CCC CCCCCC++C+++++CCCCC CC CCCCCCCC     CCC  CCCCCCCCCCCCCCC++CCCCC
+                                                        C       C          CC CCCCC                                          CC     
 AXXXA=IA=II==IZZXMMZI1+=IAAI+==ZAAIAAZZZ--ZXMM----M--=++=+""+=+"+"="+"-"+++++""+++-X++++M+Z-M+=++==MM--ZX-----M=====++==+"""""+++=++
+                                        CC    CCCC CCCCCCC++CCC+C+C+C+.+CCCCC++CCCC CCCC C C CCCCCC  CC  CCCCC CCCCCCCCCC+++++CCCCCC
+                                                          CC   C C C C'C     CC                                          CCCCC      
+                                                                      X                                                             
+                                                                      C                                                             
 XZ-MZAIAIAIIAAZZXXZA+=AA=+AAIAXXIII1-IAZ-MAX-=-MM-XXI-I-="""+=""+"+++""-""+++++""AA=++"+++M==+=+=+==MZZXZ-ZZZZZ----M=++++""""+++++++
+  C                                     C   CCC  C     CC+++CC++C+CCC++.++CCCCC++  CCC+CCC CCCCCCCCC     C     CCCC CCCCC++++CCCCCCC
+                                                         CCC  CC C   CC'CC     CC     C                                  CCCC       
+                                                                       X                                                            
+                                                                       C                                                            
 AZZ-XAAXZZAAXX-ZIIAAIIAXIIAM-=-XAIA=+IIA-MZAX=MM=-+I=I+AM+"""+""""+++"+"""+++"++-"++=+"""+M===+=MMMMMMM---ZZZZZZXZMM=+++"++"++M++=++
+   C          C             CCC         C    C  CC       C+++C++++CCC+C+++CCC+CC.+CCCC+++C CCCCC       CCC          CCCC+CC+CC CCCCC
+                                                          CCC CCCC   C CCC   C  'C    CCC                               C  C        
+                                                                                X                                                   
+                                                                                C                                                   
 AAXZXAAZ-ZXAXXXXAIXIAA--X=AMMMM-ZXXZXAAAXXA+=-MMM-IIXXA-A+""""++++==+"+""-""=++---"+=+""+===M===MM----MMM-Z-ZZZZXZMM===+"+++--A=++==
+        C             CC       C             C   C       C++++CCCCCCC+C++.++CCC...+CCC++CCCC CCC  CCCC   C C        CCCC+CCCCC CCCCC
+                                                          CCCC       C CC'CC   '''C   CC                                C           
+                                                                         X     XXX                                                  
+                                                                         C     CCC                                                  
 ZXIXZZXXZZXXX-ZXZZAAAAZZX+1I-X-MZXXZZ++IAZZIXX-ZXXX-Z-I++=+""+"+""+=++++""""+++"+"""==+""+=MMMMM-ZZZMM=MM-ZZZXZZZZZZZ=+"+"=XAAAZ-"""
+             C              C C               C    C C   CC++C+C++CCCCCC++++CCC+C+++CCC++CC     C     C  C           CC+C+C     C+++
+                                                           CC C CC      CCCC   C CCC   CC                              C C       CCC
 XXAAXZXXZXXAZZXAXXA=1=A=AAI+ZZ-ZXXAZAAXXAXZZZXAZXXZZMMIA==I-++"""++=+++=+++""+++""=--==++=MZ--MMMZA--MMM-ZZAXAXZ----MM==+=ZA AX++-++
+                              C                            CCC+++CCCCCCCCCC++CCC++CCCCCCCC  CC     CC   C       CCCC  CCCC       CCC
+                                                              CCC          CC   CC                                                  
 ZZXIIXZ-ZXI+==AXXIAA=AZAAXXXM=M-MMXXAAZ-IA--XZIXXZZ-==M=ZAAI-="""+=M=+===++++===+=I =M=+==MM-Z-MM-MZA--ZXZZXAXXZZ--M===++MXAXZXIA-M-
+       C                     C C       C  CC       CCC C    CC+++CC CCCCCCCCCCCCCC    CCCC  C C  C   CC          CC CCCCC        C C
+                                                              CCC                                                                   
 AXXAIAZ-X=+=+==+=IAAAIXZZM====M--ZZXZ-MMA+XZXZI+IZZZMMMMZI=-X-+-"+===+++MM====+===MX-==+=ZZ--ZZ--MM---XXXZZXXXX---M===++=MZ=+-ZZZ--Z
+       C                  CCCC CC    C                     C CC.+CCCCCCC  CCCCCCCC  CCCCC  CC  CC  CCC         CCC CCCCCC  CCC   CC 
+                                                               'C                                                                   
+                                                               X                                                                    
+                                                               C                                                                    
 IAXZZZZZ=+=I=II--AXAXZXX-=+=Z-Z--ZZZ-XZXXIX+II1 +ZZZZ-==XIIZ-X+--"+==+====-Z==+=M-MMM++++MI1= ZZ-M-ZZXZAAXAI+==+=X=+++-ZXIIZZIAZMMXZ
+                        CCCC C CC   C                CCC    C C..+CCCCCCCCC CCCC C   CCCC       C C               CCCCC             
+                                                               ''C                                                                  
+                                                               XX                                                                   
+                                                               CC                                                                   
 AAXXZZXZA=IAII=+1=IXAZXXZZZ--ZAXZZZXXAXAA-XAI=A=XMZZXZM-ZMAX-+"""++-Z==MM-MMM==M====M==M==-= -++AZZZZZZX=+- 11++X-+++=-X==IXZ---=-ZM
+                           CC            C             C    CC+++CCC CC  C   CC CCCC CC CCC                      CCCCCC      CCCCC  
+                                                              CCC                                                                   
 XXXXXXXZXAII+1--+AXXIZI==IA-MZMMMM-XAAZX-ZZXIAZ-ZZX-AZ--Z-XAXM==Z-MZX-M---M======MMMM--IX=-IIMMX11IXZZZAI+AZZ-===MM=MZXAAAXM----MM-M
+                           C      C     C      C   C  CC C    CC C   C CCC CCCCCC    CC  CC                  CCCC  C        CCCC  C 
 AAAXXAXAM--I=+==IIXZX-AIIIXXXZ-==M-ZZZZ-MXZXIAZ-AXZ-AAZ-A+1-IA+1 IXZ-ZMMMM=+++==M-XZZZ--=+M--M--  I---ZZZZ--M=+=ZZZXZAZZZXZ-ZZZ---M-
+         CC          C        CCC C    C       C   C   C            C     CCCCCC C    CCCC CC C    CCC    CC CCC           C   CCC C
 AAA==XAIZ--AXAAXM--=MMZIIII+=XZ--ZM=Z-ZZXZZXXXZXIAX-XAAXXA111=AIA1=+IZZ-ZZ--X-MMMM-XA+AM==M-==Z==XMX-M==M++MMMX---ZZZI ZZ-ZZZZXXX-MM
+         CC      CCC           CC  C C             C                   C  CC C    C     CC CCC      C CC CC    CCC       C       C  
 XZ-I1AIIXZ-M--------MMMZXA11+AXZXZZ-=M-Z-AZXAXA+IA=ZZAAA-ZIIXIXI=1  ==++=====+++AXXAIAAXZ-ZZZZZ=AZM---M+++ZZZXXZZ-M--XX-XXZZZAAZ--Z-
+  C       C CCCCCCCC               CC C C         C     C                                C         CCC CCC       C CC  C        CC C
 XZZIAAAIAX-MZZMM---ZZ-M-XAI==AAIIXXZXZ-ZZXAAXAIAI=XXZZXX-=IIIZMZA=+1II++==1+1- ++1===++IAIAIAIZXZX---M==-AIXAAXXZ-M=-XAXXXZZZZZX--XZ
+          C     CCC  C C              C                 C                                         CCC CCC        C CC           CC  
 ZZXAAZZXXXXZZZ-ZZXZZZZ-ZXAIIAZXIIZXXXXXAZZZ--XAI==XZZXAIXI==+=-MAZ-ZMZZZZZI=+- 1AZ--ZXI 1+IAIAAXXXZZXZZIXIII=AAZMMMM-XZXXXZ-ZZ-XZZIX
+              C       C                    CC                 C   C               CC                                C      C  C     
 IZZZXZZZZZAAXZ-ZZXZZZZXAZZIAZXXZZZ--ZZAAZZAIIXXAXAAXZXI=AA+=+-1ZA-ZAZZAXX-AI=-A+"++=MMZ- -+==++ +=-+==AZZ=+=XZ-=MXA-X-MM--ZIZZXXZXII
+              C                   CC                             C       C     C+CCC                          CC   C C  CC          
+                                                                                C                                                   
 XZXZZ-XAXZZ---MZZXXAX-ZZZZAAXZZ-ZX---ZAIAAIIIIAX=IAAXA1++1IIAAA=AZ-II==AAII=+M""-""+++-+ 11I1++-=I=XAAAIXXI-====Z-XZZ--Z-M-IXXAXAAZM
+     C     CCC       C         C  CCC                             C           ++.++CCCC                    CCCCC C   CC C C         
+                                                                              CC'CC                                                 
+                                                                                X                                                   
+                                                                                C                                                   
 -MMMMMZAXZZZZZXI=+IAXZZ--ZZXXZXAAIXZZZ-ZX===IIII=IAAA=+-1==AIAAAX--=+++I=I=1A+"---"""=A-+AI=++-  -+++IX=IX-"-+MMI---MX--ZZX+1ZXXXM+"
+C                      CC             C                          CC          C+...+++C                    C+.C   CCC  CC          C+
+                                                                              C'''CCC                      C'                      C
+                                                                               XXX                          X                       
+                                                                               CCC                          C                       
 ++=MMZMXZXZIIII111+IIXZ--ZXXXZXI+=XZIAMMMXI1++=IIAI=AAA==II=1I==AAXXA===A=1=I++"""+=-X==IA=- -   -+1+--+IZ=+-XAXAM+==M-Z-ZX==-M=+="-
+CCC                    CC                                                    CC+++CCC                     CCC     CCC C C    C CCC+.
+                                                                               CCC                                                C'
+                                                                                                                                   X
+                                                                                                                                   C
 ++MMMAZ--X=XAIAI==+--A-MM-----ZXI+AXAAX-=M-=II+=IZXIIXZX==- -+=A=X=-ZXXAIII=1AX-M-I1+I=AAI+---=I+1=+--1=-==AI+AZM++=++---ZXXM"--==--
+CC     CC             C  CCCCC         CC C                       CC           C C                      CCC      CCCCCCCC    +..CC..
+                                                                                                                             C''  ''
+                                                                                                                              XX  XX
+                                                                                                                              CC  CC
 "==M=--ZZX=IXXAI==IIIX--Z-MM=MMMI-++IAZ---XXXAI1I-MM-MMZI+1 -1++=XZ-MMZAZAXXI=+=++1IAAAAI=++AMMMAXZZ==AM=-=-M==+==M==M-=MZ-M++==M""+
++CC CCC               CC C  C          CCC       C  C              C                                    CCCC CCCCC CC CC  C CCCC ++C
+C                                                                                                                                CC 
 ++++=M-XZ-ZIXXXZXIAZXZM=MMM===M-A1IX----M-XXAII=ZM=+M+"=AAA+1-=AZZX-Z---ZAXAI==IIIIAIAAI+=XZM=++==+==-XXZXMM=M="+=-M-Z-MZXZM-MMZZ-=M
+CCCCC C  C             C   CCC C    CCCC C        CC C+C           C CCC                     CCCCCCCCC      C C+CCC C C     C    CC 
+                                                      C                                                        C                    
 +++++MZX-MMZ-AAZXIAZMM=+=====M---Z---M=MM--AAAAZ=++++++MIXXI11IAZXXXXZ-XXIXXIIII1=II====IZM=+=+++++MX=IA-=++==MM+MZMM-ZX+AM-ZXAXX-MM
+CCCCC   C   C         CCCCCCC CCC CCC C  CC     CCCCCCC               C                    CCCCCCCC     CCCCCC  C    C     C     C  
 =+==M=MZ--++=Z-ZA-MM=+=MMZZMMZ-ZMMMMM-M---ZXXZZZM==MXZXZXZAA=IAXZZAAIXAXIAA==IIIAIAII=AZ-MMM+=+==MMZMZM=++""=-IZ---MMM-XX-+=-AXZ==MZ
+CCCC C  CCCCC C  C  CCC       C      C CCC       CC                                     C   CCCCC      CCC++CC  CCC   C  CCCC   CC  
+                                                                                                          CC                        
 M=--M=M=+++MMMM=---MMM=-ZZXZZXXAZ-MMMZZZZZZ---XZM==MMM--ZZA==IIIIAAAAAAI=I=-=IAAI=IXZMM=MMM=++=-----M-M-MM=M-XA-MMMM-M-A-++=-Z-=M-XZ
+ CCC C CCCC    CCCC   CC         C         CCC   CC   CC                               C   CCCCCCCCC C C  C C  C    C C CCCCC CC C  
 MMMMMM--===--MMMMZ-MMM-ZZZXAXA=XZZXXZZXXZXAXZZX-===MZ-==MMZZXZXAXXA==AXAIAI+IAAXAAZM==MM-MM++=MZZM--Z-=M---M--MM=M=MMMXI=+"+M=+MAAZZ
+      CCCCCCC     C   C                        CCCC  CCC                            CC  C  CCC    CC CC CCC CC  C C     CC+C CC     
+                                                                                                                          C         
 MMM=MM-MMM-Z-M-ZZZ-MM-ZZZZXZZA=IAAAAAAIXZZAAZZZ-MMM-ZZ---XZM--MM=MMMM----ZXXZZX--MM-MMZ-Z-MM==-M-Z--Z-=M-ZZM--=M=M+==M=+"+++M---AZ-Z
+   C  C   C C C   C  C                         C   C  CCC   CC  C    CCCC      CC  C   C C  CCC C CC CC C   CCC C CCC CC+CCC CCC  C 
+                                                                                                                        C           
 -MMM=M-M==--===AX---ZZAAIXXZZZII=IAA=I=AXZ=IXAZ-ZZ-Z-Z--Z-MZ=XM=M==++=++++M--MMZAZ---MZXX-ZZMM-Z-ZZ-MM=-Z-M==+=--++"++"=M-M=---AZM=-
+C   C C CCCCCCC  CCC                           C  C C CC C  C  C CCCCCCCCC CC     CCC    C    C C  C  CC C CCCCCCCC+CC+C C CCCC   CC
+                                                                                                                   C  C             
 M=+=M-M=++M==MMM-MM-AAAXZXAAZZXXI==++IAIX----ZXZ-----M----MZ-ZMMM=+===++++M---MZ-ZZXZ-ZXAZZZ-MZ--Z-=+==MM=M==-ZM====-==-=M+=-ZZXMM-Z
+ CCC C CCC CC   C  C                     CCCC   CCCCC CCCC  C    CCCCCCCCC CCC  C    C      C  CC CCCCC  C CCC  CCCCCCCCC CCC     C 
 =+++==M-M--M==MMMMMMXXZZ-XXAXZZXA=+==AAXXZ-MMZZMMM-MMM-ZZ-M-Z---M========MZZ--ZZ--ZZX-ZXXXZM--AMMM=+++++++M--XM====-====M-+ZXXZZ--ZA
+CCCCCC C CC CC          C                 C       C   C  C C CCC CCCCCCCC   CC  CC   C      CC    CCCCCCCC CC  CCCCCCCCC .C     CC  
+                                                                                                                         '          
+                                                                                                                         X          
+                                                                                                                         C          
 =+++M=M==ZX-======+=M-ZXZ--ZZMMM-ZAIAZ--ZAAZ-Z-+=+++==M-XMMMMM-M==+++"+=M-Z--ZZ-M-MZZ-ZXZZ-M-M-=+====+"="+-ZM==+=--MMM==MMZZXZZXZXA=
+CCCC C CC  CCCCCCCCC C   CC     C     CC    C CCCCCCCC C      C CCCCC+CC C CC  C C   C    C C CCCCCCCC+C+CC  CCCCCC   CC            
+                                                                     C                                C C                           
 ++++===++++++"++"+++AXXXZZM======M-XXZ---ZZM-=M---M-Z==MZM+======++++"+=MZZ-ZZM-Z-X-ZZZAZ--++==++=-XX=Z=+M-=MMM-M-=MMM-M-ZXXXZ-ZI=-1
+CCCCCCCCCCCCC+CC+CCC       CCCCCC C   CCC   CC CCC C CC   CCCCCCCCCCC+CC   C   C C C     CCCCCCCCCC  C CC CC   C CC   C C     C     
+             C  C                                                    C                                                              
 +++"+===M=+++++"++=MM=MMM-Z-=MMMMMM-XXXXZZZ---M=I--XZ-MM--MMMZ---M++++=MXIIA-M-AXZZM=--ZM====M-M""=XIXZM--ZZ-----MMMMMMZXAXXXZA+1111
+CCC+CCCC CCCCCC+CCC  C   C CC      C       CCC   CC  C  CC    CCC CCCCC     C C     CCC  CCCC C ++C     CC  CCCCC                   
+   C           C                                                                                CC                                  
 +==+++==Z==MM-M===MM====---MM-ZZ-MM-ZXZ--ZZZAAZZ-MZZZ--MMMM=M-=M==+--ZAA===AZ-XA-MM==MM-==MMZXZ-M=ZXZXZZ--ZZZ-ZZ---ZZXZAZXAAA==1 1 -
+CCCCCCCC CC  C CCC  CCCCCCC  C  C  C   CC       C    CC    C CC CCCCC        C  C  CC  CCC     C C      CC   C  CCC                 
 +==+=+++===-ZXZ-===M==M-XIZM--Z---MMM--MM--ZAIZ-==-Z=M=M=-M+MZMMZ-MZXXAIAIXXXXAZZ+=M==M++=MXXXZZZZZZXXAZXAXZZZZZXXXXA=AAAI=I+--  - -
+CCCCCCCCCCCC   CCCC CC C    CC CCC   CC  CC    CCCC C C CC C     C               CC CC CCC                                          
 -MM==M=-XXM=-=X-MMMMM-Z---MMMM-M=M--M-ZAXZMMZZZXII-M===Z-+==MIZXAXAAXAIXAZM=-X-AZMM=MM+==MXZZZ--M-XIAZZAAXXAZZXIAIII==I=11=1--- - +M
+C  CC CC   CC  C     C CCC    C C CC C            C CCC CCCC               CC      C  CCC     CC C                                  
 ZXXXXZZZZZ--ZAZMMM--M=M---M=MMM=++=MZ----Z-MZ-MZXAXZM-ZZ-M-XI+AIXZZZAAAXXMMM----ZZZ-M++=MZZZZ-MM-ZZZXXXZAZZZXXXXAAI=I=+1-11   -=Z=+"
+          CC      CC C CCC C   CCCC  CCCC C  C       C  C C                 CCCC   C CCC     C  C                                CC+
+                                                                                                                                   C
 AAXAAX-MM-Z------MMMM=MMMM--XZ--===M-ZZZZXXZ---ZXZZXXXZ--AAXXIZZZZZA-IZXZ--ZZZMMZAAZ-MZZZZ-MMM-XXXXAXXXXXZXAAIAAAII===-    -+AM++"++
+      C  C CCCCCC    C    CC  CCCCC C       CCC        CC                CC         C     C   C                                CC+CC
+                                                                                                                                 C  
 IAAXXXXZZZZ-----MMMMM-MMMM-XXZZZZ-M-ZXZZXIIZZZ--M---XXXZZXXAA=AXXAAI1AZAZZZZ-Z-ZIIXXAAIXXXM=-XXIXAAAAXZXAAIIIAIAI==I=+  -+XM=++++"""
+           CCCCC     C    C      C C          CC CCC                        C C            CC                               CCCCC+++
+                                                                                                                                 CCC
 1IIAAAZXAZAX--M---MMMZ----AAII=AAXXXZ-MZA=IXXZZXZZ--MZXAXXA=AIAXXXZ==AXAZZAZXXAII=AAAIIAI=+=ZXXIIIIIXIAAAXXAAII==+=1  - Z++++++++"+=
+            CC CCC    CCCC           C            CC                                                                     CCCCCCCC+CC
+                                                                                                                                 C  
 IIAZXZZZZZZ--M=M-----ZZ-ZZZ--A+=Z--XA---M-XZMZXZXXXXXAAAI==+====AAA=AXAAAXXXAIII==++=IIII==IIXIIXZXZZZZZXAAIIAI=++1+I-=+"""""++"""""
+           CC C CCCCC  C   CC    CC  CCC C                                                                           CCC+++++CC+++++
+                                                                                                                        CCCCC  CCCCC
 AXXZXZ---ZZZX--ZZZ---MM-ZZZZ-ZXIX--M---MMM-Z-Z--ZXAXAA=++=--===1=IIIIA=AAXII=II=======I=I==IAXXZXXZMM-ZXA=====+1=IZ=++++""""""""""""
+      CCC    CC   CCC  C    C    CC CCC   C C CC                                                     C             CCCCC++++++++++++
+                                                                                                                        CCCCCCCCCCCC
 ZZZ-XXXZ-AAXXXXZ-ZZZZ----ZZZZ-ZXAXMM=M=M--ZXZXZZXXAAAA=+++1+=++1+IA==A=AI===++11+=+=+++IIII=AI===+AXXII=++==+=Z-=+++++++"+"""""++"""
+   C    C       C    CCCC    C      C C CC                                                                     CCCCCCCCC+C+++++CC+++
+                                                                                                                        C CCCCC  CCC
 M=-ZZ-ZZ-XAZZZXIAXAXZZZZZZZZ--ZXXAX--M=MM-XXXAAIAXXII===++-11+++++1-1+1+=1--1--11==+1+1+IAA==I==+=+1++===I=XM++++++++"++"""""++"++""
+ CC  C  C                   CC     CC C  C                                                                   CCCCCCCC+CC+++++CC+CC++
+                                                                                                                     C  CCCCC  C  CC
 -MM-MMM-ZXXZ----XZZXXZZZ---ZZXZZX-ZZXXXZ--AIAXAXAI=I==I===111--------1+=+1111-1+1+++IAAAAI==I++111111==IZM++"+"+++"""""""""""+""""++
+C  C   C    CCCC        CCC      C      CC                                                                CC+C+CCC+++++++++++C++++CC
+                                                                                                            C C   CCCCCCCCCCC CCCC  
 Z---MMMZZXII=XXZZZZZ-----ZZZZZZZZZZZZZXXZZXXAAAAI==11-- ----       -1+=====++++++++=====++111---+IIXZM=+"++"+"""++""+""""""""""+""+"
+ CCC                CCCCC                                                                             CC+CC+C+++CC++C++++++++++C++C+
+                                                                                                        C  C CCC  CC CCCCCCCCCC CC C
 ZXZ-Z---ZXXAAXXZZZZXXZZZZXXXAAIAAXXXXXXAAAIIIII=++11--        --      --+I=I=+++++++=+++==+- -=X-M=+++++""""++""+"+"+"""""+""""+""""
+   C CCC                                                                                        C CCCCCC++++CC++C+C+C+++++C++++C++++
+                                                                                                        CCCC  CC C C CCCCC CCCC CCCC
 XAX--ZZZXXAXZXZ-ZZXXXAAAAI=I=I=IXX-ZZXIAAI===+11-1---       -       ----1--1+1+++1+=II==+-1A-=+++"+++++"++"""""++"+++"""""""""""""""
+   CC          C                  C                                                         CCCCC+CCCCC+CC+++++CC+CCC+++++++++++++++
+                                                                                                 C     C  CCCCC  C   CCCCCCCCCCCCCCC
 AXAXAAAAXAAZZZXZZZZZZXXIAAXXXZXXZZZXZAXAAII==11---               -1-1+111-1+1--+--+==+=XM++++++"+++"+"+""""++""+++"++""""""""""""+""
+                                                                                         CCCCCC+CCC+C+C++++CC++CCC+CC++++++++++++C++
+                                                                                               C   C C CCCC  CC   C  CCCCCCCCCCCC CC
 AAAA=IAAXIAX-ZZ-M---ZZZXXAXZZXXXAAAAAAAI=====-1----   - 1111111-+=+++=I====IIIAAAAZ==+++++++"++"++""+"+"+"+++""""""""""""""""+"""+""
+            C  C CCC                                                               CCCCCCCCC+CC+CC++C+C+C+CCC++++++++++++++++C+++C++
+                                                                                            C  C  CC C C C   CCCCCCCCCCCCCCCC CCC CC
 IIAIIIII+=IIAAXAXXZZXXXXXAAXAAXAIIII=I========+1-1-- -1111=I=I==+=1+++=XZ---M===+++++++++"++++""+"""""""""+"+"+"""""""+"""+"""""""""
+                                                                         CCC CCCCCCCCCCCC+CCCC++C+++++++++C+C+C+++++++C+++C+++++++++
+                                                                                         C    CC CCCCCCCCC C C CCCCCCC CCC CCCCCCCCC
 =I=I==++=II===I=IAXXAXXAI==IIAAAI=I=II======111--------+=AAIIIAIAXZ-==+++==+++++++++++++"+++"+"+++""+""+""+""++"+++""++"++"+""+""+""
+                                                                   CCCCCCCCCCCCCCCCCCCCC+CCC+C+CCC++C++C++C++CC+CCC++CC+CC+C++C++C++
+                                                                                        C   C C   CC CC CC CC  C   CC  C  C CC CC CC
 ZXIAII=I=+===IIIAIAII=II====IIII=+=+++++1+1++++==IIAAX-MM=====+++++++++++++++++++++++++++++++""""+"""+"""++"""+"""""""""++""""""""""
+                                                      C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++C+++C+++CC+++C+++++++++CC++++++++++
+                                                                                             CCCC CCC CCC  CCC CCCCCCCCC  CCCCCCCCCC
 ++====MM--------ZZZZZXXXAAAAAAAAAAAAAAAAXXXZ-MM==++++++++++++++++++++++++++++++++++++++++++++"++"+""++"""++"""+""+""++"+++"+""""""""
+CCCCCC  CCCCCCCC                            C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+C++CC+++CC+++C++C++CC+CCC+C++++++++
+                                                                                             C  C CC  CCC  CCC CC CC  C   C CCCCCCCC
 ++++++++++++++++++++++=+===========++++++++++++++++++++++++++++++++++++++++++++++++++++++"+"+""++""+"""""+"+""""""+"""""+"++++""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+C++CC++C+++++C+C++++++C+++++C+CCCC++++++
+                                                                                         C C CC  CC CCCCC C CCCCCC CCCCC C    CCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++""+++"+"++++++"+""+++++++""++++"+""+"+"+"+++""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCC+C+CCCCCC+C++CCCCCCC++CCCC+C++C+C+C+CCC++++
+                                                                                    CC   C C      C CC       CC    C CC C C C   CCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++++++"++"++++++"+"+"""+++++++++""+"""""""+""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC+CC+CCCCCC+C+C+++CCCCCCCCC++C+++++++C++
+                                                                                   C         C  C      C C CCC         CC CCCCCCC CC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++"++++++++++"+"+""""+"+""++""+""+""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCC+CCCCCCCCCC+C+C++++C+C++CC++C++C++++++++
+                                                                                       C    C          C C CCCC C CC  CC CC CCCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++"+++++"++++"+"++""+++""++""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC+CCCCC+CCCC+C+CC++CCC++CC++++++++++++++
+                                                                                       C     C     C    C C  CC   CC  CCCCCCCCCCCCCC
 ++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++""+"+++++++"+++"+++++""++++""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++C+CCCCCCC+CCC+CCCCC++CCCC++++
+                                                                                                     CC C       C   C     CC    CCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++++++++++++++"+"+""+"+"++"++"""+"+"""+"""+"""+"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCC+C+C++C+C+CC+CC+++C+C+++C+++C+++C+
+                                                                                C                 C C CC C C  C  CCC C CCC CCC CCC C
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++"""+"++++"+++"+""+++"+""+"""+"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCC+++C+CCCC+CCC+C++CCC+C++C+++C+
+                                                                                             C        CCC C    C   C CC   C CC CCC C
 +++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++"++++++++"+"+""+"""+"++""+"""++""+"""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCC+CCCCCCCC+C+C++C+++C+CC++C+++CC++C+++++
+                                                                                    C        C        C C CC CCC C  CC CCC  CC CCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++"++++"+"+++++++++++""+"++"++++"+"++"+++++"""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCC+C+CCCCCCCCCCC++C+CC+CCCC+C+CC+CCCCC+++
+                                                                                        C    C C           CC C  C    C C  C     CCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+"+"+++"""""+""+++""+""""""+""++"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+C+CCC+++++C++CCC++C++++++C++CC+
+                                                                                                  C C C   CCCCC CC   CC CCCCCC CC  C
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++"++""+""+++"""+""""+"+""""+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCC+CC++C++CCC+++C++++C+C++++C
+                                                                                                  C      C  CC CC   CCC CCCC C CCCC 
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++++"+++++++++"++++++++++""+++++++"+"""""+""+"""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC+CCCCCCCCC+CCCCCCCCCC++CCCCCCC+C+++++C++C+++++
+                                                                              C       C         C          CC       C CCCCC CC CCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++"++"++++++++++++++++"++++++""++"+++"+"+++"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+CCCCCCCCCCCCCCCC+CCCCCC++CC+CCC+C+CCC+
+                                                                                          C  C                C      CC  C   C C   C
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++"+"+++++"++"+++""+++++"+"""+++""""""++"+++"+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+CCCCC+CC+CCC++CCCCC+C+++CCC++++++CC+CCC+C
+                                                                                        C C     C  C   CC     C CCC   CCCCCC  C   C 
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++"++++""+++++"++"""++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCC++CCCCC+CC+++CC
+                                                                                                                C    CC     C  CCC  
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++++"+""++++"+++++++"+"""""+++"++++""++"+"+""""+++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCC+C++CCCC+CCCCCCC+C+++++CCC+CCCC++CC+C+C++++CCC
+                                                                           C          C CC    C       C CCCCC   C    CC  C C CCCC   
 ++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++"+""++++++++++++""+"++"++""+"++""+++"++"++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++CCCCCCCCCCCC++C+CC+CC++C+CC++CCC+CC+CC
+                                                                                          C CC            CC C  C  CC C  CC   C  C  
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++"+""+++++++++"+++++"++++++""+"+"++"++++++""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++CCCCCCCCC+CCCCC+CCCCCC++C+C+CC+CCCCCC++++++
+                                                                                     C CC         C     C      CC C C  C      CCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++++++++++++"++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCC+CCCC
+                                                                                                            C                  C    
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++++"++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCC+CCCCCCCCCC
+                                                                                                              C          C          
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++"+++++++++"+++++++++++++++++++"""""+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC+CCCCCCCCCCCCCCCCCCC+++++C
+                                                                                                C         C                   CCCCC 
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++"++"++++++"+++"+""++++++++++"+++"+++++"+"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+CC+CCCCCC+CCC+C++CCCCCCCCCC+CCC+CCCCC+C+
+                                                                                        C  C  C      C   C CC          C   C     C C
 +++++++++=+++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++""+++++++++"++++++++++""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCCCCCCCC+CCCCCCCCCC++
+                                                                                                            CC         C          CC
 ++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"++++++++++++++++++++++++"+++++++++"++"+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC+CC+C
+                                                                                            C                        C         C  C 
 +++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"""+++"+++"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCC+CCC+
+                                                                                                                         CCC   C   C
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++"+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCC+C
+                                                                                                                              C   C 
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++"+++++++++++"++++++++++"+""+"+++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCC+CCCCCCCCCC+C++C+CCC
+                                                                                                    C           C          C CC C   
 +++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC
+                                                                                                                            C       
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+
+                                                                                                                                   C
 ++++++++++++++++++++++++++++++++++++++++++++++==+++++++++++++++++++++++++++++++++++++++++++++++++"+++++++++++++++++"+++++++++++=+++"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCC+
+                                                                                                 C                 C               C
 Z=+++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 =+++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++=++++++++=++++++++++++++++++++++++++++++++++++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++=+=+====+==+=+++=+++=ZIM++++++===++++++++++=+=+=++++=+==++++++++=++++==+=+=++++=+++==++++++++++=+++++++++++++=++=+++=+==+==+++++++
+CCCCCCCCCCCCCCCCCCCCCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ++++=++==+=+=+=+=+++++=M=+++++++++++++=+++=++++=++++++=++==+++++++++++==+=+++++++++++++++++++++++++++++++++++=++++++=+++++++++++++++
+CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
1                                                                                                                                    
-                                                                                                                                    
0                                            PRINCETON UNIVERSITY COMPUTER CENTER CLINIC                                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
                                                            +------------+                                                           
                                                            +            +                                                           
                                                            + COMPUTER   +                                                           
                                                            +            +                                                           
                                                            +    PICTURE +                                                           
                                                            +            +                                                           
                                                            +------------+                                                           
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                              THE MOON                                                              
-                                                   COMPUTER TRANSCRIPTION PROCESS                                                   
0                                                                 BY                                                                 
0                                                         SAMUEL P. HARBISON                                                         
0                                                       COMPUTER CENTER CLINIC                                                       
                                                         PRINCETON UNIVERSITY                                                        
                                                           87 PROSPECT ST.                                                           
                                                     PRINCETON, NEW JERSEY 08540                                                     
-                                                  COPYRIGHT 1973 BY S. P. HARBISON                                                  
-                                                       SHEET  4 OF  5 SHEETS                                                        
-                         THE COMPLETE PICTURE IS CONSTRUCTED BY TAPING THE SHEETS TOGETHER SO THAT THE                              
                          LAST CHARACTER ON THE FIRST SHEET MEETS THE FIRST CHARACTER ON THE NEXT SHEET                              
                          WITH NO WHITE SPACE BETWEEN THEM.  THIS WILL REQUIRE TRIMMING THE SHEETS WITH                              
                          SCISSORS.  DO NOT PUT TAPE ON THE PRINTED SIDE OF THE PAPER; TAPE FROM BEHIND.                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
0                                                                                                                                    
 ++"+"+++"+M"+""""""++"""+"""+""+""+"""""""""""--"--"----""""-"-""--""--"--"""-"--------""----------"--"------------------""----"--"-
+CC+C+CCC+C +C++++++CC+++C+++C++C++C+++++++++++..+..+....++++.+.++..++..+..+++.+........++..........+..+..................C+....+..C.
+  C C   C  C CCCCCC  CCC CCC CC CC CCCCCCCCCCC''C''C''''CCCC'C'CC''CC''C''CCC'C''''''''CC''''''''''C''C''''''''''''''''''BC''''C''B'
+                                              XX XX XXXX    X X  XX  XX XX   X XXXXXXXX  XXXXXXXXXX XX XXXXXXXXXXXXXXXXXXH XXXX XXHX
+                                              CC CC CCCC    C C  CC  CC CC   C CCCCCCCC  CCCCCCCCCC CC CCCCCCCCCCCCCCCCCCX CCCC CCXC
 +""+"""""="""""""""""""""""+""-"""""-""-"""""--"---"--"------"----"------------"---------------"------------------------------"-----
+C++C+++++C+++++++++++++++++C++.+++++.++.+++++..+...+..+......+....+............+...............C..............................+.....
+ CC CCCCC CCCCCCCCCCCCCCCCC CC'CCCCC'CC'CCCCC''C'''C''C''''''C''''C''''''''''''C'''''''''''''''B''''''''''''''''''''''''''''''C'''''
+                              X     X  X     XX XXX XX XXXXXX XXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX
+                              C     C  C     CC CCC CC CCCCCC CCCC CCCCCCCCCCCC CCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC
 """""""""""""""""""""""""""""--""""-"--"""-----"--"---"-------"-----------------------"--------"-----------------------""-----""----
++++++++++++++++++++++++++++++..++++.+..+++.....+..+...+.......+.......................+........C.......................CC.....+C....
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC''CCCC'C''CCC'''''C''C'''C'''''''C'''''''''''''''''''''''C''''''''B'''''''''''''''''''''''BB'''''CB''''
+                             XX    X XX   XXXXX XX XXX XXXXXXX XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXHHXXXXX HXXXX
+                             CC    C CC   CCCCC CC CCC CCCCCCC CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCXXCCCCC XCCCC
 """""""""""""""""""""""--""""---"""---"---------------------"-----------------------------------"-------------"-"-"-"-----"-""-----"
++++++++++++++++++++++++..++++...+++...+.....................+...................................C.............C.C.C.C.....C.CC.....C
+CCCCCCCCCCCCCCCCCCCCCCC''CCCC'''CCC'''C'''''''''''''''''''''C'''''''''''''''''''''''''''''''''''B'''''''''''''B'B'B'B'''''B'BB'''''B
+                       XX    XXX   XXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXHXHXHXHXXXXXHXHHXXXXXH
+                       CC    CCC   CCC CCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCXCXCXCXCCCCCXCXXCCCCCX
 """"""""""""""-"""""""""""-""-"--""-""------------------"----"--"----------------------------------------------------"-"------"-----
+++++++++++++++.+++++++++++.++.+..++.++..................+....+..+....................................................C.C......C.....
+CCCCCCCCCCCCCC'CCCCCCCCCCC'CC'C''CC'CC''''''''''''''''''C''''C''C''''''''''''''''''''''''''''''''''''''''''''''''''''B'B''''''B'''''
+              X           X  X XX  X  XXXXXXXXXXXXXXXXXX XXXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXHXXXXXXHXXXXX
+              C           C  C CC  C  CCCCCCCCCCCCCCCCCC CCCC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCXCCCCCCXCCCCC
 """"""""""""""""---"-""--"--""-----------------------------------"-------------"----"--"--"-"-"""---------"--"--"-""-----""------"-"
+++++++++++++++++...+.++..+..++...................................C.............C....C..C..C.C.CCC.........C..C..C.CC.....CC......C.C
+CCCCCCCCCCCCCCCC'''C'CC''C''CC'''''''''''''''''''''''''''''''''''B'''''''''''''B''''B''B''B'B'BBB'''''''''B''B''B'BB'''''BB''''''B'B
+                XXX X  XX XX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXHXXXXHXXHXXHXHXHHHXXXXXXXXXHXXHXXHXHHXXXXXHHXXXXXXHXH
+                CCC C  CC CC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCXCCCCXCCXCCXCXCXXXCCCCCCCCCXCCXCCXCXXCCCCCXXCCCCCCXCX
 """""""""""""""-"-"-"""----"""----------------------------------"------"---------------""---"-""""----------"""-"""---"--"""---"-"--
++++++++++++++++.+.+.+++....+++..................................C......+...............CC...C.CCCC..........CCC.CCC...C..CCC...C.C..
+CCCCCCCCCCCCCCC'C'C'CCC''''CCC''''''''''''''''''''''''''''''''''B''''''C'''''''''''''''BB'''B'BBBB''''''''''BBB'BBB'''B''BBB'''B'B''
+               X X X   XXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXX XXXXXXXXXXXXXXXHHXXXHXHHHHXXXXXXXXXXHHHXHHHXXXHXXHHHXXXHXHXX
+               C C C   CCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCC CCCCCCCCCCCCCCCXXCCCXCXXXXCCCCCCCCCCXXXCXXXCCCXCCXXXCCCXCXCC
 """""-""""""-"-----""""---"-"---"-------------------------------"--------"----------"----""-"--"""""--"---"-"-"""-""----""-""--""-""
++++++.++++++.+.....++++...+.+...+...............................C........+..........C....CC.C..CCCCC..C...C.C.CCC.CC....CC.CC..CC.C+
+CCCCC'CCCCCC'C'''''CCCC'''C'C'''C'''''''''''''''''''''''''''''''B''''''''C''''''''''B''''BB'B''BBBBB''B'''B'B'BBB'BB''''BB'BB''BB'BC
+     X      X XXXXX    XXX X XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXX XXXXXXXXXXHXXXXHHXHXXHHHHHXXHXXXHXHXHHHXHHXXXXHHXHHXXHHXH 
+     C      C CCCCC    CCC C CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCC CCCCCCCCCCXCCCCXXCXCCXXXXXCCXCCCXCXCXXXCXXCCCCXXCXXCCXXCX 
 """""""""""""""""-"-"""""-""-"--"""-"----------------"----------"---""----------M------"---""--------------"----""--"--"""--"""-"---
++++++++++++++++++.+.+++++.++.+..+++.+................C..........C...CC.......... ......+...CC..............C....CC..C..CCC..CCC.C...
+CCCCCCCCCCCCCCCCC'C'CCCCC'CC'C''CCC'C''''''''''''''''B''''''''''B'''BB'''''''''' ''''''C'''BB''''''''''''''B''''BB''B''BBB''BBB'B'''
+                 X X     X  X XX   X XXXXXXXXXXXXXXXXHXXXXXXXXXXHXXXHHXXXXXXXXXX XXXXXX XXXHHXXXXXXXXXXXXXXHXXXXHHXXHXXHHHXXHHHXHXXX
+                 C C     C  C CC   C CCCCCCCCCCCCCCCCXCCCCCCCCCCXCCCXXCCCCCCCCCC CCCCCC CCCXXCCCCCCCCCCCCCCXCCCCXXCCXCCXXXCCXXXCXCCC
 """"""""""""--"-"--"--"-"-""----"---"--"---------------------------------------"---""------""--"-"-"-----"-"---"""-"-"-"--""""""----
+++++++++++++..+.+..+..+.+.++....+...+..+.......................................C...CC......CC..C.C.C.....C.C...C+C.C.C.C..CCCCCC....
+CCCCCCCCCCCC''C'C''C''C'C'CC''''C'''C''C'''''''''''''''''''''''''''''''''''''''B'''BB''''''BB''B'B'B'''''B'B'''BCB'B'B'B''BBBBBB''''
+            XX X XX XX X X  XXXX XXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXHHXXXXXXHHXXHXHXHXXXXXHXHXXXH HXHXHXHXXHHHHHHXXXX
+            CC C CC CC C C  CCCC CCC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXXCCCCCCXXCCXCXCXCCCCCXCXCCCX XCXCXCXCCXXXXXXCCCC
 """"""""""-"-"---"-""-"---""----"---""--------"----------------"----"---------"---""----"--""--"""---"--""-"-""---"--"""""""""""---"
+++++++++++.+.+...+.++.+...++....+...++........+................C....C.........C...CC....C..CC..CCC...C..CC.C.CC...C..CCCCCCCCCCC...C
+CCCCCCCCCC'C'C'''C'CC'C'''CC''''C'''CC''''''''C''''''''''''''''B''''B'''''''''B'''BB''''B''BB''BBB'''B''BB'B'BB'''B''BBBBBBBBBBB'''B
+          X X XXX X  X XXX  XXXX XXX  XXXXXXXX XXXXXXXXXXXXXXXXHXXXXHXXXXXXXXXHXXXHHXXXXHXXHHXXHHHXXXHXXHHXHXHHXXXHXXHHHHHHHHHHHXXXH
+          C C CCC C  C CCC  CCCC CCC  CCCCCCCC CCCCCCCCCCCCCCCCXCCCCXCCCCCCCCCXCCCXXCCCCXCCXXCCXXXCCCXCCXXCXCXXCCCXCCXXXXXXXXXXXCCCX
 """""""""""""""---""-"------------"-"-------"----------------------""--------""-"-"----""-------""-"""--"---"""-"----"-""-----""--""
++++++++++++++++...++.+............+.+.......+......................CC........CC.+.C....CC.......CC.CCC..C...CCC.C....C.CC.....CC..CC
+CCCCCCCCCCCCCCC'''CC'C''''''''''''C'C'''''''C''''''''''''''''''''''BB''''''''BB'C'B''''BB'''''''BB'BBB''B'''BBB'B''''B'BB'''''BB''BB
+               XXX  X XXXXXXXXXXXX X XXXXXXX XXXXXXXXXXXXXXXXXXXXXXHHXXXXXXXXHHX XHXXXXHHXXXXXXXHHXHHHXXHXXXHHHXHXXXXHXHHXXXXXHHXXHH
+               CCC  C CCCCCCCCCCCC C CCCCCCC CCCCCCCCCCCCCCCCCCCCCCXXCCCCCCCCXXC CXCCCCXXCCCCCCCXXCXXXCCXCCCXXXCXCCCCXCXXCCCCCXXCCXX
 """"""""""""""-"""""""-----"---"-"----------"--"------------"--"---"+"-----"---"---"""--------"-"-""-""-"---""""""""""""-"-"-"--"---
+++++++++++++++.+++++++.....+...+.+..........+..+............C..C...CCC.....C...C...CCC........C.C.CC.C+.C...CCCCCCCCCCCC.C.C.C..C...
+CCCCCCCCCCCCCC'CCCCCCC'''''C'''C'C''''''''''C''C''''''''''''B''B'''B B'''''B'''B'''BBB''''''''B'B'BB'BC'B'''BBBBBBBBBBBB'B'B'B''B'''
+              X       XXXXX XXX X XXXXXXXXXX XX XXXXXXXXXXXXHXXHXXXH HXXXXXHXXXHXXXHHHXXXXXXXXHXHXHHXH XHXXXHHHHHHHHHHHHXHXHXHXXHXXX
+              C       CCCCC CCC C CCCCCCCCCC CC CCCCCCCCCCCCXCCXCCCX XCCCCCXCCCXCCCXXXCCCCCCCCXCXCXXCX CXCCCXXXXXXXXXXXXCXCXCXCCXCCC
 -"""""""""-""-""-"-""---""-""--"----"-"-----------------------------"-------"---"---------"--""----""----"-""-""--"--""""-"""----"-"
+.+++++++++.++.++.+.++...++.++..+....+.+.............................C.......C...C.........C..CC....CC....C.CC.CC..C..CCCC.CCC....C.C
+'CCCCCCCCC'CC'CC'C'CC'''CC'CC''C''''C'C'''''''''''''''''''''''''''''B'''''''B'''B'''''''''B''BB''''BB''''B'BB'BB''B''BBBB'BBB''''B'B
+X         X  X  X X  XXX  X  XX XXXX X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXHXXXHXXXXXXXXXHXXHHXXXXHHXXXXHXHHXHHXXHXXHHHHXHHHXXXXHXH
+C         C  C  C C  CCC  C  CC CCCC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCXCCCXCCCCCCCCCXCCXXCCCCXXCCCCXCXXCXXCCXCCXXXXCXXXCCCCXCX
 """"""""""-"""""--"""-""--""-------"""------------------------------""----"--------"------""""---"-"-"""""-"-"-"-""""-"--"-""--""--"
+++++++++++.+++++..+++.++..++.......+++..............................CC....C........C......CCCC...C.C.CCCCC.C.C.C.CCCC.C..C.CC..CC..C
+CCCCCCCCCC'CCCCC''CCC'CC''CC'''''''CCC''''''''''''''''''''''''''''''BB''''B''''''''B''''''BBBB'''B'B'BBBBB'B'B'B'BBBB'B''B'BB''BB''B
+          X     XX   X  XX  XXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXXXHXXXXXXXXHXXXXXXHHHHXXXHXHXHHHHHXHXHXHXHHHHXHXXHXHHXXHHXXH
+          C     CC   C  CC  CCCCCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCCCXCCCCCCCCXCCCCCCXXXXCCCXCXCXXXXXCXCXCXCXXXXCXCCXCXXCCXXCCX
 """"""""""-"-"-"-----"-"---"------""""-""-----------------"---------"-"-"----------"---"--""-"-"--"--"-""""""-""--"""-"""--""-"+"--"
+++++++++++.+.+.+.....+.+...+......++++.++.................C.........C.C.C..........C...C..CC.C.C..C..C.CCCCCC.CC..CCC.CCC..CC.CCC..C
+CCCCCCCCCC'C'C'C'''''C'C'''C''''''CCCC'CC'''''''''''''''''B'''''''''B'B'B''''''''''B'''B''BB'B'B''B''B'BBBBBB'BB''BBB'BBB''BB'B B''B
+          X X X XXXXX X XXX XXXXXX    X  XXXXXXXXXXXXXXXXXHXXXXXXXXXHXHXHXXXXXXXXXXHXXXHXXHHXHXHXXHXXHXHHHHHHXHHXXHHHXHHHXXHHXH HXXH
+          C C C CCCCC C CCC CCCCCC    C  CCCCCCCCCCCCCCCCCXCCCCCCCCCXCXCXCCCCCCCCCCXCCCXCCXXCXCXCCXCCXCXXXXXXCXXCCXXXCXXXCCXXCX XCCX
 """+"+"""""-""""""-""--"--------""""+""""---"----"-----------"-----------------""---"-""------"---"--"------"""-""----"-""---""---""
++++C+C+++++.++++++.++..+........++++C++++...+....+...........+.................CC...C.CC......C...C..C......CCC.CC....C.CC...CC...CC
+CCC C CCCCC'CCCCCC'CC''C''''''''CCCC CCCC'''C''''C'''''''''''C'''''''''''''''''BB'''B'BB''''''B'''B''B''''''BBB'BB''''B'BB'''BB'''BB
+           X      X  XX XXXXXXXX         XXX XXXX XXXXXXXXXXX XXXXXXXXXXXXXXXXXHHXXXHXHHXXXXXXHXXXHXXHXXXXXXHHHXHHXXXXHXHHXXXHHXXXHH
+           C      C  CC CCCCCCCC         CCC CCCC CCCCCCCCCCC CCCCCCCCCCCCCCCCCXXCCCXCXXCCCCCCXCCCXCCXCCCCCCXXXCXXCCCCXCXXCCCXXCCCXX
 """""""""""""-"---"------------"+""""""---"----------------------""---""----"""-"-----"-""""-"""--"-"-""--""-"-"--"--"""-"-""-"--"--
++++++++++++++.+...+............+C++++++...+......................+C...CC....CCC.C.....C.CCCC.CCC..C.C.CC..CC.C.C..C..CCC.C.CC.C..C..
+CCCCCCCCCCCCC'C'''C''''''''''''C CCCCCC'''C''''''''''''''''''''''CB'''BB''''BBB'B'''''B'BBBB'BBB''B'B'BB''BB'B'B''B''BBB'B'BB'B''B''
+             X XXX XXXXXXXXXXXX        XXX XXXXXXXXXXXXXXXXXXXXXX HXXXHHXXXXHHHXHXXXXXHXHHHHXHHHXXHXHXHHXXHHXHXHXXHXXHHHXHXHHXHXXHXX
+             C CCC CCCCCCCCCCCC        CCC CCCCCCCCCCCCCCCCCCCCCC XCCCXXCCCCXXXCXCCCCCXCXXXXCXXXCCXCXCXXCCXXCXCXCCXCCXXXCXCXXCXCCXCC
 """""""""""""-""--""-"-""-----"""""-"""--------------------------"-------------------"--""--""-""---"--""""-"-""""-"""""""""""-"-"""
++++++++++++++.++..++.+.++.....+++++.+++..........................+...................C..CC..CC.CC...C..CCCC.C.CCCC.CCCCCCCCCCC.C.CCC
+CCCCCCCCCCCCC'CC''CC'C'CC'''''CCCCC'CCC''''''''''''''''''''''''''C'''''''''''''''''''B''BB''BB'BB'''B''BBBB'B'BBBB'BBBBBBBBBBB'B'BBB
+             X  XX  X X  XXXXX     X   XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXHXXHHXXHHXHHXXXHXXHHHHXHXHHHHXHHHHHHHHHHHXHXHHH
+             C  CC  C C  CCCCC     C   CCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCXCCXXCCXXCXXCCCXCCXXXXCXCXXXXCXXXXXXXXXXXCXCXXX
 """"""""""""-""-+--""-"--------""""-----------------------"-----"-------"-"-"---""-"---"--""-"""-""--"-"""""""""-------"""""""-"""""
+++++++++++++.++.C..++.+........++++.......................C.....C.......C.C.C...CC.C...C..CC.CCC.CC..C.CCCCCCCCC.......CCCCCCC.CCCCC
+CCCCCCCCCCCC'CC' ''CC'C''''''''CCCC'''''''''''''''''''''''B'''''B'''''''B'B'B'''BB'B'''B''BB'BBB'BB''B'BBBBBBBBB'''''''BBBBBBB'BBBBB
+            X  X XX  X XXXXXXXX    XXXXXXXXXXXXXXXXXXXXXXXHXXXXXHXXXXXXXHXHXHXXXHHXHXXXHXXHHXHHHXHHXXHXHHHHHHHHHXXXXXXXHHHHHHHXHHHHH
+            C  C CC  C CCCCCCCC    CCCCCCCCCCCCCCCCCCCCCCCXCCCCCXCCCCCCCXCXCXCCCXXCXCCCXCCXXCXXXCXXCCXCXXXXXXXXXCCCCCCCXXXXXXXCXXXXX
 """"""""---"-"-"---"--"--------"""""""------------------"-----"----"-"--"-"-""--"-""""""""-----"""-""-"""-"""-"""-"--"--"""""""""""-
+++++++++...+.+.+...+..+........+++++++..................C.....C....C.C..C.C.CC..C.CCCCCCCC.....CCC.CC.CCC.CCC.CCC.C..C..CCCCCCCCCCC.
+CCCCCCCC'''C'C'C'''C''C''''''''CCCCCCC''''''''''''''''''B'''''B''''B'B''B'B'BB''B'BBBBBBBB'''''BBB'BB'BBB'BBB'BBB'B''B''BBBBBBBBBBB'
+        XXX X X XXX XX XXXXXXXX       XXXXXXXXXXXXXXXXXXHXXXXXHXXXXHXHXXHXHXHHXXHXHHHHHHHHXXXXXHHHXHHXHHHXHHHXHHHXHXXHXXHHHHHHHHHHHX
+        CCC C C CCC CC CCCCCCCC       CCCCCCCCCCCCCCCCCCXCCCCCXCCCCXCXCCXCXCXXCCXCXXXXXXXXCCCCCXXXCXXCXXXCXXXCXXXCXCCXCCXXXXXXXXXXXC
 """"""-"-"-------"---"-"---------""""----"-----------------"-------"---"---"--"-""--"--"-"--"""-""--""--"""-""--"---"--"--"""--"-"-"
+++++++.+.+.......+...+.+.........++++....+.................C.......C...C...C..C.CC..C..C.C..CCC.CC..CC..CCC.CC..C...C..C..CCC..C.C.C
+CCCCCC'C'C'''''''C'''C'C'''''''''CCCC''''C'''''''''''''''''B'''''''B'''B'''B''B'BB''B''B'B''BBB'BB''BB''BBB'BB''B'''B''B''BBB''B'B'B
+      X X XXXXXXX XXX X XXXXXXXXX    XXXX XXXXXXXXXXXXXXXXXHXXXXXXXHXXXHXXXHXXHXHHXXHXXHXHXXHHHXHHXXHHXXHHHXHHXXHXXXHXXHXXHHHXXHXHXH
+      C C CCCCCCC CCC C CCCCCCCCC    CCCC CCCCCCCCCCCCCCCCCXCCCCCCCXCCCXCCCXCCXCXXCCXCCXCXCCXXXCXXCCXXCCXXXCXXCCXCCCXCCXCCXXXCCXCXCX
 """"""-"-"---"---""--"""-------"-""""----"--------------------"-------------------"--""--""-"""------"""""---"--"------""""""-""""-"
+++++++.+.+...+...++..+++.......+.++++....+....................C...................C..CC..CC.CCC......CCCCC...C..C......CCCCCC.CCCC.C
+CCCCCC'C'C'''C'''CC''CCC'''''''C'CCCC''''C''''''''''''''''''''B'''''''''''''''''''B''BB''BB'BBB''''''BBBBB'''B''B''''''BBBBBB'BBBB'B
+      X X XXX XXX  XX   XXXXXXX X    XXXX XXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXHXXHHXXHHXHHHXXXXXXHHHHHXXXHXXHXXXXXXHHHHHHXHHHHXH
+      C C CCC CCC  CC   CCCCCCC C    CCCC CCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCXCCXXCCXXCXXXCCCCCCXXXXXCCCXCCXCCCCCCXXXXXXCXXXXCX
 """"""-"--"---"--"--"------------"""""------------------------""----"""---"--"-"--"-""-"""-""--"-----"--"""""-"-""-""""""""""""""-""
+++++++.+..+...+..+..+............+++++........................CC....CCC...C..C.C..C.CC.CCC.CC..C.....C..CCCCC.C.CC.CCCCCCCCCCCCCC.CC
+CCCCCC'C''C'''C''C''C''''''''''''CCCCC''''''''''''''''''''''''BB''''BBB'''B''B'B''B'BB'BBB'BB''B'''''B''BBBBB'B'BB'BBBBBBBBBBBBBB'BB
+      X XX XXX XX XX XXXXXXXXXXXX     XXXXXXXXXXXXXXXXXXXXXXXXHHXXXXHHHXXXHXXHXHXXHXHHXHHHXHHXXHXXXXXHXXHHHHHXHXHHXHHHHHHHHHHHHHHXHH
+      C CC CCC CC CC CCCCCCCCCCCC     CCCCCCCCCCCCCCCCCCCCCCCCXXCCCCXXXCCCXCCXCXCCXCXXCXXXCXXCCXCCCCCXCCXXXXXCXCXXCXXXXXXXXXXXXXXCXX
 """"""-"""-"""-"----""""---"---""""""------------------------------"---"-"--------"-----"--""-""""--"-""------"--"--""-""--"--""-"""
+++++++.+++.+++.+....++++...+...++++++..............................C...C.C........C.....C..CC.CCCC..C.CC......C..C..CC.CC..C..CC.CCC
+CCCCCC'CCC'CCC'C''''CCCC'''C'''CCCCCC''''''''''''''''''''''''''''''B'''B'B''''''''B'''''B''BB'BBBB''B'BB''''''B''B''BB'BB''B''BB'BBB
+      X   X   X XXXX    XXX XXX      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXHXHXXXXXXXXHXXXXXHXXHHXHHHHXXHXHHXXXXXXHXXHXXHHXHHXXHXXHHXHHH
+      C   C   C CCCC    CCC CCC      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXCXCCCCCCCCXCCCCCXCCXXCXXXXCCXCXXCCCCCCXCCXCCXXCXXCCXCCXXCXXX
 """-"""""""-----"-------------"-"""-----------------------------------"--"-"-""------"--""---""-"-"--"---"--""---""""""--"-"-"------
++++.+++++++.....+.............+.+++...................................C..C.C.CC......C..CC...CC.C.C..C...C..CC...CCCCCC..C.C.C......
+CCC'CCCCCCC'''''C'''''''''''''C'CCC'''''''''''''''''''''''''''''''''''B''B'B'BB''''''B''BB'''BB'B'B''B'''B''BB'''BBBBBB''B'B'B''''''
+   X       XXXXX XXXXXXXXXXXXX X   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXHXHXHHXXXXXXHXXHHXXXHHXHXHXXHXXXHXXHHXXXHHHHHHXXHXHXHXXXXXX
+   C       CCCCC CCCCCCCCCCCCC C   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXCXCXXCCCCCCXCCXXCCCXXCXCXCCXCCCXCCXXCCCXXXXXXCCXCXCXCCCCCC
 """"""""-"""-""-""---------------"-----------------------------------"---"----"--"-------"----"""""---""-"-------"-""""-""""-""""-""
+++++++++.+++.++.++...............+...................................C...C....C..C.......C....CCCCC...CC.C.......C.CCCC.CCCC.CCCC.CC
+CCCCCCCC'CCC'CC'CC'''''''''''''''C'''''''''''''''''''''''''''''''''''B'''B''''B''B'''''''B''''BBBBB'''BB'B'''''''B'BBBB'BBBB'BBBB'BB
+        X   X  X  XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXHXXXXHXXHXXXXXXXHXXXXHHHHHXXXHHXHXXXXXXXHXHHHHXHHHHXHHHHXHH
+        C   C  C  CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXCCCCXCCXCCCCCCCXCCCCXXXXXCCCXXCXCCCCCCCXCXXXXCXXXXCXXXXCXX
 """-""""""""-"""-"------------"-------"-----------------------------"-""""-----"-"-"-""-"-"""--""-----"""""-"--"-"""""""-""-""""-"-"
++++.++++++++.+++.+............+.......+.............................C.CCCC.....C.C.C.+C.C.CCC..CC.....CCCCC.C..+.CCCCCCC.CC.CCCC.C.C
+CCC'CCCCCCCC'CCC'C''''''''''''C'''''''C'''''''''''''''''''''''''''''B'BBBB'''''B'B'B'CB'B'BBB''BB'''''BBBBB'B''C'BBBBBBB'BB'BBBB'B'B
+   X        X   X XXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXHHHHXXXXXHXHXHX HXHXHHHXXHHXXXXXHHHHHXHXX XHHHHHHHXHHXHHHHXHXH
+   C        C   C CCCCCCCCCCCC CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCXXXXCCCCCXCXCXC XCXCXXXCCXXCCCCCXXXXXCXCC CXXXXXXXCXXCXXXXCXCX
 """"-"-"""-"""""""--"---"------""-"---------------------------"--"----"------"-"--"-"--"-------"--"-----------------"--""""-""--"--"
+++++.+.+++.+++++++..+...+......++.+...........................C..C....C......C.C..C.C..C.......C..C.................C..CCCC.CC..C..C
+CCCC'C'CCC'CCCCCCC''C'''C''''''CC'C'''''''''''''''''''''''''''B''B''''B''''''B'B''B'B''B'''''''B''B'''''''''''''''''B''BBBB'BB''B''B
+    X X   X       XX XXX XXXXXX  X XXXXXXXXXXXXXXXXXXXXXXXXXXXHXXHXXXXHXXXXXXHXHXXHXHXXHXXXXXXXHXXHXXXXXXXXXXXXXXXXXHXXHHHHXHHXXHXXH
+    C C   C       CC CCC CCCCCC  C CCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXCCCCXCCCCCCXCXCCXCXCCXCCCCCCCXCCXCCCCCCCCCCCCCCCCCXCCXXXXCXXCCXCCX
 ""-"""--"-"""""---"-"----------------------------------------------""-----"""------"-""-"-"--"-------"""-""""""----"-"""""""""""""""
+++.+++..+.+++++...+.+..............................................CC.....CCC......C.CC.C.C..C.......CCC.CCCCCC....C.CCCCCCCCCCCCCCC
+CC'CCC''C'CCCCC'''C'C''''''''''''''''''''''''''''''''''''''''''''''BB'''''BBB''''''B'BB'B'B''B'''''''BBB'BBBBBB''''B'BBBBBBBBBBBBBBB
+  X   XX X     XXX X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXXXXHHHXXXXXXHXHHXHXHXXHXXXXXXXHHHXHHHHHHXXXXHXHHHHHHHHHHHHHHH
+  C   CC C     CCC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCCCCXXXCCCCCCXCXXCXCXCCXCCCCCCCXXXCXXXXXXCCCCXCXXXXXXXXXXXXXXX
 """-""""""""""--"---"-"----------"------+-------------------------"----"------"-""----"---"--""-""""-----""""-""---"""""""""""-"-"""
++++.++++++++++..+...+.+..........+......C.........................C....C......C.CC....C...C..CC.CCCC.....CCCC.CC...CCCCCCCCCCC.C.CCC
+CCC'CCCCCCCCCC''C'''C'C''''''''''C'''''' '''''''''''''''''''''''''B''''B''''''B'BB''''B'''B''BB'BBBB'''''BBBB'BB'''BBBBBBBBBBB'B'BBB
+   X          XX XXX X XXXXXXXXXX XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXHXXXXHXXXXXXHXHHXXXXHXXXHXXHHXHHHHXXXXXHHHHXHHXXXHHHHHHHHHHHXHXHHH
+   C          CC CCC C CCCCCCCCCC CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCXCCCCXCCCCCCXCXXCCCCXCCCXCCXXCXXXXCCCCCXXXXCXXCCCXXXXXXXXXXXCXCXXX
 """""""--"-""---"-"------------"---"----"---------------------"---"""----"----"-"""-"---"-"----"""-----"-"""""""---"--"-""""""""-"-"
++++++++..+.++...+.+............+...+....+.....................C...CC+....C....C.CCC.C...C.C....CCC.....C.CCCCCCC...C..C.CCCCCCCC.C.C
+CCCCCCC''C'CC'''C'C''''''''''''C'''C''''C'''''''''''''''''''''B'''BBC''''B''''B'BBB'B'''B'B''''BBB'''''B'BBBBBBB'''B''B'BBBBBBBB'B'B
+       XX X  XXX X XXXXXXXXXXXX XXX XXXX XXXXXXXXXXXXXXXXXXXXXHXXXHH XXXXHXXXXHXHHHXHXXXHXHXXXXHHHXXXXXHXHHHHHHHXXXHXXHXHHHHHHHHXHXH
+       CC C  CCC C CCCCCCCCCCCC CCC CCCC CCCCCCCCCCCCCCCCCCCCCXCCCXX CCCCXCCCCXCXXXCXCCCXCXCCCCXXXCCCCCXCXXXXXXXCCCXCCXCXXXXXXXXCXCX
 "-""""-"-""-"-""--"--"-------------------"--"----"------------"------"--"-------------"""--""-------"-------"---"""-"""""""--"""--"-
++.++++.+.++.+.++..+..+...................+..+....C............C......+..C.............CC+..+C.......C.......C...CCC.CCCCCCC..CCC..C.
+C'CCCC'C'CC'C'CC''C''C'''''''''''''''''''C''C''''B''''''''''''B''''''C''B'''''''''''''BBC''CB'''''''B'''''''B'''BBB'BBBBBBB''BBB''B'
+ X    X X  X X  XX XX XXXXXXXXXXXXXXXXXXX XX XXXXHXXXXXXXXXXXXHXXXXXX XXHXXXXXXXXXXXXXHH XX HXXXXXXXHXXXXXXXHXXXHHHXHHHHHHHXXHHHXXHX
+ C    C C  C C  CC CC CCCCCCCCCCCCCCCCCCC CC CCCCXCCCCCCCCCCCCXCCCCCC CCXCCCCCCCCCCCCCXX CC XCCCCCCCXCCCCCCCXCCCXXXCXXXXXXXCCXXXCCXC
 """""""------"--""--"--------------"-----------------"""--"-----------"-----------""-""--"""-"-"-----"""-"""-"""""-"""-"""""""""""""
++++++++......+..++..+..............+.................CC+..C...........+...........CC.CC..CCC.C.C.....CCC.CCC.CCCCC.CCC.CCCCCCCCCCCCC
+CCCCCCC''''''C''CC''C''''''''''''''C'''''''''''''''''BBC''B'''''''''''C'''''''''''BB'BB''BBB'B'B'''''BBB'BBB'BBBBB'BBB'BBBBBBBBBBBBB
+       XXXXXX XX  XX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXHH XXHXXXXXXXXXXX XXXXXXXXXXXHHXHHXXHHHXHXHXXXXXHHHXHHHXHHHHHXHHHXHHHHHHHHHHHHH
+       CCCCCC CC  CC CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCXX CCXCCCCCCCCCCC CCCCCCCCCCCXXCXXCCXXXCXCXCCCCCXXXCXXXCXXXXXCXXXCXXXXXXXXXXXXX
 """""""----"-----"--"--------------"------------------------------"----------"-"--"-"""""----""""---""""""""-"""""-"""-""""""--"""""
++++++++....+.....+..+..............+..............................C..........C.C..C.CCCCC....CCCC...CCCCCCCC.CCCCC.CCC.CCCCCC..CCCCC
+CCCCCCC''''C'''''C''C''''''''''''''C''''''''''''''''''''''''''''''B''''''''''B'B''B'BBBBB''''BBBB'''BBBBBBBB'BBBBB'BBB'BBBBBB''BBBBB
+       XXXX XXXXX XX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXHXHXXHXHHHHHXXXXHHHHXXXHHHHHHHHXHHHHHXHHHXHHHHHHXXHHHHH
+       CCCC CCCCC CC CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCXCXCCXCXXXXXCCCCXXXXCCCXXXXXXXXCXXXXXCXXXCXXXXXXCCXXXXX
 ""-""----"-----------------------------------------"--------------"-"-------""-"--"--"-"------""-""""-"-""-"-"""-"""--"""""""""-""""
+++.++....+.........................................C..............C.C.......CC.C..C..C.C......CC.CCCC.C.CC.C.CCC.CCC..CCCCCCCCC.CCCC
+CC'CC''''C'''''''''''''''''''''''''''''''''''''''''B''''''''''''''B'B'''''''BB'B''B''B'B''''''BB'BBBB'B'BB'B'BBB'BBB''BBBBBBBBB'BBBB
+  X  XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXHXHXXXXXXXHHXHXXHXXHXHXXXXXXHHXHHHHXHXHHXHXHHHXHHHXXHHHHHHHHHXHHHH
+  C  CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCXCXCCCCCCCXXCXCCXCCXCXCCCCCCXXCXXXXCXCXXCXCXXXCXXXCCXXXXXXXXXCXXXX
 ""-""-"--"-----------------------------------------"---------"-"---"---"-""-""-"-"-"--"----""---""""""--"-""-"""""--""""-""--"""-"""
+++.++.+..+.........................................C.........C.C...C...C.CC.CC.C.C.C..C....CC...CCCCCC..C.CC.CCCCC..CCCC.CC..CCC.CCC
+CC'CC'C''C'''''''''''''''''''''''''''''''''''''''''B'''''''''B'B'''B'''B'BB'BB'B'B'B''B''''BB'''BBBBBB''B'BB'BBBBB''BBBB'BB''BBB'BBB
+  X  X XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXHXHXXXHXXXHXHHXHHXHXHXHXXHXXXXHHXXXHHHHHHXXHXHHXHHHHHXXHHHHXHHXXHHHXHHH
+  C  C CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCXCXCCCXCCCXCXXCXXCXCXCXCCXCCCCXXCCCXXXXXXCCXCXXCXXXXXCCXXXXCXXCCXXXCXXX
 --""""----------------------------------------------------"---------"-""-""-""-""------"---""-"""""-""-"""""-""""""-"""-"-""""""""""
+..++++....................................................C.........C.CC.CC.CC.CC......C...CC.CCCCC.CC.CCCCC.CCCCCC.CCC.C.CCCCCCCCCC
+''CCCC''''''''''''''''''''''''''''''''''''''''''''''''''''B'''''''''B'BB'BB'BB'BB''''''B'''BB'BBBBB'BB'BBBBB'BBBBBB'BBB'B'BBBBBBBBBB
+XX    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXHXHHXHHXHHXHHXXXXXXHXXXHHXHHHHHXHHXHHHHHXHHHHHHXHHHXHXHHHHHHHHHH
+CC    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCXCXXCXXCXXCXXCCCCCCXCCCXXCXXXXXCXXCXXXXXCXXXXXXCXXXCXCXXXXXXXXXX
 "-""--"--"-----------------------------------------"---"--"--------"-"""""-""-""-----"-""--"--""""--"""""""""""""-""""""""""""""""""
++.++..+..+.........................................C...C..C........C.CCCCC.CC.CC.....C.CC..C..CCCC..CCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCC
+C'CC''C''C'''''''''''''''''''''''''''''''''''''''''B'''B''B''''''''B'BBBBB'BB'BB'''''B'BB''B''BBBB''BBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBB
+ X  XX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXHXXHXXXXXXXXHXHHHHHXHHXHHXXXXXHXHHXXHXXHHHHXXHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHH
+ C  CC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXCCXCCCCCCCCXCXXXXXCXXCXXCCCCCXCXXCCXCCXXXXCCXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXX
 """-"--"-"--""--------------------------------------"--------------"---"--"""--"-""-""-+---""""-"----"-""""""""-""""""""""""-"-"""""
++++.+..+.+..++......................................C..............C...C..CCC..C.CC.CC.C...CCCC.C....C.CCCCCCCC.CCCCCCCC+CCC.C.CCCCC
+CCC'C''C'C''CC''''''''''''''''''''''''''''''''''''''B''''''''''''''B'''B''BBB''B'BB'BB' '''BBBB'B''''B'BBBBBBBB'BBBBBBBBCBBB'B'BBBBB
+   X XX X XX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXHXXXHXXHHHXXHXHHXHHX XXXHHHHXHXXXXHXHHHHHHHHXHHHHHHHH HHHXHXHHHHH
+   C CC C CC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCXCCCXCCXXXCCXCXXCXXC CCCXXXXCXCCCCXCXXXXXXXXCXXXXXXXX XXXCXCXXXXX
 "-"-"""-"---"--------"--------------------"----------------"-"-----"-"--"""---""-"-------"-"-""-"-""""-"-""""-""""--"""""--""""-"""-
++.+.+++.+...+........+....................C................C.C.....C.C..CCC...CC.C.......C.C.CC.C.CCCC.C.CCCC.+CCC..CCCC+..CCCC.CCC.
+C'C'CCC'C'''C''''''''C''''''''''''''''''''B''''''''''''''''B'B'''''B'B''BBB'''BB'B'''''''B'B'BB'B'BBBB'B'BBBB'CBBB''BBBBC''BBBB'BBB'
+ X X   X XXX XXXXXXXX XXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXHXHXXXXXHXHXXHHHXXXHHXHXXXXXXXHXHXHHXHXHHHHXHXHHHHX HHHXXHHHH XXHHHHXHHHX
+ C C   C CCC CCCCCCCC CCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCXCXCCCCCXCXCCXXXCCCXXCXCCCCCCCXCXCXXCXCXXXXCXCXXXXC XXXCCXXXX CCXXXXCXXXC
 -----"--+----------------------------------------------""""-"----"""""--"-"""""--"""-"""""""""""""-"--""""""""-""""-""""""""""""""""
+.....+..C..............................................CCCC.C....CCCCC..C.CCCCC..CCC.CCCCCCCCCCCCC.C..CCCCCCCC.CCCC.CCCCCCCCCCCCCCCC
+'''''C'' ''''''''''''''''''''''''''''''''''''''''''''''BBBB'B''''BBBBB''B'BBBBB''BBB'BBBBBBBBBBBBB'B''BBBBBBBB'BBBB'BBBBBBBBBBBBBBBB
+XXXXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHHHXHXXXXHHHHHXXHXHHHHHXXHHHXHHHHHHHHHHHHHXHXXHHHHHHHHXHHHHXHHHHHHHHHHHHHHHH
+CCCCC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXXXCXCCCCXXXXXCCXCXXXXXCCXXXCXXXXXXXXXXXXXCXCCXXXXXXXXCXXXXCXXXXXXXXXXXXXXXX
 -----"---------------------------------------------------"---------"""-""-"-"--"--"""-""""""-""""""""-""-"""""-""""""""""""""""""-""
+.....+...................................................C.........CCC.CC.C.C..C..CCC.CCCCCC.CCCCCCCC.CC.CCCCC.CCCCCCCCCCCCCCCCCC.CC
+'''''C'''''''''''''''''''''''''''''''''''''''''''''''''''B'''''''''BBB'BB'B'B''B''BBB'BBBBBB'BBBBBBBB'BB'BBBBB'BBBBBBBBBBBBBBBBBB'BB
+XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXHHHXHHXHXHXXHXXHHHXHHHHHHXHHHHHHHHXHHXHHHHHXHHHHHHHHHHHHHHHHHHXHH
+CCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCXXXCXXCXCXCCXCCXXXCXXXXXXCXXXXXXXXCXXCXXXXXCXXXXXXXXXXXXXXXXXXCXX
 ----"--"-----"------------------------------------"---"--"-------"--""-"-"----""-"-----""""--""-"""""""--"-"""""""""""""""""""""""""
+....+..+.....+....................................C...C..C.......C..CC.C.C....CC.C.....CCCC..CC.CCCCCCC..C.CCCCCCCCCCCCCCCCCCCCCCCCC
+''''C''C'''''C''''''''''''''''''''''''''''''''''''B'''B''B'''''''B''BB'B'B''''BB'B'''''BBBB''BB'BBBBBBB''B'BBBBBBBBBBBBBBBBBBBBBBBBB
+XXXX XX XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXHXXHXXXXXXXHXXHHXHXHXXXXHHXHXXXXXHHHHXXHHXHHHHHHHXXHXHHHHHHHHHHHHHHHHHHHHHHHHH
+CCCC CC CCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXCCXCCCCCCCXCCXXCXCXCCCCXXCXCCCCCXXXXCCXXCXXXXXXXCCXCXXXXXXXXXXXXXXXXXXXXXXXXX
 "-""---"-----------------"---------"-----------------+------------"---"""-"----""---"-"---""""+---"-"""""--""--"-""""""-""#""-""""""
++.++...+.................+.........+.................C............C...CCC.C....CC...C.C...CCCCC...C.CCCCC..CC..C.CCCCCC.CCXCC.CCCCCC
+C'CC'''C'''''''''''''''''C'''''''''C''''''''''''''''' ''''''''''''B'''BBB'B''''BB'''B'B'''BBBB '''B'BBBBB''BB''B'BBBBBB'BB$BB'BBBBBB
+ X  XXX XXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXHXXXHHHXHXXXXHHXXXHXHXXXHHHH XXXHXHHHHHXXHHXXHXHHHHHHXHH_HHXHHHHHH
+ C  CCC CCCCCCCCCCCCCCCCC CCCCCCCCC CCCCCCCCCCCCCCCCC CCCCCCCCCCCCXCCCXXXCXCCCCXXCCCXCXCCCXXXX CCCXCXXXXXCCXXCCXCXXXXXXCXX&XXCXXXXXX
 -""-"----------------------------------"---------"-------------------"-"""----"""""-"--""-"""""-"""""""-"--"""""""""""""""""""""-"""
+.++.+..................................C.........C...................C.CCC....CCCCC.C..CC.CCCCC.CCCCCCC.C..CCCCCCCCCCCCCCCCCCCCC.CCC
+'CC'C''''''''''''''''''''''''''''''''''B'''''''''B'''''''''''''''''''B'BBB''''BBBBB'B''BB'BBBBB'BBBBBBB'B''BBBBBBBBBBBBBBBBBBBBB'BBB
+X  X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXHXXXXXXXXXXXXXXXXXXXHXHHHXXXXHHHHHXHXXHHXHHHHHXHHHHHHHXHXXHHHHHHHHHHHHHHHHHHHHHXHHH
+C  C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCXCCCCCCCCCCCCCCCCCCCXCXXXCCCCXXXXXCXCCXXCXXXXXCXXXXXXXCXCCXXXXXXXXXXXXXXXXXXXXXCXXX
 -"""----"---"---------"----------------------"----------------"---"--"---"--""""-""-"""--""-"""""""""""---""""""""""""""""""-"""""""
+.+++....+...+.........+......................C................C...C..C...C..CCCC.CC.CCC..CC.CCCCCCCCCCC...CCCCCCCCCCCCCCCCCC.CCCCCCC
+'CCC''''C'''C'''''''''C''''''''''''''''''''''B''''''''''''''''B'''B''B'''B''BBBB'BB'BBB''BB'BBBBBBBBBBB'''BBBBBBBBBBBBBBBBBB'BBBBBBB
+X   XXXX XXX XXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXHXXXHXXHXXXHXXHHHHXHHXHHHXXHHXHHHHHHHHHHHXXXHHHHHHHHHHHHHHHHHHXHHHHHHH
+C   CCCC CCC CCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCXCCCXCCXCCCXCCXXXXCXXCXXXCCXXCXXXXXXXXXXXCCCXXXXXXXXXXXXXXXXXXCXXXXXXX
 ---"-"--"--------------------------------------------"-------------"---"""---"""-""--"""-"""-"""""-""""--""""""""""-""""""""""""""""
+...+.+..+............................................C.............C...CCC...CCC.CC..CCC.CCC.CCCCC.CCCC..CCCCCCCCCC.CCCCCCCCCCCCCCCC
+'''C'C''C''''''''''''''''''''''''''''''''''''''''''''B'''''''''''''B'''BBB'''BBB'BB''BBB'BBB'BBBBB'BBBB''BBBBBBBBBB'BBBBBBBBBBBBBBBB
+XXX X XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXHXXXHHHXXXHHHXHHXXHHHXHHHXHHHHHXHHHHXXHHHHHHHHHHXHHHHHHHHHHHHHHHH
+CCC C CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCXCCCXXXCCCXXXCXXCCXXXCXXXCXXXXXCXXXXCCXXXXXXXXXXCXXXXXXXXXXXXXXXX
 -"---""--"----------"----------------------"-"---"---"---"--"--------""-"""--"-"---"-"""""""""-"""""""""""-""""""""""""""""""""-""""
+.+...++..+..........+......................C.C...C...C...C..C........CC.CCC..C.C...C.CCCCCCCCC.CCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCC.CCCC
+'C'''CC''C''''''''''C''''''''''''''''''''''B'B'''B'''B'''B''B''''''''BB'BBB''B'B'''B'BBBBBBBBB'BBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBB'BBBB
+X XXX  XX XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXHXHXXXHXXXHXXXHXXHXXXXXXXXHHXHHHXXHXHXXXHXHHHHHHHHHXHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHXHHHH
+C CCC  CC CCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCXCXCCCXCCCXCCCXCCXCCCCCCCCXXCXXXCCXCXCCCXCXXXXXXXXXCXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXCXXXX
 "--"-------"---------------------------------"----"-"----"-""""---"--""-"-""-"-"-""--"""""""""""""-""""""""""""""-""""""""""""""""""
++..+.......+.................................C....C.C....C.CCCC...C..CC.C.CC.C.C.CC..CCCCCCCCCCCCC.CCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCC
+C''C'''''''C'''''''''''''''''''''''''''''''''B''''B'B''''B'BBBB'''B''BB'B'BB'B'B'BB''BBBBBBBBBBBBB'BBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBB
+ XX XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXHXHXXXXHXHHHHXXXHXXHHXHXHHXHXHXHHXXHHHHHHHHHHHHHXHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHH
+ CC CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCXCXCCCCXCXXXXCCCXCCXXCXCXXCXCXCXXCCXXXXXXXXXXXXXCXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXX
 --""--"------------------------------------"------"-------"-"----"--"""----"""-"-"""""-""""""--""""""""-"-""""""""""""""""""""""""""
+..++..+....................................C......C.......C.C....C..CCC....CCC.C.CCCCC.CCCCCC..CCCCCCCC.C.CCCCCCCCCCCCCCCCCCCCCCCCCC
+''CC''C''''''''''''''''''''''''''''''''''''B''''''B'''''''B'B''''B''BBB''''BBB'B'BBBBB'BBBBBB''BBBBBBBB'B'BBBBBBBBBBBBBBBBBBBBBBBBBB
+XX  XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXHXXXXXXXHXHXXXXHXXHHHXXXXHHHXHXHHHHHXHHHHHHXXHHHHHHHHXHXHHHHHHHHHHHHHHHHHHHHHHHHHH
+CC  CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCXCCCCCCCXCXCCCCXCCXXXCCCCXXXCXCXXXXXCXXXXXXCCXXXXXXXXCXCXXXXXXXXXXXXXXXXXXXXXXXXXX
 -"-"--"--"----------------------------"---------------"-"----"----""-"--"---""""""-""""""""""-""""""""""""-"""""""""""""""""""""""""
+.+.+..+..+............................C...............C.C....C....CC.C..C...CCCCCC.CCCCCCCCCC.CCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCC
+'C'C''C''C''''''''''''''''''''''''''''B'''''''''''''''B'B''''B''''BB'B''B'''BBBBBB'BBBBBBBBBB'BBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBB
+X X XX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXHXHXXXXHXXXXHHXHXXHXXXHHHHHHXHHHHHHHHHHXHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHH
+C C CC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCXCXCCCCXCCCCXXCXCCXCCCXXXXXXCXXXXXXXXXXCXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXX
 -"-------"---------------------------------------"-------""--"----""-"""""-""-""--""-"""--""""-""""---""""-"""""-"""""""""""""""""""
+.+.......+.......................................C.......CC..C....CC.CCCCC.CC.CC..CC.CCC..CCCC.CCCC...CCCC.CCCCC.CCCCCCCCCCCCCCCCCCC
+'C'''''''C'''''''''''''''''''''''''''''''''''''''B'''''''BB''B''''BB'BBBBB'BB'BB''BB'BBB''BBBB'BBBB'''BBBB'BBBBB'BBBBBBBBBBBBBBBBBBB
+X XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXHHXXHXXXXHHXHHHHHXHHXHHXXHHXHHHXXHHHHXHHHHXXXHHHHXHHHHHXHHHHHHHHHHHHHHHHHHH
+C CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCXXCCXCCCCXXCXXXXXCXXCXXCCXXCXXXCCXXXXCXXXXCCCXXXXCXXXXXCXXXXXXXXXXXXXXXXXXX
 ""----------"------------------------------""-----"-""-"-"---"-""""""""--"""""""""-"-"""""""""""""""""""""""""""""""""""""""""""""""
+++..........+..............................CC.....C.CC.C.C...C.CCCCCCCC..CCCCCCCCC.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+CC''''''''''C''''''''''''''''''''''''''''''BB'''''B'BB'B'B'''B'BBBBBBBB''BBBBBBBBB'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+  XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXXXXHXHHXHXHXXXHXHHHHHHHHXXHHHHHHHHHXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+  CCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCCCCXCXXCXCXCCCXCXXXXXXXXCCXXXXXXXXXCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 -""--------------------------------------------"---"""-------"---"""-""""-""--""""-""""""""-""""""""""""""""-"""""""""""""""""""""""
+.++............................................C...CCC.......C...CCC.CCCC.CC..CCCC.CCCCCCCC.CCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCC
+'CC''''''''''''''''''''''''''''''''''''''''''''B'''BBB'''''''B'''BBB'BBBB'BB''BBBB'BBBBBBBB'BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBB
+X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXHHHXXXXXXXHXXXHHHXHHHHXHHXXHHHHXHHHHHHHHXHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHH
+C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXXXCCCCCCCXCCCXXXCXXXXCXXCCXXXXCXXXXXXXXCXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXX
 "-"-----------------------------------------------"---------"--"----"--""---""""""""""-""-"--""""""""""""""""""""-""""""""""""""""-"
++.+...............................................C.........C..C....C..CC...CCCCCCCCCC.CC.C..CCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCC.C
+C'C'''''''''''''''''''''''''''''''''''''''''''''''B'''''''''B''B''''B''BB'''BBBBBBBBBB'BB'B''BBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBB'B
+ X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXHXXHXXXXHXXHHXXXHHHHHHHHHHXHHXHXXHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHXH
+ C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCXCCXCCCCXCCXXCCCXXXXXXXXXXCXXCXCCXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXCX
 --"---------------------------------------------"-"-"-"------""""-""-"""-"--""-""--""-""""-"+"""""-"""""""""""-""""""""""-""""""""""
+..+.............................................C.C.C.C......CCCC.CC.CCC.C..CC.CC..CC.CCCC.CCCCCCC.CCCCCCCCCCC.CCCCCCCCCC.CCCCCCCCCC
+''C'''''''''''''''''''''''''''''''''''''''''''''B'B'B'B''''''BBBB'BB'BBB'B''BB'BB''BB'BBBB'B BBBBB'BBBBBBBBBBB'BBBBBBBBBB'BBBBBBBBBB
+XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXHXHXHXXXXXXHHHHXHHXHHHXHXXHHXHHXXHHXHHHHXH HHHHHXHHHHHHHHHHHXHHHHHHHHHHXHHHHHHHHHH
+CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCXCXCXCCCCCCXXXXCXXCXXXCXCCXXCXXCCXXCXXXXCX XXXXXCXXXXXXXXXXXCXXXXXXXXXXCXXXXXXXXXX
 "-------"----------------------"------"---------------------"------"-""-""--"""-"""""""""""""-""""""-"-""""""""""-"""""""""-"""""""-
++.......+......................+......+.....................C......C.CC.CC..CCC.CCCCCCCCCCCCC.CCCCCC.C.CCCCCCCCCC.CCCCCCCCC.CCCCCCC.
+C'''''''C''''''''''''''''''''''C''''''C'''''''''''''''''''''B''''''B'BB'BB''BBB'BBBBBBBBBBBBB'BBBBBB'B'BBBBBBBBBB'BBBBBBBBB'BBBBBBB'
+ XXXXXXX XXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXXXXXXXXXXXHXXXXXXHXHHXHHXXHHHXHHHHHHHHHHHHHXHHHHHHXHXHHHHHHHHHHXHHHHHHHHHXHHHHHHHX
+ CCCCCCC CCCCCCCCCCCCCCCCCCCCCC CCCCCC CCCCCCCCCCCCCCCCCCCCCXCCCCCCXCXXCXXCCXXXCXXXXXXXXXXXXXCXXXXXXCXCXXXXXXXXXXCXXXXXXXXXCXXXXXXXC
 --"-----"----------------------""----------------"----"--"-"-"-"--""--"-"---"""""""--"""""""""""""""""-"""""""""""""""""""""""""""""
+..+.....+......................++................+....C..C.C.C.+..CC..C.C...CCCCCCC..CCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+''C'''''C''''''''''''''''''''''CC''''''''''''''''C''''B''B'B'B'C''BB''B'B'''BBBBBBB''BBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+XX XXXXX XXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX XXXXHXXHXHXHX XXHHXXHXHXXXHHHHHHHXXHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+CC CCCCC CCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC CCCCXCCXCXCXC CCXXCCXCXCCCXXXXXXXCCXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 "----------+-+------------"---------"--------"--"---""""""---""---""--"""-"-""""""""-"""""""""""""""""""""""""""""""""""""""""""""""
++..........C.C............+.........+........C..C...CCCCCC...CC...CC..CCC.C.CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C'''''''''' ' ''''''''''''C'''''''''C''''''''B''B'''BBBBBB'''BB'''BB''BBB'B'BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ XXXXXXXXXX X XXXXXXXXXXXX XXXXXXXXX XXXXXXXXHXXHXXXHHHHHHXXXHHXXXHHXXHHHXHXHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ CCCCCCCCCC C CCCCCCCCCCCC CCCCCCCCC CCCCCCCCXCCXCCCXXXXXXCCCXXCCCXXCCXXXCXCXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 """-"------------------------"----------"--""--""----"-"-----""----"--"-"""-"""""""""--""""-"""-""""""""""""""""-"""""""""""""""-"""
++++.+........................C..........+..CC..CC....C.C.....CC....C..C.CCC.CCCCCCCCC..CCCC.CCC.CCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCC.CCC
+CCC'C''''''''''''''''''''''''B''''''''''C''BB''BB''''B'B'''''BB''''B''B'BBB'BBBBBBBBB''BBBB'BBB'BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBB'BBB
+   X XXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXX XXHHXXHHXXXXHXHXXXXXHHXXXXHXXHXHHHXHHHHHHHHHXXHHHHXHHHXHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHXHHH
+   C CCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCC CCXXCCXXCCCCXCXCCCCCXXCCCCXCCXCXXXCXXXXXXXXXCCXXXXCXXXCXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXCXXX
 +----------------------------------------------""-"---"-""-"---"-"-""-""""-"-"-""-"-"--""-""--"-""""""-"""""""""""""""""""""""""""""
+C..............................................CC.C...C.CC.C...C.C.CC.CCCC.C.C.CC.C.C..CC.CC..C.CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ ''''''''''''''''''''''''''''''''''''''''''''''BB'B'''B'BB'B'''B'B'BB'BBBB'B'B'BB'B'B''BB'BB''B'BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXHXXXHXHHXHXXXHXHXHHXHHHHXHXHXHHXHXHXXHHXHHXXHXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCXCCCXCXXCXCCCXCXCXXCXXXXCXCXCXXCXCXCCXXCXXCCXCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ZM+"-"---------------------------------"--------"-"----"""--""---"""-"-"""---""""""-""-""""""""""-"""""""""""""""""""""""-""""""""-"
+  C+.C.................................C........C.C....CCC..CC...CCC.C.CCC...CCCCCC.CC.CCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCC.C
+   C'B'''''''''''''''''''''''''''''''''B''''''''B'B''''BBB''BB'''BBB'B'BBB'''BBBBBB'BB'BBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBB'B
+    XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXHXHXXXXHHHXXHHXXXHHHXHXHHHXXXHHHHHHXHHXHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHXH
+    CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCXCXCCCCXXXCCXXCCCXXXCXCXXXCCCXXXXXXCXXCXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXCX
 AZ=Z-+----"---------"-------"------------""--------""--""-"----"""--"""-""""""--"-"""""""""""-"""""""-""""""""""""""""""""""""""""""
+  C CC....+.........C.......C............CC........CC..CC.C....CCC..CCC.CCCCCC..C.CCCCCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+      ''''C'''''''''B'''''''B''''''''''''BB''''''''BB''BB'B''''BBB''BBB'BBBBBB''B'BBBBBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+      XXXX XXXXXXXXXHXXXXXXXHXXXXXXXXXXXXHHXXXXXXXXHHXXHHXHXXXXHHHXXHHHXHHHHHHXXHXHHHHHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+      CCCC CCCCCCCCCXCCCCCCCXCCCCCCCCCCCCXXCCCCCCCCXXCCXXCXCCCCXXXCCXXXCXXXXXXCCXCXXXXXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 X==Z+=-=--"----"----------"----------------------"--"--"""--------"""-"-"-""--"-"""""-""""""-""""""""""""""""""""""""""""""""""""-"-
+    CCCC..+....C..........C......................C..C..CCC........CCC.C.C.CC..C.CCCCC.CCCCCC.CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCC.C.
+        ''C''''B''''''''''B''''''''''''''''''''''B''B''BBB''''''''BBB'B'B'BB''B'BBBBB'BBBBBB'BBBBBBBBBBCBBBBBBBBBBBBBBBBBBBBBBBBB'B'
+        XX XXXXHXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXHXXHXXHHHXXXXXXXXHHHXHXHXHHXXHXHHHHHXHHHHHHXHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHXHX
+        CC CCCCXCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCXCCXCCXXXCCCCCCCCXXXCXCXCXXCCXCXXXXXCXXXXXXCXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXCXC
 AAAA=AZZ=+-"----------"---------------"--"---"---"-""--"-"-""-""---"""""-"""""""""""""""""""""""-"""-"""""""""""""""""""""""""""""-"
+        CC.+..........C...............C..C...C...C.CC..C.C.CC.CC...CCCCC.CCCCCCCCCCCCCCCCCCCCCCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C
+          'C''''''''''B'''''''''''''''B''B'''B'''B'BB''B'B'BB'BB'''BBBBB'BBBBBBBBBBBBBBBBBBBBBBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B
+          X XXXXXXXXXXHXXXXXXXXXXXXXXXHXXHXXXHXXXHXHHXXHXHXHHXHHXXXHHHHHXHHHHHHHHHHHHHHHHHHHHHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXH
+          C CCCCCCCCCCXCCCCCCCCCCCCCCCXCCXCCCXCCCXCXXCCXCXCXXCXXCCCXXXXXCXXXXXXXXXXXXXXXXXXXXXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCX
 II=IIII+=Z++"------------------------------"----------""""-""""-""""""""--"""""""""""""""""""""-"""--""""""""""""""""""""-""""""""""
+          CC+..............................C..........CCCC.CCCC.CCCCCCCC..CCCCCCCCCCCCCCCCCCCCC.CCC..CCCCCCCCCCCCCCCCCCCC.CCCCCCCCCC
+            C''''''''''''''''''''''''''''''B''''''''''BBBB'BBBB'BBBBBBBB''BBBBBBBBBBBBBBBBBBBBB'BBB''BBBBBBBBBBBBBBBBBBBB'BBBBBBBBBB
+             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXHHHHXHHHHXHHHHHHHHXXHHHHHHHHHHHHHHHHHHHHHXHHHXXHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHH
+             CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCXXXXCXXXXCXXXXXXXXCCXXXXXXXXXXXXXXXXXXXXXCXXXCCXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXX
 =I1I++AI++=A"="------------------"--------"-""-""-----""---"--""-"-"-"""""""-"""""-""""""-"-"""""""-"""""-"""""""""-""""""""""#"""""
+            +C+..................C........C.CC.CC.....CC...C..CC.C.C.CCCCCCC.CCCCC.CCCCCC.C.CCCCCCC.CCCCC.CCCCCCCCC.CCCCCCCCCCXCCCCC
+            C C''''''''''''''''''B''''''''B'BB'BB'''''BB'''B''BB'B'B'BBBBBBB'BBBBB'BBBBBB'B'BBBBBBB'BBBBB'BBBBBBBBB'BBBBBBBBBB$BBBBB
+               XXXXXXXXXXXXXXXXXXHXXXXXXXXHXHHXHHXXXXXHHXXXHXXHHXHXHXHHHHHHHXHHHHHXHHHHHHXHXHHHHHHHXHHHHHXHHHHHHHHHXHHHHHHHHHH_HHHHH
+               CCCCCCCCCCCCCCCCCCXCCCCCCCCXCXXCXXCCCCCXXCCCXCCXXCXCXCXXXXXXXCXXXXXCXXXXXXCXCXXXXXXXCXXXXXCXXXXXXXXXCXXXXXXXXXX&XXXXX
 =AAIAZAI=AAI=ZM------------------------"---"----"---"----""-----"-"""-""""""-""-""-"""""""""--"-"""""""-"""-""-""""--"""""""-"""""-"
+               C.......................C...C....C...C....CC.....C.CCC.CCCCCC.CC.+C.CCCCCCCCC..C.CCCCCCC.CCC.CC.CCCC..CCCCCCC.CCCCC.C
+                '''''''''''''''''''''''B'''B''''B'''B''''BB'''''B'BBB'BBBBBB'BB'CB'BBBBBBBBB''B'BBBBBBB'BBB'BB'BBBB''BBBBBBB'BBBBB'B
+                XXXXXXXXXXXXXXXXXXXXXXXHXXXHXXXXHXXXHXXXXHHXXXXXHXHHHXHHHHHHXHHX HXHHHHHHHHHXXHXHHHHHHHXHHHXHHXHHHHXXHHHHHHHXHHHHHXH
+                CCCCCCCCCCCCCCCCCCCCCCCXCCCXCCCCXCCCXCCCCXXCCCCCXCXXXCXXXXXXCXXC XCXXXXXXXXXCCXCXXXXXXXCXXXCXXCXXXXCCXXXXXXXCXXXXXCX
   ==AXZZZXAAIXZIZ=""--------""-------------"-----""---"----"-"--"-"""-"""-""-"""-"""""""""""""""""""""""""""""""""""""""""""""""""""
+                 C++........CC.............C.....CC...C....C.C..C.CCC.CCC.CC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                  CC''''''''BB'''''''''''''B'''''BB'''B''''B'B''B'BBB'BBB'BB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                    XXXXXXXXHHXXXXXXXXXXXXXHXXXXXHHXXXHXXXXHXHXXHXHHHXHHHXHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                    CCCCCCCCXXCCCCCCCCCCCCCXCCCCCXXCCCXCCCCXCXCCXCXXXCXXXCXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 -- -+==AXAZZAZAAAIZ-+"---------------------"---"------""-"-""-"---"""-""""--""-"""""""""--"""""""""""""""""""""""""""""""""""-""""""
+                   CC+.....................C...C......CC.C.CC.C...CCC.CCCC..CC.CCCCCCCCC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC
+                     C'''''''''''''''''''''B'''B''''''BB'B'BB'B'''BBB'BBBB''BB'BBBBBBBBB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB
+                      XXXXXXXXXXXXXXXXXXXXXHXXXHXXXXXXHHXHXHHXHXXXHHHXHHHHXXHHXHHHHHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHH
+                      CCCCCCCCCCCCCCCCCCCCCXCCCXCCCCCCXXCXCXXCXCCCXXXCXXXXCCXXCXXXXXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXX
    --1=IIIAAZX-=A=AIZ-=-------------------"-----"--"--"--"-"-"---"""-"""--"-"""""""""""-"-""""""""""""""""""""""""-"-"""""""""""""""
+              C      CC...................C.....C..C..C..C.C.C...CCC.CCC..C.CCCCCCCCCCC.C.CCCCCCCCCCCCCCCCCCCCCCCC.C.CCCCCCCCCCCCCCC
+                       '''''''''''''''''''B'''''B''B''B''B'B'B'''BBB'BBB''B'BBBBBBBBBBB'B'BBBBBBBBBBBBBBBBBBBBBBBB'B'BBBBBBBBBBBBBBB
+                       XXXXXXXXXXXXXXXXXXXHXXXXXHXXHXXHXXHXHXHXXXHHHXHHHXXHXHHHHHHHHHHHXHXHHHHHHHHHHHHHHHHHHHHHHHHXHXHHHHHHHHHHHHHHH
+                       CCCCCCCCCCCCCCCCCCCXCCCCCXCCXCCXCCXCXCXCCCXXXCXXXCCXCXXXXXXXXXXXCXCXXXXXXXXXXXXXXXXXXXXXXXXCXCXXXXXXXXXXXXXXX
 -    ---==IX+IIZAXXXX+IZ+--------------"--------""--"--"---"-"--"-"--"""""""--""-""#""""""""""""""-"--"-"-"""""""""""""""""-"--"""""
+                        C..............+........CC..C..C...C.C..C.C..CCCCCCC..CC.CCXCCCCCCCCCCCCCC.C..C.C.CCCCCCCCCCCCCCCCC.C..CCCCC
+                         ''''''''''''''C''''''''BB''B''B'''B'B''B'B''BBBBBBB''BB'BB$BBBBBBBBBBBBBB'B''B'B'BBBBBBBBBBBBBBBBB'B''BBBBB
+                         XXXXXXXXXXXXXX XXXXXXXXHHXXHXXHXXXHXHXXHXHXXHHHHHHHXXHHXHH_HHHHHHHHHHHHHHXHXXHXHXHHHHHHHHHHHHHHHHHXHXXHHHHH
+                         CCCCCCCCCCCCCC CCCCCCCCXXCCXCCXCCCXCXCCXCXCCXXXXXXXCCXXCXX&XXXXXXXXXXXXXXCXCCXCXCXXXXXXXXXXXXXXXXXCXCCXXXXX
 1+1    - =XXXIIAZXXAA1 ==Z"-"---------"------"------"----------""----"-"""""""-"-"-""""-"""""""""-""""-""""""""-""""""""#"""-"""""""
+                          +.C.........+......C......C..........CC....C.CCCCCCC.C.C.CCCC.CCCCCCCCC.CCCC.CCCCCCCC.CCCCCCCCXCCC.CCCCCCC
+                          C'B'''''''''C''''''B''''''B''''''''''BB''''B'BBBBBBB'B'B'BBBB'BBBBBBBBB'BBBB'BBBBBBBB'BBBBBBBB$BBB'BBBBBBB
+                           XHXXXXXXXXX XXXXXXHXXXXXXHXXXXXXXXXXHHXXXXHXHHHHHHHXHXHXHHHHXHHHHHHHHHXHHHHXHHHHHHHHXHHHHHHHH_HHHXHHHHHHH
+                           CXCCCCCCCCC CCCCCCXCCCCCCXCCCCCCCCCCXXCCCCXCXXXXXXXCXCXCXXXXCXXXXXXXXXCXXXXCXXXXXXXXCXXXXXXXX&XXXCXXXXXXX
 +===++==1=XXAIIXXAX+A+1=XIXM+------------------"----""---""------""""""""""""--""""""""""""""""""-""""""""""""""""""""""""""""""""""
+                            C..................C....CC...CC......CCCCCCCCCCCC..CCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                             ''''''''''''''''''B''''BB'''BB''''''BBBBBBBBBBBB''BBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                             XXXXXXXXXXXXXXXXXXHXXXXHHXXXHHXXXXXXHHHHHHHHHHHHXXHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                             CCCCCCCCCCCCCCCCCCXCCCCXXCCCXXCCCCCCXXXXXXXXXXXXCCXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 =++1IAAII+IAAI=AXAXAI1=1+IZIIZ"---------""-"--"""-"""""---"-"--""""--"""""""""-"-"-""""""""""""""""""""--"""""""""""""""""""""""""""
+                              +.........CC.C..CCC.CCCCC...C.C..CCCC..CCCCCCCCC.C.C.CCCCCCCCCCCCCCCCCCCC..CCCCCCCCCCCCCCCCCCCCCCCCCCC
+                              C'''''''''BB'B''BBB'BBBBB'''B'B''BBBB''BBBBBBBBB'B'B'BBBBBBBBBBBBBBBBBBBB''BBBBBBBBBBBBBBBBBBBBBBBBBBB
+                               XXXXXXXXXHHXHXXHHHXHHHHHXXXHXHXXHHHHXXHHHHHHHHHXHXHXHHHHHHHHHHHHHHHHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                               CCCCCCCCCXXCXCCXXXCXXXXXCCCXCXCCXXXXCCXXXXXXXXXCXCXCXXXXXXXXXXXXXXXXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +11I=1IA=+=XXAAI=AAAAI1Z= 1XX+++-------"---"-""--"-----"--""------""-""""-"""""#-"""""""-"""-"--""-""""""""-""""""--""""""""""""""""
+                               C.......+...C.CC..C.....C..CC......CC.CCCC.CCCCCX.CCCCCCC.CCC.C..CC.CCCCCCCC.CCCCCC..CCCCCCCCCCCCCCCC
+                                '''''''C'''B'BB''B'''''B''BB''''''BB'BBBB'BBBBB$'BBBBBBB'BBB'B''BB'BBBBBBBB'BBBBBB''BBBBBBBBBBBBBBBB
+                                XXXXXXX XXXHXHHXXHXXXXXHXXHHXXXXXXHHXHHHHXHHHHH_XHHHHHHHXHHHXHXXHHXHHHHHHHHXHHHHHHXXHHHHHHHHHHHHHHHH
+                                CCCCCCC CCCXCXXCCXCCCCCXCCXXCCCCCCXXCXXXXCXXXXX&CXXXXXXXCXXXCXCCXXCXXXXXXXXCXXXXXXCCXXXXXXXXXXXXXXXX
 AXI==A==111===AI==A=IA=IAA+-=I+AZ"------"----"-""-""--""""--"----""""""-""-"-""""-""""""""""-""-"""-""#"""""""""""""""""""""-"""#"""
+                                 +......C....C.CC.CC..CCCC..C....CCCCCC.CC.C.CCCC.CCCCCCCCCC.CC.CCC.CCXCCCCCCCCCCCCCCCCCCCCC.CCCXCCC
+                                 C''''''B''''B'BB'BB''BBBB''B''''BBBBBB'BB'B'BBBB'BBBBBBBBBB'BB'BBB'BB$BBBBBBBBBBBBBBBBBBBBB'BBB$BBB
+                                  XXXXXXHXXXXHXHHXHHXXHHHHXXHXXXXHHHHHHXHHXHXHHHHXHHHHHHHHHHXHHXHHHXHH_HHHHHHHHHHHHHHHHHHHHHXHHH_HHH
+                                  CCCCCCXCCCCXCXXCXXCCXXXXCCXCCCCXXXXXXCXXCXCXXXXCXXXXXXXXXXCXXCXXXCXX&XXXXXXXXXXXXXXXXXXXXXCXXX&XXX
 IIXI==II===+=++-+II=I====AA=- 11=XM+----"---""----"""-"----"-------"""-"""""""-"""""""-"""""""""""""""""""""""""""""""""""""""""""""
+                                   C....C...CC....CCC.C....C.......CCC.CCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                    ''''B'''BB''''BBB'B''''B'''''''BBB'BBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                    XXXXHXXXHHXXXXHHHXHXXXXHXXXXXXXHHHXHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                    CCCCXCCCXXCCCCXXXCXCCCCXCCCCCCCXXXCXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 =II=I+11+1=I+-1-+II+11+II=IAI-  ==AZ""-"--"-"---"-"-"""""-""""""-"-"-"-"""""""-""-""""""""""""""-"""-"""""""""""""""""""""""""""""""
+                                    +C.C..C.C...C.C.CCCCC.CCCCCC.C.C.C.CCCCCCC.CC.CCCCCCCCCCCCCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                    CB'B''B'B'''B'B'BBBBB'BBBBBB'B'B'B'BBBBBBB'BB'BBBBBBBBBBBBBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                     HXHXXHXHXXXHXHXHHHHHXHHHHHHXHXHXHXHHHHHHHXHHXHHHHHHHHHHHHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                     XCXCCXCXCCCXCXCXXXXXCXXXXXXCXCXCXCXXXXXXXCXXCXXXXXXXXXXXXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  AIAI=---11=111 -=A +--=AIAI+X+ -IA+I""+--------"--"-""--""-"-""--"-""-"""-"--"""""""""-""""""-""""""""""""""""#""-""""""""#""""""""
+                                     +CC........C..C.CC..CC.C.CC..C.CC.CCC.C..CCCCCCCCC.CCCCCC.CCCCCCCCCCCCCCCCXCC.CCCCCCCCXCCCCCCCC
+                                     CB ''''''''B''B'BB''BB'B'BB''B'BB'BBB'B''BBBBBBBBB'BBBBBB'BBBBBBBBBBBBBBBB$BB'BBBBBBBB$BBBBBBBB
+                                      H XXXXXXXXHXXHXHHXXHHXHXHHXXHXHHXHHHXHXXHHHHHHHHHXHHHHHHXHHHHHHHHHHHHHHHH_HHXHHHHHHHH_HHHHHHHH
+                                      X CCCCCCCCXCCXCXXCCXXCXCXXCCXCXXCXXXCXCCXXXXXXXXXCXXXXXXCXXXXXXXXXXXXXXXX&XXCXXXXXXXX&XXXXXXXX
 A==AII+11+===++ --+I+I+1==III11--+==II="Z+----""-"-"---"""-"-""""""-""""""""""-""""""""""""-"-""""""""""""""""""-"""""""""""""""""""
+                                      C+ C....CC.C.C...CCC.C.CCCCCC.CCCCCCCCCC.CCCCCCCCCCCC.C.CCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCC
+                                       C  ''''BB'B'B'''BBB'B'BBBBBB'BBBBBBBBBB'BBBBBBBBBBBB'B'BBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBB
+                                          XXXXHHXHXHXXXHHHXHXHHHHHHXHHHHHHHHHHXHHHHHHHHHHHHXHXHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHH
+                                          CCCCXXCXCXCCCXXXCXCXXXXXXCXXXXXXXXXXCXXXXXXXXXXXXCXCXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXX
 I=+I+I==11===+=+ -++=1+-+1+IA=+++- +=I=XZ--"--------"-"-"""""""-""-""""""-""""--"-""""""""""""""""""""""""""""""""""""""""""""""""""
+                                         C.+........C.C.CCCCCCC.CC.CCCCCC.CCCC..C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                          'C''''''''B'B'BBBBBBB'BB'BBBBBB'BBBB''B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                          X XXXXXXXXHXHXHHHHHHHXHHXHHHHHHXHHHHXXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                          C CCCCCCCCXCXCXXXXXXXCXXCXXXXXXCXXXXCCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ==+1++++1-+-MAI+1+1X=11111-I==+A==++1+++1=Z+------"-"-""----"---"--""""---"""-"""-""""""""""""""""""""""""""""""""""""""#""""""""""#
+           C                               C......C.C.CC....C...C..CCCC...CCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCX
+                                            ''''''B'B'BB''''B'''B''BBBB'''BBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBB$
+                                            XXXXXXHXHXHHXXXXHXXXHXXHHHHXXXHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHH_
+                                            CCCCCCXCXCXXCCCCXCCCXCCXXXXCCCXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXX&
 ==A11++11--===I=II=AII=+ ++-=-==Z ==+--1- I=MM"-----"--""--""-"-"--"-""-""--""""""""""""""""""""""""""""""""""""-""""""""""""""--"""
+            CC                                C.....C..CC..CC.C.C..C.CC.CC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCC..CCC
+                                              B'''''B''BB''BB'B'B''B'BB'BB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBB''BBB
+                                              HXXXXXHXXHHXXHHXHXHXXHXHHXHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHXXHHH
+                                              XCCCCCXCCXXCCXXCXCXCCXCXXCXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXCCXXX
 ==I==1+++- 1A+=I=+1+=IAAI--++1+1+111=+11 --+ZZ=--"-"-""-"--""--"-""""""""""""""""""""-""""-""""""""-""""""""""""""""""""""""""""""""
+             CC                               C..C.C.CC.C..CC..C.CCCCCCCCCCCCCCCCCCCC.CCCC.CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                               ''B'B'BB'B''BB''B'BBBBBBBBBBBBBBBBBBBB'BBBB'BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                               XXHXHXHHXHXXHHXXHXHHHHHHHHHHHHHHHHHHHHXHHHHXHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                               CCXCXCXXCXCCXXCCXCXXXXXXXXXXXXXXXXXXXXCXXXXCXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 I=IIII=1+1-+=Z=Z=++++===XX+++++  111-++1 1--+AX++--"----"---"----"-""""""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+              C                                CC..C....C...C....C.CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                 ''B''''B'''B''''B'BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                 XXHXXXXHXXXHXXXXHXHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                 CCXCCCCXCCCXCCCCXCXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 I=IIA==+=+++1+=ZXI==I==IA-Z=1+=1     -1+11+11++-I----"-"--"-""-"-""""""-"""-"""-""""""""""""""""""""""""""""""""""""""""""""""""""""
+                         C                     C ....C.C..C.CC.C.CCCCCC.CCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                 ''''B'B''B'BB'B'BBBBBB'BBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                 XXXXHXHXXHXHHXHXHHHHHHXHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                 CCCCXCXCCXCXXCXCXXXXXXCXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 IAIAAI=+=+==+1++==1IA=IZMM+MI 11-    -1-==+--I IZ+"#--"-"---""--""-""""#""""""-"""""""""""""""""""""""""""""""""""#"""""#"""""""""""
+                          C                       +X..C.C...CC..CC.CCCCXCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCXCCCCCCCCCCC
+                                                  C$''B'B'''BB''BB'BBBB$BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBB$BBBBBBBBBBB
+                                                   _XXHXHXXXHHXXHHXHHHH_HHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHH_HHHHHHHHHHH
+                                                   &CCXCXCCCXXCCXXCXXXX&XXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXX&XXXXXXXXXXX
 ++==I==+1=I=I=- + 1-=IZM+==++=+=+-11  -1111=-11 -XZ=""----"-"---"-"""""---""""""-""""""""""""""""""""""""""""""""""""""""""""""""#""
+                        CCCCC                      C+C....C.C...C.CCCCC...CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCC
+                                                    CB''''B'B'''B'BBBBB'''BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BB
+                                                     HXXXXHXHXXXHXHHHHHXXXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HH
+                                                     XCCCCXCXCCCXCXXXXXCCCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XX
 =I====I+=+=+====+111IIAZ=++""ZI+I==+1--------- -=-1ZM+"--"""""--""""-""--"-"""""""""""""""-"""""""""""""""""""""""""""""""""""""""""
+                        CCC++                        CC..CCCCC..CCCC.CC..C.CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                           CC                         B''BBBBB''BBBB'BB''B'BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                      HXXHHHHHXXHHHHXHHXXHXHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                      XCCXXXXXCCXXXXCXXCCXCXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +I==IXXAAA=++=XAI=+++=IX-="=++==III==+++1- --1 -111-A+="-"-""""-""-""-""""""-""""""""""""-""-"""""""""""""""""""""""""""""""""""""""
+                        CC+CCCC                      CCC.C.CCCC.CC.CC.CCCCCC.CCCCCCCCCCCC.CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                          C                            B'B'BBBB'BB'BB'BBBBBB'BBBBBBBBBBBB'BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                       HXHXHHHHXHHXHHXHHHHHHXHHHHHHHHHHHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                       XCXCXXXXCXXCXXCXXXXXXCXXXXXXXXXXXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ++1=IAXZ=A=I===AI=+-- =AAA+A"++-===1+1+ 1+1  +1  1 IIX"=#----"-""""""--"--"""""""""""-""--"""#""""""""""""""""""""""""""""""""""""""
+                            +CCC                      + X....C.CCCCCC..C..CCCCCCCCCCC.CC..CCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                            C                         C $''''B'BBBBBB''B''BBBBBBBBBBB'BB''BBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                        _XXXXHXHHHHHHXXHXXHHHHHHHHHHHXHHXXHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                        &CCCCXCXXXXXXCCXCCXXXXXXXXXXXCXXCCXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 1 1+++=AI==+1+===+1111+=AIIIXM-A1==-1- - 1+- - -+-+1===ZZ""--"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+                              C                          CC..C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                         BB''B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                         HHXXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                         XXCCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 1111+11=++1- +1-++1--1=+=AIAAXXAI==I1-   1-=1-  =+1=-1=1IX""-"""""""-"-""""""""-"""""""-""""""""""""""""""""""""""""""""""""""""""""
+                                                          +C.CCCCCCC.C.CCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                          CB'BBBBBBB'B'BBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                           HXHHHHHHHXHXHHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                           XCXXXXXXXCXCXXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  ---1+-+11- --- 1111- =1===1XZXIAA+=++-- +=A1+- 1-+--  =AM=-"-"-"-""""-"""""""""""""""""""""""""-"""""""""""""""""""""#"""""""""""""
+                                                           .C.C.C.+CCC.CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCXCCCCCCCCC+CCC
+                                                           'B'B'B'CBBB'BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBCBBB
+                                                           XHXHXHX HHHXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHH HHH
+                                                           CXCXCXC XXXCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXX XXX
 -- -- 1=-+=+----1 =-1--I= =1=1-=XAXI+1+1-11=++Z+ 1 1--  ++=I=--""-"""-""-"-"-"""""""""-"""""""""""""""""""""""""""#""""""""""#""""""
+                                                          C C..+C.CCC.CC.C.C.CCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCXCCCCCC
+                                                             ''CB'BBB'BB'B'B'BBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBB$BBBBBB
+                                                             XX HXHHHXHHXHXHXHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHH_HHHHHH
+                                                             CC XCXXXCXXCXCXCXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXX&XXXXXX
 11-1-11+1+111  -- +=1++++1I=+++=+AZX+ ==+1-+++ZM+= +1  +=1+X-++--"-""""--"""--""-""""""-""""""""""""""""""""""""""""""""""""""""""""
+                                                            CCC..C.CCCC..CCC..CC.CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                               ''B'BBBB''BBB''BB'BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                               XXHXHHHHXXHHHXXHHXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                               CCXCXXXXCCXXXCCXXCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 1111111++++-+++-+++11==++=I===IX=I=IA=I=--- --1XXIIAI1- +11I++X=---""""-""""""-""""""""""""""""""""""""""""""-""""""""""""""""""""""
+                                                             C C...CCCC.CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCC
+                                                                '''BBBB'BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBB
+                                                                XXXHHHHXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHH
+                                                                CCCXXXXCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXX
 ++-==I++==+1+II=1===+IA++===11XAAAIAXAA=+==  - +=AXIA-+  -+1A++X+--"""""-""""""""""""""""""""""""""""""""""""-""""""""""""""""""""""
+                                                              C C..CCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCC
+                                                                 ''BBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBB
+                                                                 XXHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHH
+                                                                 CCXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXX
 ++1I=+++==III==1--=AAI==IIAAAAM-XAZZXAZI=+A=      AI=I=1-  =-I1=+"-"----"""-""""""-"""""""""""""""""""""""""""""""""""""""""""""""#"
+                               C                               CC+.C....CCC.CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXC
+                                                                 C'B''''BBB'BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$B
+                                                                  XHXXXXHHHXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_H
+                                                                  CXCCCCXXXCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&X
 =1-I====I=IMXXAI+--AAAIIAZAAIMM=-=AXA-=AI=I11    11=AXIX=- -+=+MZ++""-"""-""-"---""""""""-""""""""""""""""-"-""""""#"""""""""""""#""
+                               CC    C                           CCCC.CCC.CC.C...CCCCCCCC.CCCCCCCCCCCCCCCC.C.CCCCCCXCCCCCCCCCCCCCXCC
+                                                                   BB'BBB'BB'B'''BBBBBBBB'BBBBBBBBBBBBBBBB'B'BBBBBB$BBBBBBBBBBBBB$BB
+                                                                   HHXHHHXHHXHXXXHHHHHHHHXHHHHHHHHHHHHHHHHXHXHHHHHH_HHHHHHHHHHHHH_HH
+                                                                   XXCXXXCXXCXCCCXXXXXXXXCXXXXXXXXXXXXXXXXCXCXXXXXX&XXXXXXXXXXXXX&XX
 ++11-III++=XXIAXXI+=IAI=IIZ11IM+-+=A=-=--A-+1=-  -I1ZXAIAA==--1A-=M=-"""""""-"""-"""""""""""""""""""""""""""""""""""""""""""""""""""
+                               CC    CCC                        CC C.CCCCCCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                    'BBBBBBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                    XHHHHHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                    CXXXXXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ==+- =AXA+1=--ZAAX==I+=II=MX1==AAI+=IAZX-+I1+=11  +AA-XA=AXX1--11Z"=+"""""""""""""-"""-"""""""""""""""""""""""""""""""""""""#"""""""
+            CC                                       C            +CCCCCCCCCCCCCCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCC
+                                                                  C  BBBBBBBBBBBBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBB
+                                                                     HHHHHHHHHHHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHH
+                                                                     XXXXXXXXXXXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXX
 1++1+=AAIIAXX=+MMMM-Z+=AZ+=MA=I=11=+I==1I+A==I+=--1-IZX===IA--+1  1--+-"--"""-"""""-""""-""""""""""""""""""""""""-""""""""""""""""#"
+             CC    C     CC                                        C.C.C..CCC.CCCCC.CCCC.CCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCXC
+                                                                    ' 'B''BBB'BBBBB'BBBB'BBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBB$B
+                                                                    X XHXXHHHXHHHHHXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHH_H
+                                                                    C CXCCXXXCXXXXXCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXX&X
 -1=- +IIAXM=M+="==ZZ-X=IXMI===II- 1=+II====1=1=11-+- -1==I-+Z+11+  =M"-"""""-""""-""""""-"""""""""""""""""""""""""""""""""""""""#"""
+           C CC+CC  C                                                +.CCCCC.CCCC.CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCC
+               C                                                     C'BBBBB'BBBB'BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBB
+                                                                      XHHHHHXHHHHXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHH
+                                                                      CXXXXXCXXXXCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXX
 -+==1===I==ZAM+""===ZMX==-AI==I+1 -====I=AA==+==1-11   =++=+=+1++1--=-="--""-"-""""""""""-""""""""""""""""""""""""""""""""""""""""""
+              C++CCC     C                                           CC+..CC.C.CCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+               CC                                                      C''BB'B'BBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                        XXHHXHXHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                        CCXXCXCXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +-+==I======IZ==+==+-MZZ=-X+=1I++- 1=A===++++1+=I+++--=A=1+I+=+1-=--1II--"""""--"""""""-"""""""""""""""""""""""""""""""#"""#""""""""
+              CCCCCCC    C                                             CCCCCCC..CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXCCCCCCCC
+                                                                         BBBBB''BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBB$BBBBBBBB
+                                                                         HHHHHXXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHH_HHHHHHHH
+                                                                         XXXXXCCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXX&XXXXXXXX
 -++--+=A+II=1=M=+++==++-I=ZAI=I+II=-I+1=I=+A+I=+1I1=+XIZA=-+I=+=1 =1+=+AXM-"-"""""""""A""""-""""-""""""-""""""""""""""""-"""""""""#"
+C              CCCCCCCCC C                                                .C.CCCCCCCCC CCCC.CCCC.CCCCCC.CCCCCCCCCCCCCCCC.CCCCCCCCCXC
+                                                                          'B'BBBBBBBBB BBBB'BBBB'BBBBBB'BBBBBBBBBBBBBBBB'BBBBBBBBB$B
+                                                                          XHXHHHHHHHHH HHHHXHHHHXHHHHHHXHHHHHHHHHHHHHHHHXHHHHHHHHH_H
+                                                                          CXCXXXXXXXXX XXXXCXXXXCXXXXXXCXXXXXXXXXXXXXXXXCXXXXXXXXX&X
 =ZI=-1+IIAIA=X -===+===MMM+-IIA+=I=A=I=+AI=II=A==IAZX+AIIAI1==+++1+==1=+=Z=""""""""""""""""""""-"-""""""""""""-""""""""##"""""""""""
+C              CCCCCCCC   CC                                            C CCCCCCCCCCCCCCCCCCCCC.C.CCCCCCCCCCCC.CCCCCCCCXXCCCCCCCCCCC
+                                                                           BBBBBBBBBBBBBBBBBBBB'B'BBBBBBBBBBBB'BBBBBBBB$$BBBBBBBBBBB
+                                                                           HHHHHHHHHHHHHHHHHHHHXHXHHHHHHHHHHHHXHHHHHHHH__HHHHHHHHHHH
+                                                                           XXXXXXXXXXXXXXXXXXXXCXCXXXXXXXXXXXXCXXXXXXXX&&XXXXXXXXXXX
 ZXXZA++IZIAAAI1-=MM===MM-MMMA=AAXXAZAIA==XA==IIIII-===I=AIX=+=+I+1++=AI1I=X+-"""""""""-"""""-"""""""""""""""""""""""""""""""""""""""
+               CC  CCC  C                         CCCC                   C C.CCCCCCCCC.CCCCC.CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                            'BBBBBBBBB'BBBBB'BBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                            XHHHHHHHHHXHHHHHXHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                            CXXXXXXXXXCXXXXXCXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XA==X+==XAIZXXX-MZAXMMM-=-=-X11XZZXXZIAAIAAAIXX=IXA"""Z1+IZI1I++A=+1==XI+X=I""""""""""""""""""""-"""""""""""""""""""""""""""""""""""
+               C       CCCCC                       ++C                    C +CCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                   CCB                      CBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                     H                       HHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                     X                       XXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 AX++=IAZ===AZ-XAXI1=+XZAZ-MXAIIIII=AX-XAA+IIIZXA==AXZA=1==AZAII1+=IAI1AAXA+"I--"""""""""--""""-"""""""""""""""""""""""""""""""""""""
+             C           C                            C                    + ..CCCCCCCCC..CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                           C ''BBBBBBBBB''BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                             XXHHHHHHHHHXXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                             CCXXXXXXXXXCCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +1+11++11+-==I+11-1I1 XZAA--X++=IIAXA=====AI=IAI=II+=+I++=+=AXZ1+A=IAI=XXAXX+X-"""""""""""""""""""""-"""""""""""""""""""""""""-"""""
+                          CC                                                C .CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCC
+                                                                              'BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBB
+                                                                              XHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHH
+                                                                              CXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXX
 11+1-111-=++1+=1-+I===ZXZX-MZ+I=1=A=+-+=11====II=I=I=IXA=I-==IAXI+=I=I++A-XAM=--""""-"""""""""""""""-"""""""""""""""""""#"""""""""""
+                          C                                              C   CC.CCCC.CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCXCCCCCCCCCCC
+                                                                               'BBBB'BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBB$BBBBBBBBBBB
+                                                                               XHHHHXHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHH
+                                                                               CXXXXCXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXX
 11-1-1-11Z=11+==+==A+IXZXAAXZ-=I +++-  11--=+1IIII1III=XXX=I++=XII==+=1+AI=XAM=+""""""""""""-"""""""""""""""""""""""""""""#"""""""""
+                             CC                                               CC+CCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCC
+                                                                                CBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBB
+                                                                                 HHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHH
+                                                                                 XXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXX
 +++ ----+AZA1+=I=+XAX II++1AMXAZ-=+==    -=1- 1=+X=+Z+AAXXA+=-+=AI=+I++1+=IIAXI---"""-"""""-"""""""""-""-""""""""#"""""""#""""""""""
+                                                                               CC.CCC.CCCCC.CCCCCCCCC.CC.CCCCCCCCXCCCCCCCXCCCCCCCCCC
+                                                                                 'BBB'BBBBB'BBBBBBBBB'BB'BBBBBBBB$BBBBBBB$BBBBBBBBBB
+                                                                                 XHHHXHHHHHXHHHHHHHHHXHHXHHHHHHHH_HHHHHHH_HHHHHHHHHH
+                                                                                 CXXXCXXXXXCXXXXXXXXXCXXCXXXXXXXX&XXXXXXX&XXXXXXXXXX
 X  -111++=-MXXIXZXZZZXIIA-1AAI=I++11+-  ----   ++II+1IAXXZX=1-11IIIAXA+=1+=+AZ+Z+=""""""""-"""""""-"""""""""""""""""""""""""""""""""
+          C                                                                     CCCCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                  BBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                  HHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                  XXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 == --+1==+IZ=MZXZX=XXXXAIIAXAAI===+11-11-1-  --1-+1IAAI=IIZZIA+++II=AXI11==+I=I=IM+"""""""-"""""""""""""""""""""""""""""""""""""""""
+C           C                                                                     CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                   BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                   HHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                   XXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 M-X1-1++=++AZ-AZZI=XXX=AIIAAZI=+11= =1++-1+   --1+AI=IAAXXAXXXA1-1A+II-X-==1I==AAA++---"""-""""""""""""""""""""""""""""""-""""""""""
+ C           C                                                        C           CC...CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCC
+                                                                                    '''BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBB
+                                                                                    XXXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHH
+                                                                                    CCCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXX
 M--1+11+==+AZMAA-=MMZZZAAIIA-1==+X1+=++==11-- +11=IAI= ZZZAAIZI== =====-A+=I -+=A+X==""""""""-"-"-""--""""--"""""""""""""""""#"##"#"
+ CC             CC             C                                       C           CCCCCCCCCC.C.C.CC..CCCC..CCCCCCCCCCCCCCCCCXCXXCXC
+                                                                                     BBBBBBBB'B'B'BB''BBBB''BBBBBBBBBBBBBBBBB$B$$B$B
+                                                                                     HHHHHHHHXHXHXHHXXHHHHXXHHHHHHHHHHHHHHHHH_H__H_H
+                                                                                     XXXXXXXXCXCXCXXCCXXXXCCXXXXXXXXXXXXXXXXX&X&&X&X
 MM=111+ 1-=AX-ZXZM-MM-XX++AAIIM-AXI=====1+1+X-+Z1-=II+AIM-XZI=ZXA==+-I+=AAIXX=+=1I=-Z"-"""""""""-""""""""""""""""""""-"""""""""""#""
+             C    C  C         C             C           C                         C +.CCCCCCCCC.CCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCXCC
+                                                                                     C'BBBBBBBBB'BBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBB$BB
+                                                                                      XHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHH_HH
+                                                                                      CXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXX&XX
 IAMX+-11+=1XMM-XZZZ=ZZXM-X=XZM="+-I=+II+++++=ZI==111=IXAZ-XZZI1X==AI+1+=IIA-Z-II==IIZ=="""""""""-""-""""-"""""""""""""""""""""""""""
+              C    C    C     C+CC                       C                 C C       CCCCCCCCCCC.CC.CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCC
+                               C                                                       BBBBBBBBB'BB'BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                       HHHHHHHHHXHHXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                       XXXXXXXXXCXXCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXX
 1-+ZX--+=A=XZ=ZIZXA+M-Z=++AXZ+-M+MX=I1=I+I1+-==XI=1 1IXZXXA=-X+I+AIXA1=1=+X-IZA==+1A+-"-""""""""""""""""""""""""""""""""""""""""#"""
+             C     C C CCC   CC C                           C              C         C+.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCC
+                                                                                      C'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBB
+                                                                                       XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHH
+                                                                                       CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXX
 I--1=I=1+=IAA-Z++1X=+--==+=ZMZ=--ZI++11IM=+1I =+1I=1 1-+AI-+IX+=-=AXAZA+1-X1XI-I+I--++A""""""""""""""""""""""""""""""""-""""""""""""
+             C      CCCCCC    CCC        C                                    C        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCC
+                                                                                       BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBB
+                                                                                       HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHH
+                                                                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXX
 =- -- 1++-=AXX-A++A1-===M==AI=IXZ--=  1=+I=-AI1==+=I1 1=+A+1AXIAAIAAAZAA1+I+-1+==+=1 ==---"-"""""-"-""-""-""""""""""""""""""""""""""
+              C     CCCC CC      CC        C                                           C..C.CCCCC.C.CC.CC.CCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                        ''B'BBBBB'B'BB'BB'BBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                        XXHXHHHHHXHXHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                        CCXCXXXXXCXCXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXXX
 =  - -+=+--=XZM-IXXZ+ZMMM==-A==IIAZA-1=+IAI=+Z1=IIAXA--1++==IIIAAAZZ=AIX++=Z1+11I1+-1=IAZ"-"""""""""""""""""""""""""""""""""""""#"""
+               C         CCC               CC                                            +.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCC
+                                                                                         C'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBB
+                                                                                          XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHH
+                                                                                          CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXX
 =1 - 1=ZI--+-ZIXX-MMX=-MM===ZA111+=ZII==IZXAXZI+I=IAZA-1+-+A=A+IIXZZXII==1++=-1=+1-11-AXA+-"""""""""""""""""""""""""""""""""""""""""
+            C    C    C  CCC                                                             C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                          'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                          XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                          CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +-1-  =I-==1XXIXZ-MMMZZZMM==+MAI1 1+ZZZAXAXXX+=+==+II=++ -1AXAZA=1=XZIX===-  -1=111--++AAA""""""""-"""""""""""""-""""""#"""""#"""""#
+                 C        CCC                CCC     C                                    C+CCCCCC.CCCCCCCCCCCCC.CCCCCCXCCCCCXCCCCCX
+                                                                                          BCBBBBBB'BBBBBBBBBBBBB'BBBBBB$BBBBB$BBBBB$
+                                                                                          H HHHHHHXHHHHHHHHHHHHHXHHHHHH_HHHHH_HHHHH_
+                                                                                          X XXXXXXCXXXXXXXXXXXXXCXXXXXX&XXXXX&XXXXX&
 +1+1+-1IZIXZZZAXZM-ZXXXZ-MM+==-II1=A-++-AIA-AIZ=-I-=I=Z+11=+IAXXXX+I+I=AI1-- -- -11 -=+ZZX=-""""""""""""#"""""""""""""""""""""""""""
+                  C     C  CCCC     CCCC   C   CC                                         C.CCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                           'BBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                           XHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                           CXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXX
 =+++==+IXIX-ZXXXX--ZZAXXAZ-==M-ZIIIZZM"+MZAX-IZ-=X1I1=X=-+II=IIAAA=I+=+A==+---1-1-- 1=I+ZIZ+-""""""-""""""""""""""""""""""""""""""""
+           C     CC       CCC C       +C    C  CC                                          C.CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                      C                                                     'BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                            XHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                            CXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +11=1==+IA-ZZXXAZ-ZM-ZZXXXZ=M-ZZXXAZZ-=++=AI==M+""X+=+I=-+AI==+AIII=-==IAAI-1-1 -- -1+11XMXZ+-""""""""""-"""""""""""""#"""""""""""""
+          C      C  C      C C       CCCCC      ++                                          C.CCCCCCCCCC.CCCCCCCCCCCCCXCCCCCCCCCCCCC
+                                                CC                                           'BBBBBBBBBB'BBBBBBBBBBBBB$BBBBBBBBBBBBB
+                                                                                             XHHHHHHHHHHXHHHHHHHHHHHHH_HHHHHHHHHHHHH
+                                                                                             CXXXXXXXXXXCXXXXXXXXXXXXX&XXXXXXXXXXXXX
 11-X+1-1-=ZZXXXXXZ--XXXZZ--M-XXZZZXXXZ-+-+===XIA+--+MIX=IIAAAI1 II==-1IXI++-=-  -++- +11-=XZI++"--""""""""""""""""-"""""""#"""""""""
+                  CC     CC C         CC.CC     C.CC                                         CCC..CCCCCCCCCCCCCCCC.CCCCCCCXCCCCCCCCC
+                                        '        '                                             B''BBBBBBBBBBBBBBBB'BBBBBBB$BBBBBBBBB
+                                        X        X                                             HXXHHHHHHHHHHHHHHHHXHHHHHHH_HHHHHHHHH
+                                        C        C                                             XCCXXXXXXXXXXXXXXXXCXXXXXXX&XXXXXXXXX
 I+1-Z 1--==-AXAAZ-ZM-ZZZZZ--ZX-ZXZAXZXXXM+"ZMAXXZM=+++AXAXAXIIA-I==111=+=++=--- --- --++=1-ZZA+"""""""""-"""""""-"""""""""""""""""""
+   C             C  C     CC  C          C+       CCCC                                    C   CCCCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCCCCC
+                                          C                                                    BBBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBBBBB
+                                                                                               HHHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHH
+                                                                                               XXXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXX
 XAIXX==-IA1-1AXX-ZZ------ZZZXXM--ZZAXZIXZ-"++-ZX==Z=""+MX=AXAIXA=+A+++1+AIAA+--  -+---AI+=+AMX-"""""""""-"""""""""""""""""""""""""""
+                C  CCCCCC      CC        C+CCC     C+CC                                       .+CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                          C         CB                                        'CBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                     H                                        X HHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                     X                                        C XXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ZZA-X==1AZI-1IXAZ--Z--ZM----------ZIAXXXZZ=+-"Z- 1=I-"+-ZAXXZIAI++=+I=-1=+1IA-11  1=1-+X+I++=Z-+-"""""""""""""""""""""""""""""""""""
+   C             CC CC  CCCCCCCCCC        CC.+ C    C+C.                                      CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                            'C       C '                                        'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                            X          X                                        XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                            C          C                                        CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 A----I+1IZXI =AXXZ--XZZ--MM=I--==M-XXAZZZXX-M=Z-X-+==XZ+-Z-ZIAA=-1I==I  =I1--11-1--- ---ZI+ XA-M-"""-""""""""""""""#""""""""#""#""""
+ CCCC             CC   CC  C CCCC C        C C C       CC C                                   C CCCC.CCCCCCCCCCCCCCXCCCCCCCCXCCXCCCC
+                                                                                                 BBB'BBBBBBBBBBBBBB$BBBBBBBB$BB$BBBB
+                                                                                                 HHHXHHHHHHHHHHHHHH_HHHHHHHH_HH_HHHH
+                                                                                                 XXXCXXXXXXXXXXXXXX&XXXXXXXX&XX&XXXX
 +IZ-MMM--XAXZXZAX-MZA1X-MMMMMM=MMMM-ZZ-Z-ZZMAZ=ZXI1=+==ZZX-ZAZAI+1=1111-1=- 1-111--11   ++--+Z-ZM""""""""""""""""""""""""""""#""#"""
+   C   CC        C     C      C    C  C C                 C                                   C  +CCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXCCC
+                                                                                                 CBBBBBBBBBBBBBBBBBBBBBBBBBBB$BB$BBB
+                                                                                                  HHHHHHHHHHHHHHHHHHHHHHHHHHH_HH_HHH
+                                                                                                  XXXXXXXXXXXXXXXXXXXXXXXXXXX&XX&XXX
  =XXZ=MM-ZXZZZZ-X-MM-XX-MM-MM==MM-=----ZZ--M=M+ZZI=+1=1ZXZ--XZZXI==+1-1--=I1I-- --1++-1 -=11-IX--M#"""""""""""""""""""""""""""""""""
+     C  C      C C  C  C  C  CC  CCCCCC  CC C C           CC                                   CC XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                                  $BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                  _HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                  &XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  +IAI-=M-ZZZZZM--ZMMM-Z-MM-XMMM==--XZ--Z-M-==="=-XAA===XZ-X=---ZXXAX====IIAAI=- +1++1=1  1X1- -IMX"""""""""""""""""""""""-""""""""""
+     CC C      CC    C C  C    CCCC  CC C CCCC+CC        C CCCC                               C   CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCC
+                                              C                                                   BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBB
+                                                                                                  HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHH
+                                                                                                  XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXX
 AI+XX M==ZMZ--==MM--M=-M=---=MMMMMZ AZ-Z-Z--==+"M=-MZZAAXMAZAMZM-XX-XXI=11=+IA11+--I=1+111XI= 1 Z+=""""""""""""""""-""""""#""""#-"""
+       CC   CCCC  CC CC CCCCC         C C CCCCC+ CC             C  C                             CCCCCCCCCCCCCCCCCC.CCCCCCXCCCCX.CCC
+                                               C                                                   BBBBBBBBBBBBBBBB'BBBBBB$BBBB$'BBB
+                                                                                                   HHHHHHHHHHHHHHHHXHHHHHH_HHHH_XHHH
+                                                                                                   XXXXXXXXXXXXXXXXCXXXXXX&XXXX&CXXX
 =Z=ZXI-M+MMMZ-M==MM----M-MMMMM---M-XXZ---M--+++"+==-Z--ZAAIAZMMM-ZM=ZMXAI==IAAIII+==-+=-+-AX+- ++XM="""-""-"""""""""""""""""""""""""
+C     C C    C CC  CCCC C     CCC C   CCC CCCCC+CCCC CC         C  C                C              CCCC.CC.CCCCCCCCCCCCCCCCCCCCCCCCC
+                                               C                                                    BBB'BB'BBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                    HHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                    XXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXX
 =MM=XXXMM-+MM--==MMM--M--M=M-MZ=-MM-Z--M-====="--"Z-Z--XXZIAXZ--M-M-M=--XXAX+AZAII-+IA++==I=I+ -+AX+="""""-"""""""""""""""""""""""""
+C        CC  CCCC   CC CC C C   C  C CC CCCCCC+..+ C CC       CC C C CCC                           CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCC
+                                              C''C                                                   BBBBB'BBBBBBBBBBBBBBBBBBBBBBBBB
+                                               XX                                                    HHHHHXHHHHHHHHHHHHHHHHHHHHHHHHH
+                                               CC                                                    XXXXXCXXXXXXXXXXXXXXXXXXXXXXXXX
 M-=-XX=AIIMMMZ1-====MM---Z-MM--A-M=M-MMM-M===+"----+MZ-A-ZAXMAZ-ZXMZZM-ZM-XXIZII==111MA=AI=I==- A+A-Z"""""""""""""#-""""""""""""""""
+ CCC           CCCCC  CCC C  CC C C C   C CCCC+...CC  C C      C      C  C                         C CCCCCCCCCCCCCX.CCCCCCCCCCCCCCCC
+                                              C'''                                                   BBBBBBBBBBBBB$'BBBBBBBBBBBBBBBB
+                                               XXX                                                   HHHHHHHHHHHHH_XHHHHHHHHHHHHHHHH
+                                               CCC                                                   XXXXXXXXXXXXX&CXXXXXXXXXXXXXXXX
 --MM-A=AXIXZZZXXM===M=Z-ZZ-M---X-M==MMZMM-M===+""+"+M-ZZZAZXMZAM-M--=M-ZM-MZAXXXA+A++XX1XI1=AIA=-AZX=-""-""""""""""""""""""""""""-""
+CC  C            CCC C C  C CCC C CC     C CCCC++C+C C          C CCC C  C                          CCCC.CCCCCCCCCCCCCCCCCCCCCCCC.CC
+                                               CC C                                                   BB'BBBBBBBBBBBBBBBBBBBBBBBB'BB
+                                                                                                      HHXHHHHHHHHHHHHHHHHHHHHHHHHXHH
+                                                                                                      XXCXXXXXXXXXXXXXXXXXXXXXXXXCXX
 X=AM=XXI-IIA=XI-ZM=MMM---Z-MMXZZZMM=MM-MMM===+=+"+=M=ZZZAZA--MZ-XA-X=MMZ-ZMZAAZM+IXA=AXIA==+II+=+AIZA="""""""""""""""""""""""""#""""
+    C   C         C   CCC C        C  C   CCCCCC+CC C      CC  C  C C   C                            C+CCCCCCCCCCCCCCCCCCCCCCCCXCCCC
+                                                C                                                     CBBBBBBBBBBBBBBBBBBBBBBBB$BBBB
+                                                                                                       HHHHHHHHHHHHHHHHHHHHHHHH_HHHH
+                                                                                                       XXXXXXXXXXXXXXXXXXXXXXXX&XXXX
 X  M=Z---MXXAII=AZ==M-ZZZX-Z-ZZX--M-MMMM--M=+=M=M-M--AAXIXAZ---Z-ZZX=M---X-ZZ=ZIAA===+AXXAI=1AA++-IZZMZ"""""""""""""""""""""""""""""
+    C CCC         CC C    C C   CC C    CC CCC C C CC       CCC C   C CCC C                            CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                                       BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                       HHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ZAAM-M-MXX=-ZA= +-===-IIXZZZXXZXZ--MMM-Z--M-==+=ZIZ--XIXXXXXMMMZZZXZ===MX-MZ==ZAIXX-I==XAIA=+II=1-1ZZA="""""""""""""""""""""""""""""
+    C C   CC     CCCCC           CC   C CC CCCCC   CC               CCC  C                            CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                                       BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                       HHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XZ-M=+--=-Z-+I+ -+=++M----ZZA XXZZ-MMMMMX--===++M-Z-XAAIAAI=XZZZ-IZ--MAM=MXIXIAXIAAIX== Z1++-+=1A- ZAI=+-"""""""""""""""""""#"""""""
+  C CCCCCC C      CCC C CC        C      CCCCCCC C C            C  CC   C                             CC.CCCCCCCCCCCCCCCCCCCXCCCCCCC
+                                                                                                        'BBBBBBBBBBBBBBBBBBB$BBBBBBB
+                                                                                                        XHHHHHHHHHHHHHHHHHHH_HHHHHHH
+                                                                                                        CXXXXXXXXXXXXXXXXXXX&XXXXXXX
 ZIX-==IA=ZIXI1-=A=M=--X-Z---ZAAXZX-=MM=MZ-MMM==++-MZA+-AIIIIAXZZZIM---MXZM-I-A1XAAIAAAZAXZ+A1I=1I+-II=-+""""""""""""""""""""""""""""
+   CCC  C          CCC C CCC      CC  C  C   CCCCC                 CCC    C C                         CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                                        BBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                        HHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                        XXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ZIAZZ-I=ZZIAA- 1IIA-M-=Z-----ZXZZXZ===+===-XM=M+=---X1 -==IZI-ZZX=M=-M=M--XIZZIAAAA-ZX-AIAIXAXX=1111==I=""""""""""""""""""""""""""""
+     C             C C  CCCCC      CCCCCCCC  C CCCCC         C     CC C CC         C  C                C+CCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                                                                                        CBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                         HHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                         XXXXXXXXXXXXXXXXXXXXXXXXXXX
 XAXXZI=+AAIXA+++1A=XM=-MMM-A--Z-MMM=+++"+++M+++++Z-ZZ1 -+-+AI-Z-ZM-IXZMM-Z=AZM--XAZZX-XA=AXXZZZMI+-+1=1=="""""""""""""""""""""""""""
+                     CC   C CC C   CCCC+CCC CCCCC C          C C  C     C     CC     C                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                                       C                                                                 BBBBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                         HHHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                         XXXXXXXXXXXXXXXXXXXXXXXXXXX
 X+IAZ-ZA-=1=1+=I==--M=I====MM===+==+++"""++"+++==-ZA=I+--+ ==A-M-ZZZ"ZMAMZZZX-ZMZAZAZZZ=ZZAZI=MZ-A=+1 1==-"-"""""""""""""""""""""-""
+     C  C          C   CCCC  CCCCCCCCC+++CC+CCCCCC            C C   +        C                  C      CC.C.CCCCCCCCCCCCCCCCCCCCC.CC
+                                      CCC  C                        C                                    'B'BBBBBBBBBBBBBBBBBBBBB'BB
+                                                                                                         XHXHHHHHHHHHHHHHHHHHHHHHXHH
+                                                                                                         CXCXXXXXXXXXXXXXXXXXXXXXCXX
 +-1=-==M=-1+=+I11IIX-X=A==========+"+""+"+=""+"+-AZAIXAII==AXZMM-X+-+MZZM--XZZZ---X=ZMZXZMAXI-A+-A++=+1ZZ-"""""""""""""-""#"""""""""
+    CCC             C   CCCCCCCCCCC+C++C+CC++C+CC               C  CC    CC    CCC             C.        CCCCCCCCCCCCCC.CCXCCCCCCCCC
+                                   C CC C  CC C                                                 '         BBBBBBBBBBBBB'BB$BBBBBBBBB
+                                                                                                X         HHHHHHHHHHHHHXHH_HHHHHHHHH
+                                                                                                C         XXXXXXXXXXXXXCXX&XXXXXXXXX
 11-=-M=MX=++III- -1I-XAM+Z=+==++==+"+MAZ=MZZ=="MA11=IAZXXZAAZMMMMZAZM"M--ZZZZ---=MXXZZZ-ZZZZI=A=-Z=+++1=X+-"""""""""""""""""""""""""
+    C C             C   C CCCCCCCCC+C   C   CC+                      + CC    CCCC      C       C.        C.CCCCCCCCCCCCCCCCCCCCCCCCC
+                                   C          C                      C                          '         'BBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                X         XHHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                C         CXXXXXXXXXXXXXXXXXXXXXXXXX
 -1-=ZMMM-X++IA=I+11+=+Z""=AM-M++=-+-M+A--A=IIA-IA1 1IXX=XZXXZ++=-I----Z---Z=XZZ-M-XX-X---AZXAXZZ++=A- =1XZ+"""""""""""""""""""""""""
+        C           CC ++C  C CCCCCC   CC     C              CCCC CCCC ..C     C C  C CCC       CC        CCCCCCCCCCCCCCCCCCCCCCCCCC
+                       CC                                              ''                                  BBBBBBBBBBBBBBBBBBBBBBBBB
+                                                                       XX                                  HHHHHHHHHHHHHHHHHHHHHHHHH
+                                                                       CC                                  XXXXXXXXXXXXXXXXXXXXXXXXX
 ==++X-MMZX+1+AX=-- --+="++ZZAA+==="XA1 IIII+X=I=AI AXZZAAIAA-=+-=ZI--XZ""MAX=IAMMZ-ZI--ZZXXX=X=ZXAAZ1 -11ZZ-"""""-"""""""""""""-""""
+     C              CCC+CC    CCCC+                         CCCCC  CC  +C         C  CC       C            .CCCCC.CCCCCCCCCCCCC.CCCC
+                       C          C                                    CB                                  'BBBBB'BBBBBBBBBBBBB'BBBB
+                                                                        H                                  XHHHHHXHHHHHHHHHHHHHXHHHH
+                                                                        X                                  CXXXXXCXXXXXXXXXXXXXCXXXX
 ++=+IAII++II+ =1=ZXMM=+++=-+"+=+"+=I=AI-+IAZXI1+AI=IXZZZXI+AM=-XM=Z-=-ZM-=AZXX-MMZZMIZ-+AXM=1X-MZAAIA1  1=MM""""""""""""""""""""""""
+                     CCCCC.C+CCC+CC                          CC  C CCC  .C    C       C    C  C             CCCCCCCCCCCCCCCCCCCCCCCC
+                          ' C   C                                       '                                   BBBBBBBBBBBBBBBBBBBBBBBB
+                          X                                             X                                   HHHHHHHHHHHHHHHHHHHHHHHH
+                          C                                             C                                   XXXXXXXXXXXXXXXXXXXXXXXX
 - =+=1+-1+XZX111I-+"+MM"""+-=+"=""==-A1-+1IZX=--AIXAXZ-ZZAIIZ+MA-ZX=--=-+MAXZAZZ-M--XAXAXZ-ZZX-ZZAI=Z1- -IMM+"""""""""""""""""""""""
+                 CC+C  +++CCCC+C++C                   C      C  C  CCCCCC       C CC      C   C             CCCCCCCCCCCCCCCCCCCCCCCC
+                   C   CCC    C CC                                                                           BBBBBBBBBBBBBBBBBBBBBBB
+                                                                                                             HHHHHHHHHHHHHHHHHHHHHHH
+                                                                                                             XXXXXXXXXXXXXXXXXXXXXXX
 +-+=1 1--+IAX1-+X-+++M="=ZI=AZ=+"--ZI=+XI =+=I- IXAZZX--ZXIX-++-Z-Z+MM=""MMZXZZZMMZAZXAX----ZZZMXAI1II1= +I"-"""""""""""""""""""""""
+                 CCCC C+C     CC+..                   CC    CCCC C C  C++               CCCC               +CCCCCCCCCCCCCCCCCCCCCCCC
+                       C        C''                                    CC                                  C BBBBBBBBBBBBBBBBBBBBBBB
+                                 XX                                                                          HHHHHHHHHHHHHHHHHHHHHHH
+                                 CC                                                                          XXXXXXXXXXXXXXXXXXXXXXX
 I=IA1111=-1I=++XZ=++==X+I+- IIA+-"--A=IAI= XXA=-=AAXXAZ+-XXZZM"+M=Z="-""""MXAAZMM-XZIZXA-ZM=XZXZX-X- A+==+ "=-""""-"M""--"""""""""-"
+                 CCCCC C       C.+.C                    C     +C C C+C++++       C      C  C     C         +C.CCCC.C CC..CCCCCCCCC.C
+                                'C'                           C     C CCCC                                 C 'BBBB'B BB''BBBBBBBBB'B
+                                X X                                                                          XHHHHXH HHXXHHHHHHHHHXH
+                                C C                                                                          CXXXXCX XXCCXXXXXXXXXCX
 IIAX=IZ--X++=IAZ-M===MZMM1-+=-=-"""+A==IAZZXMZA=AZI-AAXX-XXXI-+"MZ-+++---"X=XXX--XXXAX-+AIX-ZXXZ--X+1I+I=-I1"+""""""""""""#"""""""""
+       CC       C CCC          C+++C                    C    CC+  CCCC...+     CC     C    C    CC          +CCCCCCCCCCCCCXCCCCCCCCC
+                                CCC                            C      '''C                                  C BBBBBBBBBBBB$BBBBBBBBB
+                                                                      XXX                                     HHHHHHHHHHHH_HHHHHHHHH
+                                                                      CCC                                     XXXXXXXXXXXX&XXXXXXXXX
 ++IXAM=++=XX---MZX==A--Z=A--A=IA++""=Z=IIAX--ZX=ZZA=AAZAXXXXX-=ZMZ-M-"-"-=-=AXIZ-AXZXX-X1====XA--=-II=+I-1ZA==""""""""""""""""""""""
+      CCCC  CCC      CC C CC    CC++C      CC                CC   C C+.+.CC     C     C        CCCC     C   CCCCCCCCCCCCCCCCCCCCCCCC
+                                  CC                                 C'C'                                     BBBBBBBBBBBBBBBBBBBBBB
+                                                                      X X                                     HHHHHHHHHHHHHHHHHHHHHH
+                                                                      C C                                     XXXXXXXXXXXXXXXXXXXXXX
 -++=IZ="+"+MM===Z1 --=ZX-X-=A=IM-=+"-+ZXI=IAZXAAAXZ=AXAXZX-X-ZZZZAA-M="--"=ZIZAM-MAXZZAZ=+-11=AZMMZAI==-M=XXA+""""""""""""""""""""""
+      C+C+C  CCC        C CC C  CCC+.C                    C C      C C+..+C     C                            C+CCCCCCCCCCCCCCCCCCCCC
+       C C                         C'                                 C''C                                    CBBBBBBBBBBBBBBBBBBBBB
+                                    X                                  XX                                      HHHHHHHHHHHHHHHHHHHHH
+                                    C                                  CC                                      XXXXXXXXXXXXXXXXXXXXX
   -= -M=+++=+++=+-    XXX=Z+MX =+-+"--+ZII1-1-ZX=IXAZXZXXZ-XX-AIIA Z-+M=-""--==M-=IAZZI==-- -+A-XMXI1I=1+++ZZZ"-""""""""""""""""""#"
+       CCCCCCCCC         C C     CC+..C                   C  C      CC C.++CC   CC             C              +.CCCCCCCCCCCCCCCCCCXC
+                                   C''                                  'CC                                   C'BBBBBBBBBBBBBBBBBB$B
+                                    XX                                  X                                      XHHHHHHHHHHHHHHHHHH_H
+                                    CC                                  C                                      CXXXXXXXXXXXXXXXXXX&X
 1  + A-AAM=++++-I   - =AZ==+X1 1IM=+"==ZI=+ + ZXXAXZXXZAXX-AZZAIXI1ZXZA--=+"-I=IAMAZAXXI+1  1+=AXZXZIII1-1=MZX="""""""""""""""""""""
+      C   CCCCCC         CCC      CC+CC                                CCCC+C                                 CCCCCCCCCCCCCCCCCCCCCC
+                                    C                                      C                                   BBBBBBBBBBBBBBBBBBBBB
+                                                                                                               HHHHHHHHHHHHHHHHHHHHH
+                                                                                                               XXXXXXXXXXXXXXXXXXXXX
 AI-= XZZ+Z--M+=ZX=+-ZAIZZ-Z==  -=-ZX+=MX==A-- IIAIAXXAXAXIIAXI+AA==AIZ"""AZMMZ=ZXXZXAXXI+=   =+1ZXZAX=A--++IMZM"""""""""""""""""""""
+          CC CC          C C     C  CC                                +C+                                      CCCCCCCCCCCCCCCCCCCCC
+                                                                      CBC                                      BBBBBBBBBBBBBBBBBBBBB
+                                                                       H                                       HHHHHHHHHHHHHHHHHHHHH
+                                                                       X                                       XXXXXXXXXXXXXXXXXXXXX
 MZ A++IXXMM--M==ZZXA-+M--ZZ=Z+ -X+I=++-MIIA+====+IA+ZZ-IZ+AAA=+=+=IZZ-+"-AXXIXXM-++--AAA=1+-1-X1X=AXA=+-1I-+--M-#"""""""""""""""""""
+           CC CC    CC CC  C        CCC               C              CCC.       CCCCC                       CC .XCCCCCCCCCCCCCCCCCCC
+                                                                       B'                                      '$BBBBBBBBBBBBBBBBBBB
+                                                                       HX                                      X_HHHHHHHHHHHHHHHHHHH
+                                                                       XC                                      C&XXXXXXXXXXXXXXXXXXX
 + = + 1ZM==M=++++=MZM=M--Z-MI+1- -+IM+ X--A=I==11-=XX-A+ZAXXA==AAXX===Z"-XAAIXX-=""M=ZI11IX=Z-1+XX+Z=+1=1=+1IZI-+"""""""""""-"""""""
+         CC CCCCCC   C  C C             CC           C             CCC C.      CC++ C                          .CCCCCCCCCCCC.CCCCCCC
+                                                                       B'        CC                            ' BBBBBBBBBBB'BBBBBBB
+                                                                       HX                                      X HHHHHHHHHHHXHHHHHHH
+                                                                       XC                                      C XXXXXXXXXXXCXXXXXXX
 1I++I +IXM====+===++==MM-ZX-MX= X---M+-IXZ====1=AAAXIZZAZ-XZA==A-==+=M=XXAXZI1A="""=+M-X1IA-A+ +=++I===++==+=XZ"""""""""""""""""""""
+          CCCCCCCCCCCC  C  C     CCC                     C      CCCCC C        C+++CC C    C                   +CCCCCCCCCCCCCCCCCCCC
+                                                                                CCC                            CBBBBBBBBBBBBBBBBBBBB
+                                                                                                                HHHHHHHHHHHHHHHHHHHH
+                                                                                                                XXXXXXXXXXXXXXXXXXXX
 +A=ZZA1=X-M==MM=+=++M+=MM-XZZZ-ZZM+M=Z=AXA===I+IAAAIZM-ZXZZAA==II-==MZ+=X=ZMA-1A+==++==-XIAAXA+I==1+I+=I+=A1+ZA-""""""""""""""""""""
+         C CC  CCCCC CC  C    C   C C                 C          CCC  CC        CCCCCCCC                       CCCCCCCCCCCCCCCCCCCCC
+                                                                                                                BBBBBBBBBBBBBBBBBBBB
+                                                                                                                HHHHHHHHHHHHHHHHHHHH
+                                                                                                                XXXXXXXXXXXXXXXXXXXX
 =I==XZX=XXX-MMMM++++M+MM-M-ZZ-MZM=A+++M+-XI==A===AZXX-Z-XXXAX+I+=I--XZ+=+ IZ=- =Z+=+M""MXXI+ZXAIIAI1=1===IA=-IZ-++""""""""""""""""""
+           C    CCCC C  C C  C   C CCC CC            C C          CC  CC         CCC ++                        CCCCCCCCCCCCCCCCCCCCC
+                                                                                     CC                           BBBBBBBBBBBBBBBBBB
+                                                                                                                  HHHHHHHHHHHHHHHHHH
+                                                                                                                  XXXXXXXXXXXXXXXXXX
 I+--AZ-+IA=IMMM=====MM-ZZ-M-ZMMX=M===+="+=X IIA+1AZMZ-ZAXAAAAAIA1=AMAA-=M IX---1Z="M=++=-ZZX-ZXXXAI=1III=IAIIA+Z-+"""""""#"#""""""""
+      C        CCCCC  C  C C    C CCCCC+CC           C                CC         C+ CCCCC   C                   CCCCCCCCCXCXCCCCCCCC
+                                       C                                          C                               BBBBBBB$B$BBBBBBBB
+                                                                                                                  HHHHHHH_H_HHHHHHHH
+                                                                                                                  XXXXXXX&X&XXXXXXXX
 =-  --M-ZA+IZZ--MMM==MM-Z-Z-Z=1MM==-======M--X=++ZZZ-ZX=I+===AIIIAIZ-ZZM-XAI++--ZM+=+"+=+MZXZZIZXZ-X=+I=====+==AA--"""""""""""""""""
+     C C      CC   CC  C C C     CCCCCCCCC CC       C               C   C         CCC+CCC         C              ..CCCCCCCCCCCCCCCCC
+                                                                                     C                           ''BBBBBBBBBBBBBBBBB
+                                                                                                                 XXHHHHHHHHHHHHHHHHH
+                                                                                                                 CCXXXXXXXXXXXXXXXXX
 I11 -MM--X=IZZXAAZXMMM----ZX-Z=MM-ZXZX-M=M=MZ1  +AAZXZ---I==XZXIIIIIZ-M-Z-I=11A+Z-M+"""""=XZA-AZXZXX=-II+===1=+IX=""""""""""""""""""
+       CC             CCCC  C    C    C C C           CCC            C C C       C C+++++C   C                   C+CCCCCCCCCCCCCCCCC
+                                                                                    CCCCC                         CBBBBBBBBBBBBBBBBB
+                                                                                                                   HHHHHHHHHHHHHHHHH
+                                                                                                                   XXXXXXXXXXXXXXXXX
 AIAAZ==MZXIX--XII=+ZMM-Z--ZZZM--MZAXZAZM=++=Z  -1IAAA-+++=-A=X-ZXI==X---ZXI== I+XMM-+++""+AMM-ZA-AXA=-I=+===I+=AZXM#""#"""""""""""""
+     CC     CC        C CC    CC        CCCC         CCCCCC   C      CCC           CCCC++C   C  C                  XCCXCCCCCCCCCCCCC
+                                                                                       CC                          $BB$BBBBBBBBBBBBB
+                                                                                                                   _HH_HHHHHHHHHHHHH
+                                                                                                                   &XX&XXXXXXXXXXXXX
 AXX-==M=M==XXA+ZAIXZMM-MA--ZXZZZ--AXAIAAM++=-X-+1=I+XM+===MMZ=+=-====+A---X-X-+XIZ=="+--++MM+MXIZAX==1+=1=1+I+-AZZZ""""""""""""""-""
+   CCC C              C  CC     CC       CCCC         CCCC   CCCC      CCC C      CC+C..CC  C                      CCCCCCCCCCCCCC.CC
+                                                                                    C ''                           BBBBBBBBBBBBBB'BB
+                                                                                      XX                           HHHHHHHHHHHHHHXHH
+                                                                                      CC                           XXXXXXXXXXXXXXCXX
 ---M=+++=I+IX=IZXAX---M=ZMMX----MMM-ZXXZM+"++=Z=11-+1A===+=+=-===MAI=I=--MXI=---ZA-=+"--+"MMXXXXXZA+1+++11+1+=1IZ-Z+"""""""""#""""""
+CCC CCCCC          CCC C    CCCC   C     C+CCC        CCCCCCCCCCC      CC      C  CCC+..C+                       C CCCCCCCCCCXCCCCCC
+                                          C                                          C'' C                          BBBBBBBBB$BBBBBB
+                                                                                      XX                            HHHHHHHHH_HHHHHH
+                                                                                      CC                            XXXXXXXXX&XXXXXX
 ===M-++++ZAIXI+=AAXXX--MZ-MZ-M--MMM=M--MM++++M=-++1IAX-M-=++==ZMMM-XI=XZZZ--+=1AZZAZM+"+"XZ-XXZXXXI+ =I-----=+1+AZ--""""""""""""""""
+CCC CCCCC            CC  C  C CC   C CC  CCCC CC      C CCCCCC    C       C          C+C+  C                      CCCCCCCCCCCCCCCCCC
+                                                                                      C C                           BBBBBBBBBBBBBBBB
+                                                                                                                    HHHHHHHHHHHHHHHH
+                                                                                                                    XXXXXXXXXXXXXXXX
 ===AZMMZ+++MMXI1+IZ= ZZMM---XXZZM==+=MMZM++"+M+MA11X-M-MM-+++M=A-M--ZAXX-Z-XXIZAM--AXMM++MZAIXAZZXI1+==-  --=1+-=Z=X""""""""""""""""
+CCC     CCC              CCC     CCCC    CC+C C     C C  CCCC   C CC    C C      CC    CC                         C +CCCCCCCCCCCCCCC
+                                           C                                                                        CBBBBBBBBBBBBBBB
+                                                                                                                     HHHHHHHHHHHHHHH
+                                                                                                                     XXXXXXXXXXXXXXX
 =+++=M=XM"++M-XXIAAA+XZ--M-ZX=IA--===--X-+"++I=ZAZ++---M=M+==-+-ZXZ-Z-XIZ-Z---M==+XAIMX=Z=-+IXZAXXX+AAI   1 =I+11XZZ-"""""""""""""""
+CCCCC    +CC C         CC C      CCCCCC CC+CC C     CCC C CCCC C   C C   C CCC CCC     C CCC                        C+CCCCCCCCCCCCCC
+         C                                C                                                                          CBBBBBBBBBBBBBB
+                                                                                                                      HHHHHHHHHHHHHH
+                                                                                                                      XXXXXXXXXXXXXX
 ++"++IIZA=+=-ZZZAAXXAAXZZ-ZXXI+-I+-ZMM-M-==M-X-M-=MMMZM==+++=XI-ZZXX-ZZXAAXZZ-=++ZMZIAAMX=-M-AI=XII=AI--  ++="=I=-XXM"""""""""""""#"
+CC+CC    CCCC            C        C   C CCC C C CC     CCCCCC  C    C        CCCC        CC C               C+C  C   CCCCCCCCCCCCCXC
+  C                                                                                                          C       BBBBBBBBBBBBB$B
+                                                                                                                     HHHHHHHHHHHHH_H
+                                                                                                                     XXXXXXXXXXXXX&X
 ++M+=X=-Z==M-IIAIXXXAXXZZZZXXXXIZ-ZZ-MM--==++ZM+=""+=--M=MMMMX-ZZX1=XZZXZXZ--M====MMZZXMX---MAI+-IAII+1-  1Z"-"-+1IA"-""""""""""""""
+CC CC  C CC C                    C  C  CCCCCC  CC++CCCC C     C            CC CCCC       CCC    C           +.CC    +.CCCCCCCCCCCCCC
+                                                 CC                                                         C'B     C'BBBBBBBBBBBBBB
+                                                                                                             XH      XHHHHHHHHHHHHHH
+                                                                                                             CX      CXXXXXXXXXXXXXX
 =+=+==M=X==MZ=-=I=I=AXZZXXXXXAXZZ--ZM==MXM=++XXM=++==-Z-MM-MMM----ZXZZZZZZZ--MM==M-==-MMZM--ZAI=-ZZ++=---  ="-"+=+=Z++""""""""""""""
+CCCCCC C CC                      CC  CC   CCC   CCCCCC C  C   CCCC         CC  CC CCCC    CC    C          C+.CC    CCCCCCCCCCCCCCCC
+                                                                                                            C'B       BBBBBBBBBBBBBB
+                                                                                                             XH       HHHHHHHHHHHHHH
+                                                                                                             CX       XXXXXXXXXXXXXX
 =+=M====Z==MX-  AAI==AAXZAAZXZXXXA-X==M=Z=+=M=MI=MIZXZMZ---=MM-ZM=MMZX-ZZ-X-MMM=M-=-Z-M=-=M-ZZZ=Z-ZI=+ -   -"-"-A-===-"""""""""""-"-
+CCC CCCC CC                       C CC C CCC C  C       CCCC  C  C    C  C C   C CCC C CCC C     C         C+.C.    C.CCCCCCCCCCC.C.
+                                                                                                            C'B'     'BBBBBBBBBBB'B'
+                                                                                                             XHX     XHHHHHHHHHHHXHX
+                                                                                                             CXC     CXXXXXXXXXXXCXC
 =MMMM-M+M-M-Z=   1=I=AXXXXAAXXIAXX--=M+=-M+=+=I=MZZZZZ-M-M===-MMMM==-Z---ZXMMMM--===-MMZ====Z-XX-MZII=-    I+"-"M11I-"""""""""""""""
+C    C C C C                      CCC CCC CCCC        C C CCCC    CCC CCC      CCCCCC   CCCC C  C           C+.C    CCCCCCCCCCCCCCCC
+                                                                                                             C'B     BBBBBBBBBBBBBBB
+                                                                                                              XH     HHHHHHHHHHHHHHH
+                                                                                                              CX     XXXXXXXXXXXXXXX
 ====-M-MM-M-ZX   -1A-+=IIAXXXXZ=ZXZMM==-AMMM=-XZ-MZ--Z-M=M=MZM--MM===----ZXZ-MMMM===M-Z-M-M=----ZZMAIA-    ==-"-"=1==M""""""""""""""
+CCCCC C  C C                         CCC    CC  C  CC C C C   CC  CCCCCCC   C    CCC C C C CCCCC            CC+.+   C +CCCCCCCCCCCCC
+                                                                                                              C'C     CBBBBBBBBBBBBB
+                                                                                                               X       HHHHHHHHHHHHH
+                                                                                                               C       XXXXXXXXXXXXX
 M===M-Z------Z    +A1- ==AX=XZ-=Z---M--AA---M=-===-M-M-===MZ-=MMMM=M=+=--ZXZXMM===-MMMZMMZ-=+MMMZX-AII= -  ==M"""A1 -M""""""""""""""
+ CCC C CCCCCC                 C  CCC CC  CCC CCCCCC C CCCC   C    C CCCCC      CCCC       CCC     C         C +++   C +CCCCCCCCCCCCC
+                                                                                                              CCC     CBBBBBBBBBBBBB
+                                                                                                                       HHHHHHHHHHHHH
+                                                                                                                       XXXXXXXXXXXXX
 -===MMZIZ-ZZZZ   =A1==I1=IIAXZZ=IXZ-Z--Z-MM=MM-MMM-=MMMMM+--MMMZMM==+"+M-M-MAXMM-Z-M-MM=MZM++-=--ZXX-=I  - ++-=+=Z+ =+M"""""""""""""
+CCCC     C                         C CC C  C  C   CC     CCC      CCC+C C C     C C C  C   CCCCCC   C       CCCCC   CC CCCCCCCCCCCCC
+                                                                     C                                                 BBBBBBBBBBBBB
+                                                                                                                       HHHHHHHHHHHHH
+                                                                                                                       XXXXXXXXXXXXX
 ZM=+M-Z--ZZZ=+  -+=-1++-+AAXA====X-XX--Z-MMM--=IX-M=M-MZ-MZM=MM-Z-M-M++=-ZMM1=Z-M==MM==MMMM++==-A--IZAI=++1===-+=Z--ZM=-""""""""""""
+  CC C CC                         C  CC C   CC   C C C  C   C  C C C CCCC      C CC  CC    CCCCC CC         CCCCC     C.CCCCCCCCCCCC
+                                                                                                                       'BBBBBBBBBBBB
+                                                                                                                       XHHHHHHHHHHHH
+                                                                                                                       CXXXXXXXXXXXX
 Z-===M--M-ZXAI  11--11++XAXX+ =-I--ZZZZZ-MMZ--+ X-ZMM-ZX-MZ-M=--ZMMMM=MM-ZM-I1=Z-MMM-=M-MM===+=X+-MAX==A==I+-=M=+Z--X=++"""#""""""""
+ CCCC CC C                       CC     C   CC   C   C  C  C CCC     C  C  C    C   CC C  CCCCC  C          CC CC    CCCCCCXCCCCCCCC
+                                                                                                                        BBB$BBBBBBBB
+                                                                                                                        HHH_HHHHHHHH
+                                                                                                                        XXX&XXXXXXXX
 ZZ====MMMMZZII -++- - 1+XZI+I-11X--ZXZ--Z-MZ--A1ZZX--MZXZMMXMMM--M-M----ZA--ZI1ZXMMM-=-M-M=+=+=-1-=AX=1XI=+1XMMM+Z- ZZ+Z-""""""""#""
+  CCCC                           CC   CC C  CC     CC          CC C CCCC  CC        CCC C CCCCCC CC             C     C .CCCCCCCCXCC
+                                                                                                                        'BBBBBBBB$BB
+                                                                                                                        XHHHHHHHH_HH
+                                                                                                                        CXXXXXXXX&XX
 -Z=+=+=-=MMZI  1-      1=ZZIXZ+1Z--ZXZM-Z-ZZMM-X--ZZMM-MM++=-ZMZ--M-ZXXA=A-ZZZ-I+X-MMM-==M==+=+=MMA+I+-X++111Z=ZMX- MX+M#"""""""""""
+C CCCCCCC                        CC    C C    C CC    C  CCCC   CC C      C       C   CCC CCCCCC              C       C XCCCCCCCCCCC
+                                                                                                                        $BBBBBBBBBBB
+                                                                                                                        _HHHHHHHHHHH
+                                                                                                                        &XXXXXXXXXXX
 -Z==+=MM-ZZX=          1IX----X=XXZZXZZZ-ZZM-M-=ZMZ-X-=M++=MAZMIA-MMZX IIZ----Z1+---MM-X+==+==+==+=+-=IIA=+- 1MZZ=1 Z-+-""""""""""""
+C CCCC  C                 CCCC          C   C C    C CC CCC      C        CCCC   CCC  C CCCCCCCCCCCCC                CC.+CCCCCCCCCCC
+                                                                                                                       'CBBBBBBBBBBB
+                                                                                                                       X HHHHHHHHHHH
+                                                                                                                       C XXXXXXXXXXX
 --M-MM--XXXA   - -     -IXZ-MXXXAIXZXZAXZXM-ZX-+I--Z1A++++=MAZM--ZMMM-+AXZZ---X==-MZMMMM=====+++="""+AAXX=+ --XXI-- AM---"""""""""""
+CC C  CC                   C               C  C  CC   CCCCC    CC    C     CCC   C      CCCCCCCCC+++C                 ...CCCCCCCCCCC
+                                                                                                 CCC                  '''BBBBBBBBBBB
+                                                                                                                      XXXHHHHHHHHHHH
+                                                                                                                      CCCXXXXXXXXXXX
 -MMZM--ZXXI=   1+-   --1IXZMM-XZX+=ZXXZZZ1XXZZM-A+==AM++=M=MMZM-Z-MZM-XXZZZ--=XX=ZZZ-ZZM=+=M=+++="-""-I-I==+1 IA+-- X=#--""""-""""""
+C    CC                      C                 C      CCC C    C C   C     CC       C   CCC CCCCC+.++C C             CX..CCCC.CCCCCC
+                                                                                                 C'CC                 $''BBBB'BBBBBB
+                                                                                                  X                   _XXHHHHXHHHHHH
+                                                                                                  C                   &CCXXXXCXXXXXX
 =-=MM-Z-ZZI 1  --- ++++1A+ZMM=-XZ+1IXZ-X-MMM===+M1M==M++=MM=M=-AXA=-ZMZXZM-Z=1AAI=ZZZXZ===MM++=+=""""=+I==AXI 1AI-+-X=#-+"""""#"""""
+CCC  C C                     CC       C C   CCCC   CC CCC  C CC    C      C            CCC  CCCCC++++C               CX.CCCCCCXCCCCC
+                                                                                                 CCCC                 $' BBBBB$BBBBB
+                                                                                                                      _X HHHHH_HHHHH
+                                                                                                                      &C XXXXX&XXXXX
 -ZM-M---XX-IA=  II-=+=IIIIX-M=ZXA+1=XXZ-MM-=+=+=AX==M=+==IZZ==--MA--MZMZ----ZIZAA=ZZA=ZMM==M+=++++++"+I-1=AIA-===---IZ#-="""""""""""
+C  C CCC                   C C         C  CCCCCC  CC CCCC   CCCC   C    CCCC             CC CCCCCCCC+C                X.CCCCCCCCCCCC
+                                                                                                    C                 $' BBBBBBBBBBB
+                                                                                                                      _X HHHHHHHHHHH
+                                                                                                                      &C XXXXXXXXXXX
 -ZM----ZI-=X=I 1AAAI+IIXAAAZMMZZZI1+AZ-MZ==M====ZXMMMM===-MM=====MA=+M=M---Z-XZZA1=+= XM===-===M+===+=I =IAIX=+==---1I-"+"""""""""""
+C  CCCC  C                            C  CC CCCC      CCCC  CC CC  CC C CCC C           CCCCCCC CCCCCC                .+C+CCCCCCCCCC
+                                                                                                                      'C CBBBBBBBBBB
+                                                                                                                      X   HHHHHHHHHH
+                                                                                                                      C   XXXXXXXXXX
 MZM-ZAZ-Z-X++1 =X-1-1I=ZAXXZ--ZXZZ=+Z-M--==Z=+==+MMMMMM+=+=-=+1+-"""-""=---Z-ZAZAI -X1A-=MM-MM=MMMZ=+"Z=ZZXZZAI++- = X=Z+-""""""""""
+   C   C C                  CC       C CCCC CCCCC      CCCCCC  C.+++.++CCCC C          CC  C  C    CC+                C C.CCCCCCCCCC
+                                                                'CCC'CC                              C                   'BBBBBBBBBB
+                                                                X   X                                                    XHHHHHHHHHH
+                                                                C   C                                                    CXXXXXXXXXX
 -AZX=XZZ+=AI+--XXI   +XXZZAXM-ZXXXAXX--M====+++++==M-ZM===ZM  +--------+-MMMZ-ZXIX 1XXXZ--M+MZM==-ZMM++M==-Z=MX==- + =Z=M"""""""-"""
+C                            C       CC CCCCCCCCCCC C  CCC     ........CC    C          CC C   CCC   CC CCC C            CCCCCCC.CCC
+                                                               ''''''''                                                  BBBBBBB'BBB
+                                                               XXXXXXXX                                                  HHHHHHHXHHH
+                                                               CCCCCCCC                                                  XXXXXXXCXXX
 -Z-++XX-ZA+-= ZMMZA  -IXZXXXZ-XXXZZZXXM=M+++==+=+=-MMZ-MMI-Z  +"-------"-==M-ZZX---IZXZ---M==MMM-M-M=+""+=Z-=MZI=1  1IA-="""""""""""
+C C    C                     C         C CCCCCCCCCC   C   C    +.......+CCC C   CC     CCC CC   C C CC++CC CC          CC+CCCCCCCCCC
+                                                               C'''''''C                              CC                 CBBBBBBBBBB
+                                                                XXXXXXX                                                   HHHHHHHHHH
+                                                                CCCCCCC                                                   XXXXXXXXXX
 ZZMI+I----ZIA+MMMZZA1AAZZZZXZXXZZ-ZZZM===++++===+=-MZX-M-IZX  1"-------"-MMM-M-ZZX+-ZZ-ZZ--=MMM-MMM--+""+-X-M=MA11  1I===-""""""""""
+      CCCC                       C    CCCCCCCCCCCCC   C C      +.......+C   C C    C  C  CCC   C   CCC++CC C C         CCCCCCCCCCCCC
+                                                               C'''''''C                              CC                  BBBBBBBBBB
+                                                                XXXXXXX                                                   HHHHHHHHHH
+                                                                CCCCCCC                                                   XXXXXXXXXX
 Z-=-IZ---MMM-ZZZ--ZXIZX------ZXXZ-ZXXMM==++++=+=++-=MAI-ZXZ1   -----"---Z=MM-MM-M-A-Z-------M=MMMMM--M+M+X-M-=-I1---+I=-MZ"""#""""""
+ CCC  CCC   C   CC     CCCCCC    C     CCCCCCCCCCCCC   C       .....C... C  C  C C C CCCCCCC C     CC C C   CCC        C  +CCXCCCCCC
+                                                               '''''B'''                                                  CBB$BBBBBB
+                                                               XXXXXHXXX                                                   HH_HHHHHH
+                                                               CCCCCXCCC                                                   XX&XXXXXX
 MZMMAXAIZ-M-M--ZAZXXXZ---XXAXXXZ-Z-ZZ--Z==++++++=+=+=MZZMI+    -"-------M=+=Z==ZMMZZ--MZ-Z-MMMMM=ZM=M===+--MZM=1=-=+=A=+M-""""""-"""
+         C C CC       CCC       C C  CC CCCCCCCCCCCCC          .+....... CCC CC     CC  C C     C  C CCCCC               C+CCCCC.CCC
+                                                               'C'''''''                                                  CBBBBB'BBB
+                                                               X XXXXXXX                                                   HHHHHXHHH
+                                                               C CCCCCCC                                                   XXXXXCXXX
 MZ-MZ=1IIZ--ZZZXA=I=X--MMX+++AXZ---ZX-M-M++++==+==+=Z=-MI1XI1ZM-""--"-"--M=MMM-MM--Z----Z---=-M-MIM=MM==+=----+1-1+1=XA-X=+"""""""""
+  C       CC         CC         CCC  C C CCCCCCCCCCC CC        .++..+.+.C C   C  CC CCCC CCCCC C   C  CCCCCCCC           CCCCCCC+CCC
+                                                               'CC''C'C'                                                   BBBBBCBBB
+                                                               X  XX X X                                                   HHHHH HHH
+                                                               C  CC C C                                                   XXXXX XXX
 M--M=XA=AZ-X==I+=11=A--MMZ1 +AZXZ-ZXX----===+M=+===MMMM-+X-M="""-Z++====-M=M---M-M-XZZ-----MM--M-MM+=-M=++=MIM=-- --=XA1+=-"""""""""
+ CC C     C          CC          C   CCCCCCCC CCCCC    C  C C+++C CCCCCCC C CCC C C   CCCCC  CC C  CCC CCCC              C.CCCCCCCCC
+                                                             CCC                                                          'BBBBBBBBB
+                                                                                                                          XHHHHHHHHH
+                                                                                                                          CXXXXXXXXX
 =M-M+M-=AZ-XAII+=A1-A--MMZ+ =XXXZ-Z=A-Z--M===M=+==M=MMM-AM=+++""+-=+MM==M==MMMZMM-ZZ--Z-M--ZMX---MM==M+=+++=AM=-+  +IIZ+=+""""""-"#"
+C C C C   C          CC          C   C CC CCC CCCC C   C  CCCC++CCCC  CC CC      C  CC C CC   CCC  CC CCCCCC             C+CCCCC.CXC
+                                                              CC                                                          CBBBBB'B$B
+                                                                                                                           HHHHHXH_H
+                                                                                                                           XXXXXCX&X
 M---=-XA1ZZAX=AIAI- +ZMMMXA++AZXXZX=IX-ZZM=M===+=====M=MAM-+"""""=+++X=M=M=M-=MMMZ-A-----Z--ZXZ--MMM===="""+=-=+-  -++AI=M-"""""""""
+ CCCCC                                C   C CCCCCCCCC C   CC+++++CCCC C C C CC    C CCCCC CC   CC   CCCC+++CCC            .CCCCCCCCC
+                                                            CCCCC                                       CCC               'BBBBBBBBB
+                                                                                                                          XHHHHHHHHH
+                                                                                                                          CXXXXXXXXX
 -XXZ-I==1IIXZIA=A=  IZMZ--=11Z-ZZA-AXZZ-M---+++++MM====M-ZM+"""+=++++=MMMMM-MMMMMXZ-Z-X--ZZAXZ-MM++==++MM++"MXA+1-1-+==IMM""""""""""
+C   C                   CC    C   C    C CCCCCCCC  CCCC C  C+++CCCCCCC     C       C C CC     C  CCCCCC  CC+              CCCCCCCCCC
+                                                            CCC                                            C              BBBBBBBBBB
+                                                                                                                          HHHHHHHHHH
+                                                                                                                          XXXXXXXXXX
 -ZAZXXXA+++==Z--XII=ZMZIM- +-MM-ZZZ=AXAZ-MM==+++==-MM===--M=+""+===++==MM--ZMM-MM--ZZ-X-ZZZAZZZ-M=+=+=M==M=+MX=I -+ =+==--"-""""""""
+C             CC         C  C  C        C  CCCCCCCC  CCCCC CC++CCCCCCCC  CC   C  CC  C C       C CCCCC CC CC            CC+.CCCCCCCC
+                                                             CC                                                           C'BBBBBBBB
+                                                                                                                           XHHHHHHHH
+                                                                                                                           CXXXXXXXX
 -ZAXAXXZ++1+=A-MZZZZ-M+XZ-AAMMM=M-ZXAXA--MM=M==MM=M=++==MMM=+"++=M-=++=-ZM--MM-=M---Z-XZ---Z--XZM===++MM+-=M-X+I--+ ====-M"+""""""#"
+C             C     C    C     C C     CC  C CC  C CCCCC   CC+CCC CCCCCC  CC  CC CCC C  CCC CC   CCCCC  CCC C           C +CCCCCCCXC
+                                                             C                                                            C BBBBBB$B
+                                                                                                                            HHHHHH_H
+                                                                                                                            XXXXXX&X
 -Z=AA=A+1+1+XAZ-Z---=M+X-MM---M==-ZZXZZ-MMMM-++-M=-M+++==MMM=+++M=+M++M-MM-MM-MMMMM-Z-ZZ-----M----=+++MM=M+"ZZ+++ - +1I1ZM-Z""""""""
+C              C CCCC   C  CCC CCC     C    CCCC CC CCCCC   CCCC CC CC C  C  C     C C  CCCCC CCCCCCCC  C C+              . CCCCCCCC
+                                                                                                           C              ' BBBBBBBB
+                                                                                                                          X HHHHHHHH
+                                                                                                                          C XXXXXXXX
 M-IXXAA+++1=I+=+XMMIZZ-M-ZMM-M===ZZZX-M-----M==+==Z-+M=++1M=+"++-=+X=+-MMMM=MMMM-M-ZZZX-MMM=--Z=M-+++"=ZMM=++-+-=   +=AIX+"-""""""""
+ C                    C C   C CCC    C CCCCC CCCCC CC CCC  CC+CCCCC CCC    C    C C    C   CCC C CCCC+C   CCCC           CCCCCCCCCCC
+                                                             C                                       C                    B BBBBBBBB
+                                                                                                                          H HHHHHHHH
+                                                                                                                          X XXXXXXXX
 M-I=AZX=I+1=I+++=AAIZ-M-X----M--MZZXIZ-ZZZZMM-M==MZ-=MM=+I-=="+"+M=ZMM-ZMMM=MM--Z--ZZXZ-MMM=-MM=M=+++++MM--M+=A +-  ==AXI+"M""""""""
+ C                   C C CCCC CC      C      C CC  CC  CC CCC+C+C C   C    C  CC CC    C   CC  C CCCCCC  CC CC           CC CCCCCCCC
+                                                             C C                                                          B BBBBBBBB
+                                                                                                                          H HHHHHHHH
+                                                                                                                          X XXXXXXXX
 MXI=IA+XXX-=I1++-+IIAM-M--Z-MX1A-M-ZII-ZZZ-MZ-X-MMZZ-M===-===+=""+M=MMM--MM=MM---ZZXXXZ-M===-MMM=+M++++MM=-Z==--+1 -===A1="M""""""""
+                      C CC C    C C   C   C  C C    C CCCC CCCC++C C   CC  C  CCC      C CCCC   CC CCCC  CC CCC          CC CCCCCCCC
+                                                               CC                                                         B BBBBBBBB
+                                                                                                                          H HHHHHHHH
+                                                                                                                          X XXXXXXXX
 ZA1A==+ZZZ1=+1- --=AX-M-MZM=-+ +Z--AAAZX-Z-MM=IA--ZZXZ=+=MZM+++--"M====M--MMM-ZM-ZZZXXZX-===MM=MM=+++"-=--MXZZ-11=--+1=AA++=-"""""""
+                     C C   CC    CC     C C  C  CC    CCC   CCC..+ CCCC CC   C  C       CCCC  C  CCCC+.CCC    C          CCC.CCCCCCC
+                                                               ''C                                   C'                     'BBBBBBB
+                                                               XX                                     X                     XHHHHHHH
+                                                               CC                                     C                     CXXXXXXX
 Z=+XIIAXXA+==-1- -1=AIZ-ZZ-ZZX=IA--X=IIZ-ZXZ-=MAXIII1AZ==A=Z==+"-"=+++===MMM-MM-ZZZZZZXZZ=MM-MM=M==M=+"+ZM=M-ZA=++1-1+=IA++-""""""""
+                       C  C      CC     C   CC         CC   CCC+.+CCCCCCC   C  C         C  C  C CC CC+C  C C            CCCCCCCCCCC
+                                                               C'C                                    C                     BBBBBBBB
+                                                                X                                                           HHHHHHHH
+                                                                C                                                           XXXXXXXX
 I+IAIZAAX=IXI=+--+++==A==XXIAZZZZZXXXXIZ-XIAI-M-Z=I1+IAXZI MM=""""==+++===MMMM------ZXXZZ==M-M-MM=MMM""+=+=M-Z+A+-+  =+=A-"-""""""""
+                                        C    C C             C++++CCCCCCCC    CCCCCC     CC C C  C   ++CCCC C            C+CCCCCCCCC
+                                                              CCCC                                   CC                   C BBBBBBBB
+                                                                                                                            HHHHHHHH
+                                                                                                                            XXXXXXXX
 1IIIIZIAX=IAXA=+===-+I1--==+=I-ZZZXXZXXZXXZZIX==XZ-XZXIA=IAMZ+"""+++++==+++==-----ZXZXX-ZM==-M-======""+=-+=-ZIXX1 --+1ZAZ"Z"-""""""
+                              C               CC  C          C+++CCCCCCCCCCCCCCCCC     C  CCC CCCCCCC++CC.CCC             + C.CCCCCC
+                                                              CCC                                    CC  '                C B'BBBBBB
+                                                                                                         X                  HXHHHHHH
+                                                                                                         C                  XCXXXXXX
 1++==XXA=+IX-ZIII++-1II- 1=I==--ZZXAAXXAZZM===+Z1=Z=++Z=XIZZ=A"-"++++=MM++++==ZAZX-=M-XZAMMM-=-M+==M++"="--==X=AX- =1--ZXA+A""""""""
+            C                 CC           CCCC    CCC        +.+CCCCC  CCCCCC    CC C      CCC CCC CC+C+..CC             C CCCCCCCC
+                                                              C'C                                     C C''                 BBBBBBBB
+                                                               X                                         XX                 HHHHHHHH
+                                                               C                                         CC                 XXXXXXXX
 ==I+=XAZ=-IA-XIZA+=+=+I--=XXA=XX-XAXAIIAX-M==M1= 1XM==MXXAMA+X"-"++++=+=+""=MZAAZMMMMMZM-M=MM=M=+===+"-+-=MMMXXIX- 11I1IZX+X""""""""
+            C                   C        C CC       CC        +.+CCCCCCCC++C            C C  C CCCCCC+.CCC                C CCCCCCCC
+                                                              C'C        CC                          C'                     BBBBBBBB
+                                                               X                                      X                     HHHHHHHH
+                                                               C                                      C                     XXXXXXXX
 =+IIIXXZA+IAXIIZX=AIIIAAXXAXXI==AAZ-A=AZ-MM==-1-1AZ=M=MZIXZ=+Z"+=+++=+==+==MZZIX-=MM-MZ---MMM==+=MMM=+"+=M+==Z-AX  1+A-XI-Z-""""""""
+                                   C    C  CCC     C C        +CCCCCCCCCCCC     CC  C  CCC   CCCC   CC+CC CCC C          C CCCCCCCCC
+                                                              C                                       C                     BBBBBBBB
+                                                                                                                            HHHHHHHH
+                                                                                                                            XXXXXXXX
 ++I=IXXAI=AAX=AX+XI=AXXZZIXXZA==I=AIIXXZ-MM=MI+-Z---="=MZ=XIAM+=M"++=+++==M--ZIZM=M-ZM-Z--Z-MM==+=M-M+++=M==+MMXZ 1+=Z+I=+1+""""""#"
+                                        C  C     CCCC+C       CC +CCCCCCCC CC    C C  C CC C  CCCC C CCCC CCC            C CCCCCCCXC
+                                                     C           C                                                          BBBBBB$B
+                                                                                                                            HHHHHH_H
+                                                                                                                            XXXXXX&X
 =====AZI111IXAXAAXIAAZZMM-A-ZAIZXX1 =ZZZ-M=MM= XX=M-=++=MZIAAMM+I"+++=M++-M==ZA-MMMM-M-ZZZZ--M=+++M-ZM+=+M+=++=MXI+-AIAI1-="""""""""
+                         C C            C C      C CCCCC       C +CCCC CCC CC  C    C C    CC CCCC C  CCC CCCCC          C CCCCCCCCC
+                                                                 C                                                         BBBBBBBBB
+                                                                                                                           HHHHHHHHH
+                                                                                                                           XXXXXXXXX
 IIXZAXXI11I=I==Z-AXAZZM==XXZAAZZAA =+XZZMM-=MA-=+MZM=++"XXXAIM--M""++=MMM+=AMMMM=MMMMMXZ--ZZ-MM=++MM--MM+M+"++M=MZ+ AAIA+X1#-"""""-"
+                C      CC                 CC        CCC+      CC ++CCC   CC             CC  C  CCC  CC  C C+CC C           X.CCCCC.C
+                                                       C         CC                                        C               $'BBBBB'B
+                                                                                                                           _XHHHHHXH
+                                                                                                                           &CXXXXXCX
 IZZZZAX=+=A1IIZ-ZXZZZ-M==-A----XAZ=+IZZXM=---X+1 IZ+-+M=--ZMZ-AIM+-=+MM==+=MMMM==MMM--ZMM---M--M=+=MZ---="""+=-M===+A=IIAM1"""""""""
+               C     C CCC CCCC          CCCC      CCC CCC   C   C.CC  CCCC    CC   CC   CCC CC CCC  CCCC+++CCC CC         CCCCCCCCC
+                                                                  '                                      CCC               BBBBBBBBB
+                                                                  X                                                        HHHHHHHHH
+                                                                  C                                                        XXXXXXXXX
 AZZZX=A=XII==X---ZX-MMM=M-MM=MZIAZZAAA--ZZMZXA+-  A=-MZXM=--1MZ---++=M=====M=Z===MMM==ZZ----=MM-=MMMM--M==++"+IM=====+=I==++""""""""
+              CCC  C   C C  C         CC           CC    CCC   CCCCCC CCCCC C CCC   CC  CCCCC  CC    CC CCCC+C  CC       C CCCCCCCCC
+                                                                                                            C               BBBBBBBB
+                                                                                                                            HHHHHHHH
+                                                                                                                            XXXXXXXX
 IXAIAAZIIII+IZXZMZA-MMMM-==MM-AAAAZ-AXMM=-M--1 -  =ZZ+1IMZ-MAM--==-M====-M===AM=MM--MMZ--M---M===MMMZ I--M==+"++XMAXA1=IX+1+""-"""""
+                   C    CCC  C     C    CC C              C   CCCCC CCCCC CCC  C  CC   CC CCC  CC      CC CCC+CC         C CCC.CCCCC
+                                                                                                             C              BB'BBBBB
+                                                                                                                            HHXHHHHH
+                                                                                                                            XXCXXXXX
 IZI=AX-Z-II=XZZ--AZ---ZZ--M--X IZZMXXM-=MM--X---1 I--A==-IX+Z-XZZZM++==M=MZM--=MMM-Z==M----M==X++=--A +--MM++""M--AA11=IAZM"""""""""
+      C        CC  CCC  CC CC         CC  CC       CC   C  C C     CCCC C   CCC   C CC CCCC CC CCCCC   CC  CC++ CC         CCCCCCCCC
+                                                                                                             CC            BBBBBBBBB
+                                                                                                                           HHHHHHHHH
+                                                                                                                           XXXXXXXXX
 =IAIXXZX-==+IAXAIXZXXZZZZXZ--Z=AZZZZXXZM=MZAI+11+1AX-AAXAX-=ZMZZZMM+"=M=MM=MMM=--M-Z=+=--Z-M===++MZ=  +M-MM+++M=XX=1++IIIA=-""""""""
+                           CC           C           C     CC       C+C C  C   CCC C CCCCC C CC CC       C  CCC            C.CCCCCCCC
+                                                                    C                                                      'BBBBBBBB
+                                                                                                                           XHHHHHHHH
+                                                                                                                           CXXXXXXXX
 I=+=ZMAI =I+I=I=II+IAIIX=AAZ-ZAAZXZZ-Z-=M=-II==+1+=AIAAXIIZZZM=-+=-=+-M==MMMMMMZAZZ-==-ZXX-M==-++-X ++X--MM++"XIIX=+===II-"+""""""""
+                            C       C CC CC                   CCCCCCCC CC          CCCC   C CCCCCC     CC  CC+           C+CCCCCCCCC
+                                                                                                             C            C BBBBBBBB
+                                                                                                                            HHHHHHHH
+                                                                                                                            XXXXXXXX
 XI-1ZXI1-++-+=I =A-+III+IA1XZXAZ--XIM=-+-=Z=A+1+-+=AI=IA==IZMM=+=MMZZ=MM-X-M-==-ZZZXXZZZZ-MMM-=+=Z-IX-MZ-Z-=++=MAXXI+ IA=Z"--"-"""""
+                                CC   CCCCC                    CCC    C  C C CCCC         C   CCCC C  C  C CCCCC           C..C.CCCCC
+                                                                                                                          B''B'BBBBB
+                                                                                                                          HXXHXHHHHH
+                                                                                                                          XCCXCXXXXX
 AA+IXAX-   ++I=+1=+1=X==AA=AAZMZZ--I-+MM-=MAII++=+++=III===XXZZ--A+=ZM--Z-M+M==Z--==M-=M---ZZZ++-=-Z---Z-MMX+""==ZX+++IX=Z""#"""""""
+                                 CC CC  CC                     CC     CC C C CC CCCC CC CCC   CCCCC CCC C   C++CC         CCXCCCCCCC
+                                                                                                             CC           BB$BBBBBBB
+                                                                                                                          HH_HHHHHHH
+                                                                                                                          XX&XXXXXXX
 XI=IIXAI11+II=A=+AA==I=11=+IXZXAXXZXZZZZ-==AI=1111+-====+=++IIXAZX=IZZM+=MM=++++=M=M=M==-M-M-MM+X+M-M-MMMM-M"""++Z++=XIXIZ-"""""""""
+                                        CCC                            CC  CCCCCC C C CCC C C  C C C C    C +++CC         .CCCCCCCCC
+                                                                                                            CCC           'BBBBBBBBB
+                                                                                                                          XHHHHHHHHH
+                                                                                                                          CXXXXXXXXX
 XIIIA-MX=+=AZIAAA=ZXI++-1+1+=+1+AX+=AZXXXXZI+1- 1++1+II++=++=IZ=I-ZZ--="+=++""===M=MMMMM====M--=ZMM--MM-M-M=+"""+I=XZZX-ZI""""""""""
+     C                                                           C  CCC+CCCC++CCC C     CCCC CCC   CC  C C CC+++C      C  +CCCCCCCCC
+                                                                       C    CC                               CCC          CBBBBBBBBB
+                                                                                                                           HHHHHHHHH
+                                                                                                                           XXXXXXXXX
 =IAZM=-ZIAAXAIAIZZX=-  +ZZX=1==Z=+M=M-AIZ-XI++- -+++1+A-1=++AAZM+M-X--+-"++M=MM=-MM=ZXZM====M1M--=M=--MM-M=++++"+=+=ZIZ"MZ="#"""""""
+     CC                         CC C C   C                      C C CCC.+CC C  CC  C    CCCC   CCC CCC  C CCCCC+C  C   +  CCXCCCCCCC
+                                                                       'C                                      C       C   B$BBBBBBB
+                                                                       X                                                   H_HHHHHHH
+                                                                       C                                                   X&XXXXXXX
 AXX==MZX=I==1=I=AXAZ=  =XM=-XZ-+===+M+XZA-AII=1++1+1  ==I=+AX=+M+=-M-="++""==MM==MM=-==M=MMM=-+=M==MM-MMM-==+++++=-=-I-"ZZ+"""""""""
+   CC                     CC  CCCCCC C   C                   CC CCC CC+CC++CC  CC  CCCC C   CCCC CC  C   CCCCCCCCCCCC C+  CCCCCCCCCC
+                                                                      C  CC                                            C   BBBBBBBBB
+                                                                                                                           HHHHHHHHH
+                                                                                                                           XXXXXXXXX
 AXZMMXA===+++I=IXX--I1+=M=+==M==M===M=ZXZZII+===++1-  1A==1IX--MM==MM""+=""+====MM=+=+=M====+=+=M==MMM---M=A++++M-=-Z-"+Z+"""""""""-
+                  CC     CCCC CC CCC C                       CC  CC  ++CC++CCCCC  CCCCC CCCCCCCC CC   CCC C CCCC CCC C+C CCCCCCCCCC.
+                                                                     CC  CC                                           C   BBBBBBBBB'
+                                                                                                                          HHHHHHHHHX
+                                                                                                                          XXXXXXXXXC
 AXXZZI=1++1IAAIXXXMMZAZZ=+=Z=+==++-XZXAZXXII=IAAII=1  II===II=AAZXMM-==M-=+====+=MM++==MM==="+=Z=++MMM-M-M=M++++M=Z-M-+M-="""""""""-
+                        CCC CCCCCCC                                 CCC CCCCCCCCC  CCCC  CCC+CC CCC   C C C CCCC   C CC CCCCCCCCCCC.
+                                                                                            C                             BBBBBBBBB'
+                                                                                                                          HHHHHHHHHX
+                                                                                                                          XXXXXXXXXC
 ZXZX+AA+11IXIIZZZ-MM=M=+"MXZ====-MMXMZMZ-XAIAAAI===++=AII==AZAIXI-=Z-++=+=+=+==M===M==+M=+-+++Z=+++M-M---M=+++++M+-="++=M"""""""""""
+                 C  C CC+   CCCCC       C                        CC CCCCCCCCCCC CCC CCC CCCCCC CCCC C CCC CCCCCC  CC+CCC +CCCCCCCCCC
+                        C                                                                                           C    CBBBBBBBBBB
+                                                                                                                          HHHHHHHHHH
+                                                                                                                          XXXXXXXXXX
 -MMXIIA=IAXXXAXZ-MM--==MM-XZZ--Z-MM===M=+-I====I+=IA==I=IIIII--M=MMZ=+==+M==+==-MMM++++-M=="++=++++M==M-Z==M=+++=AM="=+"="""""""""""
+C               C  CCCC  C   CC C  CCC CCC                   CC C   CCCCC CCCCCC   CCCCC CC+CC CCCC CC C CC CCCCC  C+CC+C+CCCCCCCCCC
+                                                                                           C                        C  C CBBBBBBBBBB
+                                                                                                                          HHHHHHHHHH
+                                                                                                                          XXXXXXXXXX
 M+=XXAZAAXIXZZXAI-ZAZMMXAXAIAZ---MM=M-M=M-A==AZ-I+=AI+11IIAAXZMX==+++""=+MM==++=M==+M==M==+"+-Z++=+===M---MA=+++M=++"-"""=""""""""""
+ CC              C            CCC  C C C C     C                CCCCC++CC  CCCCC CCC CC CCC+CC CCCCCCC CCC  CCCC CCC+C+C+CCCCCCCCCCC
+                                                                     CC                    C                        C CBC BBBBBBBBBB
+                                                                                                                       H  HHHHHHHHHH
+                                                                                                                       X  XXXXXXXXXX
 Z--XZAZXIIIAZA=IAXAAAII==X-ZZMZ---ZZMM-+=ZX=XZMMA++II+-1=Z=MXXZ+M+"+="""=+==M=M=M+=+M==ZM=++=X==+====MM---==++==+="""-+"""""""""""""
+ CC                       C    CCC    CCC                 C      C+CC+++CCCC C C CCC CC  CCCC CCCCCCC  CCCCCCCCCCC+++CCC++CCCCCCCCCC
+                                                                  C  CCC                                          CCC  BCCBBBBBBBBBB
+                                                                                                                       H  HHHHHHHHHH
+                                                                                                                       X  XXXXXXXXXX
 ZIIAZXAII====++IAZ==+A-X=XMMZ-Z-==+ -==M-ZXA-MMAXA+AA1--=Z-MMZ-Z=+"++--"X+++M-XM==MMM-=Z-Z-==M==-===MMMMMMMM=M==M=+-MI"""-"""-"""-""
+                      C      C CCC  CCC C   C             C   C CC+CC..+ CCC C  CC   CC C CCC CCCCCC        C CC CC.  +CC.CCC.CCC.CC
+                                                                  C  ''C                                           '  CBB'BBB'BBB'BB
+                                                                     XX                                            X   HHXHHHXHHHXHH
+                                                                     CC                                            C   XXCXXXCXXXCXX
 I=AXXI+====AI==I+IIXA-MMXX=-IAXZM=MM==-M=A=XAZ-ZMXXXX==+XZ+=+=+=--+""-"+===M-=MM-----M--M-==="+M=+=+M=M-M-=MMM=+=+""M1"""""""#""""""
+                     C    CC     C  CCC C     C           CCCCCCCCC++.+CCCC CC  CCCCC CC CCCC+C CCCC C C CC   CCCC++  CCCCCCCXCCCCCC
+                                                                   CC'C                      C                    CC  BBBBBBB$BBBBBB
+                                                                     X                                                HHHHHHH_HHHHHH
+                                                                     C                                                XXXXXXX&XXXXXX
 +===+I+=I==I==1++=AA=IIZAI=Z=-IAZ--MMMM==-ZZIAX--AX-IX=+M-MM==+---MM"""X=M-ZZ====MMMM=Z--M==++++=+++M+M---M-MM===+"+++""-"""""-"""""
+                          C      CC    CCC     CC  C     C  CCCCCC  +++ C C  CCCC    C CC CCCCCCCCCC C CCC C  CCCC+CC CC.CCCCC.CCCCC
+                                                                    CCC                                           C   BB'BBBBB'BBBBB
+                                                                                                                      HHXHHHHHXHHHHH
+                                                                                                                      XXCXXXXXCXXXXX
 -1+1+==I==+=IA++++=I1+====XZA IZ--M=+++""ZXZZZZZZZZZ+I=+A--MMM=MMM--Z++-M---M==M=MM-MA-MM=++=+++=+++++=-Z-Z-===++"++==---"""""""""""
+                                CC CCCC++                CC   C   CC CCC CCC CC C  C  C  CCCCCCCCCCCCCCC C CCCCCC+CCCC...CCCCCCCCCCC
+                                       CC                                                                        C    '''BBBBBBBBBBB
+                                                                                                                      XXXHHHHHHHHHHH
+                                                                                                                      CCCXXXXXXXXXXX
 -   1+=+=1+==I=1=1+=+11+AXAZAAA-==++++M+--IXIIXXZMX-=IA+IAZMM==MMM-=-=Z-M-MZ-==M=ZMMZM==M+=++M++=+=-++=---M=+=M""-+-+---"""""-""""""
+                               CCCCCCC CCC         C         CC   CCCC C C  CCC C     CC CCCC CCCCCCCCCCCC CCC ++.C.C...CCCCC.CCCCCC
+                                                                                                               CC' ' '''BBBBB'BBBBBB
+                                                                                                                 X X XXXHHHHHXHHHHHH
+                                                                                                                 C C CCCXXXXXCXXXXXX
  - -+II+=+==AA=+11+++1 -=AAZ-M==+""++=+-MAXZIIZZZZ--ZZZIIAM=Z==ZZZM==+-XX1-Z-MM--M==M====+++"++=====M=M-A-=M-=++"""+--"-""""""""""""
+                            C CCC++CCCCC          CC       C CC    CCCC   C C  CC CC CCCCCCC+CCCCCCC C C CC CCCC+++C..C.CCCCCCCCCCCC
+                                 CC                                                         C                   CCC ''B'BBBBBBBBBBBB
+                                                                                                                    XXHXHHHHHHHHHHHH
+                                                                                                                    CCXCXXXXXXXXXXXX
  1+==AIIAIAIIAI=+1111   1IAZM==M-+++++-+MXZXXXZXZZ=XZZM-AIZ-----Z--++M-X-IXZ=M-Z--M=M===+++++++M====MM--ZM=--=++"=-+"+"-""""""""""""
+                             CC CCCCCC.C          C    C   CCCCC CCCC C C   C C CC C CCCCCCCCCC CCCC  CC  CCCCCC+C.C+CC.CCCCCCCCCCCC
+                                      '                                                                         C ' C B'BBBBBBBBBBBB
+                                      X                                                                           X   HXHHHHHHHHHHHH
+                                      C                                                                           C   XCXXXXXXXXXXXX
  -+=IXAAAXAI==1-+1+==+- +=IIAM=ZZ=+++=+"MX-=XAXXXZM-MMM=-AXMAZ-M--M+"M-X-MZ-MM-MMM++=MM=+=+"+++==M=MMMZMM=MZ-=M-"-"-""""""""-"""""""
+                              C  CCCCCC+  CC       C   CC     C CC C+ C C  C  C   CCC  CCCC+CCCCC C      C  CC .+C+.C+CCCCCC.CCCCCCC
+                                       C                            C                      C                   'C C'BCBBBBBB'BBBBBBB
+                                                                                                               X   XH HHHHHHXHHHHHHH
+                                                                                                               C   CX XXXXXXCXXXXXXX
  1=XAIIAIAII11-11-+=I+--1==1=ZMZ-+"""MM==MMAIIIZMM=M=MM=M-X---M-Z-+=++M----M--ZM-==++=M-M=+"++=+MZM-MM--M=ZZ=M+"=++---"""""""-""""""
+                                CC+++  CC         C C  C C CCC C CCCCC CCCC CC  CCCCCC C CC+CCCC   C  CC C  C C+CCC...CCCCCCC.CCCCCC
+                                  CCC                                                      C                   C   '''BBBBBBB'BBBBBB
+                                                                                                                   XXXHHHHHHHXHHHHHH
+                                                                                                                   CCCXXXXXXXCXXXXXX
 +AAAXAIII=+=1  -1-1=I=--IXI=A---M+"""++"++=MX+AM==+M-M-ZMM-ZMM-MM-=+=MMM---ZZAM-M===+M==M+""+==+MM--ZM-ZZZZ==M+"M+"=A--"""""""""""""
+                             CCC C+++CC+CCC     CCC C C   C   C  CCCC   CCC    C CCCC CC C++CCCC  CC  C    CC C+ C+C ..CCCCCCCCCCCCC
+                                  CCC  C                                                  CC                   C  C  ''BBBBBBBBBBBBB
+                                                                                                                     XXHHHHHHHHHHHHH
+                                                                                                                     CCXXXXXXXXXXXXX
 =AXXXI===I=1-   1--1I=+1AI+AAXAZMM=++M-=-ZM"M=AZM=++=Z-ZZZZXZM=-==++MMMM----ZZMMMM====-M=++====+=--Z-MMXZ-M++""M""-"A-"""""""""-""""
+                                  CCC CCC  +     CCCC C       CCCCCC    CCCC      CCCCC CCCCCCCCCCC C    C CC++ ++.+ .CCCCCCCCC.CCCC
+                                           C                                                                 CC CC'C 'BBBBBBBBB'BBBB
+                                                                                                                  X  XHHHHHHHHHXHHHH
+                                                                                                                  C  CXXXXXXXXXCXXXX
 IXZZXI+==A=111- -1 -1=+1+++IAXAX-=M==XI-===++MM--==M-ZX-ZZZAZ-+-=++=M-MMM----M=-MM--=M-MM======+=MZXMM-Z-MM=-"+M"""=M-""""""""""""""
+                                CC CC  CCCCCC  CCCC C  C     CCCCCCC C   CCCC CC  CCC C  CCCCCCCC     C C  C.+C +++C .CCCCCCCCCCCCCC
+                                                                                                            'C  CCC  'BBBBBBBBBBBBBB
+                                                                                                            X        XHHHHHHHHHHHHHH
+                                                                                                            C        CXXXXXXXXXXXXXX
 XXIXX=I==I=+111--1 -==1    1=AIIM=MMZXAM=++""++=M--IXXZ--ZXZZ-MMZM=M-MM==-=-ZMMXM=M-MZZ=-Z==M++M=MZ-M-ZM+=+"--M=+-+A-"-"-"-""""""""-
+                                 C      CCC++CCC CC    CC    C    C C  CCCCC     C C   CC CC CC C  C C  CCC+.. CC.C .C.C.C.CCCCCCCC.
+                                           CC                                                              C''   '  'B'B'B'BBBBBBBB'
+                                                                                                            XX   X  XHXHXHXHHHHHHHHX
+                                                                                                            CC   C  CXCXCXCXXXXXXXXC
 X=AAI=+=III=+1+-1--1+I=+1--1--=Z=+-XAZM=+--+"+++ZZAAZ---Z-Z--Z-M--=M--M==-M-XZX-M-=M-ZZMZM=+MZ+=MMMMM-==++++"+MM--=X-#""""""""""-"""
+                                CCC    CC..C+CCC     CCC C CC C CCC CC CCC C   C CC C     CC  CC     CCCCCCC+C  ..C .XCCCCCCCCCC.CCC
+                                         '' C                                                               C   ''  '$BBBBBBBBBB'BBB
+                                         XX                                                                     XX  X_HHHHHHHHHHXHHH
+                                         CC                                                                     CC  C&XXXXXXXXXXCXXX
 =+=IIA===AII=++1+1- 11==++=AIX=---=IIZMM""-="++=ZA-I--ZZZZA-X-MMM-=-Z-MMMMM--ZX-MMM--Z-M-M==M-=M==M=M==+"+++=Z-+--M"-#""""""""-"""""
+                              CCCC      ++.C+CCC    CC     C C   CCC C     CC  C   CC C C CC CC CC C CCC+CCCC CC.. +.XCCCCCCCC.CCCCC
+                                        CC' C                                                           C       '' C'$BBBBBBBB'BBBBB
+                                          X                                                                     XX  X_HHHHHHHHXHHHHH
+                                          C                                                                     CC  C&XXXXXXXXCXXXXX
 11-+=XZ=IZX==+1===+ 1 =AIIX--+"=AXA1==Z"""""""+MI  Z=M-ZZXZ-X=ZMMMM-M==M-M-Z-MZ--M--MZM=MMMMM-MM=+=+-+++++==-A+"--+-""-"""""""""""""
+                           CCC+C       +++++++C     C C    C       C CC C C C  CC CC   C     C  CCCCCCCCCCCCC C+..C.CC.CCCCCCCCCCCCC
+                              C        CCCCCCC                                                                 C'' 'BB'BBBBBBBBBBBBB
+                                                                                                                XX XHHXHHHHHHHHHHHHH
+                                                                                                                CC CXXCXXXXXXXXXXXXX
 -1-11Z-I=AXXI+1IIII1- 1=XIAX-==AX1   IZ="+""+++=Z1+XZ-AAXZ-ZMAXZ--Z--MM--MM=-MZZZ-ZZXM==-M-MMM=MM+=+==+"""+ZXM++"--"#""""""""-""""""
+      C                     CCC        C+C++CCCC     C    C     CC CC  CC   C    C    CCC C   C  CCCCCC+++C   CC+..CXCCCCCCCC.CCCCCC
+                                        C CC                                                           CCC      C''B$BBBBBBBB'BBBBBB
+                                                                                                                 XXH_HHHHHHHHXHHHHHH
+                                                                                                                 CCX&XXXXXXXXCXXXXXX
 -11+1IXX IAXZ==+=ZZA+1--1+AAIZMXII-=AIX-M=+=""+MA+IXXAIIXXXX-XXAA--M=MM-ZZZ=---MMZM---M==MZ-M====+==-++"=+=ZZM+++"-"#"""""""""""""""
+                                       C CCC++C             C    CC C  C    CCC    CCC CC  C CCCCCCCCCC+CCC   CCC+.CXCCCCCCCCCCCCCCC
+                                            CC                                                         C         C'B$BBBBBBBBBBBBBBB
+                                                                                                                  XH_HHHHHHHHHHHHHHH
+                                                                                                                  CX&XXXXXXXXXXXXXXX
 -1-1--1+1IZXXXA=+IIA+- - 11XXAXZAX-ZZ-MM+M===="MXXXIIAIIXXXZZZXAZ==M=-MM---ZMZM=+=M----M=MXZMM==+===M"-++==--+""-"-#""""""""""""-"""
+                                  C  C  C CCCC+                  CC CC  CCC    CCC CCCC C     CCCCCC C.CCCCCCC++.+.XCCCCCCCCCCCC.CCC
+                                              C                                                      B'       CC'C'$BBBBBBBBBBBB'BBB
+                                                                                                     HX         X X_HHHHHHHHHHHHXHHH
+                                                                                                     XC         C C&XXXXXXXXXXXXCXXX
 ==-1-- 1=A-XIZA1+I=+1    ---+==XZZZ-ZM="-""+=M+=-ZX+IAI==AXZZ=ZAZM=M=MMMMM=M=Z-=M==M--==MMZM=M==+++++""=MMMM-""-"-"#""""""""""""""""
+          C                        C  C+.++CC CCC                 C C     C C CC CC CCCC    C CCCCCCC++C    C++.+.CXCCCCCCCCCCCCCCCC
+                                       C'CC                                                          CC      CC'C'B$BBBBBBBBBBBBBBBB
+                                        X                                                                      X XH_HHHHHHHHHHHHHHHH
+                                        C                                                                      C CX&XXXXXXXXXXXXXXXX
 =---1-1=A+++I++A===+      +1=-+ZZZM--=+"+"""+++=X=IIXAXAAXXZX1III=M=-++M===+MMX===MX-=+MM--=M+===++=====+Z-Z+""-M"-"-""""""""""""--"
+                                   CCCC+C+++CCCC                 C CCCC CCCC   CCC  CCC  CCC CCCCCCCCCCCC C C++. +.C.CCCCCCCCCCCC..C
+                                       C CCC                                                                 CC' C'B'BBBBBBBBBBBB''B
+                                                                                                               X  XHXHHHHHHHHHHHHXXH
+                                                                                                               C  CXCXXXXXXXXXXXXCCX
 =ZA+ 1+IZ+==+=A-=I==1    +===+AXZ----==""""""+"=AZAXXIII-ZZZZZZ---=+M+M===-==--MM=M--==M-ZM==+===+++++M=M=MZ""""--+"""""""""""""""""
+                                 CCCCCC++++++C+C               CCCCC C CCCCCCCC  C CCCC C  CCCCCCCCCCC C C  ++++..CCCCCCCCCCCCCCCCCC
+                                       CCCCCC C                                                             CCCC'' BBBBBBBBBBBBBBBBB
+                                                                                                                XX HHHHHHHHHHHHHHHHH
+                                                                                                                CC XXXXXXXXXXXXXXXXX
 =XA+ 1++=III=AA--1+1---+++XZ+X-XIAAIZ--M=""-+++ZX-ZM-A=I=AZXX-MM=-==M=M=MZ--X--M---ZM=MMMXM==M==M+++==M=-MAM"""--+"#""""""""""""""""
+                              C      CC C++.CCC  C  C        C  CCCC C C  CC CC CCC  C     CC CC CCCCC CC   +++..C+XCCCCCCCCCCCCCCCC
+                                         CC'                                                                CCC'' C$BBBBBBBBBBBBBBBB
+                                           X                                                                   XX  _HHHHHHHHHHHHHHHH
+                                           C                                                                   CC  &XXXXXXXXXXXXXXXX
 =IAXII+==XZX==I-+=++I==IA=AAAA--ZIZXAXI=XM+"++MZ-MZM=MXXXAAXXZ-==MM=+=M=-ZZXX-M--ZZ-==M=M-M==-==+=====M=MIA=+""-"M-""""""""-"""-""""
+                              CC          C+CC  C   C         CCC  CCC CC    C CC  CCC C C CCCCCCCCCCC C   CC++.C .CCCCCCCC.CCC.CCCC
+                                           C                                                                 CC'B 'BBBBBBBB'BBB'BBBB
+                                                                                                               XH XHHHHHHHHXHHHXHHHH
+                                                                                                               CX CXXXXXXXXCXXXCXXXX
 XXIZAX+=AZZXA=++IXXXAAAA-===AZAZZX-=Z=XA=AAM=--===M==+MZAA=IIXM-=--=MMZ=--ZAX-ZZ-ZZMMZM---ZZMZM===+===-+--1M+M"""+""""""-""""""-"""-
+                        C         CC        CCCCCC CCC         CCCCC   CCC   C  C      CCC     CCCCCCCCCC   C +CCC+CCCCC.CCCCCC.CCC.
+                                                                                                              CBB CBBBBB'BBBBBB'BBB'
+                                                                                                               HH  HHHHHXHHHHHHXHHHX
+                                                                                                               XX  XXXXXCXXXXXXCXXXC
 ---ZXXA=AXXIAXA1AZZX==I++1++=AAZ-MMXXX-M-XZ--ZX--MM+MM=-ZZ==ZZZMM=-M--A-ZXXAAXZZ-Z--Z==ZZZZ-MZMM=M=+=MMMA1-="=+-="""""""""""""""""""
+CCC                             C     C C  CC  CC  C  CC         CC CC C        C CC CC    C    C CCC      C+CC.C+CCCCCCCCCCCCCCCCCC
+                                                                                                            C  ' CBBBBBBBBBBBBBBBBBB
+                                                                                                               X  HHHHHHHHHHHHHHHHHH
+                                                                                                               C  XXXXXXXXXXXXXXXXXX
 +==XXXXAIXXZXXA=X=ZMZZZXAIIA=XXAA-MM-Z++MM=-ZXXAZZZ--ZZXAI+=A-Z-MMZ--ZIZXAXIAZZZ---ZZMMMMZ--M-M===+=M-MZ=A +=+""X"""""""""""""""""""
+CCC              C               C  C CC  CC       CC        C C   CC           CCC       CC C CCCCC C     CCC++ +CCCCCCCCCCCCCCCCCC
+                                                                                                              CC CBBBBBBBBBBBBBBBBBB
+                                                                                                                  HHHHHHHHHHHHHHHHHH
+                                                                                                                  XXXXXXXXXXXXXXXXXX
 +++-ZZXXIAA-XXI=ZM-===-=M-ZX=XZA=IIZM=M"=M+=M-Z--ZZZ-ZAXII=AZX-Z-ZZXZZXAZXZXA-ZZ-XZ----MMMM-M--=++=M=M-=+ X+---+=-""""""""""""""""""
+CCCC       C      CCCCCC C           C +C CC C CC   C         C C            C  C  CCCC    C CCCCCC C C    CC..CC.CCCCCCCCCCCCCCCCCC
+                                       C                                                                     ''  'BBBBBBBBBBBBBBBBBB
+                                                                                                             XX  XHHHHHHHHHHHHHHHHHH
+                                                                                                             CC  CXXXXXXXXXXXXXXXXXX
 +"+AZ=ZI=AIIIAIX-MXMZ=+===-XA=XXXZAXAXM===+=++=M=M===M-IIIX=XZZ-XXZMXZ=AZZ-XXZAZ-ZMZ-Z-=MM-MZMM=+=M=MMI+ 1++="-A=""""""""""-"""-"""-
+C+C  C          C    CCCCCC            CCCCCCCC C CCC C        C      C   C     C   C CC  C    CCC C      CCC+. CCCCCCCCCCC.CCC.CCC.
+ C                                                                                                           C'  BBBBBBBBBB'BBB'BBB'
+                                                                                                              X  HHHHHHHHHHXHHHXHHHX
+                                                                                                              C  XXXXXXXXXXCXXXCXXXC
 Z++ZA-Z=IAXAI=I-==MZZ=-=M--XIIIZM-Z-ZMMIAXM++===+=MM==+ZXIX+IXAZAA-M-Z-ZZ-ZZZX-Z--Z-M-M==M=MZ-M---=+MZIX=-+++"+Z-"""""""""""""""""""
+ CC  C         CCC   CCC CC      C C       CCCCCCC  CCC           C C C  C    C CC C C CC C  C CCCCC     CCCC+C .CCCCCCCCCCCCCCCCCCC
+                                                                                                             C  'BBBBBBBBBBBBBBBBBBB
+                                                                                                                XHHHHHHHHHHHHHHHHHHH
+                                                                                                                CXXXXXXXXXXXXXXXXXXX
 XM+-A-ZAXXXZAAZMM-M-AZZ-ZXXA=ZZZ-MM-M=MZZXXZ-MMMM==M+==--XAIAAIXXAX-M-Z-Z-XXZXXZZZ+X-===M==MMMMZIM+MZIZ-M+"-++XM-"""""""""""""""""""
+  CC C           C C   C        C  C C      C    CC CCCCC          C C C C          CCCC CC       C    C C+CCC  .CCCCCCCCCCCCCCCCCCC
+                                                                                                          C     'BBBBBBBBBBBBBBBBBBB
+                                                                                                                XHHHHHHHHHHHHHHHHHHH
+                                                                                                                CXXXXXXXXXXXXXXXXXXX
 AZMZ-Z-X-ZAZXZMXM-M=-IA-ZXAXXAZZZ----M--M==ZXXZ--M=+"++MM-ZXIAXXAZX-M=Z-X-ZZZXAXXA=XA-MZM==M=MZZZM--AXM==="++--+""""""""""""""""-"""
+    C C C        C CC  C         CCCC CC CC    CC CC+CC  C         C C C C           C   CC C     CC   CCC+ CCCCCCCCCCCCCCCCCCCC.CCC
+                                                    C                                                     C     BBBBBBBBBBBBBBBB'BBB
+                                                                                                                HHHHHHHHHHHHHHHHXHHH
+                                                                                                                XXXXXXXXXXXXXXXXCXXX
 ZZ-AXXXZ-ZXZ---MZZ-MMAIZZZ=+AI1--=Z1MAMZ=+=+=-AA-M=+""+MM--ZAA-ZAAZ---XMZ=ZZ-I=AIAZZ---ZZ==MMZ-ZZZAXXMM=M+"+-I--"""""""""""""-"--"""
+  C     C   CCC   C            CCC      CCCCCC  C CC++C  CC   C    CCC   C  C       CCC  CC   C        C C+ C ..CCCCCCCCCCCCC.C..+CC
+                                                    CC                                                    C   ''BBBBBBBBBBBBB'B''CBB
+                                                                                                              XXHHHHHHHHHHHHHXHXX HH
+                                                                                                              CCXXXXXXXXXXXXXCXCC XX
 MXM-AIAZXZZMMZM==--M-1AAA++-II1AA-MMM-X=-M=++Z XMM="+-=MM-Z-XXZXZXZMZZZ--ZZXA1=XXAXZ-M-=-=MMX--Z-ZX--M=M+"-+1M""""-"""""""""""""""""
+   C           CCCC C            C   C  C CCC     C+CCC  C C           CC           C C CC   CC C  CC C C+C   CCCC.CCCCCCCCCCCCCCCCC
+                                                   C                                                     C    BBBB'BBBBBBBBBBBBBBBBB
+                                                                                                              HHHHXHHHHHHHHHHHHHHHHH
+                                                                                                              XXXXCXXXXXXXXXXXXXXXXX
 -ZM-X==+IAZMMM--+MM-XAXZA=++XZAI=AZ---A1ZM===X+ZMM=+MZM=M---ZAXXXXA--Z---ZZI  =AAX--M-M-M-ZZAZM-MXZ==MMM""M=-"--"""""""""""""""-""-"
+C  C          CCC  C               CCC    CCC     CC   C CCC       CC CCC         CC C C C     C   CC   ++  C+..CCCCCCCCCCCCCCC.CC.C
+                                                                                                        CC   C''BBBBBBBBBBBBBBB'BB'B
+                                                                                                              XXHHHHHHHHHHHHHHHXHHXH
+                                                                                                              CCXXXXXXXXXXXXXXXCXXCX
 MM---XI-==Z-M=M-M--XZXXZ=1==X-ZAAAXZZXA---ZM=+-=MMM=M==M+=-Z-AIIIXIZZ--ZAI1 11ZZ=XM-MM=MZZ--XZM-ZXM+"=-+""=ZM""""-""""""""""""""""""
+  CCC      C C C CC          C         CCC  CCCC   C CC CCC C        CC            C  C   CC   C   C+CCC++C  CCCC.CCCCCCCCCCCCCCCCCC
+                                                                                                    C   CC   BBBB'BBBBBBBBBBBBBBBBBB
+                                                                                                             HHHHXHHHHHHHHHHHHHHHHHH
+                                                                                                             XXXXCXXXXXXXXXXXXXXXXXX
 =M--MZZ=A=-+===M--ZAXXZ-X=IAXXAX1XAZ-Z--M--=++M+++M--M=+M=+---I===AZXZ1     Z1XZI-===MMZMM=MMMMZI-=+++M+"+-=+"-""""-"""""""-""""""-"
+C CC      CCCCC CC     C            C CC CCCCC CCC CC CC CCCCC                   CCCC     C      CCCCC C+CCCCC.CCCC.CCCCCCC.CCCCCC.C
+                                                                                                        C    B'BBBB'BBBBBBB'BBBBBB'B
+                                                                                                             HXHHHHXHHHHHHHXHHHHHHXH
+                                                                                                             XCXXXXCXXXXXXXCXXXXXXCX
 MMM-ZM-XIIZMXXIAZZMZAXZXZ=IAIAXAXXXZZ-M===-M==+++====-Z-------ZX+=AXA1    1IAAXZX-=MMM-M==M=MM-AZ=M+"+="-====""""""""""""-""-"""-"""
+   C  C                              C CCCC CCCCCCCCCC CCCCCCC                   CC   C CC C  C  C C+CC+.CCCCCCCCCCCCCCCC.CC.CCC.CCC
+                                                                                                    C  C'    BBBBBBBBBBBB'BB'BBB'BBB
+                                                                                                        X    HHHHHHHHHHHHXHHXHHHXHHH
+                                                                                                        C    XXXXXXXXXXXXCXXCXXXCXXX
 M=+MZM-ZIAAA=AAAAZZAIAZA-XX=XZX-ZIZ-ZMMMMM+=++"++=++==--ZZA--MM-I=AX-    -A11ZXX--MZ--M=====MMZ-M+=+-"+""+"=-"-"-""-"""""""-"-""""""
+ CC   C                 C      C   C      CCCC+CCCCCCCCC   CC  C                CC  CC CCCCC   C CCC.+C++CCC.C.C.CC.CCCCCCC.C.CCCCCC
+                                              C                                                     'C CC B 'B'B'BB'BBBBBBB'B'BBBBBB
+                                                                                                    X     H XHXHXHHXHHHHHHHXHXHHHHHH
+                                                                                                    C     X CXCXCXXCXXXXXXXCXCXXXXXX
 -===---MA-ZXA--MXZXA1=AAZ--MMMX-IIZ--==MMM+=+=+"++==-MZ-ZZ-ZZZZXIAXZ+    -+1ZXZM=-ZZ--M++====Z-=++=+"-"+"------"""---"""""""""""""""
+CCCCCCC  C   CC          CC    C   CCCC   CCCCC+CCCCC  C  C                     CC  CC CCCCCC CCCCCC+.+C+......CCC...CCCCCCCCCCCCCCC
+                                               C                                                    C'C C''''''BBB'''BBBBBBBBBBBBBBB
+                                                                                                     X   XXXXXXHHHXXXHHHHHHHHHHHHHHH
+                                                                                                     C   CCCCCCXXXCCCXXXXXXXXXXXXXXX
 M=+MZAXMA-MM-M=M===XI11+1Z-===MX-AMMM===M-Z==++++++ZIA=XAAZZXAIIIIZMX   - 1=MIZ=AZ-MMZ==M===-==M=+++--+A+"-"""""-"---"""--"""----"""
+ CC      C  C C CCC       CCCC  C    CCC C CCCCCCCC                               C   CC CCCCCC CCCC..C C+.CCCCC.+...CCC..CCC....CCC
+                                                                                                    ''   C'BBBBB'C'''BBB''BBB''''BBB
+                                                                                                    XX    XHHHHHX XXXHHHXXHHHXXXXHHH
+                                                                                                    CC    CXXXXXC CCCXXXCCXXXCCCCXXX
 -MZZAZAXA-M===+M==M-I+ 1=-===-MZZ=MM-=+==M==+++=M-MZAIII=IAXXAZXAAXMM=I==-=AXXMMZMM--++++++=M=MM++++"=AZ"""""----"----"""""""""-"""-
+C        C CCCC CC C     CCCCC   C  CCCCC CCCCCC C                                 CCCCCCCCC C  CCCC+C  +CCCC....C....CCCCCCCCC.CCC.
+                                                                                                    C   CBBBB''''B''''BBBBBBBBB'BBB'
+                                                                                                         HHHHXXXXHXXXXHHHHHHHHHXHHHX
+                                                                                                         XXXXCCCCXCCCCXXXXXXXXXCXXXC
 Z-+XIXI=IZM=+=+=ZMMZI+  1Z=MM-MXZMMMM=+==MMM-=+MMMZZXIAIAXZZZZZXIIA-XXIII+Z-IM-ZZ--==+=++=MM===++=++"MX=-"--"-"--"--""-"-""""-"-""""
+ C         CCCCC          C  C       CCCC   CCC                    C       C  C  CCCCCCCCC  CCCCCCCC+  C.C..C.C..C..CC.C.CCCC.C.CCCC
+                                                                                                    C   'B''B'B''B''BB'B'BBBB'B'BBBB
+                                                                                                        XHXXHXHXXHXXHHXHXHHHHXHXHHHH
+                                                                                                        CXCCXCXCCXCCXXCXCXXXXCXCXXXX
 ZZ=ZAAXIIA=+++"+M=+MX+1-ZM+MMMM--ZM==M+==MZZZZ==M--XZAA=AIZ----ZAIAI++1 +A-MX-Z--=-++"+==-=M-M="+++++ZM++""-"""--"""---"--""-"-"""-"
+          CCCC+C CC       C    CC  CC CCC     CC CC        CCCC           C  C CCCCCC+CCCCC C C+CCCCC  CCCC.CCC..CCC...C..CC.C.CCC.C
+              C                                                                      C         C         BB'BBB''BBB'''B''BB'B'BBB'B
+                                                                                                         HHXHHHXXHHHXXXHXXHHXHXHHHXH
+                                                                                                         XXCXXXCCXXXCCCXCCXXCXCXXXCX
 =MZMXA--ZA-=+"""+=+=A11X-=+MMMM=MMM-M++++----Z-Z-Z-XAIA=XAIAIZ-ZXIAI-  +AZII-ZMMM=M++="+MM++--=+"+++==""M-"""------"""--""""""""""""
+C     CC  CCC+++CCCC    CCC    C   C CCCCCCCC C C C           C             C    C CCC+C  CCCCCC+CCCCC++ .CCC......CCC..CCCCC+CCCCCC
+             CCC                                                                      C         C     CC 'BBB''''''BBB''BBBBBCBBBBBB
+                                                                                                         XHHHXXXXXXHHHXXHHHHH HHHHHH
+                                                                                                         CXXXCCCCCCXXXCCXXXXX XXXXXX
 =-ZZZ-==-ZZ=+"""+M==MAZ-M==MM===MMMXZ=++=---ZZ=MM-ZAA==IAIIXZZ-MXAII   AAAMX-ZM=M=ZM+++==++=MMM+"++=+-=-+-"""""""""---"-"---"-""""""
+CC   CCCC  CC+++C CC   C CC  CCC     CCCCCCC  C  C            C             C  C C  CCCCCCCC   C+CCCCCC.C.CCCCCCCCC...C.C...C.CCCCCC
+             CCC                                                                                C      ' 'BBBBBBBBB'''B'B'''B'BBBBBB
+                                                                                                       X XHHHHHHHHHXXXHXHXXXHXHHHHHH
+                                                                                                       C CXXXXXXXXXCCCXCXCCCXCXXXXXX
 M-ZX-=+=-MM=++++=====-XMMMMMM=+MMM=--M===--M-ZMMM-ZZAIII=AXIXZZ--XII- +IAX-M=M+=M-I--=M=+++M=+M+++++-X""""--"""---"""-""---"""""""""
+ C  CCCCC  CCCCCCCCCCC       CC   CCC CCCCC C    C             CC         C C CC C CCC CCCC CC CCCCCC ++CC..CCC...CCC.CC...CCCCCCCCC
+                                                                                                      CCBB''BBB'''BBB'BB'''BBBBBBBBB
+                                                                                                        HHXXHHHXXXHHHXHHXXXHHHHHHHHH
+                                                                                                        XXCCXXXCCCXXXCXXCCCXXXXXXXXX
 =ZZZ-=M=-M=M=====+M==----=Z-M=+=MM=====MMMMM-ZZ-M--ZAXA1AXXA---XZAAZA + AMZZ+M+MMA-ZMM==++==M+M+M=++----"-""""-"-"""--""""-""""""-""
+C   CC CC C CCCCCC CCCCCCC C CCC  CCCCC     C  C CC         CCC             C C   C   CCCCCC C C CCCCC..C.CCCC.C.CCC..C+CC.CCCCCC.CC
+                                                                                                      ''B'BBBB'B'BBB''BCBB'BBBBBB'BB
+                                                                                                      XXHXHHHHXHXHHHXXH HHXHHHHHHXHH
+                                                                                                      CCXCXXXXCXCXXXCCX XXCXXXXXXCXX
 MZZ-==XMMM-Z-=+======ZM-ZMZM=+++===-==M=MM--ZZM==ZZZ+IX+XZAM=M-ZXZZMX111ZXAZ+=IXXXXMM=+=+++==+=-MM=+Z++----"""-------+-""----""-"""-
+   CCC    C CCCCCCCCC  C    CCCCCCCCCC C  CC   CC           C C             C        CCCCCCCCCCC  CC CC....CCC.......C.CC....CC.CCC.
+                                                                                                       ''''BBB''''''' 'BB''''BB'BBB'
+                                                                                                       XXXXHHHXXXXXXX XHHXXXXHHXHHHX
+                                                                                                       CCCCXXXCCCCCCC CXXCCCCXXCXXXC
 M--M==-=+MZ-==+==++M=--M-Z-==+++=M--M---MZM-ZMMMZXX= +IXXXZ-++-X---ZXIXIAZM+=-ZX--=M=++++"++-M=M="++M---"--""""-"-"--""-"""""""--"""
+ CC CCCCC  CCCCCCCC CCC C CCCCCCC CC CCC   C               CCCC CCC        CCC  CCC CCCCC+CCC C C+CC ...C..CCCC.C.C..CC.CCCCCCC..CCC
+                                                                                         C       C   '''B''BBBB'B'B''BB'BBBBBBB''BBB
+                                                                                                     XXXHXXHHHHXHXHXXHHXHHHHHHHXXHHH
+                                                                                                     CCCXCCXXXXCXCXCCXXCXXXXXXXCCXXX
 ==M+++-M=MA-=++=M++==MM==-Z===+=M-ZZM--M-Z--MMMMM-ZII=IZ--AM==Z-M-IXZ-ZXX-MZZ=M-XZM=+++=+"+=-+=M=++"""-""""-"""---"---"""""""""-""""
+CC CCCC C  CCCCC CCCC  CCC CCCCC C   CC C CC     C      CC  CC C C   C   C   C C   CCCCCC+CCCCC CCC++C.CCCC.CCC...C...CCCCCCCCC.CCCC
+                                                                                         C         CCB'BBBB'BBB'''B'''BBBBBBBBB'BBBB
+                                                                                                     HXHHHHXHHHXXXHXXXHHHHHHHHHXHHHH
+                                                                                                     XCXXXXCXXXCCCXCCCXXXXXXXXXCXXXX
 +++"++--ZZAZM====++=======ZMMMM-M-Z---MMXZMM-M=MZ-M-XZX-MAX=--ZZZZ+AM"--MM-A1MZXZ-M=+++=++==+"+=+"---------"-"-"-"""-""-"""-"""""-""
+CCC+CCCC     CCCCCCCCCCCCC     C C CCC      C C  C C   C   CCC       +CC  C      C CCCCCCCCCC+CCC+.........C.C.C.CCC.CC.CCC.CCCCC.CC
+   C                                                                 C                       C   C'''''''''B'B'B'BBB'BB'BBB'BBBBB'BB
+                                                                                                  XXXXXXXXXHXHXHXHHHXHHXHHHXHHHHHXHH
+                                                                                                  CCCCCCCCCXCXCXCXXXCXXCXXXCXXXXXCXX
 +++"++=MZXXIZ++-M===+=ZMM=-=ZM--MMZ-Z--X-MM--=-MZZMZ-M-ZX--ZZXIAAAXA+"="++=MIAAZ-==+++++===++++=+--"---""""-"-----""---"""-"-""""""-
+CCC+CCC      CCC CCCCC   CCC  CC   C CC C  CCCC       C  CC         C+C+CCC     CCCCCCCCCCCCCCCCC..C...CCCC.C.....CC...CCC.C.CCCCCC.
+   C                                                                 C C                         ''B'''BBBB'B'''''BB'''BBB'B'BBBBBB'
+                                                                                                 XXHXXXHHHHXHXXXXXHHXXXHHHXHXHHHHHHX
+                                                                                                 CCXCCCXXXXCXCCCCCXXCCCXXXCXCXXXXXXC
 ++++==MMMZZZAM+-==+=M---M=MMZZ---X=XZAXMX-M==+M-=M- -=--MZ-AI==XXZXAZ=++"+=X=I+ZM=++=++=++++==="--""-""-"-"---"-"""-"""-""-"""""""""
+CCCCCC        CCCCCC CCC C    CCC        C CCC CC C CCCC  C          CCC+CC      CCCCCCCCCCCCCC+..CC.CC.C.C...C.CCC.CCC.CC.CCCCCCCCC
+                                                                        C                      C''BB'BB'B'B'''B'BBB'BBB'BB'BBBBBBBBB
+                                                                                                XXHHXHHXHXHXXXHXHHHXHHHXHHXHHHHHHHHH
+                                                                                                CCXXCXXCXCXCCCXCXXXCXXXCXXCXXXXXXXXX
 +-==M===MMMMAM+===MMMMMM=M-MZZZZ-A-IXA-MMM=====ZMM=IMMXZZXAA=+X-AXAIZ+--"=I=AA-====++++=+"+++"-"-""----""---"------"""-"""-"""-"""--
+CCCC CCC      CCCC      C C     C     C   CCCCC   C            C     CCC+C    CCCCCCCCCCC+CCC+.+.CC....CC...C......CCC.CCC.CCC.CCC..
+                                                                        C                C   C'C'BB''''BB'''B''''''BBB'BBB'BBB'BBB''
+                                                                                              X XHHXXXXHHXXXHXXXXXXHHHXHHHXHHHXHHHXX
+                                                                                              C CXXCCCCXXCCCXCCCCCCXXXCXXXCXXXCXXXCC
 =MM===M=--M=-M==Z====MMMZMZXZ---MZIXZZ-=MM====-Z===MMZAZ-XXXIX-ZAXXXXMZMMZX=X-M-=-==+==+="-"""M+-"-----"---"""---"""""""""-""""-"""-
+C  CCC CCC CC CC CCCC        CCC      CC  CCCCC CCC     C     C            C C CCCCCCCCCC+.+++ C.C.....C...CCC...CCCCCCCCC.CCCC.CCC.
+                                                                                         C'CCC  'B'''''B'''BBB'''BBBBBBBBB'BBBB'BBB'
+                                                                                          X     XHXXXXXHXXXHHHXXXHHHHHHHHHXHHHHXHHHX
+                                                                                          C     CXCCCCCXCCCXXXCCCXXXXXXXXXCXXXXCXXXC
 ==----MMA+-=--ZZX--==MM--=XAX-MMZ-IZ=Z-M+=M=MM=-M=--ZZXM-Z-ZZAX-AZZ-AX-=IM=-ZM=-Z-=MM==="++"--X=-"-"-""--"-"-""---"""-"-""""-""-"---
+CCCCCC    CCCC   CCCC  CCC   C      C C CC C  CC CCC    C C    C   C  CC  CC   C CC  CCC+CC+.  C.C.C.CC..C.C.CC...CCC.C.CCCC.CC.C...
+                                                                                        C  C'   'B'B'BB''B'B'BB'''BBB'B'BBBB'BB'B'''
+                                                                                            X   XHXHXHHXXHXHXHHXXXHHHXHXHHHHXHHXHXXX
+                                                                                            C   CXCXCXXCCXCXCXXCCCXXXCXCXXXXCXXCXCCC
 +MM--M=Z1+XM-X-ZX-ZM=MM-M=XZZZ-ZXXXMM=M-=++==M=M---Z-ZZ--ZZZZAXZ-M-MZX+=-MM-MZXZ---=++++"--"Z=--""---"---"-----""-------"""""""--"""
+C  CC C     C C  C  C  C C    C      C CCCCCC C CCC C  CC       C C   CCC  C    CCCCCCCC+..+  C.CC...C...C.....CC.......CCCCCCC..CCC
+                                                                                        C''C   'BB'''B'''B'''''BB'''''''BBBBBBB''BBB
+                                                                                         XX    XHHXXXHXXXHXXXXXHHXXXXXXXHHHHHHHXXHHH
+                                                                                         CC    CXXCCCXCCCXCCCCCXXCCCCCCCXXXXXXXCCXXX
 +MM---=---M=MAX-Z-ZZMM-M--XZAXZ-MZ-M-=+-M+=M=M----MAZZX--ZXXXAI-=M=M==MZ--MM-----MM+"""""""MI-+"""""---"-"---"-"-""-----"""""""----"
+C  CCCCCCC C   C C    C CC     C  C CCCC CC C CCCC     CC      CC C CC  CC  CCCCC  C+++++++  CCCCCCC...C.C...C.C.CC.....CCCCCCC....C
+                                                                                    CCCCCCC    BBBBB'''B'B'''B'B'BB'''''BBBBBBB''''B
+                                                                                               HHHHHXXXHXHXXXHXHXHHXXXXXHHHHHHHXXXXH
+                                                                                               XXXXXCCCXCXCCCXCXCXXCCCCCXXXXXXXCCCCX
 =MX--MXM=====------Z--ZMZZZZX-MM-XIMZ++M-MZMM-Z-X---ZZZZZXXXXXX-==+-MZZZ-==MZMMMM=+"+++"-=MZZ+"""--"------""---"""""-"-""-"-"""----"
+C  CC   CCCCCCCCCCC CC       C  C    CC C    C C CCC           CCCCC    CCC      CC+CCC+.C   C+CC..C......CC...CCCCC.C.CC.C.CCC....C
+                                                                                   C   C'     CBB''B''''''BB'''BBBBB'B'BB'B'BBB''''B
+                                                                                        X      HHXXHXXXXXXHHXXXHHHHHXHXHHXHXHHHXXXXH
+                                                                                        C      XXCCXCCCCCCXXCCCXXXXXCXCXXCXCXXXCCCCX
 =MMMM-IM==++=M-MX-M----XZ-M-MMZMX+=--==--II-MXZZZZZ-ZZX-XA=XZZ--MMM-MZ+-MMMZM-M===+=M+++==MM+-"""---"-------"--""-"--"-"-""""--""""-
+C    C  CCCCC C  C CCCC  C C       CCCCCC  C       C   C      CC   C   C     C CCCCC CCCCC  C.CCC...C.......C..CC.C..C.C.CCCC..CCCC.
+                                                                                             'BBB'''B'''''''B''BB'B''B'B'BBBB''BBBB'
+                                                                                             XHHHXXXHXXXXXXXHXXHHXHXXHXHXHHHHXXHHHHX
+                                                                                             CXXXCCCXCCCCCCCXCCXXCXCCXCXCXXXXCCXXXXC
 ==M-ZZXZM-M==ZZMAX-Z-ZZMZMMM--Z-AIZMMMZAZ=-ZZZXXXXZZZZZZZXAZX-M--M=MZA-===--Z-M=-M=X-=++=MM=+""-"--"-""------""---"---"-""""--""""""
+CC C     C CC     C C       CC C          C                  C CC C   CCCCCC C CC C CCCCC  CC+C.C..C.CC......CC...C...C.CCCC..CCCCCC
+                                                                                             CB'B''B'BB''''''BB'''B'''B'BBBB''BBBBBB
+                                                                                              HXHXXHXHHXXXXXXHHXXXHXXXHXHHHHXXHHHHHH
+                                                                                              XCXCCXCXXCCCCCCXXCCCXCCCXCXXXXCCXXXXXX
 M=M=----=-ZMMXX-ZZ--MZ-M--MM-Z---Z-MMMMZXXZ-ZZZZZZXZZZZZZZZ---MZ----ZZ+"=+=-ZXZ-M=-===+++=++-"--"-----"-""---"---""---"-"--"""""--""
+ C CCCCCCC     C  CC  C CC  C CCC C        C               CCC  CCCC  C+CCCC   C CC CCCCCCCC.C..C.....C.CC...C...CC...C.C..CCCCC..CC
+                                                                       C                    'B''B'''''B'BB'''B'''BB'''B'B''BBBBB''BB
+                                                                                            XHXXHXXXXXHXHHXXXHXXXHHXXXHXHXXHHHHHXXHH
+                                                                                            CXCCXCCCCCXCXXCCCXCCCXXCCCXCXCCXXXXXCCXX
 MMM--MM-M-XZ-ZZ-ZZ------M--M-------MMM=MX-Z-ZXZM-Z--Z-Z------M-Z-ZZM-M=+===MM-Z-M=ZX=+++++"""---""""------"------"--""-""---""""""""
+   CC  C C  C  C  CCCCCC CC CCCCCCC   C  C C    C CC C CCCCCC C C   C CCCCC  C C C  CCCCCC++C...CCCC......C......C..CC.CC...CCCCCCCC
+                                                                                          CCB'''BBBB''''''B''''''B''BB'BB'''BBBBBBBB
+                                                                                            HXXXHHHHXXXXXXHXXXXXXHXXHHXHHXXXHHHHHHHH
+                                                                                            XCCCXXXXCCCCCCXCCCCCCXCCXXCXXCCCXXXXXXXX
 Z-MM==MMMM-Z-Z-ZXXXZZXXXZ-Z-M--Z------M-ZZ--MZM-M-=ZZM-ZZMMMMMZZZ-=M=MM=-===MM==+=--M+++""""--"-----"-------"---"----""-"""""""-"-""
+ C  CC    C C C          C C CC CCCCCC C  CC   C CC   C          CC C  CCCCC  CCCCCC CCC+++C..C.....+.......C...C....CC.CCCCCCC.C.CC
+                                                                                        CCCB''B'''''C'''''''B'''B''''BB'BBBBBBB'B'BB
+                                                                                           HXXHXXXXX XXXXXXXHXXXHXXXXHHXHHHHHHHXHXHH
+                                                                                           XCCXCCCCC CCCCCCCXCCCXCCCCXXCXXXXXXXCXCXX
 ===M===+==-==M=MMMMM-ZXX-ZZ--ZZ-----M=-MMZM==M===MM-M-ZZZMMMMZXZM====++========+M-ZM=+++""----"""---------"-------""--""---""-"""-""
+CCC CCCCCCCCC C     C   C  CC  CCCCC CC    CC CCC  C C           CCCCCCCCCCCCCCC C  CCCC++....CCC.........C.......CC..CC...CC.CCC.CC
+                                                                                        CC''''BBB'''''''''B'''''''BB''BB'''BB'BBB'BB
+                                                                                          XXXXHHHXXXXXXXXXHXXXXXXXHHXXHHXXXHHXHHHXHH
+                                                                                          CCCCXXXCCCCCCCCCXCCCCCCCXXCCXXCCCXXCXXXCXX
 =M==+++++=M=+==MMMMM-ZAZXXZ-Z-X-ZMMM==MMM-MM+MM=M-MM--ZZ-ZMMMAX-M====++==-=M==M+M-M==+++-----"--"-"-"------""-----"-------"-""""""--
+C CCCCCCCC CCCC     C      C C C    CC   C  C  C C  CC  C      C CCCCCCCCCC CC C C CCCCC.....C..C.C.C......CC.....C.......C.CCCCCC..
+                                                                                        '''''B''B'B'B''''''BB'''''B'''''''B'BBBBBB''
+                                                                                        XXXXXHXXHXHXHXXXXXXHHXXXXXHXXXXXXXHXHHHHHHXX
+                                                                                        CCCCCXCCXCXCXCCCCCCXXCCCCCXCCCCCCCXCXXXXXXCC
 +++""+"+++=-MM--MMMM---X1Z--ZZ-MM====+=M-M=M=MM=MMM=Z--Z----MXZZMM==++==M-MMMMM-AM+++""------""--""--------"--"---"----"""-""""-"--"
+CCC++C+CCCCC  CC    CCC   CC  C  CCCCCC C C C  C   C CC CCCC      CCCCCC C     C  CCC++......CC..CC........C..C...C....CCC.CCCC.C..C
+   CC C                                                                              CC''''''BB''BB''''''''B''B'''B''''BBB'BBBB'B''B
+                                                                                       XXXXXXHHXXHHXXXXXXXXHXXHXXXHXXXXHHHXHHHHXHXXH
+                                                                                       CCCCCCXXCCXXCCCCCCCCXCCXCCCXCCCCXXXCXXXXCXCCX
 ==+"+++"+=--------MMM-ZA=Z--Z-M-=+M=+==+M+=-MM=M=---XZ-MM--Z-ZZ-=MM=+MMM=-M---XZ-=+"+""-"-----"-----"-------""---"----"---"--"--"""-
+CCC+CCC+CCCCCCCCCC   C    CC C CCC CCCC  CCC  C CCCC  C  CC C  CC  CC   CC CCC  CCC+C++.C.....C.....C.......CC...C....C...C..C..CCC.
+   C   C                                                                           C CC'B'''''B'''''B'''''''BB'''B''''B'''B''B''BBB'
+                                                                                       XHXXXXXHXXXXXHXXXXXXXHHXXXHXXXXHXXXHXXHXXHHHX
+                                                                                       CXCCCCCXCCCCCXCCCCCCCXXCCCXCCCCXCCCXCCXCCXXXC
 ++M=M=+=M----MZZZ--Z-ZZZZZZAXZZZ===++==-=+=--==M--MZXZ-MM-Z--Z--MMM=M=MMMMM-ZZZ-M"+"--""+-------------"-----------"-----""-"""""-"""
+CC C CCC CCCC    CC C           CCCCCCCCCCCCCCC CC    C  C CC CC   C C     C   C +C+..CCC.............C...........C.....CC.CCCCC.CCC
+                                                                                 C C''BB '''''''''''''B'''''''''''B'''''BB'BBBBB'BBB
+                                                                                    XXHH XXXXXXXXXXXXXHXXXXXXXXXXXHXXXXXHHXHHHHHXHHH
+                                                                                    CCXX CCCCCCCCCCCCCXCCCCCCCCCCCXCCCCCXXCXXXXXCXXX
 ++=-Z-MM=---Z-ZZZ-ZXZ--Z-ZZZZZZM=+++++---AXM===M---XXZM-ZZ--------M=M=M=M=MZZZ-MM++"-""+-------------"------------"---"----"-""""-""
+CCCC C  CCCC C   C   CC C       CCCCCCCCC   CCC CCC    C  CCCCCCCC C C C C    C  CC+.CCC.............C............C...C....C.CCCC.CC
+                                                                                   C'BB '''''''''''''B''''''''''''B'''B''''B'BBBB'BB
+                                                                                    XHH XXXXXXXXXXXXXHXXXXXXXXXXXXHXXXHXXXXHXHHHHXHH
+                                                                                    CXX CCCCCCCCCCCCCXCCCCCCCCCCCCXCCCXCCCCXCXXXXCXX
 ++=--MMMMZZZZXZX-ZZX-ZZXX-M--X=+++++++--+=Z==M---ZZIX-M---M-ZZ-X-MM---=MMM--ZMM=++"--"""--""---""-"----"-"----"---"----"----"-""""""
+CCCCC           C   C    C CC CCCCCCCCCC   CC CCC    C CCC C  C C  CCCC   CC   CCC+..CC+..CC...CC.C....C.C....C...C....C....C.CCCCCC
+                                                                                  C''BBC''BB'''BB'B''''B'B''''B'''B''''B''''B'BBBBBB
+                                                                                   XXHH XXHHXXXHHXHXXXXHXHXXXXHXXXHXXXXHXXXXHXHHHHHH
+                                                                                   CCXX CCXXCCCXXCXCCCCXCXCCCCXCCCXCCCCXCCCCXCXXXXXX
 ++=M==MMZZZZZXZZZ-Z-ZZXZZMMM-==+++==++-ZIX+=+MAXZZXIX-M--M-ZZM-XM=+M-MZ----MM===++"--""-"--------------------"------"----""-----"-"-
+CCC CC           C C        CCCCCCCCCCC   CCC        C CC C   C  CC C  CCCC  CCCCC+..CC.C....................+......C....CC.....C.C.
+                                                                                  C''BB'B''''''''''''''''''''C''''''B''''BB'''''B'B'
+                                                                                   XXHHXHXXXXXXXXXXXXXXXXXXXX XXXXXXHXXXXHHXXXXXHXHX
+                                                                                   CCXXCXCCCCCCCCCCCCCCCCCCCC CCCCCCXCCCCXXCCCCCXCXC
 =X=M===MMM--MZ----Z-A-Z-ZMMM==+=+++==XA=Z===-AIIAZAIZ---M-ZX-ZZ-=====ZZ-M-ZZ=++++"---"-----"-"--------------"-----""------"-""-"-"""
+C C CCC   CC  CCCC C C C    CCCCCCCCC    CCCC        CCC C  C  CCCCCC  C C  CCCCC+...C.....C.C..............C.....CC......+.CC.C.CCC
+                                                                                 C'''B'''''B'B''''''''''''''B'''''BB''''''C'BB'B'BBB
+                                                                                  XXXHXXXXXHXHXXXXXXXXXXXXXXHXXXXXHHXXXXXX XHHXHXHHH
+                                                                                  CCCXCCCCCXCXCCCCCCCCCCCCCCXCCCCCXXCCCCCC CXXCXCXXX
 =-=+===M-MMMM-M--M------===M==+++=+=-===ZMMZ=====AIA------ZZ-X-M==MM--Z---ZM++++"-"--------------"----------"---------------""""---"
+CCCCCCC C    C CC CCCCCCCCC CCCCCCCCC               CCCCCC  C C CC  CC CCC  CCCC+.C..............C..........C...............CCCC...C
+                                                                                C'B''''''''''''''B''''''''''B'''''''''''''''BBBB'''B
+                                                                                 XHXXXXXXXXXXXXXXHXXXXXXXXXXHXXXXXXXXXXXXXXXHHHHXXXH
+                                                                                 CXCCCCCCCCCCCCCCXCCCCCCCCCCXCCCCCCCCCCCCCCCXXXXCCCX
 ++=====MMM---MM-Z---MZ-M=++MMM=++MMIX-=+A=I==AII=I=X-M----XZZMMMMMM-ZZ-ZZX-+=+"""""""-------"----"---"-------"-----------"--""-""-""
+CCCCCCC   CCC  C CCC  C CCC   CCC    C              C CCCC         C  C   CCCC+++CCCC.......C....C...C.......C...........C..CC.CC.CC
+                                                                              CCCBBBB'''''''B''''B'''B'''''''B'''''''''''B''BB'BB'BB
+                                                                                 HHHHXXXXXXXHXXXXHXXXHXXXXXXXHXXXXXXXXXXXHXXHHXHHXHH
+                                                                                 XXXXCCCCCCCXCCCCXCCCXCCCCCCCXCCCCCCCCCCCXCCXXCXXCXX
 ==M+=M--M-ZXMMZZAZ=M=M==M+=====+=M1==Z-Z ++AI XXI11ZM--M-ZAX-MMMM-MZXZ---M=="+"---""---------"--------------------"----"--""""""-"""
+CC CC CC C        C C CC CCCCCCCC   C C              CC C   C    C    CCC CC+C+...CC.........C....................C....C..CCCCCC.CCC
+                                                                            C C'''BB'''''''''B''''''''''''''''''''B''''B''BBBBBB'BBB
+                                                                               XXXHHXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXHXXXXHXXHHHHHHXHHH
+                                                                               CCCXXCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCXCCCCXCCXXXXXXCXXX
 ==-==M-ZMM-MMMMMMM====MM=M==+=M==-M=+=+-=IIAIXZ++1--MM--ZIZ--MM==MZIIM-MM++++""---"---"-----"-----------------"""---"-----""-"-""--"
+CCCCC C   C       CCCC  C CCCC CCC CCCCC           C  CC   CC  CC     C  CCCC++...C...C.....C.................+CC...C.....CC.C.CC..C
+                                                                             CC'''B'''B'''''B'''''''''''''''''CBB'''B'''''BB'B'BB''B
+                                                                               XXXHXXXHXXXXXHXXXXXXXXXXXXXXXXX HHXXXHXXXXXHHXHXHHXXH
+                                                                               CCCXCCCXCCCCCXCCCCCCCCCCCCCCCCC XXCCCXCCCCCXXCXCXXCCX
 MM-=++===MM==M====+=+=MMM===MM=+M-M--==IZZZAZM-A=++M=--ZZX-MMMM==MZX-MM==+=+"+--------------------------------------"-""-"-""--""-""
+  CCCCCCC  CC CCCCCCCC   CCC  CC C CCCC       C     CCC   C    CC   C  CCCCC+C......................................C.CC.C.CC..CC.CC
+                                                                            C ''''''''''''''''''''''''''''''''''''''B'BB'B'BB''BB'BB
+                                                                              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXHHXHXHHXXHHXHH
+                                                                              CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCXXCXCXXCCXXCXX
 M==++=++===++MM+==+=M-==M==MM++MXXZAMM=ZM=M-MZAII+I=M--ZXZMMMM===M-Z-=+M++++"---""-----------------------------"----"""--"-"""-"""""
+ CCCCCCCCCCCC  CCCCC CCC CC  CC       C  C C       C CC       CCC C CCC CCCC+...C+.............................C....CCC..C.CCC.CCCCC
+                                                                            C'''BC'''''''''''''''''''''''''''''B''''BBB''B'BBB'BBBBB
+                                                                             XXXH XXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXHHHXXHXHHHXHHHHH
+                                                                             CCCX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCXXXCCXCXXXCXXXXX
 =+-=M++++++=++MMM+==-ZMM=++-="- I==IZ=-X"-ZZA+1=I1++=--=MM-M=M==MM-M=+++="""--""---"--"---------"-----"------------"-"-""""""""-"-"-
+CCCC CCCCCCCCC   CCCC   CCCCC+C      CC +C        CCCCCC  C C CC  C CCCCC+++..+C...+..+.........C.....+............C.C.CCCCCCCC.C.C.
+                             C          C                                CCC''CB'''C''C'''''''''B'''''C''''''''''''B'B'BBBBBBBB'B'B'
+                                                                            XX HXXX XX XXXXXXXXXHXXXXX XXXXXXXXXXXXHXHXHHHHHHHHXHXHX
+                                                                            CC XCCC CC CCCCCCCCCXCCCCC CCCCCCCCCCCCXCXCXXXXXXXXCXCXC
 =+M=+"++++++=MMMMMM-MMMM=+++"==A=- AM=AZZMZA=+=+=M++++====M-=MM-MZZM=+=+=++---"----"--------"""---"--------------"-------"-"""----""
+CC CC+CCCCCCC      C    CCCC+CC      C            CCCCCCCC CC  C    CCCCCCC...C....C........CCC...C..............C.......C.CCC....CC
+     C                      C                                              '''B''''B''''''''BBB'''B''''''''''''''B'''''''B'BBB''''BB
+                                                                           XXXHXXXXHXXXXXXXXHHHXXXHXXXXXXXXXXXXXXHXXXXXXXHXHHHXXXXHH
+                                                                           CCCXCCCCXCCCCCCCCXXXCCCXCCCCCCCCCCCCCCXCCCCCCCXCXXXCCCCXX
 +++++++"+++MZ-MMM=MZMMM=+"""+==A+-+AZZXXZZ===+=IX+++++=MM---M----ZZ==+==++"--"-"------------------------------------"----"""-""-""""
+CCCCCCC+CCC  C   C     CC+++CCC                  CCCCCC  CCC CCCC  CCCCCCC+..C.+....................................C....CCC.CC.CCCC
+       C                 CCC                                              C''B'C''''''''''''''''''''''''''''''''''''B''''BBB'BB'BBBB
+                                                                           XXHX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXHHHXHHXHHHH
+                                                                           CCXC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCXXXCXXCXXXX
 ""+++=M+===ZX-M-M==Z===+"""++=ZXIX-=IAXZAIIII+IZX+"+=MMM---Z--ZXXZ==MM=++"-""---------------"--"--"-----------------------"-"-"--"-"
+++CCCC CCCC  C C CC CCCC+++CCC    C              C+CC   CCC CC    CC  CCC+.CC...............C..C..C.......................C.C.C..C.C
+CC                      CCC                       C                      C'BB'''''''''''''''B''B''B'''''''''''''''''''''''B'B'B''B'B
+                                                                          XHHXXXXXXXXXXXXXXXHXXHXXHXXXXXXXXXXXXXXXXXXXXXXXHXHXHXXHXH
+                                                                          CXXCCCCCCCCCCCCCCCXCCXCCXCCCCCCCCCCCCCCCCCCCCCCCXCXCXCCXCX
 ""+"+==+===MZ=+M===+"""--""==ZZ-==ZIAXZXA =+-IAAM++=MXZ-=MZ--ZAII=M-M=+++---""----------------"---------"---------"-----"----"""""-"
+++C+CCCCCCC  CC CCCC+++..++CC  CCC               CCC   CC  CC    C C CCCC...C+................+.........C.........C.....C....CCCCC.C
+CC C                CCC''CC                                              '''BC''''''''''''''''C'''''''''B'''''''''B'''''B''''BBBBB'B
+                       XX                                                XXXH XXXXXXXXXXXXXXXX XXXXXXXXXHXXXXXXXXXHXXXXXHXXXXHHHHHXH
+                       CC                                                CCCX CCCCCCCCCCCCCCCC CCCCCCCCCXCCCCCCCCCXCCCCCXCCCCXXXXXCX
 """"+"++===+"+===M""++""==M-XI=-+=ZZZ-XXXZA=++==="+=--M-M-M--XZZMM-M=+"+---""-----"------------"-"-------------"--"""-""-"-""---""-"
+++++C+CCCCCC+CCCC ++CC++CC C   CCC   C         CC+CCCC C C CC     C CC+C...CC.....C............C.C.............C..CCC.CC.C.CC...CC.C
+CCCC C      C     CC  CC                         C                    C '''BB'''''B''''''''''''B'B'''''''''''''B''BBB'BB'B'BB'''BB'B
+                                                                        XXXHHXXXXXHXXXXXXXXXXXXHXHXXXXXXXXXXXXXHXXHHHXHHXHXHHXXXHHXH
+                                                                        CCCXXCCCCCXCCCCCCCCCCCCXCXCCCCCCCCCCCCCXCCXXXCXXCXCXXCCCXXCX
 """""""+++""++""+++MMM=+MZZAA+IZ=MZIZXZA=-XI-1I-+"+MMMM-MMMZZ----ZZ=++++-=""------"---------"--------------------"----""-"---""--""-
++++++++CCC++CC++CCC   CC        C        C     CC+C    C     CCCC  CCCCC.CCC......C.........C....................C....CC.C...C+..CC.
+CCCCCCC   CC  CC                                 C                      ' BB''''''B'''''''''B''''''''''''''''''''B''''BB'B'''BC''BB'
+                                                                        X HHXXXXXXHXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXHXXXXHHXHXXXH XXHHX
+                                                                        C XXCCCCCCXCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCXCCCCXXCXCCCX CCXXC
 """""""++""""++"+=--X--=AAXAI+IM=-ZX--XX-ZZI=IM=++=MM==M-M-ZXZ--MZM="+-"+-"------------------------"-----"-"-"----"-""---"----""-"""
++++++++CC++++CC+CCCC CCC        CC  CC         CCCC  CC C C   CC   C+C.CC.C........................C.....C.C.C....C.CC...C....CC.CCC
+CCCCCCC  CCCC  C                                                    C 'B 'B''''''''''''''''''''''''B'''''B'B'B''''B'BB'''B''''BB'BBB
+                                                                      XH XHXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXHXHXHXXXXHXHHXXXHXXXXHHXHHH
+                                                                      CX CXCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCXCXCXCCCCXCXXCCCXCCCCXXCXXX
 "++""""+""""+++"M=--IZ-Z-AAIIIX==ZXZZZ-+=MX==A"-+=M=Z==M=M-ZZ--=M=M"+-"""#----"---------------"------------------"--"-"-"-"---"""-""
++CC++++C++++CCC+ CCC  C        CC     C       +.CC C CC C C  CCC C +C.CCCX....+...............C..................C..C.C.C.C...CCC.CC
+C  CCCC CCCC   C                              C'                   C 'BBB$''''C'''''''''''''''B''''''''''''''''''B''B'B'B'B'''BBB'BB
+                                               X                     XHHH_XXXX XXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXHXXHXHXHXHXXXHHHXHH
+                                               C                     CXXX&CCCC CCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCXCCXCXCXCXCCCXXXCXX
 "+""+"-"""++++++M=Z+=IZX+=+=IX-MZXZZ--ZA-ZXA++-"+=======-AXX-M=M==++"""""----------------------------"--------""-"-""--""""""""-"""-
++C++C+.+++CCCCCC C            C     CC  C    C.+CCCCCCCCC   C C CCCC+CCCC............................+........CC.C.CC..CCCCCCCC.CCC.
+C CC C'CCC                                    'C                    CBBBB''''''''''''''''''''''''''''C''''''''BB'B'BB''BBBBBBBB'BBB'
+      X                                       X                      HHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXHHXHXHHXXHHHHHHHHXHHHX
+      C                                       C                      XXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCXXCXCXXCCXXXXXXXXCXXXC
 """"+""""+==++M====-==+===1=AZZ-ZZMM-M-ZXX-=+-""++=+=+=-IXXZM=--=+=""""#-----------------------------------"-"----"---"-""--"""-""""
+++++C++++CCCCC CCCCCC          C    C C   CCC.++CCCCCCCC     CCCCCC+CCCX...................................C.C....C...C.CC..CCC.CCCC
+CCCC CCCC                                    'CC                   CBBB$'''''''''''''''''''''''''''''''''''B'B''''B'''B'BB''BBB'BBBB
+                                             X                      HHH_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXHXXXXHXXXHXHHXXHHHXHHHH
+                                             C                      XXX&CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCXCCCCXCCCXCXXCCXXXCXXXX
 """-"""++++-++M=====+- 111=AZZX-Z---XZZZAZ++""++++=+=--ZIZ-M==-M++"-""#------------------------""--"="-------"-""--------"-"""""""""
++++.+++CCCC.CC CCCCCCC         C CCC      CC++CCCCCCCCC   C CCC CC+.CCX........................CC..+C+.......C.CC........C.CCCCCCCCC
+CCC'CCC    '                                CC                    C'BB$''''''''''''''''''''''''BB''C C'''''''B'BB''''''''B'BBBBBBBBB
+   X       X                                                       XHH_XXXXXXXXXXXXXXXXXXXXXXXXHHXX   XXXXXXXHXHHXXXXXXXXHXHHHHHHHHH
+   C       C                                                       CXX&CCCCCCCCCCCCCCCCCCCCCCCCXXCC   CCCCCCCXCXXCCCCCCCCXCXXXXXXXXX
 ++++++++=++""===+=+==I1+-=AZ---ZXZZZZZZZX=M++M+"++MM-A-ZX-==+MM+++""""------------------------"--"----------"--------"-"--"--"--""""
+CCCCCCCCCCC++CCCCCCCC       CCC            CC C+CC  C C  CCCC  CCCCCCC........................+..C..........C........C.C..C..C..CCCC
+           CC                                  C                  BBBB''''''''''''''''''''''''C''B''''''''''B''''''''B'B''B''B''BBBB
+                                                                  HHHHXXXXXXXXXXXXXXXXXXXXXXXX XXHXXXXXXXXXXHXXXXXXXXHXHXXHXXHXXHHHH
+                                                                  XXXXCCCCCCCCCCCCCCCCCCCCCCCC CCXCCCCCCCCCCXCCCCCCCCXCXCCXCCXCCXXXX
 ++++M=====+=+==++====1=1=IZZZZZAAZXAXAIZ=AIM"""+M-Z-XZZXZM+=--+"+""""-+----------------------------"--"-------""----------"--"--""""
+CCCC CCCCCCCCCCCCCCCC                       +++C C C      CCCCC+CCCCC.C............................C..C.......CC..........C..C..CCCC
+                                            CCC                C BBBB' ''''''''''''''''''''''''''''B''B'''''''BB''''''''''B''B''BBBB
+                                                                 HHHHX XXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXHXXXXXXXHHXXXXXXXXXXHXXHXXHHHH
+                                                                 XXXXC CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXCCCCCCCXXCCCCCCCCCCXCCXCCXXXX
 +=MM-MM=====++++===MX-1+=XZZXZXIAXXZX+IZAIA+++=MIAXZZZA-===M-++"-"""------------------------------------------"----------"-""-"--"-"
+CC  C  CCCCCCCCCCCC                        CCCC        CCCC CCC+.CCC..........................................C..........C.CC.C..C.C
+                                                               C'BBB''''''''''''''''''''''''''''''''''''''''''B''''''''''B'BB'B''B'B
+                                                                XHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXHXHHXHXXHXH
+                                                                CXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCXCXXCXCCXCX
 M--MZ-Z=+=M+++++-MM-- 1-IXZ-ZII=IXAZI=XZAX=+=Z+IAAXZZXZMMM-M++"--""-------------------------------------------------------""--""-"""
+ CC  C CCC CCCCCC  C       C              CCC             C CC+..C+.......................................................CC..CC.CCC
+                                                              C''BC'''''''''''''''''''''''''''''''''''''''''''''''''''''''BB''BB'BBB
+                                                               XXH XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXHHXHHH
+                                                               CCX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCXXCXXX
 =-ZZXAA==MM=++++===A - =IZZZXI=A+XAA=AII=XX=M1-1IXZZXZ-M-MM++"--"+--"--------"--------------"-"---------"-----"-"-----"--""--"--""-"
+CC     CC  CCCCCCCC                        C          C C  CC+..CC..+........C..............C.C.........C.....C.C.....C..CC..C..CC.C
+                                                             C''B ''C''''''''B''''''''''''''B'B'''''''''B'''''B'B'''''B''BB''B''BB'B
+                                                              XXH XX XXXXXXXXHXXXXXXXXXXXXXXHXHXXXXXXXXXHXXXXXHXHXXXXXHXXHHXXHXXHHXH
+                                                              CCX CC CCCCCCCCXCCCCCCCCCCCCCCXCXCCCCCCCCCXCCCCCXCXCCCCCXCCXXCCXCCXXCX
 =-ZZXAA-M=MM=++++-Z= -1XXZZA-XXA=IIAXA+==+ZMI=-1AXXXX-MMM=+++"""+------"-------------------"-------------"----"""-----------""--"--"
+CC     C C  CCCCCC          C                        C   CCCC+CCC......+...................C.............C....CCC...........CC..C..C
+                                                             CBB ''''''C'''''''''''''''''''B'''''''''''''B''''BBB'''''''''''BB''B''B
+                                                              HH XXXXXX XXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXHXXXXHHHXXXXXXXXXXXHHXXHXXH
+                                                              XX CCCCCC CCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCXCCCCXXXCCCCCCCCCCCXXCCXCCX
 M-ZZZAXM=====++++-X-1+IZZXAI-XAAIAAAA=1IZM=X+AIAZXZXX-M-=+="-"-------------------------------------------------""""------------"---"
+ C      CCCCCCCCCC          C             C          C CCCC+.C.................................................CCCC............C...C
+                                                           C'B'''''''''''''''''''''''''''''''''''''''''''''''''BBBB''''''''''''B'''B
+                                                            XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHHHXXXXXXXXXXXXHXXXH
+                                                            CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXXXCCCCCCCCCCCCXCCCX
 MMZZ-ZZ-=+M++""++-+-=IAZZIAXX=AAA AIA=-Z=++XXIZ-ZZZZ-Z-="++-"-----------------------"-------"-----------------------------"-"--"""""
+    C  CCC CC++CCC                      CCC    C    C CC+CC.C.......................+.......+.............................C.C..CCCCC
+             CC                                         C  'B'''''''''''''''''''''''C'''''''C'''''''''''''''''''''''''''''B'B''BBBBB
+                                                           XHXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXHXXHHHHH
+                                                           CXCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCXCCXXXXX
 =M-=MX-M=+=+="""MI1111AZAZXI==IX=-AXI -M+++ZIAZ-MZXM--++++-"+"----------------"-------------"--------------------"-----""--"-"----"-
+C CC  C CCCCC+++                        CCC    C    CCCCCC.CC+................+.............+....................C.....CC..C.C....C.
+             CCC                                          'B C''''''''''''''''C'''''''''''''C''''''''''''''''''''B'''''BB''B'B''''B'
+                                                          XH  XXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXHXXXXXHHXXHXHXXXXHX
+                                                          CX  CCCCCCCCCCCCCCCC CCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCXCCCCCXXCCXCXCCCCXC
 ++M-M--=+++++++=X+I++==IA=I1==AXXZMZZ=X=+=MZXZZ-ZX---=+++-""-"-------"------------------------------------"-----------------"----"--
+CC C CCCCCCCCCCC                       CCC     C  CCCCCCC.++.+.......+....................................C.................C....C..
+                                                         'CC'C'''''''C''''''''''''''''''''''''''''''''''''B'''''''''''''''''B''''B''
+                                                         X  X XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXHXXXXHXX
+                                                         C  C CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCXCCCCXCC
 +=M-M-Z=++++=-Z=AI=+==AI==+ AZ--=M=MZ=++=--XXAZ-X-M--++""="--"----------------------------------------------------------------""----
+CC C C CCCCCCC                CCC C  CCCCCC    C C CCCC++C+..+................................................................CC....
+                                                       CC C''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''BB''''
+                                                           XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXXX
+                                                           CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCCC
 "++=+=M++=MAI=+IA==I=IAA=AIMM=MM=-=MM++=-=ZXZZ=--=-M=+"+-+-"-"----------------------------------------"--------------"----"--"-"----
++CCCCC CCC                   C  CCC  CCCCC    CCCCC CC+CCC.+.+........................................C..............C....C..C.C....
+C                                                     C   'C'C''''''''''''''''''''''''''''''''''''''''B''''''''''''''B''''B''B'B''''
+                                                          X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXHXXXXHXXHXHXXXX
+                                                          C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCXCCCCXCCXCXCCCC
 -++=++MMX1IXIXX==IIX=IIXIAM"+=M=M=M=+===+"Z-M+"==--+"-+M--------"-------------"------------------------------------------""--"----"-
+.CCCCC                     +CC C C CCCCCC+ C C+CCCCC+.C ........+.............+..........................................CC..C....C.
+'                          C             C    C     C'  ''''''''C'''''''''''''C''''''''''''''''''''''''''''''''''''''''''BB''B''''B'
+X                                                    X  XXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXHXXXXHX
+C                                                    C  CCCCCCCC CCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCXCCCCXC
 "==-ZZ=+=11=ZZAAIIIAIIMZ--==-M=M+=+++++""+=M"-++=-"---M-"----"---------------------------------------"----------------"-"-"-"-"---"-
++CCC                    CCCCC C CCCCCCC++CC +CCCCC+... .+....+.......................................C................C.C.C.C.C...C.
+C                                      CC   C     C''' 'C''''C'''''''''''''''''''''''''''''''''''''''B''''''''''''''''B'B'B'B'B'''B'
+                                                   XXX X XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXHXHXHXHXHXXXHX
+                                                   CCC C CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCXCXCXCXCXCCCXC
 =ZZZA==++1-+XXXIA===IAZMM-M-Z==++=+""-"-"=M++"++=-""+"-------------"-----------"---------------"-----"------------"----"---------"-"
+C                        C C CCCCCC++.+.+C CC+CCC.CCC+.............+...........+...............C.....C............C....C.........C.C
+                                   CC'C'C    C   'BB C'''''''''''''C'''''''''''C'''''''''''''''B'''''B''''''''''''B''''B'''''''''B'B
+                                     X X         XHH  XXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXXXXXHXXXXXHXXXXXXXXXXXXHXXXXHXXXXXXXXXHXH
+                                     C C         CXX  CCCCCCCCCCCCC CCCCCCCCCCC CCCCCCCCCCCCCCCXCCCCCXCCCCCCCCCCCCXCCCCXCCCCCCCCCXCX
 -ZXXZAA+===XXAAAAAII=I-=--ZZM++==+"+"-+=MMM="++""""-"---------------"-----------------------------------"------------------"--"---""
+C                     CCCC   CCCCC+C+.CC   C+CC+CCC.+...............+...................................C..................C..C...CC
+                                  C C'      C  CBBB'C'''''''''''''''C'''''''''''''''''''''''''''''''''''B''''''''''''''''''B''B'''BB
+                                     X          HHHX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXHXXHXXXHH
+                                     C          XXXC CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCXCCXCCCXX
 -ZZZZXX-IXAXXAAAI A=-ZXZXZZM=====""-"=MM-ZM=+=-""-=+-----"-"-"-"-"-"-"-----------"------------------"------"-----------"--"-------""
+C                           CCCCC++.CC  C  CCC.CC.CC.....+.+.+.+.+.+.+...........+..................C......C...........C..C.......CC
+                                 CC'B         'BB'  '''''C'C'C'C'C'C'C'''''''''''C''''''''''''''''''B''''''B'''''''''''B''B'''''''BB
+                                   XH         XHHX  XXXXX X X X X X X XXXXXXXXXXX XXXXXXXXXXXXXXXXXXHXXXXXXHXXXXXXXXXXXHXXHXXXXXXXHH
+                                   CX         CXXC  CCCCC C C C C C C CCCCCCCCCCC CCCCCCCCCCCCCCCCCCXCCCCCCXCCCCCCCCCCCXCCXCCCCCCCXX
 ---ZZAA==XAXXZX=+IXI=AAAZZ-===+M=--"MM=-ZZAM="""-"--"----"------------"------------------------"--------"------------"-------------"
+CCC                       CCCCC C..+  CC    CCCC.+..+....+............+........................+........C............C.............C
+                                 ''C         BBB'C''C''''C''''''''''''C''''''''''''''''''''''''C''''''''B''''''''''''B'''''''''''''B
+                                 XX          HHHX XX XXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXHXXXXXXXXXXXXHXXXXXXXXXXXXXH
+                                 CC          XXXC CC CCCC CCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCXCCCCCCCCCCCCXCCCCCCCCCCCCCX
 M--ZXIA+IAIIXMAAXXA=IIZZZ-M+=--==+=M--ZXXI-+"""+"---"--------"""--"----------------"------------------""----"------------""--"-"--"-
+ CC                      C CCCCCCCC CC    CCCCCC+...+........+++..+................+..................++....C............CC..C.C..C.
+                                            BBB C'''C''''''''CCC''C''''''''''''''''C''''''''''''''''''CC''''B''''''''''''BB''B'B''B'
+                                            HHH  XXX XXXXXXXX   XX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX  XXXXHXXXXXXXXXXXXHHXXHXHXXHX
+                                            XXX  CCC CCCCCCCC   CC CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC  CCCCXCCCCCCCCCCCCXXCCXCXCCXC
 -ZXZZI==II+AM-AXXI+  X--MMM==A-=M=ZZIXXXAM"""+"""-"-""-----"-""-"------"----------------------------------------------------------"-
+C            C        CC   CC CC C        +CCC+++.+.++.....+.++.+......+..........................................................C.
+                                          CBB CCC'C'CC'''''C'CC'C''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''B'
+                                           HH    X X  XXXXX X  X XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHX
+                                           XX    C C  CCCCC C  C CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXC
 ZZZXI1+AIA=AM-ZZ=1  +-ZMM-===Z-Z=-IIAA=X=---"""--+----------------------"---------------------------"-----""----------------"-"--"""
+             C       C   CCCC C CC      C...+++..C......................+...........................C.....CC................C.C..CCC
+                                         '''CCC'' ''''''''''''''''''''''C'''''''''''''''''''''''''''B'''''BB''''''''''''''''B'B''BBB
+                                         XXX   XX XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXHHXXXXXXXXXXXXXXXXHXHXXHHH
+                                         CCC   CC CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCXXCCCCCCCCCCCCCCCCXCXCCXXX
 XZZX=1 IIAAAAAAI11-I-ZZ-M+++ZZM-ZAIAAAZ=-"-""-""-------------------------------+------------------"--"----------------"--"----"-"--"
+                    C  C CCC   C       C.+.++.++...............................C..................C..+................C..C....C.C..C
+                                        'C'CC'CC''''''''''''''''''''''''''''''' ''''''''''''''''''B''C''''''''''''''''B''B''''B'B''B
+                                        X X  X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXHXX XXXXXXXXXXXXXXXXHXXHXXXXHXHXXH
+                                        C C  C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCXCC CCCCCCCCCCCCCCCCXCCXCCCCXCXCCX
 ZXAX=+==AXAXAAA==XZ---=++++=-ZXZA==AX-="+"--""""--"-------"------"--------------"------------"--------------"-----"-----------"-----
+                   CCCCCCCCCC        CC+C+..++++..+.......+......+..............+............C..............C.....C...........C.....
+                                       C C''CCCC''C'''''''C''''''C''''''''''''''C''''''''''''B''''''''''''''B'''''B'''''''''''B'''''
+                                          XX    XX XXXXXXX XXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXHXXXXXXXXXXXXXXHXXXXXHXXXXXXXXXXXHXXXXX
+                                          CC    CC CCCCCCC CCCCCC CCCCCCCCCCCCCC CCCCCCCCCCCCXCCCCCCCCCCCCCCXCCCCCXCCCCCCCCCCCXCCCCC
 XAIAX-XAZZZZXZ-Z-MM=M+=+MMM-ZXXZA=IIMM==------"-----"---"-"---"----------------"--------"-------------"-----------------------"--"-"
+     C        C C  C CCC   C          CC......+.....+...+.+...+................+........+.............C.......................C..C.C
+                                        ''''''C'''''C'''C'C'''C''''''''''''''''C''''''''C'''''''''''''B'''''''''''''''''''''''B''B'B
+                                        XXXXXX XXXXX XXX X XXX XXXXXXXXXXXXXXXX XXXXXXXX XXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXHXXHXH
+                                        CCCCCC CCCCC CCC C CCC CCCCCCCCCCCCCCCC CCCCCCCC CCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCXCCXCX
 II-A-M---XZ-M-=+=M++=XZXZ-ZZXXXIAIIIZZ+-"+-"-"-"-"""""""""--""-""--------------"-----------"-------------------------"------------"-
+  C C CCC  C CCCC CCC    C            C.+C.+.+.+.+++++++++..++.++..............+...........+.........................+............C.
+                                       'C 'C'C'C'CCCCCCCCC''CC'CC''''''''''''''C'''''''''''C'''''''''''''''''''''''''C''''''''''''B'
+                                       X  X X X X         XX  X  XXXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXHX
+                                       C  C C C C         CC  C  CCCCCCCCCCCCCC CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCXC
 --MXM-MMM==++++M==+MZ-ZXZXXZXI=IAIAZM""""-"--"----""---------"-----------------"--------------------"------"-------------"--""------
+CC   C   CCCCCC CCC  C               ++++.+..+....++.........+.................+....................+......C.............+..C+......
+                                     CCCC'C''C''''CC'''''''''C'''''''''''''''''C''''''''''''''''''''C''''''B'''''''''''''C''BC''''''
+                                         X XX XXXX  XXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXHXXXXXXXXXXXXX XXH XXXXXX
+                                         C CC CCCC  CCCCCCCCC CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC CCCCCCXCCCCCCCCCCCCC CCX CCCCCC
 ++MZMM==+"""""=-=MZZ-ZXZXAIAIIIAAAZ+-"""""-"-----"----"---------------------------------------------------------"----------------""-
+CC    CCC+++++CCC   C              C.+++++.+.....+....+.........................................................C................C+.
+         CCCCC                      'CCCCC'C'''''C''''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''B''''''''''''''''BC'
+                                    X     X XXXXX XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXH X
+                                    C     C CCCCC CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCX C
 "+=++=+"-""=+++M-ZZZ-ZZXXA+1+AIIAM+-""-----""--"-""-"-"-----------------------------------------------------------------"----"--""--
++CCCCCC+.++CCCC C   C             C.++.....++..+.++.+.+.................................................................C....C..CC..
+C      C'CC                        'CC'''''CC''C'CC'C'C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''B''''B''BB''
+        X                          X  XXXXX  XX X  X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXHXXHHXX
+        C                          C  CCCCC  CC C  C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCXCCXXCC
 "M+""+"--"=M-==MAX-ZZZZXIII +=IX=""""""""---""""-"""-"----------------------------------------"-"------"---------------"-"-"--------
++ C++C+..+C CCC   C             C++++++++...++++.+++.+........................................+.C......+...............C.C.C........
+C  CC C''C                       CCCCCCCC'''CCCC'CCC'C''''''''''''''''''''''''''''''''''''''''C'B''''''C'''''''''''''''B'B'B''''''''
+       XX                                XXX    X   X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XHXXXXXX XXXXXXXXXXXXXXXHXHXHXXXXXXXX
+       CC                                CCC    C   C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CXCCCCCC CCCCCCCCCCCCCCCXCXCXCCCCCCCC
 M++++"+==M=M--MZAZZAXZAIA+-+IZ-+""""""--"---"--"----------"-------------------------------------------------------""-----"-"--------
+ CCCC+CCC   CC                CC++++++..+...+..+..........+.......................................................++.....C.C........
+     C                          CCCCCC''C'''C''C''''''''''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''CC'''''B'B''''''''
+                                      XX XXX XX XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXHXHXXXXXXXX
+                                      CC CCC CC CCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCXCXCCCCCCCC
 =M-MM=-ZZZ-M--ZXXXXI=XAXI==A-"""""""""--"----------"----"---------------------------------------------------------------"----"--"--"
+C C  CC   C CC              C+++++++++..+..........+....+...............................................................C....C..C..C
+                             CCCCCCCCC''C''''''''''C''''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''B''''B''B''B
+                                      XX XXXXXXXXXX XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXHXXHXXH
+                                      CC CCCCCCCCCC CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCXCCXCCX
 --Z-Z-ZZZXZMMZXIIXIIAXXA==M+""""""""""--"""-""--""---"--"------"---------------------------------------""-------------------------"-
+CC C C                     C++++++++++..+++.++..++...+..+......+.......................................++.........................C.
+                            CCCCCCCCCC''CCC'CC''CC'''C''C''''''C'''''''''''''''''''''''''''''''''''''''CC'''''''''''''''''''''''''B'
+                                      XX   X  XX  XXX XX XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXHX
+                                      CC   C  CC  CCC CC CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCXC
 X++ZX--ZIAXZX=AIIIIXXA=AA+""""-"-"-""""--"--""-"""""------"-"-"--"----------"-"----"----------------"-------"--"--"-----------------
+     CC                  C++++.+.+.++++..+..++.+++++......+.+.+..+..........+.+....+................+.......+..+..+.................
+                          CCCC'C'C'CCCC''C''CC'CCCCC''''''C'C'C''C''''''''''C'C''''C''''''''''''''''C'''''''C''C''C'''''''''''''''''
+                              X X X    XX XX  X     XXXXXX X X XX XXXXXXXXXX X XXXX XXXXXXXXXXXXXXXX XXXXXXX XX XX XXXXXXXXXXXXXXXXX
+                              C C C    CC CC  C     CCCCCC C C CC CCCCCCCCCC C CCCC CCCCCCCCCCCCCCCC CCCCCCC CC CC CCCCCCCCCCCCCCCCC
 IZZZ-ZAXZXXXI=I=IIZXXAAM""""""-"-"""""----"-"--"""--""-----------------------------------------------------"-------"------------"---
+    C                   ++++++.+.+++++....+.+..+++..++.....................................................C.......+............C...
+                        CCCCCC'C'CCCCC''''C'C''CCC''CC'''''''''''''''''''''''''''''''''''''''''''''''''''''B'''''''C''''''''''''B'''
+                              X X     XXXX X XX   XX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXX XXXXXXXXXXXXHXXX
+                              C C     CCCC C CC   CC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCC CCCCCCCCCCCCXCCC
 -MZXAXXXZAAAIIIII=I=ZM+"""-""""""""""""""""-""-""----"-""--------------""---"---------------------"-------------"--"----------------
+C                     C+++.++++++++++++++++.++.++....+.++..............++...+.....................+.............+..+................
+                       CCC'CCCCCCCCCCCCCCCC'CC'CC''''C'CC''''''''''''''CC'''C'''''''''''''''''''''C'''''''''''''C''C''''''''''''''''
+                          X                X  X  XXXX X  XXXXXXXXXXXXXX  XXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XX XXXXXXXXXXXXXXXX
+                          C                C  C  CCCC C  CCCCCCCCCCCCCC  CCC CCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC CC CCCCCCCCCCCCCCCC
 -MZAIXXAII=IXII===X=+"""""""""""-""-"""""""--""""--"-"--------"----"-------------------"-------"---------------------------------"--
+C                  CC+++++++++++.++.+++++++..++++..+.+........+....+...................+.......+.................................C..
+                     CCCCCCCCCCC'CC'CCCCCCC''CCCC''C'C''''''''C''''C'''''''''''''''''''C'''''''C'''''''''''''''''''''''''''''''''B''
+                                X  X       XX    XX X XXXXXXXX XXXX XXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXX
+                                C  C       CC    CC C CCCCCCCC CCCC CCCCCCCCCCCCCCCCCCC CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCC
 ZZZXIAI==IAA==+=I+"""""-"""""""""""""-""""""-""-""-"----"""----"---------""------------"----------------"---------"-----"-----"-----
+                 C+++++.+++++++++++++.++++++.++.++.+....+++....+.........++............+................+.........+.....C.....C.....
+                  CCCCC'CCCCCCCCCCCCC'CCCCCC'CC'CC'C''''CCC''''C'''''''''CC''''''''''''C''''''''''''''''C'''''''''C'''''B'''''B'''''
+                       X             X      X  X  X XXXX   XXXX XXXXXXXXX  XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXX XXXXXHXXXXXHXXXXX
+                       C             C      C  C  C CCCC   CCCC CCCCCCCCC  CCCCCCCCCCCC CCCCCCCCCCCCCCCC CCCCCCCCC CCCCCXCCCCCXCCCCC
 XZXIIIIIAAI 1=AM""""""""""""---"-""-"-"---------"--"""--"-""-""---------"---"----------------------------------""-------"------"---"
+                ++++++++++++...+.++.+.+.........+..+++..+.++.++.........+...+..................................++.......C......C...C
+                CCCCCCCCCCCC'''C'CC'C'C'''''''''C''CCC''C'CC'CC'''''''''C'''C''''''''''''''''''''''''''''''''''CC'''''''B''''''B'''B
+                            XXX X  X X XXXXXXXXX XX   XX X  X  XXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXHXXXXXXHXXXH
+                            CCC C  C C CCCCCCCCC CC   CC C  C  CCCCCCCCC CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCXCCCCCCXCCCX
 IIIAI=III=+=ZM"""""""""""""----""""-"-"-""---""-----"-"----"----"----------------------------------"--------------"-----"----"--"---
+              +++++++++++++....++++.+.+.++...++.....+.+....+....+..................................+..............+.....C....C..C...
+              CCCCCCCCCCCCC''''CCCC'C'C'CC'''CC'''''C'C''''C''''C''''''''''''''''''''''''''''''''''C''''''''''''''C'''''B''''B''B'''
+                           XXXX    X X X  XXX  XXXXX X XXXX XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXHXXXXHXXHXXX
+                           CCCC    C C C  CCC  CCCCC C CCCC CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC CCCCCXCCCCXCCXCCC
 1II=++===I-=""""""""""""""""-"-"--"-"-"""-"""-"-"-""""-----"---"--------------"--"----"-----------------------"--"-----------"--"---
+          CC++++++++++++++++.+.+..+.+.+++.+++.+.+.++++.....+...+..............+..+....+.......................+..+...........C..C...
+            CCCCCCCCCCCCCCCC'C'C''C'C'CCC'CCC'C'C'CCCC'''''C'''C''''''''''''''C''C''''C'''''''''''''''''''''''C''C'''''''''''B''B'''
+                            X X XX X X   X   X X X    XXXXX XXX XXXXXXXXXXXXXX XX XXXX XXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXXHXXHXXX
+                            C C CC C C   C   C C C    CCCCC CCC CCCCCCCCCCCCCC CC CCCC CCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCCCCCCXCCXCCC
 1I+=1I=AX="""""""+"""""""""-""""""""""-"""---""""""-""--"-----"--"--"-""----"-""-----"----"----------"---------"""+-"----"----""----
+         C+++++++C+++++++++.++++++++++.+++...++++++.++..+.....+..+..+.++....+.++.....+....+..........+.........+++C.+....C....CC....
+          CCCCCCC CCCCCCCCC'CCCCCCCCCC'CCC'''CCCCCC'CC''C'''''C''C''C'CC''''C'CC'''''C''''C''''''''''C'''''''''CCC 'C''''B''''BB''''
+                           X          X   XXX      X  XX XXXXX XX XX X  XXXX X  XXXXX XXXX XXXXXXXXXX XXXXXXXXX    X XXXXHXXXXHHXXXX
+                           C          C   CCC      C  CC CCCCC CC CC C  CCCC C  CCCCC CCCC CCCCCCCCCC CCCCCCCCC    C CCCCXCCCCXXCCCC
 =1=+=X-+""""""""""""""""-"""-"-"""""""-"-"---""-""-""------"------""----------"---"------------------------"---"-"------------------
+      CC++++++++++++++++.+++.+.+++++++.+.+...++.++.++......+......++..........+...+........................+...+.+..................
+        CCCCCCCCCCCCCCCC'CCC'C'CCCCCCC'C'C'''CC'CC'CC''''''C''''''CC''''''''''C'''C''''''''''''''''''''''''C'''C'C''''''''''''''''''
+                        X   X X       X X XXX  X  X  XXXXXX XXXXXX  XXXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXXXXXX XXX X XXXXXXXXXXXXXXXXXX
+                        C   C C       C C CCC  C  C  CCCCCC CCCCCC  CCCCCCCCCC CCC CCCCCCCCCCCCCCCCCCCCCCCC CCC C CCCCCCCCCCCCCCCCCC
 11IZ-++"""""""""""""""""""""-"-"""""""""""----""--""-"-----"-"------"-----"-------"-----------------------------------------------"-
+    CCC+++++++++++++++++++++.+.+++++++++++....++..++.+.....+.+......+.....+.......+...............................................C.
+       CCCCCCCCCCCCCCCCCCCCC'C'CCCCCCCCCCC''''CC''CC'C'''''C'C''''''C'''''C'''''''C'''''''''''''''''''''''''''''''''''''''''''''''B'
+                            X X           XXXX  XX  X XXXXX X XXXXXX XXXXX XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHX
+                            C C           CCCC  CC  C CCCCC C CCCCCC CCCCC CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXC
 =-=+"""""""""""""""""""""""-""-""-""""--"-""""--""-"-"--"--"----""----------------------"--"-------------------"--------------------
+ CCC+++++++++++++++++++++++.++.++.++++..+.++++..++.+.+..+..+....++......................+..+...................+....................
+    CCCCCCCCCCCCCCCCCCCCCCC'CC'CC'CCCC''C'CCCC''CC'C'C''C''C''''CC''''''''''''''''''''''C''C'''''''''''''''''''C''''''''''''''''''''
+                           X  X  X    XX X    XX  X X XX XX XXXX  XXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
+                           C  C  C    CC C    CC  C C CC CC CCCC  CCCCCCCCCCCCCCCCCCCCCC CC CCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC
 +"+"""""""""""""+"""""+""""""""""-"""""""""""""""""-""""-"""""-"-"--"-"-"""-""""-------"-"------""-""-"----"-""---"-"-------------"-
+C+C+++++++++++++C+++++C++++++++++.+++++++++++++++++.++++.+++++.+.+..+.+.+++.++++.......+.+......++.++.+....+.++...+.+.............+.
+ C CCCCCCCCCCCCC CCCCC CCCCCCCCCC'CCCCCCCCCCCCCCCCC'CCCC'CCCCC'C'C''C'C'CCC'CCCC'''''''C'C''''''CC'CC'C''''C'CC'''C'C'''''''''''''C'
+                                 X                 X    X     X X XX X X   X    XXXXXXX X XXXXXX  X  X XXXX X  XXX X XXXXXXXXXXXXX X
+                                 C                 C    C     C C CC C C   C    CCCCCCC C CCCCCC  C  C CCCC C  CCC C CCCCCCCCCCCCC C
 """"""""""""""""""""""""""""----""""""""-"-+"------"""-"--""--"--""------------"-----"-----"-"--------------------------------------
+++++++++++++++++++++++++++++....++++++++.+.C+......+++.+..++..+..++............+.....+.....+.+......................................
+CCCCCCCCCCCCCCCCCCCCCCCCCCCC''''CCCCCCCC'C' C''''''CCC'C''CC''C''CC''''''''''''C'''''C'''''C'C''''''''''''''''''''''''''''''''''''''
+                            XXXX        X X  XXXXXX   X XX  XX XX  XXXXXXXXXXXX XXXXX XXXXX X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                            CCCC        C C  CCCCCC   C CC  CC CC  CCCCCCCCCCCC CCCCC CCCCC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 +""""""""+"""""""""""""""""""""""""-""-""------"--"-""""-""--"""-""---"--------"-""---"----"---"--------------------"---------------
+C++++++++C+++++++++++++++++++++++++.++.++......+..+.++++.++..+++.++...+........+.++...+....+...+....................+...............
+ CCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC'CC'CC''''''C''C'CCCC'CC''CCC'CC'''C''''''''C'CC'''C''''C'''C''''''''''''''''''''C'''''''''''''''
+                                   X  X  XXXXXX XX X    X  XX   X  XXX XXXXXXXX X  XXX XXXX XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX
+                                   C  C  CCCCCC CC C    C  CC   C  CCC CCCCCCCC C  CCC CCCC CCC CCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC
 +"""""""""""""""""""""""""""""-"""--""""""-""--""-""-""----"""-"-"------"---------"-"---"---------"------""-------------------------
+C+++++++++++++++++++++++++++++.+++..++++++.++..++.++.++....+++.+.+......+.........+.+...+.........+......++.........................
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCC''CCCCCC'CC''CC'CC'CC''''CCC'C'C''''''C'''''''''C'C'''C'''''''''C''''''CC'''''''''''''''''''''''''
+                              X   XX      X  XX  X  X  XXXX   X X XXXXXX XXXXXXXXX X XXX XXXXXXXXX XXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXX
+                              C   CC      C  CC  C  C  CCCC   C C CCCCCC CCCCCCCCC C CCC CCCCCCCCC CCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCC
 """""+"""""""""""+""""""""""""-""""""""""""""-""-""""""-"""--""--""-"---""--"--"""""""-""-"----------"--"---------"---"-----"--"----
++++++C+++++++++++C++++++++++++.++++++++++++++.++.++++++.+++..++..++.+...++..+..+++++++.++.+..........+..+.........+...+.....+..+....
+CCCCC CCCCCCCCCCC CCCCCCCCCCCC'CCCCCCCCCCCCCC'CC'CCCCCC'CCC''CC''CC'C'''CC''C''CCCCCCC'CC'C''''''''''C''C'''''''''C'''C'''''C''C''''
+                              X              X  X      X   XX  XX  X XXX  XX XX       X  X XXXXXXXXXX XX XXXXXXXXX XXX XXXXX XX XXXX
+                              C              C  C      C   CC  CC  C CCC  CC CC       C  C CCCCCCCCCC CC CCCCCCCCC CCC CCCCC CC CCCC
 """"""""""""""""""""""""""""""""""-"""""""-"----"-"""""--"-""--"------"-""-----"""---"----"----"---------------------------------"--
+++++++++++++++++++++++++++++++++++.+++++++.+....+.+++++..+.++..+......+.++.....+++...+....+....+.................................C..
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCC'C''''C'CCCCC''C'CC''C''''''C'CC'''''CCC'''C''''C''''C'''''''''''''''''''''''''''''''''B''
+                                  X       X XXXX X     XX X  XX XXXXXX X  XXXXX   XXX XXXX XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXX
+                                  C       C CCCC C     CC C  CC CCCCCC C  CCCCC   CCC CCCC CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCC
 """""""""""""""""""""""""""""""""""""""""""""""-----"-"-"""""""-"-"-"-"-"----"--"-----------------"---------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++.....+.+.+++++++.+.+.+.+.+....+..+.................+.................................
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'''''C'C'CCCCCCC'C'C'C'C'C''''C''C'''''''''''''''''C'''''''''''''''''''''''''''''''''
+                                               XXXXX X X       X X X X X XXXX XX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                               CCCCC C C       C C C C C CCCC CC CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 """"""+"""""""""""""""""""""""""-""""""""---"""-"-"""""""""""-"---"--"-"-"-"----""------""----"---"-"----"--------------------------
+++++++C+++++++++++++++++++++++++.++++++++...+++.+.+++++++++++.+...+..+.+.+.+....++......++....+...+.+....+..........................
+CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCC'''CCC'C'CCCCCCCCCCC'C'''C''C'C'C'C''''CC''''''CC''''C'''C'C''''C''''''''''''''''''''''''''
+                                X        XXX   X X           X XXX XX X X X XXXX  XXXXXX  XXXX XXX X XXXX XXXXXXXXXXXXXXXXXXXXXXXXXX
+                                C        CCC   C C           C CCC CC C C C CCCC  CCCCCC  CCCC CCC C CCCC CCCCCCCCCCCCCCCCCCCCCCCCCC
 +"""""""""""""""""""""""""""""""""""""""""""""""""-"-""""-"""""""""-"-""""-""-"-""-----"---"-------""---""""-------------""----"---"
+C+++++++++++++++++++++++++++++++++++++++++++++++++.+.++++.+++++++++.+.++++.++.+.++.....+...+.......++...++++.............++....+...+
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'C'CCCC'CCCCCCCCC'C'CCCC'CC'C'CC'''''C'''C'''''''CC'''CCCC'''''''''''''CC''''C'''C
+                                                  X X    X         X X    X  X X  XXXXX XXX XXXXXXX  XXX    XXXXXXXXXXXXX  XXXX XXX 
+                                                  C C    C         C C    C  C C  CCCCC CCC CCCCCCC  CCC    CCCCCCCCCCCCC  CCCC CCC 
 """""""""""""""""""""""""""""""""""""""""-""""-"---"""---"-"-""--"---""""--""------------------"--""----------------------"-"-------
++++++++++++++++++++++++++++++++++++++++++.++++.+...+++...+.+.++..+...++++..++..................+..++......................+.+.......
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCC'C'''CCC'''C'C'CC''C'''CCCC''CC''''''''''''''''''C''CC''''''''''''''''''''''C'C'''''''
+                                         X    X XXX   XXX X X  XX XXX    XX  XXXXXXXXXXXXXXXXXX XX  XXXXXXXXXXXXXXXXXXXXXX X XXXXXXX
+                                         C    C CCC   CCC C C  CC CCC    CC  CCCCCCCCCCCCCCCCCC CC  CCCCCCCCCCCCCCCCCCCCCC C CCCCCCC
 """"""""""""""""""""""""""""""""""""""--"""""-""-"-""""-""--"-"--"-"""-"""-""---""-"-----------"-"----"--------"----------"---------
+++++++++++++++++++++++++++++++++++++++..+++++.++.+.++++.++..+.+..+.+++.+++.++...++.+...........+.+....+........+..........+.........
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC''CCCCC'CC'C'CCCC'CC''C'C''C'CCC'CCC'CC'''CC'C'''''''''''C'C''''C''''''''C''''''''''C'''''''''
+                                      XX     X  X X    X  XX X XX X   X   X  XXX  X XXXXXXXXXXX X XXXX XXXXXXXX XXXXXXXXXX XXXXXXXXX
+                                      CC     C  C C    C  CC C CC C   C   C  CCC  C CCCCCCCCCCC C CCCC CCCCCCCC CCCCCCCCCC CCCCCCCCC
 """"""""""""""""""""""""""""""""""""""-"""""--""""---"""--"-""""--------"""--"""""-"----"---""-"--------------"-------------"-------
+++++++++++++++++++++++++++++++++++++++.+++++..++++...+++..+.++++........+++..+++++.+....+...++.+..............+.............+.......
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCC''CCCC'''CCC''C'CCCC''''''''CCC''CCCCC'C''''C'''CC'C''''''''''''''C'''''''''''''C'''''''
+                                      X     XX    XXX   XX X    XXXXXXXX   XX     X XXXX XXX  X XXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXX
+                                      C     CC    CCC   CC C    CCCCCCCC   CC     C CCCC CCC  C CCCCCCCCCCCCCC CCCCCCCCCCCCC CCCCCCC
 ++++"""""""""""""+""""""""-""""""""""""-"""""""---"""-"-"-""""-"""---"--"""-------"---"---"-"-------"-"--------------"---------"-"--
+CCCC+++++++++++++C++++++++.++++++++++++.+++++++...+++.+.+.++++.+++...+..+++.......+...+...+.+.......+.+..............+.........+.+..
+    CCCCCCCCCCCCC CCCCCCCC'CCCCCCCCCCCC'CCCCCCC'''CCC'C'C'CCCC'CCC'''C''CCC'''''''C'''C'''C'C'''''''C'C''''''''''''''C'''''''''C'C''
+                          X            X       XXX   X X X    X   XXX XX   XXXXXXX XXX XXX X XXXXXXX X XXXXXXXXXXXXXX XXXXXXXXX X XX
+                          C            C       CCC   C C C    C   CCC CC   CCCCCCC CCC CCC C CCCCCCC C CCCCCCCCCCCCCC CCCCCCCCC C CC
 """"+"""""""""""""""""""""""""""-""""""""""-"""""""""""""""""""-"""--"-"-----"-"""---"-""""------""-"---"--""-------------"-"-----"-
+++++C+++++++++++++++++++++++++++.++++++++++.+++++++++++++++++++.+++..+.+.....+.+++...+.++++......++.+...+..++.............+.+.....C.
+CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCCCC'CCCCCCCCCCCCCCCCCCC'CCC''C'C'''''C'CCC'''C'CCCC''''''CC'C'''C''CC'''''''''''''C'C'''''B'
+                                X          X                   X   XX X XXXXX X   XXX X    XXXXXX  X XXX XX  XXXXXXXXXXXXX X XXXXXHX
+                                C          C                   C   CC C CCCCC C   CCC C    CCCCCC  C CCC CC  CCCCCCCCCCCCC C CCCCCXC
 """"+"+"""""""""""""""""""""""""""-""""""""""""""-"""-""""""""""-"""------"--"---""""""""""""-----------"---"--------------------"--
+++++C+C+++++++++++++++++++++++++++.++++++++++++++.+++.++++++++++.+++......+..+...++++++++++++...........+...+....................+..
+CCCC C CCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCCCCCCCC'CCC'CCCCCCCCCC'CCC''''''C''C'''CCCCCCCCCCCC'''''''''''C'''C''''''''''''''''''''C''
+                                  X              X   X          X   XXXXXX XX XXX            XXXXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXX XX
+                                  C              C   C          C   CCCCCC CC CCC            CCCCCCCCCCC CCC CCCCCCCCCCCCCCCCCCCC CC
 """""""""+""""""""""+""""""""""""""""-""--""-""""""-"---"-""-"-""------"--"-"--"-"-""""-"-"-"-"-"-"-----"----------"----"-----------
++++++++++C++++++++++C++++++++++++++++.++..++.++++++.+...+.++.+.++......+..+.+..+.+.++++.+.+.+.+.+.+.....+..........+....+...........
+CCCCCCCCC CCCCCCCCCC CCCCCCCCCCCCCCCC'CC''CC'CCCCCC'C'''C'CC'C'CC''''''C''C'C''C'C'CCCC'C'C'C'C'C'C'''''C''''''''''C''''C'''''''''''
+                                     X  XX  X      X XXX X  X X  XXXXXX XX X XX X X    X X X X X X XXXXX XXXXXXXXXX XXXX XXXXXXXXXXX
+                                     C  CC  C      C CCC C  C C  CCCCCC CC C CC C C    C C C C C C CCCCC CCCCCCCCCC CCCC CCCCCCCCCCC
 """"""""""""""""""""""""""""""""""+"""--"""""-"""-"-""--"""""--"-""""-"----"--"-+"--""--"""--"------"--"--"--"---"""-""------"---"-"
+++++++++++++++++++++++++++++++++++C+++..+++++.+++.+.++..+++++..+.++++.+....+..+.C+..++..+++..+......+..+..+..+...+++.++......+...+.+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC''CCCCC'CCC'C'CC''CCCCC''C'CCCC'C''''C''C' C''CC''CCC''C''''''C''C''C''C'''CCC'CC''''''C'''C'C
+                                      XX     X   X X  XX     XX X    X XXXX XX X  XX  XX   XX XXXXXX XX XX XX XXX   X  XXXXXX XXX X 
+                                      CC     C   C C  CC     CC C    C CCCC CC C  CC  CC   CC CCCCCC CC CC CC CCC   C  CCCCCC CCC C 
 """"""""""""""""""""""""""""""""""""-""""-""""""-"--""--""-"-"""--"--"--"----""---"-""""---"---"--"--------"---"---""---------------
+++++++++++++++++++++++++++++++++++++.++++.++++++.+..++..++.+.+++..+..+..+....++...+.++++...+...+..+........+...+...++...............
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCC'CCCCCC'C''CC''CC'C'CCC''C''C''C''''CC'''C'CCCC'''C'''C''C''''''''C'''C'''CC'''''''''''''''
+                                    X    X      X XX  XX  X X   XX XX XX XXXX  XXX X    XXX XXX XX XXXXXXXX XXX XXX  XXXXXXXXXXXXXXX
+                                    C    C      C CC  CC  C C   CC CC CC CCCC  CCC C    CCC CCC CC CCCCCCCC CCC CCC  CCCCCCCCCCCCCCC
 """"+"""""""""""""""""""""""""""""""""""""""""""""-"-""-""-"-""--"---""--"---""--""""--"""""---------"+------"-------"--------------
+++++C+++++++++++++++++++++++++++++++++++++++++++++.+.++.++.+.++..+...++..+...++..++++..+++++.........+C......+.......+..............
+CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'C'CC'CC'C'CC''C'''CC''C'''CC''CCCC''CCCCC'''''''''C ''''''C'''''''C''''''''''''''
+                                                  X X  X  X X  XX XXX  XX XXX  XX    XX     XXXXXXXXX  XXXXXX XXXXXXX XXXXXXXXXXXXXX
+                                                  C C  C  C C  CC CCC  CC CCC  CC    CC     CCCCCCCCC  CCCCCC CCCCCCC CCCCCCCCCCCCCC
 """""""""""""+"""""""""""""+""""""""""""""""""--"-""""---"--""""""""-"--""--------"-"-----"--"--------"-"----"----"------"----------
++++++++++++++C+++++++++++++C++++++++++++++++++..+.++++...+..++++++++.+..++........+.+.....+..+........+.+....+....+......+..........
+CCCCCCCCCCCCC CCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC''C'CCCC'''C''CCCCCCCC'C''CC''''''''C'C'''''C''C''''''''C'C''''C''''C''''''C''''''''''
+                                              XX X    XXX XX        X XX  XXXXXXXX X XXXXX XX XXXXXXXX X XXXX XXXX XXXXXX XXXXXXXXXX
+                                              CC C    CCC CC        C CC  CCCCCCCC C CCCCC CC CCCCCCCC C CCCC CCCC CCCCCC CCCCCCCCCC
 ++""""""""=++""""""""""""""-"""""""""""+""""""""""""""""""-"-"----"-"-"---""""-""-""-"---"---""--""----"-"-"---"""----"-"-----------
+CC++++++++CCC++++++++++++++.+++++++++++C++++++++++++++++++.+.+....+.+.+...++++.++.++.+...+...++..++....+.+.+...+++....+.+...........
+  CCCCCCCC   CCCCCCCCCCCCCC'CCCCCCCCCCC CCCCCCCCCCCCCCCCCC'C'C''''C'C'C'''CCCC'CC'CC'C'''C'''CC''CC''''C'C'C'''CCC''''C'C'''''''''''
+                           X                              X X XXXX X X XXX    X  X  X XXX XXX  XX  XXXX X X XXX   XXXX X XXXXXXXXXXX
+                           C                              C C CCCC C C CCC    C  C  C CCC CCC  CC  CCCC C C CCC   CCCC C CCCCCCCCCCC
 """"""""""""""""""""""""""""""""""""""""""""+""-"""""""""-""""""""""-"--"-"-""--"-"""---""------"-"""--"------""""-"-----"-"----"---
+++++++++++++++++++++++++++++++++++++++++++++C++.+++++++++.++++++++++.+..+.+.++..+.+++...++......+.+++..+......++++.+.....+.+....+...
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC'CCCCCCCCC'CCCCCCCCCC'C''C'C'CC''C'CCC'''CC''''''C'CCC''C''''''CCCC'C'''''C'C''''C'''
+                                               X         X          X XX X X  XX X   XXX  XXXXXX X   XX XXXXXX    X XXXXX X XXXX XXX
+                                               C         C          C CC C C  CC C   CCC  CCCCCC C   CC CCCCCC    C CCCCC C CCCC CCC
 ""+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""--""""""""""-"-""-"-"""---"""--"""-----------"------------"------
+++C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++..++++++++++.+.++.+.+++...+++..+++...........+............+......
+CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCC''CCCCCCCCCC'C'CC'C'CCC'''CCC''CCC'''''''''''C''''''''''''C''''''
+                                                             X     XX          X X  X X   XXX   XX   XXXXXXXXXXX XXXXXXXXXXXX XXXXXX
+                                                             C     CC          C C  C C   CCC   CC   CCCCCCCCCCC CCCCCCCCCCCC CCCCCC
 ++""+""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""-"""""""""""-"""""--"---"---"-""-""""--"-"-"-""--"-"--"-------"------
+CC++C++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++.+++++++++++.+++++..+...+...+.++.++++..+.+.+.++..+.+..+.......+......
+  CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCC'CCCCCCCCCCC'CCCCC''C'''C'''C'CC'CCCC''C'C'C'CC''C'C''C'''''''C''''''
+                                                         X     X           X     XX XXX XXX X  X    XX X X X  XX X XX XXXXXXX XXXXXX
+                                                         C     C           C     CC CCC CCC C  C    CC C C C  CC C CC CCCCCCC CCCCCC
 ""+""""""""""""""""""+"""""""""""""""""""-"""""""""+"""+"--"""""""""-"-"-"""""--""""-""--""-"-"-""""""=--"-""-"""-""----""------"---
+++C++++++++++++++++++C+++++++++++++++++++.+++++++++C+++C+..+++++++++.+.+.+++++..++++.++..++.+.+.++++++C..+.++.+++.++....++......+...
+CC CCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC'CCCCCCCCC CCC C''CCCCCCCCC'C'C'CCCCC''CCCC'CC''CC'C'C'CCCCCC ''C'CC'CCC'CC''''CC''''''C'''
+                                         X               XX         X X X     XX    X  XX  X X X       XX X  X   X  XXXX  XXXXXX XXX
+                                         C               CC         C C C     CC    C  CC  C C C       CC C  C   C  CCCC  CCCCCC CCC
 """""""""""""""""""""""""++"""""""""""""""""""""""""""""""""""-"""""""""""""""-""""-"-""""-"-"-"""------"-"-"""""-------"-----------
++++++++++++++++++++++++++CC+++++++++++++++++++++++++++++++++++.+++++++++++++++.++++.+.++++.+.+.+++......+.+.+++++.......+...........
+CCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCCCCCCCCC'CCCC'C'CCCC'C'C'CCC''''''C'C'CCCCC'''''''C'''''''''''
+                                                              X               X    X X    X X X   XXXXXX X X     XXXXXXX XXXXXXXXXXX
+                                                              C               C    C C    C C C   CCCCCC C C     CCCCCCC CCCCCCCCCCC
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-""--"""-""""-"""-""""""""""""-""""""----"------------"-----
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++..+++.++++.+++.++++++++++++.++++++....+............+.....
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CC''CCC'CCCC'CCC'CCCCCCCCCCCC'CCCCCC''''C''''''''''''C'''''
+                                                                        X  XX   X    X   X            X      XXXX XXXXXXXXXXXX XXXXX
+                                                                        C  CC   C    C   C            C      CCCC CCCCCCCCCCCC CCCCC
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""--""--"--"--"""-"--"""-"""-""""""--"-"-"--"----------+-----
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++..++..+..+..+++.+..+++.+++.++++++..+.+.+..+..........C.....
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC''CC''C''C''CCC'C''CCC'CCC'CCCCCC''C'C'C''C'''''''''' '''''
+                                                                         XX  XX XX XX   X XX   X   X      XX X X XX XXXXXXXXXX XXXXX
+                                                                         CC  CC CC CC   C CC   C   C      CC C C CC CCCCCCCCCC CCCCC
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"""""""""""""""-"-"-""-"--""-""--""-"--""""""--"---""-"--"---"-"---"--
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C+++++++++++++++.+.+.++.+..++.++..++.+..++++++..+...++.+..+...+.+...+..
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC'C'C'CC'C''CC'CC''CC'C''CCCCCC''C'''CC'C''C'''C'C'''C''
+                                                                             X X X  X XX  X  XX  X XX      XX XXX  X XX XXX X XXX XX
+                                                                             C C C  C CC  C  CC  C CC      CC CCC  C CC CCC C CCC CC
 """"""""""""""""""""""""""""""""""""""""-"""""""""""-""""""""""""-"""""""""""""-""""-""--""--""-"""-""---""""-"--""--""---""---"----
+++++++++++++++++++++++++++++++++++++++++.+++++++++++.++++++++++++.+++++++++++++.++++.++..++..++.+++.++...++++.+..++..++...++...+....
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCCCCC'CCCCCCCCCCCC'CCCCCCCCCCCCC'CCCC'CC''CC''CC'CCC'CC'''CCCC'C''CC''CC'''CC'''C''''
+                                        X           X            X             X    X  XX  XX  X   X  XXX    X XX  XX  XXX  XXX XXXX
+                                        C           C            C             C    C  CC  CC  C   C  CCC    C CC  CC  CCC  CCC CCCC
 """""""""""""""""""""++"""""""""""""""""""""""""""+""""""""""""""""""""""""""-""""""--"-"""-"""""-"-"""-""-""--"-"--------""---"--""
++++++++++++++++++++++CC+++++++++++++++++++++++++++C++++++++++++++++++++++++++.++++++..+.+++.+++++.+.+++.++.++..+.+........++...+..++
+CCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCC''C'CCC'CCCCC'C'CCC'CC'CC''C'C''''''''CC'''C''CC
+                                                                             X      XX X   X     X X   X  X  XX X XXXXXXXX  XXX XX  
+                                                                             C      CC C   C     C C   C  C  CC C CCCCCCCC  CCC CC  
 +""""+""""""""""""+""++""""""""""""""""""""""""""""""""""""""""""""""""""""""--""""""""-"""-"-""""-""""""""-"""-"-"""""""-""-"--"---
+C++++C++++++++++++C++CC++++++++++++++++++++++++++++++++++++++++++++++++++++++..++++++++.+++.+.++++.++++++++.+++.+.+++++++.++.+..+...
+ CCCC CCCCCCCCCCCC CC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC''CCCCCCCC'CCC'C'CCCC'CCCCCCCC'CCC'C'CCCCCCC'CC'C''C'''
+                                                                             XX        X   X X    X        X   X X       X  X XX XXX
+                                                                             CC        C   C C    C        C   C C       C  C CC CCC
 +"+""""+++""+"""""""""+"""""+""+"""""""""""+++""""""+""""""""""""""-"""""""""""""""""--"""""""-""""-""""""-""-"""""""""""---"--"---"
+C+C++++CCC++C+++++++++C+++++C++C+++++++++++CCC++++++C++++++++++++++.+++++++++++++++++..+++++++.++++.++++++.++.+++++++++++...+..+...+
+ C CCCC   CC CCCCCCCCC CCCCC CC CCCCCCCCCCC   CCCCCC CCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCC''CCCCCCC'CCCC'CCCCCC'CC'CCCCCCCCCCC'''C''C'''C
+                                                                   X                 XX       X    X      X  X           XXX XX XXX 
+                                                                   C                 CC       C    C      C  C           CCC CC CCC 
 """+""++""""""""""""+"""""""""""""""""""""""""""""""""""""""""""""""""""""""--"""-"-""""-""""""""-"""""-""""""-"""""-"""""-"""---"--
++++C++CC++++++++++++C+++++++++++++++++++++++++++++++++++++++++++++++++++++++..+++.+.++++.++++++++.+++++.++++++.+++++.+++++.+++...+..
+CCC CC  CCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC''CCC'C'CCCC'CCCCCCCC'CCCCC'CCCCCC'CCCCC'CCCCC'CCC'''C''
+                                                                            XX   X X    X        X     X      X     X     X   XXX XX
+                                                                            CC   C C    C        C     C      C     C     C   CCC CC
 ++""""""""""""""""""""""""""""""+"""""""""""""""""""""""""""""""""""""""""-""""""-""""+"""""""""""""""""""""-""""""""""-"---""----"-
+CC++++++++++++++++++++++++++++++C+++++++++++++++++++++++++++++++++++++++++.++++++.++++C+++++++++++++++++++++.++++++++++.+...++....+.
+  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCC'CCCC CCCCCCCCCCCCCCCCCCCCC'CCCCCCCCCC'C'''CC''''C'
+                                                                          X      X                          X          X XXX  XXXX X
+                                                                          C      C                          C          C CCC  CCCC C
 ++""""+"""""""""""+""+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-=""""""-"""-""""""""-""""-""""""-------"------
+CC++++C+++++++++++C++C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.C++++++.+++.++++++++.++++.++++++.......+......
+  CCCC CCCCCCCCCCC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC' CCCCCC'CCC'CCCCCCCC'CCCC'CCCCCC'''''''C''''''
+                                                                                     X       X   X        X    X      XXXXXXX XXXXXX
+                                                                                     C       C   C        C    C      CCCCCCC CCCCCC
 +"++"""""+""""+"""""+=""""+"""""+""""""""""++"""""""""""""""+"""""-""""""""""""""""""""""""""""""""""-"-""""""-"""""""-"----"-"-"---
+C+CC+++++C++++C+++++CC++++C+++++C++++++++++CC+++++++++++++++C+++++.++++++++++++++++++++++++++++++++++.+.++++++.+++++++.+....+.+.+...
+ C  CCCCC CCCC CCCCC  CCCC CCCCC CCCCCCCCCC  CCCCCCCCCCCCCCC CCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'C'CCCCCC'CCCCCCC'C''''C'C'C'''
+                                                                  X                                  X X      X       X XXXX X X XXX
+                                                                  C                                  C C      C       C CCCC C C CCC
 +"+"""""""""+"""""""+"+""""++""""""""""""""""""""""++""""""""""""""""""""""""""-"""""""""--"""""""""-"-""--"-""-""""-"---"-"-----"-"
+C+C+++++++++C+++++++C+C++++CC++++++++++++++++++++++CC++++++++++++++++++++++++++.+++++++++..+++++++++.+.++..+.++.++++.+...+.+.....+.+
+ C CCCCCCCCC CCCCCCC C CCCC  CCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCCC''CCCCCCCCC'C'CC''C'CC'CCCC'C'''C'C'''''C'C
+                                                                               X         XX         X X  XX X  X    X XXX X XXXXX X 
+                                                                               C         CC         C C  CC C  C    C CCC C CCCCC C 
 +"""""""+""++"+""""""""""+"""+"""""""""+""""""""""""="""+"""""""""""""""""""""""""""""""-"-""""""""""""""--"""""""-""-"-""""---"""--
+C+++++++C++CC+C++++++++++C+++C+++++++++C++++++++++++C+++C+++++++++++++++++++++++++++++++.+.++++++++++++++..+++++++.++.+.++++...+++..
+ CCCCCCC CC  C CCCCCCCCCC CCC CCCCCCCCC CCCCCCCCCCCC CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'C'CCCCCCCCCCCCCC''CCCCCCC'CC'C'CCCC'''CCC''
+                                                                                        X X              XX       X  X X    XXX   XX
+                                                                                        C C              CC       C  C C    CCC   CC
 +""++++"""""++"""""""++""""+""""""""+""""""+""""""""""""""""""""""""-""""""""""-""""""""-"""-"-""""""""-"""-"--"""-"-"-"""-----"----
+C++CCCC+++++CC+++++++CC++++C++++++++C++++++C++++++++++++++++++++++++.++++++++++.++++++++.+++.+.++++++++.+++.+..+++.+.+.+++.....+....
+ CC    CCCCC  CCCCCCC  CCCC CCCCCCCC CCCCCC CCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCCCC'CCCCCCCC'CCC'C'CCCCCCCC'CCC'C''CCC'C'C'CCC'''''C''''
+                                                                    X          X        X   X X        X   X XX   X X X   XXXXX XXXX
+                                                                    C          C        C   C C        C   C CC   C C C   CCCCC CCCC
 +++"++"++""""""+""""+""""""++""""+"""""""""""""""""""+"""""""""""""--""""""""+""""""""""-"""-""-"""-"-"""""""-"-"-"-"-----"-"-------
+CCC+CC+CC++++++C++++C++++++CC++++C+++++++++++++++++++C+++++++++++++..++++++++C++++++++++.+++.++.+++.+.+++++++.+.+.+.+.....+.+.......
+   C  C  CCCCCC CCCC CCCCCC  CCCC CCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC''CCCCCCCC CCCCCCCCCC'CCC'CC'CCC'C'CCCCCCC'C'C'C'C'''''C'C'''''''
+                                                                   XX                   X   X  X   X X       X X X X XXXXX X XXXXXXX
+                                                                   CC                   C   C  C   C C       C C C C CCCCC C CCCCCCC
 +""""""+"+""+"""""""""""""""""""++""""""+""""""""""""""""""""""""""""""""""""+"""""""""+-""""""-""""""-"""""""--"""---"-"-----""-"--
+C++++++C+C++C+++++++++++++++++++CC++++++C++++++++++++++++++++++++++++++++++++C+++++++++C.++++++.++++++.+++++++..+++...+.+.....++.+..
+ CCCCCC C CC CCCCCCCCCCCCCCCCCCC  CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC 'CCCCCC'CCCCCC'CCCCCCC''CCC'''C'C'''''CC'C''
+                                                                                        X      X      X       XX   XXX X XXXXX  X XX
+                                                                                        C      C      C       CC   CCC C CCCCC  C CC
 +"+""""++"""""""""""""++"""""""""""""""""""""""""""""""""""""+"""""""""""""""""""""""""""""-"""""-""""""""-""""""""--"--"""---"---"-
+C+C++++CC+++++++++++++CC+++++++++++++++++++++++++++++++++++++C+++++++++++++++++++++++++++++.+++++.++++++++.++++++++..+..+++...+...+.
+ C CCCC  CCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCC'CCCCCCCC'CCCCCCCC''C''CCC'''C'''C'
+                                                                                           X     X        X        XX XX   XXX XXX X
+                                                                                           C     C        C        CC CC   CCC CCC C
 +"++""++"""+""+"""""+""""""""""""+""""""""""""+"""+"+""+"""""+""""""""""""""""""=""""""-"""""""""""-""--"""""""-"""--"---"--"-"---""
+C+CC++CC+++C++C+++++C++++++++++++C++++++++++++C+++C+C++C+++++C++++++++++++++++++C++++++.+++++++++++.++..+++++++.+++..+...+..+.+...++
+ C  CC  CCC CC CCCCC CCCCCCCCCCCC CCCCCCCCCCCC CCC C CC CCCCC CCCCCCCCCCCCCCCCCC CCCCCC'CCCCCCCCCCC'CC''CCCCCCC'CCC''C'''C''C'C'''CC
+                                                                                       X           X  XX       X   XX XXX XX X XXX  
+                                                                                       C           C  CC       C   CC CCC CC C CCC  
 ++++"++"+"+"+""+""""+"+++"""""++"+"+++""""""""""""+"+"""""""""""""""""""+""""""""""-""""""""""""""""""-""""""""""""-"-""""--""------
+CCCC+CC+C+C+C++C++++C+CCC+++++CC+C+CCC++++++++++++C+C+++++++++++++++++++C++++++++++.++++++++++++++++++.++++++++++++.+.++++..++......
+    C  C C C CC CCCC C   CCCCC  C C   CCCCCCCCCCCC C CCCCCCCCCCCCCCCCCCC CCCCCCCCCC'CCCCCCCCCCCCCCCCCC'CCCCCCCCCCCC'C'CCCC''CC''''''
+                                                                                   X                  X            X X    XX  XXXXXX
+                                                                                   C                  C            C C    CC  CCCCCC
 ""++++"++""+"""""""+"""++"+"""""+"""+""""""+""""""""""""""""""+"""""""""""""""""""""""""""""""""""""""""-"""""-"""--"---"-"-"--"---"
+++CCCC+CC++C+++++++C+++CC+C+++++C+++C++++++C++++++++++++++++++C+++++++++++++++++++++++++++++++++++++++++.+++++.+++..+...+.+.+..+...+
+CC    C  CC CCCCCCC CCC  C CCCCC CCC CCCCCC CCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCC'CCC''C'''C'C'C''C'''C
+                                                                                                        X     X   XX XXX X X XX XXX 
+                                                                                                        C     C   CC CCC C C CC CCC 
 ++"+"++"""+""+"+"""+"+"+"++"""""+"+"+"+""""""+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""--"""""""""----
+CC+C+CC+++C++C+C+++C+C+C+CC+++++C+C+C+C++++++C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++..+++++++++....
+  C C  CCC CC C CCC C C C  CCCCC C C C CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCC''CCCCCCCCC''''
+                                                                                                               X     XX         XXXX
+                                                                                                               C     CC         CCCC
 +++++++""+"""+"""++""""+"+""""""+++"+"+""""""""""""""""""""""+""""""""""+""""""-"""""""""""""""""-""""""""""""""""""""""--"""-""-"--
+CCCCCCC++C+++C+++CC++++C+C++++++CCC+C+C++++++++++++++++++++++C++++++++++C++++++.+++++++++++++++++.++++++++++++++++++++++..+++.++.+..
+       CC CCC CCC  CCCC C CCCCCC   C C CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC CCCCCC'CCCCCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCC''CCC'CC'C''
+                                                                               X                 X                      XX   X  X XX
+                                                                               C                 C                      CC   C  C CC
 ++++"++++++""+"+""""+"+"""""+"""""+""+"""""""+"""+"+"+"""+""""""+""+""+""+"""""-"""-"""""""""-"-""--"""""""""""""""-""""""-""-"-"-""
+CCCC+CCCCCC++C+C++++C+C+++++C+++++C++C+++++++C+++C+C+C+++C++++++C++C++C++C+++++.+++.+++++++++.+.++..+++++++++++++++.++++++.++.+.+.++
+    C      CC C CCCC C CCCCC CCCCC CC CCCCCCC CCC C C CCC CCCCCC CC CC CC CCCCC'CCC'CCCCCCCCC'C'CC''CCCCCCCCCCCCCCC'CCCCCC'CC'C'C'CC
+                                                                               X   X         X X  XX               X      X  X X X  
+                                                                               C   C         C C  CC               C      C  C C C  
 ++"++"++++"+"+""""""+"""+""+""""++""++""""""+"""+"""""""+"+"""""""""""""""""""""""""""""+""""-"-""""""""""""-"""""""""""-"""""""-"-"
+CC+CC+CCCC+C+C++++++C+++C++C++++CC++CC++++++C+++C+++++++C+C+++++++++++++++++++++++++++++C++++.+.++++++++++++.+++++++++++C+++++++.+.+
+  C  C    C C CCCCCC CCC CC CCCC  CC  CCCCCC CCC CCCCCCC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC'C'CCCCCCCCCCCC'CCCCCCCCCCC CCCCCCC'C'C
+                                                                                             X X            X                   X X 
+                                                                                             C C            C                   C C 
 +++++++++"++"""+"+"++++""+"+""++"+++"++"+"""""""""""""""""+""""""+"""""""+"""""""""""""""""""""""-""""""""+"""""""""""""Z"""""""""""
+CCCCCCCCC+CC+++C+C+CCCC++C+C++CC+CCC+CC+C+++++++++++++++++C++++++C+++++++C+++++++++++++++++++++++.++++++++C+++++++++++++ +++++++++++
+         C  CCC C C    CC C CC  C   C  C CCCCCCCCCCCCCCCCC CCCCCC CCCCCCC CCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCC CCCCCCCCCCCCC CCCCCCCCCCC
+                                                                                                 X                                  
+                                                                                                 C                                  
 +++++++++""+""++"""++++""""""""+++++""++"""++""""+"""""+"""+""""""""""""+""+""""""""""""+""""""""""""""""""""""""""""-"-+"""""""""""
+CCCCCCCCC++C++CC+++CCCC++++++++CCCCC++CC+++CC++++C+++++C+++C++++++++++++C++C++++++++++++C++++++++++++++++++++++++++++.+.C+++++++++++
+         CC CC  CCC    CCCCCCCC     CC  CCC  CCCC CCCCC CCC CCCCCCCCCCCC CC CCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC'C' CCCCCCCCCCC
+                                                                                                                     X X            
+                                                                                                                     C C            
 ++++++""+""+""+++"++++"+"+""+"+++"+++"""""""""""+"""++"+"""""+"""""""""""""""""""+"""""--""""""""""""""""""""""""""""""-+-"--"-""--"
+CCCCCC++C++C++CCC+CCCC+C+C++C+CCC+CCC+++++++++++C+++CC+C+++++C+++++++++++++++++++C+++++..++++++++++++++++++++++++++++++.C.+..+.++..+
+      CC CC CC   C    C C CC C   C   CCCCCCCCCCC CCC  C CCCCC CCCCCCCCCCCCCCCCCCC CCCCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC' 'C''C'CC''C
+                                                                                       XX                              X X XX X  XX 
+                                                                                       CC                              C C CC C  CC 
 ++++++++"+++++++++++++++"++"++++++""""+"""+"""+"""""""""++""+""""""++"""""+""""""""""""""-"""""""""""""""""""""""""""""""-"""""""---
+CCCCCCCC+CCCCCCCCCCCCCCC+CC+CCCCCC++++C+++C+++C+++++++++CC++C++++++CC+++++C++++++++++++++.+++++++++++++++++++++++++++++++.+++++++...
+        C               C  C      CCCC CCC CCC CCCCCCCCC  CC CCCCCC  CCCCC CCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCC'''
+                                                                                         X                               X       XXX
+                                                                                         C                               C       CCC
 +"+++++++++"++++"++++++"++++++"+++""+"++""+"+"+"""""+""""""+"+""++""+""""""""""""""+"""""""""""""""""""""""""""""-"""""""""""+""""""
+C+CCCCCCCCC+CCCC+CCCCCC+CCCCCC+CCC++C+CC++C+C+C+++++C++++++C+C++CC++C++++++++++++++C+++++++++++++++++++++++++++++.+++++++++++C++++++
+ C         C    C      C      C   CC C  CC C C CCCCC CCCCCC C CC  CC CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCCCCCCCCC CCCCCC
+                                                                                                                 X                  
+                                                                                                                 C                  
 +++++++++++++++""+"+++++++++++"+++"+""++"++++++++++++++""""+""++++""""""""++"++""""""+""""+""""""""""""+"""""""""""""""""""""""""""+
+CCCCCCCCCCCCCCC++C+CCCCCCCCCCC+CCC+C++CC+CCCCCCCCCCCCCC++++C++CCCC++++++++CC+CC++++++C++++C++++++++++++C+++++++++++++++++++++++++++C
+               CC C           C   C CC  C              CCCC CC    CCCCCCCC  C  CCCCCC CCCC CCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC 
 ++++++++++++++"+++++++"++++++++++++++++""++++++++++++++""+++=""+++"++"+""""+""""""-""""+""""""""""""""++"""++"""+"+""""-""""""""""="
+CCCCCCCCCCCCCC+CCCCCCC+CCCCCCCCCCCCCCCC++CCCCCCCCCCCCCC++CCCC++CCC+CC+C++++C++++++.++++C++++++++++++++CC+++CC+++C+C++++.++++++++++C+
+              C       C                CC              CC    CC   C  C CCCC CCCCCC'CCCC CCCCCCCCCCCCCC  CCC  CCC C CCCC'CCCCCCCCCC C
+                                                                                  X                                    X            
+                                                                                  C                                    C            
 ++++++++++++++++++++++++++=++++++++++++"++++++++++"""+"+""""++++""+"+"+++++"""+""""""+"""""+"+"++""""+""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCC+++C+C++++CCCC++C+C+CCCCC+++C++++++C+++++C+C+CC++++C++++++++++++++++++++++++++++++
+                                       C          CCC C CCCC    CC C C     CCC CCCCCC CCCCC C C  CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
1                                                                                                                                    
-                                                                                                                                    
0                                            PRINCETON UNIVERSITY COMPUTER CENTER CLINIC                                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
                                                            +------------+                                                           
                                                            +            +                                                           
                                                            + COMPUTER   +                                                           
                                                            +            +                                                           
                                                            +    PICTURE +                                                           
                                                            +            +                                                           
                                                            +------------+                                                           
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                              THE MOON                                                              
-                                                   COMPUTER TRANSCRIPTION PROCESS                                                   
0                                                                 BY                                                                 
0                                                         SAMUEL P. HARBISON                                                         
0                                                       COMPUTER CENTER CLINIC                                                       
                                                         PRINCETON UNIVERSITY                                                        
                                                           87 PROSPECT ST.                                                           
                                                     PRINCETON, NEW JERSEY 08540                                                     
-                                                  COPYRIGHT 1973 BY S. P. HARBISON                                                  
-                                                       SHEET  5 OF  5 SHEETS                                                        
-                         THE COMPLETE PICTURE IS CONSTRUCTED BY TAPING THE SHEETS TOGETHER SO THAT THE                              
                          LAST CHARACTER ON THE FIRST SHEET MEETS THE FIRST CHARACTER ON THE NEXT SHEET                              
                          WITH NO WHITE SPACE BETWEEN THEM.  THIS WILL REQUIRE TRIMMING THE SHEETS WITH                              
                          SCISSORS.  DO NOT PUT TAPE ON THE PRINTED SIDE OF THE PAPER; TAPE FROM BEHIND.                             
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
-                                                                                                                                    
0                                                                                                                                    
 -"--"-"-"-----"---"---"----------"-------"--"-------"--"----"------#                                                                
+.C..C.+.+.....C...+...+..........+.......C..C.......+..+....C......X                                                                
+'B''B'C'C'''''B'''C'''C''''''''''C'''''''B''B'''''''C''C''''B''''''$                                                                
+XHXXHX X XXXXXHXXX XXX XXXXXXXXXX XXXXXXXHXXHXXXXXXX XX XXXXHXXXXXX_                                                                
+CXCCXC C CCCCCXCCC CCC CCCCCCCCCC CCCCCCCXCCXCCCCCCC CC CCCCXCCCCCC&                                                                
 ---"---------------------------""-------"------"------"------------#                                                                
+...+...........................CC.......C......C......C............X                                                                
+'''C'''''''''''''''''''''''''''BB'''''''B''''''B''''''B''''''''''''$                                                                
+XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXXXXXXHXXXXXXHXXXXXXHXXXXXXXXXXXX_                                                                
+CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCCCCCCXCCCCCCXCCCCCCXCCCCCCCCCCCC&                                                                
 --""--"--"-----------------------------"--+----------"-------------#                                                                
+..CC..C..C.............................C..C..........C.............X                                                                
+''BB''B''B'''''''''''''''''''''''''''''B'' ''''''''''B'''''''''''''$                                                                
+XXHHXXHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXX XXXXXXXXXXHXXXXXXXXXXXXX_                                                                
+CCXXCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCC CCCCCCCCCCXCCCCCCCCCCCCC&                                                                
 """"-""--------"--------------"---"---"----------------"------"----#                                                                
+CCCC.CC........C..............C...C...C................C......+....X                                                                
+BBBB'BB''''''''B''''''''''''''B'''B'''B''''''''''''''''B''''''C''''$                                                                
+HHHHXHHXXXXXXXXHXXXXXXXXXXXXXXHXXXHXXXHXXXXXXXXXXXXXXXXHXXXXXX XXXX_                                                                
+XXXXCXXCCCCCCCCXCCCCCCCCCCCCCCXCCCXCCCXCCCCCCCCCCCCCCCCXCCCCCC CCCC&                                                                
 -"""""-------"-"-""---""-"-"-------"------"-----------"----""----"-#                                                                
+.CCCCC.......+.C.CC...C+.C.C.......C.C....+...........C....++....C.X                                                                
+'BBBBB'''''''C'B'BB'''BC'B'B'''''''B' ''''C'''''''''''B''''CC''''B'$                                                                
+XHHHHHXXXXXXX XHXHHXXXH XHXHXXXXXXXHX XXXX XXXXXXXXXXXHXXXX  XXXXHX_                                                                
+CXXXXXCCCCCCC CXCXXCCCX CXCXCCCCCCCXC CCCC CCCCCCCCCCCXCCCC  CCCCXC&                                                                
 """"""---""------"""-+--------"---"--------"""--""------"--"""-"-""#                                                                
+CCCCCC...CC......CCC.C........C...C........CCC..CC......C..CCC.C.CCX                                                                
+BBBBBB'''BB''''''BBB' ''''''''B'''B''''''''BBB''BB''''''B''BBB'B'BB$                                                                
+HHHHHHXXXHHXXXXXXHHHX XXXXXXXXHXXXHXXXXXXXXHHHXXHHXXXXXXHXXHHHXHXHH_                                                                
+XXXXXXCCCXXCCCCCCXXXC CCCCCCCCXCCCXCCCCCCCCXXXCCXXCCCCCCXCCXXXCXCXX&                                                                
 --"""---""-"--""-"--"""----------"---"----"--"--"-----------"-"---"#                                                                
+..CCC...CC.C..CC.C..CCC..........C...C....C..C..C...........C.C...CX                                                                
+''BBB'''BB'B''BB'B''BBB''''''''''B'''B''''B''B''B'''''''''''B'B'''B$                                                                
+XXHHHXXXHHXHXXHHXHXXHHHXXXXXXXXXXHXXXHXXXXHXXHXXHXXXXXXXXXXXHXHXXXH_                                                                
+CCXXXCCCXXCXCCXXCXCCXXXCCCCCCCCCCXCCCXCCCCXCCXCCXCCCCCCCCCCCXCXCCCX&                                                                
 -"""""------""-""------------""-""-""-"---"----"---------------"-""#                                                                
+.CCCCC......CC.CC............CC.CC.CC.C...C....C...............C.CCX                                                                
+'BBBBB''''''BB'BB''''''''''''BB'BB'BB'B'''B''''B'''''''''''''''B'BB$                                                                
+XHHHHHXXXXXXHHXHHXXXXXXXXXXXXHHXHHXHHXHXXXHXXXXHXXXXXXXXXXXXXXXHXHH_                                                                
+CXXXXXCCCCCCXXCXXCCCCCCCCCCCCXXCXXCXXCXCCCXCCCCXCCCCCCCCCCCCCCCXCXX&                                                                
 -""---"--"-----------"-----"--"---"-----"--""""---"-"---""-"-------#                                                                
+.CC...C..C...........C.....C..C...+.....C..+CCC...C.C...CC.C.......X                                                                
+'BB'''B''B'''''''''''B'''''B''B'''C'''''B''CBBB'''B'B'''BB'B'''''''$                                                                
+XHHXXXHXXHXXXXXXXXXXXHXXXXXHXXHXXX XXXXXHXX HHHXXXHXHXXXHHXHXXXXXXX_                                                                
+CXXCCCXCCXCCCCCCCCCCCXCCCCCXCCXCCC CCCCCXCC XXXCCCXCXCCCXXCXCCCCCCC&                                                                
 ""--""-"-------"""------""--------""--""---------"-----------"-"---#                                                                
+CC..CC.C.......CCC......CC........C+..+C.........C...........C.C...X                                                                
+BB''BB'B'''''''BBB''''''BB''''''''BC''CB'''''''''B'''''''''''B'B'''$                                                                
+HHXXHHXHXXXXXXXHHHXXXXXXHHXXXXXXXXH XX HXXXXXXXXXHXXXXXXXXXXXHXHXXX_                                                                
+XXCCXXCXCCCCCCCXXXCCCCCCXXCCCCCCCCX CC XCCCCCCCCCXCCCCCCCCCCCXCXCCC&                                                                
 """"""""-------"----"-----""-"--""""-""-""-"""--""--------"--"-----#                                                                
+CCCCCCCC.......C....C.....CC.C..CCCC.CC.CC.CCC..CC........C..C.....X                                                                
+BBBBBBBB'''''''B''''B'''''BB'B''BBBB'BB'BB'BBB''BB''''''''B''B'''''$                                                                
+HHHHHHHHXXXXXXXHXXXXHXXXXXHHXHXXHHHHXHHXHHXHHHXXHHXXXXXXXXHXXHXXXXX_                                                                
+XXXXXXXXCCCCCCCXCCCCXCCCCCXXCXCCXXXXCXXCXXCXXXCCXXCCCCCCCCXCCXCCCCC&                                                                
 """""""""-----"----"-"------""---""""""--""""----"---"---"-------""#                                                                
+CCCCCCCCC.....C....C.C......CC...CCCCCC..CCCC....C...C...C.......CCX                                                                
+BBBBBBBBB'''''B''''B'B''''''BB'''BBBBBB''BBBB''''B'''B'''B'''''''BB$                                                                
+HHHHHHHHHXXXXXHXXXXHXHXXXXXXHHXXXHHHHHHXXHHHHXXXXHXXXHXXXHXXXXXXXHH_                                                                
+XXXXXXXXXCCCCCXCCCCXCXCCCCCCXXCCCXXXXXXCCXXXXCCCCXCCCXCCCXCCCCCCCXX&                                                                
 --"--"---"--"-""---------"-----"""-"""-""--"--"-"-""-"-"--"--"--"-"#                                                                
+..C..C...C..C.CC.........C.....CCC.C+C.CC..C..C.C.CC.C.C..C..C..C.CX                                                                
+''B''B'''B''B'BB'''''''''B'''''BBB'BCB'BB''B''B'B'BB'B'B''B''B''B'B$                                                                
+XXHXXHXXXHXXHXHHXXXXXXXXXHXXXXXHHHXH HXHHXXHXXHXHXHHXHXHXXHXXHXXHXH_                                                                
+CCXCCXCCCXCCXCXXCCCCCCCCCXCCCCCXXXCX XCXXCCXCCXCXCXXCXCXCCXCCXCCXCX&                                                                
 """"""""-""--"""----"---"""""--""-"""""-""""-----"------"-"--""-"""#                                                                
+CCCCCCCC.CC..CCC....C...CCCCC..CC.CCCCC.CCCC.....C......C.C..CC.CCCX                                                                
+BBBBBBBB'BB''BBB''''B'''BBBBB''BB'BBBBB'BBBB'''''B''''''B'B''BB'BBB$                                                                
+HHHHHHHHXHHXXHHHXXXXHXXXHHHHHXXHHXHHHHHXHHHHXXXXXHXXXXXXHXHXXHHXHHH_                                                                
+XXXXXXXXCXXCCXXXCCCCXCCCXXXXXCCXXCXXXXXCXXXXCCCCCXCCCCCCXCXCCXXCXXX&                                                                
 --"""""------"""--"-"---"""-----"--""-"---"-"--------""-"--"-""-""-#                                                                
+..CCCCC......CCC..C.C...CCC.....C..CC.C...C.C........CC.C..C.CC.CC.X                                                                
+''BBBBB''''''BBB''B'B'''BBB'''''B''BB'B'''B'B''''''''BB'B''B'BB'BB'$                                                                
+XXHHHHHXXXXXXHHHXXHXHXXXHHHXXXXXHXXHHXHXXXHXHXXXXXXXXHHXHXXHXHHXHHX_                                                                
+CCXXXXXCCCCCCXXXCCXCXCCCXXXCCCCCXCCXXCXCCCXCXCCCCCCCCXXCXCCXCXXCXXC&                                                                
 --"""-"-""-"--"-"--"-------"-----"----"---""-"--"-""---""-"""----""#                                                                
+..CCC.C.CC.C..C.C..C.......C.....C....C...CC.C..C.CC...CC.CCC....CCX                                                                
+''BBB'B'BB'B''B'B''B'''''''B'''''B''''B'''BB'B''B'BB'''BB'BBB''''BB$                                                                
+XXHHHXHXHHXHXXHXHXXHXXXXXXXHXXXXXHXXXXHXXXHHXHXXHXHHXXXHHXHHHXXXXHH_                                                                
+CCXXXCXCXXCXCCXCXCCXCCCCCCCXCCCCCXCCCCXCCCXXCXCCXCXXCCCXXCXXXCCCCXX&                                                                
 --"-""-"---"---"""--""---"""----"-"-"--"""----"---------""--"-"----#                                                                
+..C.CC.C...C...CCC..CC...CCC....C.C.C..CCC....C.........CC..C.C....X                                                                
+''B'BB'B'''B'''BBB''BB'''BBB''''B'B'B''BBB''''B'''''''''BB''B'B''''$                                                                
+XXHXHHXHXXXHXXXHHHXXHHXXXHHHXXXXHXHXHXXHHHXXXXHXXXXXXXXXHHXXHXHXXXX_                                                                
+CCXCXXCXCCCXCCCXXXCCXXCCCXXXCCCCXCXCXCCXXXCCCCXCCCCCCCCCXXCCXCXCCCC&                                                                
 -"""""""-"-""""--"--"------""--"-"-"""-"--""---""--""--""-""----"--#                                                                
+.CCCCCCC.C.CCCC..C..C......CC..C.C.CCC.C..CC...CC..CC..CC.CC....C..X                                                                
+'BBBBBBB'B'BBBB''B''B''''''BB''B'B'BBB'B''BB'''BB''BB''BB'BB''''B''$                                                                
+XHHHHHHHXHXHHHHXXHXXHXXXXXXHHXXHXHXHHHXHXXHHXXXHHXXHHXXHHXHHXXXXHXX_                                                                
+CXXXXXXXCXCXXXXCCXCCXCCCCCCXXCCXCXCXXXCXCCXXCCCXXCCXXCCXXCXXCCCCXCC&                                                                
 "-""""-"-"-"""""""----"--""""""""""--"""---""-"""----"-""-"-"------#                                                                
+C.CCCC.C.C.CCCCCCC....C..CCCCCCCCCC..CCC...CC.CCC....C.CC.C.C......X                                                                
+B'BBBB'B'B'BBBBBBB''''B''BBBBBBBBBB''BBB'''BB'BBB''''B'BB'B'B''''''$                                                                
+HXHHHHXHXHXHHHHHHHXXXXHXXHHHHHHHHHHXXHHHXXXHHXHHHXXXXHXHHXHXHXXXXXX_                                                                
+XCXXXXCXCXCXXXXXXXCCCCXCCXXXXXXXXXXCCXXXCCCXXCXXXCCCCXCXXCXCXCCCCCC&                                                                
 """"-"-"--"--""""----"----"--""""-"---""--"""-"-"--""-""-""-"--"-"-#                                                                
+CCCC.C.C..C..CCCC....C....C..CCCC.C...CC..CCC.C.C..CC.CC.CC.C..C.C.X                                                                
+BBBB'B'B''B''BBBB''''B''''B''BBBB'B'''BB''BBB'B'B''BB'BB'BB'B''B'B'$                                                                
+HHHHXHXHXXHXXHHHHXXXXHXXXXHXXHHHHXHXXXHHXXHHHXHXHXXHHXHHXHHXHXXHXHX_                                                                
+XXXXCXCXCCXCCXXXXCCCCXCCCCXCCXXXXCXCCCXXCCXXXCXCXCCXXCXXCXXCXCCXCXC&                                                                
 """"""""-""-""---"""""--"-"-"--""-"""""""-"-""--"--""--"-"""---"-""#                                                                
+CCCCCCCC.CC.CC...CCCCC..C.C.C..CC.CCCCCCC.C.CC..C..CC..C.CCC...C.CCX                                                                
+BBBBBBBB'BB'BB'''BBBBB''B'B'B''BB'BBBBBBB'B'BB''B''BB''B'BBB'''B'BB$                                                                
+HHHHHHHHXHHXHHXXXHHHHHXXHXHXHXXHHXHHHHHHHXHXHHXXHXXHHXXHXHHHXXXHXHH_                                                                
+XXXXXXXXCXXCXXCCCXXXXXCCXCXCXCCXXCXXXXXXXCXCXXCCXCCXXCCXCXXXCCCXCXX&                                                                
 -"""-"""-"--"""""--""""--"""----"--"""-""""""""----"""""""""-----""#                                                                
+.CCC.CCC.C..CCCCC..CCCC..CCC....C..CCC.CCCCCCCC....CCCCCCCCC.....CCX                                                                
+'BBB'BBB'B''BBBBB''BBBB''BBB''''B''BBB'BBBBBBBB''''BBBBBBBBB'''''BB$                                                                
+XHHHXHHHXHXXHHHHHXXHHHHXXHHHXXXXHXXHHHXHHHHHHHHXXXXHHHHHHHHHXXXXXHH_                                                                
+CXXXCXXXCXCCXXXXXCCXXXXCCXXXCCCCXCCXXXCXXXXXXXXCCCCXXXXXXXXXCCCCCXX&                                                                
 """""-"-"--"-""""-""-----""""-"--""""-"--""""-"---""--"-"""-""-----#                                                                
+CCCCC.C.C..C.CCCC.CC.....CCCC.C..CCCC.C..CCCC.C...CC..C.CCC.CC.....X                                                                
+BBBBB'B'B''B'BBBB'BB'''''BBBB'B''BBBB'B''BBBB'B'''BB''B'BBB'BB'''''$                                                                
+HHHHHXHXHXXHXHHHHXHHXXXXXHHHHXHXXHHHHXHXXHHHHXHXXXHHXXHXHHHXHHXXXXX_                                                                
+XXXXXCXCXCCXCXXXXCXXCCCCCXXXXCXCCXXXXCXCCXXXXCXCCCXXCCXCXXXCXXCCCCC&                                                                
 """"""-"--"""""--"---"---""""""-""""""""""""--"""-""""""""""-""""""#                                                                
+CCCCCC.C..CCCCC..C...C...CCCCCC.CCCCCCCCCCCC..CCC.CCCCCCCCCC.CCCCCCX                                                                
+BBBBBB'B''BBBBB''B'''B'''BBBBBB'BBBBBBBBBBBB''BBB'BBBBBBBBBB'BBBBBB$                                                                
+HHHHHHXHXXHHHHHXXHXXXHXXXHHHHHHXHHHHHHHHHHHHXXHHHXHHHHHHHHHHXHHHHHH_                                                                
+XXXXXXCXCCXXXXXCCXCCCXCCCXXXXXXCXXXXXXXXXXXXCCXXXCXXXXXXXXXXCXXXXXX&                                                                
 """""--"----""--""--"-"---""--"-""-"""----"""-""""-"-"""""-""""-""-#                                                                
+CCCCC..C....CC..CC..C.C...CC..C.CC.CCC....CCC.CCCC.C.CCCCC.CCCC.CC.X                                                                
+BBBBB''B''''BB''BB''B'B'''BB''B'BB'BBB''''BBB'BBBB'B'BBBBB'BBBB'BB'$                                                                
+HHHHHXXHXXXXHHXXHHXXHXHXXXHHXXHXHHXHHHXXXXHHHXHHHHXHXHHHHHXHHHHXHHX_                                                                
+XXXXXCCXCCCCXXCCXXCCXCXCCCXXCCXCXXCXXXCCCCXXXCXXXXCXCXXXXXCXXXXCXXC&                                                                
 """""""""--"""-"""""-----""-""--"-"-"-"--""""-""-"-""--"----"---"""#                                                                
+CCCCCCCCC..CCC.CCCCC.....CC.CC..C.C.C.C..CCCC.CC.C.CC..C....C...CCCX                                                                
+BBBBBBBBB''BBB'BBBBB'''''BB'BB''B'B'B'B''BBBB'BB'B'BB''B''''B'''BBB$                                                                
+HHHHHHHHHXXHHHXHHHHHXXXXXHHXHHXXHXHXHXHXXHHHHXHHXHXHHXXHXXXXHXXXHHH_                                                                
+XXXXXXXXXCCXXXCXXXXXCCCCCXXCXXCCXCXCXCXCCXXXXCXXCXCXXCCXCCCCXCCCXXX&                                                                
 """"""""----"""""""-""-----"-"""-"""--"----""-"--"""----"--""""""--#                                                                
+CCCCCCCC....CCCCCCC.CC.....C.CCC.CCC..C....CC.C..CCC....C..CCCCCC..X                                                                
+BBBBBBBB''''BBBBBBB'BB'''''B'BBB'BBB''B''''BB'B''BBB''''B''BBBBBB''$                                                                
+HHHHHHHHXXXXHHHHHHHXHHXXXXXHXHHHXHHHXXHXXXXHHXHXXHHHXXXXHXXHHHHHHXX_                                                                
+XXXXXXXXCCCCXXXXXXXCXXCCCCCXCXXXCXXXCCXCCCCXXCXCCXXXCCCCXCCXXXXXXCC&                                                                
 """""""-"-""-""-""""-----""----""""""-""---"-"""""""-"--""""""-""""#                                                                
+CCCCCCC.C.CC.CC.CCCC.....CC....CCCCCC.CC...C.CCCCCCC.C..CCCCCC.CCCCX                                                                
+BBBBBBB'B'BB'BB'BBBB'''''BB''''BBBBBB'BB'''B'BBBBBBB'B''BBBBBB'BBBB$                                                                
+HHHHHHHXHXHHXHHXHHHHXXXXXHHXXXXHHHHHHXHHXXXHXHHHHHHHXHXXHHHHHHXHHHH_                                                                
+XXXXXXXCXCXXCXXCXXXXCCCCCXXCCCCXXXXXXCXXCCCXCXXXXXXXCXCCXXXXXXCXXXX&                                                                
 --""""----"""--"""""-""--""-"""-"""""-""""""""-"----""---"-"--"---"#                                                                
+..CCCC....CCC..CCCCC.CC..CC.CCC.CCCCC.CCCCCCCC.C....CC...C.C..C...CX                                                                
+''BBBB''''BBB''BBBBB'BB''BB'BBB'BBBBB'BBBBBBBB'B''''BB'''B'B''B'''B$                                                                
+XXHHHHXXXXHHHXXHHHHHXHHXXHHXHHHXHHHHHXHHHHHHHHXHXXXXHHXXXHXHXXHXXXH_                                                                
+CCXXXXCCCCXXXCCXXXXXCXXCCXXCXXXCXXXXXCXXXXXXXXCXCCCCXXCCCXCXCCXCCCX&                                                                
 """""""-""""-""""-"""""-""""---"---""-""-""-"""""-""""""--"""""""""#                                                                
+CCCCCCC.CCCC.CCCC.CCCCC.CCCC...C...CC.CC.CC.CCCCC.CCCCCC..CCCCCCCCCX                                                                
+BBBBBBB'BBBB'BBBB'BBBBB'BBBB'''B'''BB'BB'BB'BBBBB'BBBBBB''BBBBBBBBB$                                                                
+HHHHHHHXHHHHXHHHHXHHHHHXHHHHXXXHXXXHHXHHXHHXHHHHHXHHHHHHXXHHHHHHHHH_                                                                
+XXXXXXXCXXXXCXXXXCXXXXXCXXXXCCCXCCCXXCXXCXXCXXXXXCXXXXXXCCXXXXXXXXX&                                                                
 """""""""--"""--"-"""""--"""---"-"""""""-""""""""-""-"""""""""-""""#                                                                
+CCCCCCCCC..CCC..C.CCCCC..CCC...C.CCCCCCC.CCCCCCCC.CC.CCCCCCCCC.CCCCX                                                                
+BBBBBBBBB''BBB''B'BBBBB''BBB'''B'BBBBBBB'BBBBBBBB'BB'BBBBBBBBB'BBBB$                                                                
+HHHHHHHHHXXHHHXXHXHHHHHXXHHHXXXHXHHHHHHHXHHHHHHHHXHHXHHHHHHHHHXHHHH_                                                                
+XXXXXXXXXCCXXXCCXCXXXXXCCXXXCCCXCXXXXXXXCXXXXXXXXCXXCXXXXXXXXXCXXXX&                                                                
 """""""-"""-"--"-""-""---""""--""-""""-""""""""-""""-"""""--""""-""#                                                                
+CCCCCCC.CCC.C..C.CC.CC...CCCC..CC.CCCC.CCCCCCCC.CCCC.CCCCC..CCCC.CCX                                                                
+BBBBBBB'BBB'B''B'BB'BB'''BBBB''BB'BBBB'BBBBBBBB'BBBB'BBBBB''BBBB'BB$                                                                
+HHHHHHHXHHHXHXXHXHHXHHXXXHHHHXXHHXHHHHXHHHHHHHHXHHHHXHHHHHXXHHHHXHH_                                                                
+XXXXXXXCXXXCXCCXCXXCXXCCCXXXXCCXXCXXXXCXXXXXXXXCXXXXCXXXXXCCXXXXCXX&                                                                
 """""-"""""-"""""""-"-"---""-"-"""""""""--""""""---"-""---""---""-"#                                                                
+CCCCC.CCCCC.CCCCCCC.C.C...CC.C.CCCCCCCCC..CCCCCC...C.CC...CC...CC.CX                                                                
+BBBBB'BBBBB'BBBBBBB'B'B'''BB'B'BBBBBBBBB''BBBBBB'''B'BB'''BB'''BB'B$                                                                
+HHHHHXHHHHHXHHHHHHHXHXHXXXHHXHXHHHHHHHHHXXHHHHHHXXXHXHHXXXHHXXXHHXH_                                                                
+XXXXXCXXXXXCXXXXXXXCXCXCCCXXCXCXXXXXXXXXCCXXXXXXCCCXCXXCCCXXCCCXXCX&                                                                
 """""""-"-----"""--"-""--""""-""""""""""""""""-"""-""-"""""""--""""#                                                                
+CCCCCCC.C.....CCC..C.CC..CCCC.CCCCCCCCCC+CCCCC.CCC.CC.CCCCCCC..CCCCX                                                                
+BBBBBBB'B'''''BBB''B'BB''BBBB'BBBBBBBBBBCBBBBB'BBB'BB'BBBBBBB''BBBB$                                                                
+HHHHHHHXHXXXXXHHHXXHXHHXXHHHHXHHHHHHHHHH HHHHHXHHHXHHXHHHHHHHXXHHHH_                                                                
+XXXXXXXCXCCCCCXXXCCXCXXCCXXXXCXXXXXXXXXX XXXXXCXXXCXXCXXXXXXXCCXXXX&                                                                
 """""""""""-"--""""-"""--"""""""""""""-"""""-""--""""-"-""""--"""""#                                                                
+CCCCCCCCCCC.C..CCCC.CCC..CCCCCCCCCCCCC.CCCCC.CC..CCCC.C.CCCC..CCCCCX                                                                
+BBBBBBBBBBB'B''BBBB'BBB''BBBBBBBBBBBBB'BBBBB'BB''BBBB'B'BBBB''BBBBB$                                                                
+HHHHHHHHHHHXHXXHHHHXHHHXXHHHHHHHHHHHHHXHHHHHXHHXXHHHHXHXHHHHXXHHHHH_                                                                
+XXXXXXXXXXXCXCCXXXXCXXXCCXXXXXXXXXXXXXCXXXXXCXXCCXXXXCXCXXXXCCXXXXX&                                                                
 """""--""""-""-""""""--"-"""-""-""""""--""""""""""""""--"--""""""""#                                                                
+CCCCC..CCCC.CC.CCCCCC..C.CCC.CC.CCCCCC..CCCCCCCCCCCCCC..C..CCCCCCCCX                                                                
+BBBBB''BBBB'BB'BBBBBB''B'BBB'BB'BBBBBB''BBBBBBBBBBBBBB''B''BBBBBBBB$                                                                
+HHHHHXXHHHHXHHXHHHHHHXXHXHHHXHHXHHHHHHXXHHHHHHHHHHHHHHXXHXXHHHHHHHH_                                                                
+XXXXXCCXXXXCXXCXXXXXXCCXCXXXCXXCXXXXXXCCXXXXXXXXXXXXXXCCXCCXXXXXXXX&                                                                
 """"""-"-""""""""--""-"-""""""-"-"""""""""""""""""""""-"-""-"""""""#                                                                
+CCCCCC.C.CCCCCCCC..CC.C.CCCCCC.C.CCCCCCCCCCCCCCCCCCCCC.C.CC.CCCCCCCX                                                                
+BBBBBB'B'BBBBBBBB''BB'B'BBBBBB'B'BBBBBBBBBBBBBBBBBBBBB'B'BB'BBBBBBB$                                                                
+HHHHHHXHXHHHHHHHHXXHHXHXHHHHHHXHXHHHHHHHHHHHHHHHHHHHHHXHXHHXHHHHHHH_                                                                
+XXXXXXCXCXXXXXXXXCCXXCXCXXXXXXCXCXXXXXXXXXXXXXXXXXXXXXCXCXXCXXXXXXX&                                                                
 """"""""--"""-""""-"""--""""""""""""""""""""""""""""""""""-""""""""#                                                                
+CCCCCCCC..CCC.CCCC.CCC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCX                                                                
+BBBBBBBB''BBB'BBBB'BBB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBB$                                                                
+HHHHHHHHXXHHHXHHHHXHHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHH_                                                                
+XXXXXXXXCCXXXCXXXXCXXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXX&                                                                
 """"-""--"""-"""-""-"""--""""--"""""""""""""""-""""""-"""""""""""""#                                                                
+CCCC.CC..CCC.CCC.CC.CCC..CCCC..CCCCCCCCCCCCCCC.CCCCCC.CCCCCCCCCCCCCX                                                                
+BBBB'BB''BBB'BBB'BB'BBB''BBBB''BBBBBBBBBBBBBBB'BBBBBB'BBBBBBBBBBBBB$                                                                
+HHHHXHHXXHHHXHHHXHHXHHHXXHHHHXXHHHHHHHHHHHHHHHXHHHHHHXHHHHHHHHHHHHH_                                                                
+XXXXCXXCCXXXCXXXCXXCXXXCCXXXXCCXXXXXXXXXXXXXXXCXXXXXXCXXXXXXXXXXXXX&                                                                
 """""""-""""-""""""""""--"""""-""""""""""""""""-""--""-"""""""""""-#                                                                
+CCCCCCC.CCCC.CCCCCCCCCC..CCCCC.CCCCCCCCCCCCCCCC.CC..CC.CCCCCCCCCCC.X                                                                
+BBBBBBB'BBBB'BBBBBBBBBB''BBBBB'BBBBBBBBBBBBBBBB'BB''BB'BBBBBBBBBBB'$                                                                
+HHHHHHHXHHHHXHHHHHHHHHHXXHHHHHXHHHHHHHHHHHHHHHHXHHXXHHXHHHHHHHHHHHX_                                                                
+XXXXXXXCXXXXCXXXXXXXXXXCCXXXXXCXXXXXXXXXXXXXXXXCXXCCXXCXXXXXXXXXXXC&                                                                
 """"""""""-""""---"""""--"-"-""-""-""--"""""-"""-"""""""""""""--"""#                                                                
+CCCCCCCCCC.CCCC...CCCCC..C.C.CC.CC.CC..CCCCC.CCC.CCCCCCCCCCCCC..CCCX                                                                
+BBBBBBBBBB'BBBB'''BBBBB''B'B'BB'BB'BB''BBBBB'BBB'BBBBBBBBBBBBB''BBB$                                                                
+HHHHHHHHHHXHHHHXXXHHHHHXXHXHXHHXHHXHHXXHHHHHXHHHXHHHHHHHHHHHHHXXHHH_                                                                
+XXXXXXXXXXCXXXXCCCXXXXXCCXCXCXXCXXCXXCCXXXXXCXXXCXXXXXXXXXXXXXCCXXX&                                                                
 "-"""""""-""""""-""""""--"-"""--"""""""""""""""""-""""""-"""""""-""#                                                                
+C.CCCCCCC.CCCCCC.CCCCCC..C.CCC..CCCCCCCCCCCCCCCCC.CCCCCC.CCCCCCC.CCX                                                                
+B'BBBBBBB'BBBBBB'BBBBBB''B'BBB''BBBBBBBBBBBBBBBBB'BBBBBB'BBBBBBB'BB$                                                                
+HXHHHHHHHXHHHHHHXHHHHHHXXHXHHHXXHHHHHHHHHHHHHHHHHXHHHHHHXHHHHHHHXHH_                                                                
+XCXXXXXXXCXXXXXXCXXXXXXCCXCXXXCCXXXXXXXXXXXXXXXXXCXXXXXXCXXXXXXXCXX&                                                                
 """"""""""""""""""""-""-""""-"---""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCC.CC.CCCC.C...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBB'BB'BBBB'B'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHXHHXHHHHXHXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXCXXCXXXXCXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""-"""-""-"""""""""-"""""""""""""""-"""""""""""""""""""""""-""#                                                                
+CCCCCCC.CCC.CC.CCCCCCCCC.CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCC.CCX                                                                
+BBBBBBB'BBB'BB'BBBBBBBBB'BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBB'BB$                                                                
+HHHHHHHXHHHXHHXHHHHHHHHHXHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHXHH_                                                                
+XXXXXXXCXXXCXXCXXXXXXXXXCXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXCXX&                                                                
 """"""""""-"--""""-""----""-"--"""-"""-#"""-""""""""-""""""-""--"""#                                                                
+CCCCCCCCCC.C..CCCC.CC....CC.C..CCC.CCC.XCCC.CCCCCCCC.CCCCCC.CC..CCCX                                                                
+BBBBBBBBBB'B''BBBB'BB''''BB'B''BBB'BBB'$BBB'BBBBBBBB'BBBBBB'BB''BBB$                                                                
+HHHHHHHHHHXHXXHHHHXHHXXXXHHXHXXHHHXHHHX_HHHXHHHHHHHHXHHHHHHXHHXXHHH_                                                                
+XXXXXXXXXXCXCCXXXXCXXCCCCXXCXCCXXXCXXXC&XXXCXXXXXXXXCXXXXXXCXXCCXXX&                                                                
 -""""""--"""""""""""--"--""""""""""""""-""""""""""""""""""""""""-""#                                                                
+.CCCCCC..CCCCCCCCCCC..C..CCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCC.CCX                                                                
+'BBBBBB''BBBBBBBBBBB''B''BBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB'BB$                                                                
+XHHHHHHXXHHHHHHHHHHHXXHXXHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHXHH_                                                                
+CXXXXXXCCXXXXXXXXXXXCCXCCXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXCXX&                                                                
 """""""-"""----"""--"""--""""""-"""""""""""-"""""""-"""""""""""""""#                                                                
+CCCCCCC.CCC....CCC..CCC..CCCCCC.CCCCCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCX                                                                
+BBBBBBB'BBB''''BBB''BBB''BBBBBB'BBBBBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBB$                                                                
+HHHHHHHXHHHXXXXHHHXXHHHXXHHHHHHXHHHHHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHH_                                                                
+XXXXXXXCXXXCCCCXXXCCXXXCCXXXXXXCXXXXXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXX&                                                                
 """""-"""""-"""""""""""--""""""""""""""""""-"""""""""""""""""""""""#                                                                
+CCCCC.CCCCC.CCCCCCCCCCC..CCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBB'BBBBB'BBBBBBBBBBB''BBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHXHHHHHXHHHHHHHHHHHXXHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXCXXXXXCXXXXXXXXXXXCCXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""-"-""""""""""-""--""""""-""""""-"""""-"""""""-""-""""""-""-"#                                                                
+CCCCCCC.C.CCCCCCCCCC.CC..CCCCCC.CCCCCC.CCCCC.CCCCCCC.CC.CCCCCC.CC.CX                                                                
+BBBBBBB'B'BBBBBBBBBB'BB''BBBBBB'BBBBBB'BBBBB'BBBBBBB'BB'BBBBBB'BB'B$                                                                
+HHHHHHHXHXHHHHHHHHHHXHHXXHHHHHHXHHHHHHXHHHHHXHHHHHHHXHHXHHHHHHXHHXH_                                                                
+XXXXXXXCXCXXXXXXXXXXCXXCCXXXXXXCXXXXXXCXXXXXCXXXXXXXCXXCXXXXXXCXXCX&                                                                
 """"""-"""""-""""""""----""""-"-"""""""""-"""""""""""""""""""""""""#                                                                
+CCCCCC.CCCCC.CCCCCCCC....CCCC.C.CCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBB'BBBBB'BBBBBBBB''''BBBB'B'BBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHXHHHHHXHHHHHHHHXXXXHHHHXHXHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXCXXXXXCXXXXXXXXCCCCXXXXCXCXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""---""""---"""""-"""""""-"""""-"-"""""-"-"""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCC...CCCC...CCCCC.CCCCCCC.CCCCC.C.CCCCC.C.CCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBB'''BBBB'''BBBBB'BBBBBBB'BBBBB'B'BBBBB'B'BBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHXXXHHHHXXXHHHHHXHHHHHHHXHHHHHXHXHHHHHXHXHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXCCCXXXXCCCXXXXXCXXXXXXXCXXXXXCXCXXXXXCXCXXXXX&                                                                
 """"""""""""""""-""""""--""""""-""""""""""""""""""""""""""""-""""""#                                                                
+CCCCCCCCCCCCCCCC.CCCCCC..CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCX                                                                
+BBBBBBBBBBBBBBBB'BBBBBB''BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB$                                                                
+HHHHHHHHHHHHHHHHXHHHHHHXXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHH_                                                                
+XXXXXXXXXXXXXXXXCXXXXXXCCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXX&                                                                
 """"""""""--""""-"-"""---""""--""""""""""""""-""""""""""""""-""""-"#                                                                
+CCCCCCCCCC..+CCC.C.CCC...CCCC..CCCCCCCCCCCCCC.CCCCCCCCCCCCCC.CCCC.CX                                                                
+BBBBBBBBBB''CBBB'B'BBB'''BBBB''BBBBBBBBBBBBBB'BBBBBBBBBBBBBB'BBBB'B$                                                                
+HHHHHHHHHHXX HHHXHXHHHXXXHHHHXXHHHHHHHHHHHHHHXHHHHHHHHHHHHHHXHHHHXH_                                                                
+XXXXXXXXXXCC XXXCXCXXXCCCXXXXCCXXXXXXXXXXXXXXCXXXXXXXXXXXXXXCXXXXCX&                                                                
 """""""""""""""""-"""--"-""""""""""""""""-""""""""""""""""""-"-""""#                                                                
+CCCCCCCCCCCCCCCCC.CCC..C.CCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCC.C.CCCCX                                                                
+BBBBBBBBBBBBBBBBB'BBB''B'BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBB'B'BBBB$                                                                
+HHHHHHHHHHHHHHHHHXHHHXXHXHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHXHXHHHH_                                                                
+XXXXXXXXXXXXXXXXXCXXXCCXCXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXCXCXXXX&                                                                
 """""""-"""""""""""------"""""""""""""""""""""--""""""""""""""""-""#                                                                
+CCCCCCC.CCCCCCCCCCC......CCCCCCCCCCCCCCCCCCCCC..CCCCCCCCCCCCCCCC.CCX                                                                
+BBBBBBB'BBBBBBBBBBB''''''BBBBBBBBBBBBBBBBBBBBB''BBBBBBBBBBBBBBBB'BB$                                                                
+HHHHHHHXHHHHHHHHHHHXXXXXXHHHHHHHHHHHHHHHHHHHHHXXHHHHHHHHHHHHHHHHXHH_                                                                
+XXXXXXXCXXXXXXXXXXXCCCCCCXXXXXXXXXXXXXXXXXXXXXCCXXXXXXXXXXXXXXXXCXX&                                                                
 """"""""""""--"""-"""""--"""""""-""""""""""""""""-""-"""-""""""""""#                                                                
+CCCCCCCCCCCC..CCC.CCCCC..CCCCCCC.CCCCCCCCCCCCCCCC.CC.CCC.CCCCCCCCCCX                                                                
+BBBBBBBBBBBB''BBB'BBBBB''BBBBBBB'BBBBBBBBBBBBBBBB'BB'BBB'BBBBBBBBBB$                                                                
+HHHHHHHHHHHHXXHHHXHHHHHXXHHHHHHHXHHHHHHHHHHHHHHHHXHHXHHHXHHHHHHHHHH_                                                                
+XXXXXXXXXXXXCCXXXCXXXXXCCXXXXXXXCXXXXXXXXXXXXXXXXCXXCXXXCXXXXXXXXXX&                                                                
 """"""""""""-""-"-""--"--"""""""-""""""-""""""""""-""""""""""""""""#                                                                
+CCCCCCCCCCCC.CC.C.CC..C..CCCCCCC.CCCCCC.CCCCCCCCCC.CCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBB'BB'B'BB''B''BBBBBBB'BBBBBB'BBBBBBBBBB'BBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHXHHXHXHHXXHXXHHHHHHHXHHHHHHXHHHHHHHHHHXHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXCXXCXCXXCCXCCXXXXXXXCXXXXXXCXXXXXXXXXXCXXXXXXXXXXXXXXXX&                                                                
 """"""-"-""""""""""""""""""""--""""""""""""""""-""-""""""""""""-"-"#                                                                
+CCCCCC.C.CCCCCCCCCCCCCCCCCCCC..CCCCCCCCCCCCCCCC.CC.CCCCCCCCCCCC.C.CX                                                                
+BBBBBB'B'BBBBBBBBBBBBBBBBBBBB''BBBBBBBBBBBBBBBB'BB'BBBBBBBBBBBB'B'B$                                                                
+HHHHHHXHXHHHHHHHHHHHHHHHHHHHHXXHHHHHHHHHHHHHHHHXHHXHHHHHHHHHHHHXHXH_                                                                
+XXXXXXCXCXXXXXXXXXXXXXXXXXXXXCCXXXXXXXXXXXXXXXXCXXCXXXXXXXXXXXXCXCX&                                                                
 "-"""""-"-""""-""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+C.CCCCC.C.CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+B'BBBBB'B'BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HXHHHHHXHXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XCXXXXXCXCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""-""""-""""""""-"""-"""""""""""-""#"""""""""""""""""""""""""""#                                                                
+CCCCCC.CCCC.CCCCCCCC.CCC.CCCCCCCCCCC.CCXCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBB'BBBB'BBBBBBBB'BBB'BBBBBBBBBBB'BB$BBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHXHHHHXHHHHHHHHXHHHXHHHHHHHHHHHXHH_HHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXCXXXXCXXXXXXXXCXXXCXXXXXXXXXXXCXX&XXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""-""-""""""""-"""""-"#""---"""""""""""""""""""""""""""""---"""#                                                                
+CCCCCC.CC.CCCCCCCC.CCCCC.CXCC...CCCCCCCCCCCCCCCCCCCCCCCCCCCCC...CCCX                                                                
+BBBBBB'BB'BBBBBBBB'BBBBB'B$BB'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''BBB$                                                                
+HHHHHHXHHXHHHHHHHHXHHHHHXH_HHXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXHHH_                                                                
+XXXXXXCXXCXXXXXXXXCXXXXXCX&XXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCXXX&                                                                
 """""""""-"-""""-"""-"""-""""-"-""""""""""""-""""""""""""""""""""""#                                                                
+CCCCCCCCC.C.CCCC.CCC.CCC.CCCC.C.CCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBB'B'BBBB'BBB'BBB'BBBB'B'BBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHXHXHHHHXHHHXHHHXHHHHXHXHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXCXCXXXXCXXXCXXXCXXXXCXCXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""-""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""--""""-"""""""""""""""""""-"""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCC..CCCC.CCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBB''BBBB'BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHXXHHHHXHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXCCXXXXCXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXX&                                                                
 """"""""+"""""""""""""-"-"""-"-""""""""""""-"""-"""""-""""""-"-"--"#                                                                
+CCCCCCCCCCCCCCCCCCCCCC.C.CCC.+.CCCCCCCCCCCC.CCC.CCCCC.CCCCCC.C.C..CX                                                                
+BBBBBBBB BBBBBBBBBBBBB'B'BBB'C'BBBBBBBBBBBB'BBB'BBBBB'BBBBBB'B'B''B$                                                                
+HHHHHHHH HHHHHHHHHHHHHXHXHHHX XHHHHHHHHHHHHXHHHXHHHHHXHHHHHHXHXHXXH_                                                                
+XXXXXXXX XXXXXXXXXXXXXCXCXXXC CXXXXXXXXXXXXCXXXCXXXXXCXXXXXXCXCXCCX&                                                                
 """"""""""""""""""""""""-"""""-"-""""""""""""""""-""""""""""-""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCC.CCCCC.C.CCCCCCCCCCCCCCCC.CCCCCCCCCC.CCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBB'BBBBB'B'BBBBBBBBBBBBBBBB'BBBBBBBBBB'BBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHXHHHHHXHXHHHHHHHHHHHHHHHHXHHHHHHHHHHXHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXCXXXXXCXCXXXXXXXXXXXXXXXXCXXXXXXXXXXCXXXXXX&                                                                
 """"""""""""""""""""""""--""""-""""""""""""""""""""""""""""""""""-"#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCC..CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBB''BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHXXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXCCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCX&                                                                
 """"""""""-"""""""""""""-""""-""""""""-""""-"""""""""""""""""""""""#                                                                
+CCCCCCCCCC.CCCCCCCCCCCCC.CCCC.CCCCCCCC.CCCC.CCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBB'BBBBBBBBBBBBB'BBBB'BBBBBBBB'BBBB'BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHXHHHHHHHHHHHHHXHHHHXHHHHHHHHXHHHHXHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXCXXXXXXXXXXXXXCXXXXCXXXXXXXXCXXXXCXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""-"-"""""""""""-""-""""""""""-"""""""#"""-"--""""""""-"""""""#                                                                
+CCCCCCC.C.CCCCCCCCCCC.CC.CCCCCCCCCC.CCCCCCCXCCC.C..CCCCCCCC.CCCCCCCX                                                                
+BBBBBBB'B'BBBBBBBBBBB'BB'BBBBBBBBBB'BBBBBBB$BBB'B''BBBBBBBB'BBBBBBB$                                                                
+HHHHHHHXHXHHHHHHHHHHHXHHXHHHHHHHHHHXHHHHHHH_HHHXHXXHHHHHHHHXHHHHHHH_                                                                
+XXXXXXXCXCXXXXXXXXXXXCXXCXXXXXXXXXXCXXXXXXX&XXXCXCCXXXXXXXXCXXXXXXX&                                                                
 """""""""""""""""""-""""-"""""-""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCC.CCCC.CCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBB'BBBB'BBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHXHHHHXHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXCXXXXCXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""-"-"-"""""-""""-""""""""""""""""""""""""""""-"""""""""""""#                                                                
+CCCCCCCCC.C.C.CCCCC.CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCX                                                                
+BBBBBBBBB'B'B'BBBBB'BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBB$                                                                
+HHHHHHHHHXHXHXHHHHHXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHH_                                                                
+XXXXXXXXXCXCXCXXXXXCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXX&                                                                
 """""""""""-"""""""""""""""""--""""#"""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCC.CCCCCCCCCCCCCCCCC..CCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBB'BBBBBBBBBBBBBBBBB''BBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHXHHHHHHHHHHHHHHHHHXXHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXCXXXXXXXXXXXXXXXXXCCXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""-""""-""""-"--"-""-""""""#"""""""-""""""""""""""""""""""#                                                                
+CCCCCCCCCCC.CCCC.CCCC.C..C.CC.CCCCCCXCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBB'BBBB'BBBB'B''B'BB'BBBBBB$BBBBBBB'BBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHXHHHHXHHHHXHXXHXHHXHHHHHH_HHHHHHHXHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXCXXXXCXXXXCXCCXCXXCXXXXXX&XXXXXXXCXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""-""""""-""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCC.CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBB'BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""""-"""""""""""""""""""""""""""""""""""-"""-"#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC.CX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB'B$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHXH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXCX&                                                                
 """""""#""""""""""""""""""""""--""#"""""""-""""""""""""""""""""""""#                                                                
+CCCCCCCXCCCCCCCCCCCCCCCCCCCCCC..CCXCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBB$BBBBBBBBBBBBBBBBBBBBBB''BB$BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHH_HHHHHHHHHHHHHHHHHHHHHHXXHH_HHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXX&XXXXXXXXXXXXXXXXXXXXXXCCXX&XXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""#""""""""-"""--"""""""""--"""""""""""""""-""""""""""""""""""""#                                                                
+CCCCCXCCCCCCCC.CCC..C+CCCCCCC..CCCCCCCCCCCCCCC.+CCCCCCCCCCCCCCCCCCCX                                                                
+BBBBB$BBBBBBBB'BBB''BCBBBBBBB''BBBBBBBBBBBBBBB'CBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHH_HHHHHHHHXHHHXXH HHHHHHHXXHHHHHHHHHHHHHHHX HHHHHHHHHHHHHHHHHHH_                                                                
+XXXXX&XXXXXXXXCXXXCCX XXXXXXXCCXXXXXXXXXXXXXXXC XXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""""""#""""""""""""#""""""#""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCXCCCCCCXCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBB$BBBBBB$BBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHH_HHHHHH_HHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXX&XXXXXX&XXXXXXXXXX&                                                                
 """""""""""""""""""-""""-"""""""""""""""""""""""""""-""""#"""""""""#                                                                
+CCCCCCCCCCCCCCCCCCC.CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCXCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBB'BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBB$BBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHH_HHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXX&XXXXXXXXX&                                                                
 "-"""""""""""""""""""""-""""""""-"""""""""""""""""""""""#""""""""""#                                                                
+C.CCCCCCCCCCCCCCCCCCCCC.CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCX                                                                
+B'BBBBBBBBBBBBBBBBBBBBB'BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBB$                                                                
+HXHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHH_                                                                
+XCXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXX&                                                                
 """#"""""-""""""""#""-"""""#"-""""""""""#""""""""""""-""""-""-"""""#                                                                
+CCCXCCCCC.CCCCCCCCXCC.CCCCCXC.CCCCCCCCCCXCCCCCCCCCCCC.CCCC.CC.CCCCCX                                                                
+BBB$BBBBB'BBBBBBBB$BB'BBBBB$B'BBBBBBBBBB$BBBBBBBBBBBB'BBBB'BB'BBBBB$                                                                
+HHH_HHHHHXHHHHHHHH_HHXHHHHH_HXHHHHHHHHHH_HHHHHHHHHHHHXHHHHXHHXHHHHH_                                                                
+XXX&XXXXXCXXXXXXXX&XXCXXXXX&XCXXXXXXXXXX&XXXXXXXXXXXXCXXXXCXXCXXXXX&                                                                
 """""""""-"""""""""""-""""""""""""""""""""-""""""""""""""""""""""""#                                                                
+CCCCCCCCC.CCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBB'BBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHXHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXCXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""-"-"""""""""""""""-"""""""""""""""""""""-"""""""""""""#                                                                
+CCCCCCCCCCCCC.C.CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBB'B'BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHXHXHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXCXCXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXX&                                                                
 """""""-"""""--""""-"""""""""""""""""""-""""""""""""""#""""""""""-"#                                                                
+CCCCCCC.CCCCC..CCCC.CCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCXCCCCCCCCCC.CX                                                                
+BBBBBBB'BBBBB''BBBB'BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBB$BBBBBBBBBB'B$                                                                
+HHHHHHHXHHHHHXXHHHHXHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHH_HHHHHHHHHHXH_                                                                
+XXXXXXXCXXXXXCCXXXXCXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXX&XXXXXXXXXXCX&                                                                
 """"""""""""""""""""-""--""""-""-"""""""""""""""-""""""""""-"-"""""#                                                                
+CCCCCCCCCCCCCCCCCCCC.CC..CCCC.CC.CCCCCCCCCCCCCCC.CCCCCCCCCC.C.CCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBB'BB''BBBB'BB'BBBBBBBBBBBBBBB'BBBBBBBBBB'B'BBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHXHHXXHHHHXHHXHHHHHHHHHHHHHHHXHHHHHHHHHHXHXHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXCXXCCXXXXCXXCXXXXXXXXXXXXXXXCXXXXXXXXXXCXCXXXXX&                                                                
 """""""""-"""""""""""""""""""""""""""""""""""""#"""""""""""""""""""#                                                                
+CCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""-""""""-""""""""""""""#""-""""""""""""#""""""""""""""#                                                                
+CCCCCCCCCCCCCC.CCCCCC.CCCCCCCCCCCCCCXCC.CCCCCCCCCCCCXCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBB'BBBBBB'BBBBBBBBBBBBBB$BB'BBBBBBBBBBBB$BBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHXHHHHHHXHHHHHHHHHHHHHH_HHXHHHHHHHHHHHH_HHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXCXXXXXXCXXXXXXXXXXXXXX&XXCXXXXXXXXXXXX&XXXXXXXXXXXXXX&                                                                
 "-"+#"#""""""""""""""""""""""""""""""""""""-""""""#"""""-"""#""""""#                                                                
+C.CCXCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCXCCCCC.CCCXCCCCCCX                                                                
+B'B $B$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB$BBBBB'BBB$BBBBBB$                                                                
+HXH _H_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHH_HHHHHXHHH_HHHHHH_                                                                
+XCX &X&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXX&XXXXXCXXX&XXXXXX&                                                                
 #""""""""""""""""""--""""""#"""""""""""""""""""""""""""""""""""""""#                                                                
+XCCCCCCCCCCCCCCCCCC..CCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+$BBBBBBBBBBBBBBBBBB''BBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+_HHHHHHHHHHHHHHHHHHXXHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+&XXXXXXXXXXXXXXXXXXCCXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""#""""""""""""""""""""""""""""""""#""""""""""""""""""""""""""""#                                                                
+CCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"#"""""""""""""""""""""""-"""""""""""#-""""-""""""""""""""""""""#                                                                
+CCCCXCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCX.CCCC.CCCCCCCCCCCCCCCCCCCCX                                                                
+BBBB$BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBB$'BBBB'BBBBBBBBBBBBBBBBBBBB$                                                                
+HHHH_HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHH_XHHHHXHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXX&XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXX&CXXXXCXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""-"""#""""""""#"#"""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCXCCCCCCCCXCXCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB$BBBBBBBB$B$BBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHH_HHHHHHHH_H_HHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXX&XXXXXXXX&X&XXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""-"""""""""-"""""""""""""-"""""""""#""""-""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCC.CCCCCCCCCCCCC.CCCCCCCCCXCCCC.CCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBB'BBBBBBBBBBBBB'BBBBBBBBB$BBBB'BBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHXHHHHHHHHHHHHHXHHHHHHHHH_HHHHXHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXCXXXXXXXXXXXXXCXXXXXXXXX&XXXXCXXXX&                                                                
 """"""""""""""""""""""""""""""--"""#""""""#"""""""""""#""#"""""""""#                                                                
+CCCCCCCCCCCCCCCC+CCCCCCCCCCCCC..CCCXCCCCCCXCCCCCCCCCCCXCCXCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBCBBBBBBBBBBBBB''BBB$BBBBBB$BBBBBBBBBBB$BB$BBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHH HHHHHHHHHHHHHXXHHH_HHHHHH_HHHHHHHHHHH_HH_HHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXX XXXXXXXXXXXXXCCXXX&XXXXXX&XXXXXXXXXXX&XX&XXXXXXXXX&                                                                
 ""#"""""""""""""-"""""""""""""-""""""""""""""""--""-""#"""-""""""""#                                                                
+CCXCCCCCCCCCCCCC.CCCCCCCCCCCCC.CCCCCCCCCCCCCCCC..CC.CCXCCC.CCCCCCCCX                                                                
+BB$BBBBBBBBBBBBB'BBBBBBBBBBBBB'BBBBBBBBBBBBBBBB''BB'BB$BBB'BBBBBBBB$                                                                
+HH_HHHHHHHHHHHHHXHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHXXHHXHH_HHHXHHHHHHHH_                                                                
+XX&XXXXXXXXXXXXXCXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXCCXXCXX&XXXCXXXXXXXX&                                                                
 """"""""""""-""""-"""""""""""-"""""""""""#""""""""""""""""""""-""""#                                                                
+CCCCCCCCCCCC.CCCC.CCCCCCCCCCC.CCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCC.CCCCX                                                                
+BBBBBBBBBBBB'BBBB'BBBBBBBBBBB'BBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBB'BBBB$                                                                
+HHHHHHHHHHHHXHHHHXHHHHHHHHHHHXHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHXHHHH_                                                                
+XXXXXXXXXXXXCXXXXCXXXXXXXXXXXCXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXCXXXX&                                                                
 """""""""""-""""""""""""""""""--"""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCC.CCCCC+CCCCCCCCCCCC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBB'BBBBBCBBBBBBBBBBBB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHXHHHHH HHHHHHHHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXCXXXXX XXXXXXXXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 #"""##"""#"""""#"""""""#"""""""""""#"""""""""""""""""""""""""""""""#                                                                
+XCCCXXCCCXCCCCCXCCCCCCCXCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+$BBB$$BBB$BBBBB$BBBBBBB$BBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+_HHH__HHH_HHHHH_HHHHHHH_HHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+&XXX&&XXX&XXXXX&XXXXXXX&XXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""-""-""""""""--"-""""-""-"""-="""""""#"#""#"""""""#""#"""-""#                                                                
+CCCCCCCC.CC.CCCCCCCC..C.CCCC.CC.CCC.CCCCCCCCXCXCCXCCCCCCCXCCXCCC.CCX                                                                
+BBBBBBBB'BB'BBBBBBBB''B'BBBB'BB'BBB' BBBBBBB$B$BB$BBBBBBB$BB$BBB'BB$                                                                
+HHHHHHHHXHHXHHHHHHHHXXHXHHHHXHHXHHHX HHHHHHH_H_HH_HHHHHHH_HH_HHHXHH_                                                                
+XXXXXXXXCXXCXXXXXXXXCCXCXXXXCXXCXXXC XXXXXXX&X&XX&XXXXXXX&XX&XXXCXX&                                                                
 """"""""""""""""""""""-"""""-""""""""""""""""""""""""""""""""-"""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCC.CCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBB'BBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHXHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXCXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXX&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 "#"""""""""""""""""""""-""""""-""""""""-""""""""""""""""""""""""#""#                                                                
+CXCCCCCCCCCCCCCCCCCCCCC.CCCCCC.CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCXCCX                                                                
+B$BBBBBBBBBBBBBBBBBBBBB'BBBBBB'BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB$BB$                                                                
+H_HHHHHHHHHHHHHHHHHHHHHXHHHHHHXHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHH_HH_                                                                
+X&XXXXXXXXXXXXXXXXXXXXXCXXXXXXCXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXX&XX&                                                                
 """#""""""""#"""-#"-"""""#""#"-""""""""-""""""""""-"""""""""-""""""#                                                                
+CCCXCCCCCCCCXCCC.XC.CCCCCXCCXC.CCCCCCCC.CCCCCCCCCC.CCCCCCCCC.CCCCCCX                                                                
+BBB$BBBBBBBB$BBB'$B'BBBBB$BB$B'BBBBBBBB'BBBBBBBBBB'BBBBBBBBB'BBBBBB$                                                                
+HHH_HHHHHHHH_HHHX_HXHHHHH_HH_HXHHHHHHHHXHHHHHHHHHHXHHHHHHHHHXHHHHHH_                                                                
+XXX&XXXXXXXX&XXXC&XCXXXXX&XX&XCXXXXXXXXCXXXXXXXXXXCXXXXXXXXXCXXXXXX&                                                                
 ##""#""#"""""#""""""""""""""#""""#"""""""""""""""""""""""""""""""""#                                                                
+XXCCXCCXCCCCCXCCCCCCCCCCCCCCXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+$$BB$BB$BBBBB$BBBBBBBBBBBBBB$BBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+__HH_HH_HHHHH_HHHHHHHHHHHHHH_HHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+&&XX&XX&XXXXX&XXXXXXXXXXXXXX&XXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""""""""""""""-""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""-""""""""""""""""""""""""""""""-""""""#""""""""""""""#                                                                
+CCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCXCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB$BBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHH_HHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXX&XXXXXXXXXXXXXX&                                                                
 """""""""""#""""--"-""""""""""""""""""""""""-"-"""""""""""-"""-""""#                                                                
+CCCCCCCCCCCXCCCC..C.CCCCCCCCCCCCCCCCCCCCCCCC.C.CCCCCCCCCCC.CCC.CCCCX                                                                
+BBBBBBBBBBB$BBBB''B'BBBBBBBBBBBBBBBBBBBBBBBB'B'BBBBBBBBBBB'BBB'BBBB$                                                                
+HHHHHHHHHHH_HHHHXXHXHHHHHHHHHHHHHHHHHHHHHHHHXHXHHHHHHHHHHHXHHHXHHHH_                                                                
+XXXXXXXXXXX&XXXXCCXCXXXXXXXXXXXXXXXXXXXXXXXXCXCXXXXXXXXXXXCXXXCXXXX&                                                                
 """""""""""""""-""""""""""""""""""""""""""""""""""""""-""""""""""""#                                                                
+CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXX&                                                                
 """"#""""""""""""""""""""""""""""""""""""""""""""-"""""""""""""""""#                                                                
+CCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCX                                                                
+BBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB$                                                                
+HHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHH_                                                                
+XXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXX&                                                                
 """"""#""#""""""-"""""-""""""""""""##"""""""""""""""-""""""""""""""#                                                                
+CCCCCCXCCXCCCCCC.CCCCC.CCCCCCCCCCCCXXCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCX                                                                
+BBBBBB$BB$BBBBBB'BBBBB'BBBBBBBBBBBB$$BBBBBBBBBBBBBBB'BBBBBBBBBBBBBB$                                                                
+HHHHHH_HH_HHHHHHXHHHHHXHHHHHHHHHHHH__HHHHHHHHHHHHHHHXHHHHHHHHHHHHHH_                                                                
+XXXXXX&XX&XXXXXXCXXXXXCXXXXXXXXXXXX&&XXXXXXXXXXXXXXXCXXXXXXXXXXXXXX&                                                                
 ""#""""""-""""""""-""""-"#"""-""""""""""""#""""""-+""#"""#"""""""""#                                                                
+CCXCCCCCC.CCCCCCCC.CCCC.CXCCC.CCCCCCCCCCCCXCCCCCC.CCCXCCCXCCCCCCCCCX                                                                
+BB$BBBBBB'BBBBBBBB'BBBB'B$BBB'BBBBBBBBBBBB$BBBBBB' BB$BBB$BBBBBBBBB$                                                                
+HH_HHHHHHXHHHHHHHHXHHHHXH_HHHXHHHHHHHHHHHH_HHHHHHX HH_HHH_HHHHHHHHH_                                                                
+XX&XXXXXXCXXXXXXXXCXXXXCX&XXXCXXXXXXXXXXXX&XXXXXXC XX&XXX&XXXXXXXXX&                                                                
 ""###"""""""""""""""""""""#"""""""""""""""""""""""+""""""#"""""""""#                                                                
+CCXXXCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCC+CCCCCCX                                                                
+BB$$$BBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBB BBBBBB$BBCBBBBBB$                                                                
+HH___HHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHH HHHHHH_HH HHHHHH_                                                                
+XX&&&XXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXX XXXXXX&XX XXXXXX&                                                                
 ""##""""""""""""""""""""""""""""""""#"""""""""""""""""""""""""""""-#                                                                
+CCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.X                                                                
+BB$$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'$                                                                
+HH__HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHX_                                                                
+XX&&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXC&                                                                
 #"#"""""""-"""""""""""""""""""-"""""#""""""""""""""-"""""""""""""""#                                                                
+XCXCCCCCCC.CCCCCCCCCCCCCCCCCCC.CCCCCXCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCX                                                                
+$B$BBBBBBB'BBBBBBBBBBBBBBBBBBB'BBBBB$BBBBBBBBBBBBBB'BBBBBBBBBBBBBBB$                                                                
+_H_HHHHHHHXHHHHHHHHHHHHHHHHHHHXHHHHH_HHHHHHHHHHHHHHXHHHHHHHHHHHHHHH_                                                                
+&X&XXXXXXXCXXXXXXXXXXXXXXXXXXXCXXXXX&XXXXXXXXXXXXXXCXXXXXXXXXXXXXXX&                                                                
 """"#-""""-""""""""""-"""""##"""""#""""""""""-"""""""""""""""""""""#                                                                
+CCCCX.CCCC.CCCCCCCCCC.CCCCCXXCCCCCXCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBB$'BBBB'BBBBBBBBBB'BBBBB$$BBBBB$BBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHH_XHHHHXHHHHHHHHHHXHHHHH__HHHHH_HHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXX&CXXXXCXXXXXXXXXXCXXXXX&&XXXXX&XXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""""""""""-"""""""""""""""#"""#"""""##                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCXCCCXCCCCCXX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBB$BBB$BBBBB$$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHH_HHH_HHHHH__                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXX&XXX&XXXXX&&                                                                
 ""#""""""""""""""""""""""""""""""""""""""""""""-"""""""""""""""""""#                                                                
+CCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCX                                                                
+BB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBB$                                                                
+HH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHH_                                                                
+XX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXX&                                                                
 """"""#"""""""""""""""""""#"""""-""""""""""#""""""""""""""""#""""""#                                                                
+CCCCCCXCCCCCCCCCCCCCCCCCCCXCCCCC.CCCCCCCCCCXCCCCCCCCCCCCCCCCXCCCCCCX                                                                
+BBBBBB$BBBBBBBBBBBBBBBBBBB$BBBBB'BBBBBBBBBB$BBBBBBBBBBBBBBBB$BBBBBB$                                                                
+HHHHHH_HHHHHHHHHHHHHHHHHHH_HHHHHXHHHHHHHHHH_HHHHHHHHHHHHHHHH_HHHHHH_                                                                
+XXXXXX&XXXXXXXXXXXXXXXXXXX&XXXXXCXXXXXXXXXX&XXXXXXXXXXXXXXXX&XXXXXX&                                                                
 #"""""""""""""""""""""-"""-"#"--""""""""-""""""""""""""""""""""""""#                                                                
+XCCCCCCCCCCCCCCCCCCCCC.CCC.CXC..CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+$BBBBBBBBBBBBBBBBBBBBB'BBB'B$B''BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+_HHHHHHHHHHHHHHHHHHHHHXHHHXH_HXXHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+&XXXXXXXXXXXXXXXXXXXXXCXXXCX&XCCXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""#"""-""""""""""#"""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCC.CCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBB'BBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHXHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXCXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""-"""""""""""""""""""""""""""""""""""#""""""""""""""""""#                                                                
+CCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCXCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBCBBBBBBBBB$BBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHH_HHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX&XXXXXXXXXXXXXXXXXX&                                                                
 #""""""""""""""""""""-""""""""""""""""-"""""""""""""""""#""""""""""#                                                                
+XCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCXCCCCCCCCCCX                                                                
+$BBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB$BBBBBBBBBB$                                                                
+_HHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHH_HHHHHHHHHH_                                                                
+&XXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXX&XXXXXXXXXX&                                                                
 -""""""""""""""""""""""--""""""-"""#"-""#""""""""""""""""""""""-#""#                                                                
+.CCCCCCCCCCCCCCCCCCCCCC..CCCCCC.CCCXC.CCXCCCCCCCCCCCCCCCCCCCCCC.XCCX                                                                
+'BBBBBBBBBBBBBBBBBBBBBB''BBBBBB'BBB$B'BB$BBBBBBBBBBBBBBBBBBBBBB'$BB$                                                                
+XHHHHHHHHHHHHHHHHHHHHHHXXHHHHHHXHHH_HXHH_HHHHHHHHHHHHHHHHHHHHHHX_HH_                                                                
+CXXXXXXXXXXXXXXXXXXXXXXCCXXXXXXCXXX&XCXX&XXXXXXXXXXXXXXXXXXXXXXC&XX&                                                                
 """"""""""""""""""""""""-"""""""--""""""""""""""""-"""""""""""""""##                                                                
+CCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCC..CCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCXX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBB''BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBB$$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHXXHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHH__                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXCCXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXX&&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""#"""""""""""""""""""""""""#"##"""""""""#"""""""""""#""""""#                                                                
+CCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCXCXXCCCCCCCCCXCCCCCCCCCCCXCCCCCCX                                                                
+BBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBB$B$$BBBBBBBBB$BBBBBBBBBBB$BBBBBB$                                                                
+HHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHH_H__HHHHHHHHH_HHHHHHHHHHH_HHHHHH_                                                                
+XXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXX&X&&XXXXXXXXX&XXXXXXXXXXX&XXXXXX&                                                                
 -"""#""""-"""""""-""-""""""#"""-"""""""""""-"""""""""-""""""""""-""#                                                                
+.CCCXCCCC.CCCCCCC.CC.CCCCCCXCCC.CCCCCCCCCCC.CCCCCCCCC.CCCCCCCCCC.CCX                                                                
+'BBB$BBBB'BBBBBBB'BB'BBBBBB$BBB'BBBBBBBBBBB'BBBBBBBBB'BBBBBBBBBB'BB$                                                                
+XHHH_HHHHXHHHHHHHXHHXHHHHHH_HHHXHHHHHHHHHHHXHHHHHHHHHXHHHHHHHHHHXHH_                                                                
+CXXX&XXXXCXXXXXXXCXXCXXXXXX&XXXCXXXXXXXXXXXCXXXXXXXXXCXXXXXXXXXXCXX&                                                                
 "#"#"#""""""""""""""""-"""""""""""""""""#"""-""""""""""""##""""""""#                                                                
+CXCXCXCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCXCCC.CCCCCCCCCCCCXXCCCCCCCCX                                                                
+B$B$B$BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB$BBB'BBBBBBBBBBBB$$BBBBBBBB$                                                                
+H_H_H_HHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHH_HHHXHHHHHHHHHHHH__HHHHHHHH_                                                                
+X&X&X&XXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXX&XXXCXXXXXXXXXXXX&&XXXXXXXX&                                                                
 #""""""""""""""""""-"""""#"""""""""""""""-""""""""""-""""""""""""""#                                                                
+XCCCCCCCCCCCCCCCCCC.CCCCCXCCCCCCCCCCCCCCC.CCCCCCCCCC.CCCCCCCCCCCCCCX                                                                
+$BBBBBBBBBBBBBBBBBB'BBBBB$BBBBBBBBBBBBBBB'BBBBBBBBBB'BBBBBBBBBBBBBB$                                                                
+_HHHHHHHHHHHHHHHHHHXHHHHH_HHHHHHHHHHHHHHHXHHHHHHHHHHXHHHHHHHHHHHHHH_                                                                
+&XXXXXXXXXXXXXXXXXXCXXXXX&XXXXXXXXXXXXXXXCXXXXXXXXXXCXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""""#""#""""#""""""-"""""""""""-"""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXCCCCXCCCCCC.CCCCCCCCCCC.CCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BB$BBBB$BBBBBB'BBBBBBBBBBB'BBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HH_HHHH_HHHHHHXHHHHHHHHHHHXHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XX&XXXX&XXXXXXCXXXXXXXXXXXCXXXXX&                                                                
 """"#""""""""-"""#-""""""-"#""-"""#""#""#"""""#-"--""""""""""""""""#                                                                
+CCCCXCCCCCCCC.CCCX.CCCCCC.CXCC.CCCXCCXCCXCCCCCX.C..CCCCCCCCCCCCCCCCX                                                                
+BBBB$BBBBBBBB'BBB$'BBBBBB'B$BB'BBB$BB$BB$BBBBB$'B''BBBBBBBBBBBBBBBB$                                                                
+HHHH_HHHHHHHHXHHH_XHHHHHHXH_HHXHHH_HH_HH_HHHHH_XHXXHHHHHHHHHHHHHHHH_                                                                
+XXXX&XXXXXXXXCXXX&CXXXXXXCX&XXCXXX&XX&XX&XXXXX&CXCCXXXXXXXXXXXXXXXX&                                                                
 """#""""-""""""""""""""""""""""-"""""#"""""""""""""-"""""""""""#"""#                                                                
+CCCXCCCC.CCCCCCCCCCCCCCCCCCCCCC.CCCCCXCCCCCCCCCCCCC.CCCCCCCCCCCXCCCX                                                                
+BBB$BBBB'BBBBBBBBBBBBBBBBBBBBBB'BBBBB$BBBBBBBBBBBBB'BBBBBBBBBBB$BBB$                                                                
+HHH_HHHHXHHHHHHHHHHHHHHHHHHHHHHXHHHHH_HHHHHHHHHHHHHXHHHHHHHHHHH_HHH_                                                                
+XXX&XXXXCXXXXXXXXXXXXXXXXXXXXXXCXXXXX&XXXXXXXXXXXXXCXXXXXXXXXXX&XXX&                                                                
 """""""""""""""#""""""""""""#"""""""""""""""""""""""-""""""""""""""#                                                                
+CCCCCCCCCCCCCCCXCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBB$BBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHH_HHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXX&XXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""""""#"""""#""""-""""""-""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCXCCCC.CCCCCC.CCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBB$BBBB'BBBBBB'BBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHH_HHHHXHHHHHHXHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXX&XXXXCXXXXXXCXXXXXXXXXXXX&                                                                
 """#""""-#--"""""""""-""""""-""""""#""""""-#"#""""""-"""-"""""""""-#                                                                
+CCCXCCCC.X..CCCCCCCCC.CCCCCC.CCCCCCXCCCCCC.XCXCCCCCC.CCC.CCCCCCCCC.X                                                                
+BBB$BBBB'$''BBBBBBBBB'BBBBBB'BBBBBB$BBBBBB'$B$BBBBBB'BBB'BBBBBBBBB'$                                                                
+HHH_HHHHX_XXHHHHHHHHHXHHHHHHXHHHHHH_HHHHHHX_H_HHHHHHXHHHXHHHHHHHHHX_                                                                
+XXX&XXXXC&CCXXXXXXXXXCXXXXXXCXXXXXX&XXXXXXC&X&XXXXXXCXXXCXXXXXXXXXC&                                                                
 """""""#""""-""""""""""""""-""""""""#""""""""#"""""""""""""""""""""#                                                                
+CCCCCCCXCCCC.CCCCCCCCCCCCCC.CCCCCCCCXCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBB$BBBB'BBBBBBBBBBBBBB'BBBBBBBB$BBBBBBBB$BBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHH_HHHHXHHHHHHHHHHHHHHXHHHHHHHH_HHHHHHHH_HHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXX&XXXXCXXXXXXXXXXXXXXCXXXXXXXX&XXXXXXXX&XXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""#""""""#"""""""""""""""""""""#"""""""""""""""""""-"-#                                                                
+CCCCCCCCCCCCCCCXCCCCCCXCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCC.C.X                                                                
+BBBBBBBBBBBBBBB$BBBBBB$BBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBB'B'$                                                                
+HHHHHHHHHHHHHHH_HHHHHH_HHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHXHX_                                                                
+XXXXXXXXXXXXXXX&XXXXXX&XXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXCXC&                                                                
 """#"""""""""""""""""""""""""""""""#"""""""""""""""""""""""""""""""#                                                                
+CCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""#-"-"""-""""""""""""""-#""""""""""""""""""#"""""""""""""""""""#                                                                
+CCCCCX.C.CCC.CCCCCCCCCCCCCC.XCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBB$'B'BBB'BBBBBBBBBBBBBB'$BBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBB$                                                                
+HHHHH_XHXHHHXHHHHHHHHHHHHHHX_HHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHH_                                                                
+XXXXX&CXCXXXCXXXXXXXXXXXXXXC&XXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXX&                                                                
 "#"""#"""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""#                                                                
+CXCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCX                                                                
+B$BBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBB$                                                                
+H_HHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHH_                                                                
+X&XXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXX&                                                                
 """"""""""""-"""""""""""""""""""""""""#""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""-""##""""""""""""""""""""-"""""#""""""""""""#""""""""""-""""#                                                                
+CCCCCCC.CCXXCCCCCCCCCCCCCCCCCCCC.CCCCCXCCCCCCCCCCCCXCCCCCCCCCC.CCCCX                                                                
+BBBBBBB'BB$$BBBBBBBBBBBBBBBBBBBB'BBBBB$BBBBBBBBBBBB$BBBBBBBBBB'BBBB$                                                                
+HHHHHHHXHH__HHHHHHHHHHHHHHHHHHHHXHHHHH_HHHHHHHHHHHH_HHHHHHHHHHXHHHH_                                                                
+XXXXXXXCXX&&XXXXXXXXXXXXXXXXXXXXCXXXXX&XXXXXXXXXXXX&XXXXXXXXXXCXXXX&                                                                
 "###""#""""""""""""""""""""""""-""""""""""#""""""""-"""""""""-"""""#                                                                
+CXXXCCXCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCXCCCCCCCC.CCCCCCCCC.CCCCCX                                                                
+B$$$BB$BBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBB$BBBBBBBB'BBBBBBBBB'BBBBB$                                                                
+H___HH_HHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHH_HHHHHHHHXHHHHHHHHHXHHHHH_                                                                
+X&&&XX&XXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXX&XXXXXXXXCXXXXXXXXXCXXXXX&                                                                
 """""""#"""""""""""""""""-"#""""""""#"""""""""#"""""#""""""#"""""""#                                                                
+CCCCCCCXCCCCCCCCCCCCCCCCC.CXCCCCCCCCXCCCCCCCCCXCCCCCXCCCCCCXCCCCCCCX                                                                
+BBBBBBB$BBBBBBBBBBBBBBBBB'B$BBBBBBBB$BBBBBBBBB$BBBBB$BBBBBB$BBBBBBB$                                                                
+HHHHHHH_HHHHHHHHHHHHHHHHHXH_HHHHHHHH_HHHHHHHHH_HHHHH_HHHHHH_HHHHHHH_                                                                
+XXXXXXX&XXXXXXXXXXXXXXXXXCX&XXXXXXXX&XXXXXXXXX&XXXXX&XXXXXX&XXXXXXX&                                                                
 """#"""""""""""""""""""-""""""""""""""-"#""""""#""""""""#"-""#"""""#                                                                
+CCCXCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCC.CXCCCCCCXCCCCCCCCXC.CCXCCCCCX                                                                
+BBB$BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBB'B$BBBBBB$BBBBBBBB$B'BB$BBBBB$                                                                
+HHH_HHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHXH_HHHHHH_HHHHHHHH_HXHH_HHHHH_                                                                
+XXX&XXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXCX&XXXXXX&XXXXXXXX&XCXX&XXXXX&                                                                
 """#"""""-"""""""""""""""""""""""""""""-""""#""""""""""""""""""-"""#                                                                
+CCCXCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCXCCCCCCCCCCCCCCCCCC.CCCX                                                                
+BBB$BBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBB$BBBBBBBBBBBBBBBBBB'BBB$                                                                
+HHH_HHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHH_HHHHHHHHHHHHHHHHHHXHHH_                                                                
+XXX&XXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXX&XXXXXXXXXXXXXXXXXXCXXX&                                                                
 """""""""""""""#""-"""""--""""-""-""""-""""""""""""""""""""""""""#"#                                                                
+CCCCCCCCCCCCCCCXCC.CCCCC..CCCC.CC.CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCXCX                                                                
+BBBBBBBBBBBBBBB$BB'BBBBB''BBBB'BB'BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBB$B$                                                                
+HHHHHHHHHHHHHHH_HHXHHHHHXXHHHHXHHXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHH_H_                                                                
+XXXXXXXXXXXXXXX&XXCXXXXXCCXXXXCXXCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXX&X&                                                                
 ""#"""""""""""""#""""""""""""""-"""""""""""#"""""""""""""""="""""""#                                                                
+CCXCCCCCCCCCCCCCXCCCCCCCCCCCCCC.CCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BB$BBBBBBBBBBBBB$BBBBBBBBBBBBBB'BBBBBBBBBBB$BBBBBBBBBBBBBBB BBBBBBB$                                                                
+HH_HHHHHHHHHHHHH_HHHHHHHHHHHHHHXHHHHHHHHHHH_HHHHHHHHHHHHHHH HHHHHHH_                                                                
+XX&XXXXXXXXXXXXX&XXXXXXXXXXXXXXCXXXXXXXXXXX&XXXXXXXXXXXXXXX XXXXXXX&                                                                
 ""#""""""""""""""""-"""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCXCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BB$BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HH_HHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XX&XXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""#""#"""""""""""""""""""""""""""""""""""""#""""""""""""#                                                                
+CCCCCCCCCCCCCXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBB$BB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHH_HH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXX&XX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXX&                                                                
 """"""""""""""""#""""""-""""""""""""""""""-"#""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCXCCCCCC.CCCCCCCCCCCCCCCCCC.CXCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBB$BBBBBB'BBBBBBBBBBBBBBBBBB'B$BBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHH_HHHHHHXHHHHHHHHHHHHHHHHHHXH_HHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXX&XXXXXXCXXXXXXXXXXXXXXXXXXCX&XXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""-""""""""""""""""""""""""""""""""""""""""#""""""#""""""""#"#                                                                
+CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCXCCCCCCCCXCX                                                                
+BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBB$BBBBBBBB$B$                                                                
+HHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHH_HHHHHHHH_H_                                                                
+XXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXX&XXXXXXXX&X&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 #""""#"""""""""""""""""""""""""""""""#"""""#"""""""""""""""""""""""#                                                                
+XCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCXCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+$BBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBB$BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+_HHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHH_HHHHHHHHHHHHHHHHHHHHHHH_                                                                
+&XXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXX&XXXXXXXXXXXXXXXXXXXXXXX&                                                                
 "#"""""""""""""""""""-"""""""""""""""""""""""""""#"""""-"##"""""-""#                                                                
+CXCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCC.CXXCCCCC.CCX                                                                
+B$BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBB'B$$BBBBB'BB$                                                                
+H_HHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHXH__HHHHHXHH_                                                                
+X&XXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXCX&&XXXXXCXX&                                                                
 """""""""""""""""""""""-""""""""-"""""""""""""""""""""""""#""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXX&                                                                
 """"""""""""""#""""""""""-""""""""""""""""#""""""""-"""""""""""""""#                                                                
+CCCCCCCCCCCCCCXCCCCCCCCCC.CCCCCCCCCCCCCCCCXCCCCCCCC.CCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBB$BBBBBBBBBB'BBBBBBBBBBBBBBBB$BBBBBBBB'BBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHH_HHHHHHHHHHXHHHHHHHHHHHHHHHH_HHHHHHHHXHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXX&XXXXXXXXXXCXXXXXXXXXXXXXXXX&XXXXXXXXCXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""-"""""""""""""""""""""""""""""#""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXX&                                                                
 "-"""""""-"""-""""""""-""-"""""""""""#"""-""""-"""""""-""""""""""""#                                                                
+C.CCCCCCC.CCC.CCCCCCCC.CC.CCCCCCCCCCCXCCC.CCCC.CCCCCCC.CCCCCCCCCCCCX                                                                
+B'BBBBBBB'BBB'BBBBBBBB'BB'BBBBBBBBBBB$BBB'BBBB'BBBBBBB'BBBBBBBBBBBB$                                                                
+HXHHHHHHHXHHHXHHHHHHHHXHHXHHHHHHHHHHH_HHHXHHHHXHHHHHHHXHHHHHHHHHHHH_                                                                
+XCXXXXXXXCXXXCXXXXXXXXCXXCXXXXXXXXXXX&XXXCXXXXCXXXXXXXCXXXXXXXXXXXX&                                                                
 """""""""""""""""""""-"""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""-""""""""""""""""""""""""-"""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""#"""-"""""""""""""""""""""""""#""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCC.CCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBB'BBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHXHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXCXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXX&                                                                
 """""-"""""""""""#"""""""-""#"#""""""""""""""""##""""""""""#"""""""#                                                                
+CCCCC.CCCCCCCCCCCXCCCCCCC.CCXCXCCCCCCCCCCCCCCCCXXCCCCCCCCCCXCCCCCCCX                                                                
+BBBBB'BBBBBBBBBBB$BBBBBBB'BB$B$BBBBBBBBBBBBBBBB$$BBBBBBBBBB$BBBBBBB$                                                                
+HHHHHXHHHHHHHHHHH_HHHHHHHXHH_H_HHHHHHHHHHHHHHHH__HHHHHHHHHH_HHHHHHH_                                                                
+XXXXXCXXXXXXXXXXX&XXXXXXXCXX&X&XXXXXXXXXXXXXXXX&&XXXXXXXXXX&XXXXXXX&                                                                
 """"#"""""""""""""""""""""""""""""""""""""""""""""""""#"""""-"""-""#                                                                
+CCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCC.CCC.CCX                                                                
+BBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBB'BBB'BB$                                                                
+HHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHXHHHXHH_                                                                
+XXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXCXXXCXX&                                                                
 """"""""""""""""""""""""""""""""""""""#""""#"""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCXCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBB$BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHH_HHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXX&XXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""-"""""#"""""""""""""#""""""""""#"""""""""#"""""""""""""""#                                                                
+CCCCCCCCCC.CCCCCXCCCCCCCCCCCCCXCCCCCCCCCCXCCCCCCCCCXCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBB'BBBBB$BBBBBBBBBBBBB$BBBBBBBBBB$BBBBBBBBB$BBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHXHHHHH_HHHHHHHHHHHHH_HHHHHHHHHH_HHHHHHHHH_HHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXCXXXXX&XXXXXXXXXXXXX&XXXXXXXXXX&XXXXXXXXX&XXXXXXXXXXXXXXX&                                                                
 ""#"""##"""""""-"""-""""""""#""""""""""""""""""""#"""""""""""#"""""#                                                                
+CCXCCCXXCCCCCCC.CCC.CCCCCCCCXCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCXCCCCCX                                                                
+BB$BBB$$BBBBBBB'BBB'BBBBBBBB$BBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBB$BBBBB$                                                                
+HH_HHH__HHHHHHHXHHHXHHHHHHHH_HHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHH_HHHHH_                                                                
+XX&XXX&&XXXXXXXCXXXCXXXXXXXX&XXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXX&XXXXX&                                                                
 """"""""""""""""""""-""""""#""""""""""#"""##""#""""#"""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCC.CCCCCCXCCCCCCCCCCXCCCXXCCXCCCCXCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBB'BBBBBB$BBBBBBBBBB$BBB$$BB$BBBB$BBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHXHHHHHH_HHHHHHHHHH_HHH__HH_HHHH_HHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXCXXXXXX&XXXXXXXXXX&XXX&&XX&XXXX&XXXXXXXXXXXXXXX&                                                                
 """""""""""""""#"""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCXCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBB$BBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHH_HHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXX&XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 #""""""""""""""""""""""""""""""""""""""#"""""""""""""#"""""""""""""#                                                                
+XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCXCCCCCCCCCCCCCX                                                                
+$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBB$BBBBBBBBBBBBB$                                                                
+_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHH_HHHHHHHHHHHHH_                                                                
+&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXX&XXXXXXXXXXXXX&                                                                
 """"""#""""""""""""""""""""""""""""#""#"""""-"""""""""#"""""""#""""#                                                                
+CCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXCCCCC.CCCCCCCCCXCCCCCCCXCCCCX                                                                
+BBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBB$BB$BBBBB'BBBBBBBBB$BBBBBBB$BBBB$                                                                
+HHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHH_HH_HHHHHXHHHHHHHHH_HHHHHHH_HHHH_                                                                
+XXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXX&XX&XXXXXCXXXXXXXXX&XXXXXXX&XXXX&                                                                
 """#""""""#""""""#""""""""""""""""-"""""""""""""""""""""""""-""""""#                                                                
+CCCXCCCCCCXCCCCCCXCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCX                                                                
+BBB$BBBBBB$BBBBBB$BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB$                                                                
+HHH_HHHHHH_HHHHHH_HHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHH_                                                                
+XXX&XXXXXX&XXXXXX&XXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXX&                                                                
 """"""""""""""""""""""""""""#""""""""""""""""""""""""""""""""""#"""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXX&                                                                
 """""""""""""""""""""-"""""""""""--"""##"#""+"#"-"""""""""""""""""##                                                                
+CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCC..CCCXXCXCCCCXC.CCCCCCCCCCCCCCCCCXX                                                                
+BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBB''BBB$$B$BB B$B'BBBBBBBBBBBBBBBBB$$                                                                
+HHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHXXHHH__H_HH H_HXHHHHHHHHHHHHHHHHH__                                                                
+XXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXCCXXX&&X&XX X&XCXXXXXXXXXXXXXXXXX&&                                                                
 """"#""""-"""""""#"""""-""""#"""""""""""#"#"""""""-""""""""""""""--#                                                                
+CCCCXCCCC.CCCCCCCXCCCCC.CCCCXCCCCCCCCCCCXCXCCCCCCC.CCCCCCCCCCCCCC..X                                                                
+BBBB$BBBB'BBBBBBB$BBBBB'BBBB$BBBBBBBBBBB$B$BBBBBBB'BBBBBBBBBBBBBB''$                                                                
+HHHH_HHHHXHHHHHHH_HHHHHXHHHH_HHHHHHHHHHH_H_HHHHHHHXHHHHHHHHHHHHHHXX_                                                                
+XXXX&XXXXCXXXXXXX&XXXXXCXXXX&XXXXXXXXXXX&X&XXXXXXXCXXXXXXXXXXXXXXCC&                                                                
 """"""""-"-"""""""""#""""""""""""""""""#"""""""""""""""""""""""""""#                                                                
+CCCCCCCC.C.CCCCCCCCCXCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBB'B'BBBBBBBBB$BBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHXHXHHHHHHHHH_HHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXCXCXXXXXXXXX&XXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 "#""""""""""""""""""""-"""""""#""""""""""""""""""""""""""""""""""""#                                                                
+CXCCCCCCCCCCCCCCCCCCCC.CCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+B$BBBBBBBBBBBBBBBBBBBB'BBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+H_HHHHHHHHHHHHHHHHHHHHXHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+X&XXXXXXXXXXXXXXXXXXXXCXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""-"""""""""""""""""""-"""""""""""""""""-"""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCC.CCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB'BBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHXHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXCXXXXXXX&                                                                
 """""""""""""""""""""""""""""""""-""#"""""#""""""""""""""""""-""-""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCXCCCCCXCCCCCCCCCCCCCCCCCC.CC.CCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB$BBBBB$BBBBBBBBBBBBBBBBBB'BB'BB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHH_HHHHH_HHHHHHHHHHHHHHHHHHXHHXHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXX&XXXXX&XXXXXXXXXXXXXXXXXXCXXCXX&                                                                
 """""""""""""""-""""""""""""#""-"""""""""""""""-"""""""""#"#""""#""#                                                                
+CCCCCCCCCCCCCCC.CCCCCCCCCCCCXCC.CCCCCCCCCCCCCCC.CCCCCCCCCXCXCCCCXCCX                                                                
+BBBBBBBBBBBBBBB'BBBBBBBBBBBB$BB'BBBBBBBBBBBBBBB'BBBBBBBBB$B$BBBB$BB$                                                                
+HHHHHHHHHHHHHHHXHHHHHHHHHHHH_HHXHHHHHHHHHHHHHHHXHHHHHHHHH_H_HHHH_HH_                                                                
+XXXXXXXXXXXXXXXCXXXXXXXXXXXX&XXCXXXXXXXXXXXXXXXCXXXXXXXXX&X&XXXX&XX&                                                                
 """""""""""""""""#"""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""#"""-""-""""""-"""-"""""""""""""""""""""""-"""""""-""""#""""#                                                                
+CCCCCCCXCCC.CC.CCCCCC.CCC.CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCC.CCCCXCCCCX                                                                
+BBBBBBB$BBB'BB'BBBBBB'BBB'BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBB'BBBB$BBBB$                                                                
+HHHHHHH_HHHXHHXHHHHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHXHHHH_HHHH_                                                                
+XXXXXXX&XXXCXXCXXXXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXCXXXX&XXXX&                                                                
 """"#"""""""""""""""-"""""""""""""""""#"""#""""""""""""""""""""""""#                                                                
+CCCCXCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCXCCCXCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBB$BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB$BBB$BBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHH_HHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHH_HHH_HHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXX&XXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXX&XXX&XXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""#"""""""""""""#"""""""""""""#"""""#""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCXCCCCCCCCCCCCCXCCCCCCCCCCCCCXCCCCCXCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBB$BBBBBBBBBBBBB$BBBBBBBBBBBBB$BBBBB$BBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHH_HHHHHHHHHHHHH_HHHHHHHHHHHHH_HHHHH_HHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXX&XXXXXXXXXXXXX&XXXXXXXXXXXXX&XXXXX&XXXXXXXXXXXXXXXXXX&                                                                
 """"""""""-"""""""""""""""""#""""""""""""""###""""""""""""""""""""-#                                                                
+CCCCCCCCCC.CCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCXXXCCCCCCCCCCCCCCCCCCCC.X                                                                
+BBBBBBBBBB'BBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBB$$$BBBBBBBBBBBBBBBBBBBB'$                                                                
+HHHHHHHHHHXHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHH___HHHHHHHHHHHHHHHHHHHHX_                                                                
+XXXXXXXXXXCXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXX&&&XXXXXXXXXXXXXXXXXXXXC&                                                                
 #""""""""""""#-""-"""-""""""-"""-"""""""##"##""""""""""""""""""""""#                                                                
+XCCCCCCCCCCC+X.CC.CCC.CCCCC+.CCC.CCCCCCCXXCXXCCCCCCCCCCCCCCCCCCCCCCX                                                                
+$BBBBBBBBBBBC$'BB'BBB'BBBBBC'BBB'BBBBBBB$$B$$BBBBBBBBBBBBBBBBBBBBBB$                                                                
+_HHHHHHHHHHH _XHHXHHHXHHHHH XHHHXHHHHHHH__H__HHHHHHHHHHHHHHHHHHHHHH_                                                                
+&XXXXXXXXXXX &CXXCXXXCXXXXX CXXXCXXXXXXX&&X&&XXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""-""""""""""""""""""""#"""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""-"""""""""""""""""-""""""""""""##""#"""""""""""""""-"""""#                                                                
+CCCCCCCCCC.CCCCCCCCCCCCCCCCC.CCCCCCCCCCCCXXCCXCCCCCCCCCCCCCCC.CCCCCX                                                                
+BBBBBBBBBB'BBBBBBBBBBBBBBBBB'BBBBBBBBBBBB$$BB$BBBBBBBBBBBBBBB'BBBBB$                                                                
+HHHHHHHHHHXHHHHHHHHHHHHHHHHHXHHHHHHHHHHHH__HH_HHHHHHHHHHHHHHHXHHHHH_                                                                
+XXXXXXXXXXCXXXXXXXXXXXXXXXXXCXXXXXXXXXXXX&&XX&XXXXXXXXXXXXXXXCXXXXX&                                                                
 -"""""""""""""""""#"""-""""#""""-"""""##""#""""""""""-"""""""""#"""#                                                                
+.CCCCCCCCCCCCCCCCCXCCC.CCCCXCCCC.CCCCCXXCCXCCCCCCCCCC.CCCCCCCCCXCCCX                                                                
+'BBBBBBBBBBBBBBBBB$BBB'BBBB$BBBB'BBBBB$$BB$BBBBBBBBBB'BBBBBBBBB$BBB$                                                                
+XHHHHHHHHHHHHHHHHH_HHHXHHHH_HHHHXHHHHH__HH_HHHHHHHHHHXHHHHHHHHH_HHH_                                                                
+CXXXXXXXXXXXXXXXXX&XXXCXXXX&XXXXCXXXXX&&XX&XXXXXXXXXXCXXXXXXXXX&XXX&                                                                
 ""#"""#""""""""#"#"""#"""""""""""-"""""""#""""""""""---""""""""""""#                                                                
+CCXCCCXCCCCCCCCXCXCCCXCCCCCCCCCCC.CCCCCCCXCCCCCCCCCC...CCCCCCCCCCCCX                                                                
+BB$BBB$BBBBBBBB$B$BBB$BBBBBBBBBBB'BBBBBBB$BBBBBBBBBB'''BBBBBBBBBBBB$                                                                
+HH_HHH_HHHHHHHH_H_HHH_HHHHHHHHHHHXHHHHHHH_HHHHHHHHHHXXXHHHHHHHHHHHH_                                                                
+XX&XXX&XXXXXXXX&X&XXX&XXXXXXXXXXXCXXXXXXX&XXXXXXXXXXCCCXXXXXXXXXXXX&                                                                
 "#""""""""""""""""""""""""""""#""""""""""-"""""""""-"""""""""""""""#                                                                
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCC.CCCCCCCCC.CCCCCCCCCCCCCCCX                                                                
+B$BBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBB'BBBBBBBBB'BBBBBBBBBBBBBBB$                                                                
+H_HHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHXHHHHHHHHHXHHHHHHHHHHHHHHH_                                                                
+X&XXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXCXXXXXXXXXCXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""""""""""""""#""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""""""#"""""""""""#""""""""""""""""""""""""-""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCC.CCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBB'BB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHXHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXCXX&                                                                
 """"""""""""""""""""""""#""""""""""##"""""""#""""""""""""""""""#"""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCXXCCCCCCCXCCCCCCCCCCCCCCCCCCXCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBB$$BBBBBBB$BBBBBBBBBBBBBBBBBB$BBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHH__HHHHHHH_HHHHHHHHHHHHHHHHHH_HHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXX&&XXXXXXX&XXXXXXXXXXXXXXXXXX&XXX&                                                                
 """""""""""""#""#"""""""""#""""""-""#"#"""#"""#""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCXCCXCCCCCCCCCXCCCCCC.CCXCXCCCXCCCXCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBB$BB$BBBBBBBBB$BBBBBB'BB$B$BBB$BBB$BBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHH_HH_HHHHHHHHH_HHHHHHXHH_H_HHH_HHH_HHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXX&XX&XXXXXXXXX&XXXXXXCXX&X&XXX&XXX&XXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""-""""""""#"""""#"""#"""""""""""""#"""""""""-""""""""""""""#                                                                
+CCCCCCCCC.CCCCCCCCXCCCCCXCCCXCCCCCCCCCCCCCXCCCCCCCCC.CCCCCCCCCCCCCCX                                                                
+BBBBBBBBB'BBBBBBBB$BBBBB$BBB$BBBBBBBBBBBBB$BBBBBBBBB'BBBBBBBBBBBBBB$                                                                
+HHHHHHHHHXHHHHHHHH_HHHHH_HHH_HHHHHHHHHHHHH_HHHHHHHHHXHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXCXXXXXXXX&XXXXX&XXX&XXXXXXXXXXXXX&XXXXXXXXXCXXXXXXXXXXXXXX&                                                                
 """#"""""""""-"""#""""""""""#""""""""""""#-"""""""""""""""-"""-"""##                                                                
+CCCXCCCCCCCCC.CCCXCCCCCCCCCCXCCCCCCCCCCCCX.CCCC+CCCCCCCCCC.CCC.CCCXX                                                                
+BBB$BBBBBBBBB'BBB$BBBBBBBBBB$BBBBBBBBBBBB$'BBBBCBBBBBBBBBB'BBB'BBB$$                                                                
+HHH_HHHHHHHHHXHHH_HHHHHHHHHH_HHHHHHHHHHHH_XHHHH HHHHHHHHHHXHHHXHHH__                                                                
+XXX&XXXXXXXXXCXXX&XXXXXXXXXX&XXXXXXXXXXXX&CXXXX XXXXXXXXXXCXXXCXXX&&                                                                
 "-"""""#""#""""""""""""""""""#"""""""###"""""""""""""""""""""""""""#                                                                
+C.CCCCCXCCXCCCCCCCCCCCCCCCCCCXCCCCCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+B'BBBBB$BB$BBBBBBBBBBBBBBBBBB$BBBBBBB$$$BBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HXHHHHH_HH_HHHHHHHHHHHHHHHHHH_HHHHHHH___HHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XCXXXXX&XX&XXXXXXXXXXXXXXXXXX&XXXXXXX&&&XXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """--""""""""""""""""""""""""""""""""""""""""""-"""""""""""-"""-"""#                                                                
+CCC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCC.CCC.CCCX                                                                
+BBB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBB'BBB'BBB$                                                                
+HHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHXHHHXHHH_                                                                
+XXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXCXXXCXXX&                                                                
 """"-""""""-"""""""""""""""""""-"""""###"""""""""""""""""""""""""""#                                                                
+CCCC.CCCCCC.CCCCCCCCCCCCCCCCCCC.CCCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBB'BBBBBB'BBBBBBBBBBBBBBBBBBB'BBBBB$$$BBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHXHHHHHHXHHHHHHHHHHHHHHHHHHHXHHHHH___HHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXCXXXXXXCXXXXXXXXXXXXXXXXXXXCXXXXX&&&XXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""#""""""""""""""""#"""""""""""""""""#"""""""""""""""""""#                                                                
+CCCCCCCCCCCCXCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBB$BBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHH_HHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXX&XXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""-"""""""-"""""""""""""""""""""""#""-""""""#"#                                                                
+CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCXCC.CCCCCCXCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBB$BB'BBBBBB$B$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHH_HHXHHHHHH_H_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXX&XXCXXXXXX&X&                                                                
 """"""""""""""""""""""""""""#"""-""""#"""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCC.CCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBB'BBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHXHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXCXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """#""""""""-"""-""""""""""""#""-""""""""-"""""""""#"""""#"""""""""#                                                                
+CCCX+CCCCCCC.CCC.CCCCCCCCCCCCXCC.CCCCCCCC.CCCCCCCCCXCCCCCXCCCCCCCCCX                                                                
+BBB$CBBBBBBB'BBB'BBBBBBBBBBBB$BB'BBBBBBBB'BBBBBBBBB$BBBBB$BBBBBBBBB$                                                                
+HHH_ HHHHHHHXHHHXHHHHHHHHHHHH_HHXHHHHHHHHXHHHHHHHHH_HHHHH_HHHHHHHHH_                                                                
+XXX& XXXXXXXCXXXCXXXXXXXXXXXX&XXCXXXXXXXXCXXXXXXXXX&XXXXX&XXXXXXXXX&                                                                
 """""""-"""""""""""""""""-"#""#"""""""""#""#"""""""-""#""""-"""#"""#                                                                
+CCCCCCC.CCCCCCCCCCCCCCCCC.CXCCXCCCCCCCCCXCCXCCCCCCC.CCXCCCC.CCCXCCCX                                                                
+BBBBBBB'BBBBBBBBBBBBBBBBB'B$BB$BBBBBBBBB$BB$BBBBBBB'BB$BBBB'BBB$BBB$                                                                
+HHHHHHHXHHHHHHHHHHHHHHHHHXH_HH_HHHHHHHHH_HH_HHHHHHHXHH_HHHHXHHH_HHH_                                                                
+XXXXXXXCXXXXXXXXXXXXXXXXXCX&XX&XXXXXXXXX&XX&XXXXXXXCXX&XXXXCXXX&XXX&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""#"""""""""#""""""""""""#""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCXCCCCCCCCCXCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBB$BBBBBBBBB$BBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHH_HHHHHHHHH_HHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXX&XXXXXXXXX&XXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 "#"""""""""""""""""""""""""""#"""""""""""""""-"""+"""""""""""""""""#                                                                
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCX                                                                
+B$BBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBB'BBB BBBBBBBBBBBBBBBBB$                                                                
+H_HHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHXHHH HHHHHHHHHHHHHHHHH_                                                                
+X&XXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXCXXX XXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""-"""-"#"""""""""""""""""""""""""""-#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC.CX+CCCCCCCCCCCCCCCCCCCCCCCCCC.X                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB'B$CBBBBBBBBBBBBBBBBBBBBBBBBBB'$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHXH_ HHHHHHHHHHHHHHHHHHHHHHHHHHX_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXCX& XXXXXXXXXXXXXXXXXXXXXXXXXXC&                                                                
 """""-""""""-""""""""-"""""--#""""""""""-""""""""""""""""""""""""""#                                                                
+CCCCC.CCCCCC.CCCCCCCC.CCCCC..XCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBB'BBBBBB'BBBBBBBB'BBBBB''$BBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHXHHHHHHXHHHHHHHHXHHHHHXX_HHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXCXXXXXXCXXXXXXXXCXXXXXCC&XXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""-""#""""""-""""""""""""""""""""""""-""""""""#"""-"""""""""""#"#                                                                
+CCCCC.+CXCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCXCCC.CCCCCCCCCCCXCX                                                                
+BBBBB'CB$BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBB$BBB'BBBBBBBBBBB$B$                                                                
+HHHHHX H_HHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHH_HHHXHHHHHHHHHHH_H_                                                                
+XXXXXC X&XXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXX&XXXCXXXXXXXXXXX&X&                                                                
 """""""""""""""""""""""""-""""""""-"""""""--"""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCC.CCCCCCC..CCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBB'BBBBBBB''BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHXHHHHHHHXXHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXCXXXXXXXCCXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""-"""""""""""""""""""""""-"""#"""""""""""""""""""""""""""""#                                                                
+CCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCC.CCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBB'BBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHXHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXCXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""-"""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""-"-""""""-"""""""""""""""""-""""""""""""#"""""""""##                                                                
+CCCCCCCCCCCCCCCC.C.CCC+CC.CCCCCCCCCCCCCCCCC.CCCCCCCCCCCCXCCCCCCCCCXX                                                                
+BBBBBBBBBBBBBBBB'B'BBBCBB'BBBBBBBBBBBBBBBBB'BBBBBBBBBBBB$BBBBBBBBB$$                                                                
+HHHHHHHHHHHHHHHHXHXHHH HHXHHHHHHHHHHHHHHHHHXHHHHHHHHHHHH_HHHHHHHHH__                                                                
+XXXXXXXXXXXXXXXXCXCXXX XXCXXXXXXXXXXXXXXXXXCXXXXXXXXXXXX&XXXXXXXXX&&                                                                
 """""""#""-"""-"""-"""""""""#""""""""""""-"-"""""""""""""""""""""""#                                                                
+CCCCCCCXCC.CCC.CCC.CCCCCCCCCXCCCCCCCCCCCC.C.CCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBB$BB'BBB'BBB'BBBBBBBBB$BBBBBBBBBBBB'B'BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHH_HHXHHHXHHHXHHHHHHHHH_HHHHHHHHHHHHXHXHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXX&XXCXXXCXXXCXXXXXXXXX&XXXXXXXXXXXXCXCXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""#""-""""""#""""""""""""""""""""""#"""#"#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCC.CCCCCCXCCCCCCCCCCCCCCCCCCCCCCXCCCXCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBB$BB'BBBBBB$BBBBBBBBBBBBBBBBBBBBBB$BBB$B$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHXHHHHHH_HHHHHHHHHHHHHHHHHHHHHH_HHH_H_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXCXXXXXX&XXXXXXXXXXXXXXXXXXXXXX&XXX&X&                                                                
 """"""""-"-"""""""""""""""""""""-""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCC.C.CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBB'B'BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHXHXHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXCXCXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""-""""-""""""#""""""""""""""""""""""""""""""""""#"""""""""#"#                                                                
+CCCCCCCC.CCCC.CCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCXCX                                                                
+BBBBBBBB'BBBB'BBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBB$B$                                                                
+HHHHHHHHXHHHHXHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHH_H_                                                                
+XXXXXXXXCXXXXCXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXX&X&                                                                
 """""""""#"""""""#""""#""-"""#"""""""##""""""""""""""""""""""-"""""#                                                                
+CCCCCCCCCXCCCCCCCXCCCCXCC.CCCXCCCCCCCXXCCCCCCCCCCCCCCCCCCCCCC.CCCCCX                                                                
+BBBBBBBBB$BBBBBBB$BBBB$BB'BBB$BBBBBBB$$BBBBBBBBBBBBBBBBBBBBBB'BBBBB$                                                                
+HHHHHHHHH_HHHHHHH_HHHH_HHXHHH_HHHHHHH__HHHHHHHHHHHHHHHHHHHHHHXHHHHH_                                                                
+XXXXXXXXX&XXXXXXX&XXXX&XXCXXX&XXXXXXX&&XXXXXXXXXXXXXXXXXXXXXXCXXXXX&                                                                
 """""""""-"""""""""""""""""#""""""""-""""""""""""""""""""#""#""""""#                                                                
+CCCCCCCCC.CCCCCCCCCCCCCCCCCXCCCCCCCC.CCCCCCCCCCCCCCCCCCCCXCCXCCCCCCX                                                                
+BBBBBBBBB'BBBBBBBBBBBBBBBBB$BBBBBBBB'BBBBBBBBBBBBBBBBBBBB$BB$BBBBBB$                                                                
+HHHHHHHHHXHHHHHHHHHHHHHHHHH_HHHHHHHHXHHHHHHHHHHHHHHHHHHHH_HH_HHHHHH_                                                                
+XXXXXXXXXCXXXXXXXXXXXXXXXXX&XXXXXXXXCXXXXXXXXXXXXXXXXXXXX&XX&XXXXXX&                                                                
 """""""""""""""""""""""""-"""""""""""""""""""""""""""""""#"""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXX&                                                                
 """-""""""""""""""""-"""""""""""""-""""""""#""""""""""""""""-#"""""#                                                                
+CCC.CCCCCCCCCCCCCCCC.CCCCCCCCCCCCC.CCCCCCCCXCCCCCCCCCCCCCCCC.XCCCCCX                                                                
+BBB'BBBBBBBBBBBBBBBB'BBBBBBBBBBBBB'BBBBBBBB$BBBBBBBBBBBBBBBB'$BBBBB$                                                                
+HHHXHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHXHHHHHHHH_HHHHHHHHHHHHHHHHX_HHHHH_                                                                
+XXXCXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXCXXXXXXXX&XXXXXXXXXXXXXXXXC&XXXXX&                                                                
 """""""""-""""""""""""""""-""""""-""""""""""""""#""""""#"""""""""""#                                                                
+CCCCCCCCC.CCCCCCCCCCCCCCCC.CCCCCC.CCCCCCCCCCCCCCXCCCCCCXCCCCCCCCCCCX                                                                
+BBBBBBBBB'BBBBBBBBBBBBBBBB'BBBBBB'BBBBBBBBBBBBBB$BBBBBB$BBBBBBBBBBB$                                                                
+HHHHHHHHHXHHHHHHHHHHHHHHHHXHHHHHHXHHHHHHHHHHHHHH_HHHHHH_HHHHHHHHHHH_                                                                
+XXXXXXXXXCXXXXXXXXXXXXXXXXCXXXXXXCXXXXXXXXXXXXXX&XXXXXX&XXXXXXXXXXX&                                                                
 """"""""""""""""""-""""""-""""#""""""""""--"#"""""""""""""-""-"""""#                                                                
+CCCCCCCCCCCCCCCCCC.CCCCCC.CCCCXCCCCCCCCCC..CXCCCCCCCCCCCCC.CC.CCCCCX                                                                
+BBBBBBBBBBBBBBBBBB'BBBBBB'BBBB$BBBBBBBBBB''B$BBBBBBBBBBBBB'BB'BBBBB$                                                                
+HHHHHHHHHHHHHHHHHHXHHHHHHXHHHH_HHHHHHHHHHXXH_HHHHHHHHHHHHHXHHXHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXCXXXXXXCXXXX&XXXXXXXXXXCCX&XXXXXXXXXXXXXCXXCXXXXX&                                                                
 """""""""""""""""""""""""""""""""""""#"""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""-#""""-"-""""""""""""""""#""""""""""""""""""#"""-""""""#                                                                
+CCCCCCCCCCCC.XCCCC.C.CCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCXCCC.CCCCCCX                                                                
+BBBBBBBBBBBB'$BBBB'B'BBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBB$BBB'BBBBBB$                                                                
+HHHHHHHHHHHHX_HHHHXHXHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHH_HHHXHHHHHH_                                                                
+XXXXXXXXXXXXC&XXXXCXCXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXX&XXXCXXXXXX&                                                                
 """"""""-""-""""""--""""-"#""""--"""""""""""#""""#"""""""""""""""""#                                                                
+CCCCCCCC.CC.CCCCCC..CCCC.CXCCCC..CCCCCCCCCCCXCCCCXCCCCCCCCCCCCCC+CCX                                                                
+BBBBBBBB'BB'BBBBBB''BBBB'B$BBBB''BBBBBBBBBBB$BBBB$BBBBBBBBBBBBBBCBB$                                                                
+HHHHHHHHXHHXHHHHHHXXHHHHXH_HHHHXXHHHHHHHHHHH_HHHH_HHHHHHHHHHHHHH HH_                                                                
+XXXXXXXXCXXCXXXXXXCCXXXXCX&XXXXCCXXXXXXXXXXX&XXXX&XXXXXXXXXXXXXX XX&                                                                
 """"""""""""""""""#"""""""""""""-"""""""""""""#""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCC.CCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBB'BBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHXHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXCXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""""""""""""""""""#""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""""""""""-"-"""""""#""""""#""""""""""""""#"-"#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.CCCCCCCXCCCCCCXCCCCCCCCCCCCCCXC.CX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B'BBBBBBB$BBBBBB$BBBBBBBBBBBBBB$B'B$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXHHHHHHH_HHHHHH_HHHHHHHHHHHHHH_HXH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCXXXXXXX&XXXXXX&XXXXXXXXXXXXXX&XCX&                                                                
 """""""""---""""""""""""-"-""""--""""""""""""""""""""""-"""""-"""""#                                                                
+CCCCCCCCC...CCCCCCCCCCCC.C.CCCC..CCCCCCCCC+CCCCCCCCCCCC.CCCCC.CCCCCX                                                                
+BBBBBBBBB'''BBBBBBBBBBBB'B'BBBB''BBBBBBBBBCBBBBBBBBBBBB'BBBBB'BBBBB$                                                                
+HHHHHHHHHXXXHHHHHHHHHHHHXHXHHHHXXHHHHHHHHH HHHHHHHHHHHHXHHHHHXHHHHH_                                                                
+XXXXXXXXXCCCXXXXXXXXXXXXCXCXXXXCCXXXXXXXXX XXXXXXXXXXXXCXXXXXCXXXXX&                                                                
 "-""""""-"--""""""""""""""""""""""""""""#""""""""""""""""""""""""""#                                                                
+C.CCCCCC.C..CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+B'BBBBBB'B''BBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HXHHHHHHXHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XCXXXXXXCXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""-"""""""""""""-"""""""""""""""""""""""""""""-""#                                                                
+CCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCX                                                                
+BBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB$                                                                
+HHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHH_                                                                
+XXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXX&                                                                
 """"-""""""""""""""""""""""""#"""""""""""-"#"""""""""""""""""""""""#                                                                
+CCCC.CCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCC.CXCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBB'BBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBB'B$BBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHXHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHXH_HHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXCXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXCX&XXXXXXXXXXXXXXXXXXXXXXX&                                                                
 "-"""-""""""-""""""-""""-""""""""""-""""""-"""""""""-""""""--""""""#                                                                
+C.CCC.CCCCCC.CCCCCC.CCCC.CCCCCCCCCC.CCCCCC.CCCCCCCCC.CCCCCC..CCCCCCX                                                                
+B'BBB'BBBBBB'BBBBBB'BBBB'BBBBBBBBBB'BBBBBB'BBBBBBBBB'BBBBBB''BBBBBB$                                                                
+HXHHHXHHHHHHXHHHHHHXHHHHXHHHHHHHHHHXHHHHHHXHHHHHHHHHXHHHHHHXXHHHHHH_                                                                
+XCXXXCXXXXXXCXXXXXXCXXXXCXXXXXXXXXXCXXXXXXCXXXXXXXXXCXXXXXXCCXXXXXX&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""""""""""""""""""""""""""""""""""""-""""""#""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCXCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB$BBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHH_HHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXX&XXXXXXXXXX&                                                                
 """"""""-"--""""""""""""""-"""""""-"""""#"""#""""-""""""#""""""""-"#                                                                
+CCCCCCCC.C..CCCCCCCCCCCCCC.CCCCCCC.CCCCCXCCCXCCCC.CCCCCCXCCCCCCCC.CX                                                                
+BBBBBBBB'B''BBBBBBBBBBBBBB'BBBBBBB'BBBBB$BBB$BBBB'BBBBBB$BBBBBBBB'B$                                                                
+HHHHHHHHXHXXHHHHHHHHHHHHHHXHHHHHHHXHHHHH_HHH_HHHHXHHHHHH_HHHHHHHHXH_                                                                
+XXXXXXXXCXCCXXXXXXXXXXXXXXCXXXXXXXCXXXXX&XXX&XXXXCXXXXXX&XXXXXXXXCX&                                                                
 """"""""--"""""--"--"-""""""""""""-""""#""""""""""#"""""""""-""""""#                                                                
+CCCCCCCC..CCCCC..C..C.CCCCCCCCCCCC.CCCCXCCCCCCCCCCXCCCCCCCCC.CCCCCCX                                                                
+BBBBBBBB''BBBBB''B''B'BBBBBBBBBBBB'BBBB$BBBBBBBBBB$BBBBBBBBB'BBBBBB$                                                                
+HHHHHHHHXXHHHHHXXHXXHXHHHHHHHHHHHHXHHHH_HHHHHHHHHH_HHHHHHHHHXHHHHHH_                                                                
+XXXXXXXXCCXXXXXCCXCCXCXXXXXXXXXXXXCXXXX&XXXXXXXXXX&XXXXXXXXXCXXXXXX&                                                                
 """"-""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""-"""#                                                                
+CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC.CCCX                                                                
+BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB'BBB$                                                                
+HHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHXHHH_                                                                
+XXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXCXXX&                                                                
 """""""""-""""""""""""""""""""""""""-"""""""""""""""""""""""-""""""#                                                                
+CCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCX                                                                
+BBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBB'BBBBBB$                                                                
+HHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHXHHHHHH_                                                                
+XXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXCXXXXXX&                                                                
 """"""""""""""""""""""""""""""""--"""##""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..CCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''BBB$$BBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHH__HHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXX&&XXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""---"-"-""--"""-"""""""""""""""""#""-"-"""-"""-"""#""#""-"""""#                                                                
+CCCCCC...+.C.CC..CCC.CCCCCCCCCCCCCCCCCXCC.C.CCC.CCC.CCCXCCXCC.CCCCCX                                                                
+BBBBBB'''C'B'BB''BBB'BBBBBBBBBBBBBBBBB$BB'B'BBB'BBB'BBB$BB$BB'BBBBB$                                                                
+HHHHHHXXX XHXHHXXHHHXHHHHHHHHHHHHHHHHH_HHXHXHHHXHHHXHHH_HH_HHXHHHHH_                                                                
+XXXXXXCCC CXCXXCCXXXCXXXXXXXXXXXXXXXXX&XXCXCXXXCXXXCXXX&XX&XXCXXXXX&                                                                
 """"-""""""-"-""""""""""-"""""""""-"""#""""""""-""""""""""""-""""""#                                                                
+CCCC.CCCCCC.C.CCCCCCCCCC.CCCCCCCCC.CCCXCCCCCCCC.CCCCCCCCCCCC.CCCCCCX                                                                
+BBBB'BBBBBB'B'BBBBBBBBBB'BBBBBBBBB'BBB$BBBBBBBB'BBBBBBBBBBBB'BBBBBB$                                                                
+HHHHXHHHHHHXHXHHHHHHHHHHXHHHHHHHHHXHHH_HHHHHHHHXHHHHHHHHHHHHXHHHHHH_                                                                
+XXXXCXXXXXXCXCXXXXXXXXXXCXXXXXXXXXCXXX&XXXXXXXXCXXXXXXXXXXXXCXXXXXX&                                                                
 """""""""""""""""""""""""""""""""-"""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBCBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX&                                                                
 """""""""-""""""#-"""--"""""""""""""""#""""""""-""-"""#""""""""""""#                                                                
+CCCCCCCCC.CCCCCCX.CCC..CCCCCCCCCCCCCCCXCCCCCCCC.CC.CCCXCCCCCCCCCCCCX                                                                
+BBBBBBBBB'BBBBBB$'BBB''BBBBBBBBBBBBBBB$BBBBBBBB'BB'BBB$BBBBBBBBBBBB$                                                                
+HHHHHHHHHXHHHHHH_XHHHXXHHHHHHHHHHHHHHH_HHHHHHHHXHHXHHH_HHHHHHHHHHHH_                                                                
+XXXXXXXXXCXXXXXX&CXXXCCXXXXXXXXXXXXXXX&XXXXXXXXCXXCXXX&XXXXXXXXXXXX&                                                                
 """"""""""""-""""""""-"""-""""""-"""""""-"""""""""--""""""""""""""-#                                                                
+CCCCCCCCCCCC.CCCCCCCC.CCC.CCCCCC.CCCCCCC.CCCCCCCCC..CCCCCCCCCCCCCC.X                                                                
+BBBBBBBBBBBB'BBBBBBBB'BBB'BBBBBB'BBBBBBB'BBBBBBBBB''BBBBBBBBBBBBBB'$                                                                
+HHHHHHHHHHHHXHHHHHHHHXHHHXHHHHHHXHHHHHHHXHHHHHHHHHXXHHHHHHHHHHHHHHX_                                                                
+XXXXXXXXXXXXCXXXXXXXXCXXXCXXXXXXCXXXXXXXCXXXXXXXXXCCXXXXXXXXXXXXXXC&                                                                
 """"""""-""""-""-"--"""""-"""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCC.CCCC.CC.C..CCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBB'BBBB'BB'B''BBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHXHHHHXHHXHXXHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXCXXXXCXXCXCCXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""-""""""-""-"""-"""""-"--"""""""""""""""""""""""""""""-"""#                                                                
+CCCCCCCCCC.CCCCCC.CC.CCC.CCCCC.C..CCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCX                                                                
+BBBBBBBBBB'BBBBBB'BB'BBB'BBBBB'B''BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB$                                                                
+HHHHHHHHHHXHHHHHHXHHXHHHXHHHHHXHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHH_                                                                
+XXXXXXXXXXCXXXXXXCXXCXXXCXXXXXCXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXX&                                                                
 """"-"""-""""-"-""""-"""--""""""-""""""""""""""""""""""-"""""""""-"#                                                                
+CCCC.CCC.CCCC.C.CCCC.CCC..CCCCCC.CCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCC.CX                                                                
+BBBB'BBB'BBBB'B'BBBB'BBB''BBBBBB'BBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBB'B$                                                                
+HHHHXHHHXHHHHXHXHHHHXHHHXXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHXH_                                                                
+XXXXCXXXCXXXXCXCXXXXCXXXCCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXCX&                                                                
 """""""--""-""""""-""""""-"""""""""""#"-""""""""""""""""-""-"""#"""#                                                                
+CCCCCCC..CC.CCCCCC.CCCCCC.CCCCCCCCCCCXC.CCCCCCCCCCCCCCCC.CC.CCCXCCCX                                                                
+BBBBBBB''BB'BBBBBB'BBBBBB'BBBBBBBBBBB$B'BBBBBBBBBBBBBBBB'BB'BBB$BBB$                                                                
+HHHHHHHXXHHXHHHHHHXHHHHHHXHHHHHHHHHHH_HXHHHHHHHHHHHHHHHHXHHXHHH_HHH_                                                                
+XXXXXXXCCXXCXXXXXXCXXXXXXCXXXXXXXXXXX&XCXXXXXXXXXXXXXXXXCXXCXXX&XXX&                                                                
 """""--"--""""""""""""""""""""""""""""""""""""""""""""""-""""""""""#                                                                
+CCCCC..C..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCX                                                                
+BBBBB''B''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBB$                                                                
+HHHHHXXHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHH_                                                                
+XXXXXCCXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXX&                                                                
 """""-"""--"""-"""-"-""""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCC.CCC..CCC.CCC.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBB'BBB''BBB'BBB'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHXHHHXXHHHXHHHXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXCXXXCCXXXCXXXCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""--""-"""-"""-"-""""""""-""""""""""""""""""""""""""""""""-""#                                                                
+CCCCCCCC..CC.CCC.CCC.C.CCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCX                                                                
+BBBBBBBB''BB'BBB'BBB'B'BBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB$                                                                
+HHHHHHHHXXHHXHHHXHHHXHXHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHH_                                                                
+XXXXXXXXCCXXCXXXCXXXCXCXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXX&                                                                
 "-"""-""""-""""""""""""-"--"""--"-""""""""""""""""""""""""""""""""-#                                                                
+C.CCC.CCCC.CCCCCCCCCCCC.C..CCC..C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.X                                                                
+B'BBB'BBBB'BBBBBBBBBBBB'B''BBB''B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'$                                                                
+HXHHHXHHHHXHHHHHHHHHHHHXHXXHHHXXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX_                                                                
+XCXXXCXXXXCXXXXXXXXXXXXCXCCXXXCCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC&                                                                
 ""-"""""""""""""""""""""""""""--""""""-""""""""""""""""""""""""""""#                                                                
+CC.CCCCCCCCCCCCCCCCCCCCCCCCCCC..CCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BB'BBBBBBBBBBBBBBBBBBBBBBBBBBB''BBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHXHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXCXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""-"""""""""""""-"""""""""""""""-""""""""""""""""""""""""""#                                                                
+CCCCCCCCCC.CCCCCCCCCCCCC.CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBB'BBBBBBBBBBBBB'BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHXHHHHHHHHHHHHHXHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXCXXXXXXXXXXXXXCXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""""""""""-"""""""""""#"-"""""""""""""-"""""""-#                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCXC.CCCCCCCCCCCCC.CCCCCCC.X                                                                
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBB$B'BBBBBBBBBBBBB'BBBBBBB'$                                                                
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHH_HXHHHHHHHHHHHHHXHHHHHHHX_                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXX&XCXXXXXXXXXXXXXCXXXXXXXC&                                                                
 """"""""-"""-""+"""""""-""-"""""-"""""""""""""""""""-""""-"-"-""""-#                                                                
+CCCCCCCC.CCC.C+CCCCCCCC.CC.CCCCC.CCCCCCCCCCCCCCCCCCC.CCCC.C.C.CCCC.X                                                                
+BBBBBBBB'BBB'BC BBBBBBB'BB'BBBBB'BBBBBBBBBBBBBBBBBBB'BBBB'B'B'BBBB'$                                                                
+HHHHHHHHXHHHXH  HHHHHHHXHHXHHHHHXHHHHHHHHHHHHHHHHHHHXHHHHXHXHXHHHHX_                                                                
+XXXXXXXXCXXXCX  XXXXXXXCXXCXXXXXCXXXXXXXXXXXXXXXXXXXCXXXXCXCXCXXXXC&                                                                
 """"""""-"""""""""""""-""""""""""""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCC.CCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBB'BBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHXHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXCXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""-"""-"""-"""""""-""""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCC.CCC.CCC.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBB'BBB'BBB'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHXHHHXHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXCXXXCXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""-""""""-"""""""-""""""""--"""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCC.CCCCCC.CCCCCCC.CCCCCCCC..CCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCX                                                                
+BBBBBBBB'BBBBBB'BBBBBBB'BBBBBBBB''BBBBBBBBBBBBBBBBBCBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHXHHHHHHXHHHHHHHXHHHHHHHHXXHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHH_                                                                
+XXXXXXXXCXXXXXXCXXXXXXXCXXXXXXXXCCXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX&                                                                
 """"""-"""-"""""""-""""""""""""""""""""""-"""""""""""""""""""--""""#                                                                
+CCCCCC.CCC.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCC..CCCCX                                                                
+BBBBBB'BBB'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBB''BBBB$                                                                
+HHHHHHXHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHXXHHHH_                                                                
+XXXXXXCXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXCCXXXX&                                                                
 """"""""-""""""""""""""""-"""-""""""""""""""""""-""""""""""""""""""#                                                                
+CCCCCCCC.CCCCCCCCCCCCCCCC.CCC.CCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBB'BBBBBBBBBBBBBBBB'BBB'BBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHXHHHHHHHHHHHHHHHHXHHHXHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXCXXXXXXXXXXXXXXXXCXXXCXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXX&                                                                
 """"""""--"""""""""""""--""""""""-"""""""""""""""""""--""""""""""""#                                                                
+CCCCCCCC..CCCCCCCCCCCCC..CCCCCCCC.C+CCCCCCCCCCCCCCCCC..CCCCCCCCCCCCX                                                                
+BBBBBBBB''BBBBBBBBBBBBB''BBBBBBBB'BCBBBBBBBBBBBBBBBBB''BBBBBBBBBBBB$                                                                
+HHHHHHHHXXHHHHHHHHHHHHHXXHHHHHHHHXH HHHHHHHHHHHHHHHHHXXHHHHHHHHHHHH_                                                                
+XXXXXXXXCCXXXXXXXXXXXXXCCXXXXXXXXCX XXXXXXXXXXXXXXXXXCCXXXXXXXXXXXX&                                                                
 """"""""-"-""""""""""""""-""""""""""#""""""""""""""""""""""""-"""""#                                                                
+CCCCCCCC.C.CCCCCCCCCCCCCC.CCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCX                                                                
+BBBBBBBB'B'BBBBBBBBBBBBBB'BBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBB'BBBBB$                                                                
+HHHHHHHHXHXHHHHHHHHHHHHHHXHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHXHHHHH_                                                                
+XXXXXXXXCXCXXXXXXXXXXXXXXCXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXCXXXXX&                                                                
 """""""""---""""""""""-"""""""""-""""""-""""""""-"""""""""""-""-"""#                                                                
+CCCCCCCCC...CCCCCCCCCC.CCCCCCCCC.CCCCCC.CCCCCCCC.CCCCCCCCCCC.CC.CCCX                                                                
+BBBBBBBBB'''BBBBBBBBBB'BBBBBBBBB'BBBBBB'BBBBBBBB'BBBBBBBBBBB'BB'BBB$                                                                
+HHHHHHHHHXXXHHHHHHHHHHXHHHHHHHHHXHHHHHHXHHHHHHHHXHHHHHHHHHHHXHHXHHH_                                                                
+XXXXXXXXXCCCXXXXXXXXXXCXXXXXXXXXCXXXXXXCXXXXXXXXCXXXXXXXXXXXCXXCXXX&                                                                
 """"""""-""-"-""-"""-""""""""""""""""""-""""-""""""""""""""""""""""#                                                                
+CCCCCCCC.CC.C.CC.CCC.CCCCCCCCCCCCCCCCCC.CCCC.CCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBB'BB'B'BB'BBB'BBBBBBBBBBBBBBBBBB'BBBB'BBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHXHHXHXHHXHHHXHHHHHHHHHHHHHHHHHHXHHHHXHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXCXXCXCXXCXXXCXXXXXXXXXXXXXXXXXXCXXXXCXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""-"""""""""""-""""""""""""""""""""""""""-""""""""""-"""""""#                                                                
+CCCCCCCCC.CCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCC.CCCCCCCX                                                                
+BBBBBBBBB'BBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBB'BBBBBBB$                                                                
+HHHHHHHHHXHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHXHHHHHHH_                                                                
+XXXXXXXXXCXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXCXXXXXXX&                                                                
 """"""""""""""""""-"""-"""""""""""-""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCC.CCC.CCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBB'BBB'BBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHXHHHXHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXCXXXCXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""--"""""""""""""""""""""""-#"""""""""""-""""-""""-"""-"""#                                                                
+CCCCCCCCCCC..CCCCCCCCCCCCCCCCCCCCCCC.XCCCCCCCCCCC.CCCC.CCCC.CCC.CCCX                                                                
+BBBBBBBBBBB''BBBBBBBBBBBBBBBBBBBBBBB'$BBBBBBBBBBB'BBBB'BBBB'BBB'BBB$                                                                
+HHHHHHHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHX_HHHHHHHHHHHXHHHHXHHHHXHHHXHHH_                                                                
+XXXXXXXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXC&XXXXXXXXXXXCXXXXCXXXXCXXXCXXX&                                                                
 "-""""""""""""""""""""""""""-"-""-"""""""""""""-"""-""""""""-""-"""#                                                                
+C.CCCCCCCCCCCCCCCCCCCCCCCCCC.C.CC.CCCCCCCCCCCCC.CCC.CCCCCCCC.CC.CCCX                                                                
+B'BBBBBBBBBBBBBBBBBBBBBBBBBB'B'BB'BBBBBBBBBBBBB'BBB'BBBBBBBB'BB'BBB$                                                                
+HXHHHHHHHHHHHHHHHHHHHHHHHHHHXHXHHXHHHHHHHHHHHHHXHHHXHHHHHHHHXHHXHHH_                                                                
+XCXXXXXXXXXXXXXXXXXXXXXXXXXXCXCXXCXXXXXXXXXXXXXCXXXCXXXXXXXXCXXCXXX&                                                                
 """"""""""-"""""""--"""""""""""""""""""-"""""""""""""""""""""""""""#                                                                
+CCCCCCCCCC.CCCCCCC..CCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBB'BBBBBBB''BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHXHHHHHHHXXHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXCXXXXXXXCCXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""-"""""""""""---"-"""""""""-"""""-""""""""-"""""""""""#""-"#                                                                
+CCCCCCCCC.CCCCCCCCCCC...C.CCCCCCCCC.CCCCC.CCCCCCCC.CCCCCCCCCCCXCC.CX                                                                
+BBBBBBBBB'BBBBBBBBBBB'''B'BBBBBBBBB'BBBBB'BBBBBBBB'BBBBBBBBBBB$BB'B$                                                                
+HHHHHHHHHXHHHHHHHHHHHXXXHXHHHHHHHHHXHHHHHXHHHHHHHHXHHHHHHHHHHH_HHXH_                                                                
+XXXXXXXXXCXXXXXXXXXXXCCCXCXXXXXXXXXCXXXXXCXXXXXXXXCXXXXXXXXXXX&XXCX&                                                                
 "-""""""""--""""""""""-"--"--""""-""""""""-""""#"-"""""""""""""""""#                                                                
+C.CCCCCCCC..CCCCCCCCCC.C..C..CCCC.CCCCCCCC.CCCCXC.CCCCCCCCCCCCCCCCCX                                                                
+B'BBBBBBBB''BBBBBBBBBB'B''B''BBBB'BBBBBBBB'BBBB$B'BBBBBBBBBBBBBBBBB$                                                                
+HXHHHHHHHHXXHHHHHHHHHHXHXXHXXHHHHXHHHHHHHHXHHHH_HXHHHHHHHHHHHHHHHHH_                                                                
+XCXXXXXXXXCCXXXXXXXXXXCXCCXCCXXXXCXXXXXXXXCXXXX&XCXXXXXXXXXXXXXXXXX&                                                                
 """"""""""""""""""""""-""""-""-""""""#""""-""""""""""""""""""""""""#                                                                
+CCCCCCCCCCCCCCCCCCCCCC.CCCC.CC.CCCCCCXCCCC.CCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBBBBBBB'BBBB'BB'BBBBBB$BBBB'BBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHHHHHHXHHHHXHHXHHHHHH_HHHHXHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXXXXXXCXXXXCXXCXXXXXX&XXXXCXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """""""""""""""-"--"""""""""""-""-"""""""""""""""""""""""-"""""""""#                                                                
+CCCCCCCCCCCCCCC.C..CCCCCCCCCCC.CC.CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCX                                                                
+BBBBBBBBBBBBBBB'B''BBBBBBBBBBB'BB'BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHXHXXHHHHHHHHHHHXHHXHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXCXCCXXXXXXXXXXXCXXCXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXX&                                                                
 """""""""""""""""-""""""""""""-""""""""""""""""""""""""-"""""""""""#                                                                
+CCCCCCCCCCCCCCCCC.CCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCX                                                                
+BBBBBBBBBBBBBBBBB'BBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBB$                                                                
+HHHHHHHHHHHHHHHHHXHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHH_                                                                
+XXXXXXXXXXXXXXXXXCXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXX&                                                                
 "-"""""""""---""""""""-"-"-"""-"-""""""""""""-"""""""""""--""""""-"#                                                                
+C.CCCCCCCCC...CCCCCCCC.C.C.CCC.C.CCCCCCCCCCCC.CCCCCCCCCCC..CCCCCC.CX                                                                
+B'BBBBBBBBB'''BBBBBBBB'B'B'BBB'B'BBBBBBBBBBBB'BBBBBBBBBBB''BBBBBB'B$                                                                
+HXHHHHHHHHHXXXHHHHHHHHXHXHXHHHXHXHHHHHHHHHHHHXHHHHHHHHHHHXXHHHHHHXH_                                                                
+XCXXXXXXXXXCCCXXXXXXXXCXCXCXXXCXCXXXXXXXXXXXXCXXXXXXXXXXXCCXXXXXXCX&                                                                
 """""""""""""""""-"""-""-"""""-""-""""""""""""""""-"""""""""""-""""#                                                                
+CCCCCCCCCCCCCCCCC.CCC.CC.CCCCC.CC.CCCCCCCCCCCCCCCC.CCCCCCCCCCC.CCCCX                                                                
+BBBBBBBBBBBBBBBBB'BBB'BB'BBBBB'BB'BBBBBBBBBBBBBBBB'BBBBBBBBBBB'BBBB$                                                                
+HHHHHHHHHHHHHHHHHXHHHXHHXHHHHHXHHXHHHHHHHHHHHHHHHHXHHHHHHHHHHHXHHHH_                                                                
+XXXXXXXXXXXXXXXXXCXXXCXXCXXXXXCXXCXXXXXXXXXXXXXXXXCXXXXXXXXXXXCXXXX&                                                                
 -""""-""""""""""-""-"-""-"""""""""-"""""""""-"""""-""""-"""""""""""#                                                                
+.CCCC.CCCCCCCCCC.CC.C.CC.CCCCCCCCC.CCCCCCCCC.CCCCC.CCCC.CCCCCCCCCCCX                                                                
+'BBBB'BBBBBBBBBB'BB'B'BB'BBBBBBBBB'BBBBBBBBB'BBBBB'BBBB'BBBBBBBBBBB$                                                                
+XHHHHXHHHHHHHHHHXHHXHXHHXHHHHHHHHHXHHHHHHHHHXHHHHHXHHHHXHHHHHHHHHHH_                                                                
+CXXXXCXXXXXXXXXXCXXCXCXXCXXXXXXXXXCXXXXXXXXXCXXXXXCXXXXCXXXXXXXXXXX&                                                                
 """"""-""-""""--""""--""-"""""""""-""""""""-"""""""""""-"""""""""""#                                                                
+CCCCCC.CC.CCCC..CCCC..CC.CCCCCCCCC.CCCCCCCC.CCCCCCCCCCC.CCCCCCCCCCCX                                                                
+BBBBBB'BB'BBBB''BBBB''BB'BBBBBBBBB'BBBBBBBB'BBBBBBBBBBB'BBBBBBBBBBB$                                                                
+HHHHHHXHHXHHHHXXHHHHXXHHXHHHHHHHHHXHHHHHHHHXHHHHHHHHHHHXHHHHHHHHHHH_                                                                
+XXXXXXCXXCXXXXCCXXXXCCXXCXXXXXXXXXCXXXXXXXXCXXXXXXXXXXXCXXXXXXXXXXX&                                                                
 -"""""""""--"""-#-""""-"-""""-""""-"-""""""""""-"-"""""""""""""""""#                                                                
+.CCCCCCCCC..CCC.X.CCCC.C.CCCC.CCCC.C.CCCCCCCCCC.C.CCCCCCCCCCCCCCCCCX                                                                
+'BBBBBBBBB''BBB'$'BBBB'B'BBBB'BBBB'B'BBBBBBBBBB'B'BBBBBBBBBBBBBBBBB$                                                                
+XHHHHHHHHHXXHHHX_XHHHHXHXHHHHXHHHHXHXHHHHHHHHHHXHXHHHHHHHHHHHHHHHHH_                                                                
+CXXXXXXXXXCCXXXC&CXXXXCXCXXXXCXXXXCXCXXXXXXXXXXCXCXXXXXXXXXXXXXXXXX&                                                                
 """"""""""-""-""-"""""""-"""""""-"""-"""""""""""""""""""""""""-"-"-#                                                                
+CCCCCCCCCC.CC.CC.CCCCCCC.CCCCCCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCC.C.C.X                                                                
+BBBBBBBBBB'BB'BB'BBBBBBB'BBBBBBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBB'B'B'$                                                                
+HHHHHHHHHHXHHXHHXHHHHHHHXHHHHHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHXHXHX_                                                                
+XXXXXXXXXXCXXCXXCXXXXXXXCXXXXXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXCXCXC&                                                                
 """"""""""-"-"""""""""-"""-"""""--"""""""""""""""""""""""""""""""""#                                                                
+CCCCCCCCCC.C.CCCCCCCCC.CCC.CCCCC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX                                                                
+BBBBBBBBBB'B'BBBBBBBBB'BBB'BBBBB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$                                                                
+HHHHHHHHHHXHXHHHHHHHHHXHHHXHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_                                                                
+XXXXXXXXXXCXCXXXXXXXXXCXXXCXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&                                                                
 """"""""""--"""-""""""""""-""""""--"""-"""-"""""-"""""-""-"""""""""#                                                                
+CCCCCCCCCC..CCC.CCCCCCCCCC.CCCCCC..CCC.CCC.CCCCC.CCCCC.CC.CCCCC+CCCX                                                                
+BBBBBBBBBB''BBB'BBBBBBBBBB'BBBBBB''BBB'BBB'BBBBB'BBBBB'BB'BBBBBCBBB$                                                                
+HHHHHHHHHHXXHHHXHHHHHHHHHHXHHHHHHXXHHHXHHHXHHHHHXHHHHHXHHXHHHHH HHH_                                                                
+XXXXXXXXXXCCXXXCXXXXXXXXXXCXXXXXXCCXXXCXXXCXXXXXCXXXXXCXXCXXXXX XXX&                                                                
 """""-"""-"-"-"""""---"""--""""--""-"""--""""""""""-""-""-"""""-""-#                                                                
+CCCCC.CCC.C.C.CCCCC...CCC..CCCC..CC.CCC..CCCCCCCCCC.CC.CC.CCCCC.CC.X                                                                
+BBBBB'BBB'B'B'BBBBB'''BBB''BBBB''BB'BBB''BBBBBBBBBB'BB'BB'BBBBB'BB'$                                                                
+HHHHHXHHHXHXHXHHHHHXXXHHHXXHHHHXXHHXHHHXXHHHHHHHHHHXHHXHHXHHHHHXHHX_                                                                
+XXXXXCXXXCXCXCXXXXXCCCXXXCCXXXXCCXXCXXXCCXXXXXXXXXXCXXCXXCXXXXXCXXC&                                                                
 "-"""""--""-""""-""-"""""--"""""""--"""-"-"-"-"""""""-""-""""""--"-#                                                                
+C.CCCCC..CC.CCCC.CC.CCCCC..CCCCCCC..CCC.C.C.C.CCCCCCC.CC.CCCCCC..C.X                                                                
+B'BBBBB''BB'BBBB'BB'BBBBB''BBBBBBB''BBB'B'B'B'BBBBBBB'BB'BBBBBB''B'$                                                                
+HXHHHHHXXHHXHHHHXHHXHHHHHXXHHHHHHHXXHHHXHXHXHXHHHHHHHXHHXHHHHHHXXHX_                                                                
+XCXXXXXCCXXCXXXXCXXCXXXXXCCXXXXXXXCCXXXCXCXCXCXXXXXXXCXXCXXXXXXCCXC&                                                                
 """-""""""""""""""-"""""-"-""""""--""""""""-""""""""-"""--"""""-"""#                                                                
+CCC.CCCCCCCCCCCCCC.CCCCC.C.CCCCCC..CCCCCCCC.CCCCCCCC.CCC..CCCCC.CCCX                                                                
+BBB'BBBBBBBBBBBBBB'BBBBB'B'BBBBBB''BBBBBBBB'BBBBBBBB'BBB''BBBBB'BBB$                                                                
+HHHXHHHHHHHHHHHHHHXHHHHHXHXHHHHHHXXHHHHHHHHXHHHHHHHHXHHHXXHHHHHXHHH_                                                                
+XXXCXXXXXXXXXXXXXXCXXXXXCXCXXXXXXCCXXXXXXXXCXXXXXXXXCXXXCCXXXXXCXXX&                                                                
 """"""""""-"--""""""""""""-"""""""-""""""""""""""""-""-"""""""""""-#                                                                
+CCCCCCCCCC.C..CCCCCCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCC.CC.CCCCCCCCCCC.X                                                                
+BBBBBBBBBB'B''BBBBBBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBB'BB'BBBBBBBBBBB'$                                                                
+HHHHHHHHHHXHXXHHHHHHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHXHHXHHHHHHHHHHHX_                                                                
+XXXXXXXXXXCXCCXXXXXXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXCXXCXXXXXXXXXXXC&                                                                
 "-""-""""-"-"-""""-"-""-"-"""""-"--"""""""""""""""="-"-""""""""""""#                                                                
+C.CC.CCCC.C.C.CCCC.C.C+.C.CCCCC.C..CCCCCCCCCCCCCCCCC.C.CCCCCCCCCCCCX                                                                
+B'BB'BBBB'B'B'BBBB'B'BC'B'BBBBB'B''BBBBBBBBBBBBBBB B'B'BBBBBBBBBBBB$                                                                
+HXHHXHHHHXHXHXHHHHXHXH XHXHHHHHXHXXHHHHHHHHHHHHHHH HXHXHHHHHHHHHHHH_                                                                
+XCXXCXXXXCXCXCXXXXCXCX CXCXXXXXCXCCXXXXXXXXXXXXXXX XCXCXXXXXXXXXXXX&                                                                
 ""-""""""-"""-""""-"-"-"""-"#"------""""""""""-"""-""---"""-""-"-""#                                                                
+CC.CCCCCC.+CC.CCCC.C.C.CCC.CXC......CCCCCCCCCC.CCC.CC...CCC.CC.C.CCX                                                                
+BB'BBBBBB'CBB'BBBB'B'B'BBB'B$B''''''BBBBBBBBBB'BBB'BB'''BBB'BB'B'BB$                                                                
+HHXHHHHHHX HHXHHHHXHXHXHHHXH_HXXXXXXHHHHHHHHHHXHHHXHHXXXHHHXHHXHXHH_                                                                
+XXCXXXXXXC XXCXXXXCXCXCXXXCX&XCCCCCCXXXXXXXXXXCXXXCXXCCCXXXCXXCXCXX&                                                                
 """"""""-"""-""-""""-"""----"-""---"""""-"""""---""-"--""""""""--"-#                                                                
+CCCCCCCC.CCC.CC.CCCC.CCC....C.CC...CCCCC.CCCCC...CC.C..CCCCCCCC..C.X                                                                
+BBBBBBBB'BBB'BB'BBBB'BBB''''B'BB'''BBBBB'BBBBB'''BB'B''BBBBBBBB''B'$                                                                
+HHHHHHHHXHHHXHHXHHHHXHHHXXXXHXHHXXXHHHHHXHHHHHXXXHHXHXXHHHHHHHHXXHX_                                                                
+XXXXXXXXCXXXCXXCXXXXCXXXCCCCXCXXCCCXXXXXCXXXXXCCCXXCXCCXXXXXXXXCCXC&                                                                
 ---"-""""""----"""-"--"""--"""""---""""""""-"""-""-"-"""""---""--"-#                                                                
+...C.CCCCCC....CCC.C..CCC..CCCCC...CCCCCCCC.CCC.CC.C.CCCCC...CC..C.X                                                                
+'''B'BBBBBB''''BBB'B''BBB''BBBBB'''BBBBBBBB'BBB'BB'B'BBBBB'''BB''B'$                                                                
+XXXHXHHHHHHXXXXHHHXHXXHHHXXHHHHHXXXHHHHHHHHXHHHXHHXHXHHHHHXXXHHXXHX_                                                                
+CCCXCXXXXXXCCCCXXXCXCCXXXCCXXXXXCCCXXXXXXXXCXXXCXXCXCXXXXXCCCXXCCXC&                                                                
 -""""""-"----""""---""""""--""#"""---"""--""-""""""-""""-""-""""--"#                                                                
+.CCCCCC.C....CCCC...CCCCCC..CCXCCC...CCC..CC.CCCCCC.CCCC.CC.CCCC..CX                                                                
+'BBBBBB'B''''BBBB'''BBBBBB''BB$BBB'''BBB''BB'BBBBBB'BBBB'BB'BBBB''B$                                                                
+XHHHHHHXHXXXXHHHHXXXHHHHHHXXHH_HHHXXXHHHXXHHXHHHHHHXHHHHXHHXHHHHXXH_                                                                
+CXXXXXXCXCCCCXXXXCCCXXXXXXCCXX&XXXCCCXXXCCXXCXXXXXXCXXXXCXXCXXXXCCX&                                                                
 ----"""""""---"-"""-""""-"-"""""-"--"""""""""""""""-""""""""""-""""#                                                                
+....CCCCCCC...C.CCC.CCCC.C.CCCCC.C..CCCCCCCCCCCCCCC.CCCCCCCCCC.CCCCX                                                                
+''''BBBBBBB'''B'BBB'BBBB'B'BBBBB'B''BBBBBBBBBBBBBBB'BBBBBBBBBB'BBBB$                                                                
+XXXXHHHHHHHXXXHXHHHXHHHHXHXHHHHHXHXXHHHHHHHHHHHHHHHXHHHHHHHHHHXHHHH_                                                                
+CCCCXXXXXXXCCCXCXXXCXXXXCXCXXXXXCXCCXXXXXXXXXXXXXXXCXXXXXXXXXXCXXXX&                                                                
 """"""-""""---""""-""""""-""""""--""""""""""""""-""-"""""""""-"""""#                                                                
+CCCCCC.CCCC...CCCC.CCCCCC.CCCCCC..CCCCCCCCCCCCCC.CC.CCCCCCCCC.CCCCCX                                                                
+BBBBBB'BBBB'''BBBB'BBBBBB'BBBBBB''BBBBBBBBBBBBBB'BB'BBBBBBBBB'BBBBB$                                                                
+HHHHHHXHHHHXXXHHHHXHHHHHHXHHHHHHXXHHHHHHHHHHHHHHXHHXHHHHHHHHHXHHHHH_                                                                
+XXXXXXCXXXXCCCXXXXCXXXXXXCXXXXXXCCXXXXXXXXXXXXXXCXXCXXXXXXXXXCXXXXX&                                                                
 "-"""""""""""-""""-""""---"""""-----""""""-"-""--"""""""""""-"-""""#                                                                
+C.CCCCCCCCCCC.CCCC.CCCC...CCCCC.....CCCCCC.C.CC..CCCCCCCCCCC.C.CCCCX                                                                
+B'BBBBBBBBBBB'BBBB'BBBB'''BBBBB'''''BBBBBB'B'BB''BBBBBBBBBBB'B'BBBB$                                                                
+HXHHHHHHHHHHHXHHHHXHHHHXXXHHHHHXXXXXHHHHHHXHXHHXXHHHHHHHHHHHXHXHHHH_                                                                
+XCXXXXXXXXXXXCXXXXCXXXXCCCXXXXXCCCCCXXXXXXCXCXXCCXXXXXXXXXXXCXCXXXX&                                                                
 "--"-""--"--"-""""""""---"--"""""---""-""-"""""-----"-"""-"-"-"-"""#                                                                
+C..C.CC..C..C.CCCCCCCC...C..CCCCC...CC.CC.CCCCC.....C.CCC.C.C.C.CCCX                                                                
+B''B'BB''B''B'BBBBBBBB'''B''BBBBB'''BB'BB'BBBBB'''''B'BBB'B'B'B'BBB$                                                                
+HXXHXHHXXHXXHXHHHHHHHHXXXHXXHHHHHXXXHHXHHXHHHHHXXXXXHXHHHXHXHXHXHHH_                                                                
+XCCXCXXCCXCCXCXXXXXXXXCCCXCCXXXXXCCCXXCXXCXXXXXCCCCCXCXXXCXCXCXCXXX&                                                                
 """""""""""-"""-""-"""-"---""""-"-"-""""""""""-"""""""-"""""-"""-"-#                                                                
+CCCCCCCCCCC.CCC.CC.CCC.C...CCCC.C.C.CCCCCCCCCC.CCCCCCC.CCCCC.CCC.C.X                                                                
+BBBBBBBBBBB'BBB'BB'BBB'B'''BBBB'B'B'BBBBBBBBBB'BBBBBBB'BBBBB'BBB'B'$                                                                
+HHHHHHHHHHHXHHHXHHXHHHXHXXXHHHHXHXHXHHHHHHHHHHXHHHHHHHXHHHHHXHHHXHX_                                                                
+XXXXXXXXXXXCXXXCXXCXXXCXCCCXXXXCXCXCXXXXXXXXXXCXXXXXXXCXXXXXCXXXCXC&                                                                
 """""""""---""--"--"-"-"-"-"""""--""-""-"""-"""-""-"""-""-""-"""""-#                                                                
+CCCCCCCCC...CC..C..C.C.C.C.CCCCC..CC.CC.CCC.CCC.CC.CCC.CC.CC.CCCCC.X                                                                
+BBBBBBBBB'''BB''B''B'B'B'B'BBBBB''BB'BB'BBB'BBB'BB'BBB'BB'BB'BBBBB'$                                                                
+HHHHHHHHHXXXHHXXHXXHXHXHXHXHHHHHXXHHXHHXHHHXHHHXHHXHHHXHHXHHXHHHHHX_                                                                
+XXXXXXXXXCCCXXCCXCCXCXCXCXCXXXXXCCXXCXXCXXXCXXXCXXCXXXCXXCXXCXXXXXC&                                                                
 "-""""""""""-"-""""""""--"-"""-"---"--""""""""---""""--"""-"--""""-#                                                                
+C.CCCCCCCCCC.C.CCCCCCCC..C.CCC.C...C..CCCCCCCC...CCCC..CCC.C..CCCC.X                                                                
+B'BBBBBBBBBB'B'BBBBBBBB''B'BBB'B'''B''BBBBBBBB'''BBBB''BBB'B''BBBB'$                                                                
+HXHHHHHHHHHHXHXHHHHHHHHXXHXHHHXHXXXHXXHHHHHHHHXXXHHHHXXHHHXHXXHHHHX_                                                                
+XCXXXXXXXXXXCXCXXXXXXXXCCXCXXXCXCCCXCCXXXXXXXXCCCXXXXCCXXXCXCCXXXXC&                                                                
 """-"--"-""---"--""""--""""--"""----""-"""-"-"-""""""-"-"-"""""--"-#                                                                
+CCC.C..C.CC...C..CCCC..CCCC..CC+....CC.CCC.C.C.CCCCCC.C.C.CCCCC..C.X                                                                
+BBB'B''B'BB'''B''BBBB''BBBB''BBC''''BB'BBB'B'B'BBBBBB'B'B'BBBBB''B'$                                                                
+HHHXHXXHXHHXXXHXXHHHHXXHHHHXXHH XXXXHHXHHHXHXHXHHHHHHXHXHXHHHHHXXHX_                                                                
+XXXCXCCXCXXCCCXCCXXXXCCXXXXCCXX CCCCXXCXXXCXCXCXXXXXXCXCXCXXXXXCCXC&                                                                
 """"""""""-"-"""""-"""+"""""""""-"--""""""-"""-"""""----"-"""""-"""#                                                                
+CCCCCCCCCC.C.CCCCC.CCCCCCCCCCCCC.C..CCCCCC.CCC.CCCCC....C.CCCCC.CCCX                                                                
+BBBBBBBBBB'B'BBBBB'BBB BBBBBBBBB'B''BBBBBB'BBB'BBBBB''''B'BBBBB'BBB$                                                                
+HHHHHHHHHHXHXHHHHHXHHH HHHHHHHHHXHXXHHHHHHXHHHXHHHHHXXXXHXHHHHHXHHH_                                                                
+XXXXXXXXXXCXCXXXXXCXXX XXXXXXXXXCXCCXXXXXXCXXXCXXXXXCCCCXCXXXXXCXXX&                                                                
 """"-"""""""--"""""""""""--"""-"----""""""-"""-"""-"-""-"""""---"--#                                                                
+CCCC.CCCCCCC..CCCCCCCCCCC..CCC.C....CCCCCC.CCC.CCC.C.CC.CCCCC...C..X                                                                
+BBBB'BBBBBBB''BBBBBBBBBBB''BBB'B''''BBBBBB'BBB'BBB'B'BB'BBBBB'''B''$                                                                
+HHHHXHHHHHHHXXHHHHHHHHHHHXXHHHXHXXXXHHHHHHXHHHXHHHXHXHHXHHHHHXXXHXX_                                                                
+XXXXCXXXXXXXCCXXXXXXXXXXXCCXXXCXCCCCXXXXXXCXXXCXXXCXCXXCXXXXXCCCXCC&                                                                
 """"""""""""-"-"-""""""-""-""""---"--"""""""""-""--"""-""""-"----"-#                                                                
+CCCCCCCCCCCC.C.C.CCCCCC.CC.CCCC...C..CCCCCCCCC.CC..CCC.CCCC.C....C.X                                                                
+BBBBBBBBBBBB'B'B'BBBBBB'BB'BBBB'''B''BBBBBBBBB'BB''BBB'BBBB'B''''B'$                                                                
+HHHHHHHHHHHHXHXHXHHHHHHXHHXHHHHXXXHXXHHHHHHHHHXHHXXHHHXHHHHXHXXXXHX_                                                                
+XXXXXXXXXXXXCXCXCXXXXXXCXXCXXXXCCCXCCXXXXXXXXXCXXCCXXXCXXXXCXCCCCXC&                                                                
 """"-""-"""--""""-""---""--""""---"-"""---"-""""-"-"-----"-"""-"""-#                                                                
+CCCC.CC.CCC..CCCC.CC...CC..CCCC...C.CCC...C.CCCC.C.C.....C.CCC.CCC.X                                                                
+BBBB'BB'BBB''BBBB'BB'''BB''BBBB'''B'BBB'''B'BBBB'B'B'''''B'BBB'BBB'$                                                                
+HHHHXHHXHHHXXHHHHXHHXXXHHXXHHHHXXXHXHHHXXXHXHHHHXHXHXXXXXHXHHHXHHHX_                                                                
+XXXXCXXCXXXCCXXXXCXXCCCXXCCXXXXCCCXCXXXCCCXCXXXXCXCXCCCCCXCXXXCXXXC&                                                                
 """""""""-"--"-"""-""-""----""-----"""""""-""""""-""""-"""-"""--"--#                                                                
+CCCCCCCCC.C..C.CCC.CC.CC....CC.....CCCCCCC.CCCCCC.CCCC.CCC.CCC..C..X                                                                
+BBBBBBBBB'B''B'BBB'BB'BB''''BB'''''BBBBBBB'BBBBBB'BBBB'BBB'BBB''B''$                                                                
+HHHHHHHHHXHXXHXHHHXHHXHHXXXXHHXXXXXHHHHHHHXHHHHHHXHHHHXHHHXHHHXXHXX_                                                                
+XXXXXXXXXCXCCXCXXXCXXCXXCCCCXXCCCCCXXXXXXXCXXXXXXCXXXXCXXXCXXXCCXCC&                                                                
 """"""-"""-"""-"----""-"---""""------""""-""-"""""--"-"""-""--""-""#                                                                
+CCCCCC.CCC.CCC.C....CC.C...CCCC......CCCC.CC.CCCCC..C.CCC.CC..CC.CCX                                                                
+BBBBBB'BBB'BBB'B''''BB'B'''BBBB''''''BBBB'BB'BBBBB''B'BBB'BB''BB'BB$                                                                
+HHHHHHXHHHXHHHXHXXXXHHXHXXXHHHHXXXXXXHHHHXHHXHHHHHXXHXHHHXHHXXHHXHH_                                                                
+XXXXXXCXXXCXXXCXCCCCXXCXCCCXXXXCCCCCCXXXXCXXCXXXXXCCXCXXXCXXCCXXCXX&                                                                
 """"""""---"-"""-""-""-"---"""""""-""""""-"--"--""-""""""--"-""--""#                                                                
+CCCCCCCC...C.CCC.CC.CC.C...CCCCCCC.CCCCCC.C..C..CC.CCCCCC..C.CC..CCX                                                                
+BBBBBBBB'''B'BBB'BB'BB'B'''BBBBBBB'BBBBBB'B''B''BB'BBBBBB''B'BB''BB$                                                                
+HHHHHHHHXXXHXHHHXHHXHHXHXXXHHHHHHHXHHHHHHXHXXHXXHHXHHHHHHXXHXHHXXHH_                                                                
+XXXXXXXXCCCXCXXXCXXCXXCXCCCXXXXXXXCXXXXXXCXCCXCCXXCXXXXXXCCXCXXCCXX&                                                                
 ""-"""--"-""-"--""--""-"----"""---"--""-"---"-"-"--"""-----"-"-""""#                                                                
+CC.CCC..C.CC.C..CC..CC.C....CCC...C..CC.C...C.C.C..CCC.....C.C.CCCCX                                                                
+BB'BBB''B'BB'B''BB''BB'B''''BBB'''B''BB'B'''B'B'B''BBB'''''B'B'BBBB$                                                                
+HHXHHHXXHXHHXHXXHHXXHHXHXXXXHHHXXXHXXHHXHXXXHXHXHXXHHHXXXXXHXHXHHHH_                                                                
+XXCXXXCCXCXXCXCCXXCCXXCXCCCCXXXCCCXCCXXCXCCCXCXCXCCXXXCCCCCXCXCXXXX&                                                                
 ""-"""""------""-""-""-"""-"""--"----"""""-"--""---"""---""""""-"""#                                                                
+CC.CCCCC......CC.CC.CC.CCC.CCC..C....CCCCC.C..CC...CCC...CCCCCC.CCCX                                                                
+BB'BBBBB''''''BB'BB'BB'BBB'BBB''B''''BBBBB'B''BB'''BBB'''BBBBBB'BBB$                                                                
+HHXHHHHHXXXXXXHHXHHXHHXHHHXHHHXXHXXXXHHHHHXHXXHHXXXHHHXXXHHHHHHXHHH_                                                                
+XXCXXXXXCCCCCCXXCXXCXXCXXXCXXXCCXCCCCXXXXXCXCCXXCCCXXXCCCXXXXXXCXXX&                                                                
 """"""""--"""---""-------"--""-"--""+""""-"--"-""""-""-""""""""-"""#                                                                
+CCCCCCCC..CCC...CC.......C..CC.C..CCCCCCC.C..C.CCCC.CC.CCCCCCCC.CCCX                                                                
+BBBBBBBB''BBB'''BB'''''''B''BB'B''BB BBBB'B''B'BBBB'BB'BBBBBBBB'BBB$                                                                
+HHHHHHHHXXHHHXXXHHXXXXXXXHXXHHXHXXHH HHHHXHXXHXHHHHXHHXHHHHHHHHXHHH_                                                                
+XXXXXXXXCCXXXCCCXXCCCCCCCXCCXXCXCCXX XXXXCXCCXCXXXXCXXCXXXXXXXXCXXX&                                                                
 ""-"""""-""---"--""-----""-""""--"--"""""--"""--""-""""""--""-"-"""#                                                                
+CC.CCCCC.CC...C..CC.....CC.CCCC..C..+CCCC..CCC..CC.CCCCCC..CC.C.CCCX                                                                
+BB'BBBBB'BB'''B''BB'''''BB'BBBB''B''CBBBB''BBB''BB'BBBBBB''BB'B'BBB$                                                                
+HHXHHHHHXHHXXXHXXHHXXXXXHHXHHHHXXHXX HHHHXXHHHXXHHXHHHHHHXXHHXHXHHH_                                                                
+XXCXXXXXCXXCCCXCCXXCCCCCXXCXXXXCCXCC XXXXCCXXXCCXXCXXXXXXCCXXCXCXXX&                                                                
 "-""""---"""-"""-"-"-""-------"-"----""""""-"-"-""---"-"-----"""-""#                                                                
+C.CCCC...CCC.CCC.C.+.CC.......C.C....CCCCCC.C.C.CC...C.C.....CCC.CCX                                                                
+B'BBBB'''BBB'BBB'B'C'BB'''''''B'B''''BBBBBB'B'B'BB'''B'B'''''BBB'BB$                                                                
+HXHHHHXXXHHHXHHHXHX XHHXXXXXXXHXHXXXXHHHHHHXHXHXHHXXXHXHXXXXXHHHXHH_                                                                
+XCXXXXCCCXXXCXXXCXC CXXCCCCCCCXCXCCCCXXXXXXCXCXCXXCCCXCXCCCCCXXXCXX&                                                                
 ""-"""""-"""-"-""-""-"""-"-"""---------""""""-"----"--""-"--""--"-"#                                                                
+CC.CCCCC.CCC.C.CC.CC.CCC.C.CCC.........CCCCCC.C....C..CC.C..CC..C.+X                                                                
+BB'BBBBB'BBB'B'BB'BB'BBB'B'BBB'''''''''BBBBBB'B''''B''BB'B''BB''B'C$                                                                
+HHXHHHHHXHHHXHXHHXHHXHHHXHXHHHXXXXXXXXXHHHHHHXHXXXXHXXHHXHXXHHXXHX _                                                                
+XXCXXXXXCXXXCXCXXCXXCXXXCXCXXXCCCCCCCCCXXXXXXCXCCCCXCCXXCXCCXXCCXC &                                                                
 ""-"""""""""-"""-""----"-"--""-"-"--"""""--""-"-"""---""--"-"""-""-#                                                                
+CC.CCCCCCCCC.CCC.CC....C.C..CC.C.C..CCCCC..CC.C.CCC...CC..C.CCC.CC.X                                                                
+BB'BBBBBBBBB'BBB'BB''''B'B''BB'B'B''BBBBB''BB'B'BBB'''BB''B'BBB'BB'$                                                                
+HHXHHHHHHHHHXHHHXHHXXXXHXHXXHHXHXHXXHHHHHXXHHXHXHHHXXXHHXXHXHHHXHHX_                                                                
+XXCXXXXXXXXXCXXXCXXCCCCXCXCCXXCXCXCCXXXXXCCXXCXCXXXCCCXXCCXCXXXCXXC&                                                                
 ""-"""""--""-----""--"-"""---"-"-"----"-"-"---""-"-"--""--"""--"--"#                                                                
+CC.CCCCC..CC.....CC..C.CCC...C.C.C....C.C.C...CC.C.C..CC..CCC..C..CX                                                                
+BB'BBBBB''BB'''''BB''B'BBB'''B'B'B''''B'B'B'''BB'B'B''BB''BBB''B''B$                                                                
+HHXHHHHHXXHHXXXXXHHXXHXHHHXXXHXHXHXXXXHXHXHXXXHHXHXHXXHHXXHHHXXHXXH_                                                                
+XXCXXXXXCCXXCCCCCXXCCXCXXXCCCXCXCXCCCCXCXCXCCCXXCXCXCCXXCCXXXCCXCCX&                                                                
 "-"-""""-""""-"-"--"--"--"--"""---"--""""""-""---"---""----"""-""--#                                                                
+C.C.CCCC.CCCC.C.C..C..C..C..CCC...C..CCCCCC.CC...C...CC....C+C.CC..X                                                                
+B'B'BBBB'BBBB'B'B''B''B''B''BBB'''B''BBBBBB'BB'''B'''BB''''BCB'BB''$                                                                
+HXHXHHHHXHHHHXHXHXXHXXHXXHXXHHHXXXHXXHHHHHHXHHXXXHXXXHHXXXXH HXHHXX_                                                                
+XCXCXXXXCXXXXCXCXCCXCCXCCXCCXXXCCCXCCXXXXXXCXXCCCXCCCXXCCCCX XCXXCC&                                                                
 -"""""""""--"""-"-"""""----"-"--""-"-"""""""""-"----"""-""--"--"-""#                                                                
+.CCCCCCCCC..CCC.C.CCCCC....C.C..CC.C.CCCCCCCCC.C....CCC.CC..C..C.CCX                                                                
+'BBBBBBBBB''BBB'B'BBBBB''''B'B''BB'B'BBBBBBBBB'B''''BBB'BB''B''B'BB$                                                                
+XHHHHHHHHHXXHHHXHXHHHHHXXXXHXHXXHHXHXHHHHHHHHHXHXXXXHHHXHHXXHXXHXHH_                                                                
+CXXXXXXXXXCCXXXCXCXXXXXCCCCXCXCCXXCXCXXXXXXXXXCXCCCCXXXCXXCCXCCXCXX&                                                                
 """-""""--"-"""""""--"-"---""""-""---""""--"""----"-"--"""""--""-""#                                                                
+CCC.CCCC..C.CCCCCCC..C.C...CCCC.CC...CCCC..CCC....C.C..CCCCC..CC.CCX                                                                
+BBB'BBBB''B'BBBBBBB''B'B'''BBBB'BB'''BBBB''BBB''''B'B''BBBBB''BB'BB$                                                                
+HHHXHHHHXXHXHHHHHHHXXHXHXXXHHHHXHHXXXHHHHXXHHHXXXXHXHXXHHHHHXXHHXHH_                                                                
+XXXCXXXXCCXCXXXXXXXCCXCXCCCXXXXCXXCCCXXXXCCXXXCCCCXCXCCXXXXXCCXXCXX&                                                                
 ""-"""""------"""--""-""----"""""----""""-""""---"-"""-"""""-""-""-#                                                                
+CC.CCCCC......CCC..CC.CC....CCCCC....CCCC.CCCC...C.CCC.CCCCC.CC.CC.X                                                                
+BB'BBBBB''''''BBB''BB'BB''''BBBBB''''BBBB'BBBB'''B'BBB'BBBBB'BB'BB'$                                                                
+HHXHHHHHXXXXXXHHHXXHHXHHXXXXHHHHHXXXXHHHHXHHHHXXXHXHHHXHHHHHXHHXHHX_                                                                
+XXCXXXXXCCCCCCXXXCCXXCXXCCCCXXXXXCCCCXXXXCXXXXCCCXCXXXCXXXXXCXXCXXC&                                                                
 """"""-"""-"-"----"-""--"""""""-----"""""--"-------"-"-"""-"-""-"--#                                                                
+CCCCCC.CCC.C.C....C.CC..CCCCCCC.....CCCCC..C.......C.C.CCC.C.CC.C..X                                                                
+BBBBBB'BBB'B'B''''B'BB''BBBBBBB'''''BBBBB''B'''''''B'B'BBB'B'BB'B''$                                                                
+HHHHHHXHHHXHXHXXXXHXHHXXHHHHHHHXXXXXHHHHHXXHXXXXXXXHXHXHHHXHXHHXHXX_                                                                
+XXXXXXCXXXCXCXCCCCXCXXCCXXXXXXXCCCCCXXXXXCCXCCCCCCCXCXCXXXCXCXXCXCC&                                                                
 """-""-"""""""""-""--""""---""------"""""--""-"--""""-"-""""-""-"-"#                                                                
+CCC.CC.CCCCCCCCC.CC..CCCC...CC......CCCCC..CC.C..CCCC.C.CCCC.CC.C.CX                                                                
+BBB'BB'BBBBBBBBB'BB''BBBB'''BB''''''BBBBB''BB'B''BBBB'B'BBBB'BB'B'B$                                                                
+HHHXHHXHHHHHHHHHXHHXXHHHHXXXHHXXXXXXHHHHHXXHHXHXXHHHHXHXHHHHXHHXHXH_                                                                
+XXXCXXCXXXXXXXXXCXXCCXXXXCCCXXCCCCCCXXXXXCCXXCXCCXXXXCXCXXXXCXXCXCX&                                                                
 """""-""--"""-"-"""""--""---"+-"----"""""""-"-""-""--"--"-""-"--"""#                                                                
+CCCCC.CC..CCC.C.CCCCC..CC...CC.C....CCCCCCC.C.CC.CC..C..C.CC.C..CCCX                                                                
+BBBBB'BB''BBB'B'BBBBB''BB'''B 'B''''BBBBBBB'B'BB'BB''B''B'BB'B''BBB$                                                                
+HHHHHXHHXXHHHXHXHHHHHXXHHXXXH XHXXXXHHHHHHHXHXHHXHHXXHXXHXHHXHXXHHH_                                                                
+XXXXXCXXCCXXXCXCXXXXXCCXXCCCX CXCCCCXXXXXXXCXCXXCXXCCXCCXCXXCXCCXXX&                                                                
 -"""""""---"--"-----"-"""-"----"----""""--""""""""""""""-"""""""-""#                                                                
+.CCCCCCC...C..C.....C.CCC.C....C....CCCC..CCCCCCCCCCCCCC.CCCCCCC.CCX                                                                
+'BBBBBBB'''B''B'''''B'BBB'B''''B''''BBBB''BBBBBBBBBBBBBB'BBBBBBB'BB$                                                                
+XHHHHHHHXXXHXXHXXXXXHXHHHXHXXXXHXXXXHHHHXXHHHHHHHHHHHHHHXHHHHHHHXHH_                                                                
+CXXXXXXXCCCXCCXCCCCCXCXXXCXCCCCXCCCCXXXXCCXXXXXXXXXXXXXXCXXXXXXXCXX&                                                                
 """"""""----""""---""-"""-"-""---"-"--"-""----"""-"-""-"--"-""""--"#                                                                
+CC+CCCCC....CCCC...CC.CCC.C.CC...C.C..C.CC....CCC.C.CC.C..C.CCCC..+X                                                                
+BBCBBBBB''''BBBB'''BB'BBB'B'BB'''B'B''B'BB''''BBB'B'BB'B''B'BBBB''C$                                                                
+HH HHHHHXXXXHHHHXXXHHXHHHXHXHHXXXHXHXXHXHHXXXXHHHXHXHHXHXXHXHHHHXX _                                                                
+XX XXXXXCCCCXXXXCCCXXCXXXCXCXXCCCXCXCCXCXXCCCCXXXCXCXXCXCCXCXXXXCC &                                                                
 """"-"""""---""""-"--"---"--"--"-----""-"""""-"""---"""-"--"----""-#                                                                
+CCCC.CCCCC...CCCC.C..C...C..C..C.....CC.CCCCC.CCC...CCC.C..C....CC.X                                                                
+BBBB'BBBBB'''BBBB'B''B'''B''B''B'''''BB'BBBBB'BBB'''BBB'B''B''''BB'$                                                                
+HHHHXHHHHHXXXHHHHXHXXHXXXHXXHXXHXXXXXHHXHHHHHXHHHXXXHHHXHXXHXXXXHHX_                                                                
+XXXXCXXXXXCCCXXXXCXCCXCCCXCCXCCXCCCCCXXCXXXXXCXXXCCCXXXCXCCXCCCCXXC&                                                                
 -"-"-"""-"-"-""-""---""--"---"""---"--"""-""-"-"--"--"-"--"-"-""""-#                                                                
+.C.C.CCC.C.C.CC.CC...CC..C...CCC...C..CCC.CC.C.C..C..C.C..C.C.CCCC.X                                                                
+'B'B'BBB'B'B'BB'BB'''BB''B'''BBB'''B''BBB'BB'B'B''B''B'B''B'B'BBBB'$                                                                
+XHXHXHHHXHXHXHHXHHXXXHHXXHXXXHHHXXXHXXHHHXHHXHXHXXHXXHXHXXHXHXHHHHX_                                                                
+CXCXCXXXCXCXCXXCXXCCCXXCCXCCCXXXCCCXCCXXXCXXCXCXCCXCCXCXCCXCXCXXXXC&                                                                
 -"""""-"-""-"""""""""-"--"--""-"-"-""""""----"""-""""""""""-"-""---#                                                                
+.CCCCC.C.+C.CCCCCCCCC.C..C..CC.C.C.CCCCCC....CCC.CCCCCCCCCC.C.CC...X                                                                
+'BBBBB'B'CB'BBBBBBBBB'B''B''BB'B'B'BBBBBB''''BBB'BBBBBBBBBB'B'BB'''$                                                                
+XHHHHHXHX HXHHHHHHHHHXHXXHXXHHXHXHXHHHHHHXXXXHHHXHHHHHHHHHHXHXHHXXX_                                                                
+CXXXXXCXC XCXXXXXXXXXCXCCXCCXXCXCXCXXXXXXCCCCXXXCXXXXXXXXXXCXCXXCCC&                                                                
 "--"""-""-"--"---"-"---"--"-"-"--"----""""-"-"""----"""---""--""""-#                                                                
+C..CCC.CC.C..C...C.C...C..+.C.C..C....CCCC.C.CCC....CCC...CC..CCCC.X                                                                
+B''BBB'BB'B''B'''B'B'''B''C'B'B''B''''BBBB'B'BBB''''BBB'''BB''BBBB'$                                                                
+HXXHHHXHHXHXXHXXXHXHXXXHXX XHXHXXHXXXXHHHHXHXHHHXXXXHHHXXXHHXXHHHHX_                                                                
+XCCXXXCXXCXCCXCCCXCXCCCXCC CXCXCCXCCCCXXXXCXCXXXCCCCXXXCCCXXCCXXXXC&                                                                
 ""-"""""---"---"-""-"----"-""""-""--""""---""-""----"-"-""""--""-""#                                                                
+CC.CCCCC...C...C.CC.C....C.CCCC.CC..CCCC...CC.CC....C.C.CCCC..CC.CCX                                                                
+BB'BBBBB'''B'''B'BB'B''''B'BBBB'BB''BBBB'''BB'BB''''B'B'BBBB''BB'BB$                                                                
+HHXHHHHHXXXHXXXHXHHXHXXXXHXHHHHXHHXXHHHHXXXHHXHHXXXXHXHXHHHHXXHHXHH_                                                                
+XXCXXXXXCCCXCCCXCXXCXCCCCXCXXXXCXXCCXXXXCCCXXCXXCCCCXCXCXXXXCCXXCXX&                                                                
 """"-""-"-"-"--""-"""-----------"--"-"""""---"-"----""-"--"--"""---#                                                                
+CCCC.CC.C.C.C..CC.CCC...........C..C.CCCCC...C.C....CC.C..C..CCC...X                                                                
+BBBB'BB'B'B'B''BB'BBB'''''''''''B''B'BBBBB'''B'B''''BB'B''B''BBB'''$                                                                
+HHHHXHHXHXHXHXXHHXHHHXXXXXXXXXXXHXXHXHHHHHXXXHXHXXXXHHXHXXHXXHHHXXX_                                                                
+XXXXCXXCXCXCXCCXXCXXXCCCCCCCCCCCXCCXCXXXXXCCCXCXCCCCXXCXCCXCCXXXCCC&                                                                
 """""-"---"-""""---""""----""--------"""""---"-"-"--""-""-"-""-"--"#                                                                
+CCCCC.C...C.CCCC...CCCC....CC........CCCCC...C.C.C..CC.CC.C.CC.C..CX                                                                
+BBBBB'B'''B'BBBB'''BBBB''''BB''''''''BBBBB'''B'B'B''BB'BB'B'BB'B''B$                                                                
+HHHHHXHXXXHXHHHHXXXHHHHXXXXHHXXXXXXXXHHHHHXXXHXHXHXXHHXHHXHXHHXHXXH_                                                                
+XXXXXCXCCCXCXXXXCCCXXXXCCCCXXCCCCCCCCXXXXXCCCXCXCXCCXXCXXCXCXXCXCCX&                                                                
 -""""-"----""-"""-"""-"""----""---"-""""-"-""--"""--"--"-"""-"-----#                                                                
+.CCCC.C....CC.CCC.CCC.CCC....CC...C.CCCC.C.CC..CCC..C..C.CCC.C.....X                                                                
+'BBBB'B''''BB'BBB'BBB'BBB''''BB'''B'BBBB'B'BB''BBB''B''B'BBB'B'''''$                                                                
+XHHHHXHXXXXHHXHHHXHHHXHHHXXXXHHXXXHXHHHHXHXHHXXHHHXXHXXHXHHHXHXXXXX_                                                                
+CXXXXCXCCCCXXCXXXCXXXCXXXCCCCXXCCCXCXXXXCXCXXCCXXXCCXCCXCXXXCXCCCCC&                                                                
 """-""-----"-"""-""-"--"-"-""""-----""""--"--""""-"-"-""""-""---"--#                                                                
+CCC.CC.....C.CCC.CC.C..C.C.CCCC.....CCCC..C..CCCC.C.C.CCCC.CC...C..X                                                                
+BBB'BB'''''B'BBB'BB'B''B'B'BBBB'''''BBBB''B''BBBB'B'B'BBBB'BB'''B''$                                                                
+HHHXHHXXXXXHXHHHXHHXHXXHXHXHHHHXXXXXHHHHXXHXXHHHHXHXHXHHHHXHHXXXHXX_                                                                
+XXXCXXCCCCCXCXXXCXXCXCCXCXCXXXXCCCCCXXXXCCXCCXXXXCXCXCXXXXCXXCCCXCC&                                                                
 """""""---"----"-"----""-----"-------"""-""-"-"""-"-"--"-"--"-"""-"#                                                                
+CCCCCCC...C....C.C....CC.....C.......CCC.CC.C.CCC.C.C..C.C..C.CCC.CX                                                                
+BBBBBBB'''B''''B'B''''BB'''''B'''''''BBB'BB'B'BBB'B'B''B'B''B'BBB'B$                                                                
+HHHHHHHXXXHXXXXHXHXXXXHHXXXXXHXXXXXXXHHHXHHXHXHHHXHXHXXHXHXXHXHHHXH_                                                                
+XXXXXXXCCCXCCCCXCXCCCCXXCCCCCXCCCCCCCXXXCXXCXCXXXCXCXCCXCXCCXCXXXCX&                                                                
 -""""""----"""--""-""-"---"-""------""-""""-""""--"""----""--"-""-"#                                                                
+.CCCCCC....CCC..CC.CC.C...+.CC......CC.CCCC.CCCC..CCC....CC..C.CC.CX                                                                
+'BBBBBB''''BBB''BB'BB'B'''C'BB''''''BB'BBBB'BBBB''BBB''''BB''B'BB'B$                                                                
+XHHHHHHXXXXHHHXXHHXHHXHXXX XHHXXXXXXHHXHHHHXHHHHXXHHHXXXXHHXXHXHHXH_                                                                
+CXXXXXXCCCCXXXCCXXCXXCXCCC CXXCCCCCCXXCXXXXCXXXXCCXXXCCCCXXCCXCXXCX&                                                                
 "----""-"------"---"""-""-""""-"----"-""-"-"--""-"--""--""""--"----#                                                                
+C....CC.C......+...CCC.CC.C+CC.C....C.CC.C.C..CC.C..CC..CCCC..C....X                                                                
+B''''BB'B''''''C'''BBB'BB'BCBB'B''''B'BB'B'B''BB'B''BB''BBBB''B''''$                                                                
+HXXXXHHXHXXXXXX XXXHHHXHHXH HHXHXXXXHXHHXHXHXXHHXHXXHHXXHHHHXXHXXXX_                                                                
+XCCCCXXCXCCCCCC CCCXXXCXXCX XXCXCCCCXCXXCXCXCCXXCXCCXXCCXXXXCCXCCCC&                                                                
 """-""----------"--""-"-"--""""---"-"""-"--"""""---"--""---"""--"--#                                                                
+CCC.CC..........C..CC.C.C..CCCC...C.CCC.C..C+CCC...C..CC...CCC..C..X                                                                
+BBB'BB''''''''''B''BB'B'B''BBBB'''B'BBB'B''BCBBB'''B''BB'''BBB''B''$                                                                
+HHHXHHXXXXXXXXXXHXXHHXHXHXXHHHHXXXHXHHHXHXXH HHHXXXHXXHHXXXHHHXXHXX_                                                                
+XXXCXXCCCCCCCCCCXCCXXCXCXCCXXXXCCCXCXXXCXCCX XXXCCCXCCXXCCCXXXCCXCC&                                                                
 --""""-----""----------""---"-----"--"""--"-""----"--"---"--"--"--"#                                                                
+..CCCC.....CC..........CC...C.....C..CCC..C.CC....C..C...C..C..C..CX                                                                
+''BBBB'''''BB''''''''''BB'''B'''''B''BBB''B'BB''''B''B'''B''B''B''B$                                                                
+XXHHHHXXXXXHHXXXXXXXXXXHHXXXHXXXXXHXXHHHXXHXHHXXXXHXXHXXXHXXHXXHXXH_                                                                
+CCXXXXCCCCCXXCCCCCCCCCCXXCCCXCCCCCXCCXXXCCXCXXCCCCXCCXCCCXCCXCCXCCX&                                                                
 "-"--""--"-"----""--""-""----""---""--""-"""-"-""""-"---"---"--""--#                                                                
+C.C..CC..C.C....CC..CC.CC....CC...CC..CC.CCC.C.CCCC.+...C...C..CC..X                                                                
+B'B''BB''B'B''''BB''BB'BB''''BB'''BB''BB'BBB'B'BBBB'C'''B'''B''BB''$                                                                
+HXHXXHHXXHXHXXXXHHXXHHXHHXXXXHHXXXHHXXHHXHHHXHXHHHHX XXXHXXXHXXHHXX_                                                                
+XCXCCXXCCXCXCCCCXXCCXXCXXCCCCXXCCCXXCCXXCXXXCXCXXXXC CCCXCCCXCCXXCC&                                                                
 "-"-"--"----""""--"--"---"-""--"------"--------""-"--"-"-""-"-"----#                                                                
+C.C.C..C....CCCC..C..+...C.CC..C......C........CC.C..C.C.CC.C.C....X                                                                
+B'B'B''B''''BBBB''B''C'''B'BB''B''''''B''''''''BB'B''B'B'BB'B'B''''$                                                                
+HXHXHXXHXXXXHHHHXXHXX XXXHXHHXXHXXXXXXHXXXXXXXXHHXHXXHXHXHHXHXHXXXX_                                                                
+XCXCXCCXCCCCXXXXCCXCC CCCXCXXCCXCCCCCCXCCCCCCCCXXCXCCXCXCXXCXCXCCCC&                                                                
 """"--""---"----""--"-"----"--"------"-"-"-""""-""--"---"""-""---""#                                                                
+CCCC..CC...C....+C..C.C....C..C......C.C.C.CCCC.CC..C...CCC.CC...CCX                                                                
+BBBB''BB'''B''''CB''B'B''''B''B''''''B'B'B'BBBB'BB''B'''BBB'BB'''BB$                                                                
+HHHHXXHHXXXHXXXX HXXHXHXXXXHXXHXXXXXXHXHXHXHHHHXHHXXHXXXHHHXHHXXXHH_                                                                
+XXXXCCXXCCCXCCCC XCCXCXCCCCXCCXCCCCCCXCXCXCXXXXCXXCCXCCCXXXCXXCCCXX&                                                                
 -"""""---"--""--"-----"----+-"-----"""-"---"--"""-----"-"""--"----"#                                                                
+.CCCCC...C..CC..C.....C....C.C.....CCC.C...C..CCC.....C.CCC..C....CX                                                                
+'BBBBB'''B''BB''B'''''B'''' 'B'''''BBB'B'''B''BBB'''''B'BBB''B''''B$                                                                
+XHHHHHXXXHXXHHXXHXXXXXHXXXX XHXXXXXHHHXHXXXHXXHHHXXXXXHXHHHXXHXXXXH_                                                                
+CXXXXXCCCXCCXXCCXCCCCCXCCCC CXCCCCCXXXCXCCCXCCXXXCCCCCXCXXXCCXCCCCX&                                                                
 -"""""-"-----""------"-"---""""------"""---"-"""-""-----"""--"-"--"#                                                                
+.CCCCC.C.....CC......C.C...+CCC......CCC...C.CCC.CC.....CCC..C.C..CX                                                                
+'BBBBB'B'''''BB''''''B'B'''CBBB''''''BBB'''B'BBB'BB'''''BBB''B'B''B$                                                                
+XHHHHHXHXXXXXHHXXXXXXHXHXXX HHHXXXXXXHHHXXXHXHHHXHHXXXXXHHHXXHXHXXH_                                                                
+CXXXXXCXCCCCCXXCCCCCCXCXCCC XXXCCCCCCXXXCCCXCXXXCXXCCCCCXXXCCXCXCCX&                                                                
 ---"-""-""-"-"-"""-""---"----"""---""-""-"----"-----"-"--"--"-"----#                                                                
+...C.CC.CC.C.C.CCC.CC...C....CCC...CC.CC.+....C.....C.C..C..C.C....X                                                                
+'''B'BB'BB'B'B'BBB'BB'''B''''BBB'''BB'BB'C''''B'''''B'B''B''B'B''''$                                                                
+XXXHXHHXHHXHXHXHHHXHHXXXHXXXXHHHXXXHHXHHX XXXXHXXXXXHXHXXHXXHXHXXXX_                                                                
+CCCXCXXCXXCXCXCXXXCXXCCCXCCCCXXXCCCXXCXXC CCCCXCCCCCXCXCCXCCXCXCCCC&                                                                
 ""---""-----"--"--""""-""--""-""-"-""""--""---------""--"-"--"--"--#                                                                
+CC...CC.....C..C..CCCC.CC..+C.CC.C.CCCC..CC.........CC..C.C..C..C..X                                                                
+BB'''BB'''''B''B''BBBB'BB''CB'BB'B'BBBB''BB'''''''''BB''B'B''B''B''$                                                                
+HHXXXHHXXXXXHXXHXXHHHHXHHXX HXHHXHXHHHHXXHHXXXXXXXXXHHXXHXHXXHXXHXX_                                                                
+XXCCCXXCCCCCXCCXCCXXXXCXXCC XCXXCXCXXXXCCXXCCCCCCCCCXXCCXCXCCXCCXCC&                                                                
 "--"-"-"---""-----""""---""-""""-"---""---"""""--"-----"--"-"""--"-#                                                                
+C..C.C.C...CC.....CCCC...CC.CCCC.C...CC...CCCCC..C.....C..C.CCC..C.X                                                                
+B''B'B'B'''BB'''''BBBB'''BB'BBBB'B'''BB'''BBBBB''B'''''B''B'BBB''B'$                                                                
+HXXHXHXHXXXHHXXXXXHHHHXXXHHXHHHHXHXXXHHXXXHHHHHXXHXXXXXHXXHXHHHXXHX_                                                                
+XCCXCXCXCCCXXCCCCCXXXXCCCXXCXXXXCXCCCXXCCCXXXXXCCXCCCCCXCCXCXXXCCXC&                                                                
 ----""--"------"-""-"--"--"-"""----""""""-"--""-----""-""---"---""-#                                                                
+....CC..C......C.CC.C..C..C.CCC....CCCCCC.C..CC.....CC.CC...C...CC.X                                                                
+''''BB''B''''''B'BB'B''B''B'BBB''''BBBBBB'B''BB'''''BB'BB'''B'''BB'$                                                                
+XXXXHHXXHXXXXXXHXHHXHXXHXXHXHHHXXXXHHHHHHXHXXHHXXXXXHHXHHXXXHXXXHHX_                                                                
+CCCCXXCCXCCCCCCXCXXCXCCXCCXCXXXCCCCXXXXXXCXCCXXCCCCCXXCXXCCCXCCCXXC&                                                                
 --"""-"""-"----"---""--------"-------""""--"-"--"---"-"--""----""-"#                                                                
+..CCC.CCC.C....C...CC........C.......CCCC..C.C..C...C.C..CC....CC.CX                                                                
+''BBB'BBB'B''''B'''BB''''''''B'''''''BBBB''B'B''B'''B'B''BB''''BB'B$                                                                
+XXHHHXHHHXHXXXXHXXXHHXXXXXXXXHXXXXXXXHHHHXXHXHXXHXXXHXHXXHHXXXXHHXH_                                                                
+CCXXXCXXXCXCCCCXCCCXXCCCCCCCCXCCCCCCCXXXXCCXCXCCXCCCXCXCCXXCCCCXXCX&                                                                
 """"------------"----------""--------""""""-"-""-"-------"""----"""#                                                                
+CCCC............C..........CC........CCCCCC.C.CC.C.......CCC....CCCX                                                                
+BBBB''''''''''''B''''''''''BB''''''''BBBBBB'B'BB'B'''''''BBB''''BBB$                                                                
+HHHHXXXXXXXXXXXXHXXXXXXXXXXHHXXXXXXXXHHHHHHXHXHHXHXXXXXXXHHHXXXXHHH_                                                                
+XXXXCCCCCCCCCCCCXCCCCCCCCCCXXCCCCCCCCXXXXXXCXCXXCXCCCCCCCXXXCCCCXXX&                                                                
 -"-"----""----------""------"""------""---"---"""-"---"--"---""----#                                                                
+.C.C....+C..........+C......CCC......CC...C...CCC.C...C..C...CC....X                                                                
+'B'B''''CB''''''''''CB''''''BBB''''''BB'''B'''BBB'B'''B''B'''BB''''$                                                                
+XHXHXXXX HXXXXXXXXXX HXXXXXXHHHXXXXXXHHXXXHXXXHHHXHXXXHXXHXXXHHXXXX_                                                                
+CXCXCCCC XCCCCCCCCCC XCCCCCCXXXCCCCCCXXCCCXCCCXXXCXCCCXCCXCCCXXCCCC&                                                                
 -""----"-"--"--"-----"-"-"--"""-----"-""-""---"--"---"""""-"--"---"#                                                                
+.CC....C.C..C..+.....C.C.C..CCC.....C.CC.CC...C..C...CCCCC.C..C...CX                                                                
+'BB''''B'B''B''C'''''B'B'B''BBB'''''B'BB'BB'''B''B'''BBBBB'B''B'''B$                                                                
+XHHXXXXHXHXXHXX XXXXXHXHXHXXHHHXXXXXHXHHXHHXXXHXXHXXXHHHHHXHXXHXXXH_                                                                
+CXXCCCCXCXCCXCC CCCCCXCXCXCCXXXCCCCCXCXXCXXCCCXCCXCCCXXXXXCXCCXCCCX&                                                                
 -""-"-""---"-"---"--"-"---""-"--------"-"--"""--"-"-------""-------#                                                                
+.CC.C.CC...C.C...C..+.C...CC.C........C.C..CCC..C.C.......CC.......X                                                                
+'BB'B'BB'''B'B'''B''C'B'''BB'B''''''''B'B''BBB''B'B'''''''BB'''''''$                                                                
+XHHXHXHHXXXHXHXXXHXX XHXXXHHXHXXXXXXXXHXHXXHHHXXHXHXXXXXXXHHXXXXXXX_                                                                
+CXXCXCXXCCCXCXCCCXCC CXCCCXXCXCCCCCCCCXCXCCXXXCCXCXCCCCCCCXXCCCCCCC&                                                                
 -"-""----"----------------"---"-----""-"-""--"-"----"""""--------"-#                                                                
+.C.CC....C................C...C.....CC.C.CC..C.C....CCCCC........C.X                                                                
+'B'BB''''B''''''''''''''''B'''B'''''BB'B'BB''B'B''''BBBBB''''''''B'$                                                                
+XHXHHXXXXHXXXXXXXXXXXXXXXXHXXXHXXXXXHHXHXHHXXHXHXXXXHHHHHXXXXXXXXHX_                                                                
+CXCXXCCCCXCCCCCCCCCCCCCCCCXCCCXCCCCCXXCXCXXCCXCXCCCCXXXXXCCCCCCCCXC&                                                                
 ---"-"-"--""--------"""---"--""-----""""-------"-"--"--"--"----"---#                                                                
+...C.C.C..CC........CCC...C..CC.....CCCC.......C.C..C..C..C....C...X                                                                
+'''B'B'B''BB''''''''BBB'''B''BB'''''BBBB'''''''B'B''B''B''B''''B'''$                                                                
+XXXHXHXHXXHHXXXXXXXXHHHXXXHXXHHXXXXXHHHHXXXXXXXHXHXXHXXHXXHXXXXHXXX_                                                                
+CCCXCXCXCCXXCCCCCCCCXXXCCCXCCXXCCCCCXXXXCCCCCCCXCXCCXCCXCCXCCCCXCCC&                                                                
 -""----""---"-"""""-""---"--""------"-""---"-""--""-""""----"------#                                                                
+.CC....CC...C.CC+CC.CC...C..CC......C.CC...C.CC..CC.CCCC....C......X                                                                
+'BB''''BB'''B'BBCBB'BB'''B''BB''''''B'BB'''B'BB''BB'BBBB''''B''''''$                                                                
+XHHXXXXHHXXXHXHH HHXHHXXXHXXHHXXXXXXHXHHXXXHXHHXXHHXHHHHXXXXHXXXXXX_                                                                
+CXXCCCCXXCCCXCXX XXCXXCCCXCCXXCCCCCCXCXXCCCXCXXCCXXCXXXXCCCCXCCCCCC&                                                                
 """--------"-----------""-----"-----+"""-""""--"-"----""----"""-"""#                                                                
+CCC........C...........CC.....C.....CCCC.CCCC..C.C....CC....CCC.CCCX                                                                
+BBB''''''''B'''''''''''BB'''''B''''' BBB'BBBB''B'B''''BB''''BBB'BBB$                                                                
+HHHXXXXXXXXHXXXXXXXXXXXHHXXXXXHXXXXX HHHXHHHHXXHXHXXXXHHXXXXHHHXHHH_                                                                
+XXXCCCCCCCCXCCCCCCCCCCCXXCCCCCXCCCCC XXXCXXXXCCXCXCCCCXXCCCCXXXCXXX&                                                                
 "--"-"----------"-"---"-"-----""--"-"-""-""--""--"-"""----"-"-----"#                                                                
+C..C.C..........C.C...C.C.....CC..C.C.CC.+C..CC..C.CCC....C.C.....CX                                                                
+B''B'B''''''''''B'B'''B'B'''''BB''B'B'BB'CB''BB''B'BBB''''B'B'''''B$                                                                
+HXXHXHXXXXXXXXXXHXHXXXHXHXXXXXHHXXHXHXHHX HXXHHXXHXHHHXXXXHXHXXXXXH_                                                                
+XCCXCXCCCCCCCCCCXCXCCCXCXCCCCCXXCCXCXCXXC XCCXXCCXCXXXCCCCXCXCCCCCX&                                                                
 -"-""--------"---"""-""------"------"-"""-"-""--------""---"""--"--#                                                                
+.C.CC........C...CCC.+C......C......C.CCC.C.CC........CC...CCC..C..X                                                                
+'B'BB''''''''B'''BBB'CB''''''B''''''B'BBB'B'BB''''''''BB'''BBB''B''$                                                                
+XHXHHXXXXXXXXHXXXHHHX HXXXXXXHXXXXXXHXHHHXHXHHXXXXXXXXHHXXXHHHXXHXX_                                                                
+CXCXXCCCCCCCCXCCCXXXC XCCCCCCXCCCCCCXCXXXCXCXXCCCCCCCCXXCCCXXXCCXCC&                                                                
 -------"-----------"--"----""""-----"""""-"""---""---""-"---""-----#                                                                
+.......C...........C..C....CCCC.....CCCCC.CCC...CC...CC.C...CC.....X                                                                
+'''''''B'''''''''''B''B''''BBBB'''''BBBBB'BBB'''BB'''BB'B'''BB'''''$                                                                
+XXXXXXXHXXXXXXXXXXXHXXHXXXXHHHHXXXXXHHHHHXHHHXXXHHXXXHHXHXXXHHXXXXX_                                                                
+CCCCCCCXCCCCCCCCCCCXCCXCCCCXXXXCCCCCXXXXXCXXXCCCXXCCCXXCXCCCXXCCCCC&                                                                
 -""-"-"-"--------"-=-----""""-"---"--"--""-"----"----""-"""---""---#                                                                
+.CC.C.C.C........C.C.....+CCC.C...+..C..CC.C....C....CC.CCC...CC...X                                                                
+'BB'B'B'B''''''''B' '''''CBBB'B'''C''B''BB'B''''B''''BB'BBB'''BB'''$                                                                
+XHHXHXHXHXXXXXXXXHX XXXXX HHHXHXXX XXHXXHHXHXXXXHXXXXHHXHHHXXXHHXXX_                                                                
+CXXCXCXCXCCCCCCCCXC CCCCC XXXCXCCC CCXCCXXCXCCCCXCCCCXXCXXXCCCXXCCC&                                                                
 ---"""-----------------------""------"-""-""--"---""""""""-"---"-"-#                                                                
+...CCC.......................CC......C.CC.CC..C...CCCCCCCC.C...C.C.X                                                                
+'''BBB'''''''''''''''''''''''BB''''''B'BB'BB''B'''BBBBBBBB'B'''B'B'$                                                                
+XXXHHHXXXXXXXXXXXXXXXXXXXXXXXHHXXXXXXHXHHXHHXXHXXXHHHHHHHHXHXXXHXHX_                                                                
+CCCXXXCCCCCCCCCCCCCCCCCCCCCCCXXCCCCCCXCXXCXXCCXCCCXXXXXXXXCXCCCXCXC&                                                                
 -----"-----------------"--"-"-"------"-"----""----------"-----""-"-#                                                                
+.....C.................+..C.C.C......C.C....CC..........C.....CC.C.X                                                                
+'''''B'''''''''''''''''C''B'B'B''''''B'B''''BB''''''''''B'''''BB'B'$                                                                
+XXXXXHXXXXXXXXXXXXXXXXX XXHXHXHXXXXXXHXHXXXXHHXXXXXXXXXXHXXXXXHHXHX_                                                                
+CCCCCXCCCCCCCCCCCCCCCCC CCXCXCXCCCCCCXCXCCCCXXCCCCCCCCCCXCCCCCXXCXC&                                                                
 -"-"---------""--""-"-"-"---"---------"-"----"--"-------""---"""-""#                                                                
+.C.C.........CC..CC.C.C.C...C.........C.C....C..C.......CC...CCC.CCX                                                                
+'B'B'''''''''BB''BB'B'B'B'''B'''''''''B'B''''B''B'''''''BB'''BBB'BB$                                                                
+XHXHXXXXXXXXXHHXXHHXHXHXHXXXHXXXXXXXXXHXHXXXXHXXHXXXXXXXHHXXXHHHXHH_                                                                
+CXCXCCCCCCCCCXXCCXXCXCXCXCCCXCCCCCCCCCXCXCCCCXCCXCCCCCCCXXCCCXXXCXX&                                                                
 -----"------"-----"-"----"-----"---"""""-"-"""--"-""---"---"---"""-#                                                                
+.....C......C.....+.C....+.....C...CCCCC.+.CCC..C.CC...C...C...CCC.X                                                                
+'''''B''''''B'''''C'B''''C'''''B'''BBBBB'C'BBB''B'BB'''B'''B'''BBB'$                                                                
+XXXXXHXXXXXXHXXXXX XHXXXX XXXXXHXXXHHHHHX XHHHXXHXHHXXXHXXXHXXXHHHX_                                                                
+CCCCCXCCCCCCXCCCCC CXCCCC CCCCCXCCCXXXXXC CXXXCCXCXXCCCXCCCXCCCXXXC&                                                                
 ------------------"------"-----------""-""""---"-----"-"--""-"""---#                                                                
+..................C......C...........CC.CCCC...C.....C.C..CC.CCC...X                                                                
+''''''''''''''''''B''''''B'''''''''''BB'BBBB'''B'''''B'B''BB'BBB'''$                                                                
+XXXXXXXXXXXXXXXXXXHXXXXXXHXXXXXXXXXXXHHXHHHHXXXHXXXXXHXHXXHHXHHHXXX_                                                                
+CCCCCCCCCCCCCCCCCCXCCCCCCXCCCCCCCCCCCXXCXXXXCCCXCCCCCXCXCCXXCXXXCCC&                                                                
 "---"----"------------------"--"----"-"""""--"-"---------""--"""-""#                                                                
+C...C....+..................C..C....C.CCCCC..C.C.........CC..CCC.CCX                                                                
+B'''B''''C''''''''''''''''''B''B''''B'BBBBB''B'B'''''''''BB''BBB'BB$                                                                
+HXXXHXXXX XXXXXXXXXXXXXXXXXXHXXHXXXXHXHHHHHXXHXHXXXXXXXXXHHXXHHHXHH_                                                                
+XCCCXCCCC CCCCCCCCCCCCCCCCCCXCCXCCCCXCXXXXXCCXCXCCCCCCCCCXXCCXXXCXX&                                                                
 ---"-"----"----"---------"-""---"-----"""-""-"-"---------"--""-"--"#                                                                
+...C.C....+....C.........+.CC...C.....CCC.CC.C.C.........C..CC.C..CX                                                                
+'''B'B''''C''''B'''''''''C'BB'''B'''''BBB'BB'B'B'''''''''B''BB'B''B$                                                                
+XXXHXHXXXX XXXXHXXXXXXXXX XHHXXXHXXXXXHHHXHHXHXHXXXXXXXXXHXXHHXHXXH_                                                                
+CCCXCXCCCC CCCCXCCCCCCCCC CXXCCCXCCCCCXXXCXXCXCXCCCCCCCCCXCCXXCXCCX&                                                                
 "-"------"---------"--------""--"----"-"--"-""--"---"-----"-"----"-#                                                                
+C.C......+.........C........CC..C....C.C..C.CC..+...C.....C.C....C.X                                                                
+B'B''''''C'''''''''B''''''''BB''B''''B'B''B'BB''C'''B'''''B'B''''B'$                                                                
+HXHXXXXXX XXXXXXXXXHXXXXXXXXHHXXHXXXXHXHXXHXHHXX XXXHXXXXXHXHXXXXHX_                                                                
+XCXCCCCCC CCCCCCCCCXCCCCCCCCXXCCXCCCCXCXCCXCXXCC CCCXCCCCCXCXCCCCXC&                                                                
 --"-"-"--"------"-------"-"--"---"-----""---------"-"------"--""---#                                                                
+..C.C.C..+......+.......C.+..C...+.....CC.........C.C......C..CC...X                                                                
+''B'B'B''C''''''C'''''''B'C''B'''C'''''BB'''''''''B'B''''''B''BB'''$                                                                
+XXHXHXHXX XXXXXX XXXXXXXHX XXHXXX XXXXXHHXXXXXXXXXHXHXXXXXXHXXHHXXX_                                                                
+CCXCXCXCC CCCCCC CCCCCCCXC CCXCCC CCCCCXXCCCCCCCCCXCXCCCCCCXCCXXCCC&                                                                
 ---"""---------------------------------""""--"---"--"""-------"---"#                                                                
+...CCC.................................CCCC..C...C..CCC.......C...CX                                                                
+'''BBB'''''''''''''''''''''''''''''''''BBBB''B'''B''BBB'''''''B'''B$                                                                
+XXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHHHXXHXXXHXXHHHXXXXXXXHXXXH_                                                                
+CCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXXXCCXCCCXCCXXXCCCCCCCXCCCX&                                                                
 --------"------------"-------""--------"""--""------""--""---------#                                                                
+........C............C.......CC........CCC..CC......CC..CC.........X                                                                
+''''''''B''''''''''''B'''''''BB''''''''BBB''BB''''''BB''BB'''''''''$                                                                
+XXXXXXXXHXXXXXXXXXXXXHXXXXXXXHHXXXXXXXXHHHXXHHXXXXXXHHXXHHXXXXXXXXX_                                                                
+CCCCCCCCXCCCCCCCCCCCCXCCCCCCCXXCCCCCCCCXXXCCXXCCCCCCXXCCXXCCCCCCCCC&                                                                
 ----"-----------"-----------"-----------"----------"--"-"--"-------#                                                                
+....C...........+...........C...........C..........C..C.C..C.......X                                                                
+''''B'''''''''''C'''''''''''B'''''''''''B''''''''''B''B'B''B'''''''$                                                                
+XXXXHXXXXXXXXXXX XXXXXXXXXXXHXXXXXXXXXXXHXXXXXXXXXXHXXHXHXXHXXXXXXX_                                                                
+CCCCXCCCCCCCCCCC CCCCCCCCCCCXCCCCCCCCCCCXCCCCCCCCCCXCCXCXCCXCCCCCCC&                                                                
 -----------------""-----------------"-"""------"------"---"""------#                                                                
+.................CC.................C.CCC......C......C...CCC......X                                                                
+'''''''''''''''''BB'''''''''''''''''B'BBB''''''B''''''B'''BBB''''''$                                                                
+XXXXXXXXXXXXXXXXXHHXXXXXXXXXXXXXXXXXHXHHHXXXXXXHXXXXXXHXXXHHHXXXXXX_                                                                
+CCCCCCCCCCCCCCCCCXXCCCCCCCCCCCCCCCCCXCXXXCCCCCCXCCCCCCXCCCXXXCCCCCC&                                                                
 ---"----------------"-----------------"---"------------"-----"-----#                                                                
+...+................+.................C...C............C.....C.....X                                                                
+'''C''''''''''''''''C'''''''''''''''''B'''B''''''''''''B'''''B'''''$                                                                
+XXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXHXXXHXXXXXXXXXXXXHXXXXXHXXXXX_                                                                
+CCC CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCXCCCXCCCCCCCCCCCCXCCCCCXCCCCC&                                                                
 ------+----"------------------------------"------"--""----"--"---"-#                                                                
+......C....C..............................C......C..CC....C..C...+.X                                                                
+'''''' ''''B''''''''''''''''''''''''''''''B''''''B''BB''''B''B'''C'$                                                                
+XXXXXX XXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXHXXHHXXXXHXXHXXX X_                                                                
+CCCCCC CCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCXCCXXCCCCXCCXCCC C&                                                                
 ---"--""--""--------"--------"-------"--"-"-"--------"--"----"-----#                                                                
+...C..C+..++........+........C.......C..+.C.C........C..+....C.....X                                                                
+'''B''BC''CC''''''''C''''''''B'''''''B''C'B'B''''''''B''C''''B'''''$                                                                
+XXXHXXH XX  XXXXXXXX XXXXXXXXHXXXXXXXHXX XHXHXXXXXXXXHXX XXXXHXXXXX_                                                                
+CCCXCCX CC  CCCCCCCC CCCCCCCCXCCCCCCCXCC CXCXCCCCCCCCXCC CCCCXCCCCC&                                                                
 ---------------------"------""----------"--"--"--------------"----"#                                                                
+.....................+......CC..........C..C..C..............C....CX                                                                
+'''''''''''''''''''''C''''''BB''''''''''B''B''B''''''''''''''B''''B$                                                                
+XXXXXXXXXXXXXXXXXXXXX XXXXXXHHXXXXXXXXXXHXXHXXHXXXXXXXXXXXXXXHXXXXH_                                                                
+CCCCCCCCCCCCCCCCCCCCC CCCCCCXXCCCCCCCCCCXCCXCCXCCCCCCCCCCCCCCXCCCCX&                                                                
 ---"-------------------------"--------------"----------------"-----#                                                                
+...C.........................C..............C................C.....X                                                                
+'''B'''''''''''''''''''''''''B''''''''''''''B''''''''''''''''B'''''$                                                                
+XXXHXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXHXXXXX_                                                                
+CCCXCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCXCCCCC&                                                                
 -----------------------------"---------------"--------"------------#                                                                
+.............................C...............C........C............X                                                                
+'''''''''''''''''''''''''''''B'''''''''''''''B''''''''B''''''''''''$                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXHXXXXXXXXHXXXXXXXXXXXX_                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCXCCCCCCCCXCCCCCCCCCCCC&                                                                
 ---"----------------"--------""-------"-"-""-""-----------"--"-----#                                                                
+...C................+........CC.......C.C.++.C+...........C..+.....X                                                                
+'''B''''''''''''''''C''''''''BB'''''''B'B'CC'BC'''''''''''B''C'''''$                                                                
+XXXHXXXXXXXXXXXXXXXX XXXXXXXXHHXXXXXXXHXHX  XH XXXXXXXXXXXHXX XXXXX_                                                                
+CCCXCCCCCCCCCCCCCCCC CCCCCCCCXXCCCCCCCXCXC  CX CCCCCCCCCCCXCC CCCCC&                                                                
 ---------"---"-------------"-"-------------"---------------------"-#                                                                
+.........C...C.............C.C.............C.....................C.X                                                                
+'''''''''B'''B'''''''''''''B'B'''''''''''''B'''''''''''''''''''''B'$                                                                
+XXXXXXXXXHXXXHXXXXXXXXXXXXXHXHXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXHX_                                                                
+CCCCCCCCCXCCCXCCCCCCCCCCCCCXCXCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCXC&                                                                
 -----------------------"------------------"--"---------------------#                                                                
+.......................+..................+..C.....................X                                                                
+'''''''''''''''''''''''C''''''''''''''''''C''B'''''''''''''''''''''$                                                                
+XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX XXHXXXXXXXXXXXXXXXXXXXXX_                                                                
+CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC CCXCCCCCCCCCCCCCCCCCCCCC&                                                                
 -------"-----------"-----"-------------------------------"-"-------#                                                                
+.......+...........+.....+...............................+.+.......X                                                                
+'''''''C'''''''''''C'''''C'''''''''''''''''''''''''''''''C'C'''''''$                                                                
+XXXXXXX XXXXXXXXXXX XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX_                                                                
+CCCCCCC CCCCCCCCCCC CCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCC&                                                                
 -"---------------------"--------------------------"---+--""----"+--#                                                                
+.C.....................+..........................+...C..CC....CC..X                                                                
+'B'''''''''''''''''''''C''''''''''''''''''''''''''C''' ''BB''''B ''$                                                                
+XHXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXHHXXXXH XX_                                                                
+CXCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCC CCC CCXXCCCCX CC&                                                                
 -----------------------+--------"-"-----------"--------"----"+-----#                                                                
+.......................C........+.+...........C........+....CC.....X                                                                
+''''''''''''''''''''''' ''''''''C'C'''''''''''B''''''''C''''B '''''$                                                                
+XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X XXXXXXXXXXXHXXXXXXXX XXXXH XXXXX_                                                                
+CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC C CCCCCCCCCCCXCCCCCCCC CCCCX CCCCC&                                                                
 ------"------"------------------"---------"-"---------------"------#                                                                
+......+......+..................+.........+.C...............C......X                                                                
+''''''C''''''C''''''''''''''''''C'''''''''C'B'''''''''''''''B''''''$                                                                
+XXXXXX XXXXXX XXXXXXXXXXXXXXXXXX XXXXXXXXX XHXXXXXXXXXXXXXXXHXXXXXX_                                                                
+CCCCCC CCCCCC CCCCCCCCCCCCCCCCCC CCCCCCCCC CXCCCCCCCCCCCCCCCXCCCCCC&                                                                
 -------------------------------------------------------------------#                                                                
+...................................................................X                                                                
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC&                                                                
 ---------------------------------"-----""---------"--"------------"#                                                                
+.................................+.....++.........+..C............CX                                                                
+'''''''''''''''''''''''''''''''''C'''''CC'''''''''C''B''''''''''''B$                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX  XXXXXXXXX XXHXXXXXXXXXXXXH_                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC  CCCCCCCCC CCXCCCCCCCCCCCCX&                                                                
 ---"--------------"--------"--""-----------------------------------#                                                                
+...C..............+........+..C+...................................X                                                                
+'''B''''''''''''''C''''''''C''BC'''''''''''''''''''''''''''''''''''$                                                                
+XXXHXXXXXXXXXXXXXX XXXXXXXX XXH XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_                                                                
+CCCXCCCCCCCCCCCCCC CCCCCCCC CCX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC&                                                                
 -"-----------------------------"-----------"----------"------------#                                                                
+.+.............................+...........+..........C............X                                                                
+'C'''''''''''''''''''''''''''''C'''''''''''C''''''''''B''''''''''''$                                                                
+X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXHXXXXXXXXXXXX_                                                                
+C CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC CCCCCCCCCCXCCCCCCCCCCCC&                                                                
 -"----------------"------------"------"---"-----"-"----""--"-----""#                                                                
+.+................+............+......C...C.....+.C....CC..+.....CCX                                                                
+'C''''''''''''''''C''''''''''''C''''''B'''B'''''C'B''''BB''C'''''BB$                                                                
+X XXXXXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXHXXXHXXXXX XHXXXXHHXX XXXXXHH_                                                                
+C CCCCCCCCCCCCCCCC CCCCCCCCCCCC CCCCCCXCCCXCCCCC CXCCCCXXCC CCCCCXX&                                                                
 ""------------------"-----------------"-----------"--"---"---------#                                                                
+++..................+.................C...........C..+...+.........X                                                                
+CC''''''''''''''''''C'''''''''''''''''B'''''''''''B''C'''C'''''''''$                                                                
+  XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXHXXXXXXXXXXXHXX XXX XXXXXXXXX_                                                                
+  CCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCXCCCCCCCCCCCXCC CCC CCCCCCCCC&                                                                
 ---------------------------"-------------------------"--"+---------#                                                                
+...........................+.........................C..CC.........X                                                                
+'''''''''''''''''''''''''''C'''''''''''''''''''''''''B''B '''''''''$                                                                
+XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXHXXH XXXXXXXXX_                                                                
+CCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCXCCX CCCCCCCCC&                                                                
 -------------"-----------------"------------------------"----------#                                                                
+.............+.................+........................C..........X                                                                
+'''''''''''''C'''''''''''''''''C''''''''''''''''''''''''B''''''''''$                                                                
+XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXX_                                                                
+CCCCCCCCCCCCC CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCC&                                                                
 --------------"-----------------------------"-------------"-""-----#                                                                
+..............+.............................C.............C.CC.....X                                                                
+''''''''''''''C'''''''''''''''''''''''''''''B'''''''''''''B'BB'''''$                                                                
+XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXHXHHXXXXX_                                                                
+CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCXCXXCCCCC&                                                                
 ------------------"-"---"-----"-"-------------""-------------------#                                                                
+..................+.+...+.....C.+.............CC...................X                                                                
+''''''''''''''''''C'C'''C'''''B'C'''''''''''''BB'''''''''''''''''''$                                                                
+XXXXXXXXXXXXXXXXXX X XXX XXXXXHX XXXXXXXXXXXXXHHXXXXXXXXXXXXXXXXXXX_                                                                
+CCCCCCCCCCCCCCCCCC C CCC CCCCCXC CCCCCCCCCCCCCXXCCCCCCCCCCCCCCCCCCC&                                                                
 -----------------""-----"--------"---------------------------------#                                                                
+.................++.....+........+.................................X                                                                
+'''''''''''''''''CC'''''C''''''''C'''''''''''''''''''''''''''''''''$                                                                
+XXXXXXXXXXXXXXXXX  XXXXX XXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_                                                                
+CCCCCCCCCCCCCCCCC  CCCCC CCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC&                                                                
 -----------------+--------------""---------------"----"------------#                                                                
+.................C..............++...............+....+............X                                                                
+''''''''''''''''' ''''''''''''''CC'''''''''''''''C''''C''''''''''''$                                                                
+XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX  XXXXXXXXXXXXXXX XXXX XXXXXXXXXXXX_                                                                
+CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC  CCCCCCCCCCCCCCC CCCC CCCCCCCCCCCC&                                                                
 ---------"----------------""----"-----------"---"----------"-------#                                                                
+.........+................++....+...........+...+..........C.......X                                                                
+'''''''''C''''''''''''''''CC''''C'''''''''''C'''C''''''''''B'''''''$                                                                
+XXXXXXXXX XXXXXXXXXXXXXXXX  XXXX XXXXXXXXXXX XXX XXXXXXXXXXHXXXXXXX_                                                                
+CCCCCCCCC CCCCCCCCCCCCCCCC  CCCC CCCCCCCCCCC CCC CCCCCCCCCCXCCCCCCC&                                                                
 ------"----""---"--"------"""---"---""-------"--"-"----"-----"--"--#                                                                
+......C....++...+..+......+++...+...C+.......+..+.+....C.....C..C..X                                                                
+''''''B''''CC'''C''C''''''CCC'''C'''BC'''''''C''C'C''''B'''''B''B''$                                                                
+XXXXXXHXXXX  XXX XX XXXXXX   XXX XXXH XXXXXXX XX X XXXXHXXXXXHXXHXX_                                                                
+CCCCCCXCCCC  CCC CC CCCCCC   CCC CCCX CCCCCCC CC C CCCCXCCCCCXCCXCC&                                                                
 -----------"-----------"-"-"----"-------------------------------"--#                                                                
+...........+...........+.+.+....+...............................C..X                                                                
+'''''''''''C'''''''''''C'C'C''''C'''''''''''''''''''''''''''''''B''$                                                                
+XXXXXXXXXXX XXXXXXXXXXX X X XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXX_                                                                
+CCCCCCCCCCC CCCCCCCCCCC C C CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCC&                                                                
 ---------"---------------"-----"--"----"---------------------------#                                                                
+.........+...............+.....+..+....+...........................X                                                                
+'''''''''C'''''''''''''''C'''''C''C''''C'''''''''''''''''''''''''''$                                                                
+XXXXXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX_                                                                
+CCCCCCCCC CCCCCCCCCCCCCCC CCCCC CC CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC&                                                                
 ----------"-"---"--------"-----"----""-----------------"-----------#                                                                
+..........+.+...+........+.....+....++.................+...........X                                                                
+''''''''''C'C'''C''''''''C'''''C''''CC'''''''''''''''''C'''''''''''$                                                                
+XXXXXXXXXX X XXX XXXXXXXX XXXXX XXXX  XXXXXXXXXXXXXXXXX XXXXXXXXXXX_                                                                
+CCCCCCCCCC C CCC CCCCCCCC CCCCC CCCC  CCCCCCCCCCCCCCCCC CCCCCCCCCCC&                                                                
 --"-"---"-"""-""----"-"-+--"""""-------"-"--------------"----------#                                                                
+..+.+...+.+++.++....+.+.C..+++++.......+.+..............+..........X                                                                
+''C'C'''C'CCC'CC''''C'C' ''CCCCC'''''''C'C''''''''''''''C''''''''''$                                                                
+XX X XXX X   X  XXXX X X XX     XXXXXXX X XXXXXXXXXXXXXX XXXXXXXXXX_                                                                
+CC C CCC C   C  CCCC C C CC     CCCCCCC C CCCCCCCCCCCCCC CCCCCCCCCC&                                                                
 ------"------"""---"""-----""--"-----"-----------"---"--"----------#                                                                
+......+......+++...+++.....++..+.....+...........+...+..C..........X                                                                
+''''''C''''''CCC'''CCC'''''CC''C'''''C'''''''''''C'''C''B''''''''''$                                                                
+XXXXXX XXXXXX   XXX   XXXXX  XX XXXXX XXXXXXXXXXX XXX XXHXXXXXXXXXX_                                                                
+CCCCCC CCCCCC   CCC   CCCCC  CC CCCCC CCCCCCCCCCC CCC CCXCCCCCCCCCC&                                                                
 ---------"-----"--"------"--"--"-"-"-----"-------"-------------"---#                                                                
+.........+.....+..+......+..+..+.+.+.....+.......+.............C...X                                                                
+'''''''''C'''''C''C''''''C''C''C'C'C'''''C'''''''C'''''''''''''B'''$                                                                
+XXXXXXXXX XXXXX XX XXXXXX XX XX X X XXXXX XXXXXXX XXXXXXXXXXXXXHXXX_                                                                
+CCCCCCCCC CCCCC CC CCCCCC CC CC C C CCCCC CCCCCCC CCCCCCCCCCCCCXCCC&                                                                
 -----"---"-------"-----"-----------"---"----"---"------------------#                                                                
+.....+...+.......+.....+...........+...+....+...+..................X                                                                
+'''''C'''C'''''''C'''''C'''''''''''C'''C''''C'''C''''''''''''''''''$                                                                
+XXXXX XXX XXXXXXX XXXXX XXXXXXXXXXX XXX XXXX XXX XXXXXXXXXXXXXXXXXX_                                                                
+CCCCC CCC CCCCCCC CCCCC CCCCCCCCCCC CCC CCCC CCC CCCCCCCCCCCCCCCCCC&                                                                
 -"--"-"-"-"+---""--"-------""-------"-------------+"----------"----#                                                                
+.+..+.+.+.+C...++..+.......++.......+.............C+..........+....X                                                                
+'C''C'C'C'C '''CC''C'''''''CC'''''''C''''''''''''' C''''''''''C''''$                                                                
+X XX X X X  XXX  XX XXXXXXX  XXXXXXX XXXXXXXXXXXXX  XXXXXXXXXX XXXX_                                                                
+C CC C C C  CCC  CC CCCCCCC  CCCCCCC CCCCCCCCCCCCC  CCCCCCCCCC CCCC&                                                                
 -----------"----"--"------------------------"---------------"----"-#                                                                
+...........+....+..+........................+...............+....+.X                                                                
+'''''''''''C''''C''C''''''''''''''''''''''''C'''''''''''''''C''''C'$                                                                
+XXXXXXXXXXX XXXX XX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXX X_                                                                
+CCCCCCCCCCC CCCC CC CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC CCCC C&                                                                
 --------"--""---"-"--"---"-""-"--"-"""""----"--------"-------------#                                                                
+........+..++...+.+..+...+.++.+..+.+++++....+........+.............X                                                                
+''''''''C''CC'''C'C''C'''C'CC'C''C'CCCCC''''C''''''''C'''''''''''''$                                                                
+XXXXXXXX XX  XXX X XX XXX X  X XX X     XXXX XXXXXXXX XXXXXXXXXXXXX_                                                                
+CCCCCCCC CC  CCC C CC CCC C  C CC C     CCCC CCCCCCCC CCCCCCCCCCCCC&                                                                
 ----------------------""---"----"----"""---------------------------#                                                                
+......................++...+....+....+++...........................X                                                                
+''''''''''''''''''''''CC'''C''''C''''CCC'''''''''''''''''''''''''''$                                                                
+XXXXXXXXXXXXXXXXXXXXXX  XXX XXXX XXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXX_                                                                
+CCCCCCCCCCCCCCCCCCCCCC  CCC CCCC CCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCC&                                                                
 -------""-----"-"---"-"--"""-"-----"-----"-------------------"----"#                                                                
+.......++.....+.+...+.+..+++.+.....+.....+...................+....+X                                                                
+'''''''CC'''''C'C'''C'C''CCC'C'''''C'''''C'''''''''''''''''''C''''C$                                                                
+XXXXXXX  XXXXX X XXX X XX   X XXXXX XXXXX XXXXXXXXXXXXXXXXXXX XXXX _                                                                
+CCCCCCC  CCCCC C CCC C CC   C CCCCC CCCCC CCCCCCCCCCCCCCCCCCC CCCC &                                                                
 -----"-------"-"""-----""----"--"-----"""--------------------"-----#                                                                
+.....+.......+.+++.....++....+..+.....+++....................+.....X                                                                
+'''''C'''''''C'CCC'''''CC''''C''C'''''CCC''''''''''''''''''''C'''''$                                                                
+XXXXX XXXXXXX X   XXXXX  XXXX XX XXXXX   XXXXXXXXXXXXXXXXXXXX XXXXX_                                                                
+CCCCC CCCCCCC C   CCCCC  CCCC CC CCCCC   CCCCCCCCCCCCCCCCCCCC CCCCC&                                                                
 -----"-""--""-"----"--------"-------"""---"------------------"-----#                                                                
+.....+.++..++.+....+........+.......+++...+..................+.....X                                                                
+'''''C'CC''CC'C''''C''''''''C'''''''CCC'''C''''''''''''''''''C'''''$                                                                
+XXXXX X  XX  X XXXX XXXXXXXX XXXXXXX   XXX XXXXXXXXXXXXXXXXXX XXXXX_                                                                
+CCCCC C  CC  C CCCC CCCCCCCC CCCCCCC   CCC CCCCCCCCCCCCCCCCCC CCCCC&                                                                
 ----"----""-----"--"-""---"""-----"-----"-----------------"------"-#                                                                
+....+....++.....+..+.++...+++.....+.....+.................+......+.X                                                                
+''''C''''CC'''''C''C'CC'''CCC'''''C'''''C'''''''''''''''''C''''''C'$                                                                
+XXXX XXXX  XXXXX XX X  XXX   XXXXX XXXXX XXXXXXXXXXXXXXXXX XXXXXX X_                                                                
+CCCC CCCC  CCCCC CC C  CCC   CCCCC CCCCC CCCCCCCCCCCCCCCCC CCCCCC C&                                                                
 -""-"""---"-""-""-"---"-""-"--"--------""-"---"---------"----------#                                                                
+.++.+++...+.++.++.+...+.++.+..+........++.+...+.........+..........X                                                                
+'CC'CCC'''C'CC'CC'C'''C'CC'C''C''''''''CC'C'''C'''''''''C''''''''''$                                                                
+X  X   XXX X  X  X XXX X  X XX XXXXXXXX  X XXX XXXXXXXXX XXXXXXXXXX_                                                                
+C  C   CCC C  C  C CCC C  C CC CCCCCCCC  C CCC CCCCCCCCC CCCCCCCCCC&                                                                
 "----"--""-"---""-"-"--""-""---""--"""-""-"-----------------"------#                                                                
++....+..++.+...++.+.+..++.++...++..+++.++.+.................+......X                                                                
+C''''C''CC'C'''CC'C'C''CC'CC'''CC''CCC'CC'C'''''''''''''''''C''''''$                                                                
+ XXXX XX  X XXX  X X XX  X  XXX  XX   X  X XXXXXXXXXXXXXXXXX XXXXXX_                                                                
+ CCCC CC  C CCC  C C CC  C  CCC  CC   C  C CCCCCCCCCCCCCCCCC CCCCCC&                                                                
 -"--"---""""----"-"""--""-""-"-""-""----"-------=-""-----------"---#                                                                
+.+..+...++++....+.+++..++.++.+.++.++....+.......C.++...........+...X                                                                
+'C''C'''CCCC''''C'CCC''CC'CC'C'CC'CC''''C''''''' 'CC'''''''''''C'''$                                                                
+X XX XXX    XXXX X   XX  X  X X  X  XXXX XXXXXXX X  XXXXXXXXXXX XXX_                                                                
+C CC CCC    CCCC C   CC  C  C C  C  CCCC CCCCCCC C  CCCCCCCCCCC CCC&                                                                
 -"----"-"--"-"-"-""""--"--""""---"-""-----"----"+"----------"---"--#                                                                
+.+....+.+..+.+.+.++++..+..++++...+.++.....+....+C+..........+...+..X                                                                
+'C''''C'C''C'C'C'CCCC''C''CCCC'''C'CC'''''C''''C C''''''''''C'''C''$                                                                
+X XXXX X XX X X X    XX XX    XXX X  XXXXX XXXX   XXXXXXXXXX XXX XX_                                                                
+C CCCC C CC C C C    CC CC    CCC C  CCCCC CCCC   CCCCCCCCCC CCC CC&                                                                
 -"--"---"-"""-"--"""--"-"--"""--"---""-----------"---"""----------"#                                                                
+.+..+...+.+++.+..+++..+.+..+++..+...++...........+...+++..........+X                                                                
+'C''C'''C'CCC'C''CCC''C'C''CCC''C'''CC'''''''''''C'''CCC''''''''''C$                                                                
+X XX XXX X   X XX   XX X XX   XX XXX  XXXXXXXXXXX XXX   XXXXXXXXXX _                                                                
+C CC CCC C   C CC   CC C CC   CC CCC  CCCCCCCCCCC CCC   CCCCCCCCCC &                                                                
 "---"-""--"--"""-+""--"--""""----"-"-"""--------""""---"-""--------#                                                                
++...+.++..+..+++.C++..+..++++....+.+.+++........++++...+.++........X                                                                
+C'''C'CC''C''CCC' CC''C''CCCC''''C'C'CCC''''''''CCCC'''C'CC''''''''$                                                                
+ XXX X  XX XX   X   XX XX    XXXX X X   XXXXXXXX    XXX X  XXXXXXXX_                                                                
+ CCC C  CC CC   C   CC CC    CCCC C C   CCCCCCCC    CCC C  CCCCCCCC&                                                                
 "---""---""--""--"""--"-"-"""--"----"-"----"-""""-"""--"-"------"--#                                                                
++...++...++..++..+++..+.+.+++..+....+.+....+.++++.+++..+.+......+..X                                                                
+C'''CC'''CC''CC''CCC''C'C'CCC''C''''C'C''''C'CCCC'CCC''C'C''''''C''$                                                                
+ XXX  XXX  XX  XX   XX X X   XX XXXX X XXXX X    X   XX X XXXXXX XX_                                                                
+ CCC  CCC  CC  CC   CC C C   CC CCCC C CCCC C    C   CC C CCCCCC CC&                                                                
 ----"----"""-"--"--"-""-"""""--"-""""-""-------""-""""-"-"-----"--"#                                                                
+....+....+++.+..+..+.++.+++++..+.++++.++.......++.++++.+.+.....+..+X                                                                
+''''C''''CCC'C''C''C'CC'CCCCC''C'CCCC'CC'''''''CC'CCCC'C'C'''''C''C$                                                                
+XXXX XXXX   X XX XX X  X     XX X    X  XXXXXXX  X    X X XXXXX XX _                                                                
+CCCC CCCC   C CC CC C  C     CC C    C  CCCCCCC  C    C C CCCCC CC &                                                                
 -"""--"""--"""-"-""--"""""""""-"--""""---""-"""-""-"""""-"-"""----"#                                                                
+.+++..+++..+++.+.++..+++++++++.+..++++...++.+++.++.+++++.+.++C....+X                                                                
+'CCC''CCC''CCC'C'CC''CCCCCCCCC'C''CCCC'''CC'CCC'CC'CCCCC'C'CCB''''C$                                                                
+X   XX   XX   X X  XX         X XX    XXX  X   X  X     X X  HXXXX _                                                                
+C   CC   CC   C C  CC         C CC    CCC  C   C  C     C C  XCCCC &                                                                
 "-""-"-"-"+"""--""-""""+"""""-"""""-""---"-""-"-"""-"-"""------""-"#                                                                
++.++.+.+.+C+++..++.++++C+++++.+++++.++...+.++.+.+++.+.+++......++.+X                                                                
+C'CC'C'C'C CCC''CC'CCCC CCCCC'CCCCC'CC'''C'CC'C'CCC'C'CCC''''''CC'C$                                                                
+ X  X X X     XX  X          X     X  XXX X  X X   X X   XXXXXX  X _                                                                
+ C  C C C     CC  C          C     C  CCC C  C C   C C   CCCCCC  C &                                                                
 "-""""-"""-""""----""-"""""""-""-""-""--"""""""-""""""--"---"----""#                                                                
++.++++.+++.++++....++.+++++++.++.++.++..+++++++.++++++..+...+....++X                                                                
+C'CCCC'CCC'CCCC''''CC'CCCCCCC'CC'CC'CC''CCCCCCC'CCCCCC''C'''C''''CC$                                                                
+ X    X   X    XXXX  X       X  X  X  XX       X      XX XXX XXXX  _                                                                
+ C    C   C    CCCC  C       C  C  C  CC       C      CC CCC CCCC  &                                                                
 """""-""-"--""-----""""-"--"""-"--"-"-"-"""""""""-"""-""-""-""-"-"-#                                                                
++++++.++.+..++.....++++.+..+++.+..+.+.+.+++++++++.+++.++.++.++.+.+.X                                                                
+CCCCC'CC'C''CC'''''CCCC'C''CCC'C''C'C'C'CCCCCCCCC'CCC'CC'CC'CC'C'C'$                                                                
+     X  X XX  XXXXX    X XX   X XX X X X         X   X  X  X  X X X_                                                                
+     C  C CC  CCCCC    C CC   C CC C C C         C   C  C  C  C C C&                                                                
 -""""""""""""""--"""""-"""-"-"""""""""+""""--""---""""""--"-"-"--"-#                                                                
+.++++++++++++++..+++++.+++.+.+++++++++C++++..++...++++++..+.+.+..+.X                                                                
+'CCCCCCCCCCCCCC''CCCCC'CCC'C'CCCCCCCCC CCCC''CC'''CCCCCC''C'C'C''C'$                                                                
+X              XX     X   X X              XX  XXX      XX X X XX X_                                                                
+C              CC     C   C C              CC  CCC      CC C C CC C&                                                                
 "-""-""""""""-""""""""""+"""""-"=="""""""""-"--"-"""""""-"--"---"--#                                                                
++.++.++++++++.++++++++++C+++++.+CC+++++++++.+..+.+++++++.+..+...+..X                                                                
+C'CC'CCCCCCCC'CCCCCCCCCC CCCCC'C  CCCCCCCCC'C''C'CCCCCCC'C''C'''C''$                                                                
+ X  X        X                X            X XX X       X XX XXX XX_                                                                
