:   ' ::::::::::::::::::::::::::  :::: ::::
                              ~   ': :::::::::::::::::::::::::::.    :::::
                             :   ``:`:::::::::::::::::::::::::::::::::: `~
                             :   `:::::::::::::::::::::::::::::::::;   ~  
                            :     ::::::::::::::'::: :::::::::::::::::    
                            :     '::::::::::::: :: ::::`::::   ::; `::   
                            :       `:::::::: :: ::::::::     ::::::::::  
                            :        ':: ::: :: .:::::'::::     `::::::   
                            :     ~~`-~  ..::.i~~ : :  AMMM:'''!:::::: :  
                             .   ~~~ .XHH!`::!"~.! :!  %!!!!!:::::::::    
                             :  xx  XMMMF ':!~!!~.!!! %%)!!!!~~:::::: .   
                              .XX!~:MMHtd## !c`X$$$$$:%%?!!\d!::::::::'   
             dXWUX `~!        !MMX:MMMM$"## <M$$$$$$$$$$$M~dX`::::::'::.. 
          d$$$W7R$N.  ."*      MM!XMMM$$   .M$$$$$$$$$# !k<MX::::::`:    ~
         dS?#$$$X$$B '!  `!      ~XMM$$$b _M$$$$$$$$$## XM@$!::<:  '
        z$$MB!$$$M$$> !>    ``"!~ ?MM$$$$$$$$$$$$$$$h  mM$R!::'
     ad$$$$$MM!$$X$$.'X!        !XM?$$$$8$$$$$$$$$`$& tM$RX 
  ad$$$$$$$$$MX$$X$$!~M!        )MMMb$$$$$$$$P:$$$%8$$$$XX
$$$$$$$$$$$$RMXM$X$$ 'M!        'MMMMb$$$$$$$:::T$$$$$$P" ~--  ... -
$$$$$$$$$$$$MM!$$X$R  !!         'MMMNb$$$$$$:::%$$$$$P
$$$$$$$$$$$MMM!$$9$M. !!!          "MMMMb$$$$`:$$$$$#8
$$RRRRRRRMMMM!!?~$$$b  !!      `X:   `)H>`"Y$$$$P":!~9
MMMMMP      :XXt!X$$$b !!<      X?M@bnMM>   ^"`:'!!~XM
MM          UUU8$$$$$$:.!!  '   ~M?M@MQ$!       :!~tRM
           $$$$$$$$$$$P@$H!~'    ?$$$$$$!      !X~ $X<
           $$$$$$$$$$"MMMMRN:     M$$$$$~      X! WM!M
           $$$$$$$$$.MMMMMMMMk ::.M$$$$F .    !M:!9$MP
           $$$$$$$$:MMMMMMMMMRk.  .$$5R :  .xoWbiX$MM
           $$$$$$$$D)MMMMMMMMMRM    "~ ..d@RMMMM.XQXP
  dMMb     M$$$$$$$:MM8MMMMMMMMMP:iU? :@5MMMMMMM8X$X
dMMMMM.     R$$$$$PMMMMMMMMM?MMP$$$$X~MBMMMMMMMMD$$X
MMMMMMX     W#$$$(0MMMBMMMMMRMM:$$$$!~?XMMMMMMMM($$X
MMMMMMM!  d$$$!$$$LYMMMMMMMMMMM:?##"~XMMMMMMMMMXD$$X
MMMMMMM!m$$I$$$$$$$$MMMMMammdSX!`"'_XMMMMMMMMMMM:$$Xb
M?W$$R*$$$$$T$$PdMMMM""MMMMMMMX$$$b!haMMMM5MMMM%M$$$X
%*#~~ ii$X$$!$!MMMMMMMMMMMMMMPd""?$:MMMhaaMMMad$X$$$X
     :`T$$$$$T$kYMMMM8MMMMMPd$$SS$MbYMMMMMM""MM8@M$$Xs
     .:`T$$$$!$$WkMMMMMMMMW$$$$$$$$D"MMMMMMMMMTW@M$$$$T
   .     ~!$$$!$$$bMMM$MMW$$$$$$$P   !MMMMMMU@MMMM$$R!`R
     : .  !W$$$!T$$$k"$"ad$$$$$#P     !MM?    MMMM$R   'R
  .   :    R$$$$$$$$$$$$$$$$$P                 MM#" :   XZ
           `$$$$X$$$$$$$$$P                    \       '888.