88""Yb    db    88""Yb 888888 88 8888b.   dP"Yb  88     88    db    
88__dP   dPYb   88__dP 88__   88  8I  Yb dP   Yb 88     88   dPYb   
88"""   dP__Yb  88"Yb  88""   88  8I  dY Yb   dP 88  .o 88  dP__Yb  
88     dP""""Yb 88  Yb 888888 88 8888Y"   YbodP  88ood8 88 dP""""Yb