.....''''''.....
..,:codxkkOO0000000OOkxdoc:,..
.'cokOKKKXXXXXXNNNNNNNNNNXXXXXXK0xo:,.
.,lx0KKXXXNNNNNNNNNNNNNNNNNNNNNNNNNNXXXKko;.
.'lx0KXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXKkl'.
.;dOKXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXX0d;.
.;d0KXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXX0d,
'o0KXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKOl.
.:kKXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKd'
.lOKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKk,
.o0XNNNNNNNNNNNNNNNNNNNNXXXKKKXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKk,
.o0XNNNNNNNNNNNNNNNNNNNNXOxxxxx0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKx'
.l0XNNNNNNNNNNNNNNNNNNNNNKxdddddOXWNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKo.
:OKNNNNNNNNNNNNNNNNNNNNNN0xdddddkKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXO;
.xKXNNNNNNNNNNNNNNNNNNNXKKOddddddkKKXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKd.
:0XNNNNNNNNNNNNNNNNNNNN0O0kddddddkKOKNNNNNNNXKXWNNNNNNNXNNNNNNNNNNNNNNXO,
.oKXNNNNNNNNNNNNNNNNNNNNOxOkdddddxO0kKNNNNNNNXOKNNNNNNNKOKNNNNNNNNNNNNNX0c
'xKNNNNNNNNNNNNXNWNXXXXKOkkkxddddxkxxOOOOkkO0Oxk0KKXXXX0xONNNNNNNNNNNNNNKl.
,kXNNNNNNNNNNNXKXX0000KKKKKK0Okxxddddddddddxk00KKKKKK0K0O0XXNNNNNNNNNNNNXd.
,OXNNNNNNNNNNNKkkkOOOkkOO00000OxdddddddddddxO0K000OOOOOOkkxk0NNNNNNNNNNNXd.
,OXNNNNNNNNNNNOkKK0OOOOOO000OOxddddddddddddxkO00OOOOkkOOK0kdxOKNNNNNNNNNXd.
,kXNNNNNNNNKXX0XKkkkdk000Okxxxxdddddddddddddxxkkkxk00OOkk0KkdxKNNNNNNNNXKo.
.xKNNNNNNNKkO0OOxoxOOO0K0OkxddddddddddddddddddxxkOO000OkodOOxx0NNNNNNNNXKl
.oKXNNNNNNKxdxdddodO000OOOxdddddddddddddddddddxkO0O000kxdddddx0XNNNNNNNX0;
:0XNNNNNNKkdddddxxkkxxxdddddddddloddddddddddddxxxxxxxxkxddddx0XKXNNNNNXx'
'xKXNNNNNXkddddddddddddddddddddl:codddddddddddddddddddddddddxKNXKKKXNNKl.
.l0XNNNNNN0xdddddddddddddddddddc:codddddddddddddddddddddddddxKNNKO0XNN0;
,kXNXKKXXKxdddddddddddddddddddoodxdxxxdddddddddddddddddddddx0XKKK00XXk'
.lKNK0OO0Oxddddddddddddddddddddxxxdxxxxddddddddddddddddddddk0XXNX0KNXx.
,OXXOOkxxdddddddddddddddddddddddddddddddddddddddddddddddddkKNNNXXNNXd.
.dKK0OxdddddodddddddddddddddddddddddddddddddddddddddddddddkXNNNKXNXKl.
c0KKKKOkkkdccddddddddddddddddxxkkkxxxdddddddddddddddddddx0NNNXKXNXKc
'co0XNNNNN0occoddddddddddddddxxxxxxxxdddddddddddddddddxOXNWNNXKNN0d,
.dKNNNNNNKxcclddddddddddddddddddddddddddddddddddddxkKNNWWNNXKNNd.
,kXNNNNNNN0dccodddddddddddddddddddddddddddddddddx0XNNNNNNNXXNK:
cKXXXNNNNNX0dcclodddddddddddddddddddddddddddxxOXNNNNNNNNNKXNk.
.dKKXNNNNNNNN0kollodddddddddddddddddddddddxk0XNNNNNNNWNNXXNKc
;ockNNNNNNNNNNX0kdlloddddddddddddddddxxkOKXNNNNNNNNNWNNX0x:.
;0NNNNNNNNNNNXOxdddddddddddddxxxkkkkk0NNNNNNNNNNWWNNXk'
.lOOXNNNNNNNNXkdxxxxxxxxkkkxxkkkxxxdxONNNNNNNNNNWNNNXo.
...cxxkO0Ox00xdddddddddxxxxddddddddxkkl;lkOOkoxXNNN0:
... ,xxdddddddddddddddddddddxx: ... ,0NNXk'
,ddddddddddddddddddddddddxc. :KNNKl.
.cddddddddddddddddddddddddxd:. .oNNNO;
.;ldddddddddddddddddddddddddddxo,. .kNNXd.
.';clodddddddxxxddddddddddddddddddol:,. ;0NN0:
.',:llodddddddddxkkxddddddddddddddddddoccc:xNNXx.
....,;cllodddddddddddddxkxddddddddddddddddddddoco0NNXl.
.cx0Oocc:coddddddddddddddddxxdddddddddddddddddddddoxKNN0o:,',;'.
..':xKXWXd:::::clodxkkxxxxxxxxddddddddddddxxxxxxxxxxxdoONNKd:::ckXKx:.
...,;:loodOKXWXkoooooooddxxxxxxxxkkkxddddddddxxkkkkkkkxkkxdlo0NNkc::::xNXKOoc:,'..
.',:loodddddxOKKNXkdddddddddddddddddddxxddddddddxxxxdxxxdddddookXNKdccccckXXKxc:cccc:;'...
';:lddddddddddO0KNXkdddddddddddddddddddddddddddddddddxkkxddddddxKNXOddddddOXKKkollllccc:::;,..
.;:cdddddddddddk0KNXkdddddddddddddddddddddddddddddddddddddddddddOXN0xdddddx0XKKOxdddddddolc:::,.
.,::odddddddddddk0KXXkddddddddddddddddddddddddddddddddddddddddddx0X0xddddddxOXKKOddddddddddol:::'
.;:cddddddddddddxOKKKkddddddddddddddddddddddddddddddddddddddddddkK0xdddddddxOK00kddddddddddddl::;.
.,:coddddddddddddxO0K0kddddddddddddddddddddddddddddddddddddddddddkkxdddddddddO000kdddddddddddddl::,.
....''''''''''''',,;,''''''''''''''''''''''''''''''''''''''''''''''''''''''',,,,''''''''''''''....