.-') _          ('-. .-.   ('-.  _  .-')               
                  (  OO) )        ( OO )  / _(  OO)( \( -O )              
 ,----.     ,-.-') /     '._       ,--. ,--.(,------.,------.  .-'),-----. 
 '  .-./-')  |  |OO)|'--...__)      |  | |  | |  .---'|   /`. '( OO'  .-.  '
 |  |_( O- ) |  |  \'--.  .--'      |   .|  | |  |    |  /  | |/   |  | |  |
 |  | .--, \ |  |(_/   |  |         |       |(|  '--. |  |_.' |\_) |  |\|  |
(|  | '. (_/,|  |_.'   |  |         |  .-.  | |  .--' |  .  '.'  \ |  | |  |
 |  '--'  |(_|  |      |  |         |  | |  | |  `---.|  |\  \    `'  '-'  '
 `------'   `--'      `--'         `--' `--' `------'`--' '--'     `-----'