oooooooo ooooooo ooooo oooo .oooooo..o ooooooo ooooo
dP""""""" `8888 d8' `888 d8P' `Y8 `8888 d8'
d88888b. Y888..8P 888 Y88bo. Y888..8P .ooooo oo
`Y88b `8888' 888 `"Y8888o. `8888' d88' `888
]88 .8PY888. 888 `"Y88b .8PY888. 888 888
o. .88P d8' `888b 888 oo .d8P d8' `888b 888 888
`8bd88P' o888o o88888o .o. 88P 8""88888P' o888o o88888o `V8bod888
`Y888P 888.
8P'
"