-ymmddmNNMMMMNNmmmddddy/`                                         
                               .smNmmNMMMNNNNNddNdmmmmmdddh.                                        
                            `+mMNmmmMMMNmmNNdsohhhdmmNMNNmmd:                                       
                           `/mMmmmmMMNmmmhyo/:/+oyyhdmNMNNNNNh:                                     
                           .yMNNNmNdyooo/-.----..-:/++ymMmdmMMd.`                                   
                           +NNNNNmNdo:--..`.......--::/sNMmdmMNy`                                   
                           yNmmmddNh/:-...........----:+yNdhdNNd`                                   
                           :Nddmddmho/:---..........://+oyyhdNNy`                                   
                           `smNNNmmds+:--........:oso+oo++ohdNmh`                                   
                            oNMMMMNNs//::------:+ydddhdo::/ydNNmo`                                  
                           -yNMMMMNMdysyddhys:--/+o++/:-.-/hdNMmy                                   
                          -ooNMMMMMMNhdNhhso+/.`--.....`.-+hhNMNm+-                                 
                         /ysyNMMMNMMNs++/::--::..---.....:+syddmmddd+`                              
                        .dhydNMMMMMMMy/:-...-//-.-/:----::/+omNNdy+hNs                              
                        .hysdMNMNMMMMNs+:-..-:/o/::--:+/:::/omMNMmhydy.                             
                         +ysMNNMmMMMMMNyo+/:-::::///++/-:://hMMNmmNms/:                             
                         ossmdNdymMMMMMmyso+/+oss+///:---:+hNMMNymNdys:                             
                         +s:/sNhmNNMMMMMNhso+:::::--...-/+sNMMNNydy++oh/                            
                         `o+--hhNMmNMMMMMMNmdyo+/-----:/++sNNNNmyyooo::oo-                          
                           :++++yNMNmNNNNNNMMMNmdyso++////smmNNhymys::--o::`                        
                           `/syhoomMMNmmmmmmMMmdhyso+////+oydhydhmhos+-:/.:o.                       
                          -+:-ymmyyNMmNNNNmmmNdyo+///////+ooo+oyyyddyyso/yddh+                      
                        `:o..:shhNmmmsmNMMNNNNmho::---::++++:/o++//+ssss+yyyo/:--.`                 
                        /:+---:/yhhhdNMMMMNNNmmho/:....-:/:::/:::--://:/:::::-----:-`               
                       .o-/:/::::+yhdNMNmdhdhdmdo/-.........:....---:::/---.--....--::`             
                       ./:/+/+///ohydNmdysooooyy+:...``...``.-..---..--:-----......--/+`            
                      `::-/-::-::/+soyhhhsoooo++:...```.......----.......----.......-:+/            
                      ::::/::::::::://+syhdhs++/-...`````.......-::-.......-----...--:/o.           
                     -/:---//:-:/::----:/ydhdhso/:--.``````......---/......----::----::++           
                    `/:--..-://+/:--...:+y/oso+//:::-..```````....---/.....---::+:---::/o`          
                    :/--....--/+:---...-+o/so/-----....```````.......---..---:/+o/----:/o-          
                   `+:--.....-++//:---..:++s/-..........``````........--.--:/+oos/----:/o/          
                   -+:-......-/so+/:-...::/:::--::-.....`````````......---:/+oyho:----:/oo          
                   //:-......-/hy+//::::-.``.............```````````....--:/osdh+:----:/+s          
                   +/:-.....-:ohs/::--..`````````....-...``...````````...--/+ymy+:-----:+s`         
                  .+:--.....-/yys/:-----..``````...---...`.....````````.--::+ymho:--.--:+o.         
                  :/:-......-+d/s//::/:--...````..----...``.--...``````.-:/++smhs/-...-:/o-         
                  +/:-......-+d.yo///+++/::-.....--::-...`..-::-.......---+s+ymhy+:-..-:/o-         
                 .+/--......-+h hyso+osso+/:----:://:-......-://:------//+ss+/Ndyo:-..-:/o:         
                 :+:-......-:+o dyyyysssoo+/////++/:-......---:/+///:://ooso.`mdyo/--.--/+/         
                 +/:-......-:+:.myssyhhhyyysssoo+/:-....--.----:/osssooosss-  hmys+:-.--:++         
                .+/:-......-:o`.myoo++ossyso+/::--.....-----.-----:+osysss+   +mhs+/--.-:/o         
                :+:--......-/+ .mso++//:////::---.....------.-...--:/+osss`   .Ndyo/:----/o.        
                /+:--....--:/: -mso+//::::///::--------------------:/ossy:     hmyo/:----:+/        
                ++:--...-:::+. :ms++///:::::/:::-------::------::://+syy/      omy+/::----/o`       
                o+::--.--://+ -hms++////::::::::::-:--:::----:://++osyyo       -ds+::::---://       
                o+/:-----:/+osNMms++////::::::::::::-::::--:::/++ossyys`        yo/::::---:/o`      
                oo+/:-----:/dNNmho+//////::::::::::::::::::::/++ossyyy.         /o/::::----:+/      
                /o+/::-----:+dmho+////////////////:::://::://++ossyyy-          `s+/::-----:/o.     
                -so+/:------:+hyo+/////////////////////////++oosssyy+            /o+/:-----:/+:     
                 :so/::------:+yyo/////////::://////++++++++oosssyyh-            `oo+:-----:/+o    `
                  +s+/:-------:+yso/////::::::::///+oo+++++ooosssyyh:             -s+/:----::+s.    
                  /ys+/:-------:+yso+///:::::::::/+++++//+++oossyyyh/              +o/:----::/o:    
                `+ssyso/:-------:oyso+////:::::::/+s+//:///+oossyyhds              -s+/:----:/o+    
               `+soosyso/::------:oyyso+///:::///+sh/::///++ossyyyhdd-              +s+:----:/oo    
              `+soooooyso/:-------:oyyso+////////++/////+++ossyyyhhmmdo.            `so/:---:/+s    
              +ssssooooyso/:---.---:+yyyso+////++++/+++++oosssyyyhdmmdhyo-`          -yo:---::+s`   
