____  _____ _____  _         __     _    ____   ____  ___  
 | __ )| ____|_   _|/ \       / /    / \  |  _ \ / ___|/ _ \ 
 |  _ \|  _|   | | / _ \     / /    / _ \ | |_) | |  _| | | |
 | |_) | |___  | |/ ___ \   / /    / ___ \|  _ <| |_| | |_| |
 |____/|_____| |_/_/   \_\ /_/    /_/   \_\_| \_\\____|\___/ 
      _ _                  _   _                      _              _ _                                     
   __| (_)_ __   __ _ _ __| |_(_)_ __ ___   ___ _ __ | |_ ___     __| (_)                                    
  / _` | | '_ \ / _` | '__| __| | '_ ` _ \ / _ \ '_ \| __/ _ \   / _` | |                                    
 | (_| | | |_) | (_| | |  | |_| | | | | | |  __/ | | | || (_) | | (_| | |                                    
  \__,_|_| .__/ \__,_|_|_  \__|_|_| |_| |_|\___|_| |_|\__\___/   \__,_|_|        _ _                         
  _ __  _|_(_) ___ ___ | | ___   __ _(_) __ _    __| | ___| | | ___    _____   _(_) |_   _ _ __  _ __   ___  
 | '_ \/ __| |/ __/ _ \| |/ _ \ / _` | |/ _` |  / _` |/ _ \ | |/ _ \  / __\ \ / / | | | | | '_ \| '_ \ / _ \ 
 | |_) \__ \ | (_| (_) | | (_) | (_| | | (_| | | (_| |  __/ | | (_) | \__ \\ V /| | | |_| | |_) | |_) | (_) |
 | .__/|___/_|\___\___/|_|\___/ \__, |_|\__,_| _\__,_|\___|_|_|\___/  |___/ \_/ |_|_|\__,_| .__/| .__/ \___/ 
 |_|__    __| | ___| | | __ _   |___/___   ___(_) __ _| (_)__________ _ ___(_) ___  _ __  |_|_  |_|          
  / _ \  / _` |/ _ \ | |/ _` | / __|/ _ \ / __| |/ _` | | |_  /_  / _` |_  / |/ _ \| '_ \ / _ \              
 |  __/ | (_| |  __/ | | (_| | \__ \ (_) | (__| | (_| | | |/ / / / (_| |/ /| | (_) | | | |  __/              
  \___|  \__,_|\___|_|_|\__,_| |___/\___/ \___|_|\__,_|_|_/___/___\__,_/___|_|\___/|_| |_|\___|