~crc_/retroforth

e05b3494e86cd93cbd31af2948705fb8d1444c5b — crc 20 days ago 5d9c9f1
had s:get and s:get-word swapped

FossilOrigin-Name: cc216d0fb3791c1f7f32fc4814b08c3a8c66f640858902f754e26313103c9765
4 files changed, 289 insertions(+), 286 deletions(-)

M image/retro.forth
M interface/retro-unix.retro
M ngaImage
M vm/nga-c/image.c
M image/retro.forth => image/retro.forth +4 -4
@@ 1854,14 1854,14 @@ generic "keyboard" input, the basic listener here can be used.
---reveal---
  :c:get (-c) hook #1 io:scan-for io:invoke ;

  :s:get (-s) [ #7 fetch buffer:set
                [ c:get dup buffer:add check-bs eol? ] until
                  buffer:start s:chop ] buffer:preserve ;
  :s:get-word (-s) [ #7 fetch buffer:set
                     [ c:get dup buffer:add check-bs eol? ] until
                       buffer:start s:chop ] buffer:preserve ;

  :bye (-) \ha...... ;

  :listen (-)
    repeat s:get valid? &interpret &drop choose again ;
    repeat s:get-word valid? &interpret &drop choose again ;
}}

&listen #1 store

M interface/retro-unix.retro => interface/retro-unix.retro +3 -1
@@ 36,7 36,9 @@ Using this, a simple `s:get` can be implemented very easily as
a quote which looks for an end of line character.

~~~
:s:get-word (-s) &c:whitespace? parse-until ;
:s:get (-s) [ [ ASCII:CR eq? ]
              [ ASCII:LF eq? ]
              bi or ] parse-until ;
~~~

~~~

