MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMWNXXXXXXXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMXc.......cXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkoooooooooooooooxXMMMMMMMMMMMMMMM
MMMMMMMMMMMK,       ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,               .kMMMMMMMMMMMMMMM
MMMMMMMMMMMK,       ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,               .kMMMMMMMMMMMMMMM
MMMMMMMMMMMX:.......:XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX:...............'OMMMMMMMMMMMMMMM
MMMMMMMMMMMWXKKKKKKKXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXKKKKKKKKKKKKKKKKNMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXo,,,,,,,xWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,       lWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,       lWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd;;;;;;:kWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMN0OOOOOOOO0NMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMWWWMMMMMMMMMMMMMMMMMMMMMWKxxxxKWM
MMMMMMMMMMMMMMMMMMMMMMMMMk.        .kMMMMMMMMMMWXXXXXXXKXXXXXXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl    lWM
MMMMMMMMMMMMMMMMMMMMMMMMMk.        .kMMMMMMMMMMO,.............dWMMMMMMMMMMMMMMMMMMMMMMMMMMMWl    lWM
MMMMMMMMMMMMMMMMMMMMMMMMMk.        .kMMMMMMMMMMk.             lWMMMMMMMMMMMMMMMMMMMMMMMMMMMWl    lWM
MMMMMMMMMMMMMMMMMMMMMMMMMk.        .kMMMMMMMMMMk.             lWMMMMMMMMMMMMMMMMMMMMMMMMMMMWl    lWM
MMMMMMMMMMMMMMMMMMMMMMMMMO,........,OMMMMMMMMMMO,.............dWMMMMMMMMMMMMMMMMMMMMMMMMMMMWl    lWM
MMMMMMMMMMMMMMMMMMMMMMMMMWXKKKKKxcccoddddddkXMMWXKKKKKKKKKKKKKNMMMMMMMMMMWKOOOOOOOOOOOOOOOOOd::::kWM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl          .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMK;                .kMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl          .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,                .kMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl          .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,                .kMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl          .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,                .kMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWd..........,OMMMMMMMMMMMMMMMMMMMMMMMMMMMMNklllllllllllllllldKMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXXXXXXXXXKKXNNNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0;'''',xNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk.     lXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk.     lXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk.     lXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMNOkkkkkkkkkkkkkkkkONMMMMMMMMMMMMMMMMMMMMk.     lNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMk.                .kMMMMMMMMMMMMMMMMMMMMXOxxxxkKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0kkkkkkk0WMMMMMMMMM
MMk.                .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK;       ;KMMMMMMMMM
MMk.                .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,       ,KMMMMMMMMM
MMk.                .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,       ,KMMMMMMMMM
MMO'               .'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX:.      :XMMMMMMMMM
MMNK0000000000000000KNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWK0000000XWMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
 
                  ...            ....                                                        ...                                                         ....
              .''oKN0,          ;KNN0;                                                      ;KN0,                                                       ,0NN0,
            .lKNNWWN0,          :NMMX:                                                      :NMX;                                                       ;XMMX;
            ;XMMW0:'.     ......:NMMX:                              .....             ....  :NMX;        ....                                      ....'oNMMX;       .....                                     ......
           .dNMMNd''.   .lKNNNKodNMMX:..''..    ..'..    ..''.   .'lKNNNKo''''.     .lKNNXkcdNMX;     .'oKNNXk:''.    .''.    .'''.     .'.    ..:kXNNNNWMMMX;     .oKNNNKo'''.   .''.     .'''.    .''.     .lKNNNNKl.
          'ONMMMMNKK0l,:ONMMMMMWWMMMX:.xXNNk' .lOXNXOl. 'kXNXx..lKNWMMMMMWNNNNK;  ;kNWMMMMMWWMMX;  .:kXNWMMMMMWNN0,  ;KNNK;  lXNNNK:  .lKN0,  :ONWMMMMMMMMMMX;   .kNWMMMMMWNNN0, ;KNNK;  .lXNNNK;  lXNNK;  'xNWMMMMMMNOo;.
           .dNMMNd'''oXWMMMMMMMMMMMMX: :XMMNo.;XMMMMMX;.oNMMX:.lNMMMMMMMMMMMMMX: ;XMMMMMMMMMMMMX;  ;XMMMMMMMMMMMMX;  ;XMMWk.;KMMMMWk..xNMNo. ;XMMMMMMMMMMMMMX;  .kWMMMMMMMMMMMX; .o0WWk' ,KMMMMWk.;KMMWk'.o0WMMMMMMMMMMMK;
            :XMMN:  .oNMMMMMMMMMMMMMX: ;XMMMXodNMMMMMNdoXMMMX::XMMMMMMMMMMMMMMX: :XMMMMMMMMMMMMX;  :XMMMMMMMMMMMMX;  .oNMMX::XMMMMMX::XMMX;  :XMMMMMMMMMMMMMX;  :XMMMMMMMMMMMMX;   :XMNc ;XMMMMMX::XMMX: :NMMMMMMMMMMMMMNo
            :XMMN:  ;XMMMMMMMMMMMMMMX: .oNMMMWWMMMMMMMWWMMMNo.:NMMMMMMMMMMMMMMX: :XMMMMMMMMMMMMX;  :XMMMMMMMMMMMMX;   ;KMMW00WMMWWMW00WMWk.  :XMMMMMMMMMMMMMX;  :XMMMMMMMMMMMMX;   ,KMW0d0WWKKWMW00WMWk. :NMMMWNNNNNNNNNN0,
            :XMMN:  'OWMMMMMMMMMMMMMX:  ,KWMMMMMW0x0WMMMMMNk. :XMMMMMMMMMMMMMMX: :XMMMMMMMMMMMMX;  :XMMMMMMMMMMMMX;   .oWMMMMMWXddNMMMMMNc   :XMMMMMMMMMMMMMX;  :XMMMMMMMMMMMMX;   .oWMMMMMX:cNMMMMMMN:  :NMMWO;'''.'''''.
            :XMMN:   :XMMMMMMMMMMMMMX:   'dNMMMMX: :XMMMMNo.  .oNMMMMMMMMMMMMMX: :XMMMMMMMMMMMMX;  ;KMMMMMMMMMMMMX;    :NMMMMNd'.;XMMMMMX;   :XMMMMMMMMMMMMMX;  ;XMMMMMMMMMMMMX;    :NMMMMNo.;KWMMMMMX;  ;KWMMNl.     .;,
            :XMMN:   .o0WMMMMMMMMMMMX:    ;XMMMMX; ;XMMMMX;    .kWMMMMMMMMMMMMX: .kWMMMMMMMMMMMX;  .lNMMMMMMMMMMMX;    'OWMMMX;  .oNMMMNo.   .kWMMMMMMMMMMMMX;  .lNMMMMMMMMMMMX;    'OWMMMX;  .oNMMMNo.   .oNMMNOdoddOXWK,
            .oddo.     .:dONWNNOxdddo.    .;dddd;. .;dddd;      .:dxONWNN0KWMMX:  .:ox0NNNN0xddl.    ;dxONWNOx0WMX;     .odddl.   .ldddo.     .:dONWWNXOxdddl.    ;dONNNN00WMMX;     .odddl.   .ldddo.      ;dxONWWWNOxdl.
                          .''''.                                    .''''.cNMMX:      .''''.            .'''. cNMX;                              .''''..            .''''.:XMMX;                               .'''''.
                                                                          :NMMX:                              :NMX;                                                       ;XMMX;
                                                                          .oddo.                              .odl.                                                       .lddl.


                                 ......           ........          .........           ......           ........            ......                                                   .lddl.
                              .oOXNNNN0,        .xXNNNNNNXOxo.    ;kXNNNNNNNXOo.     .oOXNNNN0;      .oxOXNNNNNNXOd;     ;oxOXNNNNK;                                                  ;XMMX;
                              :XMMMMMMX;        :XWNNNNNWMMMWk'  .xXNNNNNNNWMMWk'    ;XMWWMMMX:      :NMMWNNNNNWMMMNl.  ;KMMMWWMMMN:                                                  ;XMMX;
               .':oddo:'.     .odx0WMMX;        .l:'''''c0WMMX:   ..'''''''dNMMWk.   .ldcdNMMX:      .odd:'''''c0WMMK;  .odddcdNMMN:       .':odddddo:'.      .':odddddo;     .;odddo:dNMMX;    .:oddddo:.
            .oOXNWMMMMWNXk'       :XMMX;                 :NMMN:            :XMMMK,       :NMMX:                'OWMMX;        :XMMN:      ;0NWMMMMMMMWNK;   'kXNWMMMMMMMK,   .xNMMMMMWWMMMX;   ,0WMMMMMMWXOo.
           .oNMMMMMMMMMMMWo.      ;XMMX;               .:OWMMX:      .ldood0WMMWo.       :NMMX:               .oNMMMK;        :XMMN:      ;0NX0xxxxKWMMW0l. :NMMWKxxxxx00, .l0WMMMMMMMMMMMX;   ,O0xxxxxKWMMNo.
           ;XMMMMMMMMMMMMMK,      ;XMMX;             .:ONMMWXl.      ;KWWWWMMMMNo.       :NMMX:            .;dONMW0d;.        :XMMN:       ,cc;:odx0WMMMMX; :XMMW0c'''...  :NMMMMMMMMMMMMMX;   .:;:dddx0WMMMK,
           :NMMMMMMMMMMMMMX;      ;XMMX;           'xXWMMW0c'         .'',cOWMMMK,       :NMMX:           .kNMMMWO'           :XMMN:      .xXNNWMMMMMMMMMX; .oNMMMWNNNXOo. :NMMMMMMMMMMMMMX;   ;0NWMMMMMMMMMX;
           :NMWKxxxxxxxxxxo.      ;XMMX;          ;OWMMMNk'                'OWMMX;       :NMMX:         .:OWMMMWk'            :XMMN:      :XMMMMMMMMMMMMMX;  .oxxOXNWMMMNl.:NMMMMMMMMMMMMMX; .o0WMMMMMMMMMMMX;
           :XMW0d:.    ...        :XMMX;        .lXMMMW0:.        ...     .:0WMMX;       cNMMX:       .:ONMMMW0:.             :XMMNc     .kWMMMMMMMMMMMMMX;  .'....'dNMMMX;cNMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMX;
           .:OWMMNOddddOXK;   .odd0WMMW0xddo. .lONMMMMW0xddddo.  ;KNXOddddONMMMWk.   .ldx0WMMW0xddl. ;KWMMMMMW0xddddl.    .odx0WMMW0dddl..oNMMMMMMMMMMMMMX; ;KNXOxdd0WMMWk'.o0WMMMMMMMMMMMX; ;XMMMMMMMMMMMMMX;
             'kNNWMMMMMMWK;   ;KNNNNNNNNNNNK; ,0NNNNNNNNNNNNNK;  ;KNWMMMMMMWNNXk'    ,0NNNNNNNNNNN0, ;KNNNNNNNNNNNNN0,    ;KNNNNNNNNNNNK; 'kNWMMMMMWNNNNN0, ;KWMMMMMMWNXk'   'kNWMMMMWNNNN0, .:ONWMMMMMWNNNN0,
              ..':dddddd:.     .'''''''''''.   .'''''''''''''.    .':oddddd:''..      .'''''''''''.   .'''''''''''''.      .'''''''''''.    ':ddddd:'''''.   .:dddddd:'..     ..:dddd:''''.     ':ddddd:''''.




                                                                                                                                                                                                                                               .''.
                                                                                            .ldddddddo:'.     .ldddddddo:'.     .lddddddddo:.                                                                                                 ;KNNK;                           .ldl.    ....
                                                                                            :NMMMMMMMMWNKl.   :NMMMMMMMMWNXx.   :NMMMMMMMMMWXx.                                                                                               :XMMN:                           :XMX:   ;0NN0;
                  .'''.      ..''.      .'''.      ..'''.      .'''..      .''.       .'''. 'oxxxxxx0WMMMK;   'oxxxxxx0WMMMX:   'oxxxxxxx0WMMX:                              ..''''..                                                         :XMMN:               ..'''''.    :XMX:   cNMMX:
            .ldddOXNNNXOdddddOXNNXOddddOXNNNXOdddddOXNNNXOddddOXNNNXOdddddOXNNXOdddddOXNNNK;        'OWMMX:           'kWMMX:           .dWMMX: .lddl.    .ldddl.  .lddl. .ldOXNNNNXOo;.  .lddo;      .ldl..cddl.     .ldddoodddl.     .;oddl.:XMMN:   .ldddl.  ;odOXNNNNNNx.  :XMX:'ld0WMMW0ddl.
            :XMMMW0dddd0WMMMMW0ddd0WMMMW0xddx0WMMMMW0xddd0WMMMW0dddd0WMMMMW0ddd0WMMMMW0dddl.  .lddddONMMWk.     .lddddONMMWk.      .odddONMMMX; .kWMWkc. .oNMMMWk..oNMMN: ;KW0ddddd0WMNk;.'OWMMNl    .kWMX;.oWMNo.   .oNMMNxdNMMWk.   .lNMMNo.:XMMN:   :XMMMX; ;XMMW0ddddd0K;  .ldl.'ox0WMMW0ddo.
            :XMMWO'    cNMMWO:.   :XMMWO'    :XMMMWk'    :XMMWO'    cNMMMNo.   ;XMMMWO'       ;XMMMMMMMMX:      ;XMMMMMMMMX:       :NMMMMMMMWk.  :XMMXO;.xNMMMMMX::XMMWO' .;;...'',dNMMMK; ;XMMMK,   :XMWk. ;XMMWK;  :XMMMX:.:0WMX;   ,KMMMX; :XMMN:   ;KNNN0, :NMMNo.    'c.          cNMMX:
            :XMMNc     :NMNo.     ;XMMX:     :XMMNd.     :XMMNc     :NMMNo.    ;XMMNk'        .lddx0NWMMWk.     .ldddx0WMMWk'      .oddx0NMMMXl. ;KWMNKddNMMMMMMNddNMMX:  .lddOXNNNWMMMMX: .oNMMNl..o0WMX:  .lNMMWo..kWMMNl.  :XMW0o..lNMMNo. :XMMX:    .'''.  'OWMMNOdddo:.           :NMMX:
            :XMMN:     :NMX;      ;XMMX;     :XMMN:      :XMMN:     :NMMX:     ;XMNo.              .'dNMMX:           .oNMMWk.          .:0WMMX;  'dNMMWWMMWKKWMMWWMMWk. .kWMMMMMMMMMMMMX:  .kWMMXodNMMNo.   .oNMMXodNMMNo.   .oNMMNdoXMMWk.  :XMMN:            .oddONWWMMWKl.         :NMMX:
            :XMMN:     :NMX;      ;XMMX;     :XMMN:      :XMMN:     :NMMX:     ;XMN:                .oNMMX:            cNMMNo.           .oNMMN:   :XMMMMMMNc:XMMMMMMX;  :XMMMMMMMMMMMMMX:   cNMMMWWMMNo.     ;KMMMWWMMMK;     .oNMMWWMMWk'   :XMMN:                ..,dNMMMX;         :NMMX:
            :XMMN:     :NMX;      ;XMMX;     :XMMN:      :XMMN:     :NMMX:     ;XMN:       .lo:'..':kNMMMX; .lddo:...:d0WMMX;   .lo:'...:kNMMWO'   'kWMMMMWO'.oNMMMMWk.  :XMMMMMMMMMMMMMX:   .o0WMMMMMK;      .oWMMMMMMNo.      ;KMMMMMNo.    :XMMN:   .ldddl. .ldo;'..oNMMMX;         :NMMWO:'.
            ;KNNK;     ;KNK,      ,0NN0,     ;KNNK;      ;KNNK;     ;KNNK;     ;KNK;       ;KWWNNNNWWNNNO:. ;KNWWWNNNWWWNNO:.   ;KWWNNNNWWWNNk'     ;KWNNNK;  ,0NNNXo.   'kNWWMMMMMWNNNNK;     'kNNNNXl.       'kNNNNNOo.       .lXNNNNk.     ;KNNK;   :XMMWK, ;KWMWNXNWMWNO:.         'kNNNNXKO,
             .''.       .'.        .''.       .''.        .''.       .''.       .'.         'oXNNNNXo,'..    .''oXNNNXo,'..      'oXNNNNXo,''.       .''''.    .'''.      .',oKNNNOc''''.       ..'''.          .'''''.           .'''..       .''.    :XMNd'   'cONNNNNOc'.            .''''''.
                                                                                              .''''.             .'''.             .''''.                                     .''..                                                                   .xNNk'      ..'''..
                                                                                                                                                                                                                                                      .','.


                  ...            ....        .....                                            .'..   ....                                                           ..'.                                               ....
             .lodOXN0,          ;KNN0;    .lOXNNNK;                                          ;0NNK; ,0NN0,                                                         ;0NNK;                                             ;0NNK;     .looool.          .looool.           .loooc.
            .lNMMMWWK,          :NMMX:  .l0WMWWWWK:                                          :XMMN: ;XMMX;                                                         :XMMN:                                             :XMMN:   .o0WMMMMX;        .o0WMMMMX;        .ld0WMMMX;
            ;XMMW0c,'     ......cNMMX:  ;XMMNd,,,'   ........          .......         ......:XMMN: ;XMMX:......            ......        ......              ....'oNMMN:      ......           .......         ......:XMMN:   ;KNOx0WMX;        ;KNWWMMMX;        ;KNWWMMMX;
          .l0WMMW0doc.  .xXNNNXO0WMMX:.l0WMMW0dol..lOXNNNNNNXk'     .lOXNNNNNXOl.   ;oOXNNNXO0WMMN: ;XMMW0OXNNNXOl.     .;oOXNNNNXOl.  .lOXNNNNXOdl.       .lOXNNNNWMMMN:   ;oOXNNNNXOl.     .lOXNNNNNXOl.   .lOXNNNXO0WMMN:    .'. cNMX;         .',dNMMX;         .',dNMMX;
          ;KWMMMMWWWXl':OWMMMMMMMMMMX::KWMMMMWWWK:cNMWWWWWWMMWO;   .kWMWWWWWWWMN:  lNMMMMMMMMMMMMN: ;XMMMMMWWWWMMNo.   .kNMMMWWWWWWX;  :XWWWWWWWMMWO;    .:OWMMMMMMMMMMN:  ;XMWWWWWWWMW0o.  .kWMMWWWWWWMN:  'kWMMMMMMMMMMMN:        :NMX;            ;XMMX;            ;XMMX;
           'dNMMNd,,,oKWMMMMMMMMMMMMX:.'dNMMNd,,'..od:,:lo0WMMMK;  ;XMW0o:,,,:do. ;KMMMMMMMMMMMMMN: ;XMMMW0c,,c0WMWK; .kWMMWOc,,,,cl.  .lc:looo0WMMMX;  ,0WMMMMMMMMMMMMN:  .odc:looo0WMMWk. ;XMMWO:,,,:do. .kWMMMMMMMMMMMMN:        :XMX;            ;XMMX;            ;XMMX;
            :XMMN:  .kWMMMMMMMMMMMMMX:  ;XMMX;     .lodOXNWMMMMX:  ;XMMWXOdol.   .kWMMMMMMMMMMMMMN: ;XMMWO'    :XMMN: ;XMMNo.          .ldOXNNNWMMMMN:  ;XMMMMMMMMMMMMMN:   .ldOXNNNWMMMMN: ;XMMMNOdol.    ;XMMMMMMMMMMMMMN:        :NMX;            ;XMMX;            ;XMMX;
            :XMMX:  :NMMMMMMMMMMMMMMX:  ;XMMX;    ;OWMMMMMMMMMMX:  .kNWWMMMMW0dl.:XMMMMMMMMMMMMMMN: ;XMMX:     :XMMN: ;XMMX;          .oNMMMMMMMMMMMN:  ;XMMMMMMMMMMMMMN:  ;OWMMMMMMMMMMMN: .kNWWMMMMW0o;  ;XMMMMMMMMMMMMMN:        :NMX;            ;XMMX;            ;XMMX;
            :XMMN:  'OWMMMMMMMMMMMMMX:  ;XMMX;   ,KMMMMMMMMMMMMX:   .',:ddx0WMMNo;kWMMMMMMMMMMMMMN: ;XMMX;     :XMMN: ;XMMNo.        .xNMMMMMMMMMMMMN:  ;XMMMMMMMMMMMMMN: ,KMMMMMMMMMMMMMN:  .',:oddd0WMX; ;XMMMMMMMMMMMMMX:        :NMX;            ;XMMX;            ;XMMX;
            :XMMN:   :XMMMMMMMMMMMMMX:  ;XMMX;   ;XMMMMMMMMMMMMX:  .co:''''dNMMWk.:XMMMMMMMMMMMMMN: ;XMMX;     :XMMN: .OWMMNk:''':ol.;KMMMMMMMMMMMMMN:  ,KMMMMMMMMMMMMMN: ;XMMMMMMMMMMMMMN: .coo:''''dNMN: .OWMMMMMMMMMMMMN:    .'''dNMNo'''.     .''oNMMNo'''.      .'oNMMNo'''.
            :XMMN:   .o0WMMMMMMMMMMMX:  ;XMMX;   .OWMMMMMMMMMMMX:  ;XMWNNNNWMMMX: .kNWMMMMMMMMMMMN: ;XMMX;     :XMMN:  :XMMMMWNNNWMX;.:0WMMMMMMMMMMMN:  .:OWMMMMMMMMMMMN: ,KWMMMMMMMMMMMMN: ;XMMWNNNNWMMX:  :XMMMMMMMMMMMMN:   ;0NNNWMMMWNNNK;   ;0NNWMMMMWNNNK;    ,0NWMMMMWNNNK;
            .oddo.     .:d0NWNN0xdddo.  .lddl.    'o0NNNWN0xdddl.  .o0NNNNNN0xd:.  .'cd0NNNN0xdddo. .lddl.     .oddo.  .:ddxONNNWN0o.  'o0NWNWN0xdddo.    .:d0NWNN0xdddo.  ':d0NNNNN0ddddo. .lx0NNNNNN0d:.  .:d0NWNWN0xdddo.   .ldddddddddddo.   .ldddddddddddo.    .lddddddddddo.
                          .''''.                    .'''''.          .''''''.          .''''.                               .'''''.      .'''''.             .''''.           .'''''.          .''''''.        .'''''.



                                                          ....                                               ....                                                                                  ....              ....                                                                     ...
                                                         ;0NN0;                                             ;0NN0;                                                                                ,0NX0,            ,0XN0,                      .;oddddddo;.       .;odddddo;.               ;0N0,
                                                         :XMMN:                                             :XMMN:                                                                                ;XMMX;            ;XMMX;                     ;kNMMMMMMMMNk;    ;oONMMMMMMMNk'              :NMX;
                  ......         .......            ....'oNMMN:      .......           .......        ......:XMMN:      ......                              ......          ........         .....oNMMX;       .....oNMMX;      .......       ;XMMMMMMMMMMMMK;  ;KMMMMMMMMMMMWO;       ......:NMX;
            .ldddOXNXXXXk;    .lOXXXXXXXOo;.     ;oOXXXXNWMMMN:  .ldOXXNXXNXk:.    ;odOXXXNXXXx.   .;kXXXXXO0WMMN:   .lOXXXXXXOdo;  .lddl'      ;oddl.  .ldOXXXXXXOo.    .oOXXXXXXXXx.   .;oOXXXXNWMMMX;    ;oOXXXNNWMMMX;  .ldOXXXXXXXk:.   'kWMMMMMMMMMMMMWk. :XMMMMMMMMMMMMMK;  .;oOXNXXXO0WMX;
            :XMMMW0xx0WMMX;   :XW0xxxxKWMMNk.  .oXMMMMMMMMMMMN:  :XMW0xxxxKWMWXx' ,KMMW0xxxxxKX:  .kNMMMMMMMMMMMN:   :XKxxxx0WMMMK; 'OWMWk.    ;XMMWO'  ;KW0xxxx0WMWO;  'kWMMW0xxxx00, .;kNMMMMMMMMMMMX;  .oXMMMMMMMMMMMX;  ;XMW0xxxx0WMWXx. :NMMMMMMMMMMMMMMX:.oNMMMMMMMMMMMMMX: .xNMMMMMMMMMMMX;
            :XMMWO'  :KWMNo   .l:....'dWMMMN: ,0WMMMMMMMMMMMMN:  .:o:....'dWMMMN: ;XMMNo.    'l'  :NMMMMMMMMMMMMN:   .l,....;OWMMX:  'OWMNl   .oNMMX;   .;;....':OWMMK, :NMMWk'    ..  ;XMMMMMMMMMMMMMX; ;KWMMMMMMMMMMMMX;  .:o:....'dNMMMX; :NMMMMMMMMMMMMMMX::XMMMMMMMMMMMMMMX: :XMMMMMMMMMMMMX;
            :XMMNc   .'xWMK,   ;odOXXNWMMMMN: ;XMMMMMMMMMMMMMN:   .:odOXXNWMMMMN: ;KMMMNOdddo:.  .kWMMMMMMMMMMMMN:   ;odOXXXNWMMMWk.  'OWMX; .lXMMNo.   ;oddOXXXNWMMMX; 'kWMMNOdddo:.  :NMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMX;   .:odOXXNWMMMMX; :NMMMMMMMMMMMMMMX::XMMMMMMMMMMMMMMX:'kWMMMMMMMMMMMMX;
            :XMMN:     :NMX;  lXMMMMMMMMMMMN: ;XMMMMMMMMMMMMMN: .xXWMMMMMMMMMMMN: .:dxx0WMMMMWK; ;KMMMMMMMMMMMMMN:  ;XMMMMMMMMMMMMX:   'OWW0dONMWKo.   ;KMMMMMMMMMMMMX;  .:dx0WMMMMWXx':NMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMX; .xXWMMMMMMMMMMMX; :NMMMMMMMMMMMMMMX:.oNMMMMMMMMMMMMMX::XMMMMMMMMMMMMMX;
            :XMMN:     :NMX; ;XMMMMMMMMMMMMN: ;XMMMMMMMMMMMMMN: ;XMMMMMMMMMMMMMN:      .:dx0WMNo..oWMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN:    :XMMMMMMX:     :XMMMMMMMMMMMMX;      .:d0WMMMX:cNMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMX; :XMMMMMMMMMMMMMMX; :XMMMMMMMMMMMMMX;.oNMMMMMMMMMMMMX;
            :XMMN:     :NMX; :XMMMMMMMMMMMMN: .o0WMMMMMMMMMMMN: ;KMMMMMMMMMMMMMN: .ldo:'.''dNMWk. :XMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN:    .OWMMMMNo.     :XMMMMMMMMMMMMX; .lo:'..'dNMMMX::KWMMMMMMMMMMMMX; .o0WMMMMMMMMMMMX; :XMMMMMMMMMMMMMX; .oNMMMMMMMMMMMWXl. 'kWMMMMMMMMMMW0:. ;XMMMMMMMMMMMMX;
            ;KNNK;     ;KN0, .lXWMMMMMWNNNNK;   'kNWMMMMMWNNNK; .:ONWMMMMMWNNNNK; ,0NWWNNNNWWNk'  .:ONWMMMMWNNNNK;  'kNWMMMMWNNNNNK;     'OWMMWO.      'kNNWMMMMWNNNN0, ;KWWNNNNWWNNXl. 'cONWMMMMWNNNN0,   'kNWMMMMMWWNN0, .oXWWMMMMMWNNNN0,  .:d0NWMMMMWNOc'    'o0NWMMMMWN0d'   .:ONNWMMMMWWNN0,
             .''..      .'.    'dXWWWXd,'''.     .'oXWWWXo'''.    .'dXWWWXd,'''.   .'oXWWWWXd'.     .'cONWXd,'''.    .'dXWWXo,''''..     'OWMMX:        ..'oXWNOc''''.   'cONWWWXd,'.     .'oXWWXo''''.     .'oXWWWXo,''.    .,oXWWWXo''''.      .'oXWWXo'.        .'dXWWXo'.       ..,dXWWXo,''.
                                .',,,'.             ',,,'           .',,,'.           ',,,,'.          .','.           .',,'          .':OWMMNo.            ','.           .',,,'.           ',,'              ',,,'.          .',,,'              .',,'             .',,'             .',,'
                                                                                                                                     ,kKXNNNNk'
                                                                                                                                      .'''''..

                                                                                                                 .''.                                                   .'.                                 .'.              .''.
               .loooodo;.        .ldodddo;.        .lodoooo;                           .ldooodl.                ,0NN0,                                                 ,0NK;                               ,0NK;            ;0NNK;
             .l0WMMMMMMNk;     .;OWMMMMMMNk;      ;OWMMMMMMNk;.                       ;OWMMMMMWO:.              ;XMMX;                                                 ;XMN:                               ;XMN:            :XMMN:
            .kWMMMMMMMMMMX;   .xNMMMMMMMMMMXl    lXMMMMMMMMMMNx.      .''''.        .lXMMMMMMMMMWXx.       .''''oNMMX;       .'''.            .''''.             .''.  ;XMN:      .'''''.           .'''.  ;XMN:      .'''..:XMMN:      .''''.
            :XMMMMMMMMMMMWk.  :XMMMMMMMMMMMMK;  ;KMMMMMMMMMMMMX;   .lOXNNNNXOdl.   ;KWMMMMMMMMMMMMX;    .lOXNNNNWMMMX;    .lOXNNNXOl.     .ldOXNNNNXOl:.      .lOXNNXOd0WMN:   .lOXNNNNNXOl.     .lOXNNNXOd0WMN:    .xXNNNXO0WMMN:   .lOXNNNNXOdl.   .lddl.     .lool.
           .kWMMMMMMMMMMMMX;  :XMMMMMMMMMMMMX;  :XMMMMMMMMMMMMX;   ;XWWWNWWWMMWk.  :NMMMMMMMMMMMMMX;  .o0WMMMMMMMMMMX;  .o0WMMMMMMMWO:.   :XMWWWNWWWMWNk.    ;OWMMMMMMMMMMN:   :XWWWWWWWMMWk.   .oNMMMMMMMMMMMN:   ;OWMMMMMMMMMMN:   :XWWNWWWWMMWk.  ;XMMX;     :XMMN:
           :NMMMMMMMMMMMMMX; .oNMMMMMMMMMMMMX;  :XMMMMMMMMMMMMWk.  .lc:looo0WMMNo  :NMMMMMMMMMMMMMWk.'kWMMMMMMMMMMMMX; .kWMMMMMMMMMMMWKc  .oxc:looo0WMMNo.  ;XMMMMMMMMMMMMN:   .oc,:lod0WMMX:   ;XMMMMMMMMMMMMN:  ;XMMMMMMMMMMMMN:   .lc:looo0WMMWk. ;XMMX;     :XMMN:
           :NMMMMMMMMMMMMMX; ;KMMMMMMMMMMMMMX;  :XMMMMMMMMMMMMMX:  .ldOXNNNWMMMMK, :NMMMMMMMMMMMMMMX:cNMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMMK; .oddOXNNNWMMMMNx..kWMMMMMMMMMMMMN:   .lddOXNNWMMMWk' .kWMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN:   .ldOXNNNWMMMMN: ;XMMX;     :XMMN:
           :NMMMMMMMMMMMMMX; .oNMMMMMMMMMMMMX;  :XMMMMMMMMMMMMWk' .oNMMMMMMMMMMMX; :NMMMMMMMMMMMMMNo.:NMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMMX:'kWMMMMMMMMMMMMMX;;XMMMMMMMMMMMMMN:  .kWMMMMMMMMMMMN: ;XMMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN:  .oNMMMMMMMMMMMN: ;XMMX;     :XMMN:
           'OWMMMMMMMMMMMMK;  :XMMMMMMMMMMMMX;  ;XMMMMMMMMMMMMX: ;KWMMMMMMMMMMMMX; :NMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMMX:cNMMMMMMMMMMMMMMX;'OWMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN: .OWMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN:  ;XMMMMMMMMMMMMN: ;XMMNl    .oNMMN:
            :NMMMMMMMMMMMNo.  'OWMMMMMMMMMMWk.  .oNMMMMMMMMMMWO. :NMMMMMMMMMMMMMX; .o0WMMMMMMMMMMWO. 'OWMMMMMMMMMMMMX; 'OWMMMMMMMMMMMMNo.:NMMMMMMMMMMMMMMX; cNMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN:  cNMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN:  :NMMMMMMMMMMMMN: ;KMMMK;  .xNMMMN:
            'kWMMMMMMMMMWk'    ;XMMMMMMMMMMX:    ,KWMMMMMMMMMX:  'kWMMMMMMMMMMMMX;   ;XMMMMMMMMMWX:   :KWMMMMMMMMMMMX;  :KWMMMMMMMMMW0o. :XMMMMMMMMMMMMMMX; 'kWMMMMMMMMMMMN:  :XMMMMMMMMMMMMN:  'kWMMMMMMMMMMMN:  'kWMMMMMMMMMMMN:  :XMMMMMMMMMMMMN: .:OWMW0dd0WMMMMN:
             .:dx0NNN0xd:.     .:dxx0NN0xxd:.     'cdx0NN0xxd:.   .:d0NNNNN0xxxxo.   .:dx0NNN0xdc'.   .'cx0NNNN0xxxxo.  .'cdx0NNNN0x:.   .:dx0NNNNN0xxxxxo.  .:dx0NNN0xxxxo'  .:x0NNNNN0xxxxd'   .:dx0NNN0xxxxo'   .:d0NNNN0xxxxo'  .:x0NNNNN0xxxxd'   .:x0NNNN0xxxxd'
                 ..'..              ....              .'..           .'''''.             ..'..            .''''.             ..'''.          .'''''.             ..'..           .'''''.             ..'..            .'''..           .''''..            ..''..



                                                                                                                                                                                                                                                                                                            






























g3333g1111n s70ry