###    ###                                                         ##                         ##    
.##:  :##.                       ##                                ##                         ##    
 ###  ###                        ##                                ##                         ##    
  ##::##    .####:    :#####.  #######    .####:    ##.####   :###.##   .####:   ##:  :##     ##    
   ####    .######:  ########  #######   .######:   #######  :#######  .######:   ##  ##      ##    
   ####    ##:  :##  ##:  .:#    ##      ##:  :##   ###.     ###  ###  ##:  :##  :##  ##:     ##    
   :##:    ########  ##### .     ##      ########   ##       ##.  .##  ########   ##..##      ##    
    ##     ########  .######:    ##      ########   ##       ##    ##  ########   ##::##      ##    
    ##     ##           .: ##    ##      ##         ##       ##.  .##  ##         :####:            
    ##     ###.  :#  #:.  :##    ##.     ###.  :#   ##       ###  ###  ###.  :#    ####             
    ##     .#######  ########    #####   .#######   ##       :#######  .#######    ####       ##    
    ##      .#####:  . ####      .####    .#####:   ##        :###.##   .#####:    :##:       ##