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