,----,                               
                                                                                                  ,/   .`|                               
                                                                           ,---,.     ,---,     ,`   .'  :                     ,---,     
                                                  .--.,                  ,'  .'  \ ,`--.' |   ;    ;     /                   ,--.' |     
                ,---.         ,---,     ,---.   ,--.'  \               ,---.' .' | |   :  : .'___,/    ,'                    |  |  :     
  .--.--.      '   ,'\    ,-+-. /  |   '   ,'\  |  | /\/               |   |  |: | :   |  ' |    :     |                     :  :  :     
 /  /    '    /   /   |  ,--.'|'   |  /   /   | :  : :      ,--.--.    :   :  :  / |   :  | ;    |.';  ;             ,---.   :  |  |,--. 
|  :  /`./   .   ; ,. : |   |  ,"' | .   ; ,. : :  | |-,   /       \   :   |    ;  '   '  ; `----'  |  |            /     \  |  :  '   | 
|  :  ;_     '   | |: : |   | /  | | '   | |: : |  : :/|  .--.  .-. |  |   :     \ |   |  |     '   :  ;           /    / '  |  |   /' : 
 \  \    `.  '   | .; : |   | |  | | '   | .; : |  |  .'   \__\/: . .  |   |   . | '   :  ;     |   |  '          .    ' /   '  :  | | | 
  `----.   \ |   :    | |   | |  |/  |   :    | '  : '     ," .--.; |  '   :  '; | |   |  '     '   :  |          '   ; :__  |  |  ' | : 
 /  /`--'  /  \   \  /  |   | |--'    \   \  /  |  | |    /  /  ,.  |  |   |  | ;  '   :  |     ;   |.'     ___   '   | '.'| |  :  :_:,' 
'--'.     /    `----'   |   |/         `----'   |  : \   ;  :   .'   \ |   :   /   ;   |.'      '---'      /  .\  |   :    : |  | ,'     
  `--'---'              '---'                   |  |,'   |  ,     .-./ |   | ,'    '---'                   \  ; |  \   \  /  `--''       
                                                `--'      `--`---'     `----'                               `--"    `----'