_____ _             _____    _       ____   ___     ___   ___    _  __    ____  _    ____ _____ _____   ____   ___ ____   ___  
|_   _| |__  _   _  |  ___|__| |__   |___ \ / _ \   / _ \ / _ \ _/ |/ /_ _|___ \/ |  / ___| ____|_   _| |___ \ / _ \___ \ / _ \ 
  | | | '_ \| | | | | |_ / _ \ '_ \    __) | | | | | | | | (_) (_) | '_ (_) __) | | | |   |  _|   | |     __) | | | |__) | | | |
  | | | | | | |_| | |  _|  __/ |_) |  / __/| |_| | | |_| |\__, |_| | (_) | / __/| | | |___| |___  | |    / __/| |_| / __/| |_| |
  |_| |_| |_|\__,_| |_|  \___|_.__/  |_____|\___/   \___/   /_/(_)_|\___(_)_____|_|  \____|_____| |_|   |_____|\___/_____|\___/