/++++//-`    /ssssooooossso+/:---.---/yhysoo++++ooo++++ooossyyyyhddhsooooso:`         /s/:---:/s.   
hhhhhhhhyo:`-ssssoo++oooosso+/----...-:shhyyssssssoooossssyyyyyhhyo+++++++ooo/.`       ++:---:/o:   
hhhhhdddhyysyssooo+++ooooosys+/:--..-.-:ohhhhyyyysssyyyyyyyyyhhs+////////////+++//-.`  `o:----:+o   
dddddddhyyhyyysoooooooooooossso/-......-:ohhhhhyyyyyyyyyyyyhyo/////:::::::::::///++os+/-+:----:/+.  
dddddddhhhhhyyysoooooooo++ooosyo-.--..---:shhhhhhhhhhyyyhhyo///////:::::::::::::://++syyy/----:://  
ddddddddhhhhhhhhhssooooo+++++oos:-----..--/shhhhhhyyyyyhyo///////////:::::::::::::::/+osy/--.-::/+. 
ddddddddhhhhhhhhhhysssoo+++/++o/:----------:oyhhhyyyyyhs++///////////::::::::::::::::/+os+:-----:/+-
ddddddddhhhhhhhhhdhhhyo+++///++:-----------::+yhhhhhdhsoo+///////////:::::::::::::::::/+o+:------:/+
mdddddddhhhhhhhhhdhmmho++////++:------.------//sdmmmmhyso++/////////::::::::::::::::-::/+/:-------::
NNmmdddhhhhhhhhhhhhdNdo+///////-.--......-...:/-yNMMNmdyyso+++++++////:::::::::::::::::/+:--------::
MNNmmddhhhhhyhhhddddNh+////:///-.:/-.-...-...-+::NMMMMNmdhyyssoooo+++//::::::::::::::::/+:---------:
MNMMmmdhhhhhyhhhddddms+/::::://:-h+--/+..-+-.-++:yMMMMMMNNmdhhyyyysoo++////////:::::::/++:-:++::---:
MNMMMmmhhhhhhhhhddddms+/:::::/:-+s:--oy---yo.-/s/oMMMMMMMMMMNNmmdddhyso+++//////::::://+o/-:hmho::-/
MNMMMNmdhhhhhhhddddmms+/:::::/--o:-..++---+h--/y+sMMMMMMMMMMMMMMMMNNNdhyssoo+++//:::::/+oo--s+/+o/::
MNMMMMNdhhhhhhdddddmNy+/:::::/://::.:::-../y/.-syoMMMMMMMMMMMMMMMMMMMMMNmdhysso+//:::::/oo+:/s::+o/:
MNMMMMNmdhhhhdddddmNms+//::::://:/:-:--:--:/+-:oooMMMMMMMMMMMMMMMMMMMMMMMMNNmhys++//::::/+so/y+//+s/
MNMMMNNmddddddddddmNyo+/////:---://:/-:/-::-+::+ooNMMMMMMMMMMMMMMMMMMMMMMMMMMMNdyo+//::::/oooyo+/+ss
MNMMMNNNdddddddddmNNys+//++//:---:://:/+::::o/:oosMMMMMMMMNNNNNmmmmdddmNNMMMMNNNNdyo+//////+oso+++os