++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;
+`                                                                                                                                                `` ,
+`                                                                                                                                                `` ,
+`                       `,:`                                                                                                                     `` :
+`                   `.;+zz#+;.                                                                                                                      ,
+`                ,;i++##nnzz##*:`                                                                                                                   ,
+`               `nz##+##n###+zzz#i                                                                                                                  ,
+`               `z##n##+#z#znnxn##                                                                                                                  ,
+`             ```zn#xzznznxxxxxz##                                                                                                                  ,
+`             iz*nz#nz#nnxxxxxxzz#                                                                                                                  ,
+`             `*##nznnznnnxxxxxzz#                                                                                                                  ,
+`              +xMz+nnnMxxxxxxxnn#                                                                                                                  ,
+`             `nxMMMz+zMMxxxxxMnnz.                                                                                                                 ,
+`             ;nxMMMMMnzxMxxzz#+z#.                                                                                                                 ,
+`             +nnxMMMMMMM#z###+###.                                                                                                                 ,
+`             znzxzMxxMxMxnz#z##++.                                                                                                                 ,
n`            `nzxMnzxxxMMxzzzxnz+*,                               ,;.                                                                               ,
M`            ,nnxMx#xxMMxn##xxxn##,                           `,*#z##*:`                                                                            ,
M`            ,xxnMMzzxMxxz#+Mxxxz++i,                      `:+z#+++###+#*,`                                                                         ,
M`            :xnzxMznxMxnz#+xMMxn##++#*.                `;+#+zz####zzz####+;.                                                                       ,
W`            ,xz#zn#nxMxMz##znMMxz###+#+i,              izz###zz##++#z##z###+                                                                       ,
W`            .nznnz#xxxxMzznxMMMMxzz*i;+#+*,`           iz##z#+#z#######zzz#*                                                                       ,
M`            `nzz#z##nMMMxxMMMMxxn#n#iii;**i+:`     `;.`*nzznxzz##z###zxxnnz*                                                                       ,
M`             zzznxnzxMMMxxMMMMxnx:.*+*i;:;*i**i.   .+n*znnz#zznzzzznnnxnxxz*                               `;                                      ,
x`             +zz#MnznMMMxxMMMxxnn:  `;+i:;i;i*#z*.  `*#+nxzzzzn#zMxxxnxxxxz*                                +.                     `;;.            ,
M`             *znzzzzzMMMxxMMxxxnn;    `i**i;:;+*##i. #xx#+nxzzn#zxxMxxMxxxz+                               .#;   `                .+#zz`           ,
M`             ;nxMz#nzxMMxxMMMxnnn;      `:#+;;;#****+MMMxx#+zn#znnxMxxxxnxz*                              `i#*   `,               i*+#z;           ,
M`             :MMMMMM#xWWxxMMxxnnn;        `:+#;z++**nMMMMMMx#+znxxxMxxMxnn#*                             .**#+. .;;              .;+zxzz.          ,
W`             .+MMMMx#xWWMxxMMxxnni           :*n#+++MMMMMMMMMx#+nMMxxxxxnz+i                            `*i*#i* :*:              `++#znn,          ,
W`               ,xMMMzMWWMxxxxxnnzi             .i###MMxnMMxxxMMMzznxxxnz+**i                            .+i**;+.;*``             `i;;##,           ,
M`                *MMMxxWWMxxxMxnnni               `;zxxzzMzxxxxxxMMz#n++###zi                           ,`*i**;****`:          `inx#;inx#:          ,
n`                *xMMxxWWxxxxxxnnn*                 ;xn#MMnzMxxxxxxzz##zzz##i                           ;.*;i*i;#;i+;        `*xxxnz##znzxz:        ,
x`                i+xxMMMMxxxxxnnnz+                 ixxzMMM#xMxxMxzn#zznnn+*i                           ,;*;;i+;**#+i       `+xMnM#+z###zMMx:       ,
M`                i*iznMxMxxxxxnnz##;                +nxzMMMnzMxxMxnn##zMMMxzi                           ,+i:i;*i:;#*i      .;;+nxMii#ii*#MMxx,      ,
M`                ;i;i+nnxxxxxnz#+*+:                +nxnxMMx#MMMxnn#+#xMMxxxni`                        `::;;i:i+::*+,   `:i**;##Mx;:i*i*#WnMMz      ,
W`                ;*;i;*zxxnz#++++##:                +nznzMMzzMMMnnz++#xxxxxxn#+                        ;:::;:::+*,;;,  `;zxMz*zMWMi:;+++#MxxMn      ,
W`                ;#*i;;*#####+#++#+:                inn#+zx#zMMMnz#*+#MMxnxn#z#`                       i,,:,,:,**i.,i.;#*x##:``#x:++**z#nMMMx:      ,
M`                inn+*i##x###+#++**:                ,xn#xzz#xMMMnz#**+MMMxxzzz#`                       ,:.;,:,,;,;.:izxz*#i`    ` ;;**#nznM++,      ,
x`                +zzzzz+#n####+++**:               `;nx+x#z##xMMnz#***zMMxxzz#+                        :*,:,;.*i.;.:*#:...`       :;i*+znxx#*i      ,
x`               `#z#znx++#######++*:             .i++nx+nzznx+xMzz+***#zxMMz##,                        **;:;*,#;:*.:*i          `zz::ii+nnxz+z`     ,
x`               ;###zxn*+#####zz#+*:            ;***+nx+znWzx+MMnz++*+##nnxx*,,.                      `#+:;:;.++:M::i:          ;MWn+++zxxMn+z      ,
x`              `++##zMn*+###+#zz#+*:          `i***+nxx*xzWMz#MMxn#z+#znxxxnii**;.                    `##*;:;.,#;z*ii:          *MxMMMMMMWnnz#`     ,
n`              :+###xMn*+#####zz#+*,         `****+xxMx+Mzzx+#xMMn#zzxxxxnxziii;;i:`                  ,*xz+i*;,i+*zz*i`         +WMMxMxMnMnMz#`     ,
x`              ++##zMx#i+##zz#zz#+*,         i***+#MMMM+MMz+#zxMWWxMMxxxnnnzi;iiiii;:`                ;inxnM#+*i*++zz*;`        ,xnMnxzxnMxM#+,     ,
x`             :+###nMn*i+##zzz###+*:        :***+##MMMWMMMMMMnzMWMMxxxnnnnnzi**+++***+,              `++*nxMnn#***+zz+;,         +zMzxzxzMxx+#+     ,
x`             ++###xM#*i++#zzz##+**,       .***+n+zMMMMWMMMMMn#MMMMxxxnnnnn#+++#####++:              ,#;,*znMMx+***nM#*i         #nMzx#xzxxx#nM.    ,
W`            ,####nMx**i*+#zzz##+**,       i+*+zMznMMMMMxWWWMn#xMMMxxxnnnnn#++#z##+*++:             `i#i+**#xWM+**#zzn+*         +nM#x#xnxxMMMM+    ,
W`            i####xxz**i*+##zz##+**:      .+++zMWxMMxxnnznWWMMzxMMMxxxxxnnxz#####z#+#+:             i+##znnzxMxn++znz+zi         +xx#x#xnxMMMMMx`   ,
W`           .+###zxx++*i*+##zz##+**,      i##zxMxxxnnnnn#zxMMxxxMMxxxxxxxnxz#zzznnzzz#:           ,i*zMnxxnnxWMx#+zz#nn:         +xM#x#xxnMxz*xM;   ,
W`           *+#z#nxn++ii*+######+**.     .znnnnxxnnnzzzi+nnnxxxxMMxxxnxxxnxnnxxxnz##+*+,       .i++*+zWxMxxxWMnM##nnxxz`         .++#i**+z#:  zMz   ,
W`          .+##zzxM#++*;*#######++*,`.:*#zznxxxnnzzzzzz+*i#nxnxxxMxxxnxxnxxxWxnnz#++++*i:   `,*#x++#zzxxxxxMx#zz#nxMxx*       `,,`i*;   :;+:  :Mx   ,
W`          i+##znxn*+**;+########+*zzzznnxnnxnzzzz#zzz#+;;;*znznnxxxxnxxnzzzxz#zz#+*;::;;;.;#z+xMz#znz#znxxzzznnnnxxn#`      .*+zz#i*`  .;*+.  **   ,
W`         `++#znxx#*++*i+######z#++xxxxxxxxnnzzzznnxxnz;i*i;;*#nzxxxxnnzznxznzzz#*:;::;*zn#+#z+;,.```*+#znxnznnnznzz#.       i*#zzn+z;  ,:inz       ,
W`         ;#+#znxx**+*ii+z##znxxnz+xnxxMxxnnnnnxMxxxxxz;++**ii;*zxxnzzzzznnznz#n*i;i*+#zzxnM+:`      `i####+#nxnzzzz,       :##znnnMx:  *izx,       ,
W`        `##+zzxxz*+**ii+z#zxnnnnnnxxxxxxxnnxxMMxxMMMMz;znz**+i+*#zzzzzzznnznzzx+++#+++zxWWnnnn#i:`    :+z#+zznzzzi`        ;zzzxnnM+  `zxx#        ,
x`        ;#+#znxx++++*ii+z#nxnnnnnxxMMxxxxxxxxxMMMxMMxz#zzzn+i####nzzzzznnnznnz#*ii*+#znxWx##nxn+**i;:,``,i*++*i:`          ;**#nxnxi   `nMi        ,
+`       `+#+#zxxn*+#+*ii+##nznxnnnnnnxxxxxxMMMMxxxxxxxxz##zznn#z+#nzzzzznnz##*ii*+#zzzxxnxz#zz#+**iiiii**`                  ii+znxnn:    *M;        ,
+`      `;#+##nnxn#zn++ii+##nzzznnnnnnnxxMMxMMMMxxxxMMMx###zznxz+*#zzz#zznnz+i*++i##+*+nxnxnn+*iiii;;i*#zz*`          .     `i*nnnMxM,    +M*        ,
+`  `:;+zz#+#zxnni+#z#***+##nnnzznxxxnnnnnxxxxxxMMMMMMMz##zzzxMz+*#zzzzzznnzz#*:`  :ii*z#zxMz+i;;;i*+z#+*+*+;` ,i;` `ii:    :MMxnnznM+    znn`       ,
+`  `nnzn#++#nxn#*+###+*#+##zxnnzzznxxxxn#+#nxMMMMMMMxn###zznxMz*i##zzzzzzzzi`      `:+#**zn#+**+##z#+******z#*++*i;;ii,  .#MnxWzzzzx+    ;xMz`      ,
+`   z#*z#+##xxx+++++**+#*###znnznnnzznz#++++#xxxMMMMxzz#zzzxMMz*i#zzzzznnnz:         `+++zx#*###xz+##+**+#+***iiii**i+#``nxxxMMzzzzxM.    #xn#      ,
+`   ##*+#+#nxxz++*iii;i#+#++##nnnnxxxn#++++++*#nxxxxz#z#zznxMMz**#zzzzzznnz:           .+xWMi*i+zzz###++*i****iiiii#zxxz***xMxMnzzzMM*    `;zz      ,
+`   +#;;*#zxxx#+*iii**##+#+++##znnnnnxz#+++++#+*zxxn#z##zzxMMxz**+zzzznznnz:             .;+***###zz*i;iiiiiiiiiiii+nx#+;i*nMxxnnnnWxz`      `      ,
+`   *#;;;i#z++*ii+##++#z+#++++#zznxxnz#####+*++#++xzzz#zzxxMxxzi*#zzzzzzznz:                `:izz#*;;;;i;ii;;;i;;;;inni;***zMMnnzzMMxn,             ,
+`   +#*;;;i+*++++++++#z#+##+*++#nnnMxn#######**++znzzz#znxMMxz#i*#zzzzzznz#,                  ;ii*i;;;;;;ii;;ii;;;;;*#i****zWxnnnnWnxx.             ,
+`   *#z;;;i+#+*+++#++#z#+z##nxnxxnzMMxzz######+*+nzzz##zMMMxn#+i*zzzzzzzzz#,               `:*#z*;;;;;;;;iiiii;;;iii**#+znxWMnnnnMxnx#              ,
+`   *#z#i;i+##+++####znn+##nxxxMnzzMxxxzz###+###zzzzz#znxMMn##+i*zznzzzzzz#,            `:*+++++##*;;i;;;;iiiiiii*+++*nnnnnMnnnnxMnn+:              ,
+`   ;#n##ii+++#####+#nMMz##xxxxnxnzMxx+izzz##+#zz#zz##zxMMx###*i*znnzzzzzz#.         `:*#zz##++*+##z*;;iii**#***+###z#nznxnMnnnnWnz+*,              ,
+`   ,nz###+#+z####nxxxxxzzzxxxxxnnx+,`  `*###z#n#zzz##nMMMn+++i;*zzzzzzzzz#.      `:*#znnzz#++++++##+#***+###+#++#z#zxnznnnMnnnWnzz`:`              ,
+`    :###z+##nnnxxxxxxxxzzzxMxnnxnnn;     ,+##nz#zz##zMMMx+++*i;*#zzzzzzznz.   `:i+##zzzzz##++++++*+****+znnzzzznznxMxnnnnxWnnMxnnM.                ,
+`     `*#nz#nxxxxxxxxxxMzzxMWMxnnnnnz*`    `:zn##zz##xxMM#+#+*i;*#zz#zzznnz.`:i+++##+########+**+++****#znnnnxxnnxxxxMxnnxxMMWWMMMM;                ,
+`       iznzxxnnnxxMxMMMxMMWMMMMnnnz#++:     *n##zz#nxMMn*++**i;*zzz##zznnz++##++++++++#####++++#****+zznnnnnnzxnnnxxxMMMnnnWWMMMMxn                ,
+`        :z#MnxMMxMMMxnxMnnxMWMM#nnnz+**i`  ,nz#zz#zxMMx++++**i;*#zz##zznnzzzz###++#+###########****#znnnnnnnz#nxnnnnxxMMnnxWMMxxxxx`               ,
+`         .#MMxxxMMMMMxxxxxxMxx* :znz+***+.`#z#zzz#nxMMz*+++**i;*#zzzzzznnznzzzz####zzzz####z#z#+++#+nnnnnnnnnznMxnzznxMxMMMMxMxMxMx,               ,
+`          `*+;.:xMMMMMMMWMMMx*   .+n#+***++zz#zz#zxMMx*++#+**i;+#zzzzzznnzxnnnznnnnnzzzzzzznnnz###*#nnnnnnnnzznxMnnnzxMMMMMMxxxxxMx:               ,
+`                ,zMxxMMMWWMM*      ;z#+**#zzzzzz#xxMx+*+##+***i#zz##zzznnnxnnxxxxnnnnnnnnxxMMnzznz+#xnnnnnnx##zxMxxnnxMxxMMMxxxMxMxi               ,
+`                 `:+nxMMMM#,        .##++nzz#zz#nxMMx**++++*iii####zzzznxnxxxxxnnnnnnnxxxxxMMxnnxzznxxxxxnnx##zxMMxxnnxxMMMMMxxMxMxi               ,
+`                     .:;:.           `i#nnzzzz#zxxxxn++###+*ii;###zzzznnxnxxxnnnnnnxxxxxxxxMxxxxxnzxxxxxxnnx##nxMMxxn++xMMMMMMxMxMx*               ,
+`                                       :n#z#zzzxxxxxz+#z##***ii#zzzzzznnxnxnnnnnxxMxxxxxxxxMMxxxnn+zxxxzzxnx##nxMx+:` ixMMMMWMxMxMx+               ,
+`                                       *z#zzz#nMxxxnz+#zz++***i##znnnnnnnnxnnxxMMMxxxxxxxxMMMxxxxn+nxxM##nnx##xxM+    +MMMMMWMMMMMz.               ,
+`                                   `.,*zzz#zzzxxxx##n##zz#+++*+#zznnxMMMxxxxMMMMxxxxxxxxxMMMMMMxnn#nxxM##nnx##xxM*    `znMWMMMMxn*                 ,
+`                                  ,+;*nzz#zz#xxMxn++#zznz#######zxMxxxxxxMMWMWMMMxxxMMMMxMMMMMxxxn#nxxxzzxxxzzxxMi     +++zMM*#++:                 ,
+`                                  ,++#znzzzznMMxx#+####n#####zzznnnnnxxxxxxxxxMMMMMMMMMMMMMMMMxxxn#nxxzz#zxxznxMM;     *+#,MM+*++:                 ,
+`                                  ,+:i*+nnzzxxxxn###+++#xnzz#zzz###zxxxxxxxxxxxMMMMMMMMMMMMMMMxxxz+nxxzzzzxx+zMxM,    .++#`xMn;++*                 ,
+`                                  .;::;**zzxxMxz##++#znnnxxzzz#++#zz#nxxxxxxxxxxxMMWWMMMMWMMMMxxxz+nxxzzzzxx+zMMx`    ;+++`*Mn,+++;                ,
+`                                  .:;::;*+#xz#+#+#znnnnnznnxnz+++zz+zn+znxxxxxxxxMMWMMMWMWWMMMxMxn#xxMxzzzMM#zMMz     z#++.`;.`*+nn`               ,
+`                                  .*i;;;;i++**+#znnzzzzzznxMn#++#x#+zn+####nnxxxxxWWWMMMMWWMMMMxxnznxMMxxxMM##xx*    ,#nnx,    #x##.               ,
+`                                  .+i;;;;ii+#znznnnnzzznxMMMz###xxxxxz#####n++znxxMWWMMM+nMMMMMMxz+zxMMzMMMM##xx.    i++++`    i##x.               ,
+`                                  .z+;;;ii*#znnnnzznnxxxxMMxzzznxxxxxxxxz+zn+##+#nxWM#:` +MWMMMMxz#nxMMzMMMx+#x#     ;xz#,      ix#.               ,
+`                                  .##+;;;ii*+nznznnxxxxxxMMxxnnxxxxxxxxxxxxz#+##nn#+`    :MWMMMMxn#xMMMMMMMx##x:     ,#z+        *#i               ,
+`                                  `z###*iiii#n#zxxnnxxxxMWMxxxxxxxxxxxxxxxxxxxnznx#*     `xWWWMMMn#xMMMMMMWMznz      iz#`        ,nn,              ,
+`                                  `z+###+i*+#n##xxxxxnxMMMMMxxMxxxxxxxxxxxxxxxxxxnz+      *MWWMMMz#xMMMMWWWxnz,     ,znn         `xMx.             ,
+`                                  `z#z##z#++#z#zxxxnnxMMMMMMMMxxxxxxxxxxxxxxxxxxxxxn      `xWWMMMz#xMMMMMMMx#;     *zz+*         .zMx;             ,
+`                                   .+n#z##z+###znnnxxMMMMMMMMMxxxxMxxxxxxxxxxxxxxxxn`      :MMWMMnzxMMMMWMMx*      ;nMx#        `;zMx:             ,
+`                                     iz####z###znxMMMMMMWMMMMMxxxMMMMxx#+#xxxxxxxxxz        ;MWMMnnMMMMMWMMz`       ;xxn       :nznMn`             ,
+`                                      .+z#######xMMMxMMMWWMMMMxxxxxx#nn####xxxxxxMMz         ,xWMzzxMMMMMM#`        .#n+       ,nMx#`              ,
+`                                       `;z###+##xMMxxxMWWWMMMMxxxxMz+++z#zznxxxxxMM+          `#Wz+xMMMMxi                      `.`                ,
+`                                         .+#####MxxxMMMWWWWWMMMMMMMMMn#z#z#nMxxxMMM;            ,*+nMMzi.                                          ,
+`                                          `;#zz#MxxMMMMWWWWWMMMMMMMMWWnn#zzn#xMMMMx.               ```                                             ,
+`                                            .+zzMMMMWx+nWWWWMMMMMMMMMWMxznnMxnMMMMn                                                                ,
+`                                             `izMMx#:` nWWMWMMMMMMMMMMWWWMWMMMMMMM*                                                                ,
+`                                               :+:`    zWWWMnxMMMMMMMMMMMWMMMMMMMM.                                                                ,
+`                                                       #WWWM###znxMMMMMMMMMMMMMMM#                                                                 ,
+`                                                       ;WWWM###x##+#zxxMMMMMMMMMx,                                                                 ,
+`                                                       `MWWWzznxz###zz#znxMWWWMM+                                                                  ,
+`                                                        #WWWWMxn####zn##zzznnnxx.                                                                  ,
+`                                                        .MWWWWWWWMnnzz###znzz++:                                                                   ,
+`                                                         iWWWWWMWWWWWMxz##zn##;                                                                    ,
+`                                                          +WWWMMMWWWWWWWMxnz#*                                                                     ,
+`                                                           *WWWMMWWWMMMWMMMM#                                                                      ,
+`                                                            :xWWMMWWMMMMMMxi                                                                       ,
+`                                                             `*MWMMMMMMMM#.                                                                        ,
+`                                                               `;+nxxxn*,                                                                          ,
+`                                                                                                                                                   ,
+`                                                                                                                                                   ,
+`                                                                                                                                                   ,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++