From 8f28295b80b78ea32bd0d0c93f909c06c8167e33 Mon Sep 17 00:00:00 2001 From: crc Date: Thu, 13 Feb 2020 13:33:57 +0000 Subject: [PATCH] retro.forth: rewrite `s:index-of-string` and `s:contains-string?` to eliminate use of variables FossilOrigin-Name: de906e8e013b525255563160130a42b104f50e7b3295d0dd9f3675217caf66ac --- image/retro.forth | 60 ++- ngaImage | Bin 36772 -> 36772 bytes vm/nga-c-native-x86/image.c | 763 ++++++++++++++++++------------------ vm/nga-c/retro-image.c | 74 ++-- 4 files changed, 436 insertions(+), 461 deletions(-) diff --git a/image/retro.forth b/image/retro.forth index 6f1ce76..cf9065a 100644 --- a/image/retro.forth +++ b/image/retro.forth @@ -859,41 +859,36 @@ given character is in a string. :s:contains-char? (sc-f) s:index-of #-1 -eq? ; ~~~ +Hash (using DJB2) + +I use the djb2 hash algorithm for computing hashes from +strings. There are better hashes out there, but this is +pretty simple and works well for my needs. This was based +on an implementation at http://www.cse.yorku.ca/~oz/hash.html + +~~~ +:s:hash (s-n) #5381 swap [ \swlimuad `33 ] s:for-each ; +~~~ + `s:contains-string?` returns a flag indicating whether or not a given substring is in a string. ~~~ {{ - 'Src var - 'Tar var - 'Pad var - 'I var - 'F var - 'At var - - :terminate (-) - #0 @Pad @Tar s:length + store ; - - :extract (-) - @Src @I + @Pad @Tar s:length copy ; - - :compare (-) - @Pad @Tar s:eq? @F or !F @F [ @I !At ] -if ; - - :next (-) - &I v:inc ; + :extract dup-pair here swap copy here over + #0 swap store ; + :mask rot rot [ [ swap &or dip ] dip ] dip ; + :location rot rot [ [ swap [ over n:zero? and ] dip swap [ nip dup ] if ] dip ] dip ; + :setup #0 rot rot &s:length &s:hash bi s:empty buffer:set [ over s:length ] dip swap ; ---reveal--- :s:contains-string? (ss-f) - !Tar !Src s:empty !Pad #0 !I #0 !F - @Src s:length - [ extract terminate compare next ] times - @F ; + [ setup + [ &extract dip [ &n:inc dip ] dip here s:hash over eq? mask ] times + ] buffer:preserve drop-pair drop ; - :s:index-of-string (ss-a) - !Tar !Src s:empty !Pad #0 !I #0 !F #-1 !At - @Src s:length - [ extract terminate compare next ] times - @F [ @At ] [ #-1 ] choose ; + :s:index-of-string (ss-n) + over [ [ setup + [ &extract dip [ &n:inc dip ] dip here s:hash over eq? location ] times + ] buffer:preserve drop-pair drop ] dip - n:dec ; }} ~~~ @@ -952,17 +947,6 @@ a string starts or ends with a specific substring. dup s:length &swap dip s:right s:eq? ; ~~~ -Hash (using DJB2) - -I use the djb2 hash algorithm for computing hashes from -strings. There are better hashes out there, but this is -pretty simple and works well for my needs. This was based -on an implementation at http://www.cse.yorku.ca/~oz/hash.html - -~~~ -:s:hash (s-n) #5381 swap [ \swlimuad `33 ] s:for-each ; -~~~ - Copy a string, including the terminator. ~~~ diff --git a/ngaImage b/ngaImage index af2b67b4705b606903144d4c14803da1add3d42f..9ad73700dae5786577952bc7f2822c625eda31d2 100644 GIT binary patch delta 1317 zcmah|OK1~O6rDFo)5f+oV;rzn4WYGIQ5qUBAOveCiHb;t&_&}Xlxje%pZdjx1~-DP zN*}==wOFcxn+VxxHm*c0ZnP*aL>D3|F5Gk>LagUZ-o!B!9C~`+J@4H6&iiC`TA!WP zAFYXr_R`wejz)c^O%9~`dLFiEnpXsku%>Ct00BGzCz>>EB_g>Sh-EpxZ9^Vp1mNUQ zBMMo7@urr)T!ZfO8mbY3tqCBqQ4x(^0}~h@14e+;z)^r-gV*OJ1bTmhj`0Jcy$c**Ux{ryrz8x(TTzd6!Pc}1Khz` z;3UA0cgU}{3ycQ=@-wR8UKppz@bYTRv?9W2485I=vBohH1usl>%-j_x_%PA|`8(bx zU-pOdC_hITRJ6!;WI&X?ra8%E7$ zioO93Iiwn$!rnYMeEivSaqyG!>h{6By;HP*N+sfBRpHn#F<-*|eZ?p5sy5j2X(@?>+$O?5HdvGw^`bEsm%Vz_<;)k5FI>Z-gSW)p_CasY9#?_PB z=g2Gag4L-94SB~}tv4I8jNmh5%35bG*2x!;cS(Puw`U`MLgQ6mLWp;~7sgNmpkR%U&6gjy*dtOY+sceVHm7Zk3cZ>Pb Jy(^1Ne*kswj2Zv{ delta 1235 zcmbtTJ!n%=7=5=^8-LOy!~{x|G)RgA-JmMPXi=>(I#=PgWJ&jv;(gJ zd(pw;M%F<*1NcTKOaZ^@;2OZ29{H9SkFuwNaW>^L3==XR%nREEdkefJuagHS;c!8U zIS57cdlg`z*q%;-kI=L|awHVIQ}ABtl`*R;ag88-^rla(bq^SZADG>lJU8Qb3N}a% z9l1TREpWqLNiKwj5OG$rk9K$1n~0Bj<@aPlVpEY-KC;;w-9gd+tKe5->hH#uyVe3<$OZymP_gQ zAwPb@*3VdfbbBHXKyEwEZ-S}A@-iI`3~4kCls(AAlFyXNq{|3~aLtK!<+4I4PE@l~V(I=OaiD(&azw-McI*E_^K+E^y z@mc70y_l`~RZFIGr&OzcH&@+;AamifG9{Y7u2$rJKBUb0^ZfS_)u=zd)pq>>?!ctu diff --git a/vm/nga-c-native-x86/image.c b/vm/nga-c-native-x86/image.c index 9c24370..581e30a 100644 --- a/vm/nga-c-native-x86/image.c +++ b/vm/nga-c-native-x86/image.c @@ -2,8 +2,8 @@ #ifndef CELL #define CELL int32_t #endif -CELL ngaImageCells = 38808; -CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10,6,10, +CELL ngaImageCells = 38639; +CELL ngaImage[] = { 1793,13318,38597,38638,202004,0,10,1,10,2,10,3,10,4,10,5,10,6,10, 7,10,8,10,9,10,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,10,68223234,1,2575, 85000450,1,656912,353,335,268505089,63,62,135205121,63,10,101384453,0,9,10,2049,56,25,459011,74, @@ -19,7 +19,7 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 2049,218,1793,131,459023,131,17760513,144,3,164,8,251727617,3,2,2049,158,16,168820993,-1,124, 2049,197,2049,158,459023,131,285282049,3,2,134287105,124,276,524545,1793,105,16846593,3,0,105,8, 659201,3,524545,25,110,17043201,3,7,2049,110,2049,105,268505092,124,1642241,124,656131,659201,3,524545, - 7,110,2049,105,459009,19,110,459009,54,110,459009,15,110,459009,17,110,1793,13543,10,524546, + 7,110,2049,105,459009,19,110,459009,54,110,459009,15,110,459009,17,110,1793,13374,10,524546, 158,134284303,160,1807,1025,0,0,1642241,227,285282049,343,1,459012,338,117509889,177,338,134287105,343,197, 16845825,0,353,335,1793,64,1793,367,17826050,343,247,8,117506305,344,356,64,2116,11340,11700,11400, 13685,13104,12432,12402,9603,9801,11514,11413,11110,12528,11948,10302,13340,9700,13455,12753,10500,10670,12654,13320, @@ -160,7 +160,7 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 2049,2106,4100,10,3055,3095,144,118,58,117,112,100,97,116,101,0,4,1793,3102,15, 4,8,10,1,3098,2049,2116,16,10,3083,3116,144,99,111,112,121,0,1793,3125,285278725, 1,33951492,268767489,1,6,10,1,3118,2049,2281,771,10,3108,3144,144,83,99,111,112,101, - 76,105,115,116,0,37370,37485,10,3131,3153,144,123,123,0,2049,1570,2,1,3144,2049, + 76,105,115,116,0,37201,37316,10,3131,3153,144,123,123,0,2049,1570,2,1,3144,2049, 59,16,10,3147,3178,144,45,45,45,114,101,118,101,97,108,45,45,45,0,2049, 1570,1,3144,2049,2880,16,10,3162,3192,144,125,125,0,1,3144,2049,56,4,15,11, 1793,3206,3841,3144,4097,2,10,1,3201,1793,3232,3841,3144,1793,3227,1,2,983567,1,3144, @@ -179,7 +179,7 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 4097,3255,10,3423,3477,131,84,101,109,112,83,116,114,105,110,103,115,0,32,3462, 3495,131,84,101,109,112,83,116,114,105,110,103,77,97,120,0,512,3478,3507,144, 83,84,82,73,78,71,83,0,2049,1543,3841,3477,3841,3495,19,18,10,3496,3527,131, - 67,117,114,114,101,110,116,0,16,10,3516,3542,144,115,58,112,111,105,110,116, + 67,117,114,114,101,110,116,0,10,10,3516,3542,144,115,58,112,111,105,110,116, 101,114,0,3841,3527,3841,3495,19,2049,3507,17,10,3529,3561,144,115,58,110,101,120, 116,0,1,3527,2049,2978,3841,3527,3841,3477,11,1793,3577,1,0,4097,3527,10,1,3572, 9,10,3496,3591,144,115,58,116,101,109,112,0,2,2049,79,2049,2880,2049,3542,4, @@ -246,25 +246,25 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 1,4766,1,95,67502597,16,10,4747,4822,131,115,58,87,72,73,84,69,83,80,65, 67,69,0,32,9,10,13,0,4806,4832,156,39,0,1,3617,2049,144,10,4827,4842, 156,36,0,1,0,2049,131,10,4837,0,131,65,83,67,73,73,58,78,85,76, - 0,4847,8,131,65,83,67,73,73,58,66,83,0,4860,9,131,65,83,67,73, - 73,58,72,84,0,4872,10,131,65,83,67,73,73,58,76,70,0,4884,11,131, - 65,83,67,73,73,58,86,84,0,4896,12,131,65,83,67,73,73,58,70,70, - 0,4908,13,131,65,83,67,73,73,58,67,82,0,4920,32,131,65,83,67,73, - 73,58,83,80,65,67,69,0,4932,127,131,65,83,67,73,73,58,68,69,76, - 0,4947,1,131,65,83,67,73,73,58,83,79,72,0,4960,2,131,65,83,67, - 73,73,58,83,84,88,0,4973,3,131,65,83,67,73,73,58,69,84,88,0, - 4986,4,131,65,83,67,73,73,58,69,79,84,0,4999,5,131,65,83,67,73, - 73,58,69,78,81,0,5012,6,131,65,83,67,73,73,58,65,67,75,0,5025, - 7,131,65,83,67,73,73,58,66,69,76,0,5038,14,131,65,83,67,73,73, - 58,83,79,0,5051,15,131,65,83,67,73,73,58,83,73,0,5063,16,131,65, - 83,67,73,73,58,68,76,69,0,5075,17,131,65,83,67,73,73,58,68,67, - 49,0,5088,18,131,65,83,67,73,73,58,68,67,50,0,5101,19,131,65,83, - 67,73,73,58,68,67,51,0,5114,20,131,65,83,67,73,73,58,68,67,52, - 0,5127,21,131,65,83,67,73,73,58,78,65,75,0,5140,22,131,65,83,67, - 73,73,58,83,89,78,0,5153,23,131,65,83,67,73,73,58,69,84,66,0, - 5166,24,131,65,83,67,73,73,58,67,65,78,0,5179,25,131,65,83,67,73, - 73,58,69,77,0,5192,26,131,65,83,67,73,73,58,83,85,66,0,5204,27, - 131,65,83,67,73,73,58,69,83,67,0,5217,28,131,65,83,67,73,73,58, + 0,4847,27,131,65,83,67,73,73,58,69,83,67,0,4860,8,131,65,83,67, + 73,73,58,66,83,0,4873,9,131,65,83,67,73,73,58,72,84,0,4885,10, + 131,65,83,67,73,73,58,76,70,0,4897,11,131,65,83,67,73,73,58,86, + 84,0,4909,12,131,65,83,67,73,73,58,70,70,0,4921,13,131,65,83,67, + 73,73,58,67,82,0,4933,32,131,65,83,67,73,73,58,83,80,65,67,69, + 0,4945,127,131,65,83,67,73,73,58,68,69,76,0,4960,1,131,65,83,67, + 73,73,58,83,79,72,0,4973,2,131,65,83,67,73,73,58,83,84,88,0, + 4986,3,131,65,83,67,73,73,58,69,84,88,0,4999,4,131,65,83,67,73, + 73,58,69,79,84,0,5012,5,131,65,83,67,73,73,58,69,78,81,0,5025, + 6,131,65,83,67,73,73,58,65,67,75,0,5038,7,131,65,83,67,73,73, + 58,66,69,76,0,5051,14,131,65,83,67,73,73,58,83,79,0,5064,15,131, + 65,83,67,73,73,58,83,73,0,5076,16,131,65,83,67,73,73,58,68,76, + 69,0,5088,17,131,65,83,67,73,73,58,68,67,49,0,5101,18,131,65,83, + 67,73,73,58,68,67,50,0,5114,19,131,65,83,67,73,73,58,68,67,51, + 0,5127,20,131,65,83,67,73,73,58,68,67,52,0,5140,21,131,65,83,67, + 73,73,58,78,65,75,0,5153,22,131,65,83,67,73,73,58,83,89,78,0, + 5166,23,131,65,83,67,73,73,58,69,84,66,0,5179,24,131,65,83,67,73, + 73,58,67,65,78,0,5192,25,131,65,83,67,73,73,58,69,77,0,5205,26, + 131,65,83,67,73,73,58,83,85,66,0,5217,28,131,65,83,67,73,73,58, 70,83,0,5230,29,131,65,83,67,73,73,58,71,83,0,5242,30,131,65,83, 67,73,73,58,82,83,0,5254,31,131,65,83,67,73,73,58,85,83,0,5266, 5294,144,99,58,108,111,119,101,114,99,97,115,101,63,0,1,97,1,122,2049, @@ -334,197 +334,189 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6438,6582,131, 84,80,0,0,6576,6591,144,115,97,118,101,0,2049,3662,3841,6582,1,6448,17,2049, 2880,16,1,6582,2049,2978,10,6583,6614,144,110,101,120,116,0,1793,6620,3841,6437,17, - 10,1,6616,2049,2116,10,6606,6633,144,100,111,110,101,0,2049,79,2049,2533,10,6243, - 6662,144,115,58,116,111,107,101,110,105,122,101,45,111,110,45,115,116,114,105, - 110,103,0,1,0,4097,6582,1793,6676,2,1,6302,2049,4528,2049,3842,10,1,6668,1793, - 6685,2049,79,4097,6437,10,1,6680,2049,2128,1793,6702,1,6302,2049,6116,2049,6591,2049,6614, - 2049,6633,10,1,6691,2049,2256,1,6448,3841,6582,2049,2893,4097,6448,10,6638,6720,131,81, - 0,0,6715,6733,144,102,111,114,45,101,97,99,104,0,1,6720,1793,6763,4097,6720, - 2049,56,1793,6757,2049,56,4,1793,6752,3841,6720,8,10,1,6748,2049,2106,10,1,6743, - 2049,2281,3,10,1,6737,2049,3069,10,6721,6782,144,115,117,98,115,116,105,116,117, - 116,101,0,2049,3507,1,129,18,10,6768,6799,144,101,120,116,114,97,99,116,0, - 2049,6782,2049,4528,10,6788,6816,144,116,111,107,101,110,105,122,101,0,2049,6662,2049, - 3617,10,6804,6832,144,99,111,109,98,105,110,101,0,2049,6782,2049,3842,2049,3842,10, - 6821,6848,144,109,101,114,103,101,0,4,1,6832,2049,6733,772,10,6839,6867,144,102, - 105,110,100,45,101,110,100,0,2,2049,79,2049,6782,2049,79,18,67502597,17,10,6855, - 6887,144,99,108,101,97,110,0,2049,6867,1,0,4,16,10,6638,6911,144,115,58, - 114,101,112,108,97,99,101,45,97,108,108,0,1,3,1793,6926,2049,6799,2049,6816, - 2049,6848,2049,6887,2049,3591,10,1,6915,2049,3069,10,6894,6939,144,99,104,97,114,0, - 1,32,1793,6948,1,95,2049,3326,10,1,6943,2049,2379,1,114,1793,6961,1,13,2049, - 3326,10,1,6956,2049,2379,1,110,1793,6974,1,10,2049,3326,10,1,6969,2049,2379,1, - 116,1793,6987,1,9,2049,3326,10,1,6982,2049,2379,1,48,1793,7000,1,0,2049,3326, - 10,1,6995,2049,2379,2049,3326,10,6931,7015,144,116,121,112,101,0,1,99,1793,7023, - 4,2049,3326,10,1,7019,2049,2379,1,115,1793,7037,4,1,3326,2049,3860,10,1,7031, - 2049,2379,1,110,1793,7053,4,2049,5920,1,3326,2049,3860,10,1,7045,2049,2379,3,10, - 7007,7069,144,104,97,110,100,108,101,0,1,92,1793,7078,2049,56,2049,6939,10,1, - 7073,2049,2379,1,37,1793,7091,2049,56,2049,7015,10,1,7086,2049,2379,2049,3326,10,6894, - 7110,144,115,58,102,111,114,109,97,116,0,1793,7139,2049,3617,1793,7134,2049,3418,1793, - 7129,2049,56,25,2049,7069,1,7120,7,10,1,7120,8,3,10,1,7116,2049,2116,10, - 1,7112,2049,3442,10,7098,7155,144,115,58,99,111,110,115,116,0,1,3662,2049,2106, - 2049,2022,10,7144,7172,131,86,97,108,117,101,115,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,7162,7208,144,102,114,111,109,0,2049,79,2,1793,7227,1793,7220,1,7172,17,16, - 10,1,7215,2049,2116,2049,2893,10,1,7213,2049,2281,3,10,7200,7239,144,116,111,0, - 2,2049,79,1793,7257,2049,56,1,97,18,2049,2880,1,7172,17,15,4,10,1,7244, - 2049,2281,3,10,7144,7274,144,114,101,111,114,100,101,114,0,1,7208,2049,2106,2049, - 7239,10,7263,7290,144,99,117,114,114,121,0,2049,1877,1793,7300,4,2049,1731,2049,1754, - 10,1,7294,2049,2106,10,7281,7313,144,100,111,101,115,0,2049,1588,4,2049,7290,2049, - 1570,2049,158,16,1,144,2049,1649,10,7305,7342,144,100,58,102,111,114,45,101,97, - 99,104,0,1,2,1793,7370,15,25,2049,2096,1793,7362,1793,7357,4,8,10,1,7354, - 2049,2106,10,1,7352,2049,2106,1,7346,7,10,1,7346,8,3,10,7328,7390,144,100, - 58,108,111,111,107,117,112,45,120,116,0,1,0,4,1793,7416,2049,2096,2049,158, - 15,11,1793,7409,4,1,2057,2049,2106,10,1,7403,1,11,2049,64,10,1,7395,2049, - 7342,3,10,7375,7434,144,97,58,108,101,110,103,116,104,0,15,10,7422,7457,144, - 97,58,99,111,117,110,116,101,100,45,114,101,115,117,108,116,115,0,8,2049, - 1877,1793,7470,2,2049,105,1,105,2049,2281,10,1,7462,2049,2106,10,7436,7492,144,97, - 58,102,114,111,109,45,115,116,114,105,110,103,0,2049,1877,1793,7506,2,2049,79, - 2049,105,1,105,2049,3860,10,1,7496,2049,2106,10,7475,7516,131,81,0,0,7475,7531, - 144,97,58,102,111,114,45,101,97,99,104,0,1,7516,1793,7561,4097,7516,2049,56, - 1793,7555,2049,56,4,1793,7550,3841,7516,8,10,1,7546,2049,2106,10,1,7541,2049,2281, - 3,10,1,7535,2049,3069,10,7517,7575,144,97,58,100,117,112,0,2049,1877,1793,7588, - 2,15,2049,105,1,105,2049,7531,10,1,7579,2049,2106,10,7566,7603,144,97,58,99, - 111,112,121,0,1,3,1793,7619,4097,3,2,2049,7434,2049,105,1,105,2049,7531,10, - 1,7607,2049,3069,10,7593,7639,144,97,58,116,111,45,115,116,114,105,110,103,0, - 1,3,1793,7652,2049,7575,1,0,2049,105,2049,2880,10,1,7643,2049,3069,2049,3591,10, - 7624,7667,144,99,111,112,121,0,2,15,1793,7676,1,105,2049,7531,10,1,7671,2049, - 2106,10,7624,7694,144,97,58,112,114,101,112,101,110,100,0,2049,1877,1,0,2049, - 105,1793,7709,2049,7667,4,2049,7667,17,10,1,7702,2049,2106,1,36,2049,2116,10,7681, - 7730,144,97,58,97,112,112,101,110,100,0,4,2049,7694,10,7718,7744,144,97,58, - 99,104,111,112,0,2049,7575,1,-1,2049,3050,2,2049,2993,10,7734,7766,144,97,58, - 102,105,108,116,101,114,0,1793,7781,67502597,1,21,2049,2106,4,1,105,1,11,2049, - 64,10,1,7768,2049,7290,2049,1877,1793,7796,67502597,15,2049,105,2049,7531,10,1,7789,2049, - 2106,2049,1877,67502597,18,2049,2893,67502597,16,10,7754,7824,144,97,58,99,111,110,116,97, - 105,110,115,63,0,1,0,4,1793,7836,4,5,67502597,11,6,22,10,1,7829,2049, - 7531,772,10,7809,7864,144,97,58,99,111,110,116,97,105,110,115,45,115,116,114, - 105,110,103,63,0,1,0,4,1793,7877,4,5,67502597,2049,93,6,22,10,1,7869, - 2049,7531,772,10,7842,7895,131,76,111,99,97,116,105,111,110,0,0,7883,7907,144, - 112,114,101,112,97,114,101,0,4,1,-1,4097,7895,10,7896,7921,144,110,101,120, - 116,0,3841,7895,2049,2568,1793,7932,1,7895,2049,2993,10,1,7927,9,10,7913,7946,144, - 109,97,116,99,104,63,0,67502597,11,2,1793,7957,3,3841,7895,2049,2568,10,1,7951, - 9,10,7936,7975,144,109,97,116,99,104,45,115,116,114,63,0,67502597,2049,93,2, - 1793,7987,3,3841,7895,2049,2568,10,1,7981,9,10,7961,8001,144,117,112,100,97,116, - 101,0,3841,7895,2049,2845,2049,2893,4097,7895,10,7842,8024,144,97,58,105,110,100,101, - 120,45,111,102,0,2049,7907,2049,2096,2049,7824,1793,8036,771,1,-1,10,1,8032,2049, - 2676,1793,8050,2049,7946,1,8001,9,2049,7921,10,1,8042,2049,7531,3,3841,7895,10,8010, - 8079,144,97,58,105,110,100,101,120,45,111,102,45,115,116,114,105,110,103,0, - 2049,7907,2049,2096,2049,7864,1793,8091,771,1,-1,10,1,8087,2049,2676,1793,8105,2049,7975, - 1,8001,9,2049,7921,10,1,8097,2049,7531,3,3841,7895,10,8058,8122,144,97,58,109, - 97,112,0,1793,8128,8,2049,105,10,1,8124,2049,7290,2049,1877,1793,8143,67502597,15,2049, - 105,2049,7531,10,1,8136,2049,2106,10,8113,8161,144,97,58,114,101,118,101,114,115, - 101,0,2049,1877,1793,8195,2049,56,1793,8173,17,2049,2893,10,1,8169,2049,2116,2,2049, - 105,1793,8189,2,15,2049,105,2049,2893,10,1,8182,2049,2281,3,10,1,8165,2049,2106, - 10,8148,8208,144,97,58,116,104,0,17,2049,2880,10,8200,8223,144,97,58,102,101, - 116,99,104,0,2049,8208,15,10,8212,8238,144,97,58,115,116,111,114,101,0,2049, - 8208,16,10,8227,8254,144,97,58,114,101,100,117,99,101,0,1,13,2049,2106,2049, - 7531,10,8242,8271,144,97,58,109,97,107,101,0,2049,7457,2049,8161,10,8261,8281,156, - 123,0,1,285,2049,156,1,1556,2049,144,1,285,2049,156,10,8276,8299,156,125,0, - 1,301,2049,156,1,2106,2049,144,1,1556,2049,144,1,13,2049,150,1,40,2049,150, - 1,2893,2049,144,1,301,2049,156,1,8271,2049,144,10,8294,8343,144,98,111,117,110, - 100,115,63,0,67502597,2049,7434,67502597,13,10,8332,8357,144,99,111,112,121,0,2049,56, - 2049,105,10,8349,8372,144,116,111,45,101,110,100,0,2,2049,7434,17,2049,2880,10, - 8294,8389,144,97,58,108,101,102,116,0,2049,8343,1793,8397,771,1,-1,10,1,8393, - 2049,2659,2049,1877,67502597,2049,105,1793,8418,1,2880,2049,2106,1,8357,2049,2281,3,10,1, - 8408,2049,2106,10,8379,8434,144,97,58,114,105,103,104,116,0,2049,8343,1793,8442,771, - 1,-1,10,1,8438,2049,2659,2049,1877,67502597,2049,105,1793,8465,4,2049,8372,67502597,18,4, - 1,8357,2049,2281,3,10,1,8453,2049,2106,10,8423,8482,144,97,58,109,105,100,100, - 108,101,0,1,2048,2049,2106,4,67502597,2049,8343,1793,8497,771,3,1,-1,10,1,8492, - 2049,2659,771,2049,2096,4,18,2049,2880,2049,1877,67502597,2049,105,1793,8532,772,1793,8522,17, - 2049,2880,10,1,8518,2049,2106,1,8357,2049,2281,3,10,1,8515,2049,2106,10,8470,8545, - 131,70,108,97,103,0,0,8537,8557,144,99,111,109,112,97,114,101,0,67440386,184946434, - 10,8546,8570,144,108,101,110,103,116,104,0,659202,10,8560,8580,144,110,101,120,116, - 0,17043713,1,1,2577,10,8572,8598,144,110,111,116,45,101,113,117,97,108,0,50529030, - 2561,0,10,8585,8610,144,108,111,111,112,0,524549,8580,2049,8557,18157313,8545,8545,16,420610310, - 1,1,8610,7,10,8470,8633,144,97,58,101,113,63,0,1048833,-1,8545,2049,8557,151066369, - -1,8598,2049,8570,2049,8610,251724547,8545,10,8624,8658,144,97,58,45,101,113,63,0,2049, - 8633,2049,2465,10,8648,8681,144,97,58,98,101,103,105,110,115,45,119,105,116,104, - 63,0,1,3,1793,8697,2,2049,7434,1,13,2049,2106,2049,8389,2049,8633,10,1,8685, - 2049,3069,10,8663,8718,144,97,58,101,110,100,115,45,119,105,116,104,63,0,1, - 3,1793,8734,2,2049,7434,1,13,2049,2106,2049,8434,2049,8633,10,1,8722,2049,3069,10, - 8702,8755,144,99,117,114,114,101,110,116,45,108,105,110,101,0,2049,3507,1,1025, - 18,10,8739,8777,144,99,111,117,110,116,45,116,111,107,101,110,115,0,1793,8783, - 1,32,11,10,1,8779,2049,4284,2049,79,10,8761,8808,144,112,114,111,99,101,115, - 115,45,116,111,107,101,110,115,0,1793,8836,1,32,2049,6081,4,1793,8829,2,2049, - 79,2049,2549,1,365,1,11,2049,64,10,1,8817,2049,2106,2049,2880,10,1,8810,2049, - 2281,2049,365,10,8702,8857,144,115,58,101,118,97,108,117,97,116,101,0,2049,8755, - 2049,4528,2049,8755,2,2049,8777,2049,8808,10,8843,8875,131,76,80,0,0,8869,8885,131, - 73,110,100,101,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8876,8925, - 144,110,101,120,116,0,3841,8875,1,8885,17,2049,2978,10,8917,8941,144,112,114,101, - 112,0,1,8875,2049,2978,1,0,3841,8875,1,8885,17,16,10,8933,8962,144,100,111, - 110,101,0,1,8875,2049,2993,10,8843,8972,144,73,0,3841,8875,1,8885,17,15,10, - 8967,8984,144,74,0,3841,8875,1,8885,17,2049,2893,15,10,8979,8998,144,75,0,3841, - 8875,1,8885,17,1,2,18,15,10,8993,9029,144,116,105,109,101,115,60,119,105, - 116,104,45,105,110,100,101,120,62,0,2049,8941,4,1793,9045,25,33886721,1,2053,1542, - 2049,8925,1,9034,7,10,1,9034,8,3,2049,8962,10,9008,9060,156,104,111,111,107, - 0,2049,3636,108,105,106,117,46,46,46,46,0,1,9062,2049,412,2049,1877,2049,2880, - 2049,105,10,9052,9094,144,115,101,116,45,104,111,111,107,0,2049,2880,16,10,9082, - 9108,144,117,110,104,111,111,107,0,2049,2880,2,2049,2880,4,16,10,9098,9132,144, - 105,111,58,101,110,117,109,101,114,97,116,101,0,27,10,9116,9146,144,105,111, - 58,113,117,101,114,121,0,28,10,9134,9161,144,105,111,58,105,110,118,111,107, - 101,0,29,10,9148,9171,131,83,108,111,116,0,0,9148,9187,144,105,111,58,115, - 99,97,110,45,102,111,114,0,1,-1,4097,9171,2049,9132,1793,9213,2049,8972,2049,9146, - 772,67502597,11,1793,9209,2049,8972,4097,9171,10,1,9204,9,10,1,9195,2049,9029,3,3841, - 9171,10,9172,9230,144,99,58,112,117,116,0,1793,9232,1,0,2049,9161,10,9221,9243, - 144,110,108,0,1,10,2049,9230,10,9237,9254,144,115,112,0,1,32,2049,9230,10, - 9248,9266,144,116,97,98,0,1,9,2049,9230,10,9259,9280,144,115,58,112,117,116, - 0,1,9230,2049,3860,10,9271,9294,144,110,58,112,117,116,0,2049,5920,2049,9280,10, - 9285,9308,144,114,101,115,101,116,0,2049,1556,25,771,1,9308,7,10,9299,9330,144, - 100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,3,5,2049,9330,6,2, - 2049,9294,2049,9254,10,9316,9352,144,70,82,69,69,0,2049,3507,1,1025,18,2049,1877, - 18,10,9344,9371,131,105,111,58,88,56,54,0,0,9361,9384,144,105,100,101,110, - 116,105,102,121,0,3841,9371,2049,2533,1793,9451,1,2000,2049,9187,2,2049,2568,1793,9439, - 3,2049,3636,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,50,48, - 48,48,32,78,79,84,32,70,79,85,78,68,0,1,9402,2049,9280,2049,9243,10, - 1,9399,1793,9446,4097,9371,10,1,9443,2049,64,10,1,9390,9,10,9344,9465,144,105, - 111,58,120,56,54,0,2049,9384,3841,9371,2049,9161,10,9455,9487,144,112,105,111,58, - 105,110,45,98,121,116,101,0,1,0,2049,9465,10,9472,9508,144,112,105,111,58, - 111,117,116,45,98,121,116,101,0,1,1,2049,9465,10,9492,9528,144,112,105,111, - 58,105,110,45,119,111,114,100,0,1,6,2049,9465,10,9513,9549,144,112,105,111, - 58,111,117,116,45,119,111,114,100,0,1,7,2049,9465,10,9533,9567,144,114,97, - 109,58,115,116,111,114,101,0,1,2,2049,9465,10,9554,9585,144,114,97,109,58, - 102,101,116,99,104,0,1,3,2049,9465,10,9572,9608,144,114,97,109,58,115,116, - 111,114,101,45,98,121,116,101,0,1,4,2049,9465,10,9590,9631,144,114,97,109, - 58,102,101,116,99,104,45,98,121,116,101,0,1,5,2049,9465,10,9613,9643,144, - 104,101,120,0,2,15,1,45,11,1793,9655,2049,2880,1,-1,10,1,9650,1793,9662, - 1,0,10,1,9659,2049,64,4,1,0,4,1793,9701,2049,3636,48,49,50,51,52, - 53,54,55,56,57,65,66,67,68,69,70,0,1,9674,4,2049,3914,17,1,16, - 19,10,1,9672,2049,3860,1,16,197652,4,25,19,10,9613,9724,156,112,114,101,102, - 105,120,58,48,0,2,2049,2893,2049,197,2049,2549,1793,9757,2049,2893,2049,197,1793,9743, - 2049,158,15,10,1,9739,1793,9751,2049,160,15,10,1,9747,2049,2128,8,10,1,9733, - 2049,2659,2049,2880,2049,9643,2049,131,10,9712,112,131,67,77,79,83,58,65,68,68, - 82,69,83,83,0,9768,113,131,67,77,79,83,58,68,65,84,65,0,9784,9810, - 144,114,116,99,58,113,117,101,114,121,0,1,112,2049,9508,1,113,2049,9487,10, - 9797,9833,144,114,116,99,58,115,101,99,111,110,100,0,1,0,2049,9810,10,9819, - 9852,144,114,116,99,58,109,105,110,117,116,101,0,1,2,2049,9810,10,9838,9869, - 144,114,116,99,58,104,111,117,114,0,1,4,2049,9810,10,9857,9885,144,114,116, - 99,58,100,97,121,0,1,7,2049,9810,10,9874,9903,144,114,116,99,58,109,111, - 110,116,104,0,1,8,2049,9810,10,9890,9920,144,114,116,99,58,121,101,97,114, - 0,1,9,2049,9810,10,9908,9933,144,116,105,109,101,0,2049,9869,2049,9294,1,58, - 2049,9230,2049,9852,2049,9294,2049,9243,10,9925,1016,131,115,101,114,105,97,108,58,67, - 79,77,49,0,9948,760,131,115,101,114,105,97,108,58,67,79,77,50,0,9963, - 1000,131,115,101,114,105,97,108,58,67,79,77,51,0,9978,744,131,115,101,114, - 105,97,108,58,67,79,77,52,0,9993,10023,131,115,101,114,105,97,108,58,80, - 111,114,116,0,1016,10008,10044,144,115,101,114,105,97,108,58,114,101,99,101,105, - 118,101,100,63,0,3841,10023,1,5,17,2049,9487,1,1,21,2049,2549,10,10024,10074, - 144,115,101,114,105,97,108,58,101,109,112,116,121,63,0,3841,10023,1,5,17, - 2049,9487,1,32,21,2049,2549,10,10057,10102,144,115,101,114,105,97,108,58,114,101, - 97,100,0,2049,10044,1793,10111,3841,10023,2049,9487,10,1,10106,2049,2659,2049,10102,10,10087, - 10134,144,115,101,114,105,97,108,58,119,114,105,116,101,0,2049,10074,1793,10143,3841, - 10023,2049,9508,10,1,10138,2049,2659,2049,10134,10,10118,10165,144,115,101,114,105,97,108, - 58,115,101,110,100,0,1793,10170,2049,10134,10,1,10167,2049,3860,10,10150,10190,144,115, - 101,114,105,97,108,58,105,110,105,116,0,1,0,3841,10023,1,1,17,2049,9508, - 1,128,3841,10023,1,3,17,2049,9508,1,3,3841,10023,2049,9508,1,0,3841,10023,1, - 1,17,2049,9508,1,3,3841,10023,1,3,17,2049,9508,1,199,3841,10023,1,2,17, - 2049,9508,1,11,3841,10023,1,4,17,2049,9508,10,10175,753664,131,86,71,65,45,66, - 65,83,69,0,10251,80,131,67,79,76,85,77,78,83,0,10263,25,131,82,79, - 87,83,0,10274,980,131,86,71,65,45,67,85,82,83,79,82,0,10282,981,131, - 86,71,65,45,68,65,84,65,0,10296,10319,131,118,103,97,58,82,111,119,0, - 0,10308,10334,131,118,103,97,58,67,111,108,117,109,110,0,0,10320,10356,144,118, - 103,97,58,117,112,100,97,116,101,45,99,117,114,115,111,114,0,3841,10319,1, - 80,19,3841,10334,17,2,1,15,1,980,2049,9508,1,255,21,1,981,2049,9508,1, - 14,1,980,2049,9508,1,8,24,1,255,21,1,981,2049,9508,10,10335,10414,144,118, - 103,97,58,109,111,118,101,45,99,117,114,115,111,114,0,4097,10334,4097,10319,2049, - 10356,10,10395,10436,131,118,103,97,58,68,105,115,112,108,97,121,0,0,0,0, + 10,1,6616,2049,2116,10,6606,6634,144,100,111,110,101,63,0,2049,79,2049,2533,10, + 6243,6663,144,115,58,116,111,107,101,110,105,122,101,45,111,110,45,115,116,114, + 105,110,103,0,1,0,4097,6582,1793,6677,2,1,6302,2049,4528,2049,3842,10,1,6669, + 1793,6686,2049,79,4097,6437,10,1,6681,2049,2128,1793,6703,1,6302,2049,6116,2049,6591,2049, + 6614,2049,6634,10,1,6692,2049,2256,1,6448,3841,6582,2049,2893,4097,6448,10,6639,6728,144, + 102,111,114,45,101,97,99,104,0,4,2049,56,1,13,2049,2106,1793,6744,5,2049, + 56,84018692,525572,1542,10,1,6737,2049,2281,771,10,6716,6764,144,115,117,98,115,116,105, + 116,117,116,101,0,2049,3507,1,129,18,10,6750,6781,144,101,120,116,114,97,99, + 116,0,2049,6764,2049,4528,10,6770,6798,144,116,111,107,101,110,105,122,101,0,2049, + 6663,2049,3617,10,6786,6814,144,99,111,109,98,105,110,101,0,2049,6764,2049,3842,2049, + 3842,10,6803,6830,144,109,101,114,103,101,0,4,1,6814,2049,6728,772,10,6821,6849, + 144,102,105,110,100,45,101,110,100,0,2,2049,79,2049,6764,2049,79,18,67502597,17, + 10,6837,6869,144,99,108,101,97,110,0,2049,6849,1,0,4,16,10,6639,6893,144, + 115,58,114,101,112,108,97,99,101,45,97,108,108,0,1,3,1793,6908,2049,6781, + 2049,6798,2049,6830,2049,6869,2049,3591,10,1,6897,2049,3069,10,6876,6921,144,99,104,97, + 114,0,1,32,1793,6930,1,95,2049,3326,10,1,6925,2049,2379,1,114,1793,6943,1, + 13,2049,3326,10,1,6938,2049,2379,1,110,1793,6956,1,10,2049,3326,10,1,6951,2049, + 2379,1,116,1793,6969,1,9,2049,3326,10,1,6964,2049,2379,1,48,1793,6982,1,0, + 2049,3326,10,1,6977,2049,2379,2049,3326,10,6913,6997,144,116,121,112,101,0,1,99, + 1793,7005,4,2049,3326,10,1,7001,2049,2379,1,115,1793,7019,4,1,3326,2049,3860,10, + 1,7013,2049,2379,1,110,1793,7035,4,2049,5920,1,3326,2049,3860,10,1,7027,2049,2379, + 3,10,6989,7051,144,104,97,110,100,108,101,0,1,92,1793,7060,2049,56,2049,6921, + 10,1,7055,2049,2379,1,37,1793,7073,2049,56,2049,6997,10,1,7068,2049,2379,2049,3326, + 10,6876,7092,144,115,58,102,111,114,109,97,116,0,1793,7121,2049,3617,1793,7116,2049, + 3418,1793,7111,2049,56,25,2049,7051,1,7102,7,10,1,7102,8,3,10,1,7098,2049, + 2116,10,1,7094,2049,3442,10,7080,7137,144,115,58,99,111,110,115,116,0,1,3662, + 2049,2106,2049,2022,10,7126,7154,131,86,97,108,117,101,115,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,7144,7190,144,102,114,111,109,0,2049,79,2,1793,7208,1793,7201,1,7154, + 4113,10,1,7197,2049,2116,2049,2893,10,1,7195,2049,2281,3,10,7182,7220,144,116,111, + 0,2,2049,79,1793,7236,2049,56,1,97,18,2049,2880,1,7154,266001,10,1,7225,2049, + 2281,3,10,7126,7253,144,114,101,111,114,100,101,114,0,1,7190,2049,2106,2049,7220, + 10,7242,7269,144,99,117,114,114,121,0,2049,1877,1793,7279,4,2049,1731,2049,1754,10, + 1,7273,2049,2106,10,7260,7292,144,100,111,101,115,0,2049,1588,4,2049,7269,2049,1570, + 2049,158,16,1,144,2049,1649,10,7284,7321,144,100,58,102,111,114,45,101,97,99, + 104,0,1,2,1793,7347,6415,2049,2096,1793,7339,1793,7334,2052,10,1,7332,2049,2106,10, + 1,7330,2049,2106,1,7325,7,10,1,7325,8,3,10,7307,7367,144,100,58,108,111, + 111,107,117,112,45,120,116,0,1,0,4,1793,7392,2049,2096,2049,158,2831,1793,7385, + 4,1,2057,2049,2106,10,1,7379,1,11,2049,64,10,1,7372,2049,7321,3,10,7352, + 7410,144,97,58,108,101,110,103,116,104,0,15,10,7398,7433,144,97,58,99,111, + 117,110,116,101,100,45,114,101,115,117,108,116,115,0,8,2049,1877,1793,7446,2, + 2049,105,1,105,2049,2281,10,1,7438,2049,2106,10,7412,7468,144,97,58,102,114,111, + 109,45,115,116,114,105,110,103,0,2049,1877,1793,7482,2,2049,79,2049,105,1,105, + 2049,3860,10,1,7472,2049,2106,10,7451,7501,144,97,58,102,111,114,45,101,97,99, + 104,0,4,2049,56,1,13,2049,2106,1793,7517,5,2049,56,84018692,525572,1542,10,1,7510, + 2049,2281,771,10,7487,7532,144,97,58,100,117,112,0,2049,1877,1793,7545,2,15,2049, + 105,1,105,2049,7501,10,1,7536,2049,2106,10,7523,7560,144,97,58,99,111,112,121, + 0,1,3,1793,7576,4097,3,2,2049,7410,2049,105,1,105,2049,7501,10,1,7564,2049, + 3069,10,7550,7596,144,97,58,116,111,45,115,116,114,105,110,103,0,1,3,1793, + 7609,2049,7532,1,0,2049,105,2049,2880,10,1,7600,2049,3069,2049,3591,10,7581,7628,144, + 97,58,97,112,112,101,110,100,0,2049,2096,1,34,2049,2154,17,2049,1877,1793,7653, + 2049,105,1793,7648,1,105,2049,7501,10,1,7643,2049,2154,10,1,7639,2049,2106,10,7616, + 7671,144,97,58,112,114,101,112,101,110,100,0,4,2049,7628,10,7658,7685,144,97, + 58,99,104,111,112,0,2049,7532,1,-1,2049,3050,2,2049,2993,10,7675,7707,144,97, + 58,102,105,108,116,101,114,0,1793,7722,67502597,1,21,2049,2106,4,1,105,1,11, + 2049,64,10,1,7709,2049,7269,2049,1877,1793,7737,67502597,15,2049,105,2049,7501,10,1,7730, + 2049,2106,2049,1877,67502597,18,2049,2893,67502597,16,10,7695,7765,144,97,58,99,111,110,116, + 97,105,110,115,63,0,1,0,4,1793,7777,4,5,67502597,11,6,22,10,1,7770, + 2049,7501,772,10,7750,7805,144,97,58,99,111,110,116,97,105,110,115,45,115,116, + 114,105,110,103,63,0,1,0,4,1793,7818,4,5,67502597,2049,93,6,22,10,1, + 7810,2049,7501,772,10,7783,7833,144,97,58,109,97,112,0,1793,7839,8,2049,105,10, + 1,7835,2049,7269,2049,1877,1793,7854,67502597,15,2049,105,2049,7501,10,1,7847,2049,2106,10, + 7824,7872,144,97,58,114,101,118,101,114,115,101,0,2049,1877,1793,7906,2049,56,1793, + 7884,17,2049,2893,10,1,7880,2049,2116,2,2049,105,1793,7900,2,15,2049,105,2049,2893, + 10,1,7893,2049,2281,3,10,1,7876,2049,2106,10,7859,7919,144,97,58,116,104,0, + 17,2049,2880,10,7911,7934,144,97,58,102,101,116,99,104,0,2049,7919,15,10,7923, + 7949,144,97,58,115,116,111,114,101,0,2049,7919,16,10,7938,7965,144,97,58,114, + 101,100,117,99,101,0,1,13,2049,2106,2049,7501,10,7953,7984,144,105,100,101,110, + 116,105,102,121,0,1,-1,4,1,0,1793,8015,2049,2356,11,1793,8009,67502597,1,-1, + 11,1793,8005,772,2,10,1,8002,9,10,1,7996,9,2049,2880,10,1,7991,2049,7965, + 3,10,7953,8035,144,97,58,105,110,100,101,120,45,111,102,0,1,3,1793,8048, + 1,26,2049,7269,2049,7833,2049,7984,10,1,8039,2049,3069,10,8021,8074,144,97,58,105, + 110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,1,3,1793,8087,1, + 93,2049,7269,2049,7833,2049,7984,10,1,8078,2049,3069,10,8053,8102,144,97,58,109,97, + 107,101,0,2049,7433,2049,7872,10,8092,8112,156,123,0,1,285,2049,156,1,1556,2049, + 144,1,285,2049,156,10,8107,8130,156,125,0,1,301,2049,156,1,2106,2049,144,1, + 1556,2049,144,1,13,2049,150,1,40,2049,150,1,2893,2049,144,1,301,2049,156,1, + 8102,2049,144,10,8125,8174,144,98,111,117,110,100,115,63,0,67502597,2049,7410,67502597,13, + 10,8163,8188,144,99,111,112,121,0,2049,56,2049,105,10,8180,8203,144,116,111,45, + 101,110,100,0,2,2049,7410,17,2049,2880,10,8125,8220,144,97,58,108,101,102,116, + 0,2049,8174,1793,8228,771,1,-1,10,1,8224,2049,2659,2049,1877,67502597,2049,105,1793,8249, + 1,2880,2049,2106,1,8188,2049,2281,3,10,1,8239,2049,2106,10,8210,8265,144,97,58, + 114,105,103,104,116,0,2049,8174,1793,8273,771,1,-1,10,1,8269,2049,2659,2049,1877, + 67502597,2049,105,1793,8296,4,2049,8203,67502597,18,4,1,8188,2049,2281,3,10,1,8284,2049, + 2106,10,8254,8313,144,97,58,109,105,100,100,108,101,0,1,2048,2049,2106,4,67502597, + 2049,8174,1793,8328,771,3,1,-1,10,1,8323,2049,2659,771,2049,2096,4,18,2049,2880, + 2049,1877,67502597,2049,105,1793,8363,772,1793,8353,17,2049,2880,10,1,8349,2049,2106,1,8188, + 2049,2281,3,10,1,8346,2049,2106,10,8301,8376,131,70,108,97,103,0,0,8368,8388, + 144,99,111,109,112,97,114,101,0,67440386,184946434,10,8377,8401,144,108,101,110,103,116, + 104,0,659202,10,8391,8411,144,110,101,120,116,0,17043713,1,1,2577,10,8403,8429,144, + 110,111,116,45,101,113,117,97,108,0,50529030,2561,0,10,8416,8441,144,108,111,111, + 112,0,524549,8411,2049,8388,18157313,8376,8376,16,420610310,1,1,8441,7,10,8301,8464,144,97, + 58,101,113,63,0,1048833,-1,8376,2049,8388,151066369,-1,8429,2049,8401,2049,8441,251724547,8376,10, + 8455,8489,144,97,58,45,101,113,63,0,2049,8464,2049,2465,10,8479,8512,144,97,58, + 98,101,103,105,110,115,45,119,105,116,104,63,0,1,3,1793,8528,2,2049,7410, + 1,13,2049,2106,2049,8220,2049,8464,10,1,8516,2049,3069,10,8494,8549,144,97,58,101, + 110,100,115,45,119,105,116,104,63,0,1,3,1793,8565,2,2049,7410,1,13,2049, + 2106,2049,8265,2049,8464,10,1,8553,2049,3069,10,8533,8586,144,99,117,114,114,101,110, + 116,45,108,105,110,101,0,2049,3507,1,1025,18,10,8570,8608,144,99,111,117,110, + 116,45,116,111,107,101,110,115,0,1793,8614,1,32,11,10,1,8610,2049,4284,2049, + 79,10,8592,8639,144,112,114,111,99,101,115,115,45,116,111,107,101,110,115,0, + 1793,8667,1,32,2049,6081,4,1793,8660,2,2049,79,2049,2549,1,365,1,11,2049,64, + 10,1,8648,2049,2106,2049,2880,10,1,8641,2049,2281,2049,365,10,8533,8688,144,115,58, + 101,118,97,108,117,97,116,101,0,2049,8586,2049,4528,2049,8586,2,2049,8608,2049,8639, + 10,8674,8706,131,76,80,0,0,8700,8716,131,73,110,100,101,120,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,8707,8756,144,110,101,120,116,0,3841,8706,1, + 8716,17,2049,2978,10,8748,8772,144,112,114,101,112,0,1,8706,2049,2978,1,0,3841, + 8706,1,8716,17,16,10,8764,8793,144,100,111,110,101,0,1,8706,2049,2993,10,8674, + 8803,144,73,0,3841,8706,1,8716,17,15,10,8798,8815,144,74,0,3841,8706,1,8716, + 17,2049,2893,15,10,8810,8829,144,75,0,3841,8706,1,8716,17,1,2,18,15,10, + 8824,8860,144,116,105,109,101,115,60,119,105,116,104,45,105,110,100,101,120,62, + 0,2049,8772,4,1793,8876,25,33886721,1,2053,1542,2049,8756,1,8865,7,10,1,8865,8, + 3,2049,8793,10,8839,8891,156,104,111,111,107,0,2049,3636,108,105,106,117,46,46, + 46,46,0,1,8893,2049,412,2049,1877,2049,2880,2049,105,10,8883,8925,144,115,101,116, + 45,104,111,111,107,0,2049,2880,16,10,8913,8939,144,117,110,104,111,111,107,0, + 2049,2880,2,2049,2880,4,16,10,8929,8963,144,105,111,58,101,110,117,109,101,114, + 97,116,101,0,27,10,8947,8977,144,105,111,58,113,117,101,114,121,0,28,10, + 8965,8992,144,105,111,58,105,110,118,111,107,101,0,29,10,8979,9002,131,83,108, + 111,116,0,0,8979,9018,144,105,111,58,115,99,97,110,45,102,111,114,0,1, + -1,4097,9002,2049,8963,1793,9044,2049,8803,2049,8977,772,67502597,11,1793,9040,2049,8803,4097,9002, + 10,1,9035,9,10,1,9026,2049,8860,3,3841,9002,10,9003,9061,144,99,58,112,117, + 116,0,1793,9063,1,0,2049,8992,10,9052,9074,144,110,108,0,1,10,2049,9061,10, + 9068,9085,144,115,112,0,1,32,2049,9061,10,9079,9097,144,116,97,98,0,1,9, + 2049,9061,10,9090,9111,144,115,58,112,117,116,0,1,9061,2049,3860,10,9102,9125,144, + 110,58,112,117,116,0,2049,5920,2049,9111,10,9116,9139,144,114,101,115,101,116,0, + 2049,1556,25,771,1,9139,7,10,9130,9161,144,100,117,109,112,45,115,116,97,99, + 107,0,2049,1556,25,3,5,2049,9161,6,2,2049,9125,2049,9085,10,9147,9183,144,70, + 82,69,69,0,2049,3507,1,1025,18,2049,1877,18,10,9175,9202,131,105,111,58,88, + 56,54,0,0,9192,9215,144,105,100,101,110,116,105,102,121,0,3841,9202,2049,2533, + 1793,9282,1,2000,2049,9018,2,2049,2568,1793,9270,3,2049,3636,73,79,32,68,69,86, + 73,67,69,32,84,89,80,69,32,50,48,48,48,32,78,79,84,32,70,79, + 85,78,68,0,1,9233,2049,9111,2049,9074,10,1,9230,1793,9277,4097,9202,10,1,9274, + 2049,64,10,1,9221,9,10,9175,9296,144,105,111,58,120,56,54,0,2049,9215,3841, + 9202,2049,8992,10,9286,9318,144,112,105,111,58,105,110,45,98,121,116,101,0,1, + 0,2049,9296,10,9303,9339,144,112,105,111,58,111,117,116,45,98,121,116,101,0, + 1,1,2049,9296,10,9323,9359,144,112,105,111,58,105,110,45,119,111,114,100,0, + 1,6,2049,9296,10,9344,9380,144,112,105,111,58,111,117,116,45,119,111,114,100, + 0,1,7,2049,9296,10,9364,9398,144,114,97,109,58,115,116,111,114,101,0,1, + 2,2049,9296,10,9385,9416,144,114,97,109,58,102,101,116,99,104,0,1,3,2049, + 9296,10,9403,9439,144,114,97,109,58,115,116,111,114,101,45,98,121,116,101,0, + 1,4,2049,9296,10,9421,9462,144,114,97,109,58,102,101,116,99,104,45,98,121, + 116,101,0,1,5,2049,9296,10,9444,9474,144,104,101,120,0,2,15,1,45,11, + 1793,9486,2049,2880,1,-1,10,1,9481,1793,9493,1,0,10,1,9490,2049,64,4,1, + 0,4,1793,9532,2049,3636,48,49,50,51,52,53,54,55,56,57,65,66,67,68, + 69,70,0,1,9505,4,2049,3914,17,1,16,19,10,1,9503,2049,3860,1,16,197652, + 4,25,19,10,9444,9555,156,112,114,101,102,105,120,58,48,0,2,2049,2893,2049, + 197,2049,2549,1793,9588,2049,2893,2049,197,1793,9574,2049,158,15,10,1,9570,1793,9582,2049, + 160,15,10,1,9578,2049,2128,8,10,1,9564,2049,2659,2049,2880,2049,9474,2049,131,10, + 9543,112,131,67,77,79,83,58,65,68,68,82,69,83,83,0,9599,113,131,67, + 77,79,83,58,68,65,84,65,0,9615,9641,144,114,116,99,58,113,117,101,114, + 121,0,1,112,2049,9339,1,113,2049,9318,10,9628,9664,144,114,116,99,58,115,101, + 99,111,110,100,0,1,0,2049,9641,10,9650,9683,144,114,116,99,58,109,105,110, + 117,116,101,0,1,2,2049,9641,10,9669,9700,144,114,116,99,58,104,111,117,114, + 0,1,4,2049,9641,10,9688,9716,144,114,116,99,58,100,97,121,0,1,7,2049, + 9641,10,9705,9734,144,114,116,99,58,109,111,110,116,104,0,1,8,2049,9641,10, + 9721,9751,144,114,116,99,58,121,101,97,114,0,1,9,2049,9641,10,9739,9764,144, + 116,105,109,101,0,2049,9700,2049,9125,1,58,2049,9061,2049,9683,2049,9125,2049,9074,10, + 9756,1016,131,115,101,114,105,97,108,58,67,79,77,49,0,9779,760,131,115,101, + 114,105,97,108,58,67,79,77,50,0,9794,1000,131,115,101,114,105,97,108,58, + 67,79,77,51,0,9809,744,131,115,101,114,105,97,108,58,67,79,77,52,0, + 9824,9854,131,115,101,114,105,97,108,58,80,111,114,116,0,1016,9839,9875,144,115, + 101,114,105,97,108,58,114,101,99,101,105,118,101,100,63,0,3841,9854,1,5, + 17,2049,9318,1,1,21,2049,2549,10,9855,9905,144,115,101,114,105,97,108,58,101, + 109,112,116,121,63,0,3841,9854,1,5,17,2049,9318,1,32,21,2049,2549,10,9888, + 9933,144,115,101,114,105,97,108,58,114,101,97,100,0,2049,9875,1793,9942,3841,9854, + 2049,9318,10,1,9937,2049,2659,2049,9933,10,9918,9965,144,115,101,114,105,97,108,58, + 119,114,105,116,101,0,2049,9905,1793,9974,3841,9854,2049,9339,10,1,9969,2049,2659,2049, + 9965,10,9949,9996,144,115,101,114,105,97,108,58,115,101,110,100,0,1793,10001,2049, + 9965,10,1,9998,2049,3860,10,9981,10021,144,115,101,114,105,97,108,58,105,110,105, + 116,0,1,0,3841,9854,1,1,17,2049,9339,1,128,3841,9854,1,3,17,2049,9339, + 1,3,3841,9854,2049,9339,1,0,3841,9854,1,1,17,2049,9339,1,3,3841,9854,1, + 3,17,2049,9339,1,199,3841,9854,1,2,17,2049,9339,1,11,3841,9854,1,4,17, + 2049,9339,10,10006,753664,131,86,71,65,45,66,65,83,69,0,10082,80,131,67,79, + 76,85,77,78,83,0,10094,25,131,82,79,87,83,0,10105,980,131,86,71,65, + 45,67,85,82,83,79,82,0,10113,981,131,86,71,65,45,68,65,84,65,0, + 10127,10150,131,118,103,97,58,82,111,119,0,0,10139,10165,131,118,103,97,58,67, + 111,108,117,109,110,0,0,10151,10187,144,118,103,97,58,117,112,100,97,116,101, + 45,99,117,114,115,111,114,0,3841,10150,1,80,19,3841,10165,17,2,1,15,1, + 980,2049,9339,1,255,21,1,981,2049,9339,1,14,1,980,2049,9339,1,8,24,1, + 255,21,1,981,2049,9339,10,10166,10245,144,118,103,97,58,109,111,118,101,45,99, + 117,114,115,111,114,0,4097,10165,4097,10150,2049,10187,10,10226,10267,131,118,103,97,58, + 68,105,115,112,108,97,121,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -624,68 +616,67 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10421,12457, - 144,115,116,97,114,116,105,110,103,45,97,100,100,114,101,115,115,0,1,753664, - 1,80,1,2,19,17,10,12437,12480,144,99,104,97,114,97,99,116,101,114,115, - 0,1,25,2049,2893,1,80,19,10,12466,12501,144,115,97,118,101,45,98,121,116, - 101,0,2,2049,9631,2049,3326,1,2,17,10,12488,12518,144,115,97,118,101,0,1793, - 12523,2049,12501,10,1,12520,2049,2281,3,10,12510,12544,144,97,108,108,45,98,117,116, - 45,116,111,112,0,1793,12557,1,10436,2049,3418,2049,12457,2049,12480,2049,12518,10,1,12546, - 2049,3442,10,12529,12573,144,109,111,118,101,45,117,112,0,1,753664,1,10436,1793,12586, - 67502597,2049,9608,1,2,17,10,1,12579,2049,3860,3,10,12562,12605,144,108,97,115,116, - 45,108,105,110,101,0,1,753664,1,25,2049,2893,1,80,19,1,2,19,17,10, - 12592,12628,144,101,114,97,115,101,0,1,32,67502597,2049,9608,1,2,17,10,12619,12656, - 144,101,114,97,115,101,45,108,97,115,116,45,108,105,110,101,0,2049,12605,1, - 80,1793,12665,2049,12628,10,1,12662,2049,2281,3,10,12637,12681,144,115,99,114,111,108, - 108,0,2049,12544,2049,12573,2049,12656,10,12671,12700,144,112,111,115,105,116,105,111,110, - 0,1,25,2049,2893,1,0,2049,10414,10,12688,12720,144,115,99,114,111,108,108,63, - 0,3841,10319,1,25,11,10,10395,12738,144,118,103,97,58,119,114,97,112,0,2049, - 12720,1793,12747,2049,12681,2049,12700,10,1,12742,9,2049,10356,10,12726,12765,144,112,111,115, - 105,116,105,111,110,0,3841,10319,1,80,19,1,2,19,3841,10334,1,2,19,17, - 1,753664,17,10,12753,12791,144,110,101,120,116,0,1,10334,2049,2978,3841,10334,1,80, - 14,1793,12811,1,10319,2049,2978,1,0,4097,10334,10,1,12802,9,2049,12738,10,12726,12830, - 144,118,103,97,58,99,58,112,117,116,0,1,10,1793,12845,1,0,4097,10334,1, - 10319,2049,2978,2049,12738,10,1,12834,2049,2379,1,13,1793,12864,1,0,4097,10334,1,10319, - 2049,2978,2049,12738,10,1,12853,2049,2379,1,8,1793,12887,1,10334,2049,2993,1,32,2049, - 12830,1,10334,2049,2993,2049,10356,10,1,12872,2049,2379,2049,12765,2049,9608,2049,12791,10,12817, - 12907,144,99,108,101,97,114,0,1,0,1,0,2049,10414,1,753664,1,80,1,25, - 19,1793,12931,1,32,67502597,2049,9608,1,2,17,10,1,12922,2049,2281,3,1,0,1, - 0,2049,10414,10,12898,12961,144,118,103,97,58,105,110,105,116,105,97,108,105,122, - 101,0,1,1793,1,9230,1,2,17,16,1,12830,1,9230,1,3,17,16,10,12943, - 32,131,97,116,97,58,82,69,65,68,0,12978,48,131,97,116,97,58,87,82, - 73,84,69,0,12990,496,131,97,116,97,58,80,82,73,77,65,82,89,0,13003, - 13035,144,97,116,97,58,99,108,101,97,114,45,98,115,121,0,1793,13047,1,503, - 2049,9487,1,128,21,2049,2533,10,1,13037,2049,2256,10,13018,13070,144,97,116,97,58, - 115,101,116,45,115,101,99,116,111,114,0,1,224,1,502,2049,9508,1,0,1, - 497,2049,9508,1,1,1,498,2049,9508,2,1,499,2049,9508,2,1,8,24,1,500, - 2049,9508,1,16,24,1,501,2049,9508,10,13052,13121,144,97,116,97,58,114,101,97, - 100,0,2049,13070,1,32,1,503,2049,9508,1,10000,1793,13134,10,1,13133,2049,2281,1, - 256,1793,13168,1,496,2049,9528,1793,13156,1,255,21,67502597,16,2049,2880,10,1,13148,2049, - 2116,1,8,24,67502597,16,2049,2880,10,1,13142,2049,2281,3,10,13109,13187,144,97,116, - 97,58,119,114,105,116,101,0,2049,13070,1,48,1,503,2049,9508,1,10000,1793,13200, - 10,1,13199,2049,2281,1,256,1793,13228,2049,56,1793,13218,2049,56,1,-8,24,10,1, - 13212,2049,2106,17,1,496,2049,9549,10,1,13208,2049,2281,3,1,231,1,503,2049,9508, - 2049,13035,10,13174,13250,144,101,111,108,63,0,1793,13256,1,13,11,10,1,13252,1793, - 13264,1,10,11,10,1,13260,1793,13272,1,32,11,10,1,13268,2049,2165,22,22,10, - 13242,13289,144,118,97,108,105,100,63,0,2,2049,79,2049,2549,10,13279,13307,144,99, - 104,101,99,107,45,98,115,0,2,1793,13314,1,8,11,10,1,13310,1793,13322,1, - 127,11,10,1,13318,2049,2128,22,1793,13335,2049,3350,2049,3350,771,10,1,13329,9,10, - 13174,13348,144,99,58,103,101,116,0,1793,13350,2049,3636,108,105,105,105,46,46,46, - 46,0,1,13352,2049,412,1,1,2049,105,2,2049,9230,10,13339,13387,144,115,58,103, - 101,116,45,119,111,114,100,0,1793,13414,1,1025,2049,3418,1793,13405,2049,13348,2,2049, - 3326,2049,13307,2049,13250,10,1,13395,2049,2256,2049,3292,2049,3714,10,1,13389,2049,3442,10, - 13373,13428,144,115,58,103,101,116,0,1793,13472,1,1025,2049,3418,1793,13463,2049,13348,2, - 2049,3326,2049,13307,1793,13449,1,13,11,10,1,13445,1793,13457,1,10,11,10,1,13453, - 2049,2128,22,10,1,13436,2049,2256,2049,3292,2049,3714,10,1,13430,2049,3442,10,13419,13487, - 144,108,105,115,116,101,110,0,2049,12961,2049,12907,2049,3636,82,69,84,82,79,47, - 78,97,116,105,118,101,0,1,13493,2049,9280,2049,9254,3841,4,1,100,20,2049,9294, - 1,46,2049,9230,2049,9294,2049,9243,2049,13387,2049,13289,1,365,1,11,2049,64,1,13527, - 7,10,1793,13573,1,63,2049,9230,2049,9254,2049,3636,119,111,114,100,32,110,111,116, - 32,102,111,117,110,100,0,1,13551,2049,9280,2049,9243,10,1,13543,13477,16,131,66, - 76,79,67,75,83,0,13575,13601,131,67,117,114,114,101,110,116,66,108,111,99, - 107,0,0,13585,13617,131,67,117,114,114,101,110,116,76,105,110,101,0,0,13602, - 13632,131,67,117,114,114,101,110,116,67,111,108,0,0,13618,13642,131,66,108,111, - 99,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,10252,12288,144,115,116,97,114,116,105,110,103, + 45,97,100,100,114,101,115,115,0,1,753664,1,80,1,2,19,17,10,12268,12311, + 144,99,104,97,114,97,99,116,101,114,115,0,1,25,2049,2893,1,80,19,10, + 12297,12332,144,115,97,118,101,45,98,121,116,101,0,2,2049,9462,2049,3326,1,2, + 17,10,12319,12349,144,115,97,118,101,0,1793,12354,2049,12332,10,1,12351,2049,2281,3, + 10,12341,12375,144,97,108,108,45,98,117,116,45,116,111,112,0,1793,12388,1,10267, + 2049,3418,2049,12288,2049,12311,2049,12349,10,1,12377,2049,3442,10,12360,12404,144,109,111,118, + 101,45,117,112,0,1,753664,1,10267,1793,12417,67502597,2049,9439,1,2,17,10,1,12410, + 2049,3860,3,10,12393,12436,144,108,97,115,116,45,108,105,110,101,0,1,753664,1, + 25,2049,2893,1,80,19,1,2,19,17,10,12423,12459,144,101,114,97,115,101,0, + 1,32,67502597,2049,9439,1,2,17,10,12450,12487,144,101,114,97,115,101,45,108,97, + 115,116,45,108,105,110,101,0,2049,12436,1,80,1793,12496,2049,12459,10,1,12493,2049, + 2281,3,10,12468,12512,144,115,99,114,111,108,108,0,2049,12375,2049,12404,2049,12487,10, + 12502,12531,144,112,111,115,105,116,105,111,110,0,1,25,2049,2893,1,0,2049,10245, + 10,12519,12551,144,115,99,114,111,108,108,63,0,3841,10150,1,25,11,10,10226,12569, + 144,118,103,97,58,119,114,97,112,0,2049,12551,1793,12578,2049,12512,2049,12531,10,1, + 12573,9,2049,10187,10,12557,12596,144,112,111,115,105,116,105,111,110,0,3841,10150,1, + 80,19,1,2,19,3841,10165,1,2,19,17,1,753664,17,10,12584,12622,144,110,101, + 120,116,0,1,10165,2049,2978,3841,10165,1,80,14,1793,12642,1,10150,2049,2978,1,0, + 4097,10165,10,1,12633,9,2049,12569,10,12557,12661,144,118,103,97,58,99,58,112,117, + 116,0,1,10,1793,12676,1,0,4097,10165,1,10150,2049,2978,2049,12569,10,1,12665,2049, + 2379,1,13,1793,12695,1,0,4097,10165,1,10150,2049,2978,2049,12569,10,1,12684,2049,2379, + 1,8,1793,12718,1,10165,2049,2993,1,32,2049,12661,1,10165,2049,2993,2049,10187,10,1, + 12703,2049,2379,2049,12596,2049,9439,2049,12622,10,12648,12738,144,99,108,101,97,114,0,1, + 0,1,0,2049,10245,1,753664,1,80,1,25,19,1793,12762,1,32,67502597,2049,9439,1, + 2,17,10,1,12753,2049,2281,3,1,0,1,0,2049,10245,10,12729,12792,144,118,103, + 97,58,105,110,105,116,105,97,108,105,122,101,0,1,1793,1,9061,1,2,17, + 16,1,12661,1,9061,1,3,17,16,10,12774,32,131,97,116,97,58,82,69,65, + 68,0,12809,48,131,97,116,97,58,87,82,73,84,69,0,12821,496,131,97,116, + 97,58,80,82,73,77,65,82,89,0,12834,12866,144,97,116,97,58,99,108,101, + 97,114,45,98,115,121,0,1793,12878,1,503,2049,9318,1,128,21,2049,2533,10,1, + 12868,2049,2256,10,12849,12901,144,97,116,97,58,115,101,116,45,115,101,99,116,111, + 114,0,1,224,1,502,2049,9339,1,0,1,497,2049,9339,1,1,1,498,2049,9339, + 2,1,499,2049,9339,2,1,8,24,1,500,2049,9339,1,16,24,1,501,2049,9339, + 10,12883,12952,144,97,116,97,58,114,101,97,100,0,2049,12901,1,32,1,503,2049, + 9339,1,10000,1793,12965,10,1,12964,2049,2281,1,256,1793,12999,1,496,2049,9359,1793,12987, + 1,255,21,67502597,16,2049,2880,10,1,12979,2049,2116,1,8,24,67502597,16,2049,2880,10, + 1,12973,2049,2281,3,10,12940,13018,144,97,116,97,58,119,114,105,116,101,0,2049, + 12901,1,48,1,503,2049,9339,1,10000,1793,13031,10,1,13030,2049,2281,1,256,1793,13059, + 2049,56,1793,13049,2049,56,1,-8,24,10,1,13043,2049,2106,17,1,496,2049,9380,10, + 1,13039,2049,2281,3,1,231,1,503,2049,9339,2049,12866,10,13005,13081,144,101,111,108, + 63,0,1793,13087,1,13,11,10,1,13083,1793,13095,1,10,11,10,1,13091,1793,13103, + 1,32,11,10,1,13099,2049,2165,22,22,10,13073,13120,144,118,97,108,105,100,63, + 0,2,2049,79,2049,2549,10,13110,13138,144,99,104,101,99,107,45,98,115,0,2, + 1793,13145,1,8,11,10,1,13141,1793,13153,1,127,11,10,1,13149,2049,2128,22,1793, + 13166,2049,3350,2049,3350,771,10,1,13160,9,10,13005,13179,144,99,58,103,101,116,0, + 1793,13181,2049,3636,108,105,105,105,46,46,46,46,0,1,13183,2049,412,1,1,2049, + 105,2,2049,9061,10,13170,13218,144,115,58,103,101,116,45,119,111,114,100,0,1793, + 13245,1,1025,2049,3418,1793,13236,2049,13179,2,2049,3326,2049,13138,2049,13081,10,1,13226,2049, + 2256,2049,3292,2049,3714,10,1,13220,2049,3442,10,13204,13259,144,115,58,103,101,116,0, + 1793,13303,1,1025,2049,3418,1793,13294,2049,13179,2,2049,3326,2049,13138,1793,13280,1,13,11, + 10,1,13276,1793,13288,1,10,11,10,1,13284,2049,2128,22,10,1,13267,2049,2256,2049, + 3292,2049,3714,10,1,13261,2049,3442,10,13250,13318,144,108,105,115,116,101,110,0,2049, + 12792,2049,12738,2049,3636,82,69,84,82,79,47,78,97,116,105,118,101,0,1,13324, + 2049,9111,2049,9085,3841,4,1,100,20,2049,9125,1,46,2049,9061,2049,9125,2049,9074,2049, + 13218,2049,13120,1,365,1,11,2049,64,1,13358,7,10,1793,13404,1,63,2049,9061,2049, + 9085,2049,3636,119,111,114,100,32,110,111,116,32,102,111,117,110,100,0,1,13382, + 2049,9111,2049,9074,10,1,13374,13308,16,131,66,76,79,67,75,83,0,13406,13432,131, + 67,117,114,114,101,110,116,66,108,111,99,107,0,0,13416,13448,131,67,117,114, + 114,101,110,116,76,105,110,101,0,0,13433,13463,131,67,117,114,114,101,110,116, + 67,111,108,0,0,13449,13473,131,66,108,111,99,107,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -736,7 +727,8 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,13633,14677,131,66,108,111,99,107,115,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13464, + 14508,131,66,108,111,99,107,115,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -1555,8 +1547,8 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,14498,30899,131,84,79,66,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,14667,31068,131,84,79,66,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -1581,56 +1573,57 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,30892,31433,144,98,108,111,99, + 107,115,58,105,110,105,116,105,97,108,105,122,101,0,1,14508,1,1024,1,16, + 19,1793,31449,1,32,67502597,16,2049,2880,10,1,31442,2049,2281,3,10,31412,31470,144,98, + 108,111,99,107,58,119,114,105,116,101,0,10,31455,31485,144,98,108,111,99,107, + 58,114,101,97,100,0,10,31471,31503,144,99,117,114,114,101,110,116,45,98,108, + 111,99,107,0,3841,13432,1,1024,19,1,14508,17,10,31486,31520,144,110,101,120,116, + 0,1793,31525,2049,2880,10,1,31522,2049,2154,10,31512,31538,144,99,111,112,121,0,2049, + 2096,15,4,16,10,31471,31560,144,98,108,111,99,107,58,115,101,108,101,99,116, + 0,4097,13432,1793,31585,1,13473,2049,3418,2049,31503,1,1024,1793,31579,2049,56,2049,3326,10, + 1,31574,2049,2281,3,10,1,31564,2049,3442,10,31544,31606,144,98,108,111,99,107,58, + 117,112,100,97,116,101,0,2049,31503,1,13473,1,1024,1793,31619,2049,31538,2049,31520,10, + 1,31614,2049,2281,771,10,31590,31638,144,116,116,121,58,99,108,101,97,114,0,2049, + 12738,10,31625,31651,144,99,117,114,115,111,114,0,4,2049,10245,10,31641,31669,144,105, + 110,100,105,99,97,116,111,114,115,0,3841,13463,1,3,17,1,0,2049,31651,1, + 35,2049,9061,1,1,3841,13448,1,1,17,2049,31651,1,35,2049,9061,1,1,1,24, + 2049,31651,10,31655,31711,144,114,117,108,101,114,0,2049,3636,32,32,32,48,45,45, + 45,45,45,45,45,45,45,49,45,45,45,45,45,45,45,45,45,50,45,45, + 45,45,45,45,45,45,45,51,0,1,31713,2049,9111,2049,3636,45,45,45,45,45, + 45,45,45,45,52,45,45,45,45,45,45,45,45,45,53,45,45,45,45,45, + 45,45,45,45,54,45,45,45,0,1,31754,2049,9111,2049,9074,10,31702,31805,144,98, + 108,111,99,107,35,0,1,35,2049,9061,3841,13432,2049,9125,10,31795,31821,144,112,111, + 115,0,3841,13448,2049,9125,1,58,2049,9061,3841,13463,2049,9125,10,31814,31844,144,115,116, + 97,116,117,115,0,2049,31805,2049,9085,2049,31821,2049,3636,32,58,58,32,0,1,31852, + 2049,9111,2049,9161,10,31834,31874,144,102,111,114,109,97,116,0,2049,3636,32,124,32, + 0,1,31876,2049,9111,8,2049,3636,32,124,0,1,31887,2049,9111,2049,9074,10,31864,31905, + 144,108,105,110,101,0,1793,31921,1,64,1793,31916,2049,56,2049,9061,10,1,31911,2049, + 2281,10,1,31907,2049,31874,10,31897,31934,144,99,111,100,101,0,1,13473,1,16,1793, + 31943,2049,31905,10,1,31940,2049,8860,3,10,31926,31959,144,102,111,114,109,97,116,0, + 2049,3636,32,124,32,0,1,31961,2049,9111,8,2049,3636,32,124,0,1,31972,2049,9111, + 2049,9074,10,31949,31989,144,116,111,98,0,1,30899,1,4,1793,31998,2049,31905,10,1, + 31995,2049,2281,3,10,31625,32021,144,98,108,111,99,107,58,100,105,115,112,108,97, + 121,0,2049,31638,2049,31711,2049,31934,2049,31711,2049,31989,2049,31711,2049,31669,2049,31844,10,32004, + 32047,131,84,78,101,120,116,0,0,32038,32059,144,115,99,114,111,108,108,63,0, + 3841,32047,1,256,14,10,32048,32078,144,115,99,114,111,108,108,45,117,112,0,1, + 30899,1,64,17,1,30899,1,193,2049,3116,1,193,4097,32047,1,30899,1,193,17,1, + 64,1793,32109,1,32,67502597,16,2049,2880,10,1,32102,2049,2281,3,10,32004,32129,144,99, + 58,112,117,116,60,84,79,66,62,0,2,1,10,11,1793,32149,3,3841,32047,1, + 64,17,2,1,64,788,18,4097,32047,10,1,32135,1793,32164,3841,32047,1,30899,17,16, + 1,32047,2049,2978,10,1,32153,2049,64,2049,32059,1793,32175,2049,32078,10,1,32172,9,10, + 32115,32191,144,119,105,116,104,45,116,111,98,0,1,32129,1,9061,2049,8925,8,1, + 9061,2049,8939,10,32179,32221,144,116,111,98,58,105,110,105,116,105,97,108,105,122, + 101,0,1,30899,1,512,1793,32234,1,32,67502597,16,2049,2880,10,1,32227,2049,2281,3, + 1,0,4097,32047,10,32203,32254,144,99,117,114,115,111,114,0,10,32244,32266,144,104, + 97,110,100,108,101,114,0,2049,13179,2049,3636,101,100,105,116,111,114,58,107,101, + 121,60,32,62,0,1,32270,1793,32293,1,11,17,16,10,1,32288,2049,2116,2049,197, + 2,2049,2549,1793,32309,2049,158,15,8,10,1,32304,1793,32315,3,10,1,32313,2049,64, + 10,32203,32335,131,68,111,110,101,69,100,105,116,105,110,103,0,0,32320,32344,144, + 101,100,105,116,0,2049,2368,4097,32335,2049,32221,2049,31433,2049,31485,1,0,2049,31560,1793, + 32369,2049,32021,2049,32254,2049,32266,3841,32335,10,1,32360,2049,2256,10,32336,32384,131,84,111, + 107,101,110,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,31061,31602,144,98,108,111,99,107,115,58,105,110,105,116,105,97,108,105, - 122,101,0,1,14677,1,1024,1,16,19,1793,31618,1,32,67502597,16,2049,2880,10,1, - 31611,2049,2281,3,10,31581,31639,144,98,108,111,99,107,58,119,114,105,116,101,0, - 10,31624,31654,144,98,108,111,99,107,58,114,101,97,100,0,10,31640,31672,144,99, - 117,114,114,101,110,116,45,98,108,111,99,107,0,3841,13601,1,1024,19,1,14677, - 17,10,31655,31689,144,110,101,120,116,0,1793,31694,2049,2880,10,1,31691,2049,2154,10, - 31681,31707,144,99,111,112,121,0,2049,2096,15,4,16,10,31640,31729,144,98,108,111, - 99,107,58,115,101,108,101,99,116,0,4097,13601,1793,31754,1,13642,2049,3418,2049,31672, - 1,1024,1793,31748,2049,56,2049,3326,10,1,31743,2049,2281,3,10,1,31733,2049,3442,10, - 31713,31775,144,98,108,111,99,107,58,117,112,100,97,116,101,0,2049,31672,1,13642, - 1,1024,1793,31788,2049,31707,2049,31689,10,1,31783,2049,2281,771,10,31759,31807,144,116,116, - 121,58,99,108,101,97,114,0,2049,12907,10,31794,31820,144,99,117,114,115,111,114, - 0,4,2049,10414,10,31810,31838,144,105,110,100,105,99,97,116,111,114,115,0,3841, - 13632,1,3,17,1,0,2049,31820,1,35,2049,9230,1,1,3841,13617,1,1,17,2049, - 31820,1,35,2049,9230,1,1,1,24,2049,31820,10,31824,31880,144,114,117,108,101,114, - 0,2049,3636,32,32,32,48,45,45,45,45,45,45,45,45,45,49,45,45,45, - 45,45,45,45,45,45,50,45,45,45,45,45,45,45,45,45,51,0,1,31882, - 2049,9280,2049,3636,45,45,45,45,45,45,45,45,45,52,45,45,45,45,45,45, - 45,45,45,53,45,45,45,45,45,45,45,45,45,54,45,45,45,0,1,31923, - 2049,9280,2049,9243,10,31871,31974,144,98,108,111,99,107,35,0,1,35,2049,9230,3841, - 13601,2049,9294,10,31964,31990,144,112,111,115,0,3841,13617,2049,9294,1,58,2049,9230,3841, - 13632,2049,9294,10,31983,32013,144,115,116,97,116,117,115,0,2049,31974,2049,9254,2049,31990, - 2049,3636,32,58,58,32,0,1,32021,2049,9280,2049,9330,10,32003,32043,144,102,111,114, - 109,97,116,0,2049,3636,32,124,32,0,1,32045,2049,9280,8,2049,3636,32,124,0, - 1,32056,2049,9280,2049,9243,10,32033,32074,144,108,105,110,101,0,1793,32090,1,64,1793, - 32085,2049,56,2049,9230,10,1,32080,2049,2281,10,1,32076,2049,32043,10,32066,32103,144,99, - 111,100,101,0,1,13642,1,16,1793,32112,2049,32074,10,1,32109,2049,9029,3,10,32095, - 32128,144,102,111,114,109,97,116,0,2049,3636,32,124,32,0,1,32130,2049,9280,8, - 2049,3636,32,124,0,1,32141,2049,9280,2049,9243,10,32118,32158,144,116,111,98,0,1, - 31068,1,4,1793,32167,2049,32074,10,1,32164,2049,2281,3,10,31794,32190,144,98,108,111, - 99,107,58,100,105,115,112,108,97,121,0,2049,31807,2049,31880,2049,32103,2049,31880,2049, - 32158,2049,31880,2049,31838,2049,32013,10,32173,32216,131,84,78,101,120,116,0,0,32207,32228, - 144,115,99,114,111,108,108,63,0,3841,32216,1,256,14,10,32217,32247,144,115,99, - 114,111,108,108,45,117,112,0,1,31068,1,64,17,1,31068,1,193,2049,3116,1, - 193,4097,32216,1,31068,1,193,17,1,64,1793,32278,1,32,67502597,16,2049,2880,10,1, - 32271,2049,2281,3,10,32173,32298,144,99,58,112,117,116,60,84,79,66,62,0,2, - 1,10,11,1793,32318,3,3841,32216,1,64,17,2,1,64,788,18,4097,32216,10,1, - 32304,1793,32333,3841,32216,1,31068,17,16,1,32216,2049,2978,10,1,32322,2049,64,2049,32228, - 1793,32344,2049,32247,10,1,32341,9,10,32284,32360,144,119,105,116,104,45,116,111,98, - 0,1,32298,1,9230,2049,9094,8,1,9230,2049,9108,10,32348,32390,144,116,111,98,58, - 105,110,105,116,105,97,108,105,122,101,0,1,31068,1,512,1793,32403,1,32,67502597, - 16,2049,2880,10,1,32396,2049,2281,3,1,0,4097,32216,10,32372,32423,144,99,117,114, - 115,111,114,0,10,32413,32435,144,104,97,110,100,108,101,114,0,2049,13348,2049,3636, - 101,100,105,116,111,114,58,107,101,121,60,32,62,0,1,32439,1793,32462,1,11, - 17,16,10,1,32457,2049,2116,2049,197,2,2049,2549,1793,32478,2049,158,15,8,10,1, - 32473,1793,32484,3,10,1,32482,2049,64,10,32372,32504,131,68,111,110,101,69,100,105, - 116,105,110,103,0,0,32489,32513,144,101,100,105,116,0,2049,2368,4097,32504,2049,32390, - 2049,31602,2049,31654,1,0,2049,31729,1793,32538,2049,32190,2049,32423,2049,32435,3841,32504,10,1, - 32529,2049,2256,10,32505,32553,131,84,111,107,101,110,115,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -1834,50 +1827,51 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,32374,36492,144,112,114,101,112,97,114,101,0,1,32384,1,4096,1793,36505,1, + 0,67502597,16,2049,2880,10,1,36498,2049,2281,3,10,36481,36523,144,103,101,110,101,114, + 97,116,101,0,1,32384,4097,3,1,13473,1,32,2049,6257,10,36511,36542,144,105,116, + 101,109,0,2,2049,79,2049,2533,1793,36551,3,10,1,36549,1793,36558,2049,365,10,1, + 36555,2049,64,10,36534,36574,144,112,114,111,99,101,115,115,0,1793,36579,2049,36542,10, + 1,36576,2049,7501,10,32336,36601,144,101,100,105,116,111,114,58,107,101,121,60,49, + 62,0,1793,36619,2049,36492,1,3,1793,36612,2049,36523,10,1,36609,2049,3069,2049,36574,10, + 1,36603,2049,32191,10,36584,36638,144,98,111,117,110,100,97,114,105,101,115,0,1, + 13448,1,0,1,15,2049,3010,1,13463,1,0,1,63,2049,3010,10,36624,36672,144,107, + 101,101,112,45,105,110,45,114,97,110,103,101,0,1,0,1,16,2049,2893,2049, + 2863,10,36584,36698,144,101,100,105,116,111,114,58,107,101,121,60,72,62,0,2049, + 31606,3841,13432,2049,2893,2049,36672,2049,31560,2049,31638,10,36681,36728,144,101,100,105,116,111, + 114,58,107,101,121,60,83,62,0,2049,31606,3841,13432,2049,2880,2049,36672,2049,31560,2049, + 31638,10,36711,36758,144,101,100,105,116,111,114,58,107,101,121,60,110,62,0,1, + 13448,2049,2993,2049,36638,10,36741,36782,144,101,100,105,116,111,114,58,107,101,121,60, + 104,62,0,1,13463,2049,2993,2049,36638,10,36765,36806,144,101,100,105,116,111,114,58, + 107,101,121,60,115,62,0,1,13463,2049,2978,2049,36638,10,36789,36830,144,101,100,105, + 116,111,114,58,107,101,121,60,116,62,0,1,13448,2049,2978,2049,36638,10,36813,36846, + 144,108,105,109,105,116,0,1,13473,2,1,1024,17,2049,2863,10,36837,36870,144,102, + 101,116,99,104,45,112,114,105,111,114,0,1793,36875,2049,2893,10,1,36872,1793,36881, + 15,10,1,36879,2049,2128,10,36855,36904,144,102,105,110,100,45,110,101,120,116,45, + 119,111,114,100,0,3841,13448,1,64,19,3841,13463,17,1,13473,17,2049,2880,2049,56, + 1,32,12,25,3,1,36917,7,10,36886,36947,144,102,105,110,100,45,112,114,105, + 111,114,45,119,111,114,100,0,3841,13448,1,64,19,3841,13463,17,1,13473,17,2049, + 2893,2049,36870,1,32,12,25,3,1,36960,7,10,36928,36986,144,115,101,108,101,99, + 116,45,110,101,120,116,0,2049,36904,2049,2893,2049,36846,1,13473,18,1,64,20,4097, + 13448,4097,13463,10,36971,37019,144,115,101,108,101,99,116,45,112,114,105,111,114,0, + 2049,36947,2049,2880,2049,36846,1,13473,18,1,64,20,4097,13448,4097,13463,10,36813,37053,144, + 101,100,105,116,111,114,58,107,101,121,60,99,62,0,2049,37019,10,37036,37073,144, + 101,100,105,116,111,114,58,107,101,121,60,114,62,0,2049,36986,10,37056,37084,144, + 100,101,115,116,0,3841,13448,1,64,19,3841,13463,17,1,13473,17,10,37076,37105,144, + 99,104,97,114,115,0,67502597,2049,79,10,37096,37117,144,99,111,112,121,0,1793,37131, + 2049,2096,1,34,2049,2106,16,1,2880,2049,2154,10,1,37119,2049,2281,10,37056,37153,144, + 101,100,105,116,111,114,58,107,101,121,60,97,62,0,2049,13259,2049,37084,2049,37105, + 2049,37117,771,2049,31638,10,37136,37182,144,101,100,105,116,111,114,58,107,101,121,60, + 120,62,0,1,13473,1,1024,1793,37195,1,32,67502597,16,2049,2880,10,1,37188,2049,2281, + 3,10,37165,37218,144,101,100,105,116,111,114,58,107,101,121,60,122,62,0,1, + 13473,3841,13448,1,64,19,17,1,64,1793,37237,1,32,67502597,16,2049,2880,10,1,37230, + 2049,2281,3,10,37201,37251,131,67,111,112,121,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,32543,36661,144,112,114,101,112,97,114, - 101,0,1,32553,1,4096,1793,36674,1,0,67502597,16,2049,2880,10,1,36667,2049,2281,3, - 10,36650,36692,144,103,101,110,101,114,97,116,101,0,1,32553,4097,3,1,13642,1, - 32,2049,6257,10,36680,36711,144,105,116,101,109,0,2,2049,79,2049,2533,1793,36720,3, - 10,1,36718,1793,36727,2049,365,10,1,36724,2049,64,10,36703,36743,144,112,114,111,99, - 101,115,115,0,1793,36748,2049,36711,10,1,36745,2049,7531,10,32505,36770,144,101,100,105, - 116,111,114,58,107,101,121,60,49,62,0,1793,36788,2049,36661,1,3,1793,36781,2049, - 36692,10,1,36778,2049,3069,2049,36743,10,1,36772,2049,32360,10,36753,36807,144,98,111,117, - 110,100,97,114,105,101,115,0,1,13617,1,0,1,15,2049,3010,1,13632,1,0, - 1,63,2049,3010,10,36793,36841,144,107,101,101,112,45,105,110,45,114,97,110,103, - 101,0,1,0,1,16,2049,2893,2049,2863,10,36753,36867,144,101,100,105,116,111,114, - 58,107,101,121,60,72,62,0,2049,31775,3841,13601,2049,2893,2049,36841,2049,31729,2049,31807, - 10,36850,36897,144,101,100,105,116,111,114,58,107,101,121,60,83,62,0,2049,31775, - 3841,13601,2049,2880,2049,36841,2049,31729,2049,31807,10,36880,36927,144,101,100,105,116,111,114, - 58,107,101,121,60,110,62,0,1,13617,2049,2993,2049,36807,10,36910,36951,144,101,100, - 105,116,111,114,58,107,101,121,60,104,62,0,1,13632,2049,2993,2049,36807,10,36934, - 36975,144,101,100,105,116,111,114,58,107,101,121,60,115,62,0,1,13632,2049,2978, - 2049,36807,10,36958,36999,144,101,100,105,116,111,114,58,107,101,121,60,116,62,0, - 1,13617,2049,2978,2049,36807,10,36982,37015,144,108,105,109,105,116,0,1,13642,2,1, - 1024,17,2049,2863,10,37006,37039,144,102,101,116,99,104,45,112,114,105,111,114,0, - 1793,37044,2049,2893,10,1,37041,1793,37050,15,10,1,37048,2049,2128,10,37024,37073,144,102, - 105,110,100,45,110,101,120,116,45,119,111,114,100,0,3841,13617,1,64,19,3841, - 13632,17,1,13642,17,2049,2880,2049,56,1,32,12,25,3,1,37086,7,10,37055,37116, - 144,102,105,110,100,45,112,114,105,111,114,45,119,111,114,100,0,3841,13617,1, - 64,19,3841,13632,17,1,13642,17,2049,2893,2049,37039,1,32,12,25,3,1,37129,7, - 10,37097,37155,144,115,101,108,101,99,116,45,110,101,120,116,0,2049,37073,2049,2893, - 2049,37015,1,13642,18,1,64,20,4097,13617,4097,13632,10,37140,37188,144,115,101,108,101, - 99,116,45,112,114,105,111,114,0,2049,37116,2049,2880,2049,37015,1,13642,18,1,64, - 20,4097,13617,4097,13632,10,36982,37222,144,101,100,105,116,111,114,58,107,101,121,60, - 99,62,0,2049,37188,10,37205,37242,144,101,100,105,116,111,114,58,107,101,121,60, - 114,62,0,2049,37155,10,37225,37253,144,100,101,115,116,0,3841,13617,1,64,19,3841, - 13632,17,1,13642,17,10,37245,37274,144,99,104,97,114,115,0,67502597,2049,79,10,37265, - 37286,144,99,111,112,121,0,1793,37300,2049,2096,1,34,2049,2106,16,1,2880,2049,2154, - 10,1,37288,2049,2281,10,37225,37322,144,101,100,105,116,111,114,58,107,101,121,60, - 97,62,0,2049,13428,2049,37253,2049,37274,2049,37286,771,2049,31807,10,37305,37351,144,101,100, - 105,116,111,114,58,107,101,121,60,120,62,0,1,13642,1,1024,1793,37364,1,32, - 67502597,16,2049,2880,10,1,37357,2049,2281,3,10,37334,37387,144,101,100,105,116,111,114, - 58,107,101,121,60,122,62,0,1,13642,3841,13617,1,64,19,17,1,64,1793,37406, - 1,32,67502597,16,2049,2880,10,1,37399,2049,2281,3,10,37370,37420,131,67,111,112,121, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37243,37329,131, + 67,111,112,121,66,108,111,99,107,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,37412,37498,131,67,111,112,121,66,108,111,99,107,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -1926,21 +1920,18 @@ CELL ngaImage[] = { 1793,13487,38766,38807,202004,0,10,1,10,2,10,3,10,4,10,5,10, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,37370,38540,144,101,100,105,116,111,114,58,107,101,121,60,98,62, - 0,1,13642,3841,13617,1,64,19,17,1,37420,1,64,2049,3116,10,38523,38572,144,101, - 100,105,116,111,114,58,107,101,121,60,109,62,0,1,37420,1,13642,3841,13617,1, - 64,19,17,1,64,2049,3116,10,38555,38604,144,101,100,105,116,111,114,58,107,101, - 121,60,66,62,0,1,13642,1,37498,1,1024,2049,3116,10,38587,38630,144,101,100,105, - 116,111,114,58,107,101,121,60,77,62,0,1,37498,1,13642,1,1024,2049,3116,10, - 38613,38656,144,101,100,105,116,111,114,58,107,101,121,60,105,62,0,2049,31775,2049, - 31639,10,38639,38678,144,101,100,105,116,111,114,58,107,101,121,60,121,62,0,3841, - 13601,2049,31729,10,38661,38700,144,101,100,105,116,111,114,58,107,101,121,60,113,62, - 0,2049,2356,4097,32504,10,38683,38722,144,101,100,105,116,111,114,58,107,101,121,60, - 96,62,0,2049,32390,10,38705,38742,144,101,100,105,116,111,114,58,107,101,121,60, - 33,62,0,1,13642,3841,13601,1,2,19,2049,13187,1,13642,1,512,17,3841,13601,1, - 2,19,2049,2880,2049,13187,10,38725,38783,144,101,100,105,116,111,114,58,107,101,121, - 60,64,62,0,1,13642,3841,13601,1,2,19,2049,13121,1,13642,1,512,17,3841,13601, - 1,2,19,2049,2880,2049,13121,10,0 }; + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37201,38371,144,101,100, + 105,116,111,114,58,107,101,121,60,98,62,0,1,13473,3841,13448,1,64,19,17, + 1,37251,1,64,2049,3116,10,38354,38403,144,101,100,105,116,111,114,58,107,101,121, + 60,109,62,0,1,37251,1,13473,3841,13448,1,64,19,17,1,64,2049,3116,10,38386, + 38435,144,101,100,105,116,111,114,58,107,101,121,60,66,62,0,1,13473,1,37329, + 1,1024,2049,3116,10,38418,38461,144,101,100,105,116,111,114,58,107,101,121,60,77, + 62,0,1,37329,1,13473,1,1024,2049,3116,10,38444,38487,144,101,100,105,116,111,114, + 58,107,101,121,60,105,62,0,2049,31606,2049,31470,10,38470,38509,144,101,100,105,116, + 111,114,58,107,101,121,60,121,62,0,3841,13432,2049,31560,10,38492,38531,144,101,100, + 105,116,111,114,58,107,101,121,60,113,62,0,2049,2356,4097,32335,10,38514,38553,144, + 101,100,105,116,111,114,58,107,101,121,60,96,62,0,2049,32221,10,38536,38573,144, + 101,100,105,116,111,114,58,107,101,121,60,33,62,0,1,13473,3841,13432,1,2, + 19,2049,13018,1,13473,1,512,17,3841,13432,1,2,19,2049,2880,2049,13018,10,38556,38614, + 144,101,100,105,116,111,114,58,107,101,121,60,64,62,0,1,13473,3841,13432,1, + 2,19,2049,12952,1,13473,1,512,17,3841,13432,1,2,19,2049,2880,2049,12952,10,0 }; diff --git a/vm/nga-c/retro-image.c b/vm/nga-c/retro-image.c index 7cb0d59..14b9703 100644 --- a/vm/nga-c/retro-image.c +++ b/vm/nga-c/retro-image.c @@ -179,7 +179,7 @@ CELL ngaImage[] = { 1793,14061,14605,14758,202004,0,10,1,10,2,10,3,10,4,10,5,10, 4097,3255,10,3423,3477,131,84,101,109,112,83,116,114,105,110,103,115,0,32,3462, 3495,131,84,101,109,112,83,116,114,105,110,103,77,97,120,0,512,3478,3507,144, 83,84,82,73,78,71,83,0,2049,1543,3841,3477,3841,3495,19,18,10,3496,3527,131, - 67,117,114,114,101,110,116,0,11,10,3516,3542,144,115,58,112,111,105,110,116, + 67,117,114,114,101,110,116,0,5,10,3516,3542,144,115,58,112,111,105,110,116, 101,114,0,3841,3527,3841,3495,19,2049,3507,17,10,3529,3561,144,115,58,110,101,120, 116,0,1,3527,2049,2978,3841,3527,3841,3477,11,1793,3577,1,0,4097,3527,10,1,3572, 9,10,3496,3591,144,115,58,116,101,109,112,0,2,2049,79,2049,2880,2049,3542,4, @@ -202,33 +202,33 @@ CELL ngaImage[] = { 1793,14061,14605,14758,202004,0,10,1,10,2,10,3,10,4,10,5,10, 25,4,1793,3926,67502597,12,10,1,3923,2049,2106,4,25,3,1,3917,7,10,1,3917, 2049,2116,1793,3948,18,2049,2893,772,10,1,3943,2049,2116,2049,79,67502597,11,1793,3962,3, 1,-1,10,1,3958,9,10,3900,3986,144,115,58,99,111,110,116,97,105,110,115, - 45,99,104,97,114,63,0,2049,3914,1,-1,12,10,3966,3999,131,83,114,99,0, - 0,3992,4007,131,84,97,114,0,0,4000,4015,131,80,97,100,0,0,4008,4021,131, - 73,0,0,4016,4027,131,70,0,0,4022,4034,131,65,116,0,0,4028,4048,144,116, - 101,114,109,105,110,97,116,101,0,1,0,3841,4015,3841,4007,2049,79,17,16,10, - 4035,4070,144,101,120,116,114,97,99,116,0,3841,3999,3841,4021,17,3841,4015,3841,4007, - 2049,79,2049,3116,10,4059,4095,144,99,111,109,112,97,114,101,0,3841,4015,3841,4007, - 2049,93,3841,4027,22,4097,4027,3841,4027,1793,4115,3841,4021,4097,4034,10,1,4110,2049,70, - 10,4084,4128,144,110,101,120,116,0,1,4021,2049,2978,10,3966,4155,144,115,58,99, - 111,110,116,97,105,110,115,45,115,116,114,105,110,103,63,0,4097,4007,4097,3999, - 2049,3617,4097,4015,1,0,4097,4021,1,0,4097,4027,3841,3999,2049,79,1793,4186,2049,4070, - 2049,4048,2049,4095,2049,4128,10,1,4177,2049,2281,3841,4027,10,4133,4214,144,115,58,105, - 110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,4097,4007,4097,3999,2049, - 3617,4097,4015,1,0,4097,4021,1,0,4097,4027,1,-1,4097,4034,3841,3999,2049,79,1793, - 4249,2049,4070,2049,4048,2049,4095,2049,4128,10,1,4240,2049,2281,3841,4027,1793,4260,3841,4034, - 10,1,4257,1793,4267,1,-1,10,1,4264,2049,64,10,4193,4284,144,115,58,102,105, - 108,116,101,114,0,1793,4312,2049,3617,2049,3418,4,1793,4304,2049,2096,4,8,1,3326, - 1,11,2049,64,10,1,4293,2049,3860,3,2049,3292,10,1,4286,2049,3442,10,4272,4326, - 144,115,58,109,97,112,0,1793,4348,2049,3617,2049,3418,4,1793,4340,67502597,8,2049,3326, - 10,1,4335,2049,3860,3,2049,3292,10,1,4328,2049,3442,10,4317,4365,144,115,58,115, - 117,98,115,116,114,0,1793,4371,17,2049,3617,10,1,4367,2049,2106,1793,4383,67502597,1, - 3116,2049,2106,10,1,4377,2049,2116,67502597,1793,4396,17,1,0,4,16,10,1,4390,2049, - 2106,10,4353,4412,144,115,58,114,105,103,104,116,0,67502597,2049,79,67502597,18,4,2049, - 4365,10,4401,4431,144,115,58,108,101,102,116,0,1,0,4,2049,4365,10,4421,4455, - 144,115,58,98,101,103,105,110,115,45,119,105,116,104,63,0,2,2049,79,1, - 13,2049,2106,2049,4431,2049,93,10,4437,4483,144,115,58,101,110,100,115,45,119,105, - 116,104,63,0,2,2049,79,1,13,2049,2106,2049,4412,2049,93,10,4467,4505,144,115, - 58,104,97,115,104,0,1,5381,4,1793,4513,286458116,33,10,1,4510,2049,3860,10,4495, + 45,99,104,97,114,63,0,2049,3914,1,-1,12,10,3966,4002,144,115,58,104,97, + 115,104,0,1,5381,4,1793,4010,286458116,33,10,1,4007,2049,3860,10,3992,4026,144,101, + 120,116,114,97,99,116,0,2049,2096,2049,1877,4,2049,3116,2049,1877,67502597,17,1,0, + 4,16,10,4015,4050,144,109,97,115,107,0,67503109,67503109,1793,4067,1793,4062,4,1,48, + 2049,2106,10,1,4056,2049,2106,10,1,4054,2049,2106,10,4042,4084,144,108,111,99,97, + 116,105,111,110,0,67503109,67503109,1793,4117,1793,4112,4,1793,4098,67502597,2049,2533,21,10,1, + 4093,2049,2106,4,1793,4108,772,2,10,1,4105,9,10,1,4090,2049,2106,10,1,4088, + 2049,2106,10,4072,4131,144,115,101,116,117,112,0,1,0,67503109,67503109,1,79,1,4002, + 2049,2128,2049,3617,2049,3418,1793,4151,67502597,2049,79,10,1,4147,2049,2106,4,10,3992,4179, + 144,115,58,99,111,110,116,97,105,110,115,45,115,116,114,105,110,103,63,0, + 1793,4214,2049,4131,1793,4209,1,4026,2049,2106,1793,4196,1,2880,2049,2106,10,1,4191,2049, + 2106,2049,1877,2049,4002,67502597,11,2049,4050,10,1,4185,2049,2281,10,1,4181,2049,3442,771, + 3,10,4157,4242,144,115,58,105,110,100,101,120,45,111,102,45,115,116,114,105, + 110,103,0,67502597,1793,4287,1793,4280,2049,4131,1793,4275,1,4026,2049,2106,1793,4262,1,2880, + 2049,2106,10,1,4257,2049,2106,2049,1877,2049,4002,67502597,11,2049,4084,10,1,4251,2049,2281, + 10,1,4247,2049,3442,771,3,10,1,4245,2049,2106,18,2049,2893,10,4221,4307,144,115, + 58,102,105,108,116,101,114,0,1793,4335,2049,3617,2049,3418,4,1793,4327,2049,2096,4, + 8,1,3326,1,11,2049,64,10,1,4316,2049,3860,3,2049,3292,10,1,4309,2049,3442, + 10,4295,4349,144,115,58,109,97,112,0,1793,4371,2049,3617,2049,3418,4,1793,4363,67502597, + 8,2049,3326,10,1,4358,2049,3860,3,2049,3292,10,1,4351,2049,3442,10,4340,4388,144, + 115,58,115,117,98,115,116,114,0,1793,4394,17,2049,3617,10,1,4390,2049,2106,1793, + 4406,67502597,1,3116,2049,2106,10,1,4400,2049,2116,67502597,1793,4419,17,1,0,4,16,10, + 1,4413,2049,2106,10,4376,4435,144,115,58,114,105,103,104,116,0,67502597,2049,79,67502597, + 18,4,2049,4388,10,4424,4454,144,115,58,108,101,102,116,0,1,0,4,2049,4388, + 10,4444,4478,144,115,58,98,101,103,105,110,115,45,119,105,116,104,63,0,2, + 2049,79,1,13,2049,2106,2049,4454,2049,93,10,4460,4506,144,115,58,101,110,100,115, + 45,119,105,116,104,63,0,2,2049,79,1,13,2049,2106,2049,4435,2049,93,10,4490, 4528,144,115,58,99,111,112,121,0,67502597,2049,79,2049,2880,2049,3116,10,4518,4548,144, 115,58,68,73,71,73,84,83,0,2049,3636,48,49,50,51,52,53,54,55,56, 57,0,1,4550,10,4536,4585,144,115,58,65,83,67,73,73,45,76,79,87,69, @@ -291,8 +291,8 @@ CELL ngaImage[] = { 1793,14061,14605,14758,202004,0,10,1,10,2,10,3,10,4,10,5,10, 144,99,58,116,111,103,103,108,101,45,99,97,115,101,0,2,2049,5294,1,5637, 1,5660,2049,64,10,5697,5739,144,99,58,116,111,45,110,117,109,98,101,114,0, 2,2049,5357,1793,5748,1,48,18,10,1,5744,1793,5756,3,1,0,10,1,5752,2049, - 64,10,5724,5775,144,115,58,116,111,45,117,112,112,101,114,0,1,5637,2049,4326, - 10,5761,5794,144,115,58,116,111,45,108,111,119,101,114,0,1,5660,2049,4326,10, + 64,10,5724,5775,144,115,58,116,111,45,117,112,112,101,114,0,1,5637,2049,4349, + 10,5761,5794,144,115,58,116,111,45,108,111,119,101,114,0,1,5660,2049,4349,10, 5780,5814,144,115,58,116,114,105,109,45,108,101,102,116,0,2049,3591,1793,5828,2049, 56,1,5472,1,2549,2049,2128,21,10,1,5818,2049,2233,2049,2893,10,5799,5851,144,115, 58,116,114,105,109,45,114,105,103,104,116,0,2049,3591,2049,3741,2049,5814,2049,3741, @@ -304,12 +304,12 @@ CELL ngaImage[] = { 1793,14061,14605,14758,202004,0,10,1,10,2,10,3,10,4,10,5,10, 10,1,5955,9,2049,3292,2049,3741,10,1,5922,2049,3442,10,5905,5995,131,82,101,119, 114,105,116,101,85,110,100,101,114,115,99,111,114,101,115,0,-1,5973,6003,144, 115,117,98,0,1,95,1793,6010,1,32,10,1,6007,2049,2379,10,5996,6026,144,114, - 101,119,114,105,116,101,0,3841,5995,1793,6035,1,6003,2049,4326,10,1,6030,9,10, + 101,119,114,105,116,101,0,3841,5995,1793,6035,1,6003,2049,4349,10,1,6030,9,10, 6015,6049,144,104,97,110,100,108,101,0,1,3695,8,10,5973,6065,156,112,114,101, 102,105,120,58,39,0,2049,6026,2049,6049,10,6053,6081,144,115,58,115,112,108,105, - 116,0,2049,2096,2049,3914,772,2049,2096,2049,4431,1,38,2049,2106,10,6070,6116,144,115, + 116,0,2049,2096,2049,3914,772,2049,2096,2049,4454,1,38,2049,2106,10,6070,6116,144,115, 58,115,112,108,105,116,45,111,110,45,115,116,114,105,110,103,0,2049,2096,2049, - 4214,2049,2880,772,2049,2096,2049,4431,1,38,2049,2106,10,6095,6145,144,115,58,114,101, + 4242,2049,2880,772,2049,2096,2049,4454,1,38,2049,2106,10,6095,6145,144,115,58,114,101, 112,108,97,99,101,0,67502597,2049,79,2049,1877,16,1793,6161,2049,6116,4,2049,1877,15, 17,10,1,6153,2049,2106,2049,3801,2049,3842,10,6132,6182,131,83,112,108,105,116,45, 79,110,0,0,6170,6193,144,109,97,116,99,104,63,0,3841,6182,11,10,6183,6210, @@ -433,7 +433,7 @@ CELL ngaImage[] = { 1793,14061,14605,14758,202004,0,10,1,10,2,10,3,10,4,10,5,10, 110,100,115,45,119,105,116,104,63,0,1,3,1793,8565,2,2049,7410,1,13,2049, 2106,2049,8265,2049,8464,10,1,8553,2049,3069,10,8533,8586,144,99,117,114,114,101,110, 116,45,108,105,110,101,0,2049,3507,1,1025,18,10,8570,8608,144,99,111,117,110, - 116,45,116,111,107,101,110,115,0,1793,8614,1,32,11,10,1,8610,2049,4284,2049, + 116,45,116,111,107,101,110,115,0,1793,8614,1,32,11,10,1,8610,2049,4307,2049, 79,10,8592,8639,144,112,114,111,99,101,115,115,45,116,111,107,101,110,115,0, 1793,8667,1,32,2049,6081,4,1793,8660,2,2049,79,2049,2549,1,365,1,11,2049,64, 10,1,8648,2049,2106,2049,2880,10,1,8641,2049,2281,2049,365,10,8533,8688,144,115,58, @@ -730,14 +730,14 @@ CELL ngaImage[] = { 1793,14061,14605,14758,202004,0,10,1,10,2,10,3,10,4,10,5,10, 100,0,1,12,2049,14195,10,14461,14497,144,100,58,119,111,114,100,115,0,1793,14506, 2049,162,2049,9111,2049,9085,10,1,14499,2049,7321,10,14486,14527,144,100,58,119,111,114, 100,115,45,119,105,116,104,0,2049,1877,2049,4528,1793,14558,2049,162,2,2049,1877,2049, - 4155,1793,14547,2049,9111,2049,9085,10,1,14542,1793,14553,3,10,1,14551,2049,64,10,1, + 4179,1793,14547,2049,9111,2049,9085,10,1,14542,1793,14553,3,10,1,14551,2049,64,10,1, 14533,2049,7321,10,14511,14582,144,100,105,115,112,108,97,121,45,105,102,45,108,101, - 102,116,0,2,2049,1877,2049,4455,1793,14594,2049,9111,2049,9085,10,1,14589,1793,14600,3, + 102,116,0,2,2049,1877,2049,4478,1793,14594,2049,9111,2049,9085,10,1,14589,1793,14600,3, 10,1,14598,2049,64,10,14511,14631,144,100,58,119,111,114,100,115,45,98,101,103, 105,110,110,105,110,103,45,119,105,116,104,0,2049,1877,2049,4528,1793,14642,2049,162, 2049,14582,10,1,14637,2049,7321,10,14605,14657,144,102,105,101,108,100,115,0,3841,2, 2049,105,2049,105,2049,105,10,14647,14683,144,105,110,118,97,108,105,100,45,110,97, 109,101,63,0,2,1,32,2049,3986,10,14666,14700,144,114,101,119,114,105,116,101, - 0,1793,14714,1,32,1793,14709,1,95,10,1,14706,2049,2379,10,1,14702,2049,4326,10, + 0,1793,14714,1,32,1793,14709,1,95,10,1,14706,2049,2379,10,1,14702,2049,4349,10, 14689,14728,144,101,110,116,114,121,0,2049,1877,1,21,2049,2106,4097,2,10,1793,14756, 1793,14751,2049,14657,2049,14683,1,14700,9,2049,119,10,1,14741,2049,14728,10,1,14739,0 };