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