..--`:-                                              
                                         . -/+hNNmymh+`                                           
                                     `-::shNMMMMMMMMMNmdo.`                                        
                                     `sNNMMNNMMMMMMMMMMMMmo.                                       
                                    .hNMNdyooydmNMMMMMMMMMMd-                                       
                                   +mMNy+:--.--/smMMMMMMMMMMd+                                      
                                  .mMN+:--....--:+ymMMMMMMMMMNs`                                    
                                  /MMy:----/+/:::::/smMMMMMMMMN/.                                  
                                 .yMMh:---/o++oy+---:omMMMMMMMMs.                                 
                                 -NMMmyo+:-:osys:--:/+sdhNMMMMMN-                                   
                             `-` -NMMMmyh:..----.-:/+oos+hMMMMMMy                                   
                            `/:/..NMMMMMh---....--:://+ohdMMMMMMM-                                  
                          `-::::/-dMMMMMo++:-.-------:/omNMMMMMMMo                                  
                       `-`-.-..+-//mMMMMhyo++//------:ohNNMMMMMMMN`                                 
                     `//:..---+y--o:hmmmNmhdhs+---::+hmNmNMMMMMMMMy.                                
                    /.:omy/ssoy:.:yhyyyydNNdy+---/ohmmhsymMMMMMMMMMy                               
                    y//yydymh+-..+//+-/hdhhdmo+ohmMMMy++syMMNMMMMMMMy:`                          
                    `-o/`:ym-.`.:s+mNhh+::/+hddNMMMMMmso+yMMMMMMMMMMMMdsoooos-``                    
                       --./N:-.-omNNNNy:-:/+ss:+mNMMMMNdssdMMMMMMMMMMMMhs+////++:                   
                        -/-hh/:/sNMNNNNo::/++/::/hNMMmmNdyomMMMMMMMMMNhs:-----:/oo`                 
                         /-/hy:+sNMNNNNy/:////:::+mMNNdhmhoohNNMMNNmhso/:---:://osy.                
                         :--:y+shMMNNNmss/::/+ooydhoodNdho/:/oyhmmhy+/--:::://///+sy                
                         .:-.-/ohMMNNNdoy/---/+//////oyms//:::///+++///::::://////oy+               
                          +-..-/hMMNNmooy:----:::::::::/y/:::::::://///////++/////+shs              
                          +:-.-:sNMNNy+y+:::::://////::::---::::::::////++syyo+///+osd+             
                          /:---:+dMNd+oy//////////++++/:------::::::://++sdNdso+//+oshm.            
                          //----/sNNo/so///////:///++oo:-------::::://+oydNNyhso+++oosdy            
                          //:---:+dN+/o///////:::://+oy/-----:::::///++sdNd. /hsoo++osyd/           
                          ++/---:/smso+:://///:--::/+sh:------::::////+oyd`   -hso+oooshd`          
                          s+/::::/oyhs/:::::::---::+oyh-..------:::::/+osy-    -yo++oosydy          
                          yo+/:::/+ohh/:--------://oyds...-:--------:/+syhh:    oso++osyhm:`        
                          oso+////+oydo/::----:/+oshdd-...-::---...--/oshhdd    .hoo+ooshdd         
                          -yo+//++osymds++///+osyhmmd:.-..-//:--...--:+oyhdm.    /ysooosydm+        
                           :yo+++osydmNhdhhhhhdmmmds:----.-:o+/:---::/+oyhmh      yhsooosydd        
                            +so++oshdmm:/+ossyyso/::----..-:/oso+///+osydmh.      .hhs++oshm.       
                             oyo/+ydmNo::----:::::::----..--:/+yhyyyhdmmd+`        /ds+/+shm:       
                             `-/yNMNo:---::::::::::--------:/+oydNmh+:.`          .y+//oydN-       
                                 .MNs/:::////:::::::--::::-::/oshmmm-              o+//+shmh        
                                  yy//:://///:::::::-::://////+yddm+              /o//+oydm-        
                                  -yo+/:////::::::::::://+++++oydmh              -o+/+oshm/         
                                  `hso+++///:::::::::://++ooosydmm-             `o+/++oydo          
                                  `ysoo++///::::::::://++ooosydmNh             `++//+osdy`          
                                   oo++//////:::://///+++ooshdNNNm:           `:+///+shh`           
                                  .o+///////::::://////++oyhdmdhdmd-         -+///+ohm.            
                                 `oo+///////::::/os/://+oshhhyssyhhh.        -+///+ohd-             
                                 +o++///////:::/+ys///+osyhyyooosyydh-      -+////ohd.              
                                :o+/////////////+++:/++osyyysoo++oyhds/`   -+/::/+hh.               
                               `s+///////++++//+++//++osyyys+ossyyhyo++o:.:+/:::/ys`                
                              `ss+//////+++oo+++oooooossyyyyyhhysss+/:/+ysso+/:/oo`                 
                              +hs+//////+++oooooosoosssyyhhyyys+++/+o/::+ysso+/so                   
                              yyyo////+++++ooosssssssyyyhhhyso+/+yhs+++//syysys/`                   
                             /ysyho////++++ooosssssssyyhhhyyoosys+oyhs++sydys/`                     
`                           `ysooyy+///++++oooosssssyyyyyhhysyyssyysyhmNNs``                        
                            :hsoooyyssssoooooosssssssyyhhhhysyhdhhddddddmm:                         
                            +yso+++osyyyyysssssssssyyyhhhhhyyyyyyssoooosyhd:                        
                           `sso+////+oossyyyyyyyyyyhhhhhdddhhysoo+++++oosyhd-                       
                          `oso+//:///++osyyhhhhhhhhmmdddmmmhyso+++////++osydh`                      
                          smmmmmdys+//+osssssyhdddmNNmmmmhsoooo++/////+osydmNs                      
                         /MMMMMMMMMMmhsossooosyddhyyssoods++++++///+oydmNMMMMM:                     
                        -ysssyhdNNMMMMMNdyssyhh-`       :ds++oooyhmNMMMMMMMMMMm.                    
                      `++//:::::/+ydNMMMMMNdd+`          /hyhmNMMMMMMMMMNNmddddo                    
                      /+//::--::://+oymNMMMN-             sMMMMMMMMNmhsoo+osyyhd.                   
                     /+//::--::://++++oymMN:               dMMMNdhs+////++oosyhd+                   
                    :+/::---::://+++oosydN+                /Ndysooo++//+++oosyhdh                   
                   :+/::---::///+++oosydmo                  .yhyyssoo+++++oosyyhd:                  
                  -+/::---:://+++oosyhdNo                    `yhyysssooo+ooossyhds                  
                 `+/::---::///+++osyhdmy                      `shhyssssooooossyhhh`                 
                `/+/::--::///++oosyhdmd``                       yhhyssssoooossyyhdo