ad88888ba                                 88     888888888888  88           88                  ,ad8888ba,                         88              
d8"     "8b  ,d                            88          88       88           ""                 d8"'    `"8b                        88              
Y8,          88                            88          88       88                             d8'                                  88              
`Y8aaaaa,  MM88MMM  ,adPPYba,  ,adPPYYba,  88          88       88,dPPYba,   88  ,adPPYba,     88              ,adPPYba,    ,adPPYb,88   ,adPPYba,  
  `"""""8b,  88    a8P_____88  ""     `Y8  88          88       88P'    "8a  88  I8[    ""     88             a8"     "8a  a8"    `Y88  a8P_____88  
        `8b  88    8PP"""""""  ,adPPPPP88  88          88       88       88  88   `"Y8ba,      Y8,            8b       d8  8b       88  8PP"""""""  
Y8a     a8P  88,   "8b,   ,aa  88,    ,88  88          88       88       88  88  aa    ]8I      Y8a.    .a8P  "8a,   ,a8"  "8a,   ,d88  "8b,   ,aa  
 "Y88888P"   "Y888  `"Ybbd8"'  `"8bbdP"Y8  88          88       88       88  88  `"YbbdP"'       `"Y8888Y"'    `"YbbdP"'    `"8bbdP"Y8   `"Ybbd8"'