, ,,,',,,                             ,, ,,                   ,,,       ,,,
           ,l',,lll,,''lll'                          ,l',,''llll                  ''' ,, ,,llll ,lll'      ,llllllllllllllllllllllllllllllll lll
  ,,,,llllllllllllllll' llll' ''''              ,,             ,, '''''             ,,,,    ''''' ll''',llll''  '''    ,,,    lll        ll'   lll
         ,,lll''     '''''''''''''''''''''''''''' ll        ,lll      ''l,,     '''''''''''''''''''''''''' lll   lllllllll ,,lllllllll' lll''''''' lll''''    lll ,,,,,,,,,,,,,,,, ,,,,,,lll ll
        lll''               lll     ,,lll'      ''l,              llll     ,,,,,lllll ,,,,llll 'll,  ,lll    llll  ,,,    ll   lll
      ,,llll',,,''' ,,                  llll      ,lll''         'll,             ll   lllll'''''''ll,lll''''   ''l lll'      lll   ,lll,   lll   lll
    ,,llll'''   '',,, '',,,               lll     ,,llll'           'll,           lll   ,,,,,,,,, ,,,,,,,,lllll  ,, lll       llll      ,,lll   lll
 ,,llll''''      ''',,,lll,   ''''''''''''''''''''''''''' ,,lll   ''lll''         '''''''   '''''''''''''''''''''''''',,,lll    ''''''' lll   ,,,,llll''',,l' ,,,     '''     ''''''''    ll
 '''           '''                                             ,,,,,lll' ,lllll''''   '''ll'   ,,,lll''''''''''''''''''''''''''''' ,llll
                                                         '''''''              ''''