d8b                                                               
                                                  Y8P                                                               
                                                                                                                    
 .d8888b  8888b.  88888b.d88b.  88888b.   8888b.  888  .d88b.  88888b.  .d8888b  88888b.   8888b.   .d8888b .d88b.  
d88P"        "88b 888 "888 "88b 888 "88b     "88b 888 d88P"88b 888 "88b 88K      888 "88b     "88b d88P"   d8P  Y8b 
888      .d888888 888  888  888 888  888 .d888888 888 888  888 888  888 "Y8888b. 888  888 .d888888 888     88888888 
Y88b.    888  888 888  888  888 888 d88P 888  888 888 Y88b 888 888  888      X88 888 d88P 888  888 Y88b.   Y8b.     
 "Y8888P "Y888888 888  888  888 88888P"  "Y888888 888  "Y88888 888  888  88888P' 88888P"  "Y888888  "Y8888P "Y8888  
                                888                        888                   888                                
                                888                   Y8b d88P                   888                                
                                888                    "Y88P"                    888