M ngaImage => ngaImage +0 -0
M vm/nga-c/image.c => vm/nga-c/image.c +282 -281
@@ 10,8 10,8 @@
#define CELL_MAX LLONG_MAX - 1
#endif
#endif
CELL ngaImageCells = 15373;
CELL ngaImage[] = { 1793,15006,15355,15372,202107,400,372,1069,1535,0,10,1,10,2,10,3,10,4,10,
CELL ngaImageCells = 15395;
CELL ngaImage[] = { 1793,15028,15377,15394,202107,400,372,1069,1535,0,10,1,10,2,10,3,10,4,10,
                       5,10,6,10,7,10,8,10,11,10,12,10,13,10,14,10,15,10,16,10,
                       17,10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,68223234,1,2575,
                       85000450,1,656912,161,178,268505089,63,62,285281281,0,63,2063,10,101384453,0,9,10,68485378,255,18350338,


@@ 21,7 21,7 @@ CELL ngaImage[] = { 1793,15006,15355,15372,202107,400,372,1069,1535,0,10,1,10,2,
                       128,1793,135,2049,135,117506307,0,128,0,524545,26,133,168820993,0,147,1642241,147,134283523,11,133,
                       1793,128,524545,2049,128,1793,128,16846593,147,161,178,1793,64,16846593,147,133,178,1793,64,7,
                       10,659713,1,659713,2,659713,3,1793,188,17108737,3,2,524559,128,2049,128,2049,128,2049,142,
                       168820998,2,14313,1069,167841793,201,9,17826049,0,201,2,15,25,524546,184,134287105,202,116,2305,203,
                       168820998,2,14318,1069,167841793,201,9,17826049,0,201,2,15,25,524546,184,134287105,202,116,2305,203,
                       459023,211,134287361,202,206,659201,201,10,659969,7,2049,56,25,17694978,58,227,9,84152833,48,319750404,
                       226,117507601,229,184618754,45,25,16974851,-1,168886532,1,134284289,1,242,134284289,0,229,660227,32,0,0,
                       115,105,103,105,108,58,105,0,285278479,259,6,2576,524546,102,1641217,1,167838467,256,2049,271,


@@ 162,7 162,7 @@ CELL ngaImage[] = { 1793,15006,15355,15372,202107,400,372,1069,1535,0,10,1,10,2,
                       2967,166,110,58,105,110,99,0,659713,1,10,2958,2979,166,110,58,100,101,99,0,
                       659969,1,10,2970,2996,166,110,58,98,101,116,119,101,101,110,63,0,67503109,1793,3004,
                       67503109,67503109,2049,2950,10,1,2999,2049,2165,11,10,2982,3023,166,83,99,111,112,101,76,
                       105,115,116,0,15050,15102,10,3010,3032,166,123,123,0,2049,1570,2,1,3023,2049,59,
                       105,115,116,0,15072,15124,10,3010,3032,166,123,123,0,2049,1570,2,1,3023,2049,59,
                       16,10,3026,3057,166,45,45,45,114,101,118,101,97,108,45,45,45,0,2049,1570,
                       1,3023,2049,2967,16,10,3041,3071,166,125,125,0,1,3023,2049,56,4,15,11,1793,
                       3085,3841,3023,4097,2,10,1,3080,1793,3111,3841,3023,1793,3106,1,2,983567,1,3023,2049,


@@ 503,280 503,281 @@ CELL ngaImage[] = { 1793,15006,15355,15372,202107,400,372,1069,1535,0,10,1,10,2,
                       11,10,1,9777,1793,9789,1,127,11,10,1,9785,2049,2177,22,10,9767,9807,166,99,
                       104,101,99,107,45,98,115,0,2049,9774,1793,9830,2049,3714,1,2,2049,2563,1793,9823,
                       2049,3666,3,10,1,9819,9,2049,3666,3,10,1,9811,9,10,9697,9843,166,99,58,
                       103,101,116,0,1793,9845,1,1,2049,9541,2049,9524,10,9834,9861,166,115,58,103,101,
                       116,0,1793,9889,1,7,15,2049,3734,1793,9880,2049,9843,2,2049,3642,2049,9807,2049,9722,
                       10,1,9870,2049,2305,2049,3608,2049,4029,10,1,9863,2049,3758,10,9852,9901,166,98,121,
                       101,0,26,10,9894,9913,166,108,105,115,116,101,110,0,2049,9861,2049,9761,1,400,
                       1,15,2049,64,1,9913,7,10,9903,9945,166,102,105,108,101,58,111,112,101,114,
                       97,116,105,111,110,0,1,4,2049,9541,2,2049,2639,1793,9995,3,2049,3952,69,114,
                       114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,48,52,41,32,110,
                       111,116,32,102,111,117,110,100,0,1,9957,2049,9637,2049,9600,10,1,9954,2049,2730,
                       2049,9524,10,9927,0,154,102,105,108,101,58,82,0,10002,1,154,102,105,108,101,
                       58,87,0,10012,2,154,102,105,108,101,58,65,0,10022,3,154,102,105,108,101,
                       58,82,43,0,10032,10056,166,102,105,108,101,58,111,112,101,110,0,1,0,2049,
                       9945,10,10043,10075,166,102,105,108,101,58,99,108,111,115,101,0,1,1,2049,9945,
                       10,10061,10093,166,102,105,108,101,58,114,101,97,100,0,1,2,2049,9945,10,10080,
                       10112,166,102,105,108,101,58,119,114,105,116,101,0,1,3,2049,9945,10,10098,10130,
                       166,102,105,108,101,58,116,101,108,108,0,1,4,2049,9945,10,10117,10148,166,102,
                       105,108,101,58,115,101,101,107,0,1,5,2049,9945,10,10135,10166,166,102,105,108,
                       101,58,115,105,122,101,0,1,6,2049,9945,10,10153,10186,166,102,105,108,101,58,
                       100,101,108,101,116,101,0,1,7,2049,9945,10,10171,10205,166,102,105,108,101,58,
                       102,108,117,115,104,0,1,8,2049,9945,10,10191,10226,166,102,105,108,101,58,101,
                       120,105,115,116,115,63,0,1,0,2049,10056,2,2049,2620,1793,10240,2049,10075,2049,2427,
                       10,1,10235,1793,10248,3,2049,2439,10,1,10244,2049,64,10,10210,10278,166,102,105,108,
                       101,58,111,112,101,110,45,102,111,114,45,114,101,97,100,105,110,103,0,1,
                       0,2049,10056,2,2049,10166,4,10,10253,10311,166,102,105,108,101,58,111,112,101,110,
                       45,102,111,114,45,97,112,112,101,110,100,0,1,2,2049,10056,2,2049,10166,4,
                       10,10287,10345,166,102,105,108,101,58,111,112,101,110,45,102,111,114,45,119,114,
                       105,116,105,110,103,0,1,1,2049,10056,10,10320,10357,154,70,73,68,0,0,10350,
                       10366,154,83,105,122,101,0,0,10358,10377,154,65,99,116,105,111,110,0,0,10367,
                       10388,154,66,117,102,102,101,114,0,0,10378,10398,166,45,101,111,102,63,0,3841,
                       10357,2049,10130,3841,10366,13,10,10389,10418,166,112,114,101,115,101,114,118,101,0,1,
                       10357,1793,10429,1,10366,1,25,2049,3491,10,1,10422,2049,3491,10,10320,10452,166,102,105,
                       108,101,58,114,101,97,100,45,108,105,110,101,0,4097,10357,1793,10509,2049,1929,2,
                       4097,10388,2049,3734,1793,10501,3841,10357,2049,10093,2,2049,3642,1793,10478,1,13,11,10,1,
                       10474,1793,10486,1,10,11,10,1,10482,1793,10494,1,0,11,10,1,10490,2049,2214,22,
                       22,10,1,10465,2049,2305,2049,3666,3,10,1,10456,2049,3758,3841,10388,10,10434,10538,166,
                       102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,105,110,101,0,1793,
                       10569,4097,10377,2049,10278,4097,10357,4097,10366,1793,10560,3841,10357,2049,10452,3841,10377,8,2049,10398,
                       10,1,10550,2049,2282,3841,10357,2049,10075,10,1,10540,2049,10418,10,10516,10581,154,70,73,
                       68,0,0,10516,10596,166,102,105,108,101,58,115,108,117,114,112,0,1793,10623,4,
                       2049,3734,2049,10278,4097,10581,1793,10614,3841,10581,2049,10093,2049,3642,10,1,10607,2049,2353,3841,
                       10581,2049,10075,10,1,10598,2049,3758,10,10582,10641,166,102,105,108,101,58,115,112,101,
                       119,0,2049,10345,4,1793,10650,67502597,2049,10112,10,1,10646,2049,4175,2049,10075,10,10628,10676,
                       166,102,108,111,97,116,58,111,112,101,114,97,116,105,111,110,0,1,2,2049,
                       9541,2,2049,2639,1793,10726,3,2049,3952,69,114,114,111,114,58,32,100,101,118,105,
                       99,101,32,40,48,48,48,50,41,32,110,111,116,32,102,111,117,110,100,0,
                       1,10688,2049,9637,2049,9600,10,1,10685,2049,2730,2049,9524,10,10657,10747,166,110,58,116,
                       111,45,102,108,111,97,116,0,1,0,2049,10676,10,10733,10766,166,115,58,116,111,
                       45,102,108,111,97,116,0,1,1,2049,10676,10,10752,10786,166,102,58,116,111,45,
                       110,117,109,98,101,114,0,1,2,2049,10676,10,10771,10806,166,102,58,116,111,45,
                       115,116,114,105,110,103,0,2049,3933,2,1,3,2049,10676,10,10791,10821,166,102,58,
                       43,0,1,4,2049,10676,10,10814,10833,166,102,58,45,0,1,5,2049,10676,10,10826,
                       10845,166,102,58,42,0,1,6,2049,10676,10,10838,10857,166,102,58,47,0,1,7,
                       2049,10676,10,10850,10873,166,102,58,102,108,111,111,114,0,1,8,2049,10676,10,10862,
                       10891,166,102,58,99,101,105,108,105,110,103,0,1,9,2049,10676,10,10878,10906,166,
                       102,58,115,113,114,116,0,1,10,2049,10676,10,10896,10920,166,102,58,101,113,63,
                       0,1,11,2049,10676,10,10911,10935,166,102,58,45,101,113,63,0,1,12,2049,10676,
                       10,10925,10949,166,102,58,108,116,63,0,1,13,2049,10676,10,10940,10963,166,102,58,
                       103,116,63,0,1,14,2049,10676,10,10954,10979,166,102,58,100,101,112,116,104,0,
                       1,15,2049,10676,10,10968,10993,166,102,58,100,117,112,0,1,16,2049,10676,10,10984,
                       11008,166,102,58,100,114,111,112,0,1,17,2049,10676,10,10998,11023,166,102,58,115,
                       119,97,112,0,1,18,2049,10676,10,11013,11037,166,102,58,108,111,103,0,1,19,
                       2049,10676,10,11028,11053,166,102,58,112,111,119,101,114,0,1,20,2049,10676,10,11042,
                       11067,166,102,58,115,105,110,0,1,21,2049,10676,10,11058,11081,166,102,58,99,111,
                       115,0,1,22,2049,10676,10,11072,11095,166,102,58,116,97,110,0,1,23,2049,10676,
                       10,11086,11110,166,102,58,97,115,105,110,0,1,24,2049,10676,10,11100,11125,166,102,
                       58,97,99,111,115,0,1,25,2049,10676,10,11115,11140,166,102,58,97,116,97,110,
                       0,1,26,2049,10676,10,11130,11155,166,102,58,112,117,115,104,0,1,27,2049,10676,
                       10,11145,11169,166,102,58,112,111,112,0,1,28,2049,10676,10,11160,11186,166,102,58,
                       97,100,101,112,116,104,0,1,29,2049,10676,10,11174,11201,166,102,58,111,118,101,
                       114,0,2049,11155,2049,10993,2049,11169,2049,11023,10,11191,11220,166,102,58,116,117,99,107,
                       0,2049,10993,2049,11155,2049,11023,2049,11169,10,11210,11238,166,102,58,110,105,112,0,2049,
                       11023,2049,11008,10,11229,11258,166,102,58,100,114,111,112,45,112,97,105,114,0,2049,
                       11008,2049,11008,10,11243,11277,166,102,58,100,117,112,45,112,97,105,114,0,2049,11201,
                       2049,11201,10,11263,11291,166,102,58,114,111,116,0,2049,11155,2049,11023,2049,11169,2049,11023,
                       10,11282,11311,178,115,105,103,105,108,58,46,0,2049,1873,1,3978,1,3907,2049,64,
                       1,10766,2049,166,10,11300,11336,166,102,58,115,113,117,97,114,101,0,2049,10993,2049,
                       10845,10,11324,11356,166,102,58,112,111,115,105,116,105,118,101,63,0,1,0,2049,
                       10747,2049,10963,10,11341,11378,166,102,58,110,101,103,97,116,105,118,101,63,0,1,
                       0,2049,10747,2049,10949,10,11363,11397,166,102,58,110,101,103,97,116,101,0,1,-1,
                       2049,10747,2049,10845,10,11385,11413,166,102,58,97,98,115,0,2049,10993,2049,11378,1,11397,
                       9,10,11404,11430,166,102,58,112,117,116,0,2049,10806,2049,9637,10,11421,11443,166,102,
                       58,80,73,0,2049,3952,51,46,49,52,49,53,57,50,54,53,52,0,1,11445,
                       2049,10766,10,11435,11469,166,102,58,69,0,2049,3952,50,46,55,49,56,50,56,49,
                       56,50,56,0,1,11471,2049,10766,10,11462,11497,166,102,58,78,65,78,0,2049,3952,
                       48,0,1,11499,2049,10766,2049,3952,48,0,1,11507,2049,10766,2049,10857,10,11488,11525,166,
                       102,58,73,78,70,0,2049,3952,49,46,48,0,1,11527,2049,10766,2049,3952,48,0,
                       1,11537,2049,10766,2049,10857,10,11516,11556,166,102,58,45,73,78,70,0,2049,3952,45,
                       49,46,48,0,1,11558,2049,10766,2049,3952,48,0,1,11569,2049,10766,2049,10857,10,11546,
                       11588,166,102,58,110,97,110,63,0,2049,10993,2049,10935,10,11578,11603,166,102,58,105,
                       110,102,63,0,2049,11525,2049,10920,10,11593,11619,166,102,58,45,105,110,102,63,0,
                       2049,11556,2049,10920,10,11608,11635,166,102,58,114,111,117,110,100,0,2049,10993,2049,11378,
                       1793,11656,2049,3952,48,46,53,0,1,11643,2049,10766,2049,10833,2049,10891,10,1,11641,1793,
                       11675,2049,3952,48,46,53,0,1,11662,2049,10766,2049,10821,2049,10873,10,1,11660,2049,64,
                       10,11624,11689,166,102,58,109,105,110,0,2049,11277,2049,10949,1,11008,1,11238,2049,64,
                       10,11680,11709,166,102,58,109,97,120,0,2049,11277,2049,10963,1,11008,1,11238,2049,64,
                       10,11700,11731,166,102,58,108,105,109,105,116,0,2049,11023,2049,11155,2049,11689,2049,11169,
                       2049,11709,10,11720,11756,166,102,58,98,101,116,119,101,101,110,63,0,2049,11291,2049,
                       10993,2049,11155,2049,11291,2049,11291,2049,11731,2049,11169,2049,10920,10,11742,11782,166,102,58,105,
                       110,99,0,2049,3952,49,0,1,11784,2049,10766,2049,10821,10,11773,11802,166,102,58,100,
                       101,99,0,2049,3952,49,0,1,11804,2049,10766,2049,10833,10,11793,11823,166,102,58,99,
                       97,115,101,0,2049,11201,2049,10920,1793,11835,2049,11008,8,1,-1,10,1,11829,1793,11843,
                       3,1,0,10,1,11839,2049,64,25,6,771,10,11813,11861,166,102,58,115,105,103,
                       110,0,2049,10993,2049,3952,48,0,1,11865,2049,10766,2049,10920,1793,11880,1,0,2049,11008,
                       10,1,11875,2049,2730,2049,3952,48,0,1,11886,2049,10766,2049,10963,1793,11899,1,1,10,
                       1,11896,1793,11906,1,-1,10,1,11903,2049,64,10,11851,2147483645,154,101,58,77,65,88,
                       0,11911,-2147483645,154,101,58,77,73,78,0,11920,-2147483647,154,101,58,78,65,78,0,11929,
                       2147483646,154,101,58,73,78,70,0,11938,-2147483646,154,101,58,45,73,78,70,0,11947,11965,
                       166,101,58,110,63,0,1,-2147483645,2049,2967,1,2147483645,2049,2979,2049,2996,10,11957,11986,166,
                       101,58,109,97,120,63,0,1,2147483645,11,10,11976,12000,166,101,58,109,105,110,63,
                       0,1,-2147483645,11,10,11990,12015,166,101,58,122,101,114,111,63,0,2049,2604,10,12004,
                       12028,166,101,58,110,97,110,63,0,1,-2147483647,11,10,12018,12042,166,101,58,105,110,
                       102,63,0,1,2147483646,11,10,12032,12057,166,101,58,45,105,110,102,63,0,1,-2147483646,
                       11,10,12046,12071,166,101,58,99,108,105,112,0,1,-2147483645,1,2147483645,2049,2950,10,12061,
                       12086,166,102,58,69,49,0,1793,12088,2049,3952,49,46,101,53,0,1,12090,2049,10766,
                       10,12078,12117,166,102,58,115,105,103,110,101,100,45,115,113,114,116,0,2049,10993,
                       2049,11861,2049,11413,2049,10906,2049,10747,2049,10845,10,12100,12149,166,102,58,115,105,103,110,
                       101,100,45,115,113,117,97,114,101,0,2049,10993,2049,11861,2049,10993,2049,10845,2049,10747,
                       2049,10845,10,12130,12174,166,102,58,45,115,104,105,102,116,0,2049,12086,2049,10845,10,
                       12162,12191,166,102,58,43,115,104,105,102,116,0,2049,12086,2049,10857,10,12179,12209,166,
                       102,58,43,101,110,99,111,100,101,0,2049,12117,2049,12174,10,12196,12227,166,102,58,
                       45,101,110,99,111,100,101,0,2049,10993,2049,11861,2049,12191,2049,10993,2049,10845,2049,10747,
                       2049,10845,10,12130,12252,166,102,58,116,111,45,101,0,2049,10993,2049,11588,1793,12263,2049,
                       11008,1,-2147483647,10,1,12258,2049,2730,2049,10993,2049,11603,1793,12278,2049,11008,1,2147483646,10,1,
                       12273,2049,2730,2049,10993,2049,11619,1793,12293,2049,11008,1,-2147483646,10,1,12288,2049,2730,2049,12209,
                       2049,11635,2049,10786,2049,12071,1,-2147483645,1,11008,2049,2450,1,2147483645,1,11008,2049,2450,10,12242,
                       12328,166,101,58,116,111,45,102,0,1,-2147483647,1,11497,2049,2450,1,2147483646,1,11525,2049,
                       2450,1,-2147483646,1,11556,2049,2450,2049,10747,2049,12227,10,12318,12362,166,102,58,115,116,111,
                       114,101,0,1,12252,2049,2155,16,10,12351,12379,166,102,58,102,101,116,99,104,0,
                       15,2049,12328,10,12368,12399,166,102,58,100,117,109,112,45,115,116,97,99,107,0,
                       2049,10979,2,1,11155,2049,2353,1793,12417,2049,11169,2049,10993,2049,11430,2049,9611,10,1,12408,
                       2049,2353,10,12383,12439,166,102,58,100,117,109,112,45,97,115,116,97,99,107,0,
                       2049,11186,2,1,11169,2049,2353,1793,12457,2049,10993,2049,11430,2049,9611,2049,11155,10,1,12448,
                       2049,2353,10,12422,12471,166,101,58,112,117,116,0,1,2147483645,1793,12488,2049,3952,101,58,
                       77,65,88,0,1,12477,2049,9637,10,1,12475,2049,2450,1,-2147483645,1793,12509,2049,3952,101,
                       58,77,73,78,0,1,12498,2049,9637,10,1,12496,2049,2450,1,0,1793,12528,2049,3952,
                       101,58,48,0,1,12519,2049,9637,10,1,12517,2049,2450,1,-2147483647,1793,12549,2049,3952,101,
                       58,78,65,78,0,1,12538,2049,9637,10,1,12536,2049,2450,1,2147483646,1793,12570,2049,3952,
                       101,58,73,78,70,0,1,12559,2049,9637,10,1,12557,2049,2450,1,-2147483646,1793,12592,2049,
                       3952,101,58,45,73,78,70,0,1,12580,2049,9637,10,1,12578,2049,2450,2049,12328,2049,
                       11430,10,12462,12620,166,105,111,58,117,110,105,120,45,115,121,115,99,97,108,108,
                       0,1,8,2049,9541,2,2049,2639,1793,12670,3,2049,3952,69,114,114,111,114,58,32,
                       100,101,118,105,99,101,32,40,48,48,48,56,41,32,110,111,116,32,102,111,
                       117,110,100,0,1,12632,2049,9637,2049,9600,10,1,12629,2049,2730,2049,9524,10,12601,12692,
                       166,117,110,105,120,58,115,121,115,116,101,109,0,1,0,2049,12620,10,12677,12710,
                       166,117,110,105,120,58,102,111,114,107,0,1,1,2049,12620,10,12697,12729,166,117,
                       110,105,120,58,101,120,101,99,48,0,1,2,2049,12620,10,12715,12748,166,117,110,
                       105,120,58,101,120,101,99,49,0,1,3,2049,12620,10,12734,12767,166,117,110,105,
                       120,58,101,120,101,99,50,0,1,4,2049,12620,10,12753,12786,166,117,110,105,120,
                       58,101,120,101,99,51,0,1,5,2049,12620,10,12772,12804,166,117,110,105,120,58,
                       101,120,105,116,0,1,6,2049,12620,10,12791,12824,166,117,110,105,120,58,103,101,
                       116,112,105,100,0,1,7,2049,12620,10,12809,12842,166,117,110,105,120,58,119,97,
                       105,116,0,1,8,2049,12620,10,12829,12860,166,117,110,105,120,58,107,105,108,108,
                       0,1,9,2049,12620,10,12847,12879,166,117,110,105,120,58,112,111,112,101,110,0,
                       1,10,2049,12620,10,12865,12899,166,117,110,105,120,58,112,99,108,111,115,101,0,
                       1,11,2049,12620,10,12884,12918,166,117,110,105,120,58,99,104,100,105,114,0,1,
                       13,2049,12620,10,12904,12938,166,117,110,105,120,58,103,101,116,101,110,118,0,1,
                       14,2049,12620,10,12923,12958,166,117,110,105,120,58,112,117,116,101,110,118,0,1,
                       15,2049,12620,10,12943,12977,166,117,110,105,120,58,115,108,101,101,112,0,1,16,
                       2049,12620,10,12963,12998,166,117,110,105,120,58,101,120,101,99,117,116,101,0,1,
                       17,2049,12620,10,12982,13016,166,117,110,105,120,58,112,105,112,101,0,1,0,2049,
                       12879,1,10452,1,12899,2049,2177,10,13003,13043,166,117,110,105,120,58,103,101,116,45,
                       99,119,100,0,2049,3952,112,119,100,0,1,13045,2049,13016,2049,6300,2049,3952,47,0,
                       1,13057,2049,4157,10,13027,13091,166,117,110,105,120,58,99,111,117,110,116,45,102,
                       105,108,101,115,45,105,110,45,99,119,100,0,2049,3952,108,115,32,45,49,32,
                       124,32,119,99,32,45,108,0,1,13093,2049,13016,2049,6300,2049,249,10,13064,13138,166,
                       117,110,105,120,58,102,111,114,45,101,97,99,104,45,102,105,108,101,0,2049,
                       3952,108,115,32,45,49,32,45,112,0,1,13140,1,0,2049,12879,2049,13091,1793,13173,
                       1793,13168,2049,10452,2049,3907,67502597,8,10,1,13161,2049,2165,10,1,13159,2049,2353,2049,12899,
                       3,10,13116,13190,166,115,116,97,114,116,0,4,2049,3734,1,0,2049,12879,10,13181,
                       13206,166,114,101,97,100,0,2,2049,10093,2,2049,3642,2049,2604,10,13198,13225,166,102,
                       105,110,105,115,104,0,2049,12899,2049,3714,10,13116,13249,166,117,110,105,120,58,115,
                       108,117,114,112,45,112,105,112,101,0,1793,13260,2049,13190,1,13206,2049,2305,2049,13225,
                       10,1,13251,2049,3758,10,13230,13277,166,110,58,114,97,110,100,111,109,0,1,10,
                       2049,9541,2,2049,2639,1793,13327,3,2049,3952,69,114,114,111,114,58,32,100,101,118,
                       105,99,101,32,40,48,48,49,48,41,32,110,111,116,32,102,111,117,110,100,
                       0,1,13289,2049,9637,2049,9600,10,1,13286,2049,2730,2049,9524,10,13265,13354,166,115,111,
                       99,107,101,116,58,111,112,101,114,97,116,105,111,110,0,1,7,2049,9541,2,
                       2049,2639,1793,13404,3,2049,3952,69,114,114,111,114,58,32,100,101,118,105,99,101,
                       32,40,48,48,48,55,41,32,110,111,116,32,102,111,117,110,100,0,1,13366,
                       2049,9637,2049,9600,10,1,13363,2049,2730,2049,9524,10,13334,13435,166,115,111,99,107,101,
                       116,58,103,101,116,104,111,115,116,98,121,110,97,109,101,0,1,0,2049,13354,
                       10,13411,13457,166,115,111,99,107,101,116,58,99,114,101,97,116,101,0,1,1,
                       2049,13354,10,13440,13477,166,115,111,99,107,101,116,58,98,105,110,100,0,1,2,
                       2049,13354,10,13462,13499,166,115,111,99,107,101,116,58,108,105,115,116,101,110,0,
                       1,3,2049,13354,10,13482,13521,166,115,111,99,107,101,116,58,97,99,99,101,112,
                       116,0,1,4,2049,13354,10,13504,13544,166,115,111,99,107,101,116,58,99,111,110,
                       110,101,99,116,0,1,5,2049,13354,10,13526,13564,166,115,111,99,107,101,116,58,
                       115,101,110,100,0,1,6,2049,13354,10,13549,13584,166,115,111,99,107,101,116,58,
                       114,101,99,118,0,1,8,2049,13354,10,13569,13605,166,115,111,99,107,101,116,58,
                       99,108,111,115,101,0,1,10,2049,13354,10,13589,13630,166,115,111,99,107,101,116,
                       58,99,111,110,102,105,103,117,114,101,0,1,11,2049,13354,10,13610,13655,166,115,
                       99,114,105,112,116,58,111,112,101,114,97,116,105,111,110,0,1,9,2049,9541,
                       2,2049,2639,1793,13705,3,2049,3952,69,114,114,111,114,58,32,100,101,118,105,99,
                       101,32,40,48,48,48,57,41,32,110,111,116,32,102,111,117,110,100,0,1,
                       13667,2049,9637,2049,9600,10,1,13664,2049,2730,2049,9524,10,13610,13732,166,115,99,114,105,
                       112,116,58,97,114,103,117,109,101,110,116,115,0,1,0,2049,13655,10,13712,13760,
                       166,115,99,114,105,112,116,58,103,101,116,45,97,114,103,117,109,101,110,116,
                       0,2049,3933,4,1,1,2049,13655,10,13737,13779,166,105,110,99,108,117,100,101,0,
                       1,2,2049,13655,10,13768,13799,166,115,99,114,105,112,116,58,110,97,109,101,0,
                       2049,3933,1,3,2049,13655,10,13784,13829,166,115,99,114,105,112,116,58,99,117,114,
                       114,101,110,116,45,102,105,108,101,0,2049,3933,1,4,2049,13655,10,13806,13859,178,
                       115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,108,105,110,101,0,
                       1,5,2049,13655,2049,154,10,13836,13890,166,115,99,114,105,112,116,58,105,103,110,
                       111,114,101,45,116,111,45,101,111,108,0,1,6,2049,13655,10,13866,13919,166,115,
                       99,114,105,112,116,58,97,98,111,114,116,45,105,110,99,108,117,100,101,0,
                       1,7,2049,13655,10,13895,13933,166,97,98,111,114,116,0,1,147,2049,3459,1,8,
                       2049,13655,10,13924,13961,166,99,108,111,99,107,58,111,112,101,114,97,116,105,111,
                       110,0,1,5,2049,9541,2,2049,2639,1793,14011,3,2049,3952,69,114,114,111,114,58,
                       32,100,101,118,105,99,101,32,40,48,48,48,53,41,32,110,111,116,32,102,
                       111,117,110,100,0,1,13973,2049,9637,2049,9600,10,1,13970,2049,2730,2049,9524,10,13942,
                       14037,166,99,108,111,99,107,58,116,105,109,101,115,116,97,109,112,0,1,0,
                       2049,13961,10,14018,14055,166,99,108,111,99,107,58,100,97,121,0,1,1,2049,13961,
                       10,14042,14075,166,99,108,111,99,107,58,109,111,110,116,104,0,1,2,2049,13961,
                       10,14060,14094,166,99,108,111,99,107,58,121,101,97,114,0,1,3,2049,13961,10,
                       14080,14113,166,99,108,111,99,107,58,104,111,117,114,0,1,4,2049,13961,10,14099,
                       14134,166,99,108,111,99,107,58,109,105,110,117,116,101,0,1,5,2049,13961,10,
                       14118,14155,166,99,108,111,99,107,58,115,101,99,111,110,100,0,1,6,2049,13961,
                       10,14139,14177,166,99,108,111,99,107,58,117,116,99,58,100,97,121,0,1,7,
                       2049,13961,10,14160,14201,166,99,108,111,99,107,58,117,116,99,58,109,111,110,116,
                       104,0,1,8,2049,13961,10,14182,14224,166,99,108,111,99,107,58,117,116,99,58,
                       121,101,97,114,0,1,9,2049,13961,10,14206,14247,166,99,108,111,99,107,58,117,
                       116,99,58,104,111,117,114,0,1,10,2049,13961,10,14229,14272,166,99,108,111,99,
                       107,58,117,116,99,58,109,105,110,117,116,101,0,1,11,2049,13961,10,14252,14297,
                       166,99,108,111,99,107,58,117,116,99,58,115,101,99,111,110,100,0,1,12,
                       2049,13961,10,14277,14309,166,84,73,66,0,1,7,15,10,14302,14327,166,105,109,97,
                       103,101,58,115,97,118,101,0,1,1000,2049,9541,2049,9524,10,14313,14343,166,101,100,
                       105,116,63,0,2,1793,14350,1,8,11,10,1,14346,1793,14358,1,127,11,10,1,
                       14354,2049,2177,22,10,14334,14374,166,103,97,116,104,101,114,0,2049,14343,1,15,1,
                       3642,2049,64,10,14364,14392,166,99,121,99,108,101,0,2049,9843,2049,2145,4,8,2049,
                       2536,25,3,2049,14374,1,14392,7,10,14313,14423,166,112,97,114,115,101,45,117,110,
                       116,105,108,0,1793,14435,2049,3933,2049,3734,2049,14392,771,2049,3608,10,1,14425,2049,3758,
                       10,14408,14454,166,115,58,103,101,116,45,119,111,114,100,0,1,5902,2049,14423,10,
                       14440,14468,166,99,108,101,97,114,0,2049,3952,92,94,91,50,74,92,94,91,48,
                       59,48,72,0,1,14470,2049,7627,2049,9637,10,14459,14500,154,78,111,69,99,104,111,
                       0,0,14490,14508,154,69,79,84,0,0,14501,14521,154,73,103,110,111,114,105,110,
                       103,0,0,14509,14535,166,105,103,110,111,114,105,110,103,63,0,3841,14521,10,14522,
                       14549,166,118,101,114,115,105,111,110,0,3841,4,1,100,20,10,14538,14564,166,100,
                       111,110,101,63,0,2,4097,14508,1793,14573,1,13,11,10,1,14569,1793,14581,1,10,
                       11,10,1,14577,1793,14589,1,32,11,10,1,14585,2049,2214,22,22,10,14555,14604,166,
                       101,111,108,63,0,3841,14508,1793,14612,1,13,11,10,1,14608,1793,14620,1,10,11,
                       10,1,14616,2049,2177,22,10,14596,14636,166,118,97,108,105,100,63,0,2,2049,102,
                       2049,2686,10,14626,14655,166,99,104,101,99,107,45,101,111,102,0,2,1793,14662,1,
                       -1,11,10,1,14658,1793,14670,1,4,11,10,1,14666,2049,2177,22,1793,14680,2049,9901,
                       10,1,14677,9,10,14642,14690,166,98,115,0,2049,3714,1,2,2049,2563,1793,14702,2049,
                       3666,3,10,1,14698,9,2049,3666,3,10,14684,14721,166,99,104,101,99,107,45,98,
                       115,0,2,1793,14728,1,8,11,10,1,14724,1793,14736,1,127,11,10,1,14732,2049,
                       2177,22,1793,14746,2049,14690,10,1,14743,9,10,14709,14759,166,99,104,101,99,107,0,
                       2049,14655,2049,14721,10,14750,14777,166,99,104,97,114,97,99,116,101,114,0,2049,9843,
                       2,2049,3642,10,14764,14793,166,98,117,102,102,101,114,0,1793,14803,2049,14309,2049,3734,
                       8,2049,3608,10,1,14795,2049,3758,10,14783,14822,166,114,101,97,100,45,116,111,107,
                       101,110,0,1793,14838,1793,14833,2049,14777,2049,14759,2049,14564,10,1,14826,2049,2305,10,1,
                       14824,2049,14793,2049,4029,10,14808,14854,166,105,110,112,117,116,0,2049,14822,2049,14636,10,
                       14845,14870,166,112,114,111,99,101,115,115,0,2049,14535,1793,14888,771,2049,14604,1793,14884,
                       1,14521,2049,3459,10,1,14879,9,10,1,14874,2049,2730,1,400,1,15,2049,64,10,
                       14490,14905,178,47,47,0,2049,13890,1,14521,2049,3446,10,14899,14922,166,98,97,110,110,
                       101,114,0,2049,14549,2049,3952,82,69,84,82,79,32,49,50,32,40,37,110,46,
                       37,110,41,92,110,0,1,14926,2049,7627,2049,9637,2049,9705,2049,1543,2049,9705,18,2049,
                       1543,2049,3952,37,110,32,77,97,120,44,32,37,110,32,85,115,101,100,44,32,
                       37,110,32,70,114,101,101,92,110,0,1,14962,2049,7627,2049,9637,10,14912,15006,166,
                       108,105,115,116,101,110,0,3841,14500,1793,15013,2049,14922,10,1,15010,2049,72,2049,14854,
                       2049,14870,1,15017,7,10,14996,15036,166,100,58,119,111,114,100,115,0,1793,15045,2049,
                       184,2049,9637,2049,9611,10,1,15038,2049,7856,10,15025,15066,166,100,58,119,111,114,100,
                       115,45,119,105,116,104,0,2049,1929,2049,4952,1793,15097,2049,184,2,2049,1929,2049,4469,
                       1793,15086,2049,9637,2049,9611,10,1,15081,1793,15092,3,10,1,15090,2049,64,10,1,15072,
                       2049,7856,10,15050,15121,166,100,105,115,112,108,97,121,45,105,102,45,108,101,102,
                       116,0,2,2049,1929,2049,4902,1793,15133,2049,9637,2049,9611,10,1,15128,1793,15139,3,10,
                       1,15137,2049,64,10,15050,15170,166,100,58,119,111,114,100,115,45,98,101,103,105,
                       110,110,105,110,103,45,119,105,116,104,0,2049,1929,2049,4952,1793,15181,2049,184,2049,
                       15121,10,1,15176,2049,7856,10,15144,15197,166,115,58,115,112,108,105,116,0,2049,6417,
                       10,15186,15221,166,115,58,115,112,108,105,116,45,111,110,45,115,116,114,105,110,
                       103,0,2049,6449,10,15200,15244,166,115,58,99,111,110,116,97,105,110,115,45,99,
                       104,97,114,63,0,2049,4277,10,15224,15269,166,115,58,99,111,110,116,97,105,110,
                       115,45,115,116,114,105,110,103,63,0,2049,4469,10,15247,15294,166,97,58,99,111,
                       110,116,97,105,110,115,45,115,116,114,105,110,103,63,0,2049,4469,10,15272,15311,
                       166,97,58,105,110,100,101,120,45,111,102,0,2049,8567,10,15297,15335,166,97,58,
                       105,110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,2049,8603,10,15314,
                       15352,166,115,58,105,110,100,101,120,45,111,102,0,2049,4211,10,15338,15369,166,115,
                       58,105,110,100,101,120,45,111,102,0,2049,4680,10,0 };
                       103,101,116,0,1793,9845,1,1,2049,9541,2049,9524,10,9834,9866,166,115,58,103,101,
                       116,45,119,111,114,100,0,1793,9894,1,7,15,2049,3734,1793,9885,2049,9843,2,2049,
                       3642,2049,9807,2049,9722,10,1,9875,2049,2305,2049,3608,2049,4029,10,1,9868,2049,3758,10,
                       9852,9906,166,98,121,101,0,26,10,9899,9918,166,108,105,115,116,101,110,0,2049,
                       9866,2049,9761,1,400,1,15,2049,64,1,9918,7,10,9908,9950,166,102,105,108,101,
                       58,111,112,101,114,97,116,105,111,110,0,1,4,2049,9541,2,2049,2639,1793,10000,
                       3,2049,3952,69,114,114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,
                       48,52,41,32,110,111,116,32,102,111,117,110,100,0,1,9962,2049,9637,2049,9600,
                       10,1,9959,2049,2730,2049,9524,10,9932,0,154,102,105,108,101,58,82,0,10007,1,
                       154,102,105,108,101,58,87,0,10017,2,154,102,105,108,101,58,65,0,10027,3,
                       154,102,105,108,101,58,82,43,0,10037,10061,166,102,105,108,101,58,111,112,101,
                       110,0,1,0,2049,9950,10,10048,10080,166,102,105,108,101,58,99,108,111,115,101,
                       0,1,1,2049,9950,10,10066,10098,166,102,105,108,101,58,114,101,97,100,0,1,
                       2,2049,9950,10,10085,10117,166,102,105,108,101,58,119,114,105,116,101,0,1,3,
                       2049,9950,10,10103,10135,166,102,105,108,101,58,116,101,108,108,0,1,4,2049,9950,
                       10,10122,10153,166,102,105,108,101,58,115,101,101,107,0,1,5,2049,9950,10,10140,
                       10171,166,102,105,108,101,58,115,105,122,101,0,1,6,2049,9950,10,10158,10191,166,
                       102,105,108,101,58,100,101,108,101,116,101,0,1,7,2049,9950,10,10176,10210,166,
                       102,105,108,101,58,102,108,117,115,104,0,1,8,2049,9950,10,10196,10231,166,102,
                       105,108,101,58,101,120,105,115,116,115,63,0,1,0,2049,10061,2,2049,2620,1793,
                       10245,2049,10080,2049,2427,10,1,10240,1793,10253,3,2049,2439,10,1,10249,2049,64,10,10215,
                       10283,166,102,105,108,101,58,111,112,101,110,45,102,111,114,45,114,101,97,100,
                       105,110,103,0,1,0,2049,10061,2,2049,10171,4,10,10258,10316,166,102,105,108,101,
                       58,111,112,101,110,45,102,111,114,45,97,112,112,101,110,100,0,1,2,2049,
                       10061,2,2049,10171,4,10,10292,10350,166,102,105,108,101,58,111,112,101,110,45,102,
                       111,114,45,119,114,105,116,105,110,103,0,1,1,2049,10061,10,10325,10362,154,70,
                       73,68,0,0,10355,10371,154,83,105,122,101,0,0,10363,10382,154,65,99,116,105,
                       111,110,0,0,10372,10393,154,66,117,102,102,101,114,0,0,10383,10403,166,45,101,
                       111,102,63,0,3841,10362,2049,10135,3841,10371,13,10,10394,10423,166,112,114,101,115,101,
                       114,118,101,0,1,10362,1793,10434,1,10371,1,25,2049,3491,10,1,10427,2049,3491,10,
                       10325,10457,166,102,105,108,101,58,114,101,97,100,45,108,105,110,101,0,4097,10362,
                       1793,10514,2049,1929,2,4097,10393,2049,3734,1793,10506,3841,10362,2049,10098,2,2049,3642,1793,10483,
                       1,13,11,10,1,10479,1793,10491,1,10,11,10,1,10487,1793,10499,1,0,11,10,
                       1,10495,2049,2214,22,22,10,1,10470,2049,2305,2049,3666,3,10,1,10461,2049,3758,3841,
                       10393,10,10439,10543,166,102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,
                       105,110,101,0,1793,10574,4097,10382,2049,10283,4097,10362,4097,10371,1793,10565,3841,10362,2049,10457,
                       3841,10382,8,2049,10403,10,1,10555,2049,2282,3841,10362,2049,10080,10,1,10545,2049,10423,10,
                       10521,10586,154,70,73,68,0,0,10521,10601,166,102,105,108,101,58,115,108,117,114,
                       112,0,1793,10628,4,2049,3734,2049,10283,4097,10586,1793,10619,3841,10586,2049,10098,2049,3642,10,
                       1,10612,2049,2353,3841,10586,2049,10080,10,1,10603,2049,3758,10,10587,10646,166,102,105,108,
                       101,58,115,112,101,119,0,2049,10350,4,1793,10655,67502597,2049,10117,10,1,10651,2049,4175,
                       2049,10080,10,10633,10681,166,102,108,111,97,116,58,111,112,101,114,97,116,105,111,
                       110,0,1,2,2049,9541,2,2049,2639,1793,10731,3,2049,3952,69,114,114,111,114,58,
                       32,100,101,118,105,99,101,32,40,48,48,48,50,41,32,110,111,116,32,102,
                       111,117,110,100,0,1,10693,2049,9637,2049,9600,10,1,10690,2049,2730,2049,9524,10,10662,
                       10752,166,110,58,116,111,45,102,108,111,97,116,0,1,0,2049,10681,10,10738,10771,
                       166,115,58,116,111,45,102,108,111,97,116,0,1,1,2049,10681,10,10757,10791,166,
                       102,58,116,111,45,110,117,109,98,101,114,0,1,2,2049,10681,10,10776,10811,166,
                       102,58,116,111,45,115,116,114,105,110,103,0,2049,3933,2,1,3,2049,10681,10,
                       10796,10826,166,102,58,43,0,1,4,2049,10681,10,10819,10838,166,102,58,45,0,1,
                       5,2049,10681,10,10831,10850,166,102,58,42,0,1,6,2049,10681,10,10843,10862,166,102,
                       58,47,0,1,7,2049,10681,10,10855,10878,166,102,58,102,108,111,111,114,0,1,
                       8,2049,10681,10,10867,10896,166,102,58,99,101,105,108,105,110,103,0,1,9,2049,
                       10681,10,10883,10911,166,102,58,115,113,114,116,0,1,10,2049,10681,10,10901,10925,166,
                       102,58,101,113,63,0,1,11,2049,10681,10,10916,10940,166,102,58,45,101,113,63,
                       0,1,12,2049,10681,10,10930,10954,166,102,58,108,116,63,0,1,13,2049,10681,10,
                       10945,10968,166,102,58,103,116,63,0,1,14,2049,10681,10,10959,10984,166,102,58,100,
                       101,112,116,104,0,1,15,2049,10681,10,10973,10998,166,102,58,100,117,112,0,1,
                       16,2049,10681,10,10989,11013,166,102,58,100,114,111,112,0,1,17,2049,10681,10,11003,
                       11028,166,102,58,115,119,97,112,0,1,18,2049,10681,10,11018,11042,166,102,58,108,
                       111,103,0,1,19,2049,10681,10,11033,11058,166,102,58,112,111,119,101,114,0,1,
                       20,2049,10681,10,11047,11072,166,102,58,115,105,110,0,1,21,2049,10681,10,11063,11086,
                       166,102,58,99,111,115,0,1,22,2049,10681,10,11077,11100,166,102,58,116,97,110,
                       0,1,23,2049,10681,10,11091,11115,166,102,58,97,115,105,110,0,1,24,2049,10681,
                       10,11105,11130,166,102,58,97,99,111,115,0,1,25,2049,10681,10,11120,11145,166,102,
                       58,97,116,97,110,0,1,26,2049,10681,10,11135,11160,166,102,58,112,117,115,104,
                       0,1,27,2049,10681,10,11150,11174,166,102,58,112,111,112,0,1,28,2049,10681,10,
                       11165,11191,166,102,58,97,100,101,112,116,104,0,1,29,2049,10681,10,11179,11206,166,
                       102,58,111,118,101,114,0,2049,11160,2049,10998,2049,11174,2049,11028,10,11196,11225,166,102,
                       58,116,117,99,107,0,2049,10998,2049,11160,2049,11028,2049,11174,10,11215,11243,166,102,58,
                       110,105,112,0,2049,11028,2049,11013,10,11234,11263,166,102,58,100,114,111,112,45,112,
                       97,105,114,0,2049,11013,2049,11013,10,11248,11282,166,102,58,100,117,112,45,112,97,
                       105,114,0,2049,11206,2049,11206,10,11268,11296,166,102,58,114,111,116,0,2049,11160,2049,
                       11028,2049,11174,2049,11028,10,11287,11316,178,115,105,103,105,108,58,46,0,2049,1873,1,
                       3978,1,3907,2049,64,1,10771,2049,166,10,11305,11341,166,102,58,115,113,117,97,114,
                       101,0,2049,10998,2049,10850,10,11329,11361,166,102,58,112,111,115,105,116,105,118,101,
                       63,0,1,0,2049,10752,2049,10968,10,11346,11383,166,102,58,110,101,103,97,116,105,
                       118,101,63,0,1,0,2049,10752,2049,10954,10,11368,11402,166,102,58,110,101,103,97,
                       116,101,0,1,-1,2049,10752,2049,10850,10,11390,11418,166,102,58,97,98,115,0,2049,
                       10998,2049,11383,1,11402,9,10,11409,11435,166,102,58,112,117,116,0,2049,10811,2049,9637,
                       10,11426,11448,166,102,58,80,73,0,2049,3952,51,46,49,52,49,53,57,50,54,
                       53,52,0,1,11450,2049,10771,10,11440,11474,166,102,58,69,0,2049,3952,50,46,55,
                       49,56,50,56,49,56,50,56,0,1,11476,2049,10771,10,11467,11502,166,102,58,78,
                       65,78,0,2049,3952,48,0,1,11504,2049,10771,2049,3952,48,0,1,11512,2049,10771,2049,
                       10862,10,11493,11530,166,102,58,73,78,70,0,2049,3952,49,46,48,0,1,11532,2049,
                       10771,2049,3952,48,0,1,11542,2049,10771,2049,10862,10,11521,11561,166,102,58,45,73,78,
                       70,0,2049,3952,45,49,46,48,0,1,11563,2049,10771,2049,3952,48,0,1,11574,2049,
                       10771,2049,10862,10,11551,11593,166,102,58,110,97,110,63,0,2049,10998,2049,10940,10,11583,
                       11608,166,102,58,105,110,102,63,0,2049,11530,2049,10925,10,11598,11624,166,102,58,45,
                       105,110,102,63,0,2049,11561,2049,10925,10,11613,11640,166,102,58,114,111,117,110,100,
                       0,2049,10998,2049,11383,1793,11661,2049,3952,48,46,53,0,1,11648,2049,10771,2049,10838,2049,
                       10896,10,1,11646,1793,11680,2049,3952,48,46,53,0,1,11667,2049,10771,2049,10826,2049,10878,
                       10,1,11665,2049,64,10,11629,11694,166,102,58,109,105,110,0,2049,11282,2049,10954,1,
                       11013,1,11243,2049,64,10,11685,11714,166,102,58,109,97,120,0,2049,11282,2049,10968,1,
                       11013,1,11243,2049,64,10,11705,11736,166,102,58,108,105,109,105,116,0,2049,11028,2049,
                       11160,2049,11694,2049,11174,2049,11714,10,11725,11761,166,102,58,98,101,116,119,101,101,110,
                       63,0,2049,11296,2049,10998,2049,11160,2049,11296,2049,11296,2049,11736,2049,11174,2049,10925,10,11747,
                       11787,166,102,58,105,110,99,0,2049,3952,49,0,1,11789,2049,10771,2049,10826,10,11778,
                       11807,166,102,58,100,101,99,0,2049,3952,49,0,1,11809,2049,10771,2049,10838,10,11798,
                       11828,166,102,58,99,97,115,101,0,2049,11206,2049,10925,1793,11840,2049,11013,8,1,-1,
                       10,1,11834,1793,11848,3,1,0,10,1,11844,2049,64,25,6,771,10,11818,11866,166,
                       102,58,115,105,103,110,0,2049,10998,2049,3952,48,0,1,11870,2049,10771,2049,10925,1793,
                       11885,1,0,2049,11013,10,1,11880,2049,2730,2049,3952,48,0,1,11891,2049,10771,2049,10968,
                       1793,11904,1,1,10,1,11901,1793,11911,1,-1,10,1,11908,2049,64,10,11856,2147483645,154,
                       101,58,77,65,88,0,11916,-2147483645,154,101,58,77,73,78,0,11925,-2147483647,154,101,58,
                       78,65,78,0,11934,2147483646,154,101,58,73,78,70,0,11943,-2147483646,154,101,58,45,73,
                       78,70,0,11952,11970,166,101,58,110,63,0,1,-2147483645,2049,2967,1,2147483645,2049,2979,2049,
                       2996,10,11962,11991,166,101,58,109,97,120,63,0,1,2147483645,11,10,11981,12005,166,101,
                       58,109,105,110,63,0,1,-2147483645,11,10,11995,12020,166,101,58,122,101,114,111,63,
                       0,2049,2604,10,12009,12033,166,101,58,110,97,110,63,0,1,-2147483647,11,10,12023,12047,
                       166,101,58,105,110,102,63,0,1,2147483646,11,10,12037,12062,166,101,58,45,105,110,
                       102,63,0,1,-2147483646,11,10,12051,12076,166,101,58,99,108,105,112,0,1,-2147483645,1,
                       2147483645,2049,2950,10,12066,12091,166,102,58,69,49,0,1793,12093,2049,3952,49,46,101,53,
                       0,1,12095,2049,10771,10,12083,12122,166,102,58,115,105,103,110,101,100,45,115,113,
                       114,116,0,2049,10998,2049,11866,2049,11418,2049,10911,2049,10752,2049,10850,10,12105,12154,166,102,
                       58,115,105,103,110,101,100,45,115,113,117,97,114,101,0,2049,10998,2049,11866,2049,
                       10998,2049,10850,2049,10752,2049,10850,10,12135,12179,166,102,58,45,115,104,105,102,116,0,
                       2049,12091,2049,10850,10,12167,12196,166,102,58,43,115,104,105,102,116,0,2049,12091,2049,
                       10862,10,12184,12214,166,102,58,43,101,110,99,111,100,101,0,2049,12122,2049,12179,10,
                       12201,12232,166,102,58,45,101,110,99,111,100,101,0,2049,10998,2049,11866,2049,12196,2049,
                       10998,2049,10850,2049,10752,2049,10850,10,12135,12257,166,102,58,116,111,45,101,0,2049,10998,
                       2049,11593,1793,12268,2049,11013,1,-2147483647,10,1,12263,2049,2730,2049,10998,2049,11608,1793,12283,2049,
                       11013,1,2147483646,10,1,12278,2049,2730,2049,10998,2049,11624,1793,12298,2049,11013,1,-2147483646,10,1,
                       12293,2049,2730,2049,12214,2049,11640,2049,10791,2049,12076,1,-2147483645,1,11013,2049,2450,1,2147483645,1,
                       11013,2049,2450,10,12247,12333,166,101,58,116,111,45,102,0,1,-2147483647,1,11502,2049,2450,
                       1,2147483646,1,11530,2049,2450,1,-2147483646,1,11561,2049,2450,2049,10752,2049,12232,10,12323,12367,166,
                       102,58,115,116,111,114,101,0,1,12257,2049,2155,16,10,12356,12384,166,102,58,102,
                       101,116,99,104,0,15,2049,12333,10,12373,12404,166,102,58,100,117,109,112,45,115,
                       116,97,99,107,0,2049,10984,2,1,11160,2049,2353,1793,12422,2049,11174,2049,10998,2049,11435,
                       2049,9611,10,1,12413,2049,2353,10,12388,12444,166,102,58,100,117,109,112,45,97,115,
                       116,97,99,107,0,2049,11191,2,1,11174,2049,2353,1793,12462,2049,10998,2049,11435,2049,9611,
                       2049,11160,10,1,12453,2049,2353,10,12427,12476,166,101,58,112,117,116,0,1,2147483645,1793,
                       12493,2049,3952,101,58,77,65,88,0,1,12482,2049,9637,10,1,12480,2049,2450,1,-2147483645,
                       1793,12514,2049,3952,101,58,77,73,78,0,1,12503,2049,9637,10,1,12501,2049,2450,1,
                       0,1793,12533,2049,3952,101,58,48,0,1,12524,2049,9637,10,1,12522,2049,2450,1,-2147483647,
                       1793,12554,2049,3952,101,58,78,65,78,0,1,12543,2049,9637,10,1,12541,2049,2450,1,
                       2147483646,1793,12575,2049,3952,101,58,73,78,70,0,1,12564,2049,9637,10,1,12562,2049,2450,
                       1,-2147483646,1793,12597,2049,3952,101,58,45,73,78,70,0,1,12585,2049,9637,10,1,12583,
                       2049,2450,2049,12333,2049,11435,10,12467,12625,166,105,111,58,117,110,105,120,45,115,121,
                       115,99,97,108,108,0,1,8,2049,9541,2,2049,2639,1793,12675,3,2049,3952,69,114,
                       114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,48,56,41,32,110,
                       111,116,32,102,111,117,110,100,0,1,12637,2049,9637,2049,9600,10,1,12634,2049,2730,
                       2049,9524,10,12606,12697,166,117,110,105,120,58,115,121,115,116,101,109,0,1,0,
                       2049,12625,10,12682,12715,166,117,110,105,120,58,102,111,114,107,0,1,1,2049,12625,
                       10,12702,12734,166,117,110,105,120,58,101,120,101,99,48,0,1,2,2049,12625,10,
                       12720,12753,166,117,110,105,120,58,101,120,101,99,49,0,1,3,2049,12625,10,12739,
                       12772,166,117,110,105,120,58,101,120,101,99,50,0,1,4,2049,12625,10,12758,12791,
                       166,117,110,105,120,58,101,120,101,99,51,0,1,5,2049,12625,10,12777,12809,166,
                       117,110,105,120,58,101,120,105,116,0,1,6,2049,12625,10,12796,12829,166,117,110,
                       105,120,58,103,101,116,112,105,100,0,1,7,2049,12625,10,12814,12847,166,117,110,
                       105,120,58,119,97,105,116,0,1,8,2049,12625,10,12834,12865,166,117,110,105,120,
                       58,107,105,108,108,0,1,9,2049,12625,10,12852,12884,166,117,110,105,120,58,112,
                       111,112,101,110,0,1,10,2049,12625,10,12870,12904,166,117,110,105,120,58,112,99,
                       108,111,115,101,0,1,11,2049,12625,10,12889,12923,166,117,110,105,120,58,99,104,
                       100,105,114,0,1,13,2049,12625,10,12909,12943,166,117,110,105,120,58,103,101,116,
                       101,110,118,0,1,14,2049,12625,10,12928,12963,166,117,110,105,120,58,112,117,116,
                       101,110,118,0,1,15,2049,12625,10,12948,12982,166,117,110,105,120,58,115,108,101,
                       101,112,0,1,16,2049,12625,10,12968,13003,166,117,110,105,120,58,101,120,101,99,
                       117,116,101,0,1,17,2049,12625,10,12987,13021,166,117,110,105,120,58,112,105,112,
                       101,0,1,0,2049,12884,1,10457,1,12904,2049,2177,10,13008,13048,166,117,110,105,120,
                       58,103,101,116,45,99,119,100,0,2049,3952,112,119,100,0,1,13050,2049,13021,2049,
                       6300,2049,3952,47,0,1,13062,2049,4157,10,13032,13096,166,117,110,105,120,58,99,111,
                       117,110,116,45,102,105,108,101,115,45,105,110,45,99,119,100,0,2049,3952,108,
                       115,32,45,49,32,124,32,119,99,32,45,108,0,1,13098,2049,13021,2049,6300,2049,
                       249,10,13069,13143,166,117,110,105,120,58,102,111,114,45,101,97,99,104,45,102,
                       105,108,101,0,2049,3952,108,115,32,45,49,32,45,112,0,1,13145,1,0,2049,
                       12884,2049,13096,1793,13178,1793,13173,2049,10457,2049,3907,67502597,8,10,1,13166,2049,2165,10,1,
                       13164,2049,2353,2049,12904,3,10,13121,13195,166,115,116,97,114,116,0,4,2049,3734,1,
                       0,2049,12884,10,13186,13211,166,114,101,97,100,0,2,2049,10098,2,2049,3642,2049,2604,
                       10,13203,13230,166,102,105,110,105,115,104,0,2049,12904,2049,3714,10,13121,13254,166,117,
                       110,105,120,58,115,108,117,114,112,45,112,105,112,101,0,1793,13265,2049,13195,1,
                       13211,2049,2305,2049,13230,10,1,13256,2049,3758,10,13235,13282,166,110,58,114,97,110,100,
                       111,109,0,1,10,2049,9541,2,2049,2639,1793,13332,3,2049,3952,69,114,114,111,114,
                       58,32,100,101,118,105,99,101,32,40,48,48,49,48,41,32,110,111,116,32,
                       102,111,117,110,100,0,1,13294,2049,9637,2049,9600,10,1,13291,2049,2730,2049,9524,10,
                       13270,13359,166,115,111,99,107,101,116,58,111,112,101,114,97,116,105,111,110,0,
                       1,7,2049,9541,2,2049,2639,1793,13409,3,2049,3952,69,114,114,111,114,58,32,100,
                       101,118,105,99,101,32,40,48,48,48,55,41,32,110,111,116,32,102,111,117,
                       110,100,0,1,13371,2049,9637,2049,9600,10,1,13368,2049,2730,2049,9524,10,13339,13440,166,
                       115,111,99,107,101,116,58,103,101,116,104,111,115,116,98,121,110,97,109,101,
                       0,1,0,2049,13359,10,13416,13462,166,115,111,99,107,101,116,58,99,114,101,97,
                       116,101,0,1,1,2049,13359,10,13445,13482,166,115,111,99,107,101,116,58,98,105,
                       110,100,0,1,2,2049,13359,10,13467,13504,166,115,111,99,107,101,116,58,108,105,
                       115,116,101,110,0,1,3,2049,13359,10,13487,13526,166,115,111,99,107,101,116,58,
                       97,99,99,101,112,116,0,1,4,2049,13359,10,13509,13549,166,115,111,99,107,101,
                       116,58,99,111,110,110,101,99,116,0,1,5,2049,13359,10,13531,13569,166,115,111,
                       99,107,101,116,58,115,101,110,100,0,1,6,2049,13359,10,13554,13589,166,115,111,
                       99,107,101,116,58,114,101,99,118,0,1,8,2049,13359,10,13574,13610,166,115,111,
                       99,107,101,116,58,99,108,111,115,101,0,1,10,2049,13359,10,13594,13635,166,115,
                       111,99,107,101,116,58,99,111,110,102,105,103,117,114,101,0,1,11,2049,13359,
                       10,13615,13660,166,115,99,114,105,112,116,58,111,112,101,114,97,116,105,111,110,
                       0,1,9,2049,9541,2,2049,2639,1793,13710,3,2049,3952,69,114,114,111,114,58,32,
                       100,101,118,105,99,101,32,40,48,48,48,57,41,32,110,111,116,32,102,111,
                       117,110,100,0,1,13672,2049,9637,2049,9600,10,1,13669,2049,2730,2049,9524,10,13615,13737,
                       166,115,99,114,105,112,116,58,97,114,103,117,109,101,110,116,115,0,1,0,
                       2049,13660,10,13717,13765,166,115,99,114,105,112,116,58,103,101,116,45,97,114,103,
                       117,109,101,110,116,0,2049,3933,4,1,1,2049,13660,10,13742,13784,166,105,110,99,
                       108,117,100,101,0,1,2,2049,13660,10,13773,13804,166,115,99,114,105,112,116,58,
                       110,97,109,101,0,2049,3933,1,3,2049,13660,10,13789,13834,166,115,99,114,105,112,
                       116,58,99,117,114,114,101,110,116,45,102,105,108,101,0,2049,3933,1,4,2049,
                       13660,10,13811,13864,178,115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,
                       108,105,110,101,0,1,5,2049,13660,2049,154,10,13841,13895,166,115,99,114,105,112,
                       116,58,105,103,110,111,114,101,45,116,111,45,101,111,108,0,1,6,2049,13660,
                       10,13871,13924,166,115,99,114,105,112,116,58,97,98,111,114,116,45,105,110,99,
                       108,117,100,101,0,1,7,2049,13660,10,13900,13938,166,97,98,111,114,116,0,1,
                       147,2049,3459,1,8,2049,13660,10,13929,13966,166,99,108,111,99,107,58,111,112,101,
                       114,97,116,105,111,110,0,1,5,2049,9541,2,2049,2639,1793,14016,3,2049,3952,69,
                       114,114,111,114,58,32,100,101,118,105,99,101,32,40,48,48,48,53,41,32,
                       110,111,116,32,102,111,117,110,100,0,1,13978,2049,9637,2049,9600,10,1,13975,2049,
                       2730,2049,9524,10,13947,14042,166,99,108,111,99,107,58,116,105,109,101,115,116,97,
                       109,112,0,1,0,2049,13966,10,14023,14060,166,99,108,111,99,107,58,100,97,121,
                       0,1,1,2049,13966,10,14047,14080,166,99,108,111,99,107,58,109,111,110,116,104,
                       0,1,2,2049,13966,10,14065,14099,166,99,108,111,99,107,58,121,101,97,114,0,
                       1,3,2049,13966,10,14085,14118,166,99,108,111,99,107,58,104,111,117,114,0,1,
                       4,2049,13966,10,14104,14139,166,99,108,111,99,107,58,109,105,110,117,116,101,0,
                       1,5,2049,13966,10,14123,14160,166,99,108,111,99,107,58,115,101,99,111,110,100,
                       0,1,6,2049,13966,10,14144,14182,166,99,108,111,99,107,58,117,116,99,58,100,
                       97,121,0,1,7,2049,13966,10,14165,14206,166,99,108,111,99,107,58,117,116,99,
                       58,109,111,110,116,104,0,1,8,2049,13966,10,14187,14229,166,99,108,111,99,107,
                       58,117,116,99,58,121,101,97,114,0,1,9,2049,13966,10,14211,14252,166,99,108,
                       111,99,107,58,117,116,99,58,104,111,117,114,0,1,10,2049,13966,10,14234,14277,
                       166,99,108,111,99,107,58,117,116,99,58,109,105,110,117,116,101,0,1,11,
                       2049,13966,10,14257,14302,166,99,108,111,99,107,58,117,116,99,58,115,101,99,111,
                       110,100,0,1,12,2049,13966,10,14282,14314,166,84,73,66,0,1,7,15,10,14307,
                       14332,166,105,109,97,103,101,58,115,97,118,101,0,1,1000,2049,9541,2049,9524,10,
                       14318,14348,166,101,100,105,116,63,0,2,1793,14355,1,8,11,10,1,14351,1793,14363,
                       1,127,11,10,1,14359,2049,2177,22,10,14339,14379,166,103,97,116,104,101,114,0,
                       2049,14348,1,15,1,3642,2049,64,10,14369,14397,166,99,121,99,108,101,0,2049,9843,
                       2049,2145,4,8,2049,2536,25,3,2049,14379,1,14397,7,10,14318,14428,166,112,97,114,
                       115,101,45,117,110,116,105,108,0,1793,14440,2049,3933,2049,3734,2049,14397,771,2049,3608,
                       10,1,14430,2049,3758,10,14413,14454,166,115,58,103,101,116,0,1793,14476,1793,14462,1,
                       13,11,10,1,14458,1793,14470,1,10,11,10,1,14466,2049,2177,22,10,1,14456,2049,
                       14428,10,14445,14490,166,99,108,101,97,114,0,2049,3952,92,94,91,50,74,92,94,
                       91,48,59,48,72,0,1,14492,2049,7627,2049,9637,10,14481,14522,154,78,111,69,99,
                       104,111,0,0,14512,14530,154,69,79,84,0,0,14523,14543,154,73,103,110,111,114,
                       105,110,103,0,0,14531,14557,166,105,103,110,111,114,105,110,103,63,0,3841,14543,
                       10,14544,14571,166,118,101,114,115,105,111,110,0,3841,4,1,100,20,10,14560,14586,
                       166,100,111,110,101,63,0,2,4097,14530,1793,14595,1,13,11,10,1,14591,1793,14603,
                       1,10,11,10,1,14599,1793,14611,1,32,11,10,1,14607,2049,2214,22,22,10,14577,
                       14626,166,101,111,108,63,0,3841,14530,1793,14634,1,13,11,10,1,14630,1793,14642,1,
                       10,11,10,1,14638,2049,2177,22,10,14618,14658,166,118,97,108,105,100,63,0,2,
                       2049,102,2049,2686,10,14648,14677,166,99,104,101,99,107,45,101,111,102,0,2,1793,
                       14684,1,-1,11,10,1,14680,1793,14692,1,4,11,10,1,14688,2049,2177,22,1793,14702,
                       2049,9906,10,1,14699,9,10,14664,14712,166,98,115,0,2049,3714,1,2,2049,2563,1793,
                       14724,2049,3666,3,10,1,14720,9,2049,3666,3,10,14706,14743,166,99,104,101,99,107,
                       45,98,115,0,2,1793,14750,1,8,11,10,1,14746,1793,14758,1,127,11,10,1,
                       14754,2049,2177,22,1793,14768,2049,14712,10,1,14765,9,10,14731,14781,166,99,104,101,99,
                       107,0,2049,14677,2049,14743,10,14772,14799,166,99,104,97,114,97,99,116,101,114,0,
                       2049,9843,2,2049,3642,10,14786,14815,166,98,117,102,102,101,114,0,1793,14825,2049,14314,
                       2049,3734,8,2049,3608,10,1,14817,2049,3758,10,14805,14844,166,114,101,97,100,45,116,
                       111,107,101,110,0,1793,14860,1793,14855,2049,14799,2049,14781,2049,14586,10,1,14848,2049,2305,
                       10,1,14846,2049,14815,2049,4029,10,14830,14876,166,105,110,112,117,116,0,2049,14844,2049,
                       14658,10,14867,14892,166,112,114,111,99,101,115,115,0,2049,14557,1793,14910,771,2049,14626,
                       1793,14906,1,14543,2049,3459,10,1,14901,9,10,1,14896,2049,2730,1,400,1,15,2049,
                       64,10,14512,14927,178,47,47,0,2049,13895,1,14543,2049,3446,10,14921,14944,166,98,97,
                       110,110,101,114,0,2049,14571,2049,3952,82,69,84,82,79,32,49,50,32,40,37,
                       110,46,37,110,41,92,110,0,1,14948,2049,7627,2049,9637,2049,9705,2049,1543,2049,9705,
                       18,2049,1543,2049,3952,37,110,32,77,97,120,44,32,37,110,32,85,115,101,100,
                       44,32,37,110,32,70,114,101,101,92,110,0,1,14984,2049,7627,2049,9637,10,14934,
                       15028,166,108,105,115,116,101,110,0,3841,14522,1793,15035,2049,14944,10,1,15032,2049,72,
                       2049,14876,2049,14892,1,15039,7,10,15018,15058,166,100,58,119,111,114,100,115,0,1793,
                       15067,2049,184,2049,9637,2049,9611,10,1,15060,2049,7856,10,15047,15088,166,100,58,119,111,
                       114,100,115,45,119,105,116,104,0,2049,1929,2049,4952,1793,15119,2049,184,2,2049,1929,
                       2049,4469,1793,15108,2049,9637,2049,9611,10,1,15103,1793,15114,3,10,1,15112,2049,64,10,
                       1,15094,2049,7856,10,15072,15143,166,100,105,115,112,108,97,121,45,105,102,45,108,
                       101,102,116,0,2,2049,1929,2049,4902,1793,15155,2049,9637,2049,9611,10,1,15150,1793,15161,
                       3,10,1,15159,2049,64,10,15072,15192,166,100,58,119,111,114,100,115,45,98,101,
                       103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1929,2049,4952,1793,15203,2049,
                       184,2049,15143,10,1,15198,2049,7856,10,15166,15219,166,115,58,115,112,108,105,116,0,
                       2049,6417,10,15208,15243,166,115,58,115,112,108,105,116,45,111,110,45,115,116,114,
                       105,110,103,0,2049,6449,10,15222,15266,166,115,58,99,111,110,116,97,105,110,115,
                       45,99,104,97,114,63,0,2049,4277,10,15246,15291,166,115,58,99,111,110,116,97,
                       105,110,115,45,115,116,114,105,110,103,63,0,2049,4469,10,15269,15316,166,97,58,
                       99,111,110,116,97,105,110,115,45,115,116,114,105,110,103,63,0,2049,4469,10,
                       15294,15333,166,97,58,105,110,100,101,120,45,111,102,0,2049,8567,10,15319,15357,166,
                       97,58,105,110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,2049,8603,
                       10,15336,15374,166,115,58,105,110,100,101,120,45,111,102,0,2049,4211,10,15360,15391,
                       166,115,58,105,110,100,101,120,45,111,102,0,2049,4680,10,0 };