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