.ooooo.                 .oooooo.                             
888' `Y88. d8P' `Y8b
.oooooooo 888 888 .ooooo. 888 888 .ooooo oo .oooo.
888' `88b `Vbood888 d88' `88b 888 888 d88' `888 `P )88b
888 888 888' 888ooo888 888 888 888 888 .oP"888
`88bod8P' .88P' 888 .o `88b d88b 888 888 d8( 888
`8oooooo. .oP' `Y8bod8P' `Y8bood8P'Ybd' `V8bod888 `Y888""8o
d" YD 888.
"Y88888P' 8P'
"