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