.o .ooooo. ooooooooooooo oooooooo oooooooooo. o888 d88' `8. 8' 888 `8 dP""""""" `888' `Y8b 888 Y88.. .8' 888 d88888b. 888 888 .ooooo. 888 `88888b. 888 `Y88b 888 888 d88' `88b 888 .8' ``88b 888 ]88 888 888 888ooo888 888 `8. .88P 888 o. .88P 888 d88' 888 .o o888o `boood8' o888o `8bd88P' o888bood8P' `Y8bod8P'