_____  _____ _____ _____   _______       ____  _      ______    _____ ______ _   _ ______ _____         _______ ____  _____  
     /\    / ____|/ ____|_   _|_   _| |__   __|/\   |  _ \| |    |  ____|  / ____|  ____| \ | |  ____|  __ \     /\|__   __/ __ \|  __ \ 
    /  \  | (___ | |      | |   | |      | |  /  \  | |_) | |    | |__    | |  __| |__  |  \| | |__  | |__) |   /  \  | | | |  | | |__) |
   / /\ \  \___ \| |      | |   | |      | | / /\ \ |  _ <| |    |  __|   | | |_ |  __| | . ` |  __| |  _  /   / /\ \ | | | |  | |  _  / 
  / ____ \ ____) | |____ _| |_ _| |_     | |/ ____ \| |_) | |____| |____  | |__| | |____| |\  | |____| | \ \  / ____ \| | | |__| | | \ \ 
 /_/    \_\_____/ \_____|_____|_____|    |_/_/    \_\____/|______|______|  \_____|______|_| \_|______|_|  \_\/_/    \_\_|  \____/|_|  \_\