oooooooo .o .oooo. dP""""""" o888 .dP""Y88b d88888b. 888 ]8P' oooo ooo `Y88b 888 <88b. `88. .8' ]88 888 `88b. `88..8' o. .88P 888 o. .88P `888' `8bd88P' o888o `8bd88P' .8' .o..P' `Y8P'