o8o                                        
          `"'                                        
 .oooo.o oooo   .ooooo.  oooo d8b oooo d8b  .oooo.   
d88(  "8 `888  d88' `88b `888""8P `888""8P `P  )88b  
`"Y88b.   888  888ooo888  888      888      .oP"888  
o.  )88b  888  888    .o  888      888     d8(  888  
8""888P' o888o `Y8bod8P' d888b    d888b    `Y888""8o