From: Ulya Trofimovich Date: Sat, 25 Jun 2016 15:22:08 +0000 (+0100) Subject: Fixed #147 "Please add symbol name to "can't find symbol" error message". X-Git-Tag: 1.0~39^2~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=20dc41d6cd132ce6ff273fd3dba76278f357c08c;p=re2c Fixed #147 "Please add symbol name to "can't find symbol" error message". As suggested by sirzooro: Please add symbol name to "can't find symbol" error message, it would allow to quickly spot what is wrong. Now we have to position cursor at given row and column to find that name. Also tweaked error reporitng function to append "..." at the end of the message if it didn't fit into buffer. --- diff --git a/re2c/bootstrap/src/ast/lex.cc b/re2c/bootstrap/src/ast/lex.cc index d322d54d..2e76152d 100644 --- a/re2c/bootstrap/src/ast/lex.cc +++ b/re2c/bootstrap/src/ast/lex.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Sat Jul 29 19:04:57 2017 */ +/* Generated by re2c 0.16 on Sun Jul 30 16:18:18 2017 */ #line 1 "../src/ast/lex.re" #include "src/util/c99_stdint.h" #include diff --git a/re2c/bootstrap/src/ast/parser.cc b/re2c/bootstrap/src/ast/parser.cc index 4ef1fe4f..3bd3e9a6 100644 --- a/re2c/bootstrap/src/ast/parser.cc +++ b/re2c/bootstrap/src/ast/parser.cc @@ -475,7 +475,7 @@ static const yytype_uint8 yyrline[] = 92, 96, 96, 99, 103, 107, 114, 121, 128, 134, 136, 142, 149, 150, 156, 162, 169, 171, 177, 181, 188, 192, 199, 203, 210, 211, 217, 222, 223, 227, - 228, 229, 233, 234, 244 + 228, 229, 233, 234, 245 }; #endif @@ -1557,7 +1557,8 @@ yyreduce: { symtab_t::iterator i = context.symtab.find(*(yyvsp[0].str)); if (i == context.symtab.end()) { - fatal_l(context.input.get_cline(), "can't find symbol"); + fatal_l(context.input.get_cline(), + "undefined symbol '%s'", (yyvsp[0].str)->c_str()); } (yyval.regexp) = i->second; if (ast_need_wrap((yyval.regexp))) { diff --git a/re2c/src/ast/parser.ypp b/re2c/src/ast/parser.ypp index 2d78534e..76a6a567 100644 --- a/re2c/src/ast/parser.ypp +++ b/re2c/src/ast/parser.ypp @@ -234,7 +234,8 @@ primary | TOKEN_ID { symtab_t::iterator i = context.symtab.find(*$1); if (i == context.symtab.end()) { - fatal_l(context.input.get_cline(), "can't find symbol"); + fatal_l(context.input.get_cline(), + "undefined symbol '%s'", $1->c_str()); } $$ = i->second; if (ast_need_wrap($$)) { diff --git a/re2c/test/bug147.c b/re2c/test/bug147.c new file mode 100644 index 00000000..066cd7d1 --- /dev/null +++ b/re2c/test/bug147.c @@ -0,0 +1 @@ +re2c: error: line 2: undefined symbol 'name1' diff --git a/re2c/test/bug147.re b/re2c/test/bug147.re new file mode 100644 index 00000000..5d9eff34 --- /dev/null +++ b/re2c/test/bug147.re @@ -0,0 +1,3 @@ +/*!re2c + name1 {} +*/ diff --git a/re2c/test/overflow-2.c b/re2c/test/overflow-2.c index 959cd28b..3d9ede4f 100644 --- a/re2c/test/overflow-2.c +++ b/re2c/test/overflow-2.c @@ -1 +1 @@ -re2c: error: line 2: can't find symbol +re2c: error: line 2: undefined symbol 'x0000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfowQ' diff --git a/re2c/test/overflow-3.c b/re2c/test/overflow-3.c index 959cd28b..3d9ede4f 100644 --- a/re2c/test/overflow-3.c +++ b/re2c/test/overflow-3.c @@ -1 +1 @@ -re2c: error: line 2: can't find symbol +re2c: error: line 2: undefined symbol 'x0000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfowQ'