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