diff --git a/dvm/fdvm/trunk/Sage/h/tag b/dvm/fdvm/trunk/Sage/h/tag index 3ea61d6..77be3b4 100644 --- a/dvm/fdvm/trunk/Sage/h/tag +++ b/dvm/fdvm/trunk/Sage/h/tag @@ -619,3 +619,7 @@ #define SPF_PARAMETER_OP 969 /* SAPFOR */ #define SPF_CODE_COVERAGE_OP 970 /* SAPFOR */ #define SPF_UNROLL_OP 971 /* SAPFOR */ +#define SPF_COVER_OP 972 /* SAPFOR */ +#define SPF_MERGE_OP 973 /* SAPFOR */ +#define SPF_PROCESS_PRIVATE_OP 974 /* SAPFOR */ + diff --git a/dvm/fdvm/trunk/Sage/h/tag.h b/dvm/fdvm/trunk/Sage/h/tag.h index f09a6cf..38e9115 100644 --- a/dvm/fdvm/trunk/Sage/h/tag.h +++ b/dvm/fdvm/trunk/Sage/h/tag.h @@ -621,3 +621,7 @@ script using "tag". Run make tag.h to regenerate this file */ tag [ SPF_PARAMETER_OP ] = "SPF_PARAMETER_OP"; tag [ SPF_CODE_COVERAGE_OP ] = "SPF_CODE_COVERAGE_OP"; tag [ SPF_UNROLL_OP ] = "SPF_UNROLL_OP"; + tag [ SPF_COVER_OP ] = "SPF_COVER_OP"; + tag [ SPF_MERGE_OP ] = "SPF_MERGE_OP"; + tag [ SPF_PROCESS_PRIVATE_OP ] = "SPF_PROCESS_PRIVATE_OP"; + diff --git a/dvm/fdvm/trunk/Sage/lib/include/bif_node.def b/dvm/fdvm/trunk/Sage/lib/include/bif_node.def index 5b3293a..ee6f4e4 100644 --- a/dvm/fdvm/trunk/Sage/lib/include/bif_node.def +++ b/dvm/fdvm/trunk/Sage/lib/include/bif_node.def @@ -460,6 +460,9 @@ DEFNODECODE(SPF_FLEXIBLE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_') DEFNODECODE(SPF_PARAMETER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_') DEFNODECODE(SPF_CODE_COVERAGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_') DEFNODECODE(SPF_UNROLL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_') +DEFNODECODE(SPF_COVER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_') +DEFNODECODE(SPF_MERGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_') +DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_') DEFNODECODE(SPF_ANALYSIS_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_') DEFNODECODE(SPF_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_') diff --git a/dvm/fdvm/trunk/Sage/lib/include/unparseDVM.def b/dvm/fdvm/trunk/Sage/lib/include/unparseDVM.def index 3e54b9c..2dc62a0 100644 --- a/dvm/fdvm/trunk/Sage/lib/include/unparseDVM.def +++ b/dvm/fdvm/trunk/Sage/lib/include/unparseDVM.def @@ -432,5 +432,11 @@ DEFNODECODE(SPF_PARAMETER_OP, "PARAMETER (%LL1)", 'e',1,LLNODE) DEFNODECODE(SPF_UNROLL_OP, "UNROLL %IF(%LL1 != %NULL)(%LL1)%ENDIF", 'e',1,LLNODE) +DEFNODECODE(SPF_MERGE_OP, "MERGE", +'e',0,LLNODE) +DEFNODECODE(SPF_COVER_OP, "COVER (%LL1)", +'e',1,LLNODE) +DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "PROCESS_PRIVATE_OP (%LL1)", +'e',1,LLNODE) diff --git a/dvm/fdvm/trunk/parser/fspf.gram b/dvm/fdvm/trunk/parser/fspf.gram index 4633090..a4da9b5 100644 --- a/dvm/fdvm/trunk/parser/fspf.gram +++ b/dvm/fdvm/trunk/parser/fspf.gram @@ -60,17 +60,27 @@ analysis_spec_list: analysis_spec analysis_spec: analysis_reduction_spec | analysis_private_spec - | analysis_parameter_spec + | analysis_process_private_spec + | analysis_parameter_spec + | analysis_cover_spec ; analysis_reduction_spec: needkeyword REDUCTION LEFTPAR reduction_list RIGHTPAR { $$ = make_llnd(fi,REDUCTION_OP,$4,LLNULL,SMNULL); } - ; + ; analysis_private_spec: needkeyword PRIVATE LEFTPAR variable_list RIGHTPAR { $$ = make_llnd(fi,ACC_PRIVATE_OP,$4,LLNULL,SMNULL);} ; +analysis_process_private_spec: needkeyword SPF_PROCESS_PRIVATE LEFTPAR variable_list RIGHTPAR + { $$ = make_llnd(fi,SPF_PROCESS_PRIVATE_OP,$4,LLNULL,SMNULL);} + ; + +analysis_cover_spec: needkeyword SPF_COVER LEFTPAR integer_constant RIGHTPAR + { $$ = make_llnd(fi,SPF_COVER_OP,$4,LLNULL,SMNULL);} + ; + analysis_parameter_spec: needkeyword PARAMETER LEFTPAR spf_parameter_list RIGHTPAR { $$ = make_llnd(fi,SPF_PARAMETER_OP,$4,LLNULL,SMNULL);} ; @@ -128,6 +138,8 @@ transform_spec: needkeyword SPF_NOINLINE { $$ = make_llnd(fi,SPF_UNROLL_OP,LLNULL,LLNULL,SMNULL);} | needkeyword SPF_UNROLL LEFTPAR unroll_list RIGHTPAR { $$ = make_llnd(fi,SPF_UNROLL_OP,$4,LLNULL,SMNULL);} + | needkeyword SPF_MERGE + { $$ = make_llnd(fi,SPF_MERGE_OP,LLNULL,LLNULL,SMNULL);} ; unroll_list: expr COMMA expr COMMA expr diff --git a/dvm/fdvm/trunk/parser/ftn.gram b/dvm/fdvm/trunk/parser/ftn.gram index 5f6ba06..ac40184 100644 --- a/dvm/fdvm/trunk/parser/ftn.gram +++ b/dvm/fdvm/trunk/parser/ftn.gram @@ -281,6 +281,7 @@ static int in_vec = NO; /* set if processing array constructor */ %type spf_directive spf_analysis spf_parallel spf_transform spf_parallel_reg spf_end_parallel_reg %type spf_checkpoint %type analysis_spec_list analysis_spec analysis_reduction_spec analysis_private_spec analysis_parameter_spec +%type analysis_cover_spec analysis_process_private_spec %type parallel_spec_list parallel_spec parallel_shadow_spec parallel_across_spec parallel_remote_access_spec %type transform_spec_list transform_spec array_element_list spf_parameter_list spf_parameter %type characteristic characteristic_list opt_clause_apply_region opt_clause_apply_fragment diff --git a/dvm/fdvm/trunk/parser/gram1.tab.c b/dvm/fdvm/trunk/parser/gram1.tab.c index 930d453..9d27b48 100644 --- a/dvm/fdvm/trunk/parser/gram1.tab.c +++ b/dvm/fdvm/trunk/parser/gram1.tab.c @@ -418,8 +418,11 @@ SPF_APPLY_FRAGMENT = 350, SPF_CODE_COVERAGE = 351, SPF_UNROLL = 352, - BINARY_OP = 355, - UNARY_OP = 356 + SPF_MERGE = 353, + SPF_COVER = 354, + SPF_PROCESS_PRIVATE = 355, + BINARY_OP = 358, + UNARY_OP = 359 }; #endif /* Tokens. */ @@ -775,14 +778,17 @@ #define SPF_APPLY_FRAGMENT 350 #define SPF_CODE_COVERAGE 351 #define SPF_UNROLL 352 -#define BINARY_OP 355 -#define UNARY_OP 356 +#define SPF_MERGE 353 +#define SPF_COVER 354 +#define SPF_PROCESS_PRIVATE 355 +#define BINARY_OP 358 +#define UNARY_OP 359 /* Copy the first part of user declarations. */ -#line 354 "gram1.y" +#line 357 "gram1.y" #include #include "inc.h" @@ -884,7 +890,7 @@ static int in_vec = NO; /* set if processing array constructor */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 435 "gram1.y" +#line 438 "gram1.y" { int token; char charv; @@ -897,7 +903,7 @@ typedef union YYSTYPE PTR_LABEL label; } /* Line 187 of yacc.c. */ -#line 901 "gram1.tab.c" +#line 907 "gram1.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -907,7 +913,7 @@ typedef union YYSTYPE /* Copy the second part of user declarations. */ -#line 642 "gram1.y" +#line 646 "gram1.y" void add_scope_level(); void delete_beyond_scope_level(); @@ -1055,7 +1061,7 @@ PTR_BFND make_parallelworkshare();/*OMP*/ /* Line 216 of yacc.c. */ -#line 1059 "gram1.tab.c" +#line 1065 "gram1.tab.c" #ifdef short # undef short @@ -1270,20 +1276,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5799 +#define YYLAST 5895 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 357 +#define YYNTOKENS 360 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 539 +#define YYNNTS 541 /* YYNRULES -- Number of rules. */ -#define YYNRULES 1297 +#define YYNRULES 1302 /* YYNRULES -- Number of states. */ -#define YYNSTATES 2585 +#define YYNSTATES 2596 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 356 +#define YYMAXUTOK 359 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1326,7 +1332,7 @@ static const yytype_uint16 yytranslate[] = 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 1, 2, 355, 356 + 352, 353, 354, 355, 356, 357, 1, 2, 358, 359 }; #if YYDEBUG @@ -1459,592 +1465,596 @@ static const yytype_uint16 yyprhs[] = 4104, 4106, 4108, 4110, 4114, 4117, 4120, 4122, 4124, 4128, 4131, 4134, 4136, 4138, 4140, 4142, 4144, 4146, 4152, 4158, 4164, 4168, 4179, 4190, 4192, 4196, 4199, 4200, 4207, 4208, - 4215, 4218, 4220, 4224, 4226, 4228, 4230, 4236, 4242, 4248, - 4250, 4254, 4258, 4260, 4264, 4266, 4268, 4270, 4276, 4282, - 4288, 4290, 4294, 4297, 4303, 4306, 4312, 4318, 4321, 4327, - 4333, 4335, 4337, 4341, 4347, 4349, 4353, 4359, 4365, 4371, - 4377, 4385, 4387, 4391, 4394, 4397, 4400, 4403 + 4215, 4218, 4220, 4224, 4226, 4228, 4230, 4232, 4234, 4240, + 4246, 4252, 4258, 4264, 4266, 4270, 4274, 4276, 4280, 4282, + 4284, 4286, 4292, 4298, 4304, 4306, 4310, 4313, 4319, 4322, + 4328, 4334, 4337, 4343, 4346, 4352, 4354, 4356, 4360, 4366, + 4368, 4372, 4378, 4384, 4390, 4396, 4404, 4406, 4410, 4413, + 4416, 4419, 4422 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 358, 0, -1, -1, 358, 359, 116, -1, 360, 361, - 578, -1, 360, 378, 578, -1, 360, 523, 578, -1, - 360, 133, 374, -1, 360, 247, -1, 257, -1, 1, - -1, 150, -1, 193, 362, 369, -1, 57, 362, 370, - -1, 233, 362, 364, 371, -1, 363, 233, 362, 364, - 371, -1, 124, 362, 365, 371, 367, -1, 366, 371, - 367, -1, 114, 368, 371, 367, -1, 164, 362, 368, - -1, -1, 202, 375, -1, 195, 375, -1, 95, 375, - -1, 368, -1, 368, -1, 399, 124, 362, 368, -1, - 399, 363, 124, 362, 368, -1, 363, 124, 362, 368, - -1, 363, 399, 124, 362, 368, -1, 375, 376, -1, - 375, 213, 15, 368, 21, -1, 129, -1, -1, 368, - -1, -1, 368, -1, -1, 15, 21, -1, 15, 372, - 21, -1, 373, -1, 372, 8, 373, -1, 368, -1, - 5, -1, 64, -1, -1, -1, -1, 383, -1, 384, - -1, 385, -1, 415, -1, 411, -1, 579, -1, 420, - -1, 421, -1, 422, -1, 480, -1, 401, -1, 416, - -1, 426, -1, 216, 490, -1, 216, 490, 491, 457, - -1, 123, 489, -1, 183, 490, 15, 463, 21, -1, - 391, -1, 392, -1, 397, -1, 394, -1, 396, -1, - 412, -1, 413, -1, 414, -1, 379, -1, 467, -1, - 465, -1, 393, -1, 142, 490, -1, 142, 490, 368, - -1, 141, 490, 15, 381, 21, -1, 140, 490, 15, - 26, 21, -1, 107, 532, -1, 10, -1, 380, -1, - 382, -1, 17, -1, 16, -1, 5, -1, 9, -1, + 361, 0, -1, -1, 361, 362, 116, -1, 363, 364, + 581, -1, 363, 381, 581, -1, 363, 526, 581, -1, + 363, 133, 377, -1, 363, 247, -1, 257, -1, 1, + -1, 150, -1, 193, 365, 372, -1, 57, 365, 373, + -1, 233, 365, 367, 374, -1, 366, 233, 365, 367, + 374, -1, 124, 365, 368, 374, 370, -1, 369, 374, + 370, -1, 114, 371, 374, 370, -1, 164, 365, 371, + -1, -1, 202, 378, -1, 195, 378, -1, 95, 378, + -1, 371, -1, 371, -1, 402, 124, 365, 371, -1, + 402, 366, 124, 365, 371, -1, 366, 124, 365, 371, + -1, 366, 402, 124, 365, 371, -1, 378, 379, -1, + 378, 213, 15, 371, 21, -1, 129, -1, -1, 371, + -1, -1, 371, -1, -1, 15, 21, -1, 15, 375, + 21, -1, 376, -1, 375, 8, 376, -1, 371, -1, + 5, -1, 64, -1, -1, -1, -1, 386, -1, 387, + -1, 388, -1, 418, -1, 414, -1, 582, -1, 423, + -1, 424, -1, 425, -1, 483, -1, 404, -1, 419, + -1, 429, -1, 216, 493, -1, 216, 493, 494, 460, + -1, 123, 492, -1, 183, 493, 15, 466, 21, -1, + 394, -1, 395, -1, 400, -1, 397, -1, 399, -1, + 415, -1, 416, -1, 417, -1, 382, -1, 470, -1, + 468, -1, 396, -1, 142, 493, -1, 142, 493, 371, + -1, 141, 493, 15, 384, 21, -1, 140, 493, 15, + 26, 21, -1, 107, 535, -1, 10, -1, 383, -1, + 385, -1, 17, -1, 16, -1, 5, -1, 9, -1, 37, -1, 23, -1, 22, -1, 35, -1, 38, -1, 34, -1, 25, -1, 32, -1, 29, -1, 28, -1, - 31, -1, 30, -1, 33, -1, 24, -1, 245, 490, - 491, 368, -1, 245, 8, 490, 375, 390, 491, 368, - -1, 112, 490, -1, 112, 490, 368, -1, 399, 386, - 368, 490, 473, 405, 410, -1, 385, 8, 368, 473, - 405, 410, -1, -1, 7, 7, -1, 8, 375, 387, - 7, 7, -1, 388, -1, 387, 8, 375, 388, -1, - 183, -1, 390, -1, 44, -1, 87, 473, -1, 119, - -1, 145, 15, 389, 21, -1, 143, -1, 178, -1, - 187, -1, 216, -1, 230, -1, 236, -1, 375, 148, - -1, 375, 180, -1, 375, 147, -1, 194, -1, 191, - -1, 145, 490, 15, 389, 21, 491, 368, -1, 391, - 8, 368, -1, 178, 490, 491, 368, -1, 392, 8, - 368, -1, 230, 490, 491, 419, -1, 393, 8, 419, - -1, 191, 490, -1, 191, 490, 491, 395, 459, -1, - -1, 219, 490, -1, 194, 490, -1, 194, 490, 491, - 398, 459, -1, -1, 403, 400, 407, 400, -1, 244, - 15, 368, 21, 400, -1, -1, 402, 368, -1, 401, - 8, 368, -1, 13, -1, 6, -1, 404, -1, 144, + 31, -1, 30, -1, 33, -1, 24, -1, 245, 493, + 494, 371, -1, 245, 8, 493, 378, 393, 494, 371, + -1, 112, 493, -1, 112, 493, 371, -1, 402, 389, + 371, 493, 476, 408, 413, -1, 388, 8, 371, 476, + 408, 413, -1, -1, 7, 7, -1, 8, 378, 390, + 7, 7, -1, 391, -1, 390, 8, 378, 391, -1, + 183, -1, 393, -1, 44, -1, 87, 476, -1, 119, + -1, 145, 15, 392, 21, -1, 143, -1, 178, -1, + 187, -1, 216, -1, 230, -1, 236, -1, 378, 148, + -1, 378, 180, -1, 378, 147, -1, 194, -1, 191, + -1, 145, 493, 15, 392, 21, 494, 371, -1, 394, + 8, 371, -1, 178, 493, 494, 371, -1, 395, 8, + 371, -1, 230, 493, 494, 422, -1, 396, 8, 422, + -1, 191, 493, -1, 191, 493, 494, 398, 462, -1, + -1, 219, 493, -1, 194, 493, -1, 194, 493, 494, + 401, 462, -1, -1, 406, 403, 410, 403, -1, 244, + 15, 371, 21, 403, -1, -1, 405, 371, -1, 404, + 8, 371, -1, 13, -1, 6, -1, 407, -1, 144, -1, 200, -1, 68, -1, 90, -1, 91, -1, 154, - -1, 63, -1, -1, 406, -1, 5, 553, 510, 554, - 400, -1, 5, 553, 15, 554, 5, 21, -1, 5, - 553, 15, 554, 496, 21, -1, -1, 406, -1, 15, - 574, 408, 409, 21, -1, 15, 574, 408, 409, 8, - 574, 408, 409, 21, -1, 496, -1, 5, -1, 565, - 496, -1, 565, 5, -1, -1, -1, 26, 496, -1, - 18, 496, -1, 87, 491, 490, 368, 473, -1, 411, - 8, 368, 473, -1, 44, 490, 491, 419, -1, 412, - 8, 419, -1, 187, 490, 491, 419, -1, 413, 8, - 419, -1, 236, 490, 491, 419, -1, 414, 8, 419, - -1, 67, 490, 419, -1, 67, 490, 418, 419, -1, - 415, 547, 418, 547, 419, -1, 415, 8, 419, -1, - 167, 490, 417, 499, -1, 416, 547, 417, 547, 499, - -1, 416, 8, 499, -1, 37, 368, 37, -1, 23, - -1, 37, 368, 37, -1, 368, 473, -1, 119, 490, - 491, 368, -1, 420, 8, 368, -1, 143, 490, 491, - 368, -1, 421, 8, 368, -1, 117, 490, 423, -1, - 422, 8, 423, -1, 15, 424, 21, -1, 425, 8, - 425, -1, 424, 8, 425, -1, 368, -1, 368, 15, - 495, 21, -1, 504, -1, 427, -1, 80, 489, 428, - 430, -1, 427, 547, 430, -1, -1, -1, 431, 37, - 432, 37, -1, 433, -1, 431, 8, 433, -1, 444, - -1, 432, 8, 444, -1, 434, 436, -1, 434, 436, - 437, -1, 434, 436, 438, -1, 434, 436, 437, 438, - -1, 434, 441, -1, -1, 368, -1, 368, -1, 15, - 439, 21, -1, 15, 440, 7, 440, 21, -1, 453, - -1, 439, 8, 453, -1, -1, 453, -1, 15, 442, - 8, 435, 26, 439, 21, -1, 443, -1, 442, 8, - 443, -1, 436, 437, -1, 436, 438, -1, 436, 437, - 438, -1, 441, -1, 445, -1, 434, 435, 5, 445, - -1, 448, 5, 445, -1, 434, 435, -1, 447, -1, - 449, -1, 451, -1, 36, -1, 36, 246, 513, -1, - 27, -1, 27, 246, 513, -1, 64, -1, 446, -1, - 434, 499, 15, 574, 492, 21, -1, 59, -1, 448, - -1, 17, 448, -1, 16, 448, -1, 149, -1, 149, - 246, 513, -1, 450, -1, 17, 450, -1, 16, 450, - -1, 201, -1, 201, 246, 513, -1, 92, -1, 92, - 246, 513, -1, 15, 452, 8, 452, 21, -1, 449, - -1, 447, -1, 454, -1, 17, 454, -1, 16, 454, - -1, 453, 17, 454, -1, 453, 16, 454, -1, 455, - -1, 454, 5, 455, -1, 454, 37, 455, -1, 456, - -1, 456, 9, 455, -1, 149, -1, 435, -1, 15, - 453, 21, -1, 458, -1, 457, 8, 458, -1, 419, - -1, 418, -1, 460, 462, 461, -1, 459, 8, 460, - 462, 461, -1, -1, -1, 368, -1, 177, 15, 381, - 21, -1, 47, 15, 26, 21, -1, 464, -1, 463, - 8, 464, -1, 368, 26, 496, -1, 163, 466, -1, - 368, -1, 466, 8, 368, -1, 248, 490, 468, -1, - 248, 490, 468, 8, 377, 471, -1, 248, 490, 468, - 8, 377, 172, -1, 248, 490, 468, 8, 377, 172, - 469, -1, 368, -1, 470, -1, 469, 8, 470, -1, - 472, -1, 368, -1, 472, -1, 471, 8, 472, -1, - 368, 18, 368, -1, -1, 15, 474, 21, -1, -1, - 475, 476, -1, 474, 8, 476, -1, 477, -1, 7, - -1, 496, 7, -1, 496, 7, 477, -1, 5, -1, - 496, -1, 479, -1, 478, 8, 479, -1, 149, -1, - 130, 490, 481, -1, 131, -1, 482, -1, 481, 8, - 482, -1, 483, 15, 486, 21, -1, -1, 484, 485, - -1, 231, 404, -1, 399, -1, 487, -1, 486, 8, - 487, -1, 488, -1, 488, 16, 488, -1, 129, -1, - -1, -1, -1, 7, 7, -1, -1, 494, -1, 496, - -1, 514, -1, 565, 496, -1, 574, 493, -1, 494, - 8, 574, 493, -1, 496, -1, 495, 8, 496, -1, - 497, -1, 15, 496, 21, -1, 512, -1, 500, -1, - 508, -1, 515, -1, 496, 17, 496, -1, 496, 16, - 496, -1, 496, 5, 496, -1, 496, 37, 496, -1, - 496, 9, 496, -1, 380, 496, -1, 17, 496, -1, - 16, 496, -1, 496, 25, 496, -1, 496, 29, 496, - -1, 496, 31, 496, -1, 496, 28, 496, -1, 496, - 30, 496, -1, 496, 32, 496, -1, 496, 24, 496, - -1, 496, 33, 496, -1, 496, 38, 496, -1, 496, - 35, 496, -1, 496, 22, 496, -1, 34, 496, -1, - 496, 23, 496, -1, 496, 380, 496, -1, 17, -1, - 16, -1, 368, -1, 499, -1, 502, -1, 501, -1, - 499, 15, 574, 492, 21, -1, 499, 15, 574, 492, - 21, 506, -1, 502, 15, 492, 21, -1, 502, 15, - 492, 21, 506, -1, 500, 3, 129, -1, 499, -1, - 502, -1, 499, 15, 574, 492, 21, -1, 502, 15, - 492, 21, -1, 499, 506, -1, -1, 506, -1, 15, - 507, 7, 507, 21, -1, -1, 496, -1, 509, -1, - 509, 246, 513, -1, 510, -1, 510, 246, 513, -1, - 511, 505, -1, 36, -1, 27, -1, 201, -1, 92, - -1, 149, -1, 64, -1, 499, 246, 64, -1, 510, - 246, 64, -1, 15, 497, 8, 497, 21, -1, 499, - -1, 510, -1, 496, 7, 496, -1, 496, 7, -1, - 496, 7, 496, 7, 496, -1, 496, 7, 7, 496, - -1, 7, 496, 7, 496, -1, 7, 7, 496, -1, - 7, 496, -1, 7, -1, -1, -1, 14, 409, 516, - 571, 517, 20, -1, 499, -1, 502, -1, 503, -1, - 519, 8, 574, 503, -1, 519, 8, 574, 565, 499, - -1, 518, -1, 520, 8, 574, 518, -1, 520, 8, - 574, 565, 499, -1, -1, 499, -1, 522, 8, 499, - -1, 544, -1, 543, -1, 526, -1, 534, 526, -1, - 102, 552, 532, -1, 103, 552, 531, -1, 108, 532, - -1, 524, -1, 534, 524, -1, 535, 544, -1, 535, - 239, -1, 534, 535, 239, -1, 97, 552, 15, 496, - 21, 239, 531, -1, 96, 552, 531, -1, 106, 552, - 531, -1, 527, -1, 76, 552, -1, 536, 544, -1, - 536, -1, 534, 536, -1, 105, 552, 531, -1, 580, - -1, 844, -1, 862, -1, 89, 552, 15, 496, 21, - -1, 89, 552, 553, 542, 554, 614, 525, -1, -1, - 8, 375, 254, 15, 496, 21, -1, 254, 15, 496, - 21, -1, 185, 552, 553, 542, 554, 547, 540, 26, - 496, 8, 496, -1, 185, 552, 553, 542, 554, 547, - 540, 26, 496, 8, 496, 8, 496, -1, 62, 552, - 528, 531, -1, 84, 552, 531, -1, 110, 552, 531, - -1, 218, 552, 375, 62, 15, 496, 21, -1, 534, - 218, 552, 375, 62, 15, 496, 21, -1, 15, 530, - 21, -1, 496, -1, 496, 7, -1, 7, 496, -1, - 496, 7, 496, -1, 529, -1, 530, 8, 529, -1, - -1, 368, -1, -1, 368, -1, 75, -1, 533, 7, - -1, 155, 552, 15, 496, 21, -1, 122, 552, 15, - 537, 539, 21, -1, 538, -1, 537, 8, 538, -1, - 540, 26, 514, -1, -1, 8, 496, -1, 368, -1, - 540, 26, 496, 8, 496, -1, 540, 26, 496, 8, - 496, 8, 496, -1, -1, 149, -1, 113, 552, 531, - -1, 98, 552, 531, -1, 98, 552, 15, 496, 21, - 531, -1, 252, 552, 15, 496, 21, -1, 534, 252, - 552, 15, 496, 21, -1, 545, 496, 26, 496, -1, - 188, 552, 500, 18, 496, -1, 48, 552, 479, 240, - 368, -1, 77, 552, -1, 546, -1, 555, -1, 46, - 552, 15, 496, 21, 479, 8, 479, 8, 479, -1, - 548, -1, 548, 15, 21, -1, 548, 15, 549, 21, - -1, 214, 552, 507, -1, 551, 552, 507, -1, 79, - 552, 531, -1, 115, 552, 531, -1, 45, 552, 15, - 521, 519, 21, -1, 81, 552, 15, 521, 520, 21, - -1, 170, 552, 15, 522, 21, -1, 253, 552, 15, - 496, 21, 500, 26, 496, -1, 152, 429, -1, 186, - 552, 479, -1, 49, 552, 368, -1, 49, 552, 368, - 547, 15, 478, 21, -1, 69, 552, 15, 478, 21, - 547, 496, -1, -1, 8, -1, 61, 552, 368, 574, - -1, 574, 550, -1, 549, 8, 574, 550, -1, 496, - -1, 565, 496, -1, 5, 479, -1, 184, -1, 232, - -1, -1, -1, -1, 556, 562, -1, 556, 577, -1, - 556, 5, -1, 556, 9, -1, 558, 562, -1, 560, - -1, 566, 562, -1, 566, 561, -1, 566, 562, 569, - -1, 566, 561, 8, 569, -1, 567, 562, -1, 567, - 562, 571, -1, 568, -1, 568, 8, 571, -1, 557, - 552, 575, -1, 53, -1, 215, -1, 104, -1, 559, - 552, 575, -1, 176, -1, 66, -1, 139, 552, 575, - 562, -1, 139, 552, 575, 562, 571, -1, 577, -1, - 5, -1, 15, 576, 21, -1, 15, 563, 21, -1, - 564, -1, 563, 8, 574, 564, -1, 576, -1, 5, - -1, 9, -1, 565, 496, -1, 565, 5, -1, 565, - 9, -1, 166, -1, 197, 552, 575, -1, 256, 552, - 575, -1, 190, 552, 576, 575, -1, 190, 552, 5, - 575, -1, 570, -1, 569, 8, 570, -1, 500, -1, - 15, 569, 8, 541, 21, -1, 497, -1, 573, -1, - 572, -1, 497, 8, 497, -1, 497, 8, 573, -1, - 573, 8, 497, -1, 573, 8, 573, -1, 572, 8, - 497, -1, 572, 8, 573, -1, 512, -1, 15, 496, - 21, -1, 15, 497, 8, 541, 21, -1, 15, 573, - 8, 541, 21, -1, 15, 572, 8, 541, 21, -1, - -1, -1, 577, -1, 15, 576, 21, -1, 500, -1, - 508, -1, 576, 498, 576, -1, 576, 5, 576, -1, - 576, 37, 576, -1, 576, 9, 576, -1, 498, 576, - -1, 576, 23, 576, -1, 129, 26, 496, -1, -1, - 257, -1, 581, -1, 629, -1, 604, -1, 583, -1, - 594, -1, 589, -1, 641, -1, 644, -1, 722, -1, - 586, -1, 595, -1, 597, -1, 599, -1, 601, -1, - 649, -1, 655, -1, 652, -1, 781, -1, 779, -1, - 605, -1, 630, -1, 659, -1, 711, -1, 709, -1, - 710, -1, 712, -1, 713, -1, 714, -1, 715, -1, - 716, -1, 724, -1, 726, -1, 731, -1, 728, -1, - 730, -1, 734, -1, 732, -1, 733, -1, 745, -1, - 749, -1, 750, -1, 753, -1, 752, -1, 754, -1, - 755, -1, 756, -1, 757, -1, 658, -1, 739, -1, - 740, -1, 741, -1, 744, -1, 758, -1, 761, -1, - 766, -1, 771, -1, 773, -1, 774, -1, 775, -1, - 776, -1, 778, -1, 737, -1, 780, -1, 82, 490, - 582, -1, 581, 8, 582, -1, 368, 473, -1, 94, - 490, 584, -1, 585, -1, 584, 8, 585, -1, 368, - -1, 138, 490, 587, -1, 588, -1, 587, 8, 588, - -1, 368, -1, 228, 490, 593, 590, -1, 15, 591, - 21, -1, 592, -1, 591, 8, 592, -1, 496, -1, - 496, 7, 496, -1, 7, 15, 495, 21, -1, 368, - -1, 259, 490, 368, 473, -1, 303, 490, 368, 473, - -1, 594, 8, 368, 473, -1, 136, 490, 596, -1, - 595, 8, 596, -1, 368, -1, 211, 490, 598, -1, - 597, 8, 598, -1, 368, -1, 205, 490, 600, -1, - 599, 8, 600, -1, 368, -1, 70, 490, 602, -1, - 601, 8, 602, -1, 368, -1, 175, 368, 473, -1, - -1, 88, 490, 608, 611, 603, -1, 204, 552, 608, - 612, 614, 603, -1, 204, 552, 612, 614, 603, 7, - 7, 606, -1, 607, -1, 606, 8, 607, -1, 608, - -1, 609, -1, 368, -1, 368, 15, 495, 21, -1, - 368, -1, -1, 612, 614, -1, 15, 613, 21, -1, - 614, 615, -1, 613, 8, 614, 615, -1, -1, 58, - -1, 58, 15, 574, 628, 21, -1, 126, 15, 616, - 21, -1, 258, 15, 616, 8, 496, 21, -1, 165, - 15, 496, 21, -1, 5, -1, 137, 15, 616, 21, - -1, 86, 15, 617, 21, -1, 368, -1, 15, 618, - 21, 375, 255, 620, -1, 619, -1, 618, 8, 619, - -1, 496, -1, 496, 7, 496, -1, 621, -1, 621, - 15, 622, 21, -1, 368, -1, 623, -1, 622, 8, - 623, -1, 496, -1, 770, -1, 40, 624, 625, -1, - 368, -1, -1, 626, -1, 17, 627, -1, 625, 17, - 627, -1, 496, -1, 565, 496, -1, 565, 496, 8, - 565, 496, -1, 43, 490, 632, 634, -1, 199, 552, - 633, 634, -1, 199, 552, 634, 7, 7, 631, -1, - 633, -1, 631, 8, 633, -1, 368, -1, 499, -1, - 15, 639, 21, 375, 255, 635, -1, 638, 15, 636, - 21, -1, 637, -1, 636, 8, 637, -1, 496, -1, - 5, -1, 514, -1, 368, -1, 640, -1, 639, 8, - 640, -1, 368, -1, 5, -1, 7, -1, 642, 7, - 7, 490, 368, 473, -1, 641, 8, 368, 473, -1, - 643, -1, 642, 8, 375, 643, -1, 82, -1, 259, - -1, 303, -1, 94, -1, 87, 15, 474, 21, -1, - 228, 590, -1, 43, 15, 639, 21, 375, 255, 635, - -1, 43, -1, 88, 612, 614, 603, -1, 88, -1, - 67, -1, 399, 8, 375, 93, 490, 15, 645, 21, - 7, 7, 647, -1, -1, 646, 7, -1, 645, 8, - 7, -1, 648, -1, 647, 8, 648, -1, 368, -1, - 127, 490, 650, -1, 651, -1, 650, 8, 651, -1, - 368, -1, 74, 490, 653, -1, 654, -1, 653, 8, - 654, -1, 368, -1, 51, 490, 656, -1, 51, 490, - 8, 375, 67, 7, 7, 656, -1, 657, -1, 656, - 8, 657, -1, 368, 473, -1, 168, 552, -1, 182, - 552, 15, 660, 21, 661, 665, -1, 499, -1, 660, - 8, 499, -1, 614, 173, 662, -1, 614, -1, 499, - 15, 663, 21, -1, 664, -1, 663, 8, 664, -1, - 496, -1, 5, -1, -1, 666, -1, 667, -1, 666, - 667, -1, 671, -1, 694, -1, 702, -1, 668, -1, - 678, -1, 680, -1, 679, -1, 669, -1, 672, -1, - 673, -1, 676, -1, 8, 375, 209, 15, 717, 7, - 718, 21, -1, 8, 375, 209, 15, 718, 21, -1, - 8, 375, 71, 15, 670, 7, 718, 21, -1, 8, - 375, 71, 15, 718, 21, -1, 368, -1, 8, 375, - 169, 15, 675, 21, -1, 8, 375, 282, 15, 675, - 21, -1, 8, 375, 191, 15, 675, 21, -1, 8, - 375, 320, 15, 674, 21, -1, 496, -1, 496, 8, - 496, -1, 496, 8, 496, 8, 496, -1, 500, -1, - 675, 8, 500, -1, 8, 375, 322, 15, 677, 21, - -1, 662, -1, 677, 8, 662, -1, 8, 375, 135, - 15, 717, 7, 735, 21, -1, 8, 375, 135, 15, - 735, 21, -1, 8, 375, 229, 15, 496, 21, -1, - 8, 375, 41, 681, -1, 8, 375, 41, 681, 681, - -1, 15, 682, 683, 684, 21, -1, -1, 148, 7, - -1, 180, 7, -1, -1, 685, -1, 684, 8, 685, - -1, 707, -1, 707, 15, 686, 21, -1, 707, 15, - 686, 21, 15, 688, 21, -1, 687, -1, 686, 8, - 687, -1, 496, 7, 496, -1, 689, -1, 688, 8, - 689, -1, 690, 7, 691, 7, 692, -1, 690, 7, - 691, -1, 690, 7, 692, -1, 690, -1, 691, 7, - 692, -1, 691, -1, 692, -1, 375, 217, 693, -1, - 375, 157, 693, -1, 375, 128, 693, -1, 15, 494, - 21, -1, 8, 375, 208, 15, 695, 699, 696, 8, - 698, 21, -1, 8, 375, 208, 15, 695, 699, 696, - 21, -1, 8, 375, 208, 15, 695, 697, 696, 7, - 698, 21, -1, -1, -1, 368, -1, 375, 699, -1, - 698, 8, 375, 699, -1, 700, 15, 500, 21, -1, - 701, 15, 675, 8, 496, 21, -1, 234, -1, 192, + -1, 63, -1, -1, 409, -1, 5, 556, 513, 557, + 403, -1, 5, 556, 15, 557, 5, 21, -1, 5, + 556, 15, 557, 499, 21, -1, -1, 409, -1, 15, + 577, 411, 412, 21, -1, 15, 577, 411, 412, 8, + 577, 411, 412, 21, -1, 499, -1, 5, -1, 568, + 499, -1, 568, 5, -1, -1, -1, 26, 499, -1, + 18, 499, -1, 87, 494, 493, 371, 476, -1, 414, + 8, 371, 476, -1, 44, 493, 494, 422, -1, 415, + 8, 422, -1, 187, 493, 494, 422, -1, 416, 8, + 422, -1, 236, 493, 494, 422, -1, 417, 8, 422, + -1, 67, 493, 422, -1, 67, 493, 421, 422, -1, + 418, 550, 421, 550, 422, -1, 418, 8, 422, -1, + 167, 493, 420, 502, -1, 419, 550, 420, 550, 502, + -1, 419, 8, 502, -1, 37, 371, 37, -1, 23, + -1, 37, 371, 37, -1, 371, 476, -1, 119, 493, + 494, 371, -1, 423, 8, 371, -1, 143, 493, 494, + 371, -1, 424, 8, 371, -1, 117, 493, 426, -1, + 425, 8, 426, -1, 15, 427, 21, -1, 428, 8, + 428, -1, 427, 8, 428, -1, 371, -1, 371, 15, + 498, 21, -1, 507, -1, 430, -1, 80, 492, 431, + 433, -1, 430, 550, 433, -1, -1, -1, 434, 37, + 435, 37, -1, 436, -1, 434, 8, 436, -1, 447, + -1, 435, 8, 447, -1, 437, 439, -1, 437, 439, + 440, -1, 437, 439, 441, -1, 437, 439, 440, 441, + -1, 437, 444, -1, -1, 371, -1, 371, -1, 15, + 442, 21, -1, 15, 443, 7, 443, 21, -1, 456, + -1, 442, 8, 456, -1, -1, 456, -1, 15, 445, + 8, 438, 26, 442, 21, -1, 446, -1, 445, 8, + 446, -1, 439, 440, -1, 439, 441, -1, 439, 440, + 441, -1, 444, -1, 448, -1, 437, 438, 5, 448, + -1, 451, 5, 448, -1, 437, 438, -1, 450, -1, + 452, -1, 454, -1, 36, -1, 36, 246, 516, -1, + 27, -1, 27, 246, 516, -1, 64, -1, 449, -1, + 437, 502, 15, 577, 495, 21, -1, 59, -1, 451, + -1, 17, 451, -1, 16, 451, -1, 149, -1, 149, + 246, 516, -1, 453, -1, 17, 453, -1, 16, 453, + -1, 201, -1, 201, 246, 516, -1, 92, -1, 92, + 246, 516, -1, 15, 455, 8, 455, 21, -1, 452, + -1, 450, -1, 457, -1, 17, 457, -1, 16, 457, + -1, 456, 17, 457, -1, 456, 16, 457, -1, 458, + -1, 457, 5, 458, -1, 457, 37, 458, -1, 459, + -1, 459, 9, 458, -1, 149, -1, 438, -1, 15, + 456, 21, -1, 461, -1, 460, 8, 461, -1, 422, + -1, 421, -1, 463, 465, 464, -1, 462, 8, 463, + 465, 464, -1, -1, -1, 371, -1, 177, 15, 384, + 21, -1, 47, 15, 26, 21, -1, 467, -1, 466, + 8, 467, -1, 371, 26, 499, -1, 163, 469, -1, + 371, -1, 469, 8, 371, -1, 248, 493, 471, -1, + 248, 493, 471, 8, 380, 474, -1, 248, 493, 471, + 8, 380, 172, -1, 248, 493, 471, 8, 380, 172, + 472, -1, 371, -1, 473, -1, 472, 8, 473, -1, + 475, -1, 371, -1, 475, -1, 474, 8, 475, -1, + 371, 18, 371, -1, -1, 15, 477, 21, -1, -1, + 478, 479, -1, 477, 8, 479, -1, 480, -1, 7, + -1, 499, 7, -1, 499, 7, 480, -1, 5, -1, + 499, -1, 482, -1, 481, 8, 482, -1, 149, -1, + 130, 493, 484, -1, 131, -1, 485, -1, 484, 8, + 485, -1, 486, 15, 489, 21, -1, -1, 487, 488, + -1, 231, 407, -1, 402, -1, 490, -1, 489, 8, + 490, -1, 491, -1, 491, 16, 491, -1, 129, -1, + -1, -1, -1, 7, 7, -1, -1, 497, -1, 499, + -1, 517, -1, 568, 499, -1, 577, 496, -1, 497, + 8, 577, 496, -1, 499, -1, 498, 8, 499, -1, + 500, -1, 15, 499, 21, -1, 515, -1, 503, -1, + 511, -1, 518, -1, 499, 17, 499, -1, 499, 16, + 499, -1, 499, 5, 499, -1, 499, 37, 499, -1, + 499, 9, 499, -1, 383, 499, -1, 17, 499, -1, + 16, 499, -1, 499, 25, 499, -1, 499, 29, 499, + -1, 499, 31, 499, -1, 499, 28, 499, -1, 499, + 30, 499, -1, 499, 32, 499, -1, 499, 24, 499, + -1, 499, 33, 499, -1, 499, 38, 499, -1, 499, + 35, 499, -1, 499, 22, 499, -1, 34, 499, -1, + 499, 23, 499, -1, 499, 383, 499, -1, 17, -1, + 16, -1, 371, -1, 502, -1, 505, -1, 504, -1, + 502, 15, 577, 495, 21, -1, 502, 15, 577, 495, + 21, 509, -1, 505, 15, 495, 21, -1, 505, 15, + 495, 21, 509, -1, 503, 3, 129, -1, 502, -1, + 505, -1, 502, 15, 577, 495, 21, -1, 505, 15, + 495, 21, -1, 502, 509, -1, -1, 509, -1, 15, + 510, 7, 510, 21, -1, -1, 499, -1, 512, -1, + 512, 246, 516, -1, 513, -1, 513, 246, 516, -1, + 514, 508, -1, 36, -1, 27, -1, 201, -1, 92, + -1, 149, -1, 64, -1, 502, 246, 64, -1, 513, + 246, 64, -1, 15, 500, 8, 500, 21, -1, 502, + -1, 513, -1, 499, 7, 499, -1, 499, 7, -1, + 499, 7, 499, 7, 499, -1, 499, 7, 7, 499, + -1, 7, 499, 7, 499, -1, 7, 7, 499, -1, + 7, 499, -1, 7, -1, -1, -1, 14, 412, 519, + 574, 520, 20, -1, 502, -1, 505, -1, 506, -1, + 522, 8, 577, 506, -1, 522, 8, 577, 568, 502, + -1, 521, -1, 523, 8, 577, 521, -1, 523, 8, + 577, 568, 502, -1, -1, 502, -1, 525, 8, 502, + -1, 547, -1, 546, -1, 529, -1, 537, 529, -1, + 102, 555, 535, -1, 103, 555, 534, -1, 108, 535, + -1, 527, -1, 537, 527, -1, 538, 547, -1, 538, + 239, -1, 537, 538, 239, -1, 97, 555, 15, 499, + 21, 239, 534, -1, 96, 555, 534, -1, 106, 555, + 534, -1, 530, -1, 76, 555, -1, 539, 547, -1, + 539, -1, 537, 539, -1, 105, 555, 534, -1, 583, + -1, 847, -1, 865, -1, 89, 555, 15, 499, 21, + -1, 89, 555, 556, 545, 557, 617, 528, -1, -1, + 8, 378, 254, 15, 499, 21, -1, 254, 15, 499, + 21, -1, 185, 555, 556, 545, 557, 550, 543, 26, + 499, 8, 499, -1, 185, 555, 556, 545, 557, 550, + 543, 26, 499, 8, 499, 8, 499, -1, 62, 555, + 531, 534, -1, 84, 555, 534, -1, 110, 555, 534, + -1, 218, 555, 378, 62, 15, 499, 21, -1, 537, + 218, 555, 378, 62, 15, 499, 21, -1, 15, 533, + 21, -1, 499, -1, 499, 7, -1, 7, 499, -1, + 499, 7, 499, -1, 532, -1, 533, 8, 532, -1, + -1, 371, -1, -1, 371, -1, 75, -1, 536, 7, + -1, 155, 555, 15, 499, 21, -1, 122, 555, 15, + 540, 542, 21, -1, 541, -1, 540, 8, 541, -1, + 543, 26, 517, -1, -1, 8, 499, -1, 371, -1, + 543, 26, 499, 8, 499, -1, 543, 26, 499, 8, + 499, 8, 499, -1, -1, 149, -1, 113, 555, 534, + -1, 98, 555, 534, -1, 98, 555, 15, 499, 21, + 534, -1, 252, 555, 15, 499, 21, -1, 537, 252, + 555, 15, 499, 21, -1, 548, 499, 26, 499, -1, + 188, 555, 503, 18, 499, -1, 48, 555, 482, 240, + 371, -1, 77, 555, -1, 549, -1, 558, -1, 46, + 555, 15, 499, 21, 482, 8, 482, 8, 482, -1, + 551, -1, 551, 15, 21, -1, 551, 15, 552, 21, + -1, 214, 555, 510, -1, 554, 555, 510, -1, 79, + 555, 534, -1, 115, 555, 534, -1, 45, 555, 15, + 524, 522, 21, -1, 81, 555, 15, 524, 523, 21, + -1, 170, 555, 15, 525, 21, -1, 253, 555, 15, + 499, 21, 503, 26, 499, -1, 152, 432, -1, 186, + 555, 482, -1, 49, 555, 371, -1, 49, 555, 371, + 550, 15, 481, 21, -1, 69, 555, 15, 481, 21, + 550, 499, -1, -1, 8, -1, 61, 555, 371, 577, + -1, 577, 553, -1, 552, 8, 577, 553, -1, 499, + -1, 568, 499, -1, 5, 482, -1, 184, -1, 232, + -1, -1, -1, -1, 559, 565, -1, 559, 580, -1, + 559, 5, -1, 559, 9, -1, 561, 565, -1, 563, + -1, 569, 565, -1, 569, 564, -1, 569, 565, 572, + -1, 569, 564, 8, 572, -1, 570, 565, -1, 570, + 565, 574, -1, 571, -1, 571, 8, 574, -1, 560, + 555, 578, -1, 53, -1, 215, -1, 104, -1, 562, + 555, 578, -1, 176, -1, 66, -1, 139, 555, 578, + 565, -1, 139, 555, 578, 565, 574, -1, 580, -1, + 5, -1, 15, 579, 21, -1, 15, 566, 21, -1, + 567, -1, 566, 8, 577, 567, -1, 579, -1, 5, + -1, 9, -1, 568, 499, -1, 568, 5, -1, 568, + 9, -1, 166, -1, 197, 555, 578, -1, 256, 555, + 578, -1, 190, 555, 579, 578, -1, 190, 555, 5, + 578, -1, 573, -1, 572, 8, 573, -1, 503, -1, + 15, 572, 8, 544, 21, -1, 500, -1, 576, -1, + 575, -1, 500, 8, 500, -1, 500, 8, 576, -1, + 576, 8, 500, -1, 576, 8, 576, -1, 575, 8, + 500, -1, 575, 8, 576, -1, 515, -1, 15, 499, + 21, -1, 15, 500, 8, 544, 21, -1, 15, 576, + 8, 544, 21, -1, 15, 575, 8, 544, 21, -1, + -1, -1, 580, -1, 15, 579, 21, -1, 503, -1, + 511, -1, 579, 501, 579, -1, 579, 5, 579, -1, + 579, 37, 579, -1, 579, 9, 579, -1, 501, 579, + -1, 579, 23, 579, -1, 129, 26, 499, -1, -1, + 257, -1, 584, -1, 632, -1, 607, -1, 586, -1, + 597, -1, 592, -1, 644, -1, 647, -1, 725, -1, + 589, -1, 598, -1, 600, -1, 602, -1, 604, -1, + 652, -1, 658, -1, 655, -1, 784, -1, 782, -1, + 608, -1, 633, -1, 662, -1, 714, -1, 712, -1, + 713, -1, 715, -1, 716, -1, 717, -1, 718, -1, + 719, -1, 727, -1, 729, -1, 734, -1, 731, -1, + 733, -1, 737, -1, 735, -1, 736, -1, 748, -1, + 752, -1, 753, -1, 756, -1, 755, -1, 757, -1, + 758, -1, 759, -1, 760, -1, 661, -1, 742, -1, + 743, -1, 744, -1, 747, -1, 761, -1, 764, -1, + 769, -1, 774, -1, 776, -1, 777, -1, 778, -1, + 779, -1, 781, -1, 740, -1, 783, -1, 82, 493, + 585, -1, 584, 8, 585, -1, 371, 476, -1, 94, + 493, 587, -1, 588, -1, 587, 8, 588, -1, 371, + -1, 138, 493, 590, -1, 591, -1, 590, 8, 591, + -1, 371, -1, 228, 493, 596, 593, -1, 15, 594, + 21, -1, 595, -1, 594, 8, 595, -1, 499, -1, + 499, 7, 499, -1, 7, 15, 498, 21, -1, 371, + -1, 259, 493, 371, 476, -1, 303, 493, 371, 476, + -1, 597, 8, 371, 476, -1, 136, 493, 599, -1, + 598, 8, 599, -1, 371, -1, 211, 493, 601, -1, + 600, 8, 601, -1, 371, -1, 205, 493, 603, -1, + 602, 8, 603, -1, 371, -1, 70, 493, 605, -1, + 604, 8, 605, -1, 371, -1, 175, 371, 476, -1, + -1, 88, 493, 611, 614, 606, -1, 204, 555, 611, + 615, 617, 606, -1, 204, 555, 615, 617, 606, 7, + 7, 609, -1, 610, -1, 609, 8, 610, -1, 611, + -1, 612, -1, 371, -1, 371, 15, 498, 21, -1, + 371, -1, -1, 615, 617, -1, 15, 616, 21, -1, + 617, 618, -1, 616, 8, 617, 618, -1, -1, 58, + -1, 58, 15, 577, 631, 21, -1, 126, 15, 619, + 21, -1, 258, 15, 619, 8, 499, 21, -1, 165, + 15, 499, 21, -1, 5, -1, 137, 15, 619, 21, + -1, 86, 15, 620, 21, -1, 371, -1, 15, 621, + 21, 378, 255, 623, -1, 622, -1, 621, 8, 622, + -1, 499, -1, 499, 7, 499, -1, 624, -1, 624, + 15, 625, 21, -1, 371, -1, 626, -1, 625, 8, + 626, -1, 499, -1, 773, -1, 40, 627, 628, -1, + 371, -1, -1, 629, -1, 17, 630, -1, 628, 17, + 630, -1, 499, -1, 568, 499, -1, 568, 499, 8, + 568, 499, -1, 43, 493, 635, 637, -1, 199, 555, + 636, 637, -1, 199, 555, 637, 7, 7, 634, -1, + 636, -1, 634, 8, 636, -1, 371, -1, 502, -1, + 15, 642, 21, 378, 255, 638, -1, 641, 15, 639, + 21, -1, 640, -1, 639, 8, 640, -1, 499, -1, + 5, -1, 517, -1, 371, -1, 643, -1, 642, 8, + 643, -1, 371, -1, 5, -1, 7, -1, 645, 7, + 7, 493, 371, 476, -1, 644, 8, 371, 476, -1, + 646, -1, 645, 8, 378, 646, -1, 82, -1, 259, + -1, 303, -1, 94, -1, 87, 15, 477, 21, -1, + 228, 593, -1, 43, 15, 642, 21, 378, 255, 638, + -1, 43, -1, 88, 615, 617, 606, -1, 88, -1, + 67, -1, 402, 8, 378, 93, 493, 15, 648, 21, + 7, 7, 650, -1, -1, 649, 7, -1, 648, 8, + 7, -1, 651, -1, 650, 8, 651, -1, 371, -1, + 127, 493, 653, -1, 654, -1, 653, 8, 654, -1, + 371, -1, 74, 493, 656, -1, 657, -1, 656, 8, + 657, -1, 371, -1, 51, 493, 659, -1, 51, 493, + 8, 378, 67, 7, 7, 659, -1, 660, -1, 659, + 8, 660, -1, 371, 476, -1, 168, 555, -1, 182, + 555, 15, 663, 21, 664, 668, -1, 502, -1, 663, + 8, 502, -1, 617, 173, 665, -1, 617, -1, 502, + 15, 666, 21, -1, 667, -1, 666, 8, 667, -1, + 499, -1, 5, -1, -1, 669, -1, 670, -1, 669, + 670, -1, 674, -1, 697, -1, 705, -1, 671, -1, + 681, -1, 683, -1, 682, -1, 672, -1, 675, -1, + 676, -1, 679, -1, 8, 378, 209, 15, 720, 7, + 721, 21, -1, 8, 378, 209, 15, 721, 21, -1, + 8, 378, 71, 15, 673, 7, 721, 21, -1, 8, + 378, 71, 15, 721, 21, -1, 371, -1, 8, 378, + 169, 15, 678, 21, -1, 8, 378, 282, 15, 678, + 21, -1, 8, 378, 191, 15, 678, 21, -1, 8, + 378, 320, 15, 677, 21, -1, 499, -1, 499, 8, + 499, -1, 499, 8, 499, 8, 499, -1, 503, -1, + 678, 8, 503, -1, 8, 378, 322, 15, 680, 21, + -1, 665, -1, 680, 8, 665, -1, 8, 378, 135, + 15, 720, 7, 738, 21, -1, 8, 378, 135, 15, + 738, 21, -1, 8, 378, 229, 15, 499, 21, -1, + 8, 378, 41, 684, -1, 8, 378, 41, 684, 684, + -1, 15, 685, 686, 687, 21, -1, -1, 148, 7, + -1, 180, 7, -1, -1, 688, -1, 687, 8, 688, + -1, 710, -1, 710, 15, 689, 21, -1, 710, 15, + 689, 21, 15, 691, 21, -1, 690, -1, 689, 8, + 690, -1, 499, 7, 499, -1, 692, -1, 691, 8, + 692, -1, 693, 7, 694, 7, 695, -1, 693, 7, + 694, -1, 693, 7, 695, -1, 693, -1, 694, 7, + 695, -1, 694, -1, 695, -1, 378, 217, 696, -1, + 378, 157, 696, -1, 378, 128, 696, -1, 15, 497, + 21, -1, 8, 378, 208, 15, 698, 702, 699, 8, + 701, 21, -1, 8, 378, 208, 15, 698, 702, 699, + 21, -1, 8, 378, 208, 15, 698, 700, 699, 7, + 701, 21, -1, -1, -1, 371, -1, 378, 702, -1, + 701, 8, 378, 702, -1, 703, 15, 503, 21, -1, + 704, 15, 678, 8, 499, 21, -1, 234, -1, 192, -1, 162, -1, 159, -1, 35, -1, 22, -1, 24, -1, 33, -1, 247, -1, 158, -1, 161, -1, 8, - 375, 223, 15, 704, 21, -1, 8, 375, 224, 703, - -1, 8, 375, 226, 703, -1, 8, 375, 221, -1, - 8, 375, 221, 15, 707, 15, 591, 21, 21, -1, - 368, -1, 705, -1, 704, 8, 705, -1, 707, -1, - 707, 15, 706, 78, 21, -1, 707, 15, 706, 591, - 21, -1, 707, 15, 706, 591, 21, 15, 375, 78, - 21, -1, -1, 499, -1, 707, -1, 708, 8, 707, - -1, 225, 552, 703, -1, 224, 552, 703, -1, 227, - 552, 703, -1, 226, 552, 703, -1, 222, 552, 703, - 15, 704, 21, -1, 206, 552, 697, -1, 207, 552, - 697, -1, 72, 552, 670, -1, 73, 552, 670, -1, - 210, 552, 15, 717, 7, 718, 21, -1, 210, 552, - 15, 718, 21, -1, 368, -1, 719, -1, 718, 8, - 719, -1, 707, 15, 720, 21, -1, 707, -1, 721, - -1, 720, 8, 721, -1, 496, -1, 7, -1, 237, - 490, 723, -1, 722, 8, 723, -1, 368, 473, -1, - 238, 552, 725, -1, 238, 552, 725, 694, -1, 238, - 552, 725, 669, -1, 238, 552, 725, 694, 669, -1, - 238, 552, 725, 669, 694, -1, 368, -1, 111, 552, - -1, 725, 15, 496, 21, -1, 725, 15, 514, 21, - -1, 174, 552, 501, 729, -1, -1, 672, -1, 109, - 552, -1, 160, 552, 727, 375, 175, 610, 473, -1, - 160, 552, 727, 375, 323, 500, -1, 189, 552, 717, - -1, 212, 552, 717, -1, 135, 552, 15, 717, 7, - 735, 21, -1, 135, 552, 15, 735, 21, -1, 736, - -1, 735, 8, 736, -1, 707, -1, 707, 15, 495, - 21, -1, 134, 552, -1, 134, 552, 671, -1, 134, - 552, 738, -1, 134, 552, 671, 738, -1, 8, 375, - 208, 15, 675, 21, -1, 50, 552, 743, -1, 99, - 552, -1, 52, 552, 743, -1, 368, -1, 742, -1, - 742, 15, 495, 21, -1, 120, 552, 500, 26, 500, - -1, 83, 552, 748, -1, 83, 552, 748, 15, 746, - 21, -1, 574, 747, -1, 746, 8, 574, 747, -1, - 565, 496, -1, 149, -1, 100, 552, 748, -1, 146, - 552, 751, -1, -1, 496, -1, 332, 552, 495, -1, - 101, 552, -1, 241, 552, -1, 242, 552, -1, 56, - 552, -1, 65, 552, 574, 15, 549, 21, 409, 491, - 675, -1, 324, 552, 15, 759, 21, -1, 760, -1, - 759, 8, 760, -1, 375, 315, -1, 375, 318, -1, - 375, 182, -1, 220, 552, 15, 762, 26, 627, 21, - 614, 765, -1, 499, 15, 763, 21, -1, 764, -1, - 763, 8, 764, -1, 617, -1, 770, -1, 132, 708, - -1, -1, 153, 552, 15, 499, 18, 767, 21, -1, - 499, -1, 499, 15, 768, 21, -1, 769, -1, 768, - 8, 769, -1, 770, -1, 7, -1, 5, -1, 325, - 552, 496, 8, 375, 330, 15, 675, 21, 8, 375, - 329, 15, 495, 21, 772, -1, -1, 8, 375, 182, - -1, 8, 375, 318, -1, 326, 552, 496, -1, 327, - 552, 496, -1, 327, 552, 496, 8, 375, 315, -1, - 328, 552, 496, 8, 375, 331, 15, 499, 21, -1, - 333, 552, 15, 777, 21, -1, 503, -1, 777, 8, - 503, -1, 334, 552, 15, 660, 21, -1, 830, -1, - 783, -1, 782, -1, 800, -1, 803, -1, 804, -1, - 805, -1, 806, -1, 812, -1, 815, -1, 820, -1, - 821, -1, 822, -1, 825, -1, 826, -1, 827, -1, - 828, -1, 829, -1, 831, -1, 832, -1, 833, -1, - 834, -1, 835, -1, 836, -1, 837, -1, 838, -1, - 839, -1, 268, 552, -1, 275, 552, -1, 291, 552, - 614, 784, -1, 291, 552, 614, -1, 547, 614, 785, - 614, -1, 784, 547, 614, 785, 614, -1, 787, -1, - 796, -1, 791, -1, 792, -1, 788, -1, 789, -1, - 790, -1, 794, -1, 795, -1, 842, 15, 843, 841, - 21, -1, 191, 786, -1, 282, 786, -1, 285, 786, - -1, 265, 786, -1, 299, 786, -1, 84, 15, 375, - 793, 21, -1, 191, -1, 299, -1, 288, -1, 304, - 15, 496, 21, -1, 289, 15, 496, 21, -1, 208, - 15, 797, 21, -1, 614, 799, 7, 798, -1, 675, + 378, 223, 15, 707, 21, -1, 8, 378, 224, 706, + -1, 8, 378, 226, 706, -1, 8, 378, 221, -1, + 8, 378, 221, 15, 710, 15, 594, 21, 21, -1, + 371, -1, 708, -1, 707, 8, 708, -1, 710, -1, + 710, 15, 709, 78, 21, -1, 710, 15, 709, 594, + 21, -1, 710, 15, 709, 594, 21, 15, 378, 78, + 21, -1, -1, 502, -1, 710, -1, 711, 8, 710, + -1, 225, 555, 706, -1, 224, 555, 706, -1, 227, + 555, 706, -1, 226, 555, 706, -1, 222, 555, 706, + 15, 707, 21, -1, 206, 555, 700, -1, 207, 555, + 700, -1, 72, 555, 673, -1, 73, 555, 673, -1, + 210, 555, 15, 720, 7, 721, 21, -1, 210, 555, + 15, 721, 21, -1, 371, -1, 722, -1, 721, 8, + 722, -1, 710, 15, 723, 21, -1, 710, -1, 724, + -1, 723, 8, 724, -1, 499, -1, 7, -1, 237, + 493, 726, -1, 725, 8, 726, -1, 371, 476, -1, + 238, 555, 728, -1, 238, 555, 728, 697, -1, 238, + 555, 728, 672, -1, 238, 555, 728, 697, 672, -1, + 238, 555, 728, 672, 697, -1, 371, -1, 111, 555, + -1, 728, 15, 499, 21, -1, 728, 15, 517, 21, + -1, 174, 555, 504, 732, -1, -1, 675, -1, 109, + 555, -1, 160, 555, 730, 378, 175, 613, 476, -1, + 160, 555, 730, 378, 323, 503, -1, 189, 555, 720, + -1, 212, 555, 720, -1, 135, 555, 15, 720, 7, + 738, 21, -1, 135, 555, 15, 738, 21, -1, 739, + -1, 738, 8, 739, -1, 710, -1, 710, 15, 498, + 21, -1, 134, 555, -1, 134, 555, 674, -1, 134, + 555, 741, -1, 134, 555, 674, 741, -1, 8, 378, + 208, 15, 678, 21, -1, 50, 555, 746, -1, 99, + 555, -1, 52, 555, 746, -1, 371, -1, 745, -1, + 745, 15, 498, 21, -1, 120, 555, 503, 26, 503, + -1, 83, 555, 751, -1, 83, 555, 751, 15, 749, + 21, -1, 577, 750, -1, 749, 8, 577, 750, -1, + 568, 499, -1, 149, -1, 100, 555, 751, -1, 146, + 555, 754, -1, -1, 499, -1, 332, 555, 498, -1, + 101, 555, -1, 241, 555, -1, 242, 555, -1, 56, + 555, -1, 65, 555, 577, 15, 552, 21, 412, 494, + 678, -1, 324, 555, 15, 762, 21, -1, 763, -1, + 762, 8, 763, -1, 378, 315, -1, 378, 318, -1, + 378, 182, -1, 220, 555, 15, 765, 26, 630, 21, + 617, 768, -1, 502, 15, 766, 21, -1, 767, -1, + 766, 8, 767, -1, 620, -1, 773, -1, 132, 711, + -1, -1, 153, 555, 15, 502, 18, 770, 21, -1, + 502, -1, 502, 15, 771, 21, -1, 772, -1, 771, + 8, 772, -1, 773, -1, 7, -1, 5, -1, 325, + 555, 499, 8, 378, 330, 15, 678, 21, 8, 378, + 329, 15, 498, 21, 775, -1, -1, 8, 378, 182, + -1, 8, 378, 318, -1, 326, 555, 499, -1, 327, + 555, 499, -1, 327, 555, 499, 8, 378, 315, -1, + 328, 555, 499, 8, 378, 331, 15, 502, 21, -1, + 333, 555, 15, 780, 21, -1, 506, -1, 780, 8, + 506, -1, 334, 555, 15, 663, 21, -1, 833, -1, + 786, -1, 785, -1, 803, -1, 806, -1, 807, -1, + 808, -1, 809, -1, 815, -1, 818, -1, 823, -1, + 824, -1, 825, -1, 828, -1, 829, -1, 830, -1, + 831, -1, 832, -1, 834, -1, 835, -1, 836, -1, + 837, -1, 838, -1, 839, -1, 840, -1, 841, -1, + 842, -1, 268, 555, -1, 275, 555, -1, 291, 555, + 617, 787, -1, 291, 555, 617, -1, 550, 617, 788, + 617, -1, 787, 550, 617, 788, 617, -1, 790, -1, + 799, -1, 794, -1, 795, -1, 791, -1, 792, -1, + 793, -1, 797, -1, 798, -1, 845, 15, 846, 844, + 21, -1, 191, 789, -1, 282, 789, -1, 285, 789, + -1, 265, 789, -1, 299, 789, -1, 84, 15, 378, + 796, 21, -1, 191, -1, 299, -1, 288, -1, 304, + 15, 499, 21, -1, 289, 15, 499, 21, -1, 208, + 15, 800, 21, -1, 617, 802, 7, 801, -1, 678, -1, 17, -1, 16, -1, 5, -1, 37, -1, 162, -1, 159, -1, 35, -1, 22, -1, 24, -1, 33, -1, 305, -1, 306, -1, 307, -1, 247, -1, 297, - 552, 614, 801, -1, 297, 552, 614, -1, 547, 614, - 802, 614, -1, 801, 547, 614, 802, 614, -1, 787, - -1, 796, -1, 788, -1, 789, -1, 279, 552, 614, - 819, -1, 279, 552, 614, -1, 296, 552, -1, 269, - 552, 614, 807, -1, 269, 552, 614, -1, 272, 552, - 614, 819, -1, 272, 552, 614, -1, 547, 614, 808, - 614, -1, 807, 547, 614, 808, 614, -1, 787, -1, - 796, -1, 788, -1, 789, -1, 810, -1, 809, -1, - 290, -1, 298, 15, 375, 811, 8, 496, 21, -1, - 298, 15, 375, 811, 21, -1, 230, -1, 94, -1, - 284, -1, 295, -1, 300, 552, 614, 813, -1, 300, - 552, 614, -1, 547, 614, 814, 614, -1, 813, 547, - 614, 814, 614, -1, 787, -1, 788, -1, 280, 552, - 614, 816, -1, 280, 552, 614, -1, 547, 614, 817, - 614, -1, 816, 547, 614, 817, 614, -1, 819, -1, - 818, -1, 266, 786, -1, 287, -1, 302, 552, -1, - 281, 552, 614, 819, -1, 281, 552, 614, -1, 292, - 552, 614, 823, -1, 292, 552, 614, -1, 547, 614, - 824, 614, -1, 823, 547, 614, 824, 614, -1, 787, - -1, 796, -1, 791, -1, 792, -1, 788, -1, 789, - -1, 790, -1, 794, -1, 795, -1, 810, -1, 809, - -1, 276, 552, -1, 293, 552, 614, 784, -1, 293, - 552, 614, -1, 277, 552, -1, 294, 552, 614, 784, - -1, 294, 552, 614, -1, 278, 552, -1, 301, 490, - 786, -1, 286, 552, -1, 273, 552, -1, 290, 552, - -1, 274, 552, -1, 264, 552, -1, 263, 552, -1, - 283, 552, 786, -1, 283, 552, -1, 267, 552, 15, - 499, 21, -1, 267, 552, -1, 271, 552, 15, 499, - 21, -1, 271, 552, -1, 37, 368, 842, 37, 843, - -1, 840, -1, 499, -1, 841, 8, 840, -1, 841, - 8, 499, -1, -1, -1, 845, -1, 858, -1, 846, - -1, 859, -1, 847, -1, 848, -1, 860, -1, 308, - 552, 849, -1, 310, 552, -1, 312, 552, 15, 855, - 21, -1, 312, 552, 15, 21, -1, 312, 552, -1, - 313, 552, 15, 855, 21, -1, 313, 552, 15, 21, - -1, 313, 552, -1, 375, 376, -1, 850, -1, 851, - -1, 850, 8, 851, -1, 375, 852, -1, 375, 854, - -1, 375, 853, -1, 147, 15, 855, 21, -1, 148, - 15, 855, 21, -1, 180, 15, 855, 21, -1, 318, - 15, 855, 21, -1, 319, 15, 855, 21, -1, 314, - 15, 856, 21, -1, 315, -1, 675, -1, 857, -1, - 856, 8, 857, -1, 375, 316, -1, 375, 317, -1, - 309, -1, 311, -1, 321, 490, 861, -1, 375, 376, - -1, 375, 853, -1, 863, -1, 864, -1, 865, -1, - 866, -1, 871, -1, 889, -1, 335, 895, 15, 872, - 21, -1, 336, 895, 15, 879, 21, -1, 337, 895, - 15, 884, 21, -1, 339, 895, 887, -1, 339, 895, - 887, 8, 375, 351, 15, 867, 21, 869, -1, 339, - 895, 887, 8, 375, 352, 15, 867, 21, 870, -1, - 868, -1, 867, 8, 868, -1, 375, 353, -1, -1, - 8, 375, 352, 15, 867, 21, -1, -1, 8, 375, - 351, 15, 867, 21, -1, 340, 895, -1, 873, -1, - 872, 8, 873, -1, 874, -1, 875, -1, 876, -1, - 375, 208, 15, 698, 21, -1, 375, 191, 15, 675, - 21, -1, 375, 183, 15, 877, 21, -1, 878, -1, - 877, 8, 878, -1, 503, 26, 496, -1, 880, -1, - 879, 8, 880, -1, 881, -1, 882, -1, 883, -1, - 375, 228, 15, 704, 21, -1, 375, 41, 15, 704, - 21, -1, 375, 209, 15, 718, 21, -1, 885, -1, - 884, 8, 885, -1, 375, 338, -1, 375, 342, 15, - 660, 21, -1, 375, 341, -1, 375, 341, 15, 660, - 21, -1, 375, 343, 15, 888, 21, -1, 375, 354, - -1, 375, 354, 15, 886, 21, -1, 496, 8, 496, - 8, 496, -1, 368, -1, 503, -1, 888, 8, 503, - -1, 344, 895, 15, 890, 21, -1, 891, -1, 890, - 8, 891, -1, 375, 244, 15, 892, 21, -1, 375, - 330, 15, 660, 21, -1, 375, 345, 15, 660, 21, - -1, 375, 346, 15, 496, 21, -1, 375, 347, 15, - 894, 8, 496, 21, -1, 893, -1, 892, 8, 893, - -1, 375, 315, -1, 375, 350, -1, 375, 348, -1, - 375, 349, -1, -1 + 555, 617, 804, -1, 297, 555, 617, -1, 550, 617, + 805, 617, -1, 804, 550, 617, 805, 617, -1, 790, + -1, 799, -1, 791, -1, 792, -1, 279, 555, 617, + 822, -1, 279, 555, 617, -1, 296, 555, -1, 269, + 555, 617, 810, -1, 269, 555, 617, -1, 272, 555, + 617, 822, -1, 272, 555, 617, -1, 550, 617, 811, + 617, -1, 810, 550, 617, 811, 617, -1, 790, -1, + 799, -1, 791, -1, 792, -1, 813, -1, 812, -1, + 290, -1, 298, 15, 378, 814, 8, 499, 21, -1, + 298, 15, 378, 814, 21, -1, 230, -1, 94, -1, + 284, -1, 295, -1, 300, 555, 617, 816, -1, 300, + 555, 617, -1, 550, 617, 817, 617, -1, 816, 550, + 617, 817, 617, -1, 790, -1, 791, -1, 280, 555, + 617, 819, -1, 280, 555, 617, -1, 550, 617, 820, + 617, -1, 819, 550, 617, 820, 617, -1, 822, -1, + 821, -1, 266, 789, -1, 287, -1, 302, 555, -1, + 281, 555, 617, 822, -1, 281, 555, 617, -1, 292, + 555, 617, 826, -1, 292, 555, 617, -1, 550, 617, + 827, 617, -1, 826, 550, 617, 827, 617, -1, 790, + -1, 799, -1, 794, -1, 795, -1, 791, -1, 792, + -1, 793, -1, 797, -1, 798, -1, 813, -1, 812, + -1, 276, 555, -1, 293, 555, 617, 787, -1, 293, + 555, 617, -1, 277, 555, -1, 294, 555, 617, 787, + -1, 294, 555, 617, -1, 278, 555, -1, 301, 493, + 789, -1, 286, 555, -1, 273, 555, -1, 290, 555, + -1, 274, 555, -1, 264, 555, -1, 263, 555, -1, + 283, 555, 789, -1, 283, 555, -1, 267, 555, 15, + 502, 21, -1, 267, 555, -1, 271, 555, 15, 502, + 21, -1, 271, 555, -1, 37, 371, 845, 37, 846, + -1, 843, -1, 502, -1, 844, 8, 843, -1, 844, + 8, 502, -1, -1, -1, 848, -1, 861, -1, 849, + -1, 862, -1, 850, -1, 851, -1, 863, -1, 308, + 555, 852, -1, 310, 555, -1, 312, 555, 15, 858, + 21, -1, 312, 555, 15, 21, -1, 312, 555, -1, + 313, 555, 15, 858, 21, -1, 313, 555, 15, 21, + -1, 313, 555, -1, 378, 379, -1, 853, -1, 854, + -1, 853, 8, 854, -1, 378, 855, -1, 378, 857, + -1, 378, 856, -1, 147, 15, 858, 21, -1, 148, + 15, 858, 21, -1, 180, 15, 858, 21, -1, 318, + 15, 858, 21, -1, 319, 15, 858, 21, -1, 314, + 15, 859, 21, -1, 315, -1, 678, -1, 860, -1, + 859, 8, 860, -1, 378, 316, -1, 378, 317, -1, + 309, -1, 311, -1, 321, 493, 864, -1, 378, 379, + -1, 378, 856, -1, 866, -1, 867, -1, 868, -1, + 869, -1, 874, -1, 894, -1, 335, 900, 15, 875, + 21, -1, 336, 900, 15, 884, 21, -1, 337, 900, + 15, 889, 21, -1, 339, 900, 892, -1, 339, 900, + 892, 8, 378, 351, 15, 870, 21, 872, -1, 339, + 900, 892, 8, 378, 352, 15, 870, 21, 873, -1, + 871, -1, 870, 8, 871, -1, 378, 353, -1, -1, + 8, 378, 352, 15, 870, 21, -1, -1, 8, 378, + 351, 15, 870, 21, -1, 340, 900, -1, 876, -1, + 875, 8, 876, -1, 877, -1, 878, -1, 879, -1, + 881, -1, 880, -1, 378, 208, 15, 701, 21, -1, + 378, 191, 15, 678, 21, -1, 378, 357, 15, 678, + 21, -1, 378, 356, 15, 513, 21, -1, 378, 183, + 15, 882, 21, -1, 883, -1, 882, 8, 883, -1, + 506, 26, 499, -1, 885, -1, 884, 8, 885, -1, + 886, -1, 887, -1, 888, -1, 378, 228, 15, 707, + 21, -1, 378, 41, 15, 707, 21, -1, 378, 209, + 15, 721, 21, -1, 890, -1, 889, 8, 890, -1, + 378, 338, -1, 378, 342, 15, 663, 21, -1, 378, + 341, -1, 378, 341, 15, 663, 21, -1, 378, 343, + 15, 893, 21, -1, 378, 354, -1, 378, 354, 15, + 891, 21, -1, 378, 355, -1, 499, 8, 499, 8, + 499, -1, 371, -1, 506, -1, 893, 8, 506, -1, + 344, 900, 15, 895, 21, -1, 896, -1, 895, 8, + 896, -1, 378, 244, 15, 897, 21, -1, 378, 330, + 15, 663, 21, -1, 378, 345, 15, 663, 21, -1, + 378, 346, 15, 499, 21, -1, 378, 347, 15, 899, + 8, 499, 21, -1, 898, -1, 897, 8, 898, -1, + 378, 315, -1, 378, 350, -1, 378, 348, -1, 378, + 349, -1, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 789, 789, 790, 794, 796, 810, 841, 850, 856, - 876, 885, 901, 913, 923, 930, 936, 941, 946, 970, - 997, 1011, 1013, 1015, 1019, 1036, 1050, 1074, 1090, 1104, - 1122, 1124, 1131, 1135, 1136, 1143, 1144, 1152, 1153, 1155, - 1159, 1160, 1164, 1168, 1174, 1184, 1188, 1193, 1200, 1201, - 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, - 1212, 1213, 1218, 1223, 1230, 1232, 1233, 1234, 1235, 1236, - 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1246, 1250, 1258, - 1266, 1275, 1283, 1287, 1289, 1293, 1295, 1297, 1299, 1301, - 1303, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, - 1323, 1325, 1327, 1332, 1341, 1351, 1359, 1369, 1390, 1410, - 1411, 1413, 1417, 1419, 1423, 1427, 1429, 1433, 1439, 1443, - 1445, 1449, 1453, 1457, 1461, 1465, 1471, 1475, 1479, 1485, - 1490, 1497, 1508, 1521, 1532, 1545, 1555, 1568, 1573, 1580, - 1583, 1588, 1593, 1600, 1603, 1613, 1627, 1630, 1649, 1676, - 1678, 1690, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1709, - 1710, 1714, 1716, 1723, 1728, 1729, 1731, 1733, 1746, 1752, - 1758, 1767, 1776, 1789, 1790, 1793, 1797, 1812, 1827, 1845, - 1866, 1886, 1908, 1925, 1943, 1950, 1957, 1964, 1977, 1984, - 1991, 2002, 2006, 2008, 2013, 2031, 2042, 2054, 2066, 2080, - 2086, 2093, 2099, 2105, 2113, 2120, 2136, 2139, 2148, 2150, - 2154, 2158, 2178, 2182, 2184, 2188, 2189, 2192, 2194, 2196, - 2198, 2200, 2203, 2206, 2210, 2216, 2220, 2224, 2226, 2231, - 2232, 2236, 2240, 2242, 2246, 2248, 2250, 2255, 2259, 2261, - 2263, 2266, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, - 2278, 2279, 2285, 2288, 2289, 2291, 2295, 2296, 2299, 2300, - 2302, 2306, 2307, 2308, 2309, 2311, 2314, 2315, 2324, 2326, - 2333, 2340, 2347, 2356, 2358, 2360, 2364, 2366, 2370, 2379, - 2386, 2393, 2395, 2399, 2403, 2409, 2411, 2416, 2420, 2424, - 2431, 2438, 2448, 2450, 2454, 2466, 2469, 2478, 2491, 2497, - 2503, 2509, 2517, 2527, 2529, 2533, 2535, 2568, 2570, 2574, - 2613, 2614, 2618, 2618, 2623, 2627, 2635, 2644, 2653, 2663, - 2669, 2672, 2674, 2678, 2686, 2701, 2708, 2710, 2714, 2730, - 2730, 2734, 2736, 2748, 2750, 2754, 2760, 2772, 2784, 2801, - 2830, 2831, 2839, 2840, 2844, 2846, 2848, 2859, 2863, 2869, - 2871, 2875, 2877, 2879, 2883, 2885, 2889, 2891, 2893, 2895, - 2897, 2899, 2901, 2903, 2905, 2907, 2909, 2911, 2913, 2915, - 2917, 2919, 2921, 2923, 2925, 2927, 2929, 2931, 2933, 2937, - 2938, 2949, 3023, 3035, 3037, 3041, 3172, 3222, 3266, 3308, - 3366, 3368, 3370, 3409, 3452, 3463, 3464, 3468, 3473, 3474, - 3478, 3480, 3486, 3488, 3494, 3507, 3513, 3520, 3526, 3534, - 3542, 3558, 3568, 3581, 3588, 3590, 3613, 3615, 3617, 3619, - 3621, 3623, 3625, 3627, 3631, 3631, 3631, 3645, 3647, 3670, - 3672, 3674, 3690, 3692, 3694, 3708, 3711, 3713, 3721, 3723, - 3725, 3727, 3781, 3801, 3816, 3825, 3828, 3878, 3884, 3889, - 3907, 3909, 3911, 3913, 3915, 3918, 3924, 3926, 3928, 3931, - 3933, 3935, 3962, 3971, 3980, 3981, 3983, 3988, 3995, 4003, - 4005, 4009, 4012, 4014, 4018, 4024, 4026, 4028, 4030, 4034, - 4036, 4045, 4046, 4053, 4054, 4058, 4062, 4083, 4086, 4090, - 4092, 4099, 4104, 4105, 4116, 4128, 4151, 4176, 4177, 4184, - 4186, 4188, 4190, 4192, 4196, 4273, 4285, 4292, 4294, 4295, - 4297, 4306, 4313, 4320, 4328, 4333, 4338, 4341, 4344, 4347, - 4350, 4353, 4357, 4375, 4380, 4399, 4418, 4422, 4423, 4426, - 4430, 4435, 4442, 4444, 4446, 4450, 4451, 4462, 4477, 4481, - 4488, 4491, 4501, 4514, 4527, 4530, 4532, 4535, 4538, 4542, - 4551, 4554, 4558, 4560, 4566, 4570, 4572, 4574, 4581, 4585, - 4587, 4591, 4593, 4597, 4616, 4632, 4641, 4650, 4652, 4656, - 4682, 4697, 4712, 4729, 4737, 4746, 4754, 4759, 4764, 4786, - 4802, 4804, 4808, 4810, 4817, 4819, 4821, 4825, 4827, 4829, - 4831, 4833, 4835, 4839, 4842, 4845, 4851, 4857, 4866, 4870, - 4877, 4879, 4883, 4885, 4887, 4892, 4897, 4902, 4907, 4916, - 4921, 4927, 4928, 4943, 4944, 4945, 4946, 4947, 4948, 4949, - 4950, 4951, 4952, 4953, 4954, 4955, 4956, 4957, 4958, 4959, - 4960, 4961, 4964, 4965, 4966, 4967, 4968, 4969, 4970, 4971, - 4972, 4973, 4974, 4975, 4976, 4977, 4978, 4979, 4980, 4981, - 4982, 4983, 4984, 4985, 4986, 4987, 4988, 4989, 4990, 4991, - 4992, 4993, 4994, 4995, 4996, 4997, 4998, 4999, 5000, 5001, - 5002, 5003, 5004, 5005, 5006, 5007, 5011, 5013, 5024, 5045, - 5049, 5051, 5055, 5068, 5072, 5074, 5078, 5089, 5100, 5104, - 5106, 5110, 5112, 5114, 5129, 5141, 5161, 5181, 5203, 5209, - 5218, 5226, 5232, 5240, 5247, 5253, 5262, 5266, 5272, 5280, - 5294, 5308, 5313, 5329, 5344, 5372, 5374, 5378, 5380, 5384, - 5413, 5436, 5457, 5458, 5462, 5483, 5485, 5489, 5497, 5501, - 5506, 5508, 5510, 5512, 5518, 5520, 5524, 5534, 5538, 5540, - 5545, 5547, 5551, 5555, 5561, 5571, 5573, 5577, 5579, 5581, - 5588, 5606, 5607, 5611, 5613, 5617, 5624, 5634, 5663, 5678, - 5685, 5703, 5705, 5709, 5723, 5749, 5762, 5778, 5780, 5783, - 5785, 5791, 5795, 5823, 5825, 5829, 5837, 5843, 5846, 5904, - 5968, 5970, 5973, 5977, 5981, 5985, 6002, 6014, 6018, 6022, - 6032, 6037, 6042, 6049, 6058, 6058, 6069, 6080, 6082, 6086, - 6097, 6101, 6103, 6107, 6118, 6122, 6124, 6128, 6140, 6142, - 6149, 6151, 6155, 6171, 6179, 6190, 6192, 6196, 6199, 6204, - 6214, 6216, 6220, 6222, 6231, 6232, 6236, 6238, 6243, 6244, - 6245, 6246, 6247, 6248, 6249, 6250, 6251, 6252, 6253, 6256, - 6261, 6265, 6269, 6273, 6286, 6290, 6294, 6298, 6301, 6303, - 6305, 6309, 6311, 6315, 6319, 6321, 6325, 6330, 6334, 6338, - 6340, 6344, 6353, 6356, 6362, 6369, 6372, 6374, 6378, 6380, - 6384, 6396, 6398, 6402, 6406, 6408, 6412, 6414, 6416, 6418, - 6420, 6422, 6424, 6428, 6432, 6436, 6440, 6444, 6451, 6457, - 6462, 6465, 6468, 6481, 6483, 6487, 6489, 6494, 6500, 6506, - 6512, 6518, 6524, 6530, 6536, 6542, 6551, 6557, 6574, 6576, - 6584, 6592, 6594, 6598, 6602, 6604, 6608, 6610, 6618, 6622, - 6634, 6637, 6655, 6657, 6661, 6663, 6667, 6669, 6673, 6677, - 6681, 6690, 6694, 6698, 6703, 6707, 6719, 6721, 6725, 6730, - 6734, 6736, 6740, 6742, 6746, 6751, 6758, 6781, 6783, 6785, - 6787, 6789, 6793, 6804, 6808, 6823, 6830, 6837, 6838, 6842, - 6846, 6854, 6858, 6862, 6870, 6875, 6889, 6891, 6895, 6897, - 6906, 6908, 6910, 6912, 6948, 6952, 6956, 6960, 6964, 6976, - 6978, 6982, 6985, 6987, 6991, 6996, 7003, 7006, 7014, 7018, - 7023, 7025, 7032, 7037, 7041, 7045, 7049, 7053, 7057, 7060, - 7062, 7066, 7068, 7070, 7074, 7078, 7090, 7092, 7096, 7098, - 7102, 7105, 7108, 7112, 7118, 7130, 7132, 7136, 7138, 7142, - 7150, 7162, 7163, 7165, 7169, 7173, 7175, 7183, 7187, 7190, - 7192, 7196, 7200, 7202, 7203, 7204, 7205, 7206, 7207, 7208, - 7209, 7210, 7211, 7212, 7213, 7214, 7215, 7216, 7217, 7218, - 7219, 7220, 7221, 7222, 7223, 7224, 7225, 7226, 7227, 7230, - 7236, 7242, 7248, 7254, 7258, 7264, 7265, 7266, 7267, 7268, - 7269, 7270, 7271, 7272, 7275, 7280, 7285, 7291, 7297, 7303, - 7308, 7314, 7320, 7326, 7333, 7339, 7345, 7352, 7356, 7358, - 7364, 7371, 7377, 7383, 7389, 7395, 7401, 7407, 7413, 7419, - 7425, 7431, 7437, 7447, 7452, 7458, 7462, 7468, 7469, 7470, - 7471, 7474, 7482, 7488, 7494, 7499, 7505, 7512, 7518, 7522, - 7528, 7529, 7530, 7531, 7532, 7533, 7536, 7545, 7549, 7555, - 7562, 7569, 7576, 7585, 7591, 7597, 7601, 7607, 7608, 7611, - 7617, 7623, 7627, 7634, 7635, 7638, 7644, 7650, 7655, 7663, - 7669, 7674, 7681, 7685, 7691, 7692, 7693, 7694, 7695, 7696, - 7697, 7698, 7699, 7700, 7701, 7705, 7710, 7715, 7722, 7727, - 7733, 7739, 7744, 7749, 7754, 7758, 7763, 7768, 7772, 7777, - 7781, 7787, 7792, 7798, 7803, 7809, 7819, 7823, 7827, 7831, - 7837, 7840, 7844, 7845, 7846, 7847, 7848, 7849, 7850, 7853, - 7857, 7861, 7863, 7865, 7869, 7871, 7873, 7877, 7879, 7883, - 7885, 7889, 7892, 7895, 7900, 7902, 7904, 7906, 7908, 7912, - 7916, 7921, 7925, 7927, 7931, 7933, 7937, 7941, 7945, 7949, - 7951, 7955, 7956, 7957, 7958, 7959, 7960, 7963, 7967, 7971, - 7975, 7977, 7979, 7983, 7985, 7989, 7994, 7995, 8000, 8001, - 8005, 8009, 8011, 8015, 8016, 8017, 8020, 8024, 8028, 8031, - 8033, 8037, 8041, 8043, 8047, 8048, 8049, 8052, 8056, 8060, - 8064, 8066, 8070, 8072, 8074, 8076, 8079, 8081, 8083, 8087, - 8094, 8098, 8100, 8104, 8108, 8110, 8114, 8116, 8118, 8120, - 8122, 8126, 8128, 8132, 8134, 8138, 8140, 8145 + 0, 793, 793, 794, 798, 800, 814, 845, 854, 860, + 880, 889, 905, 917, 927, 934, 940, 945, 950, 974, + 1001, 1015, 1017, 1019, 1023, 1040, 1054, 1078, 1094, 1108, + 1126, 1128, 1135, 1139, 1140, 1147, 1148, 1156, 1157, 1159, + 1163, 1164, 1168, 1172, 1178, 1188, 1192, 1197, 1204, 1205, + 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, + 1216, 1217, 1222, 1227, 1234, 1236, 1237, 1238, 1239, 1240, + 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1250, 1254, 1262, + 1270, 1279, 1287, 1291, 1293, 1297, 1299, 1301, 1303, 1305, + 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1323, 1325, + 1327, 1329, 1331, 1336, 1345, 1355, 1363, 1373, 1394, 1414, + 1415, 1417, 1421, 1423, 1427, 1431, 1433, 1437, 1443, 1447, + 1449, 1453, 1457, 1461, 1465, 1469, 1475, 1479, 1483, 1489, + 1494, 1501, 1512, 1525, 1536, 1549, 1559, 1572, 1577, 1584, + 1587, 1592, 1597, 1604, 1607, 1617, 1631, 1634, 1653, 1680, + 1682, 1694, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1713, + 1714, 1718, 1720, 1727, 1732, 1733, 1735, 1737, 1750, 1756, + 1762, 1771, 1780, 1793, 1794, 1797, 1801, 1816, 1831, 1849, + 1870, 1890, 1912, 1929, 1947, 1954, 1961, 1968, 1981, 1988, + 1995, 2006, 2010, 2012, 2017, 2035, 2046, 2058, 2070, 2084, + 2090, 2097, 2103, 2109, 2117, 2124, 2140, 2143, 2152, 2154, + 2158, 2162, 2182, 2186, 2188, 2192, 2193, 2196, 2198, 2200, + 2202, 2204, 2207, 2210, 2214, 2220, 2224, 2228, 2230, 2235, + 2236, 2240, 2244, 2246, 2250, 2252, 2254, 2259, 2263, 2265, + 2267, 2270, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, + 2282, 2283, 2289, 2292, 2293, 2295, 2299, 2300, 2303, 2304, + 2306, 2310, 2311, 2312, 2313, 2315, 2318, 2319, 2328, 2330, + 2337, 2344, 2351, 2360, 2362, 2364, 2368, 2370, 2374, 2383, + 2390, 2397, 2399, 2403, 2407, 2413, 2415, 2420, 2424, 2428, + 2435, 2442, 2452, 2454, 2458, 2470, 2473, 2482, 2495, 2501, + 2507, 2513, 2521, 2531, 2533, 2537, 2539, 2572, 2574, 2578, + 2617, 2618, 2622, 2622, 2627, 2631, 2639, 2648, 2657, 2667, + 2673, 2676, 2678, 2682, 2690, 2705, 2712, 2714, 2718, 2734, + 2734, 2738, 2740, 2752, 2754, 2758, 2764, 2776, 2788, 2805, + 2834, 2835, 2843, 2844, 2848, 2850, 2852, 2863, 2867, 2873, + 2875, 2879, 2881, 2883, 2887, 2889, 2893, 2895, 2897, 2899, + 2901, 2903, 2905, 2907, 2909, 2911, 2913, 2915, 2917, 2919, + 2921, 2923, 2925, 2927, 2929, 2931, 2933, 2935, 2937, 2941, + 2942, 2953, 3027, 3039, 3041, 3045, 3176, 3226, 3270, 3312, + 3370, 3372, 3374, 3413, 3456, 3467, 3468, 3472, 3477, 3478, + 3482, 3484, 3490, 3492, 3498, 3511, 3517, 3524, 3530, 3538, + 3546, 3562, 3572, 3585, 3592, 3594, 3617, 3619, 3621, 3623, + 3625, 3627, 3629, 3631, 3635, 3635, 3635, 3649, 3651, 3674, + 3676, 3678, 3694, 3696, 3698, 3712, 3715, 3717, 3725, 3727, + 3729, 3731, 3785, 3805, 3820, 3829, 3832, 3882, 3888, 3893, + 3911, 3913, 3915, 3917, 3919, 3922, 3928, 3930, 3932, 3935, + 3937, 3939, 3966, 3975, 3984, 3985, 3987, 3992, 3999, 4007, + 4009, 4013, 4016, 4018, 4022, 4028, 4030, 4032, 4034, 4038, + 4040, 4049, 4050, 4057, 4058, 4062, 4066, 4087, 4090, 4094, + 4096, 4103, 4108, 4109, 4120, 4132, 4155, 4180, 4181, 4188, + 4190, 4192, 4194, 4196, 4200, 4277, 4289, 4296, 4298, 4299, + 4301, 4310, 4317, 4324, 4332, 4337, 4342, 4345, 4348, 4351, + 4354, 4357, 4361, 4379, 4384, 4403, 4422, 4426, 4427, 4430, + 4434, 4439, 4446, 4448, 4450, 4454, 4455, 4466, 4481, 4485, + 4492, 4495, 4505, 4518, 4531, 4534, 4536, 4539, 4542, 4546, + 4555, 4558, 4562, 4564, 4570, 4574, 4576, 4578, 4585, 4589, + 4591, 4595, 4597, 4601, 4620, 4636, 4645, 4654, 4656, 4660, + 4686, 4701, 4716, 4733, 4741, 4750, 4758, 4763, 4768, 4790, + 4806, 4808, 4812, 4814, 4821, 4823, 4825, 4829, 4831, 4833, + 4835, 4837, 4839, 4843, 4846, 4849, 4855, 4861, 4870, 4874, + 4881, 4883, 4887, 4889, 4891, 4896, 4901, 4906, 4911, 4920, + 4925, 4931, 4932, 4947, 4948, 4949, 4950, 4951, 4952, 4953, + 4954, 4955, 4956, 4957, 4958, 4959, 4960, 4961, 4962, 4963, + 4964, 4965, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, + 4976, 4977, 4978, 4979, 4980, 4981, 4982, 4983, 4984, 4985, + 4986, 4987, 4988, 4989, 4990, 4991, 4992, 4993, 4994, 4995, + 4996, 4997, 4998, 4999, 5000, 5001, 5002, 5003, 5004, 5005, + 5006, 5007, 5008, 5009, 5010, 5011, 5015, 5017, 5028, 5049, + 5053, 5055, 5059, 5072, 5076, 5078, 5082, 5093, 5104, 5108, + 5110, 5114, 5116, 5118, 5133, 5145, 5165, 5185, 5207, 5213, + 5222, 5230, 5236, 5244, 5251, 5257, 5266, 5270, 5276, 5284, + 5298, 5312, 5317, 5333, 5348, 5376, 5378, 5382, 5384, 5388, + 5417, 5440, 5461, 5462, 5466, 5487, 5489, 5493, 5501, 5505, + 5510, 5512, 5514, 5516, 5522, 5524, 5528, 5538, 5542, 5544, + 5549, 5551, 5555, 5559, 5565, 5575, 5577, 5581, 5583, 5585, + 5592, 5610, 5611, 5615, 5617, 5621, 5628, 5638, 5667, 5682, + 5689, 5707, 5709, 5713, 5727, 5753, 5766, 5782, 5784, 5787, + 5789, 5795, 5799, 5827, 5829, 5833, 5841, 5847, 5850, 5908, + 5972, 5974, 5977, 5981, 5985, 5989, 6006, 6018, 6022, 6026, + 6036, 6041, 6046, 6053, 6062, 6062, 6073, 6084, 6086, 6090, + 6101, 6105, 6107, 6111, 6122, 6126, 6128, 6132, 6144, 6146, + 6153, 6155, 6159, 6175, 6183, 6194, 6196, 6200, 6203, 6208, + 6218, 6220, 6224, 6226, 6235, 6236, 6240, 6242, 6247, 6248, + 6249, 6250, 6251, 6252, 6253, 6254, 6255, 6256, 6257, 6260, + 6265, 6269, 6273, 6277, 6290, 6294, 6298, 6302, 6305, 6307, + 6309, 6313, 6315, 6319, 6323, 6325, 6329, 6334, 6338, 6342, + 6344, 6348, 6357, 6360, 6366, 6373, 6376, 6378, 6382, 6384, + 6388, 6400, 6402, 6406, 6410, 6412, 6416, 6418, 6420, 6422, + 6424, 6426, 6428, 6432, 6436, 6440, 6444, 6448, 6455, 6461, + 6466, 6469, 6472, 6485, 6487, 6491, 6493, 6498, 6504, 6510, + 6516, 6522, 6528, 6534, 6540, 6546, 6555, 6561, 6578, 6580, + 6588, 6596, 6598, 6602, 6606, 6608, 6612, 6614, 6622, 6626, + 6638, 6641, 6659, 6661, 6665, 6667, 6671, 6673, 6677, 6681, + 6685, 6694, 6698, 6702, 6707, 6711, 6723, 6725, 6729, 6734, + 6738, 6740, 6744, 6746, 6750, 6755, 6762, 6785, 6787, 6789, + 6791, 6793, 6797, 6808, 6812, 6827, 6834, 6841, 6842, 6846, + 6850, 6858, 6862, 6866, 6874, 6879, 6893, 6895, 6899, 6901, + 6910, 6912, 6914, 6916, 6952, 6956, 6960, 6964, 6968, 6980, + 6982, 6986, 6989, 6991, 6995, 7000, 7007, 7010, 7018, 7022, + 7027, 7029, 7036, 7041, 7045, 7049, 7053, 7057, 7061, 7064, + 7066, 7070, 7072, 7074, 7078, 7082, 7094, 7096, 7100, 7102, + 7106, 7109, 7112, 7116, 7122, 7134, 7136, 7140, 7142, 7146, + 7154, 7166, 7167, 7169, 7173, 7177, 7179, 7187, 7191, 7194, + 7196, 7200, 7204, 7206, 7207, 7208, 7209, 7210, 7211, 7212, + 7213, 7214, 7215, 7216, 7217, 7218, 7219, 7220, 7221, 7222, + 7223, 7224, 7225, 7226, 7227, 7228, 7229, 7230, 7231, 7234, + 7240, 7246, 7252, 7258, 7262, 7268, 7269, 7270, 7271, 7272, + 7273, 7274, 7275, 7276, 7279, 7284, 7289, 7295, 7301, 7307, + 7312, 7318, 7324, 7330, 7337, 7343, 7349, 7356, 7360, 7362, + 7368, 7375, 7381, 7387, 7393, 7399, 7405, 7411, 7417, 7423, + 7429, 7435, 7441, 7451, 7456, 7462, 7466, 7472, 7473, 7474, + 7475, 7478, 7486, 7492, 7498, 7503, 7509, 7516, 7522, 7526, + 7532, 7533, 7534, 7535, 7536, 7537, 7540, 7549, 7553, 7559, + 7566, 7573, 7580, 7589, 7595, 7601, 7605, 7611, 7612, 7615, + 7621, 7627, 7631, 7638, 7639, 7642, 7648, 7654, 7659, 7667, + 7673, 7678, 7685, 7689, 7695, 7696, 7697, 7698, 7699, 7700, + 7701, 7702, 7703, 7704, 7705, 7709, 7714, 7719, 7726, 7731, + 7737, 7743, 7748, 7753, 7758, 7762, 7767, 7772, 7776, 7781, + 7785, 7791, 7796, 7802, 7807, 7813, 7823, 7827, 7831, 7835, + 7841, 7844, 7848, 7849, 7850, 7851, 7852, 7853, 7854, 7857, + 7861, 7865, 7867, 7869, 7873, 7875, 7877, 7881, 7883, 7887, + 7889, 7893, 7896, 7899, 7904, 7906, 7908, 7910, 7912, 7916, + 7920, 7925, 7929, 7931, 7935, 7937, 7941, 7945, 7949, 7953, + 7955, 7959, 7960, 7961, 7962, 7963, 7964, 7967, 7971, 7975, + 7979, 7981, 7983, 7987, 7989, 7993, 7998, 7999, 8004, 8005, + 8009, 8013, 8015, 8019, 8020, 8021, 8022, 8023, 8026, 8030, + 8034, 8038, 8042, 8045, 8047, 8051, 8055, 8057, 8061, 8062, + 8063, 8066, 8070, 8074, 8078, 8080, 8084, 8086, 8088, 8090, + 8093, 8095, 8097, 8099, 8103, 8110, 8114, 8116, 8120, 8124, + 8126, 8130, 8132, 8134, 8136, 8138, 8142, 8144, 8148, 8150, + 8154, 8156, 8161 }; #endif @@ -2122,34 +2132,35 @@ static const char *const yytname[] = "SPF_FISSION", "SPF_SHRINK", "SPF_CHECKPOINT", "SPF_EXCEPT", "SPF_FILES_COUNT", "SPF_INTERVAL", "SPF_TIME", "SPF_ITER", "SPF_FLEXIBLE", "SPF_APPLY_REGION", "SPF_APPLY_FRAGMENT", - "SPF_CODE_COVERAGE", "SPF_UNROLL", "BINARY_OP", "UNARY_OP", "$accept", - "program", "stat", "thislabel", "entry", "new_prog", "proc_attr", - "procname", "funcname", "typedfunc", "opt_result_clause", "name", - "progname", "blokname", "arglist", "args", "arg", "filename", - "needkeyword", "keywordoff", "keyword_if_colon_follow", "spec", - "interface", "defined_op", "operator", "intrinsic_op", "type_dcl", - "end_type", "dcl", "options", "attr_spec_list", "attr_spec", - "intent_spec", "access_spec", "intent", "optional", "static", "private", - "private_attr", "sequence", "public", "public_attr", "type", - "opt_key_hedr", "attrib", "att_type", "typespec", "typename", "lengspec", - "proper_lengspec", "selector", "clause", "end_ioctl", "initial_value", - "dimension", "allocatable", "pointer", "target", "common", "namelist", - "namelist_group", "comblock", "var", "external", "intrinsic", - "equivalence", "equivset", "equivlist", "equi_object", "data", "data1", - "data_in", "in_data", "datapair", "datalvals", "datarvals", "datalval", - "data_null", "d_name", "dataname", "datasubs", "datarange", - "iconexprlist", "opticonexpr", "dataimplieddo", "dlist", "dataelt", - "datarval", "datavalue", "BOZ_const", "int_const", "unsignedint", - "real_const", "unsignedreal", "complex_const_data", "complex_part", - "iconexpr", "iconterm", "iconfactor", "iconprimary", "savelist", - "saveitem", "use_name_list", "use_key_word", "no_use_key_word", - "use_name", "paramlist", "paramitem", "module_proc_stmt", - "proc_name_list", "use_stat", "module_name", "only_list", "only_name", - "rename_list", "rename_name", "dims", "dimlist", "@1", "dim", "ubound", - "labellist", "label", "implicit", "implist", "impitem", "imptype", "@2", - "type_implicit", "letgroups", "letgroup", "letter", "inside", "in_dcl", - "opt_double_colon", "funarglist", "funarg", "funargs", "subscript_list", - "expr", "uexpr", "addop", "ident", "lhs", "array_ele_substring_func_ref", + "SPF_CODE_COVERAGE", "SPF_UNROLL", "SPF_MERGE", "SPF_COVER", + "SPF_PROCESS_PRIVATE", "BINARY_OP", "UNARY_OP", "$accept", "program", + "stat", "thislabel", "entry", "new_prog", "proc_attr", "procname", + "funcname", "typedfunc", "opt_result_clause", "name", "progname", + "blokname", "arglist", "args", "arg", "filename", "needkeyword", + "keywordoff", "keyword_if_colon_follow", "spec", "interface", + "defined_op", "operator", "intrinsic_op", "type_dcl", "end_type", "dcl", + "options", "attr_spec_list", "attr_spec", "intent_spec", "access_spec", + "intent", "optional", "static", "private", "private_attr", "sequence", + "public", "public_attr", "type", "opt_key_hedr", "attrib", "att_type", + "typespec", "typename", "lengspec", "proper_lengspec", "selector", + "clause", "end_ioctl", "initial_value", "dimension", "allocatable", + "pointer", "target", "common", "namelist", "namelist_group", "comblock", + "var", "external", "intrinsic", "equivalence", "equivset", "equivlist", + "equi_object", "data", "data1", "data_in", "in_data", "datapair", + "datalvals", "datarvals", "datalval", "data_null", "d_name", "dataname", + "datasubs", "datarange", "iconexprlist", "opticonexpr", "dataimplieddo", + "dlist", "dataelt", "datarval", "datavalue", "BOZ_const", "int_const", + "unsignedint", "real_const", "unsignedreal", "complex_const_data", + "complex_part", "iconexpr", "iconterm", "iconfactor", "iconprimary", + "savelist", "saveitem", "use_name_list", "use_key_word", + "no_use_key_word", "use_name", "paramlist", "paramitem", + "module_proc_stmt", "proc_name_list", "use_stat", "module_name", + "only_list", "only_name", "rename_list", "rename_name", "dims", + "dimlist", "@1", "dim", "ubound", "labellist", "label", "implicit", + "implist", "impitem", "imptype", "@2", "type_implicit", "letgroups", + "letgroup", "letter", "inside", "in_dcl", "opt_double_colon", + "funarglist", "funarg", "funargs", "subscript_list", "expr", "uexpr", + "addop", "ident", "lhs", "array_ele_substring_func_ref", "structure_component", "array_element", "asubstring", "opt_substring", "substring", "opt_expr", "simple_const", "numeric_bool_const", "integer_constant", "string_constant", "complex_const", "kind", @@ -2254,6 +2265,7 @@ static const char *const yytname[] = "characteristic_list", "characteristic", "opt_clause_apply_fragment", "opt_clause_apply_region", "spf_end_parallel_reg", "analysis_spec_list", "analysis_spec", "analysis_reduction_spec", "analysis_private_spec", + "analysis_process_private_spec", "analysis_cover_spec", "analysis_parameter_spec", "spf_parameter_list", "spf_parameter", "parallel_spec_list", "parallel_spec", "parallel_shadow_spec", "parallel_across_spec", "parallel_remote_access_spec", @@ -2269,7 +2281,7 @@ static const char *const yytname[] = token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { - 0, 353, 354, 1, 2, 3, 4, 5, 6, 7, + 0, 356, 357, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, @@ -2304,143 +2316,144 @@ static const yytype_uint16 yytoknum[] = 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, 351, 352, 355, 356 + 348, 349, 350, 351, 352, 353, 354, 355, 358, 359 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 357, 358, 358, 359, 359, 359, 359, 359, 359, - 359, 360, 361, 361, 361, 361, 361, 361, 361, 361, - 362, 363, 363, 363, 364, 365, 366, 366, 366, 366, - 367, 367, 368, 369, 369, 370, 370, 371, 371, 371, - 372, 372, 373, 373, 374, 375, 376, 377, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 379, 379, 379, - 379, 379, 380, 381, 381, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 383, 383, 384, 384, 385, 385, 386, - 386, 386, 387, 387, 388, 388, 388, 388, 388, 388, - 388, 388, 388, 388, 388, 388, 389, 389, 389, 390, - 390, 391, 391, 392, 392, 393, 393, 394, 394, 395, - 396, 397, 397, 398, 399, 399, 400, 401, 401, 402, - 402, 403, 404, 404, 404, 404, 404, 404, 404, 405, - 405, 406, 406, 406, 407, 407, 407, 407, 408, 408, - 408, 408, 409, 410, 410, 410, 411, 411, 412, 412, - 413, 413, 414, 414, 415, 415, 415, 415, 416, 416, - 416, 417, 418, 418, 419, 420, 420, 421, 421, 422, - 422, 423, 424, 424, 425, 425, 425, 426, 427, 427, - 428, 429, 430, 431, 431, 432, 432, 433, 433, 433, - 433, 433, 434, 435, 436, 437, 438, 439, 439, 440, - 440, 441, 442, 442, 443, 443, 443, 443, 444, 444, - 444, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 446, 447, 447, 447, 448, 448, 449, 449, - 449, 450, 450, 450, 450, 451, 452, 452, 453, 453, - 453, 453, 453, 454, 454, 454, 455, 455, 456, 456, - 456, 457, 457, 458, 458, 459, 459, 460, 461, 462, - 462, 462, 463, 463, 464, 465, 466, 466, 467, 467, - 467, 467, 468, 469, 469, 470, 470, 471, 471, 472, - 473, 473, 475, 474, 474, 476, 476, 476, 476, 477, - 477, 478, 478, 479, 480, 480, 481, 481, 482, 484, - 483, 485, 485, 486, 486, 487, 487, 488, 489, 490, - 491, 491, 492, 492, 493, 493, 493, 494, 494, 495, - 495, 496, 496, 496, 497, 497, 497, 497, 497, 497, - 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - 497, 497, 497, 497, 497, 497, 497, 497, 497, 498, - 498, 499, 500, 500, 500, 501, 501, 501, 501, 502, - 503, 503, 503, 503, 504, 505, 505, 506, 507, 507, - 508, 508, 508, 508, 508, 509, 509, 509, 509, 510, - 511, 511, 511, 512, 513, 513, 514, 514, 514, 514, - 514, 514, 514, 514, 516, 517, 515, 518, 518, 519, - 519, 519, 520, 520, 520, 521, 522, 522, 523, 523, - 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 523, 523, 524, 524, 525, 525, 525, 526, 526, 527, - 527, 527, 527, 527, 528, 529, 529, 529, 529, 530, - 530, 531, 531, 532, 532, 533, 534, 535, 536, 537, - 537, 538, 539, 539, 540, 541, 541, 542, 542, 543, - 543, 543, 543, 543, 544, 544, 544, 544, 544, 544, - 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, - 544, 544, 545, 546, 546, 546, 546, 547, 547, 548, - 549, 549, 550, 550, 550, 551, 551, 552, 553, 554, - 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, - 555, 555, 555, 555, 556, 557, 557, 557, 558, 559, - 559, 560, 560, 561, 561, 562, 562, 563, 563, 564, - 564, 564, 564, 564, 564, 565, 566, 567, 568, 568, - 569, 569, 570, 570, 571, 571, 571, 572, 572, 572, - 572, 572, 572, 573, 573, 573, 573, 573, 574, 575, - 576, 576, 577, 577, 577, 577, 577, 577, 577, 577, - 577, 578, 578, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, + 0, 360, 361, 361, 362, 362, 362, 362, 362, 362, + 362, 363, 364, 364, 364, 364, 364, 364, 364, 364, + 365, 366, 366, 366, 367, 368, 369, 369, 369, 369, + 370, 370, 371, 372, 372, 373, 373, 374, 374, 374, + 375, 375, 376, 376, 377, 378, 379, 380, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 382, 382, 382, + 382, 382, 383, 384, 384, 385, 385, 385, 385, 385, + 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, + 385, 385, 385, 386, 386, 387, 387, 388, 388, 389, + 389, 389, 390, 390, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 392, 392, 392, 393, + 393, 394, 394, 395, 395, 396, 396, 397, 397, 398, + 399, 400, 400, 401, 402, 402, 403, 404, 404, 405, + 405, 406, 407, 407, 407, 407, 407, 407, 407, 408, + 408, 409, 409, 409, 410, 410, 410, 410, 411, 411, + 411, 411, 412, 413, 413, 413, 414, 414, 415, 415, + 416, 416, 417, 417, 418, 418, 418, 418, 419, 419, + 419, 420, 421, 421, 422, 423, 423, 424, 424, 425, + 425, 426, 427, 427, 428, 428, 428, 429, 430, 430, + 431, 432, 433, 434, 434, 435, 435, 436, 436, 436, + 436, 436, 437, 438, 439, 440, 441, 442, 442, 443, + 443, 444, 445, 445, 446, 446, 446, 446, 447, 447, + 447, 448, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 448, 449, 450, 450, 450, 451, 451, 452, 452, + 452, 453, 453, 453, 453, 454, 455, 455, 456, 456, + 456, 456, 456, 457, 457, 457, 458, 458, 459, 459, + 459, 460, 460, 461, 461, 462, 462, 463, 464, 465, + 465, 465, 466, 466, 467, 468, 469, 469, 470, 470, + 470, 470, 471, 472, 472, 473, 473, 474, 474, 475, + 476, 476, 478, 477, 477, 479, 479, 479, 479, 480, + 480, 481, 481, 482, 483, 483, 484, 484, 485, 487, + 486, 488, 488, 489, 489, 490, 490, 491, 492, 493, + 494, 494, 495, 495, 496, 496, 496, 497, 497, 498, + 498, 499, 499, 499, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 501, + 501, 502, 503, 503, 503, 504, 504, 504, 504, 505, + 506, 506, 506, 506, 507, 508, 508, 509, 510, 510, + 511, 511, 511, 511, 511, 512, 512, 512, 512, 513, + 514, 514, 514, 515, 516, 516, 517, 517, 517, 517, + 517, 517, 517, 517, 519, 520, 518, 521, 521, 522, + 522, 522, 523, 523, 523, 524, 525, 525, 526, 526, + 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, + 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, + 526, 526, 527, 527, 528, 528, 528, 529, 529, 530, + 530, 530, 530, 530, 531, 532, 532, 532, 532, 533, + 533, 534, 534, 535, 535, 536, 537, 538, 539, 540, + 540, 541, 542, 542, 543, 544, 544, 545, 545, 546, + 546, 546, 546, 546, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 548, 549, 549, 549, 549, 550, 550, 551, + 552, 552, 553, 553, 553, 554, 554, 555, 556, 557, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 559, 560, 560, 560, 561, 562, + 562, 563, 563, 564, 564, 565, 565, 566, 566, 567, + 567, 567, 567, 567, 567, 568, 569, 570, 571, 571, + 572, 572, 573, 573, 574, 574, 574, 575, 575, 575, + 575, 575, 575, 576, 576, 576, 576, 576, 577, 578, 579, 579, 580, 580, 580, 580, 580, 580, 580, 580, - 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, - 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, - 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, - 580, 580, 580, 580, 580, 580, 581, 581, 582, 583, - 584, 584, 585, 586, 587, 587, 588, 589, 590, 591, - 591, 592, 592, 592, 593, 594, 594, 594, 595, 595, - 596, 597, 597, 598, 599, 599, 600, 601, 601, 602, - 603, 603, 604, 605, 605, 606, 606, 607, 607, 608, - 609, 610, 611, 611, 612, 613, 613, 614, 615, 615, - 615, 615, 615, 615, 615, 615, 616, 617, 618, 618, - 619, 619, 620, 620, 621, 622, 622, 623, 623, 623, - 624, 625, 625, 626, 626, 627, 628, 628, 629, 630, - 630, 631, 631, 632, 633, 634, 635, 636, 636, 637, - 637, 637, 638, 639, 639, 640, 640, 640, 641, 641, - 642, 642, 643, 643, 643, 643, 643, 643, 643, 643, - 643, 643, 643, 644, 646, 645, 645, 647, 647, 648, - 649, 650, 650, 651, 652, 653, 653, 654, 655, 655, - 656, 656, 657, 658, 659, 660, 660, 661, 661, 662, - 663, 663, 664, 664, 665, 665, 666, 666, 667, 667, - 667, 667, 667, 667, 667, 667, 667, 667, 667, 668, - 668, 669, 669, 670, 671, 671, 672, 673, 674, 674, - 674, 675, 675, 676, 677, 677, 678, 678, 679, 680, - 680, 681, 682, 683, 683, 683, 684, 684, 685, 685, - 685, 686, 686, 687, 688, 688, 689, 689, 689, 689, - 689, 689, 689, 690, 691, 692, 693, 694, 694, 694, - 695, 696, 697, 698, 698, 699, 699, 700, 700, 700, - 700, 700, 700, 700, 700, 700, 701, 701, 702, 702, - 702, 702, 702, 703, 704, 704, 705, 705, 705, 705, - 706, 707, 708, 708, 709, 709, 710, 710, 711, 712, - 713, 714, 715, 716, 716, 717, 718, 718, 719, 719, - 720, 720, 721, 721, 722, 722, 723, 724, 724, 724, - 724, 724, 725, 726, 727, 727, 728, 729, 729, 730, - 731, 731, 732, 733, 734, 734, 735, 735, 736, 736, - 737, 737, 737, 737, 738, 739, 740, 741, 742, 743, - 743, 744, 745, 745, 746, 746, 747, 748, 749, 750, - 751, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 759, 760, 760, 760, 761, 762, 763, 763, 764, 764, - 765, 765, 766, 767, 767, 768, 768, 769, 769, 770, - 771, 772, 772, 772, 773, 774, 774, 775, 776, 777, - 777, 778, 779, 780, 780, 780, 780, 780, 780, 780, - 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, - 780, 780, 780, 780, 780, 780, 780, 780, 780, 781, - 782, 783, 783, 784, 784, 785, 785, 785, 785, 785, - 785, 785, 785, 785, 786, 787, 788, 789, 790, 791, - 792, 793, 793, 793, 794, 795, 796, 797, 798, 799, - 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, - 799, 799, 799, 800, 800, 801, 801, 802, 802, 802, - 802, 803, 803, 804, 805, 805, 806, 806, 807, 807, - 808, 808, 808, 808, 808, 808, 809, 810, 810, 811, - 811, 811, 811, 812, 812, 813, 813, 814, 814, 815, - 815, 816, 816, 817, 817, 818, 819, 820, 821, 821, - 822, 822, 823, 823, 824, 824, 824, 824, 824, 824, - 824, 824, 824, 824, 824, 825, 826, 826, 827, 828, - 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, - 837, 838, 838, 839, 839, 840, 841, 841, 841, 841, - 842, 843, 844, 844, 844, 844, 844, 844, 844, 845, - 846, 847, 847, 847, 848, 848, 848, 849, 849, 850, - 850, 851, 851, 851, 852, 852, 852, 852, 852, 853, - 854, 855, 856, 856, 857, 857, 858, 859, 860, 861, - 861, 862, 862, 862, 862, 862, 862, 863, 864, 865, - 866, 866, 866, 867, 867, 868, 869, 869, 870, 870, - 871, 872, 872, 873, 873, 873, 874, 875, 876, 877, - 877, 878, 879, 879, 880, 880, 880, 881, 882, 883, - 884, 884, 885, 885, 885, 885, 885, 885, 885, 886, - 887, 888, 888, 889, 890, 890, 891, 891, 891, 891, - 891, 892, 892, 893, 893, 894, 894, 895 + 580, 581, 581, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 583, 583, 583, 583, 583, 583, 583, 583, + 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, + 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, + 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, + 583, 583, 583, 583, 583, 583, 584, 584, 585, 586, + 587, 587, 588, 589, 590, 590, 591, 592, 593, 594, + 594, 595, 595, 595, 596, 597, 597, 597, 598, 598, + 599, 600, 600, 601, 602, 602, 603, 604, 604, 605, + 606, 606, 607, 608, 608, 609, 609, 610, 610, 611, + 612, 613, 614, 614, 615, 616, 616, 617, 618, 618, + 618, 618, 618, 618, 618, 618, 619, 620, 621, 621, + 622, 622, 623, 623, 624, 625, 625, 626, 626, 626, + 627, 628, 628, 629, 629, 630, 631, 631, 632, 633, + 633, 634, 634, 635, 636, 637, 638, 639, 639, 640, + 640, 640, 641, 642, 642, 643, 643, 643, 644, 644, + 645, 645, 646, 646, 646, 646, 646, 646, 646, 646, + 646, 646, 646, 647, 649, 648, 648, 650, 650, 651, + 652, 653, 653, 654, 655, 656, 656, 657, 658, 658, + 659, 659, 660, 661, 662, 663, 663, 664, 664, 665, + 666, 666, 667, 667, 668, 668, 669, 669, 670, 670, + 670, 670, 670, 670, 670, 670, 670, 670, 670, 671, + 671, 672, 672, 673, 674, 674, 675, 676, 677, 677, + 677, 678, 678, 679, 680, 680, 681, 681, 682, 683, + 683, 684, 685, 686, 686, 686, 687, 687, 688, 688, + 688, 689, 689, 690, 691, 691, 692, 692, 692, 692, + 692, 692, 692, 693, 694, 695, 696, 697, 697, 697, + 698, 699, 700, 701, 701, 702, 702, 703, 703, 703, + 703, 703, 703, 703, 703, 703, 704, 704, 705, 705, + 705, 705, 705, 706, 707, 707, 708, 708, 708, 708, + 709, 710, 711, 711, 712, 712, 713, 713, 714, 715, + 716, 717, 718, 719, 719, 720, 721, 721, 722, 722, + 723, 723, 724, 724, 725, 725, 726, 727, 727, 727, + 727, 727, 728, 729, 730, 730, 731, 732, 732, 733, + 734, 734, 735, 736, 737, 737, 738, 738, 739, 739, + 740, 740, 740, 740, 741, 742, 743, 744, 745, 746, + 746, 747, 748, 748, 749, 749, 750, 751, 752, 753, + 754, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 762, 763, 763, 763, 764, 765, 766, 766, 767, 767, + 768, 768, 769, 770, 770, 771, 771, 772, 772, 773, + 774, 775, 775, 775, 776, 777, 777, 778, 779, 780, + 780, 781, 782, 783, 783, 783, 783, 783, 783, 783, + 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, + 783, 783, 783, 783, 783, 783, 783, 783, 783, 784, + 785, 786, 786, 787, 787, 788, 788, 788, 788, 788, + 788, 788, 788, 788, 789, 790, 791, 792, 793, 794, + 795, 796, 796, 796, 797, 798, 799, 800, 801, 802, + 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, + 802, 802, 802, 803, 803, 804, 804, 805, 805, 805, + 805, 806, 806, 807, 808, 808, 809, 809, 810, 810, + 811, 811, 811, 811, 811, 811, 812, 813, 813, 814, + 814, 814, 814, 815, 815, 816, 816, 817, 817, 818, + 818, 819, 819, 820, 820, 821, 822, 823, 824, 824, + 825, 825, 826, 826, 827, 827, 827, 827, 827, 827, + 827, 827, 827, 827, 827, 828, 829, 829, 830, 831, + 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, + 840, 841, 841, 842, 842, 843, 844, 844, 844, 844, + 845, 846, 847, 847, 847, 847, 847, 847, 847, 848, + 849, 850, 850, 850, 851, 851, 851, 852, 852, 853, + 853, 854, 854, 854, 855, 855, 855, 855, 855, 856, + 857, 858, 859, 859, 860, 860, 861, 862, 863, 864, + 864, 865, 865, 865, 865, 865, 865, 866, 867, 868, + 869, 869, 869, 870, 870, 871, 872, 872, 873, 873, + 874, 875, 875, 876, 876, 876, 876, 876, 877, 878, + 879, 880, 881, 882, 882, 883, 884, 884, 885, 885, + 885, 886, 887, 888, 889, 889, 890, 890, 890, 890, + 890, 890, 890, 890, 891, 892, 893, 893, 894, 895, + 895, 896, 896, 896, 896, 896, 897, 897, 898, 898, + 899, 899, 900 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -2571,11 +2584,12 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 3, 2, 2, 1, 1, 3, 2, 2, 1, 1, 1, 1, 1, 1, 5, 5, 5, 3, 10, 10, 1, 3, 2, 0, 6, 0, 6, - 2, 1, 3, 1, 1, 1, 5, 5, 5, 1, - 3, 3, 1, 3, 1, 1, 1, 5, 5, 5, - 1, 3, 2, 5, 2, 5, 5, 2, 5, 5, - 1, 1, 3, 5, 1, 3, 5, 5, 5, 5, - 7, 1, 3, 2, 2, 2, 2, 0 + 2, 1, 3, 1, 1, 1, 1, 1, 5, 5, + 5, 5, 5, 1, 3, 3, 1, 3, 1, 1, + 1, 5, 5, 5, 1, 3, 2, 5, 2, 5, + 5, 2, 5, 2, 5, 1, 1, 3, 5, 1, + 3, 5, 5, 5, 5, 7, 1, 3, 2, 2, + 2, 2, 0 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -2603,7 +2617,7 @@ static const yytype_uint16 yydefact[] = 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 339, 537, 784, 537, 1226, 537, 1227, 537, 537, 339, 537, 537, 537, 537, 537, 537, - 537, 537, 1297, 1297, 1297, 1297, 1297, 1297, 611, 0, + 537, 537, 1302, 1302, 1302, 1302, 1302, 1302, 611, 0, 37, 611, 73, 48, 49, 50, 65, 66, 76, 68, 69, 67, 109, 58, 0, 146, 151, 52, 70, 71, 72, 51, 59, 54, 55, 56, 60, 207, 75, 74, @@ -2672,7 +2686,7 @@ static const yytype_uint16 yydefact[] = 527, 1149, 1179, 0, 527, 527, 527, 527, 527, 527, 1172, 310, 46, 1199, 1208, 1209, 0, 0, 46, 1228, 45, 0, 1024, 1025, 0, 992, 349, 0, 0, 45, - 45, 45, 1280, 1240, 45, 0, 0, 20, 43, 38, + 45, 45, 1285, 1240, 45, 0, 0, 20, 43, 38, 42, 0, 40, 17, 46, 310, 132, 134, 136, 110, 0, 0, 20, 339, 148, 538, 598, 165, 146, 310, 179, 181, 183, 187, 527, 190, 527, 196, 198, 200, @@ -2708,524 +2722,528 @@ static const yytype_uint16 yydefact[] = 1207, 1211, 1213, 1212, 45, 1202, 851, 1221, 0, 1205, 0, 1229, 1230, 0, 0, 999, 45, 45, 45, 0, 390, 391, 1029, 0, 0, 0, 0, 1251, 1253, 1254, - 1255, 0, 0, 1262, 1264, 1265, 1266, 0, 0, 1270, - 45, 0, 0, 1284, 28, 37, 0, 0, 39, 0, - 30, 159, 116, 310, 339, 118, 120, 0, 121, 114, - 122, 130, 129, 123, 124, 125, 0, 112, 115, 26, - 0, 310, 0, 0, 144, 177, 0, 0, 222, 222, - 0, 224, 217, 221, 0, 0, 0, 352, 0, 359, - 361, 358, 357, 375, 377, 371, 365, 504, 368, 366, - 369, 367, 370, 372, 374, 360, 373, 378, 598, 411, - 389, 0, 343, 0, 414, 415, 401, 412, 403, 0, - 598, 513, 0, 532, 530, 0, 598, 566, 573, 574, - 572, 601, 610, 605, 607, 609, 606, 604, 565, 549, - 0, 0, 0, 351, 0, 0, 0, 0, 0, 697, - 779, 0, 789, 792, 782, 0, 791, 785, 0, 783, - 784, 781, 774, 0, 429, 0, 0, 506, 0, 0, - 0, 0, 811, 477, 476, 0, 474, 0, 193, 0, - 527, 806, 427, 428, 432, 0, 0, 0, 314, 317, - 176, 0, 598, 0, 0, 0, 0, 0, 712, 723, - 310, 462, 727, 681, 0, 481, 0, 0, 201, 0, - 394, 981, 0, 0, 0, 16, 802, 327, 337, 0, - 333, 335, 331, 0, 0, 0, 0, 0, 0, 0, - 965, 685, 562, 80, 79, 128, 126, 127, 340, 0, - 487, 423, 0, 0, 0, 0, 191, 0, 520, 0, - 0, 727, 0, 0, 64, 527, 505, 601, 138, 0, - 142, 45, 0, 711, 0, 0, 0, 0, 934, 0, - 0, 0, 0, 0, 914, 916, 0, 692, 690, 0, - 45, 951, 45, 950, 145, 340, 0, 502, 0, 1181, - 0, 727, 1183, 0, 727, 0, 0, 727, 0, 727, - 0, 727, 0, 727, 0, 0, 0, 45, 0, 0, - 0, 1210, 0, 1201, 1204, 1003, 1001, 1002, 45, 998, - 0, 0, 0, 350, 598, 598, 0, 1028, 1031, 0, - 0, 0, 45, 1237, 0, 0, 0, 45, 1238, 1272, - 1274, 0, 0, 1277, 45, 1239, 0, 0, 0, 0, - 0, 0, 45, 1283, 15, 29, 41, 0, 173, 160, - 117, 0, 45, 0, 45, 27, 159, 539, 539, 169, - 172, 168, 0, 186, 189, 214, 0, 0, 0, 247, - 245, 252, 249, 263, 256, 261, 0, 0, 215, 238, - 250, 242, 253, 243, 258, 244, 0, 237, 0, 232, - 229, 218, 219, 0, 0, 425, 351, 0, 387, 598, - 347, 344, 345, 0, 398, 0, 534, 533, 0, 0, - 581, 352, 0, 0, 0, 351, 588, 351, 592, 351, - 590, 310, 0, 598, 518, 0, 0, 980, 0, 311, - 478, 480, 172, 322, 0, 598, 519, 0, 984, 598, - 983, 318, 320, 726, 0, 0, 0, 736, 0, 0, - 0, 0, 710, 464, 481, 501, 0, 203, 202, 381, - 493, 490, 488, 0, 491, 0, 328, 0, 0, 0, - 0, 0, 0, 967, 0, 1013, 0, 0, 422, 417, - 954, 955, 721, 310, 961, 437, 0, 816, 818, 824, - 294, 293, 0, 287, 0, 0, 289, 288, 0, 760, - 761, 713, 0, 943, 942, 0, 940, 0, 937, 282, - 0, 1019, 1008, 0, 1006, 1009, 755, 0, 0, 928, - 920, 693, 0, 0, 0, 0, 0, 300, 0, 299, - 307, 0, 1190, 0, 1190, 1190, 1126, 0, 1120, 1122, - 1123, 1121, 727, 1125, 1124, 0, 1190, 727, 1144, 1143, - 0, 0, 1187, 1186, 0, 0, 1190, 0, 1190, 0, - 727, 1065, 1069, 1070, 1071, 1067, 1068, 1072, 1073, 1066, - 0, 1154, 1158, 1159, 1160, 1156, 1157, 1161, 1162, 1155, - 1164, 1163, 727, 0, 1107, 1109, 1110, 1108, 727, 0, - 1137, 1138, 727, 0, 0, 0, 0, 0, 0, 1222, - 0, 0, 852, 1000, 0, 1026, 0, 598, 0, 1030, - 0, 0, 45, 1252, 0, 0, 0, 1263, 0, 0, - 0, 0, 1271, 0, 0, 45, 0, 0, 0, 45, - 1285, 0, 0, 0, 108, 794, 0, 111, 0, 173, - 0, 146, 0, 171, 170, 267, 253, 266, 0, 255, - 260, 254, 259, 0, 0, 0, 0, 0, 222, 212, - 223, 241, 0, 222, 234, 235, 0, 0, 0, 0, - 278, 223, 279, 0, 0, 227, 268, 273, 276, 229, - 220, 0, 503, 0, 413, 385, 388, 0, 346, 0, - 531, 568, 569, 0, 0, 351, 0, 0, 0, 778, - 772, 788, 0, 0, 0, 525, 0, 340, 526, 0, - 986, 0, 0, 0, 740, 0, 738, 735, 730, 734, - 732, 0, 45, 0, 463, 450, 205, 334, 336, 0, - 0, 0, 969, 964, 131, 0, 1012, 421, 0, 0, - 416, 960, 0, 0, 45, 814, 825, 826, 831, 835, - 828, 836, 837, 838, 832, 834, 833, 829, 830, 0, - 0, 0, 0, 285, 0, 0, 0, 0, 938, 933, - 472, 0, 1005, 727, 915, 0, 0, 890, 104, 306, - 301, 303, 305, 0, 0, 0, 1075, 727, 1076, 1077, - 45, 1118, 727, 1145, 1141, 727, 1190, 0, 1074, 45, - 1078, 0, 1079, 0, 1063, 727, 1152, 727, 1105, 727, - 1135, 727, 1214, 1215, 1216, 1224, 1225, 45, 1219, 1217, - 1218, 0, 0, 0, 393, 0, 0, 1259, 0, 0, - 0, 0, 0, 0, 0, 0, 1281, 0, 0, 0, - 45, 45, 0, 0, 1291, 0, 0, 0, 0, 0, - 31, 175, 174, 0, 0, 119, 113, 107, 0, 0, - 161, 598, 166, 0, 248, 246, 264, 257, 262, 216, - 222, 598, 0, 240, 236, 223, 0, 233, 0, 270, - 269, 0, 225, 229, 0, 0, 0, 0, 0, 230, - 0, 426, 386, 348, 397, 0, 583, 595, 597, 596, - 0, 430, 0, 0, 809, 0, 433, 0, 985, 756, - 729, 0, 0, 45, 0, 0, 0, 844, 974, 845, - 1018, 0, 1015, 1017, 420, 419, 0, 0, 0, 817, - 0, 827, 0, 288, 0, 0, 765, 762, 719, 714, - 715, 717, 718, 941, 1007, 1011, 0, 0, 381, 0, - 0, 0, 0, 309, 308, 521, 0, 0, 0, 1119, - 1142, 0, 1189, 1188, 0, 0, 0, 1064, 1153, 1106, - 1136, 1223, 0, 0, 392, 0, 0, 1258, 1257, 902, - 903, 904, 901, 906, 900, 907, 899, 898, 897, 905, - 893, 0, 0, 45, 1256, 1268, 1269, 1267, 1275, 1273, - 0, 1276, 0, 1278, 0, 0, 1243, 0, 1293, 1294, - 45, 1286, 1287, 1288, 1289, 1295, 1296, 0, 0, 0, - 795, 162, 163, 0, 0, 239, 598, 241, 0, 280, - 228, 0, 272, 271, 274, 275, 277, 473, 0, 770, - 769, 771, 0, 767, 431, 0, 997, 434, 0, 741, - 739, 0, 731, 0, 0, 0, 1014, 418, 846, 0, - 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, - 0, 286, 291, 290, 0, 0, 0, 1004, 917, 918, - 0, 842, 891, 891, 304, 1091, 1090, 1089, 1096, 1097, - 1098, 1095, 1092, 1094, 1093, 1102, 1099, 1100, 1101, 0, - 1086, 1130, 1129, 1131, 1132, 0, 1191, 1081, 1083, 1082, - 0, 1085, 1084, 0, 1027, 1261, 1260, 0, 0, 0, - 1282, 0, 1245, 45, 1246, 1248, 1292, 0, 796, 0, - 172, 265, 0, 0, 227, 226, 0, 0, 766, 510, - 0, 0, 0, 466, 1016, 823, 822, 0, 820, 862, - 859, 0, 0, 0, 0, 909, 910, 0, 0, 0, - 0, 0, 716, 922, 1010, 45, 0, 0, 0, 0, - 0, 1128, 1185, 1080, 45, 0, 0, 894, 0, 1244, - 45, 1241, 45, 1242, 1290, 0, 0, 251, 231, 495, - 768, 757, 744, 737, 742, 0, 0, 819, 865, 860, - 0, 0, 0, 0, 0, 0, 0, 848, 0, 854, - 0, 467, 720, 0, 0, 841, 45, 45, 888, 1088, - 1087, 0, 0, 895, 0, 1279, 0, 0, 799, 793, - 797, 167, 0, 0, 465, 821, 0, 0, 0, 0, - 857, 0, 840, 0, 908, 858, 0, 847, 0, 853, - 0, 923, 0, 0, 0, 1127, 0, 0, 354, 0, - 0, 0, 496, 0, 747, 0, 745, 748, 863, 864, - 0, 866, 868, 0, 0, 0, 849, 855, 468, 919, - 889, 887, 0, 896, 45, 45, 798, 750, 751, 0, - 743, 0, 861, 0, 856, 839, 0, 0, 0, 0, - 0, 0, 749, 752, 746, 867, 0, 0, 871, 912, - 850, 1021, 1247, 1249, 753, 0, 0, 0, 869, 45, - 1020, 754, 873, 872, 45, 0, 0, 0, 874, 879, - 881, 882, 1022, 1023, 0, 0, 0, 45, 870, 45, - 45, 598, 885, 884, 883, 875, 0, 877, 878, 0, - 880, 0, 45, 886, 876 + 1255, 1257, 1256, 0, 0, 1266, 1268, 1269, 1270, 0, + 0, 1274, 45, 0, 0, 1289, 28, 37, 0, 0, + 39, 0, 30, 159, 116, 310, 339, 118, 120, 0, + 121, 114, 122, 130, 129, 123, 124, 125, 0, 112, + 115, 26, 0, 310, 0, 0, 144, 177, 0, 0, + 222, 222, 0, 224, 217, 221, 0, 0, 0, 352, + 0, 359, 361, 358, 357, 375, 377, 371, 365, 504, + 368, 366, 369, 367, 370, 372, 374, 360, 373, 378, + 598, 411, 389, 0, 343, 0, 414, 415, 401, 412, + 403, 0, 598, 513, 0, 532, 530, 0, 598, 566, + 573, 574, 572, 601, 610, 605, 607, 609, 606, 604, + 565, 549, 0, 0, 0, 351, 0, 0, 0, 0, + 0, 697, 779, 0, 789, 792, 782, 0, 791, 785, + 0, 783, 784, 781, 774, 0, 429, 0, 0, 506, + 0, 0, 0, 0, 811, 477, 476, 0, 474, 0, + 193, 0, 527, 806, 427, 428, 432, 0, 0, 0, + 314, 317, 176, 0, 598, 0, 0, 0, 0, 0, + 712, 723, 310, 462, 727, 681, 0, 481, 0, 0, + 201, 0, 394, 981, 0, 0, 0, 16, 802, 327, + 337, 0, 333, 335, 331, 0, 0, 0, 0, 0, + 0, 0, 965, 685, 562, 80, 79, 128, 126, 127, + 340, 0, 487, 423, 0, 0, 0, 0, 191, 0, + 520, 0, 0, 727, 0, 0, 64, 527, 505, 601, + 138, 0, 142, 45, 0, 711, 0, 0, 0, 0, + 934, 0, 0, 0, 0, 0, 914, 916, 0, 692, + 690, 0, 45, 951, 45, 950, 145, 340, 0, 502, + 0, 1181, 0, 727, 1183, 0, 727, 0, 0, 727, + 0, 727, 0, 727, 0, 727, 0, 0, 0, 45, + 0, 0, 0, 1210, 0, 1201, 1204, 1003, 1001, 1002, + 45, 998, 0, 0, 0, 350, 598, 598, 0, 1028, + 1031, 0, 0, 0, 0, 0, 45, 1237, 0, 0, + 0, 45, 1238, 1276, 1278, 0, 0, 1281, 1283, 45, + 1239, 0, 0, 0, 0, 0, 0, 45, 1288, 15, + 29, 41, 0, 173, 160, 117, 0, 45, 0, 45, + 27, 159, 539, 539, 169, 172, 168, 0, 186, 189, + 214, 0, 0, 0, 247, 245, 252, 249, 263, 256, + 261, 0, 0, 215, 238, 250, 242, 253, 243, 258, + 244, 0, 237, 0, 232, 229, 218, 219, 0, 0, + 425, 351, 0, 387, 598, 347, 344, 345, 0, 398, + 0, 534, 533, 0, 0, 581, 352, 0, 0, 0, + 351, 588, 351, 592, 351, 590, 310, 0, 598, 518, + 0, 0, 980, 0, 311, 478, 480, 172, 322, 0, + 598, 519, 0, 984, 598, 983, 318, 320, 726, 0, + 0, 0, 736, 0, 0, 0, 0, 710, 464, 481, + 501, 0, 203, 202, 381, 493, 490, 488, 0, 491, + 0, 328, 0, 0, 0, 0, 0, 0, 967, 0, + 1013, 0, 0, 422, 417, 954, 955, 721, 310, 961, + 437, 0, 816, 818, 824, 294, 293, 0, 287, 0, + 0, 289, 288, 0, 760, 761, 713, 0, 943, 942, + 0, 940, 0, 937, 282, 0, 1019, 1008, 0, 1006, + 1009, 755, 0, 0, 928, 920, 693, 0, 0, 0, + 0, 0, 300, 0, 299, 307, 0, 1190, 0, 1190, + 1190, 1126, 0, 1120, 1122, 1123, 1121, 727, 1125, 1124, + 0, 1190, 727, 1144, 1143, 0, 0, 1187, 1186, 0, + 0, 1190, 0, 1190, 0, 727, 1065, 1069, 1070, 1071, + 1067, 1068, 1072, 1073, 1066, 0, 1154, 1158, 1159, 1160, + 1156, 1157, 1161, 1162, 1155, 1164, 1163, 727, 0, 1107, + 1109, 1110, 1108, 727, 0, 1137, 1138, 727, 0, 0, + 0, 0, 0, 0, 1222, 0, 0, 852, 1000, 0, + 1026, 0, 598, 0, 1030, 0, 0, 45, 0, 0, + 1252, 0, 0, 0, 1267, 0, 0, 0, 0, 1275, + 0, 0, 45, 0, 0, 0, 45, 1290, 0, 0, + 0, 108, 794, 0, 111, 0, 173, 0, 146, 0, + 171, 170, 267, 253, 266, 0, 255, 260, 254, 259, + 0, 0, 0, 0, 0, 222, 212, 223, 241, 0, + 222, 234, 235, 0, 0, 0, 0, 278, 223, 279, + 0, 0, 227, 268, 273, 276, 229, 220, 0, 503, + 0, 413, 385, 388, 0, 346, 0, 531, 568, 569, + 0, 0, 351, 0, 0, 0, 778, 772, 788, 0, + 0, 0, 525, 0, 340, 526, 0, 986, 0, 0, + 0, 740, 0, 738, 735, 730, 734, 732, 0, 45, + 0, 463, 450, 205, 334, 336, 0, 0, 0, 969, + 964, 131, 0, 1012, 421, 0, 0, 416, 960, 0, + 0, 45, 814, 825, 826, 831, 835, 828, 836, 837, + 838, 832, 834, 833, 829, 830, 0, 0, 0, 0, + 285, 0, 0, 0, 0, 938, 933, 472, 0, 1005, + 727, 915, 0, 0, 890, 104, 306, 301, 303, 305, + 0, 0, 0, 1075, 727, 1076, 1077, 45, 1118, 727, + 1145, 1141, 727, 1190, 0, 1074, 45, 1078, 0, 1079, + 0, 1063, 727, 1152, 727, 1105, 727, 1135, 727, 1214, + 1215, 1216, 1224, 1225, 45, 1219, 1217, 1218, 0, 0, + 0, 393, 0, 0, 1263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1286, 0, 0, 0, 45, + 45, 0, 0, 1296, 0, 0, 0, 0, 0, 31, + 175, 174, 0, 0, 119, 113, 107, 0, 0, 161, + 598, 166, 0, 248, 246, 264, 257, 262, 216, 222, + 598, 0, 240, 236, 223, 0, 233, 0, 270, 269, + 0, 225, 229, 0, 0, 0, 0, 0, 230, 0, + 426, 386, 348, 397, 0, 583, 595, 597, 596, 0, + 430, 0, 0, 809, 0, 433, 0, 985, 756, 729, + 0, 0, 45, 0, 0, 0, 844, 974, 845, 1018, + 0, 1015, 1017, 420, 419, 0, 0, 0, 817, 0, + 827, 0, 288, 0, 0, 765, 762, 719, 714, 715, + 717, 718, 941, 1007, 1011, 0, 0, 381, 0, 0, + 0, 0, 309, 308, 521, 0, 0, 0, 1119, 1142, + 0, 1189, 1188, 0, 0, 0, 1064, 1153, 1106, 1136, + 1223, 0, 0, 392, 0, 0, 1262, 1259, 902, 903, + 904, 901, 906, 900, 907, 899, 898, 897, 905, 893, + 0, 0, 45, 1258, 1261, 1260, 1272, 1273, 1271, 1279, + 1277, 0, 1280, 0, 1282, 0, 0, 1243, 0, 1298, + 1299, 45, 1291, 1292, 1293, 1294, 1300, 1301, 0, 0, + 0, 795, 162, 163, 0, 0, 239, 598, 241, 0, + 280, 228, 0, 272, 271, 274, 275, 277, 473, 0, + 770, 769, 771, 0, 767, 431, 0, 997, 434, 0, + 741, 739, 0, 731, 0, 0, 0, 1014, 418, 846, + 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, + 0, 0, 286, 291, 290, 0, 0, 0, 1004, 917, + 918, 0, 842, 891, 891, 304, 1091, 1090, 1089, 1096, + 1097, 1098, 1095, 1092, 1094, 1093, 1102, 1099, 1100, 1101, + 0, 1086, 1130, 1129, 1131, 1132, 0, 1191, 1081, 1083, + 1082, 0, 1085, 1084, 0, 1027, 1265, 1264, 0, 0, + 0, 1287, 0, 1245, 45, 1246, 1248, 1297, 0, 796, + 0, 172, 265, 0, 0, 227, 226, 0, 0, 766, + 510, 0, 0, 0, 466, 1016, 823, 822, 0, 820, + 862, 859, 0, 0, 0, 0, 909, 910, 0, 0, + 0, 0, 0, 716, 922, 1010, 45, 0, 0, 0, + 0, 0, 1128, 1185, 1080, 45, 0, 0, 894, 0, + 1244, 45, 1241, 45, 1242, 1295, 0, 0, 251, 231, + 495, 768, 757, 744, 737, 742, 0, 0, 819, 865, + 860, 0, 0, 0, 0, 0, 0, 0, 848, 0, + 854, 0, 467, 720, 0, 0, 841, 45, 45, 888, + 1088, 1087, 0, 0, 895, 0, 1284, 0, 0, 799, + 793, 797, 167, 0, 0, 465, 821, 0, 0, 0, + 0, 857, 0, 840, 0, 908, 858, 0, 847, 0, + 853, 0, 923, 0, 0, 0, 1127, 0, 0, 354, + 0, 0, 0, 496, 0, 747, 0, 745, 748, 863, + 864, 0, 866, 868, 0, 0, 0, 849, 855, 468, + 919, 889, 887, 0, 896, 45, 45, 798, 750, 751, + 0, 743, 0, 861, 0, 856, 839, 0, 0, 0, + 0, 0, 0, 749, 752, 746, 867, 0, 0, 871, + 912, 850, 1021, 1247, 1249, 753, 0, 0, 0, 869, + 45, 1020, 754, 873, 872, 45, 0, 0, 0, 874, + 879, 881, 882, 1022, 1023, 0, 0, 0, 45, 870, + 45, 45, 598, 885, 884, 883, 875, 0, 877, 878, + 0, 880, 0, 45, 886, 876 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 1, 6, 7, 208, 384, 209, 840, 751, 210, - 903, 619, 804, 689, 569, 901, 902, 441, 2234, 1220, - 1506, 211, 212, 620, 1124, 1125, 213, 214, 215, 579, - 1286, 1287, 1128, 1288, 216, 217, 218, 219, 1153, 220, - 221, 1154, 222, 582, 223, 224, 225, 226, 1578, 1579, - 918, 1590, 937, 1864, 227, 228, 229, 230, 231, 232, + 903, 619, 804, 689, 569, 901, 902, 441, 2245, 1220, + 1508, 211, 212, 620, 1124, 1125, 213, 214, 215, 579, + 1288, 1289, 1128, 1290, 216, 217, 218, 219, 1153, 220, + 221, 1154, 222, 582, 223, 224, 225, 226, 1583, 1584, + 918, 1595, 937, 1871, 227, 228, 229, 230, 231, 232, 785, 1164, 1165, 233, 234, 235, 746, 1076, 1077, 236, - 237, 710, 453, 930, 931, 1606, 932, 933, 1902, 1616, - 1621, 1622, 1903, 1904, 1617, 1618, 1619, 1608, 1609, 1610, - 1611, 1876, 1613, 1614, 1615, 1878, 2119, 1906, 1907, 1908, - 1166, 1167, 1478, 1479, 1993, 1727, 1145, 1146, 238, 458, - 239, 850, 2010, 2011, 1759, 2012, 1027, 718, 719, 1050, - 1051, 1039, 1040, 240, 756, 757, 758, 759, 1092, 1439, - 1440, 1441, 397, 374, 404, 1331, 1630, 1332, 885, 999, - 622, 641, 623, 624, 625, 626, 2055, 1079, 970, 1916, - 823, 627, 628, 629, 630, 631, 1336, 1632, 632, 1306, - 1913, 1404, 1385, 1405, 1020, 1137, 241, 242, 1954, 243, + 237, 710, 453, 930, 931, 1611, 932, 933, 1909, 1621, + 1626, 1627, 1910, 1911, 1622, 1623, 1624, 1613, 1614, 1615, + 1616, 1883, 1618, 1619, 1620, 1885, 2128, 1913, 1914, 1915, + 1166, 1167, 1480, 1481, 2000, 1732, 1145, 1146, 238, 458, + 239, 850, 2017, 2018, 1764, 2019, 1027, 718, 719, 1050, + 1051, 1039, 1040, 240, 756, 757, 758, 759, 1092, 1441, + 1442, 1443, 397, 374, 404, 1333, 1635, 1334, 885, 999, + 622, 641, 623, 624, 625, 626, 2062, 1079, 970, 1923, + 823, 627, 628, 629, 630, 631, 1338, 1637, 632, 1308, + 1920, 1406, 1387, 1407, 1020, 1137, 241, 242, 1961, 243, 244, 692, 1032, 1033, 709, 423, 245, 246, 247, 248, - 1083, 1084, 1433, 1923, 1924, 1070, 249, 250, 251, 252, - 1202, 253, 973, 1344, 254, 376, 727, 1422, 255, 256, + 1083, 1084, 1435, 1930, 1931, 1070, 249, 250, 251, 252, + 1202, 253, 973, 1346, 254, 376, 727, 1424, 255, 256, 257, 258, 259, 260, 652, 644, 979, 980, 981, 261, - 262, 263, 996, 997, 1002, 1003, 1004, 1333, 769, 645, + 262, 263, 996, 997, 1002, 1003, 1004, 1335, 769, 645, 801, 564, 264, 265, 266, 713, 267, 729, 730, 268, 767, 768, 269, 499, 835, 836, 838, 270, 271, 765, - 272, 820, 273, 814, 274, 701, 1067, 275, 276, 2169, - 2170, 2171, 2172, 1713, 1064, 407, 721, 722, 1063, 1678, - 1742, 1945, 1946, 2423, 2424, 2495, 2496, 2518, 2532, 2533, - 1747, 1943, 277, 278, 1729, 673, 809, 810, 1931, 2272, - 2273, 1932, 670, 671, 279, 280, 281, 282, 2083, 2084, - 2459, 2460, 283, 754, 755, 284, 706, 707, 285, 685, - 686, 286, 287, 1143, 1719, 2159, 2377, 2378, 1975, 1976, - 1977, 1978, 1979, 703, 1980, 1981, 1982, 2438, 1227, 1983, - 2440, 1984, 1985, 1986, 2380, 2428, 2468, 2500, 2501, 2537, - 2538, 2557, 2558, 2559, 2560, 2561, 2572, 1987, 2181, 2397, - 816, 2060, 2220, 2221, 2222, 1988, 828, 1493, 1494, 2005, - 1160, 2394, 288, 289, 290, 291, 292, 293, 294, 295, - 797, 1162, 1163, 1735, 1736, 296, 844, 297, 780, 298, + 272, 820, 273, 814, 274, 701, 1067, 275, 276, 2178, + 2179, 2180, 2181, 1718, 1064, 407, 721, 722, 1063, 1683, + 1747, 1952, 1953, 2434, 2435, 2506, 2507, 2529, 2543, 2544, + 1752, 1950, 277, 278, 1734, 673, 809, 810, 1938, 2283, + 2284, 1939, 670, 671, 279, 280, 281, 282, 2092, 2093, + 2470, 2471, 283, 754, 755, 284, 706, 707, 285, 685, + 686, 286, 287, 1143, 1724, 2168, 2388, 2389, 1982, 1983, + 1984, 1985, 1986, 703, 1987, 1988, 1989, 2449, 1227, 1990, + 2451, 1991, 1992, 1993, 2391, 2439, 2479, 2511, 2512, 2548, + 2549, 2568, 2569, 2570, 2571, 2572, 2583, 1994, 2190, 2408, + 816, 2067, 2229, 2230, 2231, 1995, 828, 1495, 1496, 2012, + 1160, 2405, 288, 289, 290, 291, 292, 293, 294, 295, + 797, 1162, 1163, 1740, 1741, 296, 844, 297, 780, 298, 781, 299, 1140, 300, 301, 302, 303, 304, 1100, 1101, - 305, 762, 306, 307, 308, 681, 682, 309, 310, 1407, - 1668, 715, 311, 312, 776, 313, 314, 315, 316, 317, - 318, 319, 1234, 1235, 320, 1170, 1743, 1744, 2307, 321, - 1706, 2151, 2152, 1745, 322, 2550, 323, 324, 325, 326, - 1243, 327, 328, 329, 330, 331, 332, 1203, 1790, 862, - 1768, 1769, 1770, 1794, 1795, 1796, 2340, 1797, 1798, 1771, - 2187, 2450, 2329, 333, 1209, 1818, 334, 335, 336, 337, - 1193, 1772, 1773, 1774, 2335, 338, 1211, 1822, 339, 1199, - 1777, 1778, 1779, 340, 341, 342, 1205, 1812, 343, 344, + 305, 762, 306, 307, 308, 681, 682, 309, 310, 1409, + 1673, 715, 311, 312, 776, 313, 314, 315, 316, 317, + 318, 319, 1234, 1235, 320, 1170, 1748, 1749, 2318, 321, + 1711, 2160, 2161, 1750, 322, 2561, 323, 324, 325, 326, + 1243, 327, 328, 329, 330, 331, 332, 1203, 1795, 862, + 1773, 1774, 1775, 1799, 1800, 1801, 2351, 1802, 1803, 1776, + 2196, 2461, 2340, 333, 1209, 1823, 334, 335, 336, 337, + 1193, 1777, 1778, 1779, 2346, 338, 1211, 1827, 339, 1199, + 1782, 1783, 1784, 340, 341, 342, 1205, 1817, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 1783, 1784, 863, 1515, 358, 359, 360, - 361, 362, 873, 874, 875, 1221, 1222, 1223, 1228, 1828, - 1829, 363, 364, 365, 879, 366, 367, 368, 369, 370, - 2235, 2236, 2411, 2413, 371, 1246, 1247, 1248, 1249, 1250, - 2056, 2057, 1252, 1253, 1254, 1255, 1256, 1258, 1259, 2069, - 893, 2067, 372, 1262, 1263, 2073, 2074, 2079, 557 + 355, 356, 357, 1788, 1789, 863, 1517, 358, 359, 360, + 361, 362, 873, 874, 875, 1221, 1222, 1223, 1228, 1833, + 1834, 363, 364, 365, 879, 366, 367, 368, 369, 370, + 2246, 2247, 2422, 2424, 371, 1246, 1247, 1248, 1249, 1250, + 1251, 1252, 2063, 2064, 1254, 1255, 1256, 1257, 1258, 1260, + 1261, 2078, 893, 2076, 372, 1264, 1265, 2082, 2083, 2088, + 557 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -2208 +#define YYPACT_NINF -2238 static const yytype_int16 yypact[] = { - -2208, 77, -2208, -2208, -2208, -2208, 35, 4734, -2208, -2208, - -2208, 146, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, 792, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, 40, -2208, -2208, 810, 148, -2208, -2208, -2208, 40, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, 44, 44, -2208, -2208, -2208, -2208, -2208, 44, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - 242, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, 44, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, 460, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - 509, 560, -2208, -2208, -2208, -2208, -2208, 40, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, 40, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, 354, 1632, - 623, 354, -2208, -2208, -2208, 654, 709, 758, 788, -2208, - -2208, -2208, 513, 808, 44, -2208, -2208, 814, 847, 880, - 882, 154, 572, 905, 911, 920, -2208, 258, -2208, -2208, - -2208, 354, -2208, -2208, -2208, 946, -5, 1977, 2354, -2208, - -2208, 1787, -2208, 866, -2208, -2208, 2654, -2208, 960, -2208, - -2208, 1562, 960, 951, -2208, -2208, 987, -2208, -2208, -2208, - 989, 993, 1039, 1049, 1067, -2208, -2208, -2208, -2208, 1069, - 889, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, 1083, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, 135, 44, 1091, 1087, 1103, 961, 44, - 44, 125, 44, -2208, 44, 44, 1115, -2208, 175, 1120, - 44, 44, 44, 44, -2208, -2208, 44, -2208, 1124, 44, - 997, 44, 1142, -2208, -2208, -2208, 44, -2208, 1140, 44, - -2208, 44, 1156, 178, -2208, 997, -2208, 44, 44, 44, - 44, -2208, -2208, -2208, -2208, -2208, 44, -2208, 44, 44, - 623, 44, 1158, 1091, 44, 1160, -2208, 44, 44, -2208, - -2208, -2208, 1184, 1181, 44, 44, -2208, 1183, 1185, 44, - 1091, 1203, 1787, -2208, 1205, 1219, 44, -2208, 1234, 44, - 1212, -2208, 1236, 44, 1091, 1248, 1250, -2208, 961, 1091, - 44, 44, 2638, 69, 44, 107, -2208, -2208, 199, -2208, - 301, 44, 44, 44, 1277, 44, 44, 1787, 109, -2208, - -2208, 1279, 44, 44, 44, 44, 44, 2870, 44, -2208, - 1091, 44, 1091, 44, 44, -2208, -2208, 44, -2208, 1091, - 44, 1322, 1325, -2208, 44, -2208, -2208, 1336, -2208, -2208, - 1343, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, 1348, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, 44, -2208, -2208, 1351, 1359, -2208, 1375, - 1787, 1787, 1787, 1787, 1787, 1382, 1385, 1405, 1407, 1417, - 44, -2208, 1424, -2208, -2208, -2208, -2208, 1136, 174, -2208, - -2208, 44, 44, 44, 44, 1408, -2208, -2208, 1310, 44, - 44, -2208, 637, 44, 44, 44, 44, 44, 500, 44, - 1212, 44, 44, 1158, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, 1220, -2208, -2208, -2208, -2208, -2208, -2208, 1787, - 1787, 1787, -2208, 1787, -2208, -2208, -2208, -2208, -2208, -2208, - 1787, 877, -2208, 124, 1466, -2208, 1429, -2208, 1224, 1230, - 1463, -2208, -2208, 1458, 1787, -2208, -2208, 2630, -2208, -2208, - 1454, 2068, 1466, -2208, -2208, 833, 3, -2208, 2630, -2208, - -2208, -2208, 1474, 305, 181, 3422, 3422, 44, 44, 44, - 44, 44, 44, 44, 1478, -2208, 44, -2208, -2208, -2208, - 627, -2208, -2208, 1475, 44, -2208, 1787, -2208, 1251, 703, - -2208, 1477, -2208, -2208, 1482, 1493, -2208, -2208, -2208, -2208, - -2208, 2930, 44, 1488, -2208, 44, 1482, 44, -2208, 961, - -2208, -2208, -2208, -2208, -2208, -2208, 1496, -2208, -2208, -2208, - -2208, -2208, 1482, -2208, -2208, 1494, -2208, -2208, 668, 1479, - 44, 698, 116, -2208, 1495, 1341, 1787, 1368, -2208, 1513, - -2208, -2208, 1787, 1787, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, 44, -2208, 44, 1508, 629, - 44, 623, -2208, -2208, 1517, -2208, 1530, -2208, 1526, 1595, - -2208, 1536, -2208, 44, -2208, -2208, -2208, 1537, -2208, 960, - 1485, 3488, -2208, 44, -2208, 5761, -2208, 44, 1787, -2208, - 1535, -2208, 44, -2208, 44, 44, 44, 1466, 167, 44, - 44, 44, 1368, -2208, 44, 312, -2208, -2208, -2208, 2068, - 833, -2208, -2208, -2208, -2208, -2208, -2208, 135, -2208, 1475, - 1544, 1495, -2208, -2208, -2208, -2208, -2208, -2208, 44, -2208, - -2208, -2208, 5761, -2208, 175, 1491, 44, -2208, 1539, -2208, - -2208, -2208, -2208, 1540, 3567, 706, -2208, -2208, 460, 44, - 623, -2208, 44, 1482, -2208, 1548, 1542, -2208, 44, -2208, - 1549, 1787, 1787, -2208, 1482, 44, 184, 44, 1273, 1273, - 189, 1273, -2208, 1546, 222, 224, 232, 233, 261, 310, - -2208, 1482, 449, -2208, 1556, -2208, 120, 173, 1258, -2208, - -2208, 3609, 5761, 3648, 3723, 1566, 5761, 44, 44, -2208, - -2208, -2208, -2208, 1567, -2208, 44, 44, -2208, -2208, -2208, - -2208, 708, -2208, -2208, 1363, 1482, -2208, -2208, -2208, -2208, - 3026, 44, -2208, -2208, -2208, -2208, -2208, -2208, -2208, 1482, - -2208, -2208, -2208, -2208, 1572, -2208, 1572, -2208, -2208, -2208, - -2208, 575, -2208, 455, -2208, 1568, -2208, -2208, 3764, 1573, - 1575, 1575, 2712, -2208, 1787, 1787, 1787, 1787, 1787, 1787, - 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, - 1787, 1787, 1787, -2208, 1522, 1459, 1569, 514, 364, 1787, - -2208, -2208, -2208, 712, 1532, -2208, -2208, -2208, -2208, 729, - -2208, 1633, 1080, 1787, 1585, 2068, 2068, 2068, 2068, 2068, - -2208, 1437, -2208, 305, 305, 1466, 1587, -2208, 3422, 5761, - 100, 140, -2208, 1589, 1591, -2208, -2208, 1482, -2208, -2208, - -2208, -2208, 1482, -2208, 661, -2208, 135, -2208, -2208, -2208, - 44, 3795, 44, 1588, 1787, 1533, -2208, -2208, 44, -2208, - 1787, 3831, -2208, 731, -2208, -2208, 1565, -2208, -2208, 733, - -2208, 44, -2208, 44, -2208, -2208, 1479, -2208, -2208, -2208, - -2208, -2208, 3865, 1482, -2208, -2208, -2208, 1592, 1594, 1596, - 1597, 1598, 1600, -2208, 1341, -2208, 44, -2208, 3896, -2208, - -2208, 44, 3956, 4036, -2208, 1601, 754, 1602, 1463, -2208, - -2208, 44, -2208, 1609, -2208, 1599, -2208, 44, -2208, 1489, - 588, -2208, -2208, -32, -2208, -2208, 1613, -2208, 1606, 1625, - 762, -2208, 44, 3422, 1612, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, 1614, -2208, -2208, 302, 1615, 1616, - 4071, 3230, -62, -2208, 1604, -2208, -2208, 763, -2208, -2208, - -2208, -2208, -2208, 768, 1611, 785, -2208, -2208, -2208, 1787, - -2208, 1503, -2208, -2208, -2208, 800, -2208, 1637, -2208, 1341, - 1624, 1638, 839, -2208, -2208, -2208, 1644, -2208, 1640, 1641, - 1627, 44, 1787, 1787, 2870, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, 1649, 1654, -2208, 85, -2208, -2208, 4105, 4166, - -2208, 1643, -2208, 316, 1647, -2208, -2208, -2208, -2208, 319, - -2208, -2208, -2208, 337, -2208, 343, 423, 444, -2208, 479, - -2208, 483, -2208, 1650, 1655, 1657, 1658, -2208, 1659, 1660, - -2208, -2208, -2208, -2208, -2208, -2208, 1466, 1668, 1656, -2208, - 1661, -2208, -2208, -67, 840, -2208, -2208, -2208, -2208, 1787, - 681, 770, -2208, 843, 844, 475, 851, -2208, -2208, -2208, - -2208, 65, 883, -2208, -2208, -2208, -2208, 477, 903, -2208, - -2208, 300, 908, -2208, -2208, 623, 44, 129, -2208, 1663, - -2208, 1674, -2208, 1482, -2208, -2208, -2208, 1672, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, 1076, -2208, -2208, -2208, - 44, 1482, 108, 1814, -2208, -2208, 44, 44, -2208, 1369, - 455, -2208, 1673, -2208, 1621, 1787, 3422, -2208, 1787, 1575, - 1575, 159, 159, 2712, 644, 1131, 2831, 5761, 2831, 2831, - 2831, 2831, 2831, 1131, 1858, 1575, 1858, 3446, 1569, -2208, - -2208, 1669, 1684, 2759, -2208, -2208, -2208, -2208, -2208, 1686, - -2208, -2208, 961, 5761, -2208, 1787, -2208, -2208, -2208, -2208, - 5761, 166, 5761, 1585, 1585, 945, 1585, 495, -2208, 1587, - 1688, 305, 4207, 1691, 1694, 1695, 3422, 3422, 3422, -2208, - -2208, 44, 1679, -2208, -2208, 1689, 1495, -2208, 460, -2208, - -2208, -2208, -2208, 1450, -2208, 913, 961, -2208, 961, 919, - 1699, 944, -2208, 5761, 1787, 2930, -2208, 947, -2208, 961, - 1572, -2208, 799, 955, -2208, 948, 1541, 971, -2208, 2121, - -2208, 116, -2208, 1693, 44, 44, 1787, 44, -2208, -2208, - 1482, -2208, -2208, -2208, 1470, 44, 1787, 44, -2208, 44, - -2208, 1466, 1787, 1692, 3230, -2208, -2208, -2208, -2208, 978, - -2208, 1696, -2208, 1701, 1702, 1709, 1502, 1787, 44, 44, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, 1091, 44, - -2208, 3266, 1916, 1705, 44, 44, -2208, 44, -2208, 1538, - 44, -2208, 1787, 44, -2208, 1572, 5761, -2208, 1719, 88, - 1719, -2208, 44, 1341, 1721, 3301, 44, 44, -2208, 175, - 1787, 672, 1787, 983, -2208, 1715, 988, 5761, -2208, 51, - -2208, -2208, -2208, -2208, -2208, 1091, 43, -2208, 44, -2208, - 497, -2208, -2208, -42, -2208, 194, 1110, -2208, 942, -2208, - 321, -2208, -47, -2208, 44, 44, 44, -2208, 44, 44, - 449, -2208, 44, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - 1401, 1421, 1406, 5761, -2208, 1569, 44, -2208, -2208, 1717, - 1723, 1725, -2208, -2208, 1726, 1730, 1731, -2208, -2208, -2208, - 1732, 1733, 1735, 1736, -2208, -2208, 776, 1738, 1739, 1740, - 1742, 1744, -2208, -2208, -2208, -2208, -2208, 44, 299, -2208, - -2208, 1746, -2208, 1727, -2208, -2208, 1674, -2208, -2208, -2208, - -2208, 5761, 2276, -2208, -2208, -2208, 573, 425, 425, 1518, - 1519, -2208, -2208, 1520, 1523, 1524, 579, 44, -2208, -2208, - -2208, -2208, 1763, -2208, -2208, -2208, 1673, -2208, 1764, -2208, - 469, 1756, -2208, 1759, 4238, -2208, 1754, 1758, 1463, -2208, - -2208, 4303, -2208, 1787, 1787, 1532, -2208, 5761, 2630, 305, - -2208, 147, 3422, 3422, 3422, 151, -2208, 170, -2208, 180, - -2208, 1482, 44, -2208, -2208, 1769, 990, -2208, 1773, -2208, - 5761, -2208, -2208, -2208, 1787, -2208, -2208, 1787, -2208, -2208, - -2208, -2208, 5761, -2208, 1541, 1787, 1760, -2208, 1762, 1768, - 4334, 1777, -2208, 75, 44, -2208, 992, -2208, -2208, 1765, - 5761, -2208, -2208, 4303, -2208, 1489, -2208, 1489, 44, 44, - 44, 998, 999, -2208, 44, 1778, 1779, 1787, 4379, 3360, - -2208, -2208, -2208, 1482, 1466, -2208, 1784, -2208, 1635, 1802, - 5761, -2208, 44, -2208, 1797, 1798, -2208, -2208, 1560, 1809, - -2208, -2208, 1813, -2208, 5761, 1008, -2208, 1013, -2208, -2208, - 4410, -2208, -2208, 1014, -2208, -2208, 5761, 1801, 44, -2208, - -2208, -2208, 1810, 1812, 1628, 1766, 44, 44, 1822, 1838, - -2208, 638, -2208, 1832, -2208, -2208, -2208, 1834, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, 497, -2208, -2208, -2208, -2208, - -42, 44, -2208, -2208, 1017, 1837, -2208, 1839, -2208, 1841, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - 1110, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, 942, -2208, -2208, -2208, -2208, -2208, 321, - -2208, -2208, -2208, -47, 1836, 1845, 1847, 865, 1032, -2208, - 1848, 1849, 1466, -2208, 1857, -2208, 1862, 1569, 1852, -2208, - 44, 44, -2208, -2208, 44, 44, 44, -2208, 44, 44, - 44, 1787, -2208, 1867, 1869, -2208, 44, 44, 1787, -2208, - -2208, 1864, 1787, 1787, -2208, -2208, 1870, -2208, 1177, 299, - 2449, -2208, 1033, -2208, 5761, -2208, -2208, -2208, 1885, -2208, - -2208, -2208, -2208, 514, 514, 514, 514, 514, 1369, -2208, - 1879, 1895, 1886, 1369, 1756, -2208, 455, 469, 172, 172, - -2208, -2208, -2208, 1034, 1846, 931, 294, -2208, 1896, 469, - -2208, 1787, -2208, 1884, -2208, 1463, -2208, 2759, 5761, 1887, - -2208, -2208, 833, 1881, 1889, 1040, 1890, 1891, 1892, -2208, - -2208, -2208, 1899, 17, 961, -2208, 44, 1091, 5761, 17, - 5761, 1541, 1787, 1894, 4467, 1042, -2208, -2208, -2208, -2208, - -2208, 1787, -2208, 1902, -2208, -2208, -2208, -2208, -2208, 1057, - 1066, 1074, -2208, -2208, -2208, 716, -2208, 5761, 1787, 1787, - 4732, -2208, 44, 44, -2208, -2208, 1802, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, 1901, - 88, 1903, 3488, -2208, 44, 44, 44, 3301, -2208, -2208, - -2208, 672, -2208, -2208, -2208, 2801, 44, -2208, -2208, 1822, - 1914, -2208, -2208, 44, 44, 1787, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, 194, -2208, -2208, - -2208, 1787, -2208, 1787, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, 44, 44, 1907, 1028, 1904, 1078, -2208, 1085, 1169, - 1092, 1111, 1116, 1130, 1144, 1149, -2208, 1159, 5067, 1910, - -2208, -2208, 290, 1164, -2208, 1168, 1193, 5107, 874, 1926, - -2208, 5761, 5761, 1195, 1928, -2208, -2208, -2208, 1921, 5138, - -2208, -2208, -2208, 573, -2208, -2208, -2208, -2208, -2208, -2208, - 1369, -2208, 44, -2208, -2208, 1935, 1929, -2208, 901, 294, - 294, 469, -2208, 469, 172, 172, 172, 172, 172, 1228, - 5169, -2208, -2208, -2208, -2208, 1787, -2208, -2208, -2208, -2208, - 1828, -2208, 44, 1954, 1493, 44, -2208, 44, -2208, 5200, - -2208, 1787, 1787, -2208, 5231, 1710, 1787, -2208, -2208, -2208, - -2208, 1198, -2208, -2208, 5761, 5761, 1787, 1217, 1950, -2208, - 603, -2208, 1787, -2208, 1945, 1946, -2208, -2208, 1956, 1961, - -2208, -2208, -2208, -2208, -2208, 1840, 1952, 1218, 1967, 1971, - 1229, 950, 44, -2208, -2208, 5761, 1286, 1960, -1, -2208, - -2208, 1947, -2208, -2208, -60, 5262, 5293, -2208, -2208, -2208, - -2208, -2208, 1235, 1962, 1036, 1787, 44, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, 1970, 1972, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - 44, -2208, 1787, -2208, 1629, 1240, -2208, 1245, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, 1787, 1979, 1982, - -2208, -2208, -2208, 1814, 1973, -2208, 1569, -2208, 469, -2208, - 1228, 1975, 294, 294, -2208, -2208, -2208, -2208, 5324, -2208, - 4303, -2208, 1246, -2208, -2208, 961, 1668, -2208, 1541, 5761, - -2208, 1737, -2208, 1976, 5355, 716, -2208, 5761, -2208, 2560, - 1983, 1984, 1985, 1987, 1988, 44, 44, 1989, 1990, 1991, - 5386, -2208, -2208, -2208, 1787, 44, 44, -2208, -2208, 1994, - 44, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, 2003, - -2208, -2208, -2208, -2208, -2208, 1285, -2208, -2208, -2208, -2208, - 1992, -2208, -2208, 2004, -2208, 5761, -2208, 44, 44, 1169, - -2208, 5417, -2208, -2208, 2006, 2008, -2208, 5448, -2208, 2010, - -2208, -2208, 1997, 1291, 1228, -2208, 1787, 1828, -2208, -2208, - 1787, 44, 1787, -2208, -2208, -2208, 5761, 1296, -2208, -2208, - 1983, 44, 44, 44, 44, -2208, -2208, 1787, 1787, 44, - 1787, 1305, -2208, -2208, 2011, -2208, 1317, 2013, 1324, 44, - 1787, -2208, -2208, -2208, -2208, 665, 2019, -2208, 1787, -2208, - -2208, -2208, -2208, -2208, -2208, 44, 2000, -2208, -2208, 5479, - -2208, 5761, -2208, -2208, 1996, 5510, 2560, -2208, 427, -2208, - 2021, 1326, 2025, 1327, 2022, 1328, 5541, 5572, 2015, -2208, - 1331, 5603, -2208, 44, 1963, -2208, -2208, -2208, -2208, 1668, - -2208, 5634, 1711, -2208, 1787, 5761, 1682, 1697, -2208, 2034, - -2208, -2208, 1787, 2188, -2208, -2208, 2037, 2038, 44, 44, - -2208, 44, -2208, 2870, -2208, -2208, 1787, -2208, 44, -2208, - 1787, -2208, 2026, 1338, 1346, -2208, 2036, 5665, 1073, 2040, - 2044, 44, 5761, 44, 5761, 1357, -2208, -2208, -2208, -2208, - 1362, -2208, 2045, 1380, 1396, 1400, 5696, -2208, 5761, -2208, - -2208, -2208, 1787, -2208, -2208, -2208, -2208, -2208, 2032, 2188, - -2208, 44, -2208, 1787, -2208, -2208, 2031, 1787, 1403, 1404, - 1415, 1787, 2046, -2208, -2208, -2208, 5730, 1419, -2208, -2208, - 5761, 2053, -2208, -2208, -2208, 1787, 1787, 1787, 2047, -2208, - -2208, -2208, 5761, -2208, -2208, -56, 453, 1422, -2208, 2058, - 2062, -2208, -2208, -2208, 2057, 2057, 2057, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, 182, 2075, -2208, 1925, - -2208, 1441, -2208, -2208, -2208 + -2238, 121, -2238, -2238, -2238, -2238, 108, 5149, -2238, -2238, + -2238, 124, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, 904, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, 130, -2238, -2238, 516, 126, -2238, -2238, -2238, 130, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, 199, 199, -2238, -2238, -2238, -2238, -2238, 199, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + 186, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, 199, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, 279, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + 316, 390, -2238, -2238, -2238, -2238, -2238, 130, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, 130, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, 189, 991, + 438, 189, -2238, -2238, -2238, 462, 563, 569, 610, -2238, + -2238, -2238, 521, 665, 199, -2238, -2238, 695, 711, 725, + 732, 638, 188, 735, 771, 792, -2238, 568, -2238, -2238, + -2238, 189, -2238, -2238, -2238, 631, 744, 2244, 2336, -2238, + -2238, 2957, -2238, 811, -2238, -2238, 1868, -2238, 847, -2238, + -2238, 1643, 847, 863, -2238, -2238, 897, -2238, -2238, -2238, + 912, 919, 937, 955, 964, -2238, -2238, -2238, -2238, 1011, + 1079, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, 1023, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, 173, 199, 1002, 1028, 1046, 934, 199, + 199, 117, 199, -2238, 199, 199, 1053, -2238, 621, 1064, + 199, 199, 199, 199, -2238, -2238, 199, -2238, 1080, 199, + 948, 199, 1137, -2238, -2238, -2238, 199, -2238, 1101, 199, + -2238, 199, 1103, 140, -2238, 948, -2238, 199, 199, 199, + 199, -2238, -2238, -2238, -2238, -2238, 199, -2238, 199, 199, + 438, 199, 1154, 1002, 199, 1156, -2238, 199, 199, -2238, + -2238, -2238, 1147, 1178, 199, 199, -2238, 1187, 1222, 199, + 1002, 1227, 2957, -2238, 1232, 1238, 199, -2238, 1203, 199, + 1246, -2238, 1244, 199, 1002, 1262, 1270, -2238, 934, 1002, + 199, 199, 1931, 66, 199, 110, -2238, -2238, 166, -2238, + 168, 199, 199, 199, 1276, 199, 199, 2957, 119, -2238, + -2238, 1282, 199, 199, 199, 199, 199, 2702, 199, -2238, + 1002, 199, 1002, 199, 199, -2238, -2238, 199, -2238, 1002, + 199, 1297, 1299, -2238, 199, -2238, -2238, 1315, -2238, -2238, + 1325, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, 1334, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, 199, -2238, -2238, 1365, 1368, -2238, 1383, + 2957, 2957, 2957, 2957, 2957, 1387, 1389, 1394, 1398, 1420, + 199, -2238, 1426, -2238, -2238, -2238, -2238, 1194, 193, -2238, + -2238, 199, 199, 199, 199, 1431, -2238, -2238, 1326, 199, + 199, -2238, 243, 199, 199, 199, 199, 199, 559, 199, + 1246, 199, 199, 1154, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, 1230, -2238, -2238, -2238, -2238, -2238, -2238, 2957, + 2957, 2957, -2238, 2957, -2238, -2238, -2238, -2238, -2238, -2238, + 2957, 1328, -2238, 221, 1285, -2238, 1430, -2238, 1220, 1239, + 1446, -2238, -2238, 1452, 2957, -2238, -2238, 1580, -2238, -2238, + 1466, 1472, 1285, -2238, -2238, 812, -3, -2238, 1580, -2238, + -2238, -2238, 1496, 228, 144, 2988, 2988, 199, 199, 199, + 199, 199, 199, 199, 1503, -2238, 199, -2238, -2238, -2238, + 643, -2238, -2238, 1492, 199, -2238, 2957, -2238, 1272, 179, + -2238, 1506, -2238, -2238, 1519, 1510, -2238, -2238, -2238, -2238, + -2238, 2753, 199, 1523, -2238, 199, 1519, 199, -2238, 934, + -2238, -2238, -2238, -2238, -2238, -2238, 1537, -2238, -2238, -2238, + -2238, -2238, 1519, -2238, -2238, 1531, -2238, -2238, 740, 1441, + 199, 749, 154, -2238, 1532, 1377, 2957, 1402, -2238, 1541, + -2238, -2238, 2957, 2957, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, 199, -2238, 199, 1538, 165, + 199, 438, -2238, -2238, 1547, -2238, 1548, -2238, 1542, 826, + -2238, 1550, -2238, 199, -2238, -2238, -2238, 1552, -2238, 847, + 1535, 3122, -2238, 199, -2238, 5826, -2238, 199, 2957, -2238, + 1551, -2238, 199, -2238, 199, 199, 199, 1285, 714, 199, + 199, 199, 1402, -2238, 199, 718, -2238, -2238, -2238, 1472, + 812, -2238, -2238, -2238, -2238, -2238, -2238, 173, -2238, 1492, + 1555, 1532, -2238, -2238, -2238, -2238, -2238, -2238, 199, -2238, + -2238, -2238, 5826, -2238, 621, 1501, 199, -2238, 1554, -2238, + -2238, -2238, -2238, 1556, 3194, 763, -2238, -2238, 279, 199, + 438, -2238, 199, 1519, -2238, 1559, 1558, -2238, 199, -2238, + 1565, 2957, 2957, -2238, 1519, 199, 177, 199, 1288, 1288, + 184, 1288, -2238, 1561, 202, 222, 229, 348, 352, 386, + -2238, 1519, 582, -2238, 1569, -2238, 156, 196, 1267, -2238, + -2238, 3225, 5826, 3260, 3304, 1574, 5826, 199, 199, -2238, + -2238, -2238, -2238, 1575, -2238, 199, 199, -2238, -2238, -2238, + -2238, 790, -2238, -2238, 1371, 1519, -2238, -2238, -2238, -2238, + 2845, 199, -2238, -2238, -2238, -2238, -2238, -2238, -2238, 1519, + -2238, -2238, -2238, -2238, 1583, -2238, 1583, -2238, -2238, -2238, + -2238, 481, -2238, 437, -2238, 1573, -2238, -2238, 3456, 1584, + 1589, 1589, 1897, -2238, 2957, 2957, 2957, 2957, 2957, 2957, + 2957, 2957, 2957, 2957, 2957, 2957, 2957, 2957, 2957, 2957, + 2957, 2957, 2957, -2238, 1529, 1470, 1581, 388, 98, 2957, + -2238, -2238, -2238, 795, 1486, -2238, -2238, -2238, -2238, 798, + -2238, 1825, 865, 2957, 1594, 1472, 1472, 1472, 1472, 1472, + -2238, 909, -2238, 228, 228, 1285, 1597, -2238, 2988, 5826, + 115, 152, -2238, 1600, 1605, -2238, -2238, 1519, -2238, -2238, + -2238, -2238, 1519, -2238, 604, -2238, 173, -2238, -2238, -2238, + 199, 3579, 199, 1599, 2957, 1553, -2238, -2238, 199, -2238, + 2957, 3714, -2238, 806, -2238, -2238, 1585, -2238, -2238, 829, + -2238, 199, -2238, 199, -2238, -2238, 1441, -2238, -2238, -2238, + -2238, -2238, 3808, 1519, -2238, -2238, -2238, 1602, 1603, 1608, + 1611, 1612, 1614, -2238, 1377, -2238, 199, -2238, 3842, -2238, + -2238, 199, 3876, 3910, -2238, 1616, 835, 1624, 1446, -2238, + -2238, 199, -2238, 1625, -2238, 1623, -2238, 199, -2238, 1505, + 669, -2238, -2238, 21, -2238, -2238, 1646, -2238, 1635, 1647, + 840, -2238, 199, 2988, 1634, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, 1641, -2238, -2238, 454, 1642, 1638, + 3986, 2799, -57, -2238, 1627, -2238, -2238, 864, -2238, -2238, + -2238, -2238, -2238, 885, 1639, 900, -2238, -2238, -2238, 2957, + -2238, 1001, -2238, -2238, -2238, 901, -2238, 1659, -2238, 1377, + 1652, 1661, 902, -2238, -2238, -2238, 1667, -2238, 1654, 1662, + 1650, 199, 2957, 2957, 2702, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, 1672, 1673, -2238, -37, -2238, -2238, 4021, 4056, + -2238, 1663, -2238, 423, 1674, -2238, -2238, -2238, -2238, 463, + -2238, -2238, -2238, 484, -2238, 488, 492, 552, -2238, 602, + -2238, 618, -2238, 1668, 1675, 1678, 1681, -2238, 1687, 1688, + -2238, -2238, -2238, -2238, -2238, -2238, 1285, 1680, 1695, -2238, + 1696, -2238, -2238, -29, 907, -2238, -2238, -2238, -2238, 2957, + 517, 723, -2238, 926, 928, 93, 930, -2238, -2238, -2238, + -2238, -2238, -2238, 120, 945, -2238, -2238, -2238, -2238, 549, + 952, -2238, -2238, 508, 953, -2238, -2238, 438, 199, 145, + -2238, 1693, -2238, 1677, -2238, 1519, -2238, -2238, -2238, 1703, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, 1369, -2238, + -2238, -2238, 199, 1519, 116, 1974, -2238, -2238, 199, 199, + -2238, 1998, 437, -2238, 1705, -2238, 1660, 2957, 2988, -2238, + 2957, 1589, 1589, 630, 630, 1897, 1075, 3364, 2634, 5826, + 2634, 2634, 2634, 2634, 2634, 3364, 1669, 1589, 1669, 5857, + 1581, -2238, -2238, 1700, 1718, 2409, -2238, -2238, -2238, -2238, + -2238, 1720, -2238, -2238, 934, 5826, -2238, 2957, -2238, -2238, + -2238, -2238, 5826, 73, 5826, 1594, 1594, 1161, 1594, 644, + -2238, 1597, 1724, 228, 4091, 1725, 1729, 1730, 2988, 2988, + 2988, -2238, -2238, 199, 1713, -2238, -2238, 1726, 1532, -2238, + 279, -2238, -2238, -2238, -2238, 1484, -2238, 984, 934, -2238, + 934, 987, 1733, 990, -2238, 5826, 2957, 2753, -2238, 999, + -2238, 934, 1583, -2238, 793, 916, -2238, 1006, 1576, 1008, + -2238, 2202, -2238, 154, -2238, 1732, 199, 199, 2957, 199, + -2238, -2238, 1519, -2238, -2238, -2238, 1511, 199, 2957, 199, + -2238, 199, -2238, 1285, 2957, 1731, 2799, -2238, -2238, -2238, + -2238, 1031, -2238, 1735, -2238, 1739, 1748, 1749, 1557, 2957, + 199, 199, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + 1002, 199, -2238, 2832, 3091, 1745, 199, 199, -2238, 199, + -2238, 1577, 199, -2238, 2957, 199, -2238, 1583, 5826, -2238, + 1737, 87, 1737, -2238, 199, 1377, 1760, 2863, 199, 199, + -2238, 621, 2957, 657, 2957, 1037, -2238, 1759, 1039, 5826, + -2238, 49, -2238, -2238, -2238, -2238, -2238, 1002, 143, -2238, + 199, -2238, 457, -2238, -2238, 325, -2238, 103, 1135, -2238, + 1182, -2238, 520, -2238, -48, -2238, 199, 199, 199, -2238, + 199, 199, 582, -2238, 199, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, 1445, 1461, 1447, 5826, -2238, 1581, 199, -2238, + -2238, 1762, 1764, 1767, 1769, 1770, -2238, -2238, 1771, 1773, + 1774, -2238, -2238, -2238, 1775, 1776, 1778, 1781, -2238, -2238, + -2238, 1143, 1783, 1784, 1787, 1788, 1790, -2238, -2238, -2238, + -2238, -2238, 199, 850, -2238, -2238, 1792, -2238, 1803, -2238, + -2238, 1677, -2238, -2238, -2238, -2238, 5826, 2238, -2238, -2238, + -2238, 614, 389, 389, 1567, 1568, -2238, -2238, 1578, 1582, + 1586, 633, 199, -2238, -2238, -2238, -2238, 1810, -2238, -2238, + -2238, 1705, -2238, 1812, -2238, 159, 1807, -2238, 1811, 4131, + -2238, 1806, 1808, 1446, -2238, -2238, 4165, -2238, 2957, 2957, + 1486, -2238, 5826, 1580, 228, -2238, 357, 2988, 2988, 2988, + 470, -2238, 501, -2238, 579, -2238, 1519, 199, -2238, -2238, + 1823, 1054, -2238, 1831, -2238, 5826, -2238, -2238, -2238, 2957, + -2238, -2238, 2957, -2238, -2238, -2238, -2238, 5826, -2238, 1576, + 2957, 1822, -2238, 1824, 1827, 4218, 1838, -2238, 207, 199, + -2238, 1057, -2238, -2238, 1828, 5826, -2238, -2238, 4165, -2238, + 1505, -2238, 1505, 199, 199, 199, 1077, 1093, -2238, 199, + 1834, 1829, 2957, 4255, 2878, -2238, -2238, -2238, 1519, 1285, + -2238, 1840, -2238, 1683, 1849, 5826, -2238, 199, -2238, 1843, + 1845, -2238, -2238, 1607, 1855, -2238, -2238, 1857, -2238, 5826, + 1109, -2238, 1111, -2238, -2238, 4392, -2238, -2238, 1113, -2238, + -2238, 5826, 1848, 199, -2238, -2238, -2238, 1856, 1859, 1664, + 1799, 199, 199, 1858, 1867, -2238, 624, -2238, 1865, -2238, + -2238, -2238, 1866, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + 457, -2238, -2238, -2238, -2238, 325, 199, -2238, -2238, 1115, + 1872, -2238, 1873, -2238, 1875, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, 1135, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, 1182, -2238, + -2238, -2238, -2238, -2238, 520, -2238, -2238, -2238, -48, 1861, + 1870, 1876, 1181, 1120, -2238, 1877, 1878, 1285, -2238, 1879, + -2238, 1881, 1581, 1880, -2238, 199, 199, -2238, 1751, 199, + -2238, 199, 199, 199, -2238, 199, 199, 199, 2957, -2238, + 1888, 1896, -2238, 199, 199, 2957, -2238, -2238, 1891, 2957, + 2957, -2238, -2238, 1894, -2238, 1617, 850, 2455, -2238, 1130, + -2238, 5826, -2238, -2238, -2238, 1908, -2238, -2238, -2238, -2238, + 388, 388, 388, 388, 388, 1998, -2238, 1903, 1914, 1906, + 1998, 1807, -2238, 437, 159, 133, 133, -2238, -2238, -2238, + 1132, 1917, 1183, 506, -2238, 1921, 159, -2238, 2957, -2238, + 1913, -2238, 1446, -2238, 2409, 5826, 1918, -2238, -2238, 812, + 1911, 1919, 1139, 1920, 1922, 1923, -2238, -2238, -2238, 1927, + 13, 934, -2238, 199, 1002, 5826, 13, 5826, 1576, 2957, + 1924, 4427, 1140, -2238, -2238, -2238, -2238, -2238, 2957, -2238, + 1934, -2238, -2238, -2238, -2238, -2238, 1144, 1164, 1168, -2238, + -2238, -2238, 689, -2238, 5826, 2957, 2957, 4461, -2238, 199, + 199, -2238, -2238, 1849, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, 1925, 87, 1929, 3122, + -2238, 199, 199, 199, 2863, -2238, -2238, -2238, 657, -2238, + -2238, -2238, 2604, 199, -2238, -2238, 1858, 1942, -2238, -2238, + 199, 199, 2957, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, 103, -2238, -2238, -2238, 2957, -2238, + 2957, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, 199, 199, + 1932, 949, 1930, 1173, -2238, 1174, 915, 1175, 1936, 1184, + 1189, 1195, 1196, 1199, 1201, -2238, 1206, 4711, 1940, -2238, + -2238, -127, 1213, -2238, 1215, 1217, 4742, 1166, 1954, -2238, + 5826, 5826, 1218, 1957, -2238, -2238, -2238, 1945, 4785, -2238, + -2238, -2238, 614, -2238, -2238, -2238, -2238, -2238, -2238, 1998, + -2238, 199, -2238, -2238, 1953, 1943, -2238, 1235, 506, 506, + 159, -2238, 159, 133, 133, 133, 133, 133, 1500, 4826, + -2238, -2238, -2238, -2238, 2957, -2238, -2238, -2238, -2238, 2034, + -2238, 199, 1962, 1510, 199, -2238, 199, -2238, 4857, -2238, + 2957, 2957, -2238, 4924, 1717, 2957, -2238, -2238, -2238, -2238, + 1224, -2238, -2238, 5826, 5826, 2957, 1240, 1958, -2238, 1049, + -2238, 2957, -2238, 1951, 1955, -2238, -2238, 1963, 1972, -2238, + -2238, -2238, -2238, -2238, 1853, 1960, 1241, 1980, 1985, 1255, + 1301, 199, -2238, -2238, 5826, 79, 1975, 368, -2238, -2238, + 1956, -2238, -2238, 304, 4955, 5000, -2238, -2238, -2238, -2238, + -2238, 1263, 1977, 985, 2957, 199, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + 1984, 1987, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, 199, -2238, 2957, -2238, 1653, 1266, -2238, 1273, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, 2957, 1993, + 1996, -2238, -2238, -2238, 1974, 1986, -2238, 1581, -2238, 159, + -2238, 1500, 1988, 506, 506, -2238, -2238, -2238, -2238, 5031, + -2238, 4165, -2238, 1278, -2238, -2238, 934, 1680, -2238, 1576, + 5826, -2238, 1750, -2238, 2001, 5088, 689, -2238, 5826, -2238, + 2549, 2003, 2004, 2006, 2007, 2009, 199, 199, 2013, 2014, + 2015, 5144, -2238, -2238, -2238, 2957, 199, 199, -2238, -2238, + 2016, 199, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + 2025, -2238, -2238, -2238, -2238, -2238, 1295, -2238, -2238, -2238, + -2238, 2012, -2238, -2238, 2028, -2238, 5826, -2238, 199, 199, + 915, -2238, 5482, -2238, -2238, 2029, 2032, -2238, 5513, -2238, + 2035, -2238, -2238, 2022, 1303, 1500, -2238, 2957, 2034, -2238, + -2238, 2957, 199, 2957, -2238, -2238, -2238, 5826, 1307, -2238, + -2238, 2003, 199, 199, 199, 199, -2238, -2238, 2957, 2957, + 199, 2957, 1311, -2238, -2238, 2037, -2238, 1321, 2039, 1347, + 199, 2957, -2238, -2238, -2238, -2238, 687, 2044, -2238, 2957, + -2238, -2238, -2238, -2238, -2238, -2238, 199, 2026, -2238, -2238, + 5544, -2238, 5826, -2238, -2238, 2038, 5575, 2549, -2238, 413, + -2238, 2047, 1364, 2048, 1366, 2041, 1367, 5606, 5637, 2042, + -2238, 1374, 5668, -2238, 199, 1981, -2238, -2238, -2238, -2238, + 1680, -2238, 5699, 1736, -2238, 2957, 5826, 1706, 1716, -2238, + 2056, -2238, -2238, 2957, 2134, -2238, -2238, 2064, 2065, 199, + 199, -2238, 199, -2238, 2702, -2238, -2238, 2957, -2238, 199, + -2238, 2957, -2238, 2053, 1376, 1378, -2238, 2060, 5730, 1043, + 2061, 2062, 199, 5826, 199, 5826, 1384, -2238, -2238, -2238, + -2238, 1386, -2238, 2063, 1393, 1395, 1400, 5761, -2238, 5826, + -2238, -2238, -2238, 2957, -2238, -2238, -2238, -2238, -2238, 2066, + 2134, -2238, 199, -2238, 2957, -2238, -2238, 2058, 2957, 1404, + 1419, 1421, 2957, 2074, -2238, -2238, -2238, 5795, 1423, -2238, + -2238, 5826, 2073, -2238, -2238, -2238, 2957, 2957, 2957, 2077, + -2238, -2238, -2238, 5826, -2238, -2238, -31, 483, 1428, -2238, + 2086, 2087, -2238, -2238, -2238, 2080, 2080, 2080, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, 548, 2089, -2238, + 1969, -2238, 1457, -2238, -2238, -2238 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -2208, -2208, -2208, -2208, -2208, -14, 1865, 1190, -2208, -2208, - -684, -38, -2208, -2208, -373, -2208, 822, -2208, -50, -720, - -2208, -2208, -2208, 2030, 98, -2208, -2208, -2208, -2208, -2208, - -2208, 223, 512, 914, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -173, -900, -2208, -2208, -2208, 1006, 515, 1516, - -2208, -151, -1555, 237, -2208, -2208, -2208, -2208, -2208, -2208, - 1521, -290, -365, -2208, -2208, -2208, 1515, -2208, -682, -2208, - -2208, -2208, -2208, 1402, -2208, -2208, 812, -1254, -1559, 1180, - 498, -1527, -143, 4, 1186, -2208, 225, 230, -1781, -2208, - -1553, -1238, -1523, -329, -2208, 27, -1583, -1803, -802, -2208, - -2208, 633, 969, 401, -36, 138, -2208, 652, -2208, -2208, - -2208, -2208, -2208, -52, -2208, -1448, -340, 1107, -2208, 1088, - 730, 752, -376, -2208, -2208, 1053, -2208, -2208, -2208, -2208, - 447, 448, 2071, 3050, -364, -1299, 234, -422, -1007, 326, - -499, -520, 1561, 542, 1703, -877, -873, -2208, -2208, -617, - -607, -228, -2208, -814, -2208, -576, -942, -1112, -2208, -2208, - -2208, 213, -2208, -2208, 1443, -2208, -2208, 1912, -2208, 1913, - -2208, -2208, 761, -2208, -379, -7, -2208, -2208, 1918, 1922, - -2208, 737, -2208, -735, -262, 1370, -2208, 1095, -2208, -2208, - 6, -2208, 1135, 536, -2208, 4535, -423, -1072, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -191, -2208, 534, -909, -2208, - -2208, -2208, 296, -1274, -635, 1178, -952, -182, -395, -430, - 873, 284, -2208, -2208, -2208, 1525, -2208, -2208, 1104, -2208, - -2208, 1077, -2208, 1340, -1967, 1009, -2208, -2208, -2208, 1527, - -2208, 1534, -2208, 1545, -2208, 1550, -1010, -2208, -2208, -2208, - -118, -254, -2208, -2208, -2208, -416, -2208, 586, 784, -572, - 786, -2208, 58, -2208, -2208, -2208, -318, -2208, -2208, -2208, - -1918, -2208, -2208, -2208, -2208, -2208, -1433, -541, 214, -2208, - -160, -2208, 1411, 1194, -2208, -2208, 1197, -2208, -2208, -2208, - -2208, -272, -2208, -2208, 1134, -2208, -2208, 1182, -2208, 289, - 1199, -2208, -2208, -868, -2208, -2207, -2208, -200, -2208, -2208, - 253, -2208, -771, -384, 1789, 1444, -2208, -2208, -1571, -2208, - -2208, -2208, -2208, -2208, -146, -2208, -2208, -2208, -286, -2208, - -311, -2208, -328, -2208, -331, -1968, -1128, -757, -2208, -69, - -480, -991, -2077, -2208, -2208, -2208, -489, -1791, 499, -2208, - -754, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -485, -1456, 759, -2208, 248, -2208, 1582, -2208, 1745, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -1432, 802, - -2208, 1492, -2208, -2208, -2208, -2208, 1872, -2208, -2208, -2208, - 314, 1844, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, 718, -2208, -2208, -2208, 259, -2208, -2208, - -2208, -2208, -24, -1902, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, 606, 462, -529, - -1312, -1231, -1317, -1437, -1428, -1427, -2208, -1421, -1419, -1228, - -2208, -2208, -2208, -2208, -2208, 445, -2208, -2208, -2208, -2208, - -2208, 488, -1417, -1415, -2208, -2208, -2208, 442, -2208, -2208, - 486, -2208, -625, -2208, -2208, -2208, -2208, 458, -2208, -2208, - -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2208, -2208, -2208, 245, -2208, 247, -61, -2208, -2208, -2208, - -2208, -2208, -2208, -2208, 1050, -2208, 1398, -2208, -826, -2208, - 231, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, -2208, - -2005, -74, -2208, -2208, -2208, -2208, 732, -2208, -2208, -2208, - -2208, 76, -2208, 726, -2208, -2208, -2208, -2208, 721, -2208, - -2208, -2208, -2208, -2208, 715, -2208, 48, -2208, 1260 + -2238, -2238, -2238, -2238, -2238, -14, 1902, 1204, -2238, -2238, + -663, -38, -2238, -2238, -400, -2238, 830, -2238, -50, -731, + -2238, -2238, -2238, 2640, 102, -2238, -2238, -2238, -2238, -2238, + -2238, 250, 540, 943, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -165, -901, -2238, -2238, -2238, 1040, 542, 1549, + -2238, -129, -1559, 260, -2238, -2238, -2238, -2238, -2238, -2238, + 1564, -278, -365, -2238, -2238, -2238, 1562, -2238, -440, -2238, + -2238, -2238, -2238, 1432, -2238, -2238, 845, -1258, -1537, 1223, + 525, -1527, -112, 37, 1229, -2238, 257, 269, -1810, -2238, + -1538, -1263, -1535, -79, -2238, 63, -1555, -1299, -805, -2238, + -2238, 675, 1013, 441, -1, 175, -2238, 698, -2238, -2238, + -2238, -2238, -2238, -15, -2238, -1452, -615, 1151, -2238, 1133, + 767, 791, -376, -2238, -2238, 1092, -2238, -2238, -2238, -2238, + 485, 486, 2111, 1022, -364, -1302, 263, -391, -1014, 1160, + -490, -567, 1916, -221, 1734, -874, -871, -2238, -2238, -627, + -607, -211, -2238, -935, -2238, -523, -950, -1109, -2238, -2238, + -2238, 246, -2238, -2238, 1482, -2238, -2238, 1948, -2238, 1949, + -2238, -2238, 799, -2238, -372, 11, -2238, -2238, 1959, 1964, + -2238, 766, -2238, -730, -301, 1410, -2238, 1281, -2238, -2238, + 550, -2238, 1169, 571, -2238, 4496, -409, -1080, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -197, -2238, 560, -925, -2238, + -2238, -2238, 532, -1280, -619, 1210, -854, -366, -313, -430, + 972, -74, -2238, -2238, -2238, 1563, -2238, -2238, 1138, -2238, + -2238, 1112, -2238, 1375, -1957, 1041, -2238, -2238, -2238, 1566, + -2238, 1570, -2238, 1560, -2238, 1571, -988, -2238, -2238, -2238, + -94, -236, -2238, -2238, -2238, -403, -2238, -223, 810, -382, + 809, -2238, 76, -2238, -2238, -2238, -302, -2238, -2238, -2238, + -1843, -2238, -2238, -2238, -2238, -2238, -1432, -517, 231, -2238, + -144, -2238, 1433, 1221, -2238, -2238, 1225, -2238, -2238, -2238, + -2238, -261, -2238, -2238, 1155, -2238, -2238, 1205, -2238, 302, + 1219, -2238, -2238, -862, -2238, -2237, -2238, -188, -2238, -2238, + 267, -2238, -758, -383, 1809, 1468, -2238, -2238, -1576, -2238, + -2238, -2238, -2238, -2238, -134, -2238, -2238, -2238, -274, -2238, + -299, -2238, -318, -2238, -319, -1716, -1045, -763, -2238, -62, + -475, -917, -2097, -2238, -2238, -2238, -489, -1800, 511, -2238, + -749, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -485, -1469, 778, -2238, 266, -2238, 1609, -2238, 1772, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -1438, 820, + -2238, 1512, -2238, -2238, -2238, -2238, 1895, -2238, -2238, -2238, + 331, 1869, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, 741, -2238, -2238, -2238, 272, -2238, -2238, + -2238, -2238, -11, -1901, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, 676, 477, -526, + -1325, -1243, -1317, -1431, -1429, -1422, -2238, -1416, -1414, -1314, + -2238, -2238, -2238, -2238, -2238, 464, -2238, -2238, -2238, -2238, + -2238, 507, -1413, -1405, -2238, -2238, -2238, 458, -2238, -2238, + 510, -2238, 421, -2238, -2238, -2238, -2238, 478, -2238, -2238, + -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2238, -2238, -2238, 265, -2238, 268, -47, -2238, -2238, -2238, + -2238, -2238, -2238, -2238, 1082, -2238, 1425, -2238, -843, -2238, + 253, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, -2238, + -2001, -60, -2238, -2238, -2238, -2238, 752, -2238, -2238, -2238, + -2238, -2238, -2238, 96, -2238, 751, -2238, -2238, -2238, -2238, + 745, -2238, -2238, -2238, -2238, -2238, 738, -2238, 65, -2238, + 1434 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -3235,1119 +3253,1151 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -1191 static const yytype_int16 yytable[] = { - 410, 821, 678, 817, 829, 830, 831, 832, 704, 1098, - 1241, 674, 870, 971, 1242, 1085, 1702, 1389, 1294, 1463, - 1244, 1005, 716, 698, 422, 422, 1338, 975, 643, 1627, - 1737, 430, 731, 643, 734, 1872, 567, 1905, 2177, 737, - 738, 739, 800, 1875, 792, 1607, 1365, 740, 1891, 1730, - 742, 1230, 744, 2061, 1418, 2063, 424, 743, 1760, 1074, - 457, 1612, 437, 2153, 812, 1345, 2237, 649, 476, 747, - 653, 655, 479, 1877, 1182, 1475, 402, 2, 3, 1001, - 1001, 1804, 806, 1952, 46, 459, 773, 1640, 1183, 1895, - 1805, 1806, 793, 2331, 1910, 2109, 2110, 1807, 697, 1808, - 789, 1810, 474, 1811, 2313, 794, 1554, 1937, 1366, 802, - 939, 805, 2103, 1464, 402, 1535, 402, 74, 853, -541, - -584, 1056, 1752, 1587, 824, 989, 2562, 1959, 1960, 1961, - 501, 2337, 1018, 683, 898, 1724, 839, 1443, 842, 963, - 667, 1225, 668, 1241, 1762, 848, 421, 1384, -593, 1484, - 96, 8, 724, 1335, 1335, -594, 1000, 1000, 1231, -587, - -593, 373, 587, 405, 944, 1496, 1403, -594, 945, -339, - -384, -587, 421, 421, 1057, 1138, 1444, -527, -591, 898, - 109, -565, 2439, 978, 1270, -137, 581, 1897, -589, -563, - -591, -527, 594, 733, 1229, 899, 960, 594, 694, 1793, - -589, 1803, 1058, 1816, 1791, 693, 1801, 982, 1814, 908, - 1820, 984, 695, 598, 807, 1757, -584, 421, 991, 920, - 921, 922, 923, -141, 1776, -61, 811, 4, 2338, 2332, - 594, 1781, 594, 1196, 1197, 1764, 1200, 588, 590, 2339, - 594, 594, 1059, 595, 643, 1195, 1838, 599, 1536, 421, - 1445, 1537, 990, 1060, 421, 992, -593, 617, 421, 1753, - -541, 1465, 2563, -594, 421, 1725, 594, -587, 1156, 594, - 2058, 2507, 2407, -527, 1555, -339, 1281, -339, 1099, 1282, - 989, 1061, -565, 2333, 1504, 1792, -591, 1802, 1799, 1815, - 1809, 1821, 1817, 1556, 2334, -565, -589, -563, 924, 2116, - -1115, 421, 421, 421, 421, -1140, 440, 421, 1065, 1019, - 2564, 2262, 2263, 1034, 2108, 965, 405, 1862, 594, 2255, - 994, 1900, 1694, 421, 594, 1863, -137, 594, 421, 1953, - 1149, 2117, 1038, 1161, 5, 669, 672, 2106, -1062, 2565, - -1151, 679, 680, 684, 680, 594, 688, 690, -1167, -1170, - 696, 594, 700, 702, 702, 705, 1037, -584, 708, 1879, - 1881, 712, 1339, 708, -141, 1640, -61, 2104, 723, 1151, - 964, 728, 1044, 708, 1062, 708, 1804, -1104, 1086, 422, - 708, 708, 708, 2153, 1592, 1805, 1806, -527, 708, 2062, - 741, 708, 1807, 708, 1808, 1158, 1810, -593, 1811, 752, - 753, 2157, 1435, 1150, -594, 1152, 764, 766, -587, 643, - 736, 772, 1503, 643, 1646, 1648, 1650, 1495, 779, 1686, - 643, 783, 1001, -565, 1633, 1501, -1134, -591, 1337, 1148, - 421, 594, -1114, 796, 421, -1139, 803, -589, -563, 825, - 1701, -1115, 723, 813, 815, 815, -1140, 819, 796, 1455, - 1456, 974, 594, -1061, 827, 827, 827, 827, 827, -1150, - 837, 1430, 989, 841, 989, 843, 779, 1178, 1452, 846, - 1300, 989, 849, 1731, 1177, 497, 854, 1179, 1588, -1062, - 2202, -1151, 1457, 1793, 1897, 1898, 1899, 594, 1791, -1167, - -1170, 594, 1292, 421, 872, 570, 1803, 1667, 878, 1363, - 985, 1801, 1816, 1180, 986, 871, 2505, 1814, 1029, 2529, - 2530, 1820, 1762, 617, 1190, 1870, 1871, 1603, -1104, 904, - 575, 576, 892, 694, 507, 596, 910, 1001, 2260, 1763, - 900, 1212, 988, 905, 906, 907, 696, 695, 2053, -1166, - 1875, 913, 914, 2257, 1567, 919, 696, 696, 696, 696, - 2180, 895, 896, 927, 928, 1353, 1354, 1355, 1356, 1357, - -1169, 2497, 2167, 911, 2276, 1271, 2184, -1134, 508, 1792, - 1877, 643, 1799, -1114, 1604, 2466, -1139, 621, 1103, 1295, - 589, 2564, 1802, 1298, 421, 1809, 1091, 1888, 1815, 1597, - 1598, 1817, 1821, 2435, -1061, -1103, 1213, 1214, 421, -1133, - -1150, 2578, 2580, 1764, 1000, 2238, 1765, 2467, 50, -527, - 2565, 563, 1299, 2544, 2584, 1014, 1889, 2497, 1900, 712, - 1007, 764, 819, 813, 700, 1012, 1605, 2551, 843, 1215, - 1568, 989, 965, 1025, 1607, 1016, 696, 577, 568, 2102, - 2239, 965, 915, 421, 2290, 1569, 1570, 1571, 1017, 944, - 1612, 25, 916, 945, 708, 1081, 29, 1036, 1549, 696, - 946, 947, 571, 617, 2015, 1603, 1550, 1369, 965, 1241, - 2566, 1625, 1370, 1839, 1752, 2364, 1046, 1741, 47, 48, - -1166, 960, 1053, 1551, -382, 1023, 2453, 1675, 1762, 1047, - 1646, 1648, 1650, 904, 1098, 1098, 1544, 1085, 1824, 1825, - 1826, -1169, 1830, 1831, 1372, 1763, 1054, 1075, 118, 1080, - 1093, 594, 1082, 1410, 1174, 122, 1267, 572, -527, 1055, - 1340, 1741, 1604, 2150, 1127, 1096, 1345, 1175, 1373, 1268, - 1001, 1132, 90, 1341, 1293, 1126, -1103, 1346, 2291, 1395, - -1133, 1399, 95, 1374, 1133, 1687, 1134, 1688, 1375, 1376, - 1347, 1141, 1396, 1144, 1400, 1377, 696, 643, 643, 643, - 643, 643, 1427, 1216, 1217, 1942, 573, 1218, 1219, 669, - 1449, 1467, 1443, -383, 1605, 1428, 1470, 2406, 775, 1764, - 1096, 1328, 1765, 1450, 1468, 1545, 696, 1766, 121, 1471, - 1001, 1001, 1001, 1473, 1716, 1767, 574, 1185, 642, -792, - -792, 696, -382, 642, 696, 2416, 1474, 1000, 1016, 1626, - 1186, 1753, 2292, 822, 963, 1559, 580, 402, 1560, 1561, - 1562, 1481, 583, 834, 2293, 403, 2294, 2295, 2449, 2296, - 1233, 1563, 2297, 989, 989, 989, 989, 989, 985, 1245, - 1251, 1257, 986, 1679, 1261, 1681, 2102, 1487, 1538, 638, - 639, 1546, 1470, 974, 2396, 584, 987, 1264, 841, 1552, - 1488, 1539, 1192, 1406, 1547, 1548, 1198, 1645, 1647, 1649, - 988, 1204, 1553, 1289, 1208, 1210, 881, 882, 883, 884, - 886, 633, 944, 1266, 1304, 1445, 945, 607, 585, 1378, - 586, 1557, 1574, 946, 947, 1301, 664, 665, 1290, 948, - 949, 950, 951, 952, 1558, 953, 954, 955, 956, 957, - 958, 1564, 959, 591, 960, 961, 1572, 2114, 2115, 592, - 1379, 1653, 2259, 2298, 1565, 2299, 2433, 1239, 593, 1573, - 1296, 1593, 1297, 1580, 1654, 938, 940, 941, -230, 942, - 1657, 2094, 2095, 2096, 2097, 2098, 943, 2114, 2115, 2431, - 985, 1586, 1046, 597, 986, 1340, 1665, 2362, -383, 656, - 822, 638, 639, 1241, 1380, 1659, 1636, 1383, 1662, 1666, - 966, 2090, 2209, 1241, 2210, 648, 749, 2066, 669, 1669, - 2064, 2065, 988, 2211, 1387, 2212, 1695, 1989, 2075, 2076, - 684, 1748, 1670, 725, 1495, 657, 1239, 658, 1399, 1696, - 1239, 659, 1021, 705, 1749, 787, 1239, 1449, 1633, 1751, - 1655, 1935, 795, 1956, 642, 2504, 1997, 1031, 2271, 1962, - 1963, 1487, 2001, 1663, 2132, 2027, 1785, 1919, 1420, 1998, - 2137, -387, 1667, 728, 1999, 2002, 904, 2503, 2028, -385, - 2047, 2091, 2111, 969, 1446, 1052, 1685, 660, -587, 753, - 2142, 969, 1068, 2048, 2092, 2112, 1241, 661, 1072, 1073, - 2131, 1914, 1403, 2143, 766, 1532, 1001, 1001, 1001, 1335, - 1335, 1335, 1335, 1335, 1532, 662, 965, 663, 2147, 421, - 1682, -852, 1532, 1583, 1584, 985, 2206, 2148, 1469, 986, - 1495, 666, 1495, 1532, 1704, 2149, 638, 639, 402, 2207, - 2223, 1351, 675, 987, 1130, 856, 2208, 858, 2213, 2214, - 677, 2215, 2216, 2224, 859, 860, 861, 988, 676, 1748, - 864, 865, 866, 867, 1487, 868, 869, 1853, 1854, 646, - 691, 1499, 2225, 1762, 654, 699, 944, 2226, 1748, 711, - 945, 1756, 2217, 1925, 1647, 1649, 714, 946, 947, 717, - 1763, 2227, 1470, 948, 949, 726, 951, 1470, 1635, 953, - 954, 955, 956, 957, 1638, 2228, 959, 2230, 960, 961, - 2229, 732, 2240, 745, 1530, 750, 1470, 1188, 1189, 642, - 2231, 2045, 2046, 642, 2218, 2241, 1540, 1541, 1542, 2242, - 642, 2209, 760, 2210, 1785, 995, 763, 2219, 770, 1511, - 771, 1470, 2211, 2248, 2212, 1514, 2285, 1786, 1922, 1517, - 1566, 1519, 1517, 1517, 2243, 1521, 2249, 1523, 774, 2286, - 777, 1272, 2245, 2246, 1764, 1532, 1174, 1765, 1575, 900, - 1674, 1787, 1766, 2016, 778, 2018, 2019, 1487, 2288, 2309, - 1767, 1788, 782, 1532, 2114, 2115, 1789, 2023, 2353, 784, - 2311, 786, 1585, 2353, 2367, 2271, 2343, 2030, 696, 2032, - 897, 2354, 1301, 790, 1273, 791, 2355, 2368, 1880, 1882, - 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, - 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1359, - 1360, 2315, 818, 2400, 826, 822, 1275, 2391, 2122, 2111, - 1343, 1762, 2316, 2317, 2426, 1955, 2401, 1350, 2318, 1352, - 2319, 1929, 2418, 1239, 2264, 2265, 2266, 2427, 1763, 2320, - 1276, 2321, 1277, 2322, 1362, 1487, 2442, 2213, 2214, 1241, - 2215, 2216, 2447, 1651, 1449, 1487, 1748, 851, 2445, 2478, - 852, 642, 605, 606, 1592, 2448, 2223, 2470, 2472, 2474, - 886, 855, 2479, 1241, 2223, 1278, 1393, 2350, 857, 2510, - 1279, 2217, 1837, -1190, 1280, 2519, 876, 2511, 1281, 2370, - 2521, 1282, 1052, 1971, 877, 1786, 1677, 1677, 2520, 1677, - 1926, 1927, 1928, 2522, 1596, 1597, 1598, 708, 1449, 1075, - 880, 1075, 1764, 1283, 1689, 1765, 1599, 887, 1159, 1787, - 888, 2524, 989, 2218, 1487, 1600, 1664, 1284, 1174, 1788, - 643, 1239, 2353, 1285, 1789, 909, 2219, 2525, 1226, 1226, - 889, 2526, 890, 2353, 2541, 2542, 1712, 2547, 1601, 787, - 2567, 1728, 891, 1602, 912, 1144, 2543, 2573, 2574, 894, - 2548, 1726, 985, 2568, 966, 2323, 986, 1917, 2324, 1629, - 1754, 696, 1755, 638, 639, 2483, 2484, 1462, 1358, 936, - 987, 1603, 2583, 558, 559, 560, 561, 562, 1758, 965, - 967, 1933, 1206, 1207, 988, 1476, 968, 1827, 969, 972, - 983, 1722, 993, 1939, 1048, 1013, 1049, 1941, 1233, 607, - 807, 1022, 1024, 608, 609, 610, 611, 1026, 886, 1497, - 834, 1028, 1245, 1035, 1041, 2528, 612, 1251, 985, 1045, - 405, 1104, 986, 613, 1257, 614, 1066, 1069, 1604, 638, - 639, 1071, 1261, 963, 1477, 1087, 987, 642, 642, 642, - 642, 642, 1127, 2325, 1868, 995, 995, 1342, 1088, 1861, - 988, 1089, 607, 615, 1094, 1102, 608, 609, 610, 611, - 1131, 1157, 2393, 1168, 1171, 1172, 1181, 1187, 2133, 612, - 1195, 1201, 787, 1184, 1224, 1543, 613, 651, 614, 1890, - 1605, 616, 1216, 2135, 1239, 1260, 1269, 637, 638, 639, - 594, 1308, 1901, 1305, 945, 787, 1329, 2122, 1330, 612, - -342, 2326, 2327, 2328, 986, 1361, 615, 1367, 614, 1368, - 1390, 1689, 1398, 1388, 1689, 1689, 1689, 1412, 421, 1413, - 1429, 1414, 1415, 1416, 1930, 1417, 1426, 1432, 1438, 1591, - -935, 1447, 2179, 1431, 616, 1434, 615, 1098, 617, 2434, - 1495, 1624, 1448, 1453, 1459, 1454, 1458, 1472, 1348, 1485, - 1411, 1466, 1349, 607, 1482, 1486, 708, 608, 609, 610, - 611, 1419, 1489, 1492, 616, 1490, 1491, 1500, 25, 1631, - 612, 421, 1502, 29, 1509, 1524, 1964, 613, 1512, 614, - 1525, 1637, 1526, 1527, 1528, 1529, 1532, 1533, 1577, 915, - 618, 617, 1534, 1623, 1082, 47, 48, 1582, 1620, 2481, - 1628, 640, 1629, 1634, 373, 25, 1639, 615, 978, 1642, - 29, 2312, 1643, 1644, 403, 1652, 1658, 978, 1675, 1684, - 1444, 617, 1697, 1692, 2502, 1098, 1698, 1699, 2008, 2009, - 1660, 1031, 47, 48, 1700, 616, 1711, 1723, 1732, 1716, - 1750, 1834, 1840, 618, 1867, 1672, 1835, 1836, 1841, 90, - 1842, 1844, 1680, 2026, 1483, 1845, 1846, 1848, 1849, 95, - 1850, 1851, 886, 1855, 1856, 1857, 565, 1858, 1690, 1859, - 1693, 1865, 421, 618, 1883, 1884, 1885, 2502, 1893, 1886, - 1887, 1909, 1896, 886, 1911, 1914, 90, 1934, 1510, 1915, - 1936, 1947, 617, 1948, 1513, 1951, 95, 1708, 1516, 1949, - 1518, -494, 2059, 1965, 1520, 121, 1522, 607, 1720, 1972, - 1966, 608, 609, 610, 611, 2072, 2385, 2386, 1973, 2078, - 1974, 1734, 1991, 1992, 612, 1994, 1740, 1995, 1746, 1589, - 1996, 613, 2003, 614, 607, 2006, 1090, 2007, 608, 609, - 610, 611, 121, 2269, 618, 1461, 1753, 1752, 607, 150, - 2013, 612, 608, 609, 610, 611, 2014, 2017, 613, 2020, - 614, 615, 2029, 2113, 2031, 612, 2033, 2042, 2105, 1901, - 1901, 1901, 613, 944, 614, 566, 2043, 945, 2044, 2049, - 2050, 1901, 2051, 2054, 946, 947, 150, 2052, 615, 616, - 948, 949, 2070, 951, 2071, 2080, 953, 954, 955, 956, - 957, 2085, 615, 2093, -381, 960, 2430, 2432, 684, 2369, - 2100, 2101, 2145, 995, 2121, 2118, 616, 2125, 2124, 2253, - 2126, 2127, 2128, 2129, 2130, 2140, 421, 2146, 1874, 2256, - 616, 944, 2182, 1709, 2160, 945, 607, 2162, 2204, 2164, - 2205, 2233, 946, 947, 2247, 2250, 617, 1710, 948, 949, - 950, 951, 2251, 421, 953, 954, 955, 956, 957, 958, - -224, 959, 1726, 960, 961, 2258, 1930, 421, 2168, 1918, - 822, 1343, 2275, 617, 2283, 2289, 2302, 2303, 2178, 2305, - 2188, 2304, 2306, 2308, -843, 2183, 1758, 617, 2310, 2194, - 978, 2330, 2352, 2344, 2336, 2347, 2358, 2348, 618, 2359, - 1938, 2372, 2371, 1940, 2361, 748, 2365, 1827, 2379, 2381, - 2382, 1944, 2383, 2384, 2387, 2388, 2389, 1714, 1683, 2395, - 2399, 2463, 2404, 2403, 2410, 618, 2412, 2415, 2417, 2443, - 2446, 2461, 13, 14, 748, 15, 16, 2454, 2469, 618, - 20, 748, 2471, 1967, 2489, 1970, 2477, 2473, 23, 808, - 2486, 2482, 2491, 27, 2498, 2499, 30, 2509, 2490, 2531, - 1761, 2512, 2539, 2564, 37, 2514, 38, 1718, 40, 2515, - 2523, 2549, 2554, 2545, 1890, 2569, 1226, 1226, 1226, 2570, - 1226, 1226, 2571, 1901, 1832, 1901, 1901, 1901, 1901, 1901, - 1901, 59, 2582, 799, 638, 639, 1265, 578, 787, 1576, - 2165, 2086, 70, 2281, 1866, 612, 1442, 1775, 917, 1505, - 1780, 1869, 2360, 1800, 614, 1813, 2087, 1819, 929, 1823, - 1595, 926, 1042, 1302, 1894, 2363, 85, 2261, 2099, 1303, - 2254, 2107, 1739, 1480, 1990, 1721, 1048, 2301, 2163, 93, - 2314, 607, 615, 1391, 1408, 608, 609, 610, 611, 1671, - 1656, 1437, 1957, 815, 2009, 1958, 436, 102, 612, 2581, - 925, 2123, 2136, 104, 1043, 613, 1661, 614, 600, 601, - 616, 108, 1147, 110, 602, 112, 788, 114, 603, 1691, - 1397, 1920, 1921, 2349, 119, 1423, 1364, 2068, 1176, 1451, - 642, 995, 1006, 1498, 2077, 615, 1008, 2392, 2081, 2082, - 2072, 130, 131, 1741, 1009, 1673, 2089, 640, 607, 1676, - 2280, 2534, 608, 609, 610, 611, 1010, 2420, 2166, 143, - 1382, 1381, 1011, 616, 748, 612, 604, 617, 1155, 2516, - 1901, 1436, 613, 1401, 614, 2134, 2465, 1392, 2493, 2161, - 155, 761, 1139, 156, 2429, 2535, 2553, 2120, 2577, 2575, - 1226, 1226, 1226, 1631, 2398, 2173, 1738, 2004, 1015, 845, - 421, 1703, 615, 1095, 687, 2138, 1833, 827, 827, 735, - 2174, 2374, 2035, 2022, 2039, 2041, 2025, 2168, 2139, 618, - 617, 2037, 2193, 2191, 1531, 2402, 1232, 2144, 2201, 2409, - 616, 1873, 2346, 1847, 1843, 1852, 607, 1860, 2356, 0, - 608, 609, 610, 611, 2154, 2155, 0, 0, 0, 0, - 0, 0, 0, 612, 0, 0, 1078, 0, 0, 0, - 613, 0, 614, 0, 0, 0, 0, 421, 0, 0, - 0, 0, 618, 1734, 1097, 0, 0, 0, 0, 0, - 0, 834, 0, 2422, 0, 0, 0, 617, 1129, 0, - 615, 2185, 0, 1096, 1096, 2444, 1135, 1136, 0, 0, - 0, 1142, 0, 0, 2452, 0, 0, 2195, 2021, 2196, - 2456, 0, 2457, 2024, 0, 0, 0, 0, 616, 0, - 0, 0, 0, 0, 0, 0, 2034, 2458, 0, 1097, - 0, 0, 787, 1226, 0, 0, 0, 1169, 0, 618, - 0, 0, 787, 0, 0, 0, 2059, 2059, 2036, 13, - 14, 0, 15, 16, 2038, 421, 0, 20, 2040, 0, - 0, 0, 0, 0, 0, 23, 1191, 0, 1194, 0, - 27, 0, 0, 30, 0, 617, 0, 0, 0, 0, - 0, 37, 0, 38, 0, 40, 0, 748, 748, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1240, 1142, - 0, 2268, 0, 2458, 2088, 2517, 2270, 0, 59, 607, - 0, 0, 0, 608, 609, 610, 611, 2279, 1944, 70, - 0, 0, 2284, 0, 0, 787, 612, 618, 0, 0, - 0, 787, 2287, 613, 0, 614, 0, 0, 2300, 0, - 0, 0, 0, 85, 0, 0, 0, 0, 0, 2555, - 0, 0, 0, 0, 2556, 0, 93, 0, 0, 0, - 0, 0, 0, 615, 1226, 0, 0, 2556, 0, 2576, - 2579, 0, 0, 0, 102, 0, 0, 0, 1334, 1334, - 104, 2345, 2579, 0, 0, 0, 0, 0, 108, 0, - 110, 616, 112, 0, 114, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 748, 748, 0, 0, 2351, 0, - 0, 0, 0, 0, 0, 2375, 0, 0, 130, 131, - 607, 0, 0, 2357, 608, 609, 610, 611, 421, 1591, - 0, 1240, 0, 0, 0, 0, 143, 612, 0, 2175, - 0, 0, 0, 1226, 613, 0, 614, 0, 617, 0, - 0, 0, 0, 2186, 1402, 0, 0, 155, 2189, 0, - 156, 2190, 0, 0, 0, 2376, 0, 0, 0, 0, - 0, 2197, 0, 2198, 615, 2199, 0, 2200, 0, 0, - 886, 0, 0, 0, 0, 976, 0, 0, 0, 977, - 0, 0, 748, 798, 0, 799, 638, 639, 0, 0, - 618, 962, 616, 799, 638, 639, 0, 612, 0, 635, - 0, 0, 0, 636, 0, 612, 614, 0, 0, 637, - 638, 639, 0, 0, 614, 0, 0, 1226, 0, 0, - 0, 612, 0, 0, 0, 0, 0, 0, 0, 421, - 614, 0, 2419, 2270, 615, 0, 2421, 0, 2425, 0, - 0, 0, 615, 0, 0, 0, 0, 0, 0, 617, - 0, 0, 0, 2436, 2437, 0, 2441, 944, 615, 0, - 0, 945, 616, 0, 0, 0, 2451, 0, 946, 947, - 616, 0, 1097, 0, 2455, 949, 0, 951, 0, 0, - 953, 954, 955, 956, 957, 0, 616, 0, 787, 960, - 0, 0, 2376, 0, 0, 0, 0, 0, 0, 640, - 0, 618, 0, 0, 0, 0, 1461, 640, 0, 607, - 0, 0, 787, 608, 609, 610, 611, 0, 0, 617, - 2487, 0, 0, 640, 0, 0, 612, 617, 2492, 2494, - 0, 0, 0, 613, 0, 614, 978, 0, 0, 834, - 0, 1123, 2506, 617, 0, 962, 2508, 0, 833, 0, - 0, 607, 0, 0, 0, 608, 609, 610, 611, 0, - 0, 0, 0, 615, 0, 0, 0, 0, 612, 0, - 0, 618, 0, 0, 0, 613, 944, 614, 886, 618, - 945, 0, 0, 0, 0, 2494, 0, 946, 947, 2536, - 0, 616, 962, 2540, 949, 618, -1191, 1746, 1594, -1191, - -1191, -1191, -1191, -1191, 962, 615, 0, 0, 960, 0, - 0, 1746, 2552, 2536, 0, 0, 0, 833, 0, 2176, - 607, 0, 0, 0, 608, 609, 610, 611, 421, 2405, - 1226, 0, 0, 616, 0, 0, 0, 612, 0, 0, - 0, 0, 0, 0, 613, 0, 614, 0, 617, 0, - 0, 962, 962, 962, 962, 0, 962, 0, 0, 0, - 0, 0, 748, 0, 0, 978, 0, 0, 0, 0, - 421, 0, 0, 0, 615, 0, 0, 1030, 0, 0, - 607, 1226, 0, 0, 608, 609, 610, 611, 0, 0, - 617, 0, 0, 0, 0, 0, 0, 612, 0, 0, - 618, 0, 616, 0, 613, 0, 614, 0, 962, 0, - 962, 962, 962, 962, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1078, 0, - 1078, 0, 0, 0, 615, 0, 2488, 0, 0, 421, - 0, 0, 618, 0, 0, 0, 0, 0, 0, 1097, - 1097, 0, 0, 0, 0, 0, 0, 0, 0, 617, - 1705, 0, 616, 0, 0, 0, 748, 0, 1715, 962, - 0, 1717, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 808, 0, 0, 0, 1097, 1097, 0, - 0, 962, 0, 0, 0, 0, 0, 0, 0, 421, - 0, 962, 375, 0, 0, 0, 0, 0, 381, 748, - 1272, 618, 0, 0, 0, 0, 1782, 0, 388, 617, - 0, 390, 962, 0, 393, 748, 748, 748, 0, 748, - 748, 399, 0, 748, 0, 406, 0, 0, 962, 409, - 0, 0, 962, 962, 0, 0, 0, 1240, 0, 0, - 0, 0, 0, 1273, 0, 0, 0, 428, 0, 1274, - 0, 432, 433, 0, 0, 0, 0, 438, 439, 0, - 0, 618, 0, 444, 445, 0, 447, 448, 449, 450, - 0, 451, 0, 0, 0, 1275, 0, 0, 0, 0, - 460, 0, 0, 0, 0, 464, 0, 466, 0, 0, - 962, 469, 0, 0, 0, 473, 0, 475, 1892, 1276, - 0, 1277, 0, 0, 481, 0, 0, 0, 485, 0, - 0, 0, 488, 0, 490, 0, 0, 0, 0, 0, - 0, 498, 500, 0, 0, 502, 503, 0, 0, 0, - 748, 509, 0, 510, 1278, 0, 0, 514, 0, 1279, - 0, 0, 0, 1280, 0, 0, 0, 1281, 962, 962, - 1282, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 541, 0, 543, 1461, 0, 0, - 607, 0, 1283, 548, 608, 609, 610, 611, 0, 0, - 0, 0, 0, 0, 0, 0, 1284, 612, 0, 748, - 748, 748, 1285, 0, 613, 0, 614, 0, 0, 0, - 0, 0, 0, 1707, 0, 0, 607, 0, 0, 0, - 608, 609, 610, 611, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 612, 615, 0, 0, 0, 0, 0, - 613, 0, 614, 0, 0, 0, 0, 0, 1733, 1097, - 0, 607, 0, 0, 0, 608, 609, 610, 611, 0, - 0, 0, 616, 0, 0, 0, 0, 0, 612, 0, - 615, 0, 0, 0, 0, 613, 0, 614, 0, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 616, 421, - 0, 0, 0, 0, 0, 615, 0, 1969, 0, 0, - 607, 0, 0, 962, 608, 609, 610, 611, 0, 617, - 962, 0, 962, 0, 0, 0, 0, 612, 0, 0, - 0, 0, 962, 616, 613, 421, 614, 0, 0, 0, - 0, 1240, 748, 0, 0, 1097, 1097, 1097, 0, 1142, - 1142, 1240, 0, 0, 0, 617, 0, 1142, 1142, 0, - 0, 0, 0, 962, 615, 0, 0, 0, 0, 0, - 421, 618, 607, 0, 0, 0, 608, 998, 610, 611, - 0, 0, 0, 0, 1334, 1334, 1334, 1334, 1334, 612, - 617, 944, 616, 0, 720, 945, 613, 0, 614, 0, - 0, 0, 946, 947, 0, 0, 0, 618, 948, 949, - 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, - 0, 959, 0, 960, 961, 0, 615, 0, 0, 421, - 0, 0, 962, 1105, 1240, 0, 0, 1106, 607, 0, - 1402, 0, 618, 0, 1107, 1108, 962, 0, 0, 617, - 1109, 1110, 1111, 1112, 616, 0, 1113, 1114, 1115, 1116, - 1117, 1118, 1119, 1120, 0, 1121, 1122, 962, 0, 0, - 0, 0, 0, 748, 2158, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 421, 0, 0, 0, 0, 808, 0, 847, 0, - 0, 618, 0, 0, 0, 0, 0, 1097, 0, 0, - 0, 617, 944, 962, 1173, 0, 945, 607, 0, 0, - 0, 0, 0, 946, 947, 0, 0, 0, 2192, 948, - 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, - 958, 0, 959, 0, 960, 961, 0, 0, 0, 0, - 0, 0, 748, 2203, 944, 0, 0, 1236, 945, 607, - 0, 962, 0, 618, 0, 946, 947, 0, 0, 0, - 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, - 956, 957, 958, 0, 959, 0, 960, 961, 0, 0, - 0, 0, 0, 944, 962, 0, 1237, 945, 607, 0, - 0, 962, 0, 1892, 946, 947, 0, 962, 0, 0, - 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, - 957, 958, 0, 959, 0, 960, 961, 0, 0, 0, - 962, 0, 0, 2274, 0, 0, 748, 0, 2277, 0, - 0, 0, 962, 0, 0, 0, 0, 0, 0, 0, - 962, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 962, 0, 0, 962, 0, 0, 0, 0, 944, 0, - 0, 1238, 945, 607, 0, 0, 0, 0, 962, 946, - 947, 0, 0, 0, 0, 948, 949, 950, 951, 0, - 962, 953, 954, 955, 956, 957, 958, 0, 959, 0, - 960, 961, 0, 0, 962, 0, 0, 1240, 0, 944, - 962, 0, 0, 945, 607, 0, 962, 0, 0, 0, - 946, 947, 0, 0, 0, 1307, 948, 949, 950, 951, - 0, 1240, 953, 954, 955, 956, 957, 958, 0, 959, - 944, 960, 961, 0, 945, 607, 0, 0, 0, 0, - 0, 946, 947, 0, 0, 0, 1386, 948, 949, 950, - 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, - 959, 0, 960, 961, 0, 0, 944, 0, 1394, 0, - 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, - 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, - 954, 955, 956, 957, 958, 0, 959, 1097, 960, 961, - 944, 1097, 1409, 0, 945, 607, 0, 0, 0, 0, + 410, 821, 678, 971, 829, 830, 831, 832, 817, 704, + 1391, 674, 1707, 1241, 1098, 870, 1242, 1296, 1340, 1742, + 1085, 693, 1465, 698, 422, 422, 1244, 975, 1632, 716, + 743, 430, 1337, 1337, 1230, 642, 1879, 1005, 1617, 731, + 642, 734, 800, 1612, 567, 643, 737, 738, 739, 1347, + 643, 2070, 1735, 2072, 740, 2186, 1765, 742, 792, 744, + 457, 649, 437, 1882, 653, 655, 1884, 1477, 476, 747, + 1912, 2162, 479, 402, 424, 1898, 1420, 812, 989, 2248, + 1074, 1037, 1183, 1645, 2326, 459, 773, 1182, -565, 1809, + 2112, 1810, 793, 2324, 1902, 2327, 2328, 1044, 1811, 1917, + 789, 2329, 474, 2330, 1812, 794, 1813, 1815, 1944, 802, + 697, 805, 2331, -541, 2332, 1816, 2333, 402, 1466, 939, + 1757, 2, 3, 1368, 824, 683, 402, 1966, 1967, 1968, + 501, 1592, 1001, 1001, 1729, -584, 839, 570, 842, 373, + 1786, 405, 421, 1767, 1367, 848, 1241, 1231, 1904, 1386, + 898, 2573, -563, 1537, 1283, 733, 1018, 1284, 1498, 1056, + -593, 1558, 1339, 2450, 806, 1000, 1000, 596, 965, 1405, + 724, 1486, -593, 1272, 1904, 1905, 1906, 1225, 667, 978, + 668, 807, -137, 405, 725, 594, 581, 594, 2249, -565, + 1445, 1081, 594, 1796, -527, 1806, 589, 1819, 898, 1825, + 853, 1798, -565, 1808, 1804, 1821, 1814, 982, 1822, 908, + 594, 984, 1057, 749, 899, 1959, 421, 1229, 991, 920, + 921, 922, 923, 2250, 8, -527, -141, 421, 1180, 1446, + 594, -584, 421, 989, 1769, -61, 963, 594, 2334, 1190, + 1058, 2335, 787, 994, 811, 1843, 421, 617, 915, 795, + 440, 642, 2518, -339, -541, -339, 1212, 1758, 916, -339, + -563, 643, 421, 2418, 1730, 617, 1467, 974, -593, 421, + 2065, 4, 421, 2069, 421, 1797, 1551, 1807, 1099, 1820, + 1059, 1826, 1907, 1506, 1552, 421, 1538, 2574, 421, 1539, + 1273, 1060, 1156, -1115, 497, 421, 856, 421, 858, 2266, + -1140, 1553, 421, 1447, 1297, 859, 860, 861, 1907, 1019, + 924, 864, 865, 866, 867, 1762, 868, 869, -1062, 1061, + 1034, 1065, 421, -137, 1029, 421, 2336, 1699, 421, 1559, + -565, 507, 1038, 1161, 990, 669, 672, 992, -1151, 1886, + 1888, 679, 680, 684, 680, -1167, 688, 690, 1560, 2117, + 696, 1086, 700, 702, 702, 705, 594, 421, 708, 1593, + 594, 712, 1341, 708, 1645, -594, 2115, -141, 723, 1151, + 1597, 728, -584, 708, 2113, 708, -61, -594, 5, 422, + 708, 708, 708, 2071, 2337, 2338, 2339, 1809, 708, 1810, + 741, 708, 1371, 708, 594, 2162, 1811, 1372, 508, 752, + 753, -563, 1812, 2166, 1813, 1815, 764, 766, 1158, -593, + 1638, 772, 1062, 1816, 1691, 989, 642, 989, 779, 1503, + 642, 783, 1497, 1437, 989, 1505, 643, 642, 736, 1148, + 643, 594, 995, 796, -1115, 1706, 803, 643, 1412, 825, + 1178, -1140, 723, 813, 815, 815, 563, 819, 796, 1554, + 1555, 1432, 1302, 568, 827, 827, 827, 827, 827, -1062, + 837, 1960, 2342, 841, -1170, 843, 779, 964, -1104, 846, + 571, 594, 849, -594, 1177, 1001, 854, 1179, -587, -1151, + 1796, 1608, 2211, 1672, 1454, 1150, -1167, 1152, 1798, 1300, + -587, 1804, 594, 1806, 872, 2348, 594, 1736, 878, 1819, + 594, 1808, -1134, 1825, 1814, 871, 1294, 1821, 1365, -591, + 1822, 2125, 1877, 1878, 1651, 1653, 1655, 421, 1301, 904, + -382, -591, 892, 402, 2540, 2541, 910, 2516, 575, 576, + 900, 403, 1546, 905, 906, 907, 696, 617, 1609, -1114, + 2060, 913, 914, 2126, 2189, 919, 696, 696, 696, 696, + 1295, 895, 896, 927, 928, 1355, 1356, 1357, 1358, 1359, + 594, 2477, 1797, 911, 1882, 2271, 421, 1884, 2287, 2193, + 2176, 572, 1103, 2508, 2268, 1807, 594, 573, 642, -1139, + 1001, 1820, 694, -527, 989, 1826, -587, -589, 643, 1159, + 1610, 1781, 2349, 2478, 1091, 2446, 695, 1330, 2343, -589, + -1061, 1457, 1458, 2350, -1150, -1170, 2118, 2119, -1166, -1104, + 594, 2575, 1195, 1000, -594, 1014, 50, -591, 574, 712, + 1007, 764, 819, 813, 700, 1012, 594, 965, 843, 2508, + 1602, 1603, 1617, 1025, 1459, 944, 696, 1612, 597, 945, + 2576, 1895, 2111, -1134, 694, 577, 587, 1374, 1767, 985, + 2022, 1016, 2344, 986, 708, 1226, 1226, 1036, 695, 696, + 1585, -527, 1746, 2345, 1017, 1768, 787, 960, -1169, 974, + 1896, 1375, 1680, 580, 1241, -527, 2575, 1844, 1591, 1408, + -1114, 988, 1053, 1829, 1830, 1831, 1376, 1835, 1836, 1630, + 965, 1377, 1378, 904, 1746, -589, 2159, -527, 1379, 2555, + 2577, 1098, 1098, 583, 1085, 2576, 1608, 1075, 2464, 1080, + 1093, 1767, 1082, 2562, 2375, 1347, 118, -384, -1103, 584, + -1139, 965, 1138, 122, 1127, 1096, -383, -587, 1768, 1213, + 1214, 1132, 25, 585, -1133, 1126, 1149, 29, 1547, 1769, + 586, -1061, 1770, 591, 1133, -1150, 1134, 1771, 1046, -1166, + 421, 1141, 1572, 1144, 1949, 1772, 696, 1054, -591, 47, + 48, 1047, 1215, 1609, 642, 642, 642, 642, 642, 669, + 1055, 1174, 995, 995, 643, 643, 643, 643, 643, 592, + 1096, 588, 590, 2417, 1175, 1001, 696, 595, 989, 989, + 989, 989, 989, 1651, 1653, 1655, -382, 1185, 1269, 787, + 593, 696, 1769, 1342, 696, 1770, 1348, 1687, 963, -1169, + 1186, 1270, 2427, 90, 1397, 1610, 1343, 985, 1000, 1349, + 1631, 986, 787, 95, 2273, 2274, 633, 1398, 638, 639, + 1233, 1413, 1380, 46, 2460, 987, -589, 1401, 1573, 1245, + 1253, 1259, 1421, 1429, 1263, 1001, 1001, 1001, 1451, 988, + 1402, 2111, 2407, 1574, 1575, 1576, 1430, 1266, 841, -1103, + 1433, 1452, 648, 1381, 2589, 2591, 74, 1579, 1869, 121, + 985, 656, 1469, 1291, 986, -1133, 1870, 2595, 1650, 1652, + 1654, 638, 639, 1268, 1306, 1470, 1353, 1563, 987, 25, + 1564, 1565, 1566, 1472, 29, 1303, 1216, 1217, 1292, 96, + 1218, 1219, 988, 1567, 1568, 657, 1473, 1382, 1475, 1016, + 1489, -792, -792, 2068, 985, 1540, 47, 48, 986, -383, + 658, 1476, 1483, 1490, 2444, 638, 639, 659, 1541, 109, + 1360, 966, 987, 1598, 1548, 1485, 1472, 2218, 1556, 2219, + 2103, 2104, 2105, 2106, 2107, 660, 988, 1549, 2220, 1550, + 2221, 1557, -387, 1561, 2442, 1337, 1337, 1337, 1337, 1337, + 1569, 1577, 598, 661, 969, 2373, 1562, 1385, 1641, 1512, + 90, 1241, 662, 1570, 1578, 1515, 1640, 2099, 669, 1518, + 95, 1520, 1643, 1241, 1389, 1522, 2075, 1524, -385, 1692, + 684, 1693, 1658, 2073, 2074, 1239, 599, 1996, 1046, 1638, + 969, 2084, 2085, 705, 1497, 1659, 985, 1342, 1662, 402, + 986, 1664, 1660, 2515, 1670, 2141, 1674, 638, 639, 663, + 1667, 2146, 1479, 1672, 987, 1668, 121, 1671, 1422, 1675, + 2282, 666, 1926, 728, 375, 1684, 904, 1686, 988, 1700, + 381, 1936, 2514, 675, 1448, 1753, 965, 1239, 1679, 753, + 388, -852, 1701, 390, 25, 1690, 393, 1090, 1754, 29, + 1756, 676, 1401, 399, 766, 1239, 1241, 406, 691, 2140, + 150, 409, 1405, 2222, 2223, 1942, 2224, 2225, 1963, 699, + 944, 47, 48, 677, 945, 1239, 664, 665, 1471, 428, + 2301, 946, 947, 432, 433, 711, 1709, 714, 1969, 438, + 439, 1451, 1497, 1978, 1497, 444, 445, 2226, 447, 448, + 449, 450, 960, 451, 1970, 565, 726, 2004, 732, 1489, + 1757, 2008, 460, 2034, 1001, 1001, 1001, 464, 2054, 466, + 2005, 1501, 2006, 469, 2009, 90, 2035, 473, 2100, 475, + 2120, 2055, 995, 1761, 717, 95, 481, -587, 2151, 2227, + 485, 2101, 1534, 2121, 488, 760, 490, 1932, 1652, 1654, + 1921, 2152, 2228, 498, 500, 2156, 985, 502, 503, 745, + 986, 750, 1534, 509, 1532, 510, 1534, 638, 639, 514, + 1842, 2215, 1534, 2232, 2302, 2157, 1542, 1543, 1544, 2158, + -230, 121, 1534, 763, 2216, 2217, 2233, 1753, 988, 2123, + 2124, 1688, 770, 1489, 1753, 2235, 541, 1472, 543, 1472, + 2236, 782, 1571, 1929, 2241, 548, 2237, 2238, 1445, 1790, + 2239, 2251, 2240, 1472, 566, 1472, 2259, 2242, 646, 1023, + 1580, 900, 2296, 654, 2252, 150, 2253, 771, 2254, 2260, + 1721, 2023, 774, 2025, 2026, 2297, 1719, 777, 1534, 1174, + 1723, 2123, 2124, 778, 1590, 2030, 2270, 1758, 2303, 786, + 696, 2299, 2320, 1489, 1303, 2037, 1790, 2039, 1924, 2282, + 2304, 1534, 2305, 2306, 2364, 2307, 2322, 790, 2308, 1196, + 1197, 2364, 1200, 784, 2354, 791, 2378, 2365, 965, 1766, + 1780, 818, 1940, 1785, 2366, 2131, 1805, 826, 1818, 2379, + 1824, 2402, 1828, 2411, 1946, 1226, 1226, 1226, 1948, 1226, + 1226, 2120, 851, 1837, 852, 2437, 2412, 1962, 897, 1239, + 2275, 2276, 2277, 2218, 2429, 2219, 1767, 787, 2438, 1489, + 855, 1447, 2453, 944, 2220, 1656, 2221, 945, 607, 1597, + 857, 1241, 2456, 1768, 946, 947, 1933, 1934, 1935, -1190, + 948, 949, 950, 951, 952, 2458, 953, 954, 955, 956, + 957, 958, 989, 959, 2381, 960, 961, 1241, 2459, 2309, + 2361, 2310, 1451, 1767, 1489, 1753, 1588, 1589, 1682, 1682, + 876, 1682, 2489, 877, 2232, 2481, 2232, 2483, 2485, 708, + 1768, 1075, 2530, 1075, 2532, 2490, 1694, 2521, 880, 2522, + 1791, 1451, 887, 1489, 888, 2531, 1192, 2533, 1174, 889, + 1198, 621, 1239, 890, 2535, 1204, 2536, 1769, 1208, 1210, + 1770, 2537, 642, 995, 1792, 2552, 720, 2364, 1717, 2364, + 421, 2558, 643, 1733, 1793, 891, 2578, 1144, 909, 1794, + 2553, 894, 2554, 1731, 2559, 966, 1048, 1791, 1049, 2579, + 912, 607, 1759, 696, 1760, 608, 609, 610, 611, 2222, + 2223, 969, 2224, 2225, 1769, 1634, 967, 1770, 612, 936, + 1763, 1792, 1771, 972, 1298, 613, 1299, 614, 2594, 1832, + 1772, 1793, 1226, 1226, 1226, 968, 1794, 799, 638, 639, + 1233, 1344, 983, 2226, 1860, 1861, 607, 2052, 2053, 612, + 608, 609, 610, 611, 993, 615, 1245, 807, 614, 2539, + 1013, 1253, 1022, 612, 2256, 2257, 2123, 2124, 1028, 1259, + 613, 1024, 614, 1887, 1889, 1361, 1362, 1263, 605, 606, + 847, 2584, 2585, 616, 1026, 2227, 615, 1127, 1035, 1875, + 2494, 2495, 1206, 1207, 1868, 1041, 1045, 405, 2228, 1071, + 615, 1069, 1066, 963, 2028, 1087, 1088, 1089, 1094, 2031, + 1102, 1104, 1157, 1168, 616, 2142, 1131, 1181, 2404, 1171, + 421, 1172, 2041, 1187, 1897, 1195, 1201, 1224, 616, 1184, + 2144, 1216, 1239, 1262, 1271, 976, 2131, 1908, 1307, 977, + 617, 594, 1310, 1331, 2043, 799, 638, 639, 945, 1332, + 2045, 640, -342, 986, 2047, 1363, 1694, 612, 1369, 1694, + 1694, 1694, 775, 1370, 1390, 421, 614, 1414, 1415, 1937, + 1392, 617, 1400, 1416, 787, 1226, 1417, 1418, 1226, 1419, + 2188, 1428, 1431, 1434, 1440, 617, 787, 558, 559, 560, + 561, 562, 618, 1098, 615, 2445, 1497, 822, 651, 1436, + 1449, 708, 978, -935, 1450, 1455, 1461, 834, 637, 638, + 639, 1274, 1456, 1460, 1468, 1474, 1484, 1487, 1488, 1492, + 612, 1971, 616, 618, 944, 1491, 1494, 1493, 945, 614, + 1502, 1504, 915, 1526, 1511, 946, 947, 618, 1534, 1082, + 1527, 948, 949, 1528, 951, 1514, 1529, 953, 954, 955, + 956, 957, 1530, 1531, 1275, 2492, 960, 615, 1582, 640, + 881, 882, 883, 884, 886, 2323, 1535, 1536, 1587, 787, + 1625, 1633, 1628, 2015, 2016, 787, 1634, 1639, 373, 617, + 2513, 1098, 1644, 1647, 2264, 616, 1277, 1648, 1649, 1657, + 1663, 403, 978, 1513, 2267, 1728, 978, 1680, 2033, 1516, + 1689, 1702, 1697, 1519, 1703, 1521, 1519, 1519, 1226, 1523, + 1278, 1525, 1279, 1704, 1705, 1446, 1716, 1737, 1721, 938, + 940, 941, 640, 942, 1755, 1839, 1840, 1845, 1841, 1846, + 943, 618, 1847, 2513, 1848, 1849, 1851, 2184, 1852, 1853, + 1855, 1856, 617, 1857, 822, 1280, 1858, 2066, 1862, 1863, + 1281, 2195, 1864, 1865, 1282, 1866, 2198, 1872, 1283, 2199, + 1874, 1284, 2081, 1890, 1891, 1900, 2087, 2396, 2397, 2206, + 1903, 2207, 1916, 2208, 1892, 2209, 1918, 1921, 1893, 1922, + 1350, 1941, 1894, 1285, 1351, 607, 1021, 1226, 1943, 608, + 609, 610, 611, 1954, 618, 1955, 1958, 1286, 1956, 1972, + 1973, 1031, 612, 1287, -494, 1979, 1980, 1981, 1998, 613, + 1999, 614, 2001, 2002, 2003, 2114, 1908, 1908, 1908, 2010, + 1757, 2013, 1758, 635, 2014, 2021, 2020, 636, 1908, 1052, + 2024, 2027, 2049, 637, 638, 639, 1068, 2036, 2038, 615, + 2040, 2050, 1072, 1073, 2058, 612, 2059, 2051, 2056, 2057, + 617, 2061, 944, 2079, 614, 684, 945, 2441, 2443, 2154, + 2380, 2080, 2089, 946, 947, 2094, 2102, 616, -381, 2109, + 949, 2110, 951, 1226, 2122, 953, 954, 955, 956, 957, + 2127, 2169, 615, 2130, 960, 1293, 798, 2134, 1130, 2133, + 2135, 2136, 2139, 2137, 2138, 2149, 799, 638, 639, 2155, + 2191, 2171, 1669, 2213, 421, 2173, 2214, 2234, 612, 1731, + 616, 2244, 2258, 1937, 2261, 2177, 2262, 614, -224, 2269, + 2286, 2294, 2313, 2300, 617, 2187, 2314, 2197, 2315, 1594, + 2316, 2319, 2192, 1763, 607, 2317, 2203, -843, 608, 609, + 610, 611, 2321, 2347, 787, 615, 2341, 640, 2355, 2358, + 2369, 612, 2359, 2370, 1832, 2382, 2363, 2372, 613, 2376, + 614, 1188, 1189, 1601, 1602, 1603, 2383, 617, 2390, 2392, + 787, 2393, 2394, 616, 2395, 1604, 618, 1727, 2398, 2399, + 2400, 2406, 2410, 2414, 1605, 1373, 2415, 2421, 615, 2280, + 2423, 1463, 2426, 2428, 607, 2454, 2457, 2472, 608, 609, + 610, 611, 2465, 2474, 2480, 2482, 2484, 1606, 2500, 2493, + 640, 612, 1607, 2488, 2502, 2497, 616, 2501, 613, 618, + 614, 2509, 2510, 1897, 2520, 2523, 2525, 2526, 2534, 2550, + 617, 2560, 1908, 2542, 1908, 1908, 1908, 1908, 1908, 1908, + 1608, 2556, 2565, 2580, 2581, 2582, 2593, 2575, 615, 1581, + 1267, 2174, 2292, 421, 1311, 1312, 1313, 1314, 1315, 1316, + 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, + 1327, 1328, 1329, 617, 578, 2095, 616, 1873, 1507, 822, + 1444, 917, 618, 1876, 1345, 2371, 2096, 2416, 1226, 1746, + 978, 1352, 1042, 1354, 607, 1600, 1901, 1609, 608, 609, + 610, 611, 815, 2016, 926, 929, 1304, 2374, 1364, 2272, + 2116, 612, 1305, 421, 2108, 2265, 1744, 1482, 613, 1997, + 614, 2312, 2172, 1726, 2504, 618, 2325, 1393, 1676, 1410, + 1439, 1661, 2360, 617, 886, 1964, 436, 2132, 1965, 1226, + 1395, 2592, 2145, 1043, 600, 601, 1666, 788, 615, 1610, + 1696, 2081, 1147, 1928, 1399, 602, 1052, 1048, 1366, 1425, + 603, 1927, 607, 1176, 1453, 1500, 608, 609, 610, 611, + 1006, 1010, 2403, 1678, 1681, 1008, 616, 2291, 2545, 612, + 1009, 1908, 2175, 1011, 2431, 618, 613, 1384, 614, 1383, + 1155, 2527, 1438, 1880, 2499, 2143, 1403, 1394, 607, 2476, + 2170, 761, 608, 609, 610, 611, 1139, 2440, 2546, 2564, + 2586, 2588, 2409, 421, 2011, 612, 615, 1743, 827, 827, + 2182, 1708, 613, 1095, 614, 1015, 845, 687, 2177, 2147, + 2183, 1838, 2042, 617, 735, 2385, 2048, 2029, 2046, 13, + 14, 1464, 15, 16, 616, 2032, 2044, 20, 1586, 2202, + 2413, 2200, 615, 1232, 2420, 23, 1533, 2210, 1850, 1478, + 27, 2357, 1854, 30, 1859, 1867, 2367, 0, 0, 0, + 0, 37, 0, 38, 0, 40, 0, 0, 0, 0, + 616, 421, 886, 1499, 834, 618, 0, 0, 0, 0, + 0, 0, 0, 0, 2433, 0, 0, 0, 59, 0, + 748, 617, 0, 0, 1096, 1096, 2455, 0, 0, 70, + 0, 0, 0, 0, 0, 2463, 0, 421, 0, 0, + 0, 2467, 0, 2468, 0, 0, 0, 0, 0, 748, + 0, 13, 14, 85, 15, 16, 748, 617, 2469, 20, + 0, 0, 0, 0, 808, 0, 93, 23, 0, 1545, + 0, 0, 27, 618, 0, 30, 0, 2066, 2066, 0, + 0, 0, 0, 37, 102, 38, 1463, 40, 0, 607, + 104, 0, 0, 608, 609, 610, 611, 0, 108, 0, + 110, 0, 112, 0, 114, 0, 612, 0, 0, 618, + 59, 119, 0, 613, 0, 614, 0, 0, 0, 0, + 0, 70, 0, 0, 0, 1596, 0, 0, 130, 131, + 2097, 0, 0, 0, 2469, 607, 2528, 1629, 0, 608, + 609, 610, 611, 615, 0, 85, 143, 0, 0, 0, + 0, 0, 612, 604, 0, 0, 0, 0, 93, 613, + 0, 614, 0, 0, 0, 1636, 0, 155, 0, 0, + 156, 616, 0, 0, 0, 925, 102, 1642, 0, 0, + 2566, 0, 104, 0, 0, 2567, 0, 0, 0, 615, + 108, 0, 110, 0, 112, 0, 114, 0, 2567, 0, + 2587, 2590, 0, 119, 0, 0, 0, 0, 421, 0, + 0, 0, 0, 2590, 0, 0, 0, 616, 0, 0, + 130, 131, 0, 0, 2386, 0, 1665, 1031, 617, 607, + 0, 0, 0, 608, 609, 610, 611, 0, 143, 748, + 0, 1677, 0, 0, 0, 978, 612, 0, 1685, 0, + 0, 0, 0, 613, 421, 614, 0, 0, 886, 155, + 0, 0, 156, 0, 1695, 0, 1698, 0, 0, 0, + 0, 0, 0, 0, 617, 0, 0, 0, 0, 886, + 618, 833, 0, 615, 607, 0, 0, 0, 608, 609, + 610, 611, 0, 1713, 0, 0, 0, 0, 0, 0, + 0, 612, 0, 0, 1725, 0, 0, 0, 613, 944, + 614, 616, 0, 945, 0, 0, 0, 1739, 0, 0, + 946, 947, 1745, 0, 1751, 0, 618, 949, 0, -1191, + 0, 1078, -1191, -1191, -1191, -1191, -1191, 0, 615, 0, + 0, 960, 0, 0, 0, 0, 0, 0, 421, 1097, + 0, 0, 2185, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1129, 0, 0, 616, 0, 617, 0, + 0, 1135, 1136, 0, 0, 0, 1142, 0, 0, 833, + 0, 0, 607, 0, 0, 0, 608, 609, 610, 611, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, + 0, 0, 0, 421, 1097, 0, 613, 0, 614, 0, + 0, 0, 1169, 0, 0, 0, 0, 0, 0, 0, + 618, 0, 0, 617, 0, 0, 0, 1881, 0, 0, + 1030, 0, 0, 607, 0, 0, 615, 608, 609, 610, + 611, 1191, 0, 1194, 0, 0, 0, 0, 0, 0, + 612, 0, 0, 0, 0, 0, 0, 613, 0, 614, + 0, 0, 748, 748, 616, 0, 0, 0, 1925, 822, + 1345, 0, 0, 1240, 1142, 618, 1463, 0, 0, 607, + 0, 0, 0, 608, 609, 610, 611, 615, 0, 0, + 0, 0, 0, 0, 0, 0, 612, 0, 0, 1945, + 0, 421, 1947, 613, 0, 614, 0, 0, 0, 1712, + 1951, 0, 607, 0, 0, 616, 608, 609, 610, 611, + 0, 617, 0, 0, 0, 0, 0, 0, 0, 612, + 0, 0, 0, 615, 0, 0, 613, 0, 614, 0, + 1738, 0, 1974, 607, 1977, 0, 0, 608, 609, 610, + 611, 0, 421, 1336, 1336, 1976, 0, 0, 607, 1274, + 612, 616, 608, 609, 610, 611, 615, 613, 0, 614, + 0, 0, 617, 618, 0, 612, 0, 0, 0, 748, + 748, 0, 613, 0, 614, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 616, 0, 0, 615, 421, 0, + 0, 0, 1275, 0, 0, 0, 1240, 0, 1276, 0, + 0, 0, 615, 0, 0, 0, 0, 0, 617, 0, + 0, 0, 0, 0, 618, 616, 0, 0, 0, 1404, + 0, 421, 0, 0, 1277, 0, 0, 607, 0, 0, + 616, 608, 609, 610, 611, 0, 0, 0, 0, 0, + 0, 617, 0, 0, 612, 0, 0, 0, 1278, 0, + 1279, 613, 421, 614, 0, 0, 0, 748, 607, 0, + 618, 0, 608, 998, 610, 611, 0, 421, 0, 0, + 0, 0, 617, 0, 0, 612, 0, 0, 2077, 0, + 0, 615, 613, 1280, 614, 2086, 0, 617, 1281, 2090, + 2091, 0, 1282, 618, 0, 0, 1283, 2098, 0, 1284, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, + 0, 0, 615, 0, 0, 0, 0, 0, 0, 0, + 0, 1285, 0, 0, 618, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1286, 0, 0, 2129, 618, + 616, 1287, 0, 0, 1636, 0, 421, 1097, 0, 0, + 0, 0, 0, 0, 0, 0, 944, 0, 1714, 0, + 945, 607, 0, 0, 0, 0, 617, 946, 947, 2148, + 0, 0, 1715, 948, 949, 950, 951, 421, 2153, 953, + 954, 955, 956, 957, 958, 0, 959, 1105, 960, 961, + 0, 1106, 607, 0, 0, 2163, 2164, 617, 1107, 1108, + 0, 0, 0, 0, 1109, 1110, 1111, 1112, 0, 0, + 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 618, 1121, + 1122, 0, 0, 0, 1739, 0, 0, 0, 0, 0, + 0, 0, 834, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2194, 0, 0, 0, 0, 0, 0, 618, + 0, 0, 0, 0, 0, 0, 0, 0, 2204, 944, + 2205, 1173, 0, 945, 607, 0, 0, 0, 0, 0, + 946, 947, 0, 0, 0, 1599, 948, 949, 950, 951, + 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, + 944, 960, 961, 1236, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, - 959, 944, 960, 961, 962, 945, 607, 0, 748, 748, - 0, 0, 946, 947, 0, 0, 0, 1421, 948, 949, + 959, 962, 960, 961, 0, 944, 0, 0, 1237, 945, + 607, 0, 0, 0, 0, 0, 946, 947, 0, 748, + 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, + 955, 956, 957, 958, 2279, 959, 0, 960, 961, 2281, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 944, + 2290, 1951, 1238, 945, 607, 2295, 0, 0, 0, 0, + 946, 947, 0, 0, 0, 2298, 948, 949, 950, 951, + 0, 2311, 953, 954, 955, 956, 957, 958, 0, 959, + 0, 960, 961, 0, 0, 1078, 0, 1078, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1097, 1097, 0, 944, + 0, 0, 0, 945, 2356, 0, 0, 1710, 0, 0, + 946, 947, 0, 748, 0, 1720, 948, 949, 1722, 951, + 0, 0, 953, 954, 955, 956, 957, 0, 0, 959, + 808, 960, 961, 2362, 1097, 1097, 0, 0, 0, 0, + 0, 1123, 0, 0, 0, 962, 0, 0, 2368, 0, + 0, 0, 0, 0, 1596, 0, 748, 0, 0, 0, + 0, 0, 0, 1787, 0, 0, 0, 0, 0, 0, + 0, 0, 748, 748, 748, 0, 748, 748, 0, 0, + 748, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2387, 944, 962, 0, 1240, 945, 607, 0, 0, 0, + 0, 0, 946, 947, 962, 886, 0, 1309, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, 0, 0, 0, 0, 0, - 0, 0, 1097, 1097, 1097, 1097, 0, 0, 962, 0, - 2158, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 748, 944, 0, 1291, 0, 945, 607, 0, 962, 0, - 962, 0, 946, 947, 962, 0, 0, 1424, 948, 949, - 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, - 0, 959, 0, 960, 961, 0, 0, 962, 0, 0, - 962, 0, 0, 0, 1097, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1123, 0, 0, 0, 0, 0, 0, 1097, - 1097, 0, 1097, 0, 0, 0, 0, 0, 0, 2158, - 0, 944, 0, 0, 0, 945, 607, 0, 0, 0, - 0, 0, 946, 947, 0, 0, 0, 1425, 948, 949, - 950, 951, 0, 1371, 953, 954, 955, 956, 957, 958, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 962, 962, 962, 962, 0, 962, 0, 1899, 0, + 0, 0, 0, 0, 0, 0, 0, 2430, 2281, 0, + 0, 2432, 0, 2436, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2447, 2448, + 748, 2452, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2462, 0, 0, 0, 0, 0, 0, 962, 2466, + 962, 962, 962, 962, 944, 0, 0, 0, 945, 607, + 0, 0, 0, 0, 0, 946, 947, 2387, 0, 0, + 1388, 948, 949, 950, 951, 0, 0, 953, 954, 955, + 956, 957, 958, 0, 959, 0, 960, 961, 0, 748, + 748, 748, 0, 0, 0, 2498, 0, 0, 0, 0, + 0, 0, 0, 2503, 2505, 0, 0, 0, 0, 962, + 0, 0, 0, 0, 834, 0, 0, 2517, 0, 0, + 0, 2519, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 962, 0, 0, 0, 0, 0, 0, 0, 1097, + 0, 962, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 886, 0, 0, 0, 0, 0, 0, + 2505, 0, 962, 0, 2547, 0, 0, 0, 2551, 0, + 0, 0, 1751, 0, 0, 0, 0, 0, 962, 0, + 0, 0, 962, 962, 0, 0, 1751, 2563, 2547, 944, + 0, 1396, 0, 945, 607, 0, 0, 0, 0, 0, + 946, 947, 0, 0, 0, 0, 948, 949, 950, 951, + 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, + 0, 960, 961, 0, 0, 0, 0, 0, 0, 0, + 0, 1240, 748, 0, 0, 748, 0, 1097, 1097, 1097, + 962, 1142, 1142, 1240, 0, 0, 0, 0, 0, 1142, + 1142, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1336, 1336, 1336, 1336, + 1336, 0, 0, 944, 0, 1411, 0, 945, 607, 0, + 0, 0, 0, 0, 946, 947, 0, 0, 962, 962, + 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, + 957, 958, 0, 959, 0, 960, 961, 944, 0, 0, + 0, 945, 607, 0, 0, 0, 1240, 0, 946, 947, + 0, 0, 1404, 1423, 948, 949, 950, 951, 0, 0, + 953, 954, 955, 956, 957, 958, 0, 959, 0, 960, + 961, 944, 0, 0, 0, 945, 607, 0, 0, 0, + 0, 0, 946, 947, 0, 748, 2167, 1426, 948, 949, + 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, + 0, 959, 0, 960, 961, 944, 0, 0, 808, 945, + 607, 0, 0, 0, 0, 0, 946, 947, 0, 1097, + 0, 1427, 948, 949, 950, 951, 0, 0, 953, 954, + 955, 956, 957, 958, 0, 959, 0, 960, 961, 0, + 2201, 962, 962, 962, 962, 962, 962, 962, 962, 962, + 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, + 0, 0, 0, 0, 748, 2212, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 962, 0, 0, 0, 0, + 0, 944, 962, 0, 962, 945, 607, 0, 0, 0, + 0, 0, 946, 947, 962, 0, 0, 1462, 948, 949, + 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, + 0, 959, 0, 960, 961, 0, 944, 1899, 0, 0, + 945, 607, 0, 0, 0, 962, 0, 946, 947, 0, + 0, 0, 1509, 948, 949, 950, 951, 0, 0, 953, + 954, 955, 956, 957, 958, 0, 959, 2285, 960, 961, + 748, 944, 2288, 0, 0, 945, 607, 0, 0, 0, + 0, 0, 946, 947, 0, 0, 0, 1510, 948, 949, + 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, 0, 944, 0, 0, 0, - 945, 607, 1097, 0, 0, 0, 0, 946, 947, 0, - 0, 0, 1460, 948, 949, 950, 951, 0, 962, 953, - 954, 955, 956, 957, 958, 0, 959, 962, 960, 961, - 944, 962, 962, 0, 945, 607, 0, 0, 0, 962, - 0, 946, 947, 0, 0, 0, 1507, 948, 949, 950, + 945, 607, 0, 0, 962, 0, 0, 946, 947, 0, + 0, 0, 1646, 948, 949, 950, 951, 0, 962, 953, + 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, + 0, 1240, 0, 0, 0, 0, 944, 0, 0, 962, + 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, + 0, 0, 1919, 948, 949, 950, 951, 1240, 0, 953, + 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, + 944, 0, 1714, 0, 945, 607, 0, 0, 0, 0, + 0, 946, 947, 0, 0, 962, 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, 0, 0, 0, 0, 0, 0, - 962, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 962, - 0, 944, 0, 0, 962, 945, 607, 0, 0, 0, - 0, 0, 946, 947, 962, 962, 0, 1508, 948, 949, - 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, - 0, 959, 0, 960, 961, 0, 0, 0, 0, 0, - 0, 0, 944, 0, 0, 962, 945, 607, 0, 0, - 0, 0, 0, 946, 947, 962, 962, 0, 1641, 948, - 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, - 958, 0, 959, 944, 960, 961, 0, 945, 607, 0, - 0, 0, 0, 0, 946, 947, 0, 0, 0, 1912, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 944, 0, 0, 0, 945, 607, 0, + 0, 0, 0, 1097, 946, 947, 962, 1097, 0, 1957, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, 0, 0, 0, + 944, 0, 1975, 0, 945, 607, 0, 0, 0, 962, + 0, 946, 947, 0, 748, 748, 962, 948, 949, 950, + 951, 0, 962, 953, 954, 955, 956, 957, 958, 0, + 959, 0, 960, 961, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 962, 0, 0, 1097, 1097, + 1097, 1097, 0, 0, 0, 0, 2167, 962, 0, 0, + 0, 0, 0, 0, 0, 962, 748, 0, 0, 0, + 0, 0, 0, 0, 0, 962, 0, 0, 962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 962, 0, - 962, 0, 0, 0, 0, 0, 0, 0, 944, 962, - 1709, 0, 945, 607, 962, 0, 0, 962, 0, 946, - 947, 0, 0, 0, 1581, 948, 949, 950, 951, 0, - 962, 953, 954, 955, 956, 957, 958, 0, 959, 944, - 960, 961, 0, 945, 607, 0, 0, 0, 0, 0, - 946, 947, 0, 0, 0, 1950, 948, 949, 950, 951, - 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, - 0, 960, 961, 0, 0, 962, 0, 0, 0, 0, - 0, 962, 0, 0, 944, 0, 1968, 962, 945, 607, - 0, 0, 0, 0, 0, 946, 947, 0, 0, 0, - 0, 948, 949, 950, 951, 0, 962, 953, 954, 955, - 956, 957, 958, 0, 959, 944, 960, 961, 0, 945, - 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, - 0, 2000, 948, 949, 950, 951, 0, 0, 953, 954, - 955, 956, 957, 958, 0, 959, 0, 960, 961, 962, - 0, 962, 0, 0, 0, 962, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 962, 962, 0, 0, - 0, 962, 944, 0, 2141, 0, 945, 607, 0, 0, - 0, 962, 0, 946, 947, 962, 0, 0, 0, 948, - 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, - 958, 0, 959, 0, 960, 961, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 962, 0, 0, - 0, 0, 962, 0, 962, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 962, 0, 962, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, - 378, 379, 380, 0, 382, 0, 383, 0, 385, 386, - 0, 387, 0, 0, 0, 389, 962, 391, 392, 0, - 962, 394, 395, 396, 0, 398, 0, 400, 401, 0, - 0, 408, 962, 0, 0, 0, 411, 412, 413, 414, - 415, 416, 417, 418, 0, 419, 420, 0, 0, 425, - 426, 427, 0, 429, 0, 431, 0, 0, 434, 435, - 0, 0, 0, 0, 0, 0, 442, 443, 0, 0, - 446, 0, 0, 0, 0, 0, 0, 452, 0, 454, - 0, 455, 456, 0, 0, 0, 461, 462, 463, 0, - 0, 465, 0, 0, 467, 468, 0, 470, 471, 472, - 0, 0, 0, 0, 477, 478, 0, 0, 480, 0, - 482, 483, 484, 0, 486, 487, 0, 0, 489, 0, - 491, 492, 493, 494, 495, 496, 0, 0, 0, 0, - 0, 0, 504, 505, 506, 0, 0, 0, 0, 511, - 512, 513, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 0, - 542, 0, 544, 0, 545, 0, 546, 547, 0, 549, - 550, 551, 552, 553, 554, 555, 556, 944, 0, 2156, - 9, 945, 607, 0, 0, 0, 0, 10, 946, 947, - 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, + 0, 0, 0, 962, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 962, 0, 0, 0, 0, + 1097, 0, 0, 0, 0, 0, 0, 0, 0, 962, + 0, 0, 0, 0, 0, 962, 0, 0, 0, 0, + 0, 962, 0, 0, 0, 1097, 1097, 944, 1097, 0, + 0, 945, 607, 0, 0, 2167, 0, 0, 946, 947, + 0, 0, 0, 2007, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 0, 960, - 961, 0, 0, 0, 0, 0, 0, 11, 12, 13, - 14, 0, 15, 16, 17, 18, 19, 20, 0, 634, - 21, 22, 647, 0, 650, 23, 24, 25, 0, 26, - 27, 28, 29, 30, 31, 0, 32, 33, 34, 35, - 36, 37, 0, 38, 39, 40, 41, 42, 43, 0, - 0, 44, 45, 46, 47, 48, 0, 0, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 0, 71, 0, 72, 73, 0, 74, 75, 76, 0, - 0, 77, 0, 0, 78, 79, 0, 80, 81, 82, - 83, 0, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 0, 0, 0, 0, 0, 93, 94, 95, 96, - 0, 0, 0, 0, 97, 0, 0, 98, 99, 0, - 0, 100, 101, 0, 102, 0, 0, 0, 103, 0, - 104, 0, 105, 0, 0, 0, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 0, 116, 117, 118, - 0, 119, 0, 120, 121, 0, 122, 0, 123, 124, - 125, 126, 0, 0, 127, 128, 129, 0, 130, 131, - 132, 0, 133, 134, 135, 0, 136, 0, 137, 138, - 139, 140, 141, 0, 142, 0, 143, 144, 0, 0, - 145, 146, 147, 0, 0, 148, 149, 0, 150, 151, - 0, 152, 153, 0, 0, 0, 154, 155, 0, 0, - 156, 0, 0, 157, 0, 0, 0, 158, 159, 0, - 0, 160, 161, 162, 0, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 0, 174, 0, 0, - 175, 0, 0, 0, 176, 177, 178, 179, 180, 0, - 181, 182, 0, 0, 183, 184, 185, 186, 0, 0, - 0, 0, 187, 188, 189, 190, 191, 192, 0, 0, - 0, 0, 0, 0, 0, 193, 0, 0, 194, 195, - 196, 197, 198, 0, 0, 0, 199, 200, 201, 202, - 203, 204, 944, 205, 206, 2232, 945, 607, 207, 0, + 961, 0, 944, 0, 2150, 0, 945, 607, 0, 0, + 0, 0, 0, 946, 947, 0, 0, 0, 1097, 948, + 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, + 958, 0, 959, 0, 960, 961, 944, 0, 2165, 0, + 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, + 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, + 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 377, 378, 379, 380, 0, 382, 0, 383, 0, 385, + 386, 962, 387, 0, 0, 0, 389, 0, 391, 392, + 0, 0, 394, 395, 396, 0, 398, 0, 400, 401, + 0, 0, 408, 0, 0, 0, 0, 411, 412, 413, + 414, 415, 416, 417, 418, 0, 419, 420, 0, 0, + 425, 426, 427, 0, 429, 962, 431, 0, 0, 434, + 435, 0, 0, 0, 0, 0, 0, 442, 443, 0, + 0, 446, 0, 0, 0, 962, 0, 962, 452, 0, + 454, 962, 455, 456, 0, 0, 0, 461, 462, 463, + 0, 0, 465, 0, 0, 467, 468, 0, 470, 471, + 472, 0, 0, 0, 962, 477, 478, 962, 0, 480, + 0, 482, 483, 484, 0, 486, 487, 0, 0, 489, + 0, 491, 492, 493, 494, 495, 496, 0, 0, 1123, + 0, 0, 0, 504, 505, 506, 0, 0, 0, 0, + 511, 512, 513, 0, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 0, 542, 0, 544, 0, 545, 0, 546, 547, 0, + 549, 550, 551, 552, 553, 554, 555, 556, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 944, 962, 0, 2243, + 945, 607, 0, 0, 0, 0, 962, 946, 947, 0, + 962, 962, 0, 948, 949, 950, 951, 0, 962, 953, + 954, 955, 956, 957, 958, 0, 959, 944, 960, 961, + 634, 945, 607, 647, 0, 650, 0, 0, 946, 947, + 0, 0, 0, 2255, 948, 949, 950, 951, 0, 962, + 953, 954, 955, 956, 957, 958, 0, 959, 0, 960, + 961, 0, 0, 0, 0, 0, 0, 0, 962, 0, + 944, 0, 0, 962, 945, 607, 0, 0, 0, 0, + 0, 946, 947, 962, 962, 0, 2263, 948, 949, 950, + 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, + 959, 0, 960, 961, 0, 0, 0, 0, 0, 0, + 0, 944, 0, 0, 962, 945, 607, 0, 0, 0, + 0, 0, 946, 947, 962, 962, 0, 2278, 948, 949, + 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, + 0, 959, 944, 960, 961, 2289, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, 0, 0, 0, 0, - 0, 0, 944, 0, 0, 0, 945, 607, 0, 0, - 0, 0, 0, 946, 947, 0, 0, 0, 2244, 948, - 949, 950, 951, 934, 935, 953, 954, 955, 956, 957, - 958, 0, 959, 944, 960, 961, 0, 945, 607, 0, - 0, 0, 0, 0, 946, 947, 0, 0, 0, 2252, - 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, - 957, 958, 0, 959, 944, 960, 961, 0, 945, 607, - 0, 0, 0, 0, 0, 946, 947, 0, 0, 0, - 2267, 948, 949, 950, 951, 0, 0, 953, 954, 955, - 956, 957, 958, 0, 959, 944, 960, 961, 2278, 945, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 962, + 0, 962, 0, 0, 0, 0, 0, 0, 0, 944, + 962, 0, 0, 945, 607, 962, 0, 0, 962, 0, + 946, 947, 0, 0, 0, 2293, 948, 949, 950, 951, + 0, 962, 953, 954, 955, 956, 957, 958, 0, 959, + 944, 960, 961, 0, 945, 607, 0, 0, 0, 0, + 0, 946, 947, 0, 0, 0, 2352, 948, 949, 950, + 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, + 959, 0, 960, 961, 0, 0, 962, 0, 0, 0, + 0, 0, 962, 0, 0, 944, 0, 0, 962, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, - 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, - 955, 956, 957, 958, 0, 959, 944, 960, 961, 0, + 0, 2353, 948, 949, 950, 951, 0, 962, 953, 954, + 955, 956, 957, 958, 0, 959, 944, 960, 961, 2377, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, - 0, 0, 2282, 948, 949, 950, 951, 0, 0, 953, - 954, 955, 956, 957, 958, 0, 959, 944, 960, 961, - 0, 945, 607, 0, 0, 0, 0, 0, 946, 947, - 0, 0, 0, 2341, 948, 949, 950, 951, 0, 0, + 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, + 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, + 962, 0, 962, 0, 0, 0, 962, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 962, 962, 0, + 0, 0, 962, 944, 934, 935, 0, 945, 607, 0, + 0, 0, 962, 0, 946, 947, 962, 0, 0, 2384, + 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, + 957, 958, 0, 959, 0, 960, 961, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 962, 0, + 0, 0, 0, 962, 0, 962, 0, 0, 0, 944, + 0, 0, 2401, 945, 607, 9, 0, 962, 0, 962, + 946, 947, 10, 0, 0, 0, 948, 949, 950, 951, + 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, + 0, 960, 961, 0, 0, 0, 0, 962, 0, 0, + 0, 962, 11, 12, 13, 14, 0, 15, 16, 17, + 18, 19, 20, 962, 0, 21, 22, 0, 0, 0, + 23, 24, 25, 0, 26, 27, 28, 29, 30, 31, + 0, 32, 33, 34, 35, 36, 37, 0, 38, 39, + 40, 41, 42, 43, 0, 0, 44, 45, 46, 47, + 48, 0, 0, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 0, 71, 0, 72, 73, + 0, 74, 75, 76, 0, 0, 77, 0, 0, 78, + 79, 0, 80, 81, 82, 83, 0, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 0, 0, 0, 0, + 0, 93, 94, 95, 96, 0, 0, 0, 0, 97, + 0, 0, 98, 99, 0, 0, 100, 101, 0, 102, + 0, 0, 0, 103, 0, 104, 0, 105, 0, 0, + 0, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 0, 116, 117, 118, 0, 119, 0, 120, 121, + 0, 122, 0, 123, 124, 125, 126, 0, 0, 127, + 128, 129, 0, 130, 131, 132, 0, 133, 134, 135, + 0, 136, 0, 137, 138, 139, 140, 141, 0, 142, + 0, 143, 144, 0, 0, 145, 146, 147, 0, 0, + 148, 149, 0, 150, 151, 0, 152, 153, 0, 0, + 0, 154, 155, 0, 0, 156, 0, 0, 157, 0, + 0, 0, 158, 159, 0, 0, 160, 161, 162, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 0, 174, 0, 0, 175, 0, 0, 0, 176, + 177, 178, 179, 180, 0, 181, 182, 0, 0, 183, + 184, 185, 186, 0, 0, 0, 0, 187, 188, 189, + 190, 191, 192, 0, 0, 0, 0, 0, 0, 0, + 193, 0, 0, 194, 195, 196, 197, 198, 0, 0, + 0, 199, 200, 201, 202, 203, 204, 944, 205, 206, + 2419, 945, 607, 207, 0, 0, 0, 0, 946, 947, + 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 944, 960, 961, 0, 945, 607, 0, 0, 0, 0, 0, 946, - 947, 0, 0, 0, 2342, 948, 949, 950, 951, 0, + 947, 0, 0, 0, 2425, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 944, - 960, 961, 2366, 945, 607, 0, 0, 0, 0, 0, + 960, 961, 2473, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 944, 960, 961, 0, 945, 607, 0, 0, 0, 0, - 0, 946, 947, 0, 0, 0, 2373, 948, 949, 950, + 0, 946, 947, 0, 0, 0, 2475, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, - 959, 944, 960, 961, 2390, 945, 607, 0, 0, 0, - 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, + 959, 944, 960, 961, 0, 945, 607, 0, 0, 0, + 0, 0, 946, 947, 0, 0, 0, 2486, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, - 0, 959, 944, 960, 961, 2408, 945, 607, 0, 0, + 0, 959, 944, 960, 961, 2487, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, - 958, 0, 959, 944, 960, 961, 0, 945, 607, 0, - 0, 0, 0, 0, 946, 947, 0, 0, 0, 2414, + 958, 0, 959, 944, 960, 961, 2491, 945, 607, 0, + 0, 0, 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, - 957, 958, 0, 959, 944, 960, 961, 2462, 945, 607, + 957, 958, 0, 959, 944, 960, 961, 0, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, 0, - 0, 948, 949, 950, 951, 0, 0, 953, 954, 955, + 2496, 948, 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, 944, 960, 961, 0, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, - 0, 2464, 948, 949, 950, 951, 0, 0, 953, 954, - 955, 956, 957, 958, 0, 959, 944, 960, 961, 0, - 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, - 0, 0, 2475, 948, 949, 950, 951, 0, 0, 953, - 954, 955, 956, 957, 958, 0, 959, 944, 960, 961, - 2476, 945, 607, 0, 0, 0, 0, 0, 946, 947, - 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, - 953, 954, 955, 956, 957, 958, 0, 959, 944, 960, - 961, 2480, 945, 607, 0, 0, 0, 0, 0, 946, - 947, 0, 0, 0, 0, 948, 949, 950, 951, 0, - 0, 953, 954, 955, 956, 957, 958, 0, 959, 944, - 960, 961, 0, 945, 607, 0, 0, 0, 0, 0, - 946, 947, 0, 0, 0, 2485, 948, 949, 950, 951, - 0, 0, 953, 954, 955, 956, 957, 958, 0, 959, - 944, 960, 961, 0, 945, 607, 0, 0, 0, 0, - 0, 946, 947, 0, 0, 0, 2513, 948, 949, 950, - 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, - 959, 944, 960, 961, 2527, 945, 607, 0, 0, 0, - 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, - 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, - 0, 959, 0, 960, 961, 944, 0, 2546, 0, 945, - 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, - 0, 0, 948, 949, 950, 951, 0, 0, 953, 954, - 955, 956, 957, 958, 0, 959, 944, 960, 961, 0, + 0, 2524, 948, 949, 950, 951, 0, 0, 953, 954, + 955, 956, 957, 958, 0, 959, 944, 960, 961, 2538, 945, 607, 0, 0, 0, 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, 950, 951, 0, 0, 953, - 954, 955, 956, 957, 958, 0, 959, 0, 960, 961 + 954, 955, 956, 957, 958, 0, 959, 0, 960, 961, + 944, 0, 2557, 0, 945, 607, 0, 0, 0, 0, + 0, 946, 947, 0, 0, 0, 0, 948, 949, 950, + 951, 0, 0, 953, 954, 955, 956, 957, 958, 0, + 959, 944, 960, 961, 0, 945, 607, 0, 0, 0, + 0, 0, 946, 947, 0, 0, 0, 0, 948, 949, + 950, 951, 0, 0, 953, 954, 955, 956, 957, 958, + 0, 959, 944, 960, 961, 0, 945, 0, 0, 0, + 0, 0, 0, 946, 947, 0, 0, 0, 0, 948, + 949, 950, 951, 0, 0, 953, 954, 955, 956, 957, + 958, 0, 959, 0, 960, 961 }; static const yytype_int16 yycheck[] = { - 50, 486, 378, 483, 493, 494, 495, 496, 392, 763, - 887, 375, 541, 630, 887, 750, 1448, 1024, 918, 1131, - 888, 656, 401, 388, 62, 63, 968, 634, 256, 1328, - 1486, 69, 411, 261, 413, 1590, 209, 1620, 2005, 418, - 419, 420, 472, 1596, 467, 1299, 998, 426, 1607, 1482, - 429, 877, 431, 1844, 1064, 1846, 63, 430, 1506, 743, - 98, 1299, 76, 1965, 480, 974, 2071, 258, 118, 433, - 261, 262, 122, 1596, 845, 1147, 7, 0, 1, 655, - 656, 1518, 477, 8, 89, 99, 450, 1361, 845, 1616, - 1518, 1518, 468, 94, 1621, 1898, 1899, 1518, 388, 1518, - 464, 1518, 116, 1518, 2181, 469, 41, 1662, 8, 473, - 609, 475, 1893, 175, 7, 182, 7, 122, 513, 116, - 20, 5, 71, 15, 488, 645, 182, 1698, 1699, 1700, - 144, 191, 673, 8, 5, 47, 500, 169, 502, 15, - 5, 21, 7, 1020, 191, 509, 129, 1020, 8, 1159, - 155, 116, 406, 967, 968, 8, 655, 656, 878, 8, - 20, 15, 8, 15, 5, 1172, 1043, 20, 9, 129, - 3, 20, 129, 129, 58, 8, 208, 23, 8, 5, - 185, 15, 2389, 166, 904, 116, 224, 15, 8, 8, - 20, 37, 8, 15, 21, 21, 37, 8, 23, 1516, - 20, 1518, 86, 1520, 1516, 387, 1518, 637, 1520, 574, - 1522, 641, 37, 218, 15, 172, 116, 129, 648, 584, - 585, 586, 587, 116, 266, 116, 480, 150, 288, 230, - 8, 37, 8, 858, 859, 282, 861, 231, 232, 299, - 8, 8, 126, 237, 472, 287, 1545, 252, 315, 129, - 282, 318, 647, 137, 129, 650, 116, 149, 129, 208, - 257, 323, 318, 116, 129, 177, 8, 116, 809, 8, - 1841, 2478, 2349, 15, 209, 129, 191, 129, 763, 194, - 800, 165, 116, 284, 1184, 1516, 116, 1518, 1516, 1520, - 1518, 1522, 1520, 228, 295, 129, 116, 116, 588, 5, - 116, 129, 129, 129, 129, 116, 64, 129, 724, 674, - 128, 2114, 2115, 692, 1897, 3, 15, 18, 8, 2100, - 15, 149, 1434, 129, 8, 26, 257, 8, 129, 254, - 18, 37, 697, 818, 257, 373, 374, 1896, 116, 157, - 116, 379, 380, 381, 382, 8, 384, 385, 116, 116, - 388, 8, 390, 391, 392, 393, 696, 257, 396, 1597, - 1598, 399, 969, 401, 257, 1639, 257, 1894, 406, 799, - 246, 409, 712, 411, 258, 413, 1813, 116, 751, 417, - 418, 419, 420, 2285, 1293, 1813, 1813, 129, 426, 1845, - 428, 429, 1813, 431, 1813, 811, 1813, 257, 1813, 437, - 438, 1972, 1086, 798, 257, 800, 444, 445, 257, 637, - 417, 449, 1183, 641, 1366, 1367, 1368, 1171, 456, 1426, - 648, 459, 998, 257, 1333, 1182, 116, 257, 64, 794, - 129, 8, 116, 471, 129, 116, 474, 257, 257, 489, - 1447, 257, 480, 481, 482, 483, 257, 485, 486, 147, - 148, 633, 8, 116, 492, 493, 494, 495, 496, 116, - 498, 1078, 982, 501, 984, 503, 504, 840, 1103, 507, - 15, 991, 510, 1483, 839, 15, 514, 842, 1292, 257, - 2051, 257, 180, 1800, 15, 16, 17, 8, 1800, 257, - 257, 8, 915, 129, 544, 211, 1813, 1406, 548, 998, - 5, 1813, 1819, 843, 9, 543, 2473, 1819, 690, 2514, - 2515, 1823, 191, 149, 854, 1587, 1588, 92, 257, 569, - 7, 8, 560, 23, 15, 241, 576, 1103, 2111, 208, - 568, 871, 37, 571, 572, 573, 574, 37, 1837, 116, - 2093, 579, 580, 2102, 244, 583, 584, 585, 586, 587, - 2006, 565, 566, 591, 592, 985, 986, 987, 988, 989, - 116, 2463, 1995, 577, 2135, 905, 2014, 257, 8, 1800, - 2093, 799, 1800, 257, 149, 148, 257, 251, 769, 919, - 8, 128, 1813, 8, 129, 1813, 759, 8, 1819, 16, - 17, 1819, 1823, 2384, 257, 116, 147, 148, 129, 116, - 257, 2569, 2570, 282, 1103, 315, 285, 180, 95, 37, - 157, 257, 37, 2531, 2582, 665, 37, 2519, 149, 657, - 658, 659, 660, 661, 662, 663, 201, 2545, 666, 180, - 330, 1151, 3, 683, 1888, 8, 674, 124, 15, 1893, - 350, 3, 5, 129, 41, 345, 346, 347, 21, 5, - 1888, 63, 15, 9, 692, 26, 68, 695, 183, 697, - 16, 17, 8, 149, 26, 92, 191, 1007, 3, 1546, - 217, 1306, 1012, 1546, 71, 2258, 8, 5, 90, 91, - 257, 37, 720, 208, 3, 679, 21, 15, 191, 21, - 1642, 1643, 1644, 743, 1448, 1449, 15, 1432, 1524, 1525, - 1526, 257, 1528, 1529, 43, 208, 8, 745, 195, 747, - 760, 8, 750, 1053, 8, 202, 8, 8, 15, 21, - 8, 5, 149, 7, 774, 763, 1635, 21, 67, 21, - 1306, 781, 144, 21, 916, 773, 257, 8, 135, 8, - 257, 8, 154, 82, 782, 1427, 784, 1429, 87, 88, - 21, 789, 21, 791, 21, 94, 794, 985, 986, 987, - 988, 989, 8, 314, 315, 1674, 8, 318, 319, 807, - 8, 8, 169, 3, 201, 21, 8, 2348, 452, 282, - 818, 963, 285, 21, 21, 15, 824, 290, 200, 21, - 1366, 1367, 1368, 8, 191, 298, 8, 847, 256, 7, - 8, 839, 3, 261, 842, 2360, 21, 1306, 8, 1308, - 848, 208, 209, 487, 15, 338, 8, 7, 341, 342, - 343, 21, 8, 497, 221, 15, 223, 224, 2399, 226, - 880, 354, 229, 1353, 1354, 1355, 1356, 1357, 5, 889, - 890, 891, 9, 1415, 894, 1417, 2100, 8, 8, 16, - 17, 8, 8, 1035, 2310, 8, 23, 895, 896, 8, - 21, 21, 856, 1045, 21, 21, 860, 1366, 1367, 1368, - 37, 865, 21, 911, 868, 869, 550, 551, 552, 553, - 554, 15, 5, 897, 934, 282, 9, 10, 8, 228, - 8, 8, 1265, 16, 17, 933, 7, 8, 912, 22, - 23, 24, 25, 26, 21, 28, 29, 30, 31, 32, - 33, 8, 35, 8, 37, 38, 8, 16, 17, 8, - 259, 8, 21, 320, 21, 322, 2382, 8, 8, 21, - 924, 1296, 926, 1273, 21, 609, 610, 611, 7, 613, - 21, 1883, 1884, 1885, 1886, 1887, 620, 16, 17, 2381, - 5, 1291, 8, 7, 9, 8, 8, 2256, 3, 8, - 634, 16, 17, 1840, 303, 21, 1342, 1017, 21, 21, - 15, 1871, 22, 1850, 24, 15, 434, 1850, 1016, 8, - 1848, 1849, 37, 33, 1022, 35, 8, 1722, 1856, 1857, - 1028, 8, 21, 407, 1748, 8, 8, 8, 8, 21, - 8, 8, 676, 1041, 21, 463, 8, 8, 1917, 21, - 1386, 21, 470, 21, 472, 2471, 8, 691, 2130, 21, - 21, 8, 8, 1399, 1933, 8, 84, 1634, 1066, 21, - 1939, 3, 1941, 1071, 21, 21, 1086, 2469, 21, 3, - 8, 8, 8, 15, 1094, 719, 1425, 8, 8, 1087, - 8, 15, 726, 21, 21, 21, 1933, 8, 732, 733, - 1933, 21, 1939, 21, 1102, 8, 1642, 1643, 1644, 1883, - 1884, 1885, 1886, 1887, 8, 8, 3, 8, 21, 129, - 1420, 8, 8, 7, 8, 5, 8, 21, 1138, 9, - 1844, 8, 1846, 8, 1458, 21, 16, 17, 7, 21, - 8, 21, 15, 23, 778, 519, 21, 521, 158, 159, - 149, 161, 162, 21, 528, 529, 530, 37, 15, 8, - 534, 535, 536, 537, 8, 539, 540, 351, 352, 256, - 15, 1181, 21, 191, 261, 15, 5, 21, 8, 15, - 9, 1505, 192, 1642, 1643, 1644, 149, 16, 17, 7, - 208, 21, 8, 22, 23, 15, 25, 8, 1340, 28, - 29, 30, 31, 32, 1346, 21, 35, 8, 37, 38, - 21, 15, 8, 15, 1224, 15, 8, 851, 852, 637, - 21, 316, 317, 641, 234, 21, 1236, 1237, 1238, 21, - 648, 22, 8, 24, 84, 653, 15, 247, 15, 1193, - 15, 8, 33, 8, 35, 1199, 8, 265, 1638, 1203, - 1260, 1205, 1206, 1207, 21, 1209, 21, 1211, 15, 21, - 15, 44, 348, 349, 282, 8, 8, 285, 1266, 1267, - 1412, 289, 290, 1762, 15, 1764, 1765, 8, 21, 21, - 298, 299, 8, 8, 16, 17, 304, 1776, 8, 37, - 21, 15, 1290, 8, 8, 2367, 21, 1786, 1296, 1788, - 124, 21, 1300, 15, 87, 15, 21, 21, 1597, 1598, - 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, - 954, 955, 956, 957, 958, 959, 960, 961, 962, 993, - 994, 5, 15, 8, 15, 969, 119, 2304, 1915, 8, - 974, 191, 16, 17, 8, 1684, 21, 981, 22, 983, - 24, 1651, 21, 8, 2116, 2117, 2118, 21, 208, 33, - 143, 35, 145, 37, 998, 8, 21, 158, 159, 2206, - 161, 162, 8, 1371, 8, 8, 8, 15, 21, 8, - 15, 799, 247, 248, 2253, 21, 8, 21, 21, 21, - 1024, 15, 21, 2230, 8, 178, 1030, 2230, 15, 21, - 183, 192, 1544, 15, 187, 8, 15, 21, 191, 2278, - 8, 194, 1046, 1713, 15, 265, 1414, 1415, 21, 1417, - 1642, 1643, 1644, 21, 15, 16, 17, 1425, 8, 1427, - 15, 1429, 282, 216, 1432, 285, 27, 15, 812, 289, - 15, 21, 1922, 234, 8, 36, 1400, 230, 8, 299, - 1638, 8, 8, 236, 304, 7, 247, 21, 876, 877, - 15, 21, 15, 8, 21, 21, 1464, 8, 59, 887, - 8, 1481, 15, 64, 124, 1473, 21, 2565, 2566, 15, - 21, 1479, 5, 21, 15, 159, 9, 1629, 162, 8, - 1500, 1489, 1502, 16, 17, 2446, 2447, 1131, 21, 239, - 23, 92, 21, 203, 204, 205, 206, 207, 1506, 3, - 246, 1653, 866, 867, 37, 1149, 246, 1527, 15, 21, - 26, 1475, 8, 1665, 5, 7, 7, 1669, 1538, 10, - 15, 240, 15, 14, 15, 16, 17, 15, 1172, 1173, - 1174, 8, 1552, 15, 8, 2512, 27, 1557, 5, 15, - 15, 26, 9, 34, 1564, 36, 175, 149, 149, 16, - 17, 8, 1572, 15, 21, 8, 23, 985, 986, 987, - 988, 989, 1582, 247, 1584, 993, 994, 5, 8, 1577, - 37, 15, 10, 64, 8, 8, 14, 15, 16, 17, - 15, 7, 2306, 62, 15, 15, 8, 8, 1934, 27, - 287, 15, 1020, 21, 8, 1239, 34, 5, 36, 1607, - 201, 92, 314, 1937, 8, 8, 213, 15, 16, 17, - 8, 8, 1620, 15, 9, 1043, 64, 2204, 129, 27, - 21, 305, 306, 307, 9, 8, 64, 8, 36, 8, - 67, 1639, 37, 15, 1642, 1643, 1644, 15, 129, 15, - 8, 15, 15, 15, 1652, 15, 15, 8, 129, 1293, - 7, 15, 2006, 1081, 92, 26, 64, 2381, 149, 2383, - 2384, 1305, 7, 21, 18, 21, 21, 26, 5, 15, - 1054, 37, 9, 10, 7, 7, 1684, 14, 15, 16, - 17, 1065, 8, 26, 92, 15, 15, 8, 63, 1333, - 27, 129, 8, 68, 21, 15, 1704, 34, 21, 36, - 15, 1345, 15, 15, 15, 15, 8, 21, 15, 5, - 201, 149, 21, 62, 1722, 90, 91, 15, 15, 2443, - 21, 129, 8, 7, 15, 63, 8, 64, 166, 8, - 68, 2181, 8, 8, 15, 255, 7, 166, 15, 239, - 208, 149, 16, 21, 2468, 2469, 15, 15, 1756, 1757, - 1394, 1395, 90, 91, 15, 92, 21, 8, 7, 191, - 15, 330, 15, 201, 7, 1409, 315, 331, 15, 144, - 15, 15, 1416, 1781, 1158, 15, 15, 15, 15, 154, - 15, 15, 1426, 15, 15, 15, 124, 15, 1432, 15, - 1434, 15, 129, 201, 246, 246, 246, 2521, 5, 246, - 246, 15, 8, 1447, 15, 21, 144, 8, 1192, 21, - 7, 21, 149, 21, 1198, 8, 154, 1461, 1202, 21, - 1204, 26, 1842, 15, 1208, 200, 1210, 10, 1472, 15, - 21, 14, 15, 16, 17, 1855, 2295, 2296, 173, 1859, - 8, 1485, 15, 15, 27, 255, 1490, 8, 1492, 5, - 7, 34, 21, 36, 10, 15, 231, 15, 14, 15, - 16, 17, 200, 5, 201, 7, 208, 71, 10, 244, - 18, 27, 14, 15, 16, 17, 8, 15, 34, 15, - 36, 64, 15, 7, 15, 27, 15, 21, 1896, 1897, - 1898, 1899, 34, 5, 36, 233, 21, 9, 21, 21, - 21, 1909, 15, 21, 16, 17, 244, 15, 64, 92, - 22, 23, 15, 25, 15, 21, 28, 29, 30, 31, - 32, 21, 64, 8, 15, 37, 2381, 2382, 1936, 2275, - 5, 15, 1952, 1361, 20, 9, 92, 26, 21, 2091, - 21, 21, 21, 21, 15, 21, 129, 15, 1592, 2101, - 92, 5, 8, 7, 1974, 9, 10, 26, 21, 26, - 26, 21, 16, 17, 8, 7, 149, 21, 22, 23, - 24, 25, 21, 129, 28, 29, 30, 31, 32, 33, - 15, 35, 1990, 37, 38, 26, 1994, 129, 1996, 1633, - 1634, 1635, 8, 149, 254, 15, 21, 21, 2006, 8, - 2020, 15, 132, 21, 7, 2013, 2014, 149, 7, 2029, - 166, 21, 353, 21, 37, 15, 7, 15, 201, 7, - 1664, 15, 255, 1667, 21, 434, 21, 2047, 15, 15, - 15, 1675, 15, 15, 15, 15, 15, 1465, 1422, 15, - 7, 15, 8, 21, 8, 201, 8, 7, 21, 8, - 7, 21, 45, 46, 463, 48, 49, 8, 7, 201, - 53, 470, 7, 1707, 352, 1709, 21, 15, 61, 478, - 329, 78, 8, 66, 7, 7, 69, 21, 351, 17, - 1508, 15, 21, 128, 77, 15, 79, 1471, 81, 15, - 15, 8, 15, 17, 2102, 7, 1524, 1525, 1526, 7, - 1528, 1529, 15, 2111, 1532, 2113, 2114, 2115, 2116, 2117, - 2118, 104, 7, 15, 16, 17, 896, 222, 1546, 1267, - 1992, 1868, 115, 2143, 1582, 27, 1090, 1511, 582, 1185, - 1514, 1586, 2253, 1517, 36, 1519, 1869, 1521, 593, 1523, - 1298, 590, 710, 933, 1616, 2258, 139, 2113, 1888, 933, - 2093, 1896, 1489, 1154, 1723, 1473, 5, 2163, 1990, 152, - 2182, 10, 64, 1026, 1046, 14, 15, 16, 17, 1409, - 1388, 1088, 1695, 2181, 2182, 1697, 75, 170, 27, 2571, - 589, 1917, 1939, 176, 711, 34, 1395, 36, 246, 246, - 92, 184, 792, 186, 246, 188, 463, 190, 246, 1432, - 1035, 1635, 1638, 2223, 197, 1071, 998, 1851, 838, 1102, - 1638, 1639, 657, 1174, 1858, 64, 659, 2305, 1862, 1863, - 2240, 214, 215, 5, 660, 1411, 1870, 129, 10, 1413, - 2142, 2519, 14, 15, 16, 17, 661, 2367, 1994, 232, - 1016, 1014, 662, 92, 653, 27, 239, 149, 807, 2491, - 2258, 1087, 34, 1041, 36, 1936, 2426, 1028, 40, 1976, - 253, 442, 788, 256, 2380, 2521, 2547, 1911, 2569, 2567, - 1698, 1699, 1700, 1917, 2313, 1997, 1487, 1748, 666, 504, - 129, 1449, 64, 761, 382, 1941, 1538, 2295, 2296, 415, - 2001, 2285, 1800, 1775, 1819, 1823, 1780, 2305, 1942, 201, - 149, 1813, 2027, 2026, 1224, 2336, 878, 1951, 2047, 2353, - 92, 5, 2206, 1557, 1552, 1564, 10, 1572, 2240, -1, - 14, 15, 16, 17, 1968, 1969, -1, -1, -1, -1, - -1, -1, -1, 27, -1, -1, 745, -1, -1, -1, - 34, -1, 36, -1, -1, -1, -1, 129, -1, -1, - -1, -1, 201, 1997, 763, -1, -1, -1, -1, -1, - -1, 2005, -1, 2371, -1, -1, -1, 149, 777, -1, - 64, 2015, -1, 2381, 2382, 2395, 785, 786, -1, -1, - -1, 790, -1, -1, 2404, -1, -1, 2031, 1772, 2033, - 2410, -1, 2412, 1777, -1, -1, -1, -1, 92, -1, - -1, -1, -1, -1, -1, -1, 1790, 2415, -1, 818, - -1, -1, 1840, 1841, -1, -1, -1, 826, -1, 201, - -1, -1, 1850, -1, -1, -1, 2446, 2447, 1812, 45, - 46, -1, 48, 49, 1818, 129, -1, 53, 1822, -1, - -1, -1, -1, -1, -1, 61, 855, -1, 857, -1, - 66, -1, -1, 69, -1, 149, -1, -1, -1, -1, - -1, 77, -1, 79, -1, 81, -1, 876, 877, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 887, 888, - -1, 2125, -1, 2491, 5, 2493, 2130, -1, 104, 10, - -1, -1, -1, 14, 15, 16, 17, 2141, 2142, 115, - -1, -1, 2146, -1, -1, 1933, 27, 201, -1, -1, - -1, 1939, 2156, 34, -1, 36, -1, -1, 2162, -1, - -1, -1, -1, 139, -1, -1, -1, -1, -1, 2549, - -1, -1, -1, -1, 2554, -1, 152, -1, -1, -1, - -1, -1, -1, 64, 1972, -1, -1, 2567, -1, 2569, - 2570, -1, -1, -1, 170, -1, -1, -1, 967, 968, - 176, 2205, 2582, -1, -1, -1, -1, -1, 184, -1, - 186, 92, 188, -1, 190, -1, -1, -1, -1, -1, - -1, 197, -1, -1, 993, 994, -1, -1, 2232, -1, - -1, -1, -1, -1, -1, 5, -1, -1, 214, 215, - 10, -1, -1, 2247, 14, 15, 16, 17, 129, 2253, - -1, 1020, -1, -1, -1, -1, 232, 27, -1, 2003, - -1, -1, -1, 2051, 34, -1, 36, -1, 149, -1, - -1, -1, -1, 2017, 1043, -1, -1, 253, 2022, -1, - 256, 2025, -1, -1, -1, 2289, -1, -1, -1, -1, - -1, 2035, -1, 2037, 64, 2039, -1, 2041, -1, -1, - 2304, -1, -1, -1, -1, 5, -1, -1, -1, 9, - -1, -1, 1081, 5, -1, 15, 16, 17, -1, -1, - 201, 621, 92, 15, 16, 17, -1, 27, -1, 5, - -1, -1, -1, 9, -1, 27, 36, -1, -1, 15, - 16, 17, -1, -1, 36, -1, -1, 2135, -1, -1, - -1, 27, -1, -1, -1, -1, -1, -1, -1, 129, - 36, -1, 2366, 2367, 64, -1, 2370, -1, 2372, -1, - -1, -1, 64, -1, -1, -1, -1, -1, -1, 149, - -1, -1, -1, 2387, 2388, -1, 2390, 5, 64, -1, - -1, 9, 92, -1, -1, -1, 2400, -1, 16, 17, - 92, -1, 1171, -1, 2408, 23, -1, 25, -1, -1, - 28, 29, 30, 31, 32, -1, 92, -1, 2206, 37, - -1, -1, 2426, -1, -1, -1, -1, -1, -1, 129, - -1, 201, -1, -1, -1, -1, 7, 129, -1, 10, - -1, -1, 2230, 14, 15, 16, 17, -1, -1, 149, - 2454, -1, -1, 129, -1, -1, 27, 149, 2462, 2463, - -1, -1, -1, 34, -1, 36, 166, -1, -1, 2473, - -1, 771, 2476, 149, -1, 775, 2480, -1, 7, -1, - -1, 10, -1, -1, -1, 14, 15, 16, 17, -1, - -1, -1, -1, 64, -1, -1, -1, -1, 27, -1, - -1, 201, -1, -1, -1, 34, 5, 36, 2512, 201, - 9, -1, -1, -1, -1, 2519, -1, 16, 17, 2523, - -1, 92, 822, 2527, 23, 201, 25, 2531, 1297, 28, - 29, 30, 31, 32, 834, 64, -1, -1, 37, -1, - -1, 2545, 2546, 2547, -1, -1, -1, 7, -1, 78, - 10, -1, -1, -1, 14, 15, 16, 17, 129, 2347, - 2348, -1, -1, 92, -1, -1, -1, 27, -1, -1, - -1, -1, -1, -1, 34, -1, 36, -1, 149, -1, - -1, 881, 882, 883, 884, -1, 886, -1, -1, -1, - -1, -1, 1361, -1, -1, 166, -1, -1, -1, -1, - 129, -1, -1, -1, 64, -1, -1, 7, -1, -1, - 10, 2399, -1, -1, 14, 15, 16, 17, -1, -1, - 149, -1, -1, -1, -1, -1, -1, 27, -1, -1, - 201, -1, 92, -1, 34, -1, 36, -1, 938, -1, - 940, 941, 942, 943, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1427, -1, - 1429, -1, -1, -1, 64, -1, 2454, -1, -1, 129, - -1, -1, 201, -1, -1, -1, -1, -1, -1, 1448, - 1449, -1, -1, -1, -1, -1, -1, -1, -1, 149, - 1459, -1, 92, -1, -1, -1, 1465, -1, 1467, 999, - -1, 1470, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1482, -1, -1, -1, 1486, 1487, -1, - -1, 1021, -1, -1, -1, -1, -1, -1, -1, 129, - -1, 1031, 12, -1, -1, -1, -1, -1, 18, 1508, - 44, 201, -1, -1, -1, -1, 1515, -1, 28, 149, - -1, 31, 1052, -1, 34, 1524, 1525, 1526, -1, 1528, - 1529, 41, -1, 1532, -1, 45, -1, -1, 1068, 49, - -1, -1, 1072, 1073, -1, -1, -1, 1546, -1, -1, - -1, -1, -1, 87, -1, -1, -1, 67, -1, 93, - -1, 71, 72, -1, -1, -1, -1, 77, 78, -1, - -1, 201, -1, 83, 84, -1, 86, 87, 88, 89, - -1, 91, -1, -1, -1, 119, -1, -1, -1, -1, - 100, -1, -1, -1, -1, 105, -1, 107, -1, -1, - 1130, 111, -1, -1, -1, 115, -1, 117, 1607, 143, - -1, 145, -1, -1, 124, -1, -1, -1, 128, -1, - -1, -1, 132, -1, 134, -1, -1, -1, -1, -1, - -1, 141, 142, -1, -1, 145, 146, -1, -1, -1, - 1639, 151, -1, 153, 178, -1, -1, 157, -1, 183, - -1, -1, -1, 187, -1, -1, -1, 191, 1188, 1189, - 194, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 184, -1, 186, 7, -1, -1, - 10, -1, 216, 193, 14, 15, 16, 17, -1, -1, - -1, -1, -1, -1, -1, -1, 230, 27, -1, 1698, - 1699, 1700, 236, -1, 34, -1, 36, -1, -1, -1, - -1, -1, -1, 7, -1, -1, 10, -1, -1, -1, - 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 27, 64, -1, -1, -1, -1, -1, - 34, -1, 36, -1, -1, -1, -1, -1, 7, 1748, - -1, 10, -1, -1, -1, 14, 15, 16, 17, -1, - -1, -1, 92, -1, -1, -1, -1, -1, 27, -1, - 64, -1, -1, -1, -1, 34, -1, 36, -1, 1309, - 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, - 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 92, 129, - -1, -1, -1, -1, -1, 64, -1, 7, -1, -1, - 10, -1, -1, 1343, 14, 15, 16, 17, -1, 149, - 1350, -1, 1352, -1, -1, -1, -1, 27, -1, -1, - -1, -1, 1362, 92, 34, 129, 36, -1, -1, -1, - -1, 1840, 1841, -1, -1, 1844, 1845, 1846, -1, 1848, - 1849, 1850, -1, -1, -1, 149, -1, 1856, 1857, -1, - -1, -1, -1, 1393, 64, -1, -1, -1, -1, -1, - 129, 201, 10, -1, -1, -1, 14, 15, 16, 17, - -1, -1, -1, -1, 1883, 1884, 1885, 1886, 1887, 27, - 149, 5, 92, -1, 404, 9, 34, -1, 36, -1, - -1, -1, 16, 17, -1, -1, -1, 201, 22, 23, - 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, - -1, 35, -1, 37, 38, -1, 64, -1, -1, 129, - -1, -1, 1462, 5, 1933, -1, -1, 9, 10, -1, - 1939, -1, 201, -1, 16, 17, 1476, -1, -1, 149, - 22, 23, 24, 25, 92, -1, 28, 29, 30, 31, - 32, 33, 34, 35, -1, 37, 38, 1497, -1, -1, - -1, -1, -1, 1972, 1973, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 129, -1, -1, -1, -1, 1995, -1, 508, -1, - -1, 201, -1, -1, -1, -1, -1, 2006, -1, -1, - -1, 149, 5, 1543, 7, -1, 9, 10, -1, -1, - -1, -1, -1, 16, 17, -1, -1, -1, 2027, 22, - 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, - 33, -1, 35, -1, 37, 38, -1, -1, -1, -1, - -1, -1, 2051, 2052, 5, -1, -1, 8, 9, 10, - -1, 1591, -1, 201, -1, 16, 17, -1, -1, -1, - -1, 22, 23, 24, 25, -1, -1, 28, 29, 30, - 31, 32, 33, -1, 35, -1, 37, 38, -1, -1, - -1, -1, -1, 5, 1624, -1, 8, 9, 10, -1, - -1, 1631, -1, 2102, 16, 17, -1, 1637, -1, -1, - 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, - 32, 33, -1, 35, -1, 37, 38, -1, -1, -1, - 1660, -1, -1, 2132, -1, -1, 2135, -1, 2137, -1, - -1, -1, 1672, -1, -1, -1, -1, -1, -1, -1, - 1680, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1690, -1, -1, 1693, -1, -1, -1, -1, 5, -1, - -1, 8, 9, 10, -1, -1, -1, -1, 1708, 16, - 17, -1, -1, -1, -1, 22, 23, 24, 25, -1, - 1720, 28, 29, 30, 31, 32, 33, -1, 35, -1, - 37, 38, -1, -1, 1734, -1, -1, 2206, -1, 5, - 1740, -1, -1, 9, 10, -1, 1746, -1, -1, -1, - 16, 17, -1, -1, -1, 21, 22, 23, 24, 25, - -1, 2230, 28, 29, 30, 31, 32, 33, -1, 35, - 5, 37, 38, -1, 9, 10, -1, -1, -1, -1, - -1, 16, 17, -1, -1, -1, 21, 22, 23, 24, - 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, - 35, -1, 37, 38, -1, -1, 5, -1, 7, -1, - 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, - -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 2306, 37, 38, - 5, 2310, 7, -1, 9, 10, -1, -1, -1, -1, + 50, 486, 378, 630, 493, 494, 495, 496, 483, 392, + 1024, 375, 1450, 887, 763, 541, 887, 918, 968, 1488, + 750, 387, 1131, 388, 62, 63, 888, 634, 1330, 401, + 430, 69, 967, 968, 877, 256, 1595, 656, 1301, 411, + 261, 413, 472, 1301, 209, 256, 418, 419, 420, 974, + 261, 1851, 1484, 1853, 426, 2012, 1508, 429, 467, 431, + 98, 258, 76, 1601, 261, 262, 1601, 1147, 118, 433, + 1625, 1972, 122, 7, 63, 1612, 1064, 480, 645, 2080, + 743, 696, 845, 1363, 5, 99, 450, 845, 15, 1520, + 1900, 1520, 468, 2190, 1621, 16, 17, 712, 1520, 1626, + 464, 22, 116, 24, 1520, 469, 1520, 1520, 1667, 473, + 388, 475, 33, 116, 35, 1520, 37, 7, 175, 609, + 71, 0, 1, 8, 488, 8, 7, 1703, 1704, 1705, + 144, 15, 655, 656, 47, 20, 500, 211, 502, 15, + 37, 15, 129, 191, 998, 509, 1020, 878, 15, 1020, + 5, 182, 8, 182, 191, 15, 673, 194, 1172, 5, + 8, 41, 64, 2400, 477, 655, 656, 241, 3, 1043, + 406, 1159, 20, 904, 15, 16, 17, 21, 5, 166, + 7, 15, 116, 15, 407, 8, 224, 8, 315, 116, + 169, 26, 8, 1518, 15, 1520, 8, 1522, 5, 1524, + 513, 1518, 129, 1520, 1518, 1522, 1520, 637, 1522, 574, + 8, 641, 58, 434, 21, 8, 129, 21, 648, 584, + 585, 586, 587, 350, 116, 37, 116, 129, 843, 208, + 8, 116, 129, 800, 282, 116, 15, 8, 159, 854, + 86, 162, 463, 15, 480, 1547, 129, 149, 5, 470, + 64, 472, 2489, 129, 257, 129, 871, 208, 15, 129, + 116, 472, 129, 2360, 177, 149, 323, 633, 116, 129, + 1846, 150, 129, 1849, 129, 1518, 183, 1520, 763, 1522, + 126, 1524, 149, 1184, 191, 129, 315, 318, 129, 318, + 905, 137, 809, 116, 15, 129, 519, 129, 521, 2109, + 116, 208, 129, 282, 919, 528, 529, 530, 149, 674, + 588, 534, 535, 536, 537, 172, 539, 540, 116, 165, + 692, 724, 129, 257, 690, 129, 247, 1436, 129, 209, + 257, 15, 697, 818, 647, 373, 374, 650, 116, 1602, + 1603, 379, 380, 381, 382, 116, 384, 385, 228, 1904, + 388, 751, 390, 391, 392, 393, 8, 129, 396, 1294, + 8, 399, 969, 401, 1644, 8, 1903, 257, 406, 799, + 1295, 409, 257, 411, 1901, 413, 257, 20, 257, 417, + 418, 419, 420, 1852, 305, 306, 307, 1818, 426, 1818, + 428, 429, 1007, 431, 8, 2296, 1818, 1012, 8, 437, + 438, 257, 1818, 1979, 1818, 1818, 444, 445, 811, 257, + 1335, 449, 258, 1818, 1428, 982, 637, 984, 456, 1182, + 641, 459, 1171, 1086, 991, 1183, 637, 648, 417, 794, + 641, 8, 653, 471, 257, 1449, 474, 648, 1053, 489, + 840, 257, 480, 481, 482, 483, 257, 485, 486, 356, + 357, 1078, 15, 15, 492, 493, 494, 495, 496, 257, + 498, 254, 94, 501, 116, 503, 504, 246, 116, 507, + 8, 8, 510, 116, 839, 998, 514, 842, 8, 257, + 1805, 92, 2058, 1408, 1103, 798, 257, 800, 1805, 8, + 20, 1805, 8, 1818, 544, 191, 8, 1485, 548, 1824, + 8, 1818, 116, 1828, 1818, 543, 915, 1824, 998, 8, + 1824, 5, 1592, 1593, 1368, 1369, 1370, 129, 37, 569, + 3, 20, 560, 7, 2525, 2526, 576, 2484, 7, 8, + 568, 15, 15, 571, 572, 573, 574, 149, 149, 116, + 1842, 579, 580, 37, 2013, 583, 584, 585, 586, 587, + 916, 565, 566, 591, 592, 985, 986, 987, 988, 989, + 8, 148, 1805, 577, 2102, 2120, 129, 2102, 2144, 2021, + 2002, 8, 769, 2474, 2111, 1818, 8, 8, 799, 116, + 1103, 1824, 23, 15, 1151, 1828, 116, 8, 799, 812, + 201, 266, 288, 180, 759, 2395, 37, 963, 230, 20, + 116, 147, 148, 299, 116, 257, 1905, 1906, 116, 257, + 8, 128, 287, 1103, 257, 665, 95, 116, 8, 657, + 658, 659, 660, 661, 662, 663, 8, 3, 666, 2530, + 16, 17, 1895, 683, 180, 5, 674, 1895, 7, 9, + 157, 8, 1900, 257, 23, 124, 8, 43, 191, 5, + 26, 8, 284, 9, 692, 876, 877, 695, 37, 697, + 1275, 23, 5, 295, 21, 208, 887, 37, 116, 1035, + 37, 67, 15, 8, 1548, 37, 128, 1548, 1293, 1045, + 257, 37, 720, 1526, 1527, 1528, 82, 1530, 1531, 1308, + 3, 87, 88, 743, 5, 116, 7, 129, 94, 2542, + 217, 1450, 1451, 8, 1434, 157, 92, 745, 21, 747, + 760, 191, 750, 2556, 2269, 1640, 195, 3, 116, 8, + 257, 3, 8, 202, 774, 763, 3, 257, 208, 147, + 148, 781, 63, 8, 116, 773, 18, 68, 15, 282, + 8, 257, 285, 8, 782, 257, 784, 290, 8, 257, + 129, 789, 244, 791, 1679, 298, 794, 8, 257, 90, + 91, 21, 180, 149, 985, 986, 987, 988, 989, 807, + 21, 8, 993, 994, 985, 986, 987, 988, 989, 8, + 818, 231, 232, 2359, 21, 1308, 824, 237, 1355, 1356, + 1357, 1358, 1359, 1647, 1648, 1649, 3, 847, 8, 1020, + 8, 839, 282, 8, 842, 285, 8, 1422, 15, 257, + 848, 21, 2371, 144, 8, 201, 21, 5, 1308, 21, + 1310, 9, 1043, 154, 2123, 2124, 15, 21, 16, 17, + 880, 1054, 228, 89, 2410, 23, 257, 8, 330, 889, + 890, 891, 1065, 8, 894, 1368, 1369, 1370, 8, 37, + 21, 2109, 2321, 345, 346, 347, 21, 895, 896, 257, + 1081, 21, 15, 259, 2580, 2581, 122, 1267, 18, 200, + 5, 8, 8, 911, 9, 257, 26, 2593, 1368, 1369, + 1370, 16, 17, 897, 934, 21, 21, 338, 23, 63, + 341, 342, 343, 8, 68, 933, 314, 315, 912, 155, + 318, 319, 37, 354, 355, 8, 21, 303, 8, 8, + 8, 7, 8, 1848, 5, 8, 90, 91, 9, 3, + 8, 21, 21, 21, 2393, 16, 17, 8, 21, 185, + 21, 15, 23, 1298, 8, 1158, 8, 22, 8, 24, + 1890, 1891, 1892, 1893, 1894, 8, 37, 21, 33, 21, + 35, 21, 3, 8, 2392, 1890, 1891, 1892, 1893, 1894, + 8, 8, 218, 8, 15, 2267, 21, 1017, 1344, 1192, + 144, 1845, 8, 21, 21, 1198, 1342, 1878, 1016, 1202, + 154, 1204, 1348, 1857, 1022, 1208, 1857, 1210, 3, 1429, + 1028, 1431, 8, 1855, 1856, 8, 252, 1727, 8, 1924, + 15, 1863, 1864, 1041, 1753, 21, 5, 8, 21, 7, + 9, 21, 1388, 2482, 8, 1940, 8, 16, 17, 8, + 21, 1946, 21, 1948, 23, 1401, 200, 21, 1066, 21, + 2139, 8, 1639, 1071, 12, 1417, 1086, 1419, 37, 8, + 18, 1656, 2480, 15, 1094, 8, 3, 8, 1414, 1087, + 28, 8, 21, 31, 63, 1427, 34, 231, 21, 68, + 21, 15, 8, 41, 1102, 8, 1940, 45, 15, 1940, + 244, 49, 1946, 158, 159, 21, 161, 162, 21, 15, + 5, 90, 91, 149, 9, 8, 7, 8, 1138, 67, + 41, 16, 17, 71, 72, 15, 1460, 149, 21, 77, + 78, 8, 1851, 1718, 1853, 83, 84, 192, 86, 87, + 88, 89, 37, 91, 21, 124, 15, 8, 15, 8, + 71, 8, 100, 8, 1647, 1648, 1649, 105, 8, 107, + 21, 1181, 21, 111, 21, 144, 21, 115, 8, 117, + 8, 21, 1363, 1507, 7, 154, 124, 8, 8, 234, + 128, 21, 8, 21, 132, 8, 134, 1647, 1648, 1649, + 21, 21, 247, 141, 142, 21, 5, 145, 146, 15, + 9, 15, 8, 151, 1224, 153, 8, 16, 17, 157, + 1546, 8, 8, 8, 135, 21, 1236, 1237, 1238, 21, + 7, 200, 8, 15, 21, 21, 21, 8, 37, 16, + 17, 1424, 15, 8, 8, 21, 184, 8, 186, 8, + 21, 8, 1262, 1643, 8, 193, 21, 21, 169, 84, + 21, 8, 21, 8, 233, 8, 8, 21, 256, 679, + 1268, 1269, 8, 261, 21, 244, 21, 15, 21, 21, + 191, 1767, 15, 1769, 1770, 21, 1467, 15, 8, 8, + 1473, 16, 17, 15, 1292, 1781, 21, 208, 209, 15, + 1298, 21, 21, 8, 1302, 1791, 84, 1793, 1634, 2378, + 221, 8, 223, 224, 8, 226, 21, 15, 229, 858, + 859, 8, 861, 37, 21, 15, 8, 21, 3, 1510, + 1513, 15, 1658, 1516, 21, 1922, 1519, 15, 1521, 21, + 1523, 2315, 1525, 8, 1670, 1526, 1527, 1528, 1674, 1530, + 1531, 8, 15, 1534, 15, 8, 21, 1689, 124, 8, + 2125, 2126, 2127, 22, 21, 24, 191, 1548, 21, 8, + 15, 282, 21, 5, 33, 1373, 35, 9, 10, 2264, + 15, 2215, 21, 208, 16, 17, 1647, 1648, 1649, 15, + 22, 23, 24, 25, 26, 8, 28, 29, 30, 31, + 32, 33, 1929, 35, 2289, 37, 38, 2241, 21, 320, + 2241, 322, 8, 191, 8, 8, 7, 8, 1416, 1417, + 15, 1419, 8, 15, 8, 21, 8, 21, 21, 1427, + 208, 1429, 8, 1431, 8, 21, 1434, 21, 15, 21, + 265, 8, 15, 8, 15, 21, 856, 21, 8, 15, + 860, 251, 8, 15, 21, 865, 21, 282, 868, 869, + 285, 21, 1643, 1644, 289, 21, 404, 8, 1466, 8, + 129, 8, 1643, 1483, 299, 15, 8, 1475, 7, 304, + 21, 15, 21, 1481, 21, 15, 5, 265, 7, 21, + 124, 10, 1502, 1491, 1504, 14, 15, 16, 17, 158, + 159, 15, 161, 162, 282, 8, 246, 285, 27, 239, + 1508, 289, 290, 21, 924, 34, 926, 36, 21, 1529, + 298, 299, 1703, 1704, 1705, 246, 304, 15, 16, 17, + 1540, 5, 26, 192, 351, 352, 10, 316, 317, 27, + 14, 15, 16, 17, 8, 64, 1556, 15, 36, 2523, + 7, 1561, 240, 27, 348, 349, 16, 17, 8, 1569, + 34, 15, 36, 1602, 1603, 993, 994, 1577, 247, 248, + 508, 2576, 2577, 92, 15, 234, 64, 1587, 15, 1589, + 2457, 2458, 866, 867, 1582, 8, 15, 15, 247, 8, + 64, 149, 175, 15, 1777, 8, 8, 15, 8, 1782, + 8, 26, 7, 62, 92, 1941, 15, 8, 2317, 15, + 129, 15, 1795, 8, 1612, 287, 15, 8, 92, 21, + 1944, 314, 8, 8, 213, 5, 2213, 1625, 15, 9, + 149, 8, 8, 64, 1817, 15, 16, 17, 9, 129, + 1823, 129, 21, 9, 1827, 8, 1644, 27, 8, 1647, + 1648, 1649, 452, 8, 15, 129, 36, 15, 15, 1657, + 67, 149, 37, 15, 1845, 1846, 15, 15, 1849, 15, + 2013, 15, 8, 8, 129, 149, 1857, 203, 204, 205, + 206, 207, 201, 2392, 64, 2394, 2395, 487, 5, 26, + 15, 1689, 166, 7, 7, 21, 18, 497, 15, 16, + 17, 44, 21, 21, 37, 26, 7, 15, 7, 15, + 27, 1709, 92, 201, 5, 8, 26, 15, 9, 36, + 8, 8, 5, 15, 21, 16, 17, 201, 8, 1727, + 15, 22, 23, 15, 25, 21, 15, 28, 29, 30, + 31, 32, 15, 15, 87, 2454, 37, 64, 15, 129, + 550, 551, 552, 553, 554, 2190, 21, 21, 15, 1940, + 15, 21, 62, 1761, 1762, 1946, 8, 7, 15, 149, + 2479, 2480, 8, 8, 2100, 92, 119, 8, 8, 255, + 7, 15, 166, 1193, 2110, 8, 166, 15, 1786, 1199, + 239, 16, 21, 1203, 15, 1205, 1206, 1207, 1979, 1209, + 143, 1211, 145, 15, 15, 208, 21, 7, 191, 609, + 610, 611, 129, 613, 15, 330, 315, 15, 331, 15, + 620, 201, 15, 2532, 15, 15, 15, 2010, 15, 15, + 15, 15, 149, 15, 634, 178, 15, 1847, 15, 15, + 183, 2024, 15, 15, 187, 15, 2029, 15, 191, 2032, + 7, 194, 1862, 246, 246, 5, 1866, 2306, 2307, 2042, + 8, 2044, 15, 2046, 246, 2048, 15, 21, 246, 21, + 5, 8, 246, 216, 9, 10, 676, 2058, 7, 14, + 15, 16, 17, 21, 201, 21, 8, 230, 21, 15, + 21, 691, 27, 236, 26, 15, 173, 8, 15, 34, + 15, 36, 255, 8, 7, 1903, 1904, 1905, 1906, 21, + 71, 15, 208, 5, 15, 8, 18, 9, 1916, 719, + 15, 15, 21, 15, 16, 17, 726, 15, 15, 64, + 15, 21, 732, 733, 15, 27, 15, 21, 21, 21, + 149, 21, 5, 15, 36, 1943, 9, 2392, 2393, 1959, + 2286, 15, 21, 16, 17, 21, 8, 92, 15, 5, + 23, 15, 25, 2144, 7, 28, 29, 30, 31, 32, + 9, 1981, 64, 20, 37, 913, 5, 26, 778, 21, + 21, 21, 15, 21, 21, 21, 15, 16, 17, 15, + 8, 26, 1402, 21, 129, 26, 26, 21, 27, 1997, + 92, 21, 8, 2001, 7, 2003, 21, 36, 15, 26, + 8, 254, 21, 15, 149, 2013, 21, 2027, 15, 5, + 8, 21, 2020, 2021, 10, 132, 2036, 7, 14, 15, + 16, 17, 7, 37, 2215, 64, 21, 129, 21, 15, + 7, 27, 15, 7, 2054, 255, 353, 21, 34, 21, + 36, 851, 852, 15, 16, 17, 15, 149, 15, 15, + 2241, 15, 15, 92, 15, 27, 201, 1477, 15, 15, + 15, 15, 7, 21, 36, 1013, 8, 8, 64, 5, + 8, 7, 7, 21, 10, 8, 7, 21, 14, 15, + 16, 17, 8, 15, 7, 7, 15, 59, 352, 78, + 129, 27, 64, 21, 8, 329, 92, 351, 34, 201, + 36, 7, 7, 2111, 21, 15, 15, 15, 15, 21, + 149, 8, 2120, 17, 2122, 2123, 2124, 2125, 2126, 2127, + 92, 17, 15, 7, 7, 15, 7, 128, 64, 1269, + 896, 1999, 2152, 129, 944, 945, 946, 947, 948, 949, + 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, + 960, 961, 962, 149, 222, 1875, 92, 1587, 1185, 969, + 1090, 582, 201, 1591, 974, 2264, 1876, 2358, 2359, 5, + 166, 981, 710, 983, 10, 1300, 1621, 149, 14, 15, + 16, 17, 2190, 2191, 590, 593, 933, 2269, 998, 2122, + 1903, 27, 933, 129, 1895, 2102, 1491, 1154, 34, 1728, + 36, 2172, 1997, 1475, 40, 201, 2191, 1026, 1411, 1046, + 1088, 1390, 2232, 149, 1024, 1700, 75, 1924, 1702, 2410, + 1030, 2582, 1946, 711, 246, 246, 1397, 463, 64, 201, + 1434, 2251, 792, 1643, 1035, 246, 1046, 5, 998, 1071, + 246, 1640, 10, 838, 1102, 1174, 14, 15, 16, 17, + 657, 661, 2316, 1413, 1415, 659, 92, 2151, 2530, 27, + 660, 2269, 2001, 662, 2378, 201, 34, 1016, 36, 1014, + 807, 2502, 1087, 5, 2465, 1943, 1041, 1028, 10, 2437, + 1983, 442, 14, 15, 16, 17, 788, 2391, 2532, 2558, + 2578, 2580, 2324, 129, 1753, 27, 64, 1489, 2306, 2307, + 2004, 1451, 34, 761, 36, 666, 504, 382, 2316, 1948, + 2008, 1540, 1805, 149, 415, 2296, 1828, 1780, 1824, 45, + 46, 1131, 48, 49, 92, 1785, 1818, 53, 1276, 2034, + 2347, 2033, 64, 878, 2364, 61, 1224, 2054, 1556, 1149, + 66, 2215, 1561, 69, 1569, 1577, 2251, -1, -1, -1, + -1, 77, -1, 79, -1, 81, -1, -1, -1, -1, + 92, 129, 1172, 1173, 1174, 201, -1, -1, -1, -1, + -1, -1, -1, -1, 2382, -1, -1, -1, 104, -1, + 434, 149, -1, -1, 2392, 2393, 2406, -1, -1, 115, + -1, -1, -1, -1, -1, 2415, -1, 129, -1, -1, + -1, 2421, -1, 2423, -1, -1, -1, -1, -1, 463, + -1, 45, 46, 139, 48, 49, 470, 149, 2426, 53, + -1, -1, -1, -1, 478, -1, 152, 61, -1, 1239, + -1, -1, 66, 201, -1, 69, -1, 2457, 2458, -1, + -1, -1, -1, 77, 170, 79, 7, 81, -1, 10, + 176, -1, -1, 14, 15, 16, 17, -1, 184, -1, + 186, -1, 188, -1, 190, -1, 27, -1, -1, 201, + 104, 197, -1, 34, -1, 36, -1, -1, -1, -1, + -1, 115, -1, -1, -1, 1295, -1, -1, 214, 215, + 5, -1, -1, -1, 2502, 10, 2504, 1307, -1, 14, + 15, 16, 17, 64, -1, 139, 232, -1, -1, -1, + -1, -1, 27, 239, -1, -1, -1, -1, 152, 34, + -1, 36, -1, -1, -1, 1335, -1, 253, -1, -1, + 256, 92, -1, -1, -1, 589, 170, 1347, -1, -1, + 2560, -1, 176, -1, -1, 2565, -1, -1, -1, 64, + 184, -1, 186, -1, 188, -1, 190, -1, 2578, -1, + 2580, 2581, -1, 197, -1, -1, -1, -1, 129, -1, + -1, -1, -1, 2593, -1, -1, -1, 92, -1, -1, + 214, 215, -1, -1, 5, -1, 1396, 1397, 149, 10, + -1, -1, -1, 14, 15, 16, 17, -1, 232, 653, + -1, 1411, -1, -1, -1, 166, 27, -1, 1418, -1, + -1, -1, -1, 34, 129, 36, -1, -1, 1428, 253, + -1, -1, 256, -1, 1434, -1, 1436, -1, -1, -1, + -1, -1, -1, -1, 149, -1, -1, -1, -1, 1449, + 201, 7, -1, 64, 10, -1, -1, -1, 14, 15, + 16, 17, -1, 1463, -1, -1, -1, -1, -1, -1, + -1, 27, -1, -1, 1474, -1, -1, -1, 34, 5, + 36, 92, -1, 9, -1, -1, -1, 1487, -1, -1, + 16, 17, 1492, -1, 1494, -1, 201, 23, -1, 25, + -1, 745, 28, 29, 30, 31, 32, -1, 64, -1, + -1, 37, -1, -1, -1, -1, -1, -1, 129, 763, + -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 777, -1, -1, 92, -1, 149, -1, + -1, 785, 786, -1, -1, -1, 790, -1, -1, 7, + -1, -1, 10, -1, -1, -1, 14, 15, 16, 17, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, + -1, -1, -1, 129, 818, -1, 34, -1, 36, -1, + -1, -1, 826, -1, -1, -1, -1, -1, -1, -1, + 201, -1, -1, 149, -1, -1, -1, 1597, -1, -1, + 7, -1, -1, 10, -1, -1, 64, 14, 15, 16, + 17, 855, -1, 857, -1, -1, -1, -1, -1, -1, + 27, -1, -1, -1, -1, -1, -1, 34, -1, 36, + -1, -1, 876, 877, 92, -1, -1, -1, 1638, 1639, + 1640, -1, -1, 887, 888, 201, 7, -1, -1, 10, + -1, -1, -1, 14, 15, 16, 17, 64, -1, -1, + -1, -1, -1, -1, -1, -1, 27, -1, -1, 1669, + -1, 129, 1672, 34, -1, 36, -1, -1, -1, 7, + 1680, -1, 10, -1, -1, 92, 14, 15, 16, 17, + -1, 149, -1, -1, -1, -1, -1, -1, -1, 27, + -1, -1, -1, 64, -1, -1, 34, -1, 36, -1, + 7, -1, 1712, 10, 1714, -1, -1, 14, 15, 16, + 17, -1, 129, 967, 968, 7, -1, -1, 10, 44, + 27, 92, 14, 15, 16, 17, 64, 34, -1, 36, + -1, -1, 149, 201, -1, 27, -1, -1, -1, 993, + 994, -1, 34, -1, 36, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 92, -1, -1, 64, 129, -1, + -1, -1, 87, -1, -1, -1, 1020, -1, 93, -1, + -1, -1, 64, -1, -1, -1, -1, -1, 149, -1, + -1, -1, -1, -1, 201, 92, -1, -1, -1, 1043, + -1, 129, -1, -1, 119, -1, -1, 10, -1, -1, + 92, 14, 15, 16, 17, -1, -1, -1, -1, -1, + -1, 149, -1, -1, 27, -1, -1, -1, 143, -1, + 145, 34, 129, 36, -1, -1, -1, 1081, 10, -1, + 201, -1, 14, 15, 16, 17, -1, 129, -1, -1, + -1, -1, 149, -1, -1, 27, -1, -1, 1858, -1, + -1, 64, 34, 178, 36, 1865, -1, 149, 183, 1869, + 1870, -1, 187, 201, -1, -1, 191, 1877, -1, 194, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, + -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, + -1, 216, -1, -1, 201, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 230, -1, -1, 1918, 201, + 92, 236, -1, -1, 1924, -1, 129, 1171, -1, -1, + -1, -1, -1, -1, -1, -1, 5, -1, 7, -1, + 9, 10, -1, -1, -1, -1, 149, 16, 17, 1949, + -1, -1, 21, 22, 23, 24, 25, 129, 1958, 28, + 29, 30, 31, 32, 33, -1, 35, 5, 37, 38, + -1, 9, 10, -1, -1, 1975, 1976, 149, 16, 17, + -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, + 28, 29, 30, 31, 32, 33, 34, 35, 201, 37, + 38, -1, -1, -1, 2004, -1, -1, -1, -1, -1, + -1, -1, 2012, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 2022, -1, -1, -1, -1, -1, -1, 201, + -1, -1, -1, -1, -1, -1, -1, -1, 2038, 5, + 2040, 7, -1, 9, 10, -1, -1, -1, -1, -1, + 16, 17, -1, -1, -1, 1299, 22, 23, 24, 25, + -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, + 5, 37, 38, 8, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 5, 37, 38, 1874, 9, 10, -1, 2347, 2348, - -1, -1, 16, 17, -1, -1, -1, 21, 22, 23, + 35, 621, 37, 38, -1, 5, -1, -1, 8, 9, + 10, -1, -1, -1, -1, -1, 16, 17, -1, 1363, + -1, -1, 22, 23, 24, 25, -1, -1, 28, 29, + 30, 31, 32, 33, 2134, 35, -1, 37, 38, 2139, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, + 2150, 2151, 8, 9, 10, 2155, -1, -1, -1, -1, + 16, 17, -1, -1, -1, 2165, 22, 23, 24, 25, + -1, 2171, 28, 29, 30, 31, 32, 33, -1, 35, + -1, 37, 38, -1, -1, 1429, -1, 1431, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1450, 1451, -1, 5, + -1, -1, -1, 9, 2214, -1, -1, 1461, -1, -1, + 16, 17, -1, 1467, -1, 1469, 22, 23, 1472, 25, + -1, -1, 28, 29, 30, 31, 32, -1, -1, 35, + 1484, 37, 38, 2243, 1488, 1489, -1, -1, -1, -1, + -1, 771, -1, -1, -1, 775, -1, -1, 2258, -1, + -1, -1, -1, -1, 2264, -1, 1510, -1, -1, -1, + -1, -1, -1, 1517, -1, -1, -1, -1, -1, -1, + -1, -1, 1526, 1527, 1528, -1, 1530, 1531, -1, -1, + 1534, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2300, 5, 822, -1, 1548, 9, 10, -1, -1, -1, + -1, -1, 16, 17, 834, 2315, -1, 21, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, -1, -1, -1, -1, -1, - -1, -1, 2381, 2382, 2383, 2384, -1, -1, 1918, -1, - 2389, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2399, 5, -1, 913, -1, 9, 10, -1, 1938, -1, - 1940, -1, 16, 17, 1944, -1, -1, 21, 22, 23, - 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, - -1, 35, -1, 37, 38, -1, -1, 1967, -1, -1, - 1970, -1, -1, -1, 2443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1992, -1, -1, -1, -1, -1, -1, 2468, - 2469, -1, 2471, -1, -1, -1, -1, -1, -1, 2478, - -1, 5, -1, -1, -1, 9, 10, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 881, 882, 883, 884, -1, 886, -1, 1612, -1, + -1, -1, -1, -1, -1, -1, -1, 2377, 2378, -1, + -1, 2381, -1, 2383, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 2398, 2399, + 1644, 2401, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2411, -1, -1, -1, -1, -1, -1, 938, 2419, + 940, 941, 942, 943, 5, -1, -1, -1, 9, 10, + -1, -1, -1, -1, -1, 16, 17, 2437, -1, -1, + 21, 22, 23, 24, 25, -1, -1, 28, 29, 30, + 31, 32, 33, -1, 35, -1, 37, 38, -1, 1703, + 1704, 1705, -1, -1, -1, 2465, -1, -1, -1, -1, + -1, -1, -1, 2473, 2474, -1, -1, -1, -1, 999, + -1, -1, -1, -1, 2484, -1, -1, 2487, -1, -1, + -1, 2491, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1021, -1, -1, -1, -1, -1, -1, -1, 1753, + -1, 1031, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 2523, -1, -1, -1, -1, -1, -1, + 2530, -1, 1052, -1, 2534, -1, -1, -1, 2538, -1, + -1, -1, 2542, -1, -1, -1, -1, -1, 1068, -1, + -1, -1, 1072, 1073, -1, -1, 2556, 2557, 2558, 5, + -1, 7, -1, 9, 10, -1, -1, -1, -1, -1, + 16, 17, -1, -1, -1, -1, 22, 23, 24, 25, + -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, + -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, + -1, 1845, 1846, -1, -1, 1849, -1, 1851, 1852, 1853, + 1130, 1855, 1856, 1857, -1, -1, -1, -1, -1, 1863, + 1864, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1890, 1891, 1892, 1893, + 1894, -1, -1, 5, -1, 7, -1, 9, 10, -1, + -1, -1, -1, -1, 16, 17, -1, -1, 1188, 1189, + 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, + 32, 33, -1, 35, -1, 37, 38, 5, -1, -1, + -1, 9, 10, -1, -1, -1, 1940, -1, 16, 17, + -1, -1, 1946, 21, 22, 23, 24, 25, -1, -1, + 28, 29, 30, 31, 32, 33, -1, 35, -1, 37, + 38, 5, -1, -1, -1, 9, 10, -1, -1, -1, + -1, -1, 16, 17, -1, 1979, 1980, 21, 22, 23, + 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, + -1, 35, -1, 37, 38, 5, -1, -1, 2002, 9, + 10, -1, -1, -1, -1, -1, 16, 17, -1, 2013, + -1, 21, 22, 23, 24, 25, -1, -1, 28, 29, + 30, 31, 32, 33, -1, 35, -1, 37, 38, -1, + 2034, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, + 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, + -1, -1, -1, -1, 2058, 2059, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1345, -1, -1, -1, -1, + -1, 5, 1352, -1, 1354, 9, 10, -1, -1, -1, + -1, -1, 16, 17, 1364, -1, -1, 21, 22, 23, + 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, + -1, 35, -1, 37, 38, -1, 5, 2111, -1, -1, + 9, 10, -1, -1, -1, 1395, -1, 16, 17, -1, + -1, -1, 21, 22, 23, 24, 25, -1, -1, 28, + 29, 30, 31, 32, 33, -1, 35, 2141, 37, 38, + 2144, 5, 2146, -1, -1, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, 21, 22, 23, - 24, 25, -1, 1013, 28, 29, 30, 31, 32, 33, + 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, -1, 5, -1, -1, -1, - 9, 10, 2521, -1, -1, -1, -1, 16, 17, -1, - -1, -1, 21, 22, 23, 24, 25, -1, 2068, 28, - 29, 30, 31, 32, 33, -1, 35, 2077, 37, 38, - 5, 2081, 2082, -1, 9, 10, -1, -1, -1, 2089, - -1, 16, 17, -1, -1, -1, 21, 22, 23, 24, + 9, 10, -1, -1, 1464, -1, -1, 16, 17, -1, + -1, -1, 21, 22, 23, 24, 25, -1, 1478, 28, + 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, + -1, 2215, -1, -1, -1, -1, 5, -1, -1, 1499, + 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, + -1, -1, 21, 22, 23, 24, 25, 2241, -1, 28, + 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, + 5, -1, 7, -1, 9, 10, -1, -1, -1, -1, + -1, 16, 17, -1, -1, 1545, -1, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, -1, -1, -1, -1, -1, -1, - 2120, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2139, - -1, 5, -1, -1, 2144, 9, 10, -1, -1, -1, - -1, -1, 16, 17, 2154, 2155, -1, 21, 22, 23, - 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, - -1, 35, -1, 37, 38, -1, -1, -1, -1, -1, - -1, -1, 5, -1, -1, 2185, 9, 10, -1, -1, - -1, -1, -1, 16, 17, 2195, 2196, -1, 21, 22, - 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 5, 37, 38, -1, 9, 10, -1, - -1, -1, -1, -1, 16, 17, -1, -1, -1, 21, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5, -1, -1, -1, 9, 10, -1, + -1, -1, -1, 2317, 16, 17, 1596, 2321, -1, 21, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, -1, -1, -1, + 5, -1, 7, -1, 9, 10, -1, -1, -1, 1629, + -1, 16, 17, -1, 2358, 2359, 1636, 22, 23, 24, + 25, -1, 1642, 28, 29, 30, 31, 32, 33, -1, + 35, -1, 37, 38, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1665, -1, -1, 2392, 2393, + 2394, 2395, -1, -1, -1, -1, 2400, 1677, -1, -1, + -1, -1, -1, -1, -1, 1685, 2410, -1, -1, -1, + -1, -1, -1, -1, -1, 1695, -1, -1, 1698, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2268, -1, - 2270, -1, -1, -1, -1, -1, -1, -1, 5, 2279, - 7, -1, 9, 10, 2284, -1, -1, 2287, -1, 16, - 17, -1, -1, -1, 1274, 22, 23, 24, 25, -1, - 2300, 28, 29, 30, 31, 32, 33, -1, 35, 5, - 37, 38, -1, 9, 10, -1, -1, -1, -1, -1, - 16, 17, -1, -1, -1, 21, 22, 23, 24, 25, - -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, - -1, 37, 38, -1, -1, 2345, -1, -1, -1, -1, - -1, 2351, -1, -1, 5, -1, 7, 2357, 9, 10, - -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, - -1, 22, 23, 24, 25, -1, 2376, 28, 29, 30, - 31, 32, 33, -1, 35, 5, 37, 38, -1, 9, - 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, - -1, 21, 22, 23, 24, 25, -1, -1, 28, 29, - 30, 31, 32, 33, -1, 35, -1, 37, 38, 2419, - -1, 2421, -1, -1, -1, 2425, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2436, 2437, -1, -1, - -1, 2441, 5, -1, 7, -1, 9, 10, -1, -1, - -1, 2451, -1, 16, 17, 2455, -1, -1, -1, 22, - 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, - 33, -1, 35, -1, 37, 38, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2487, -1, -1, - -1, -1, 2492, -1, 2494, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2506, -1, 2508, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 14, - 15, 16, 17, -1, 19, -1, 21, -1, 23, 24, - -1, 26, -1, -1, -1, 30, 2536, 32, 33, -1, - 2540, 36, 37, 38, -1, 40, -1, 42, 43, -1, - -1, 46, 2552, -1, -1, -1, 51, 52, 53, 54, - 55, 56, 57, 58, -1, 60, 61, -1, -1, 64, - 65, 66, -1, 68, -1, 70, -1, -1, 73, 74, - -1, -1, -1, -1, -1, -1, 81, 82, -1, -1, - 85, -1, -1, -1, -1, -1, -1, 92, -1, 94, - -1, 96, 97, -1, -1, -1, 101, 102, 103, -1, - -1, 106, -1, -1, 109, 110, -1, 112, 113, 114, - -1, -1, -1, -1, 119, 120, -1, -1, 123, -1, - 125, 126, 127, -1, 129, 130, -1, -1, 133, -1, - 135, 136, 137, 138, 139, 140, -1, -1, -1, -1, - -1, -1, 147, 148, 149, -1, -1, -1, -1, 154, - 155, 156, -1, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - 185, -1, 187, -1, 189, -1, 191, 192, -1, 194, - 195, 196, 197, 198, 199, 200, 201, 5, -1, 7, - 6, 9, 10, -1, -1, -1, -1, 13, 16, 17, - -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, + -1, -1, -1, 1713, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1725, -1, -1, -1, -1, + 2454, -1, -1, -1, -1, -1, -1, -1, -1, 1739, + -1, -1, -1, -1, -1, 1745, -1, -1, -1, -1, + -1, 1751, -1, -1, -1, 2479, 2480, 5, 2482, -1, + -1, 9, 10, -1, -1, 2489, -1, -1, 16, 17, + -1, -1, -1, 21, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, -1, 37, - 38, -1, -1, -1, -1, -1, -1, 43, 44, 45, - 46, -1, 48, 49, 50, 51, 52, 53, -1, 254, - 56, 57, 257, -1, 259, 61, 62, 63, -1, 65, - 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, - 76, 77, -1, 79, 80, 81, 82, 83, 84, -1, - -1, 87, 88, 89, 90, 91, -1, -1, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - -1, 117, -1, 119, 120, -1, 122, 123, 124, -1, - -1, 127, -1, -1, 130, 131, -1, 133, 134, 135, - 136, -1, 138, 139, 140, 141, 142, 143, 144, 145, - 146, -1, -1, -1, -1, -1, 152, 153, 154, 155, - -1, -1, -1, -1, 160, -1, -1, 163, 164, -1, - -1, 167, 168, -1, 170, -1, -1, -1, 174, -1, - 176, -1, 178, -1, -1, -1, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, -1, 193, 194, 195, - -1, 197, -1, 199, 200, -1, 202, -1, 204, 205, - 206, 207, -1, -1, 210, 211, 212, -1, 214, 215, - 216, -1, 218, 219, 220, -1, 222, -1, 224, 225, - 226, 227, 228, -1, 230, -1, 232, 233, -1, -1, - 236, 237, 238, -1, -1, 241, 242, -1, 244, 245, - -1, 247, 248, -1, -1, -1, 252, 253, -1, -1, - 256, -1, -1, 259, -1, -1, -1, 263, 264, -1, - -1, 267, 268, 269, -1, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, -1, 283, -1, -1, - 286, -1, -1, -1, 290, 291, 292, 293, 294, -1, - 296, 297, -1, -1, 300, 301, 302, 303, -1, -1, - -1, -1, 308, 309, 310, 311, 312, 313, -1, -1, - -1, -1, -1, -1, -1, 321, -1, -1, 324, 325, - 326, 327, 328, -1, -1, -1, 332, 333, 334, 335, - 336, 337, 5, 339, 340, 8, 9, 10, 344, -1, + 38, -1, 5, -1, 7, -1, 9, 10, -1, -1, + -1, -1, -1, 16, 17, -1, -1, -1, 2532, 22, + 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, + 33, -1, 35, -1, 37, 38, 5, -1, 7, -1, + 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, + -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, + 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 14, 15, 16, 17, -1, 19, -1, 21, -1, 23, + 24, 1881, 26, -1, -1, -1, 30, -1, 32, 33, + -1, -1, 36, 37, 38, -1, 40, -1, 42, 43, + -1, -1, 46, -1, -1, -1, -1, 51, 52, 53, + 54, 55, 56, 57, 58, -1, 60, 61, -1, -1, + 64, 65, 66, -1, 68, 1925, 70, -1, -1, 73, + 74, -1, -1, -1, -1, -1, -1, 81, 82, -1, + -1, 85, -1, -1, -1, 1945, -1, 1947, 92, -1, + 94, 1951, 96, 97, -1, -1, -1, 101, 102, 103, + -1, -1, 106, -1, -1, 109, 110, -1, 112, 113, + 114, -1, -1, -1, 1974, 119, 120, 1977, -1, 123, + -1, 125, 126, 127, -1, 129, 130, -1, -1, 133, + -1, 135, 136, 137, 138, 139, 140, -1, -1, 1999, + -1, -1, -1, 147, 148, 149, -1, -1, -1, -1, + 154, 155, 156, -1, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + -1, 185, -1, 187, -1, 189, -1, 191, 192, -1, + 194, 195, 196, 197, 198, 199, 200, 201, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5, 2077, -1, 8, + 9, 10, -1, -1, -1, -1, 2086, 16, 17, -1, + 2090, 2091, -1, 22, 23, 24, 25, -1, 2098, 28, + 29, 30, 31, 32, 33, -1, 35, 5, 37, 38, + 254, 9, 10, 257, -1, 259, -1, -1, 16, 17, + -1, -1, -1, 21, 22, 23, 24, 25, -1, 2129, + 28, 29, 30, 31, 32, 33, -1, 35, -1, 37, + 38, -1, -1, -1, -1, -1, -1, -1, 2148, -1, + 5, -1, -1, 2153, 9, 10, -1, -1, -1, -1, + -1, 16, 17, 2163, 2164, -1, 21, 22, 23, 24, + 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, + 35, -1, 37, 38, -1, -1, -1, -1, -1, -1, + -1, 5, -1, -1, 2194, 9, 10, -1, -1, -1, + -1, -1, 16, 17, 2204, 2205, -1, 21, 22, 23, + 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, + -1, 35, 5, 37, 38, 8, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, -1, -1, -1, -1, - -1, -1, 5, -1, -1, -1, 9, 10, -1, -1, - -1, -1, -1, 16, 17, -1, -1, -1, 21, 22, - 23, 24, 25, 598, 599, 28, 29, 30, 31, 32, - 33, -1, 35, 5, 37, 38, -1, 9, 10, -1, - -1, -1, -1, -1, 16, 17, -1, -1, -1, 21, - 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, - 32, 33, -1, 35, 5, 37, 38, -1, 9, 10, - -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, - 21, 22, 23, 24, 25, -1, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 5, 37, 38, 8, 9, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2279, + -1, 2281, -1, -1, -1, -1, -1, -1, -1, 5, + 2290, -1, -1, 9, 10, 2295, -1, -1, 2298, -1, + 16, 17, -1, -1, -1, 21, 22, 23, 24, 25, + -1, 2311, 28, 29, 30, 31, 32, 33, -1, 35, + 5, 37, 38, -1, 9, 10, -1, -1, -1, -1, + -1, 16, 17, -1, -1, -1, 21, 22, 23, 24, + 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, + 35, -1, 37, 38, -1, -1, 2356, -1, -1, -1, + -1, -1, 2362, -1, -1, 5, -1, -1, 2368, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, - -1, -1, 22, 23, 24, 25, -1, -1, 28, 29, - 30, 31, 32, 33, -1, 35, 5, 37, 38, -1, + -1, 21, 22, 23, 24, 25, -1, 2387, 28, 29, + 30, 31, 32, 33, -1, 35, 5, 37, 38, 8, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, - -1, -1, 21, 22, 23, 24, 25, -1, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 5, 37, 38, - -1, 9, 10, -1, -1, -1, -1, -1, 16, 17, - -1, -1, -1, 21, 22, 23, 24, 25, -1, -1, + -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, + 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, + 2430, -1, 2432, -1, -1, -1, 2436, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2447, 2448, -1, + -1, -1, 2452, 5, 598, 599, -1, 9, 10, -1, + -1, -1, 2462, -1, 16, 17, 2466, -1, -1, 21, + 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, + 32, 33, -1, 35, -1, 37, 38, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 2498, -1, + -1, -1, -1, 2503, -1, 2505, -1, -1, -1, 5, + -1, -1, 8, 9, 10, 6, -1, 2517, -1, 2519, + 16, 17, 13, -1, -1, -1, 22, 23, 24, 25, + -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, + -1, 37, 38, -1, -1, -1, -1, 2547, -1, -1, + -1, 2551, 43, 44, 45, 46, -1, 48, 49, 50, + 51, 52, 53, 2563, -1, 56, 57, -1, -1, -1, + 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, + 81, 82, 83, 84, -1, -1, 87, 88, 89, 90, + 91, -1, -1, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, -1, 117, -1, 119, 120, + -1, 122, 123, 124, -1, -1, 127, -1, -1, 130, + 131, -1, 133, 134, 135, 136, -1, 138, 139, 140, + 141, 142, 143, 144, 145, 146, -1, -1, -1, -1, + -1, 152, 153, 154, 155, -1, -1, -1, -1, 160, + -1, -1, 163, 164, -1, -1, 167, 168, -1, 170, + -1, -1, -1, 174, -1, 176, -1, 178, -1, -1, + -1, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, -1, 193, 194, 195, -1, 197, -1, 199, 200, + -1, 202, -1, 204, 205, 206, 207, -1, -1, 210, + 211, 212, -1, 214, 215, 216, -1, 218, 219, 220, + -1, 222, -1, 224, 225, 226, 227, 228, -1, 230, + -1, 232, 233, -1, -1, 236, 237, 238, -1, -1, + 241, 242, -1, 244, 245, -1, 247, 248, -1, -1, + -1, 252, 253, -1, -1, 256, -1, -1, 259, -1, + -1, -1, 263, 264, -1, -1, 267, 268, 269, -1, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, -1, 283, -1, -1, 286, -1, -1, -1, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, 303, -1, -1, -1, -1, 308, 309, 310, + 311, 312, 313, -1, -1, -1, -1, -1, -1, -1, + 321, -1, -1, 324, 325, 326, 327, 328, -1, -1, + -1, 332, 333, 334, 335, 336, 337, 5, 339, 340, + 8, 9, 10, 344, -1, -1, -1, -1, 16, 17, + -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, 5, 37, 38, -1, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, 21, 22, 23, 24, 25, -1, @@ -4358,54 +4408,42 @@ static const yytype_int16 yycheck[] = 5, 37, 38, -1, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, 21, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 5, 37, 38, 8, 9, 10, -1, -1, -1, - -1, -1, 16, 17, -1, -1, -1, -1, 22, 23, + 35, 5, 37, 38, -1, 9, 10, -1, -1, -1, + -1, -1, 16, 17, -1, -1, -1, 21, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, 5, 37, 38, 8, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 5, 37, 38, -1, 9, 10, -1, - -1, -1, -1, -1, 16, 17, -1, -1, -1, 21, + 33, -1, 35, 5, 37, 38, 8, 9, 10, -1, + -1, -1, -1, -1, 16, 17, -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, - 32, 33, -1, 35, 5, 37, 38, 8, 9, 10, + 32, 33, -1, 35, 5, 37, 38, -1, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, - -1, 22, 23, 24, 25, -1, -1, 28, 29, 30, + 21, 22, 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, 5, 37, 38, -1, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, 21, 22, 23, 24, 25, -1, -1, 28, 29, - 30, 31, 32, 33, -1, 35, 5, 37, 38, -1, - 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, - -1, -1, 21, 22, 23, 24, 25, -1, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 5, 37, 38, - 8, 9, 10, -1, -1, -1, -1, -1, 16, 17, - -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, - 28, 29, 30, 31, 32, 33, -1, 35, 5, 37, - 38, 8, 9, 10, -1, -1, -1, -1, -1, 16, - 17, -1, -1, -1, -1, 22, 23, 24, 25, -1, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 5, - 37, 38, -1, 9, 10, -1, -1, -1, -1, -1, - 16, 17, -1, -1, -1, 21, 22, 23, 24, 25, - -1, -1, 28, 29, 30, 31, 32, 33, -1, 35, - 5, 37, 38, -1, 9, 10, -1, -1, -1, -1, - -1, 16, 17, -1, -1, -1, 21, 22, 23, 24, - 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 5, 37, 38, 8, 9, 10, -1, -1, -1, - -1, -1, 16, 17, -1, -1, -1, -1, 22, 23, - 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, - -1, 35, -1, 37, 38, 5, -1, 7, -1, 9, - 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, - -1, -1, 22, 23, 24, 25, -1, -1, 28, 29, - 30, 31, 32, 33, -1, 35, 5, 37, 38, -1, + 30, 31, 32, 33, -1, 35, 5, 37, 38, 8, 9, 10, -1, -1, -1, -1, -1, 16, 17, -1, -1, -1, -1, 22, 23, 24, 25, -1, -1, 28, - 29, 30, 31, 32, 33, -1, 35, -1, 37, 38 + 29, 30, 31, 32, 33, -1, 35, -1, 37, 38, + 5, -1, 7, -1, 9, 10, -1, -1, -1, -1, + -1, 16, 17, -1, -1, -1, -1, 22, 23, 24, + 25, -1, -1, 28, 29, 30, 31, 32, 33, -1, + 35, 5, 37, 38, -1, 9, 10, -1, -1, -1, + -1, -1, 16, 17, -1, -1, -1, -1, 22, 23, + 24, 25, -1, -1, 28, 29, 30, 31, 32, 33, + -1, 35, 5, 37, 38, -1, 9, -1, -1, -1, + -1, -1, -1, 16, 17, -1, -1, -1, -1, 22, + 23, 24, 25, -1, -1, 28, 29, 30, 31, 32, + 33, -1, 35, -1, 37, 38 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 358, 0, 1, 150, 257, 359, 360, 116, 6, + 0, 361, 0, 1, 150, 257, 362, 363, 116, 6, 13, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 56, 57, 61, 62, 63, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 79, 80, @@ -4425,245 +4463,246 @@ static const yytype_uint16 yystos[] = 278, 279, 280, 281, 283, 286, 290, 291, 292, 293, 294, 296, 297, 300, 301, 302, 303, 308, 309, 310, 311, 312, 313, 321, 324, 325, 326, 327, 328, 332, - 333, 334, 335, 336, 337, 339, 340, 344, 361, 363, - 366, 378, 379, 383, 384, 385, 391, 392, 393, 394, - 396, 397, 399, 401, 402, 403, 404, 411, 412, 413, - 414, 415, 416, 420, 421, 422, 426, 427, 465, 467, - 480, 523, 524, 526, 527, 533, 534, 535, 536, 543, - 544, 545, 546, 548, 551, 555, 556, 557, 558, 559, - 560, 566, 567, 568, 579, 580, 581, 583, 586, 589, - 594, 595, 597, 599, 601, 604, 605, 629, 630, 641, - 642, 643, 644, 649, 652, 655, 658, 659, 709, 710, - 711, 712, 713, 714, 715, 716, 722, 724, 726, 728, - 730, 731, 732, 733, 734, 737, 739, 740, 741, 744, - 745, 749, 750, 752, 753, 754, 755, 756, 757, 758, - 761, 766, 771, 773, 774, 775, 776, 778, 779, 780, - 781, 782, 783, 800, 803, 804, 805, 806, 812, 815, - 820, 821, 822, 825, 826, 827, 828, 829, 830, 831, - 832, 833, 834, 835, 836, 837, 838, 839, 844, 845, - 846, 847, 848, 858, 859, 860, 862, 863, 864, 865, - 866, 871, 889, 15, 490, 490, 552, 552, 552, 552, - 552, 490, 552, 552, 362, 552, 552, 552, 490, 552, - 490, 552, 552, 490, 552, 552, 552, 489, 552, 490, - 552, 552, 7, 15, 491, 15, 490, 612, 552, 490, - 375, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 129, 368, 532, 532, 552, 552, 552, 490, 552, - 368, 552, 490, 490, 552, 552, 489, 362, 490, 490, - 64, 374, 552, 552, 490, 490, 552, 490, 490, 490, - 490, 490, 552, 429, 552, 552, 552, 368, 466, 362, - 490, 552, 552, 552, 490, 552, 490, 552, 552, 490, - 552, 552, 552, 490, 362, 490, 375, 552, 552, 375, - 552, 490, 552, 552, 552, 490, 552, 552, 490, 552, - 490, 552, 552, 552, 552, 552, 552, 15, 490, 590, - 490, 362, 490, 490, 552, 552, 552, 15, 8, 490, - 490, 552, 552, 552, 490, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 490, 552, 490, 552, 552, 552, 552, 490, 552, - 552, 552, 552, 552, 552, 552, 552, 895, 895, 895, - 895, 895, 895, 257, 578, 124, 233, 399, 15, 371, - 578, 8, 8, 8, 8, 7, 8, 124, 363, 386, - 8, 368, 400, 8, 8, 8, 8, 8, 547, 8, - 547, 8, 8, 8, 8, 547, 578, 7, 218, 252, - 524, 526, 535, 536, 239, 544, 544, 10, 14, 15, - 16, 17, 27, 34, 36, 64, 92, 149, 201, 368, - 380, 496, 497, 499, 500, 501, 502, 508, 509, 510, - 511, 512, 515, 15, 552, 5, 9, 15, 16, 17, - 129, 498, 500, 508, 562, 576, 577, 552, 15, 562, - 552, 5, 561, 562, 577, 562, 8, 8, 8, 8, - 8, 8, 8, 8, 7, 8, 8, 5, 7, 368, - 639, 640, 368, 632, 491, 15, 15, 149, 479, 368, - 368, 742, 743, 8, 368, 656, 657, 743, 368, 370, - 368, 15, 528, 574, 23, 37, 368, 418, 419, 15, - 368, 602, 368, 670, 670, 368, 653, 654, 368, 531, - 428, 15, 368, 582, 149, 748, 531, 7, 474, 475, - 490, 613, 614, 368, 608, 614, 15, 553, 368, 584, - 585, 531, 15, 15, 531, 748, 532, 531, 531, 531, - 531, 368, 531, 371, 531, 15, 423, 491, 499, 500, - 15, 365, 368, 368, 650, 651, 481, 482, 483, 484, - 8, 671, 738, 15, 368, 596, 368, 587, 588, 575, - 15, 15, 368, 491, 15, 496, 751, 15, 15, 368, - 725, 727, 8, 368, 37, 417, 15, 500, 501, 491, - 15, 15, 553, 479, 491, 500, 368, 717, 5, 15, - 576, 577, 491, 368, 369, 491, 575, 15, 499, 633, - 634, 608, 612, 368, 600, 368, 697, 697, 15, 368, - 598, 717, 496, 507, 491, 375, 15, 368, 703, 703, - 703, 703, 703, 7, 496, 591, 592, 368, 593, 491, - 364, 368, 491, 368, 723, 725, 368, 490, 491, 368, - 468, 15, 15, 575, 368, 15, 614, 15, 614, 614, - 614, 614, 786, 842, 614, 614, 614, 614, 614, 614, - 786, 368, 375, 849, 850, 851, 15, 15, 375, 861, - 15, 496, 496, 496, 496, 495, 496, 15, 15, 15, - 15, 15, 368, 887, 15, 362, 362, 124, 5, 21, - 368, 372, 373, 367, 375, 368, 368, 368, 419, 7, - 375, 362, 124, 368, 368, 5, 15, 406, 407, 368, - 419, 419, 419, 419, 418, 499, 417, 368, 368, 423, - 430, 431, 433, 434, 552, 552, 239, 409, 496, 497, - 496, 496, 496, 496, 5, 9, 16, 17, 22, 23, + 333, 334, 335, 336, 337, 339, 340, 344, 364, 366, + 369, 381, 382, 386, 387, 388, 394, 395, 396, 397, + 399, 400, 402, 404, 405, 406, 407, 414, 415, 416, + 417, 418, 419, 423, 424, 425, 429, 430, 468, 470, + 483, 526, 527, 529, 530, 536, 537, 538, 539, 546, + 547, 548, 549, 551, 554, 558, 559, 560, 561, 562, + 563, 569, 570, 571, 582, 583, 584, 586, 589, 592, + 597, 598, 600, 602, 604, 607, 608, 632, 633, 644, + 645, 646, 647, 652, 655, 658, 661, 662, 712, 713, + 714, 715, 716, 717, 718, 719, 725, 727, 729, 731, + 733, 734, 735, 736, 737, 740, 742, 743, 744, 747, + 748, 752, 753, 755, 756, 757, 758, 759, 760, 761, + 764, 769, 774, 776, 777, 778, 779, 781, 782, 783, + 784, 785, 786, 803, 806, 807, 808, 809, 815, 818, + 823, 824, 825, 828, 829, 830, 831, 832, 833, 834, + 835, 836, 837, 838, 839, 840, 841, 842, 847, 848, + 849, 850, 851, 861, 862, 863, 865, 866, 867, 868, + 869, 874, 894, 15, 493, 493, 555, 555, 555, 555, + 555, 493, 555, 555, 365, 555, 555, 555, 493, 555, + 493, 555, 555, 493, 555, 555, 555, 492, 555, 493, + 555, 555, 7, 15, 494, 15, 493, 615, 555, 493, + 378, 555, 555, 555, 555, 555, 555, 555, 555, 555, + 555, 129, 371, 535, 535, 555, 555, 555, 493, 555, + 371, 555, 493, 493, 555, 555, 492, 365, 493, 493, + 64, 377, 555, 555, 493, 493, 555, 493, 493, 493, + 493, 493, 555, 432, 555, 555, 555, 371, 469, 365, + 493, 555, 555, 555, 493, 555, 493, 555, 555, 493, + 555, 555, 555, 493, 365, 493, 378, 555, 555, 378, + 555, 493, 555, 555, 555, 493, 555, 555, 493, 555, + 493, 555, 555, 555, 555, 555, 555, 15, 493, 593, + 493, 365, 493, 493, 555, 555, 555, 15, 8, 493, + 493, 555, 555, 555, 493, 555, 555, 555, 555, 555, + 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + 555, 493, 555, 493, 555, 555, 555, 555, 493, 555, + 555, 555, 555, 555, 555, 555, 555, 900, 900, 900, + 900, 900, 900, 257, 581, 124, 233, 402, 15, 374, + 581, 8, 8, 8, 8, 7, 8, 124, 366, 389, + 8, 371, 403, 8, 8, 8, 8, 8, 550, 8, + 550, 8, 8, 8, 8, 550, 581, 7, 218, 252, + 527, 529, 538, 539, 239, 547, 547, 10, 14, 15, + 16, 17, 27, 34, 36, 64, 92, 149, 201, 371, + 383, 499, 500, 502, 503, 504, 505, 511, 512, 513, + 514, 515, 518, 15, 555, 5, 9, 15, 16, 17, + 129, 501, 503, 511, 565, 579, 580, 555, 15, 565, + 555, 5, 564, 565, 580, 565, 8, 8, 8, 8, + 8, 8, 8, 8, 7, 8, 8, 5, 7, 371, + 642, 643, 371, 635, 494, 15, 15, 149, 482, 371, + 371, 745, 746, 8, 371, 659, 660, 746, 371, 373, + 371, 15, 531, 577, 23, 37, 371, 421, 422, 15, + 371, 605, 371, 673, 673, 371, 656, 657, 371, 534, + 431, 15, 371, 585, 149, 751, 534, 7, 477, 478, + 493, 616, 617, 371, 611, 617, 15, 556, 371, 587, + 588, 534, 15, 15, 534, 751, 535, 534, 534, 534, + 534, 371, 534, 374, 534, 15, 426, 494, 502, 503, + 15, 368, 371, 371, 653, 654, 484, 485, 486, 487, + 8, 674, 741, 15, 371, 599, 371, 590, 591, 578, + 15, 15, 371, 494, 15, 499, 754, 15, 15, 371, + 728, 730, 8, 371, 37, 420, 15, 503, 504, 494, + 15, 15, 556, 482, 494, 503, 371, 720, 5, 15, + 579, 580, 494, 371, 372, 494, 578, 15, 502, 636, + 637, 611, 615, 371, 603, 371, 700, 700, 15, 371, + 601, 720, 499, 510, 494, 378, 15, 371, 706, 706, + 706, 706, 706, 7, 499, 594, 595, 371, 596, 494, + 367, 371, 494, 371, 726, 728, 371, 493, 494, 371, + 471, 15, 15, 578, 371, 15, 617, 15, 617, 617, + 617, 617, 789, 845, 617, 617, 617, 617, 617, 617, + 789, 371, 378, 852, 853, 854, 15, 15, 378, 864, + 15, 499, 499, 499, 499, 498, 499, 15, 15, 15, + 15, 15, 371, 892, 15, 365, 365, 124, 5, 21, + 371, 375, 376, 370, 378, 371, 371, 371, 422, 7, + 378, 365, 124, 371, 371, 5, 15, 409, 410, 371, + 422, 422, 422, 422, 421, 502, 420, 371, 371, 426, + 433, 434, 436, 437, 555, 555, 239, 412, 499, 500, + 499, 499, 499, 499, 5, 9, 16, 17, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, - 37, 38, 380, 15, 246, 3, 15, 246, 246, 15, - 505, 506, 21, 549, 574, 507, 5, 9, 166, 563, - 564, 565, 576, 26, 576, 5, 9, 23, 37, 498, - 575, 576, 575, 8, 15, 500, 569, 570, 15, 496, - 497, 512, 571, 572, 573, 571, 582, 368, 596, 598, - 600, 602, 368, 7, 375, 723, 8, 21, 634, 419, - 521, 496, 240, 547, 15, 375, 15, 473, 8, 574, - 7, 496, 529, 530, 531, 15, 368, 473, 419, 478, - 479, 8, 430, 521, 473, 15, 8, 21, 5, 7, - 476, 477, 496, 368, 8, 21, 5, 58, 86, 126, - 137, 165, 258, 615, 611, 612, 175, 603, 496, 149, - 542, 8, 496, 496, 367, 368, 424, 425, 499, 504, - 368, 26, 368, 537, 538, 540, 371, 8, 8, 15, - 231, 399, 485, 375, 8, 738, 368, 499, 707, 717, - 735, 736, 8, 562, 26, 5, 9, 16, 17, 22, + 37, 38, 383, 15, 246, 3, 15, 246, 246, 15, + 508, 509, 21, 552, 577, 510, 5, 9, 166, 566, + 567, 568, 579, 26, 579, 5, 9, 23, 37, 501, + 578, 579, 578, 8, 15, 503, 572, 573, 15, 499, + 500, 515, 574, 575, 576, 574, 585, 371, 599, 601, + 603, 605, 371, 7, 378, 726, 8, 21, 637, 422, + 524, 499, 240, 550, 15, 378, 15, 476, 8, 577, + 7, 499, 532, 533, 534, 15, 371, 476, 422, 481, + 482, 8, 433, 524, 476, 15, 8, 21, 5, 7, + 479, 480, 499, 371, 8, 21, 5, 58, 86, 126, + 137, 165, 258, 618, 614, 615, 175, 606, 499, 149, + 545, 8, 499, 499, 370, 371, 427, 428, 502, 507, + 371, 26, 371, 540, 541, 543, 374, 8, 8, 15, + 231, 402, 488, 378, 8, 741, 371, 502, 710, 720, + 738, 739, 8, 565, 26, 5, 9, 16, 17, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, - 35, 37, 38, 380, 381, 382, 368, 375, 389, 499, - 496, 15, 375, 368, 368, 499, 499, 522, 8, 672, - 729, 368, 499, 660, 368, 463, 464, 542, 419, 18, - 575, 576, 575, 395, 398, 639, 634, 7, 612, 614, - 707, 717, 718, 719, 418, 419, 457, 458, 62, 499, - 762, 15, 15, 7, 8, 21, 590, 419, 371, 419, - 473, 8, 669, 694, 21, 375, 368, 8, 496, 496, - 473, 499, 547, 807, 499, 287, 819, 819, 547, 816, - 819, 15, 547, 784, 547, 823, 784, 784, 547, 801, - 547, 813, 473, 147, 148, 180, 314, 315, 318, 319, - 376, 852, 853, 854, 8, 21, 500, 675, 855, 21, - 855, 376, 853, 375, 759, 760, 8, 8, 8, 8, - 499, 502, 503, 777, 660, 375, 872, 873, 874, 875, - 876, 375, 879, 880, 881, 882, 883, 375, 884, 885, - 8, 375, 890, 891, 368, 364, 362, 8, 21, 213, - 376, 473, 44, 87, 93, 119, 143, 145, 178, 183, - 187, 191, 194, 216, 230, 236, 387, 388, 390, 368, - 362, 490, 553, 574, 400, 473, 547, 547, 8, 37, - 15, 368, 436, 441, 375, 15, 516, 21, 8, 496, - 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, - 496, 496, 496, 496, 496, 496, 496, 496, 574, 64, - 129, 492, 494, 574, 499, 510, 513, 64, 513, 507, - 8, 21, 5, 496, 550, 565, 8, 21, 5, 9, - 496, 21, 496, 576, 576, 576, 576, 576, 21, 569, - 569, 8, 496, 497, 572, 573, 8, 8, 8, 473, - 473, 490, 43, 67, 82, 87, 88, 94, 228, 259, - 303, 643, 640, 375, 503, 519, 21, 368, 15, 495, - 67, 474, 657, 496, 7, 8, 21, 549, 37, 8, - 21, 654, 499, 502, 518, 520, 574, 746, 476, 7, - 473, 614, 15, 15, 15, 15, 15, 15, 603, 614, - 368, 21, 554, 585, 21, 21, 15, 8, 21, 8, - 506, 500, 8, 539, 26, 367, 651, 482, 129, 486, - 487, 488, 404, 169, 208, 282, 375, 15, 7, 8, - 21, 588, 571, 21, 21, 147, 148, 180, 21, 18, - 21, 7, 496, 514, 175, 323, 37, 8, 21, 375, - 8, 21, 26, 8, 21, 554, 496, 21, 459, 460, - 459, 21, 7, 614, 603, 15, 7, 8, 21, 8, - 15, 15, 26, 704, 705, 707, 495, 496, 592, 375, - 8, 694, 8, 669, 400, 390, 377, 21, 21, 21, - 614, 547, 21, 614, 547, 843, 614, 547, 614, 547, - 614, 547, 614, 547, 15, 15, 15, 15, 15, 15, - 375, 851, 8, 21, 21, 182, 315, 318, 8, 21, - 375, 375, 375, 496, 15, 15, 8, 21, 21, 183, - 191, 208, 8, 21, 41, 209, 228, 8, 21, 338, - 341, 342, 343, 354, 8, 21, 375, 244, 330, 345, - 346, 347, 8, 21, 371, 368, 373, 15, 405, 406, - 473, 490, 15, 7, 8, 368, 473, 15, 510, 5, - 408, 496, 565, 419, 499, 433, 15, 16, 17, 27, - 36, 59, 64, 92, 149, 201, 432, 434, 444, 445, - 446, 447, 448, 449, 450, 451, 436, 441, 442, 443, - 15, 437, 438, 62, 496, 571, 497, 492, 21, 8, - 493, 496, 514, 565, 7, 574, 479, 496, 574, 8, - 570, 21, 8, 8, 8, 497, 573, 497, 573, 497, - 573, 368, 255, 8, 21, 479, 478, 21, 7, 21, - 496, 529, 21, 479, 547, 8, 21, 565, 747, 8, - 21, 477, 496, 615, 574, 15, 617, 368, 616, 616, - 496, 616, 473, 614, 239, 531, 495, 425, 425, 368, - 496, 538, 21, 496, 514, 8, 21, 16, 15, 15, - 15, 495, 735, 736, 491, 499, 767, 7, 496, 7, - 21, 21, 368, 610, 500, 499, 191, 499, 614, 661, - 496, 464, 547, 8, 47, 177, 368, 462, 375, 631, - 633, 603, 7, 7, 496, 720, 721, 718, 719, 458, - 496, 5, 617, 763, 764, 770, 496, 627, 8, 21, - 15, 21, 71, 208, 375, 375, 491, 172, 368, 471, - 472, 500, 191, 208, 282, 285, 290, 298, 787, 788, - 789, 796, 808, 809, 810, 614, 266, 817, 818, 819, - 614, 37, 499, 840, 841, 84, 265, 289, 299, 304, - 785, 787, 788, 789, 790, 791, 792, 794, 795, 796, - 614, 787, 788, 789, 790, 791, 792, 794, 795, 796, - 809, 810, 824, 614, 787, 788, 789, 796, 802, 614, - 787, 788, 814, 614, 855, 855, 855, 375, 856, 857, - 855, 855, 500, 760, 330, 315, 331, 574, 492, 503, - 15, 15, 15, 873, 15, 15, 15, 880, 15, 15, - 15, 15, 885, 351, 352, 15, 15, 15, 15, 15, - 891, 368, 18, 26, 410, 15, 389, 7, 375, 405, - 554, 554, 409, 5, 496, 447, 448, 449, 452, 448, - 450, 448, 450, 246, 246, 246, 246, 246, 8, 37, - 368, 435, 499, 5, 437, 438, 8, 15, 16, 17, - 149, 368, 435, 439, 440, 453, 454, 455, 456, 15, - 438, 15, 21, 517, 21, 21, 506, 574, 496, 507, - 550, 564, 576, 540, 541, 497, 541, 541, 541, 473, - 368, 635, 638, 574, 8, 21, 7, 409, 496, 574, - 496, 574, 565, 628, 496, 618, 619, 21, 21, 21, - 21, 8, 8, 254, 525, 531, 21, 487, 488, 675, - 675, 675, 21, 21, 368, 15, 21, 496, 7, 7, - 496, 473, 15, 173, 8, 665, 666, 667, 668, 669, - 671, 672, 673, 676, 678, 679, 680, 694, 702, 540, - 460, 15, 15, 461, 255, 8, 7, 8, 21, 21, - 21, 8, 21, 21, 705, 706, 15, 15, 368, 368, - 469, 470, 472, 18, 8, 26, 786, 15, 786, 786, - 15, 614, 808, 786, 614, 817, 368, 8, 21, 15, - 786, 15, 786, 15, 614, 785, 614, 824, 614, 802, - 614, 814, 21, 21, 21, 316, 317, 8, 21, 21, - 21, 15, 15, 492, 21, 503, 877, 878, 675, 375, - 698, 704, 718, 704, 660, 660, 503, 888, 496, 886, - 15, 15, 375, 892, 893, 660, 660, 496, 375, 894, - 21, 496, 496, 645, 646, 21, 388, 410, 5, 496, - 400, 8, 21, 8, 513, 513, 513, 513, 513, 444, - 5, 15, 434, 445, 438, 368, 435, 443, 453, 454, - 454, 8, 21, 7, 16, 17, 5, 37, 9, 453, - 496, 20, 506, 493, 21, 26, 21, 21, 21, 21, - 15, 503, 565, 479, 656, 491, 518, 565, 747, 496, - 21, 7, 8, 21, 496, 375, 15, 21, 21, 21, - 7, 768, 769, 770, 496, 496, 7, 675, 499, 662, - 375, 667, 26, 462, 26, 381, 635, 633, 368, 606, - 607, 608, 609, 721, 764, 614, 78, 591, 368, 670, - 718, 695, 8, 368, 472, 496, 614, 797, 375, 614, - 614, 842, 499, 840, 375, 496, 496, 614, 614, 614, - 614, 857, 675, 499, 21, 26, 8, 21, 21, 22, - 24, 33, 35, 158, 159, 161, 162, 192, 234, 247, - 699, 700, 701, 8, 21, 21, 21, 21, 21, 21, - 8, 21, 8, 21, 375, 867, 868, 867, 315, 350, - 8, 21, 21, 21, 21, 348, 349, 8, 8, 21, - 7, 21, 21, 574, 452, 445, 574, 435, 26, 21, - 453, 440, 454, 454, 455, 455, 455, 21, 496, 5, - 496, 514, 636, 637, 499, 8, 675, 499, 8, 496, - 619, 375, 21, 254, 496, 8, 21, 496, 21, 15, - 41, 135, 209, 221, 223, 224, 226, 229, 320, 322, - 496, 461, 21, 21, 15, 8, 132, 765, 21, 21, - 7, 21, 697, 699, 470, 5, 16, 17, 22, 24, - 33, 35, 37, 159, 162, 247, 305, 306, 307, 799, - 21, 94, 230, 284, 295, 811, 37, 191, 288, 299, - 793, 21, 21, 21, 21, 496, 878, 15, 15, 375, - 503, 496, 353, 8, 21, 21, 893, 496, 7, 7, - 408, 21, 492, 439, 453, 21, 8, 8, 21, 479, - 565, 255, 15, 21, 769, 5, 496, 663, 664, 15, - 681, 15, 15, 15, 15, 703, 703, 15, 15, 15, - 8, 495, 607, 707, 708, 15, 718, 696, 696, 7, - 8, 21, 843, 21, 8, 500, 675, 699, 8, 868, - 8, 869, 8, 870, 21, 7, 409, 21, 21, 496, - 637, 496, 368, 620, 621, 496, 8, 21, 682, 681, - 717, 735, 717, 718, 707, 704, 496, 496, 674, 662, - 677, 496, 21, 8, 375, 21, 7, 8, 21, 675, - 798, 496, 375, 21, 8, 496, 375, 375, 368, 647, - 648, 21, 8, 15, 21, 664, 148, 180, 683, 7, - 21, 7, 21, 15, 21, 21, 8, 21, 8, 21, - 8, 707, 78, 698, 698, 21, 329, 496, 500, 352, - 351, 8, 496, 40, 496, 622, 623, 770, 7, 7, - 684, 685, 707, 735, 718, 591, 496, 662, 496, 21, - 21, 21, 15, 21, 15, 15, 648, 368, 624, 8, - 21, 8, 21, 15, 21, 21, 21, 8, 495, 867, - 867, 17, 625, 626, 623, 685, 496, 686, 687, 21, - 496, 21, 21, 21, 627, 17, 7, 8, 21, 8, - 772, 627, 496, 687, 15, 375, 375, 688, 689, 690, - 691, 692, 182, 318, 128, 157, 217, 8, 21, 7, - 7, 15, 693, 693, 693, 689, 375, 691, 692, 375, - 692, 494, 7, 21, 692 + 35, 37, 38, 383, 384, 385, 371, 378, 392, 502, + 499, 15, 378, 371, 371, 502, 502, 525, 8, 675, + 732, 371, 502, 663, 371, 466, 467, 545, 422, 18, + 578, 579, 578, 398, 401, 642, 637, 7, 615, 617, + 710, 720, 721, 722, 421, 422, 460, 461, 62, 502, + 765, 15, 15, 7, 8, 21, 593, 422, 374, 422, + 476, 8, 672, 697, 21, 378, 371, 8, 499, 499, + 476, 502, 550, 810, 502, 287, 822, 822, 550, 819, + 822, 15, 550, 787, 550, 826, 787, 787, 550, 804, + 550, 816, 476, 147, 148, 180, 314, 315, 318, 319, + 379, 855, 856, 857, 8, 21, 503, 678, 858, 21, + 858, 379, 856, 378, 762, 763, 8, 8, 8, 8, + 502, 505, 506, 780, 663, 378, 875, 876, 877, 878, + 879, 880, 881, 378, 884, 885, 886, 887, 888, 378, + 889, 890, 8, 378, 895, 896, 371, 367, 365, 8, + 21, 213, 379, 476, 44, 87, 93, 119, 143, 145, + 178, 183, 187, 191, 194, 216, 230, 236, 390, 391, + 393, 371, 365, 493, 556, 577, 403, 476, 550, 550, + 8, 37, 15, 371, 439, 444, 378, 15, 519, 21, + 8, 499, 499, 499, 499, 499, 499, 499, 499, 499, + 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, + 577, 64, 129, 495, 497, 577, 502, 513, 516, 64, + 516, 510, 8, 21, 5, 499, 553, 568, 8, 21, + 5, 9, 499, 21, 499, 579, 579, 579, 579, 579, + 21, 572, 572, 8, 499, 500, 575, 576, 8, 8, + 8, 476, 476, 493, 43, 67, 82, 87, 88, 94, + 228, 259, 303, 646, 643, 378, 506, 522, 21, 371, + 15, 498, 67, 477, 660, 499, 7, 8, 21, 552, + 37, 8, 21, 657, 502, 505, 521, 523, 577, 749, + 479, 7, 476, 617, 15, 15, 15, 15, 15, 15, + 606, 617, 371, 21, 557, 588, 21, 21, 15, 8, + 21, 8, 509, 503, 8, 542, 26, 370, 654, 485, + 129, 489, 490, 491, 407, 169, 208, 282, 378, 15, + 7, 8, 21, 591, 574, 21, 21, 147, 148, 180, + 21, 18, 21, 7, 499, 517, 175, 323, 37, 8, + 21, 378, 8, 21, 26, 8, 21, 557, 499, 21, + 462, 463, 462, 21, 7, 617, 606, 15, 7, 8, + 21, 8, 15, 15, 26, 707, 708, 710, 498, 499, + 595, 378, 8, 697, 8, 672, 403, 393, 380, 21, + 21, 21, 617, 550, 21, 617, 550, 846, 617, 550, + 617, 550, 617, 550, 617, 550, 15, 15, 15, 15, + 15, 15, 378, 854, 8, 21, 21, 182, 315, 318, + 8, 21, 378, 378, 378, 499, 15, 15, 8, 21, + 21, 183, 191, 208, 356, 357, 8, 21, 41, 209, + 228, 8, 21, 338, 341, 342, 343, 354, 355, 8, + 21, 378, 244, 330, 345, 346, 347, 8, 21, 374, + 371, 376, 15, 408, 409, 476, 493, 15, 7, 8, + 371, 476, 15, 513, 5, 411, 499, 568, 422, 502, + 436, 15, 16, 17, 27, 36, 59, 64, 92, 149, + 201, 435, 437, 447, 448, 449, 450, 451, 452, 453, + 454, 439, 444, 445, 446, 15, 440, 441, 62, 499, + 574, 500, 495, 21, 8, 496, 499, 517, 568, 7, + 577, 482, 499, 577, 8, 573, 21, 8, 8, 8, + 500, 576, 500, 576, 500, 576, 371, 255, 8, 21, + 482, 481, 21, 7, 21, 499, 532, 21, 482, 550, + 8, 21, 568, 750, 8, 21, 480, 499, 618, 577, + 15, 620, 371, 619, 619, 499, 619, 476, 617, 239, + 534, 498, 428, 428, 371, 499, 541, 21, 499, 517, + 8, 21, 16, 15, 15, 15, 498, 738, 739, 494, + 502, 770, 7, 499, 7, 21, 21, 371, 613, 503, + 502, 191, 502, 617, 664, 499, 467, 550, 8, 47, + 177, 371, 465, 378, 634, 636, 606, 7, 7, 499, + 723, 724, 721, 722, 461, 499, 5, 620, 766, 767, + 773, 499, 630, 8, 21, 15, 21, 71, 208, 378, + 378, 494, 172, 371, 474, 475, 503, 191, 208, 282, + 285, 290, 298, 790, 791, 792, 799, 811, 812, 813, + 617, 266, 820, 821, 822, 617, 37, 502, 843, 844, + 84, 265, 289, 299, 304, 788, 790, 791, 792, 793, + 794, 795, 797, 798, 799, 617, 790, 791, 792, 793, + 794, 795, 797, 798, 799, 812, 813, 827, 617, 790, + 791, 792, 799, 805, 617, 790, 791, 817, 617, 858, + 858, 858, 378, 859, 860, 858, 858, 503, 763, 330, + 315, 331, 577, 495, 506, 15, 15, 15, 15, 15, + 876, 15, 15, 15, 885, 15, 15, 15, 15, 890, + 351, 352, 15, 15, 15, 15, 15, 896, 371, 18, + 26, 413, 15, 392, 7, 378, 408, 557, 557, 412, + 5, 499, 450, 451, 452, 455, 451, 453, 451, 453, + 246, 246, 246, 246, 246, 8, 37, 371, 438, 502, + 5, 440, 441, 8, 15, 16, 17, 149, 371, 438, + 442, 443, 456, 457, 458, 459, 15, 441, 15, 21, + 520, 21, 21, 509, 577, 499, 510, 553, 567, 579, + 543, 544, 500, 544, 544, 544, 476, 371, 638, 641, + 577, 8, 21, 7, 412, 499, 577, 499, 577, 568, + 631, 499, 621, 622, 21, 21, 21, 21, 8, 8, + 254, 528, 534, 21, 490, 491, 678, 678, 678, 21, + 21, 371, 15, 21, 499, 7, 7, 499, 476, 15, + 173, 8, 668, 669, 670, 671, 672, 674, 675, 676, + 679, 681, 682, 683, 697, 705, 543, 463, 15, 15, + 464, 255, 8, 7, 8, 21, 21, 21, 8, 21, + 21, 708, 709, 15, 15, 371, 371, 472, 473, 475, + 18, 8, 26, 789, 15, 789, 789, 15, 617, 811, + 789, 617, 820, 371, 8, 21, 15, 789, 15, 789, + 15, 617, 788, 617, 827, 617, 805, 617, 817, 21, + 21, 21, 316, 317, 8, 21, 21, 21, 15, 15, + 495, 21, 506, 882, 883, 678, 378, 701, 513, 678, + 707, 721, 707, 663, 663, 506, 893, 499, 891, 15, + 15, 378, 897, 898, 663, 663, 499, 378, 899, 21, + 499, 499, 648, 649, 21, 391, 413, 5, 499, 403, + 8, 21, 8, 516, 516, 516, 516, 516, 447, 5, + 15, 437, 448, 441, 371, 438, 446, 456, 457, 457, + 8, 21, 7, 16, 17, 5, 37, 9, 456, 499, + 20, 509, 496, 21, 26, 21, 21, 21, 21, 15, + 506, 568, 482, 659, 494, 521, 568, 750, 499, 21, + 7, 8, 21, 499, 378, 15, 21, 21, 21, 7, + 771, 772, 773, 499, 499, 7, 678, 502, 665, 378, + 670, 26, 465, 26, 384, 638, 636, 371, 609, 610, + 611, 612, 724, 767, 617, 78, 594, 371, 673, 721, + 698, 8, 371, 475, 499, 617, 800, 378, 617, 617, + 845, 502, 843, 378, 499, 499, 617, 617, 617, 617, + 860, 678, 502, 21, 26, 8, 21, 21, 22, 24, + 33, 35, 158, 159, 161, 162, 192, 234, 247, 702, + 703, 704, 8, 21, 21, 21, 21, 21, 21, 21, + 21, 8, 21, 8, 21, 378, 870, 871, 870, 315, + 350, 8, 21, 21, 21, 21, 348, 349, 8, 8, + 21, 7, 21, 21, 577, 455, 448, 577, 438, 26, + 21, 456, 443, 457, 457, 458, 458, 458, 21, 499, + 5, 499, 517, 639, 640, 502, 8, 678, 502, 8, + 499, 622, 378, 21, 254, 499, 8, 21, 499, 21, + 15, 41, 135, 209, 221, 223, 224, 226, 229, 320, + 322, 499, 464, 21, 21, 15, 8, 132, 768, 21, + 21, 7, 21, 700, 702, 473, 5, 16, 17, 22, + 24, 33, 35, 37, 159, 162, 247, 305, 306, 307, + 802, 21, 94, 230, 284, 295, 814, 37, 191, 288, + 299, 796, 21, 21, 21, 21, 499, 883, 15, 15, + 378, 506, 499, 353, 8, 21, 21, 898, 499, 7, + 7, 411, 21, 495, 442, 456, 21, 8, 8, 21, + 482, 568, 255, 15, 21, 772, 5, 499, 666, 667, + 15, 684, 15, 15, 15, 15, 706, 706, 15, 15, + 15, 8, 498, 610, 710, 711, 15, 721, 699, 699, + 7, 8, 21, 846, 21, 8, 503, 678, 702, 8, + 871, 8, 872, 8, 873, 21, 7, 412, 21, 21, + 499, 640, 499, 371, 623, 624, 499, 8, 21, 685, + 684, 720, 738, 720, 721, 710, 707, 499, 499, 677, + 665, 680, 499, 21, 8, 378, 21, 7, 8, 21, + 678, 801, 499, 378, 21, 8, 499, 378, 378, 371, + 650, 651, 21, 8, 15, 21, 667, 148, 180, 686, + 7, 21, 7, 21, 15, 21, 21, 8, 21, 8, + 21, 8, 710, 78, 701, 701, 21, 329, 499, 503, + 352, 351, 8, 499, 40, 499, 625, 626, 773, 7, + 7, 687, 688, 710, 738, 721, 594, 499, 665, 499, + 21, 21, 21, 15, 21, 15, 15, 651, 371, 627, + 8, 21, 8, 21, 15, 21, 21, 21, 8, 498, + 870, 870, 17, 628, 629, 626, 688, 499, 689, 690, + 21, 499, 21, 21, 21, 630, 17, 7, 8, 21, + 8, 775, 630, 499, 690, 15, 378, 378, 691, 692, + 693, 694, 695, 182, 318, 128, 157, 217, 8, 21, + 7, 7, 15, 696, 696, 696, 692, 378, 694, 695, + 378, 695, 497, 7, 21, 695 }; #define yyerrok (yyerrstatus = 0) @@ -5478,22 +5517,22 @@ yyreduce: switch (yyn) { case 2: -#line 789 "gram1.y" +#line 793 "gram1.y" { (yyval.bf_node) = BFNULL; ;} break; case 3: -#line 791 "gram1.y" +#line 795 "gram1.y" { (yyval.bf_node) = set_stat_list((yyvsp[(1) - (3)].bf_node),(yyvsp[(2) - (3)].bf_node)); ;} break; case 4: -#line 795 "gram1.y" +#line 799 "gram1.y" { lastwasbranch = NO; (yyval.bf_node) = BFNULL; ;} break; case 5: -#line 797 "gram1.y" +#line 801 "gram1.y" { if ((yyvsp[(2) - (3)].bf_node) != BFNULL) { @@ -5510,7 +5549,7 @@ yyreduce: break; case 6: -#line 811 "gram1.y" +#line 815 "gram1.y" { PTR_BFND p; if(lastwasbranch && ! thislabel) @@ -5544,7 +5583,7 @@ yyreduce: break; case 7: -#line 842 "gram1.y" +#line 846 "gram1.y" { /* PTR_LLND p; */ doinclude( (yyvsp[(3) - (3)].charp) ); /* p = make_llnd(fi, STRING_VAL, LLNULL, LLNULL, SMNULL); @@ -5556,7 +5595,7 @@ yyreduce: break; case 8: -#line 851 "gram1.y" +#line 855 "gram1.y" { err("Unclassifiable statement", 10); flline(); @@ -5565,7 +5604,7 @@ yyreduce: break; case 9: -#line 857 "gram1.y" +#line 861 "gram1.y" { PTR_CMNT p; PTR_BFND bif; @@ -5587,7 +5626,7 @@ yyreduce: break; case 10: -#line 877 "gram1.y" +#line 881 "gram1.y" { flline(); needkwd = NO; inioctl = NO; /*!!!*/ @@ -5597,7 +5636,7 @@ yyreduce: break; case 11: -#line 886 "gram1.y" +#line 890 "gram1.y" { if(yystno) { @@ -5614,7 +5653,7 @@ yyreduce: break; case 12: -#line 902 "gram1.y" +#line 906 "gram1.y" { PTR_BFND p; if (pred_bfnd != global_bfnd) @@ -5628,7 +5667,7 @@ yyreduce: break; case 13: -#line 914 "gram1.y" +#line 918 "gram1.y" { PTR_BFND q = BFNULL; (yyvsp[(3) - (3)].symbol)->variant = PROCEDURE_NAME; @@ -5640,7 +5679,7 @@ yyreduce: break; case 14: -#line 924 "gram1.y" +#line 928 "gram1.y" { install_param_list((yyvsp[(3) - (4)].symbol), (yyvsp[(4) - (4)].symbol), LLNULL, PROCEDURE_NAME); /* if there is only a control end the control parent is not set */ @@ -5649,7 +5688,7 @@ yyreduce: break; case 15: -#line 931 "gram1.y" +#line 935 "gram1.y" { install_param_list((yyvsp[(4) - (5)].symbol), (yyvsp[(5) - (5)].symbol), LLNULL, PROCEDURE_NAME); if((yyvsp[(1) - (5)].ll_node)->variant == RECURSIVE_OP) (yyvsp[(4) - (5)].symbol)->attr = (yyvsp[(4) - (5)].symbol)->attr | RECURSIVE_BIT; @@ -5658,7 +5697,7 @@ yyreduce: break; case 16: -#line 937 "gram1.y" +#line 941 "gram1.y" { install_param_list((yyvsp[(3) - (5)].symbol), (yyvsp[(4) - (5)].symbol), (yyvsp[(5) - (5)].ll_node), FUNCTION_NAME); pred_bfnd->entry.Template.ll_ptr1 = (yyvsp[(5) - (5)].ll_node); @@ -5666,7 +5705,7 @@ yyreduce: break; case 17: -#line 942 "gram1.y" +#line 946 "gram1.y" { install_param_list((yyvsp[(1) - (3)].symbol), (yyvsp[(2) - (3)].symbol), (yyvsp[(3) - (3)].ll_node), FUNCTION_NAME); pred_bfnd->entry.Template.ll_ptr1 = (yyvsp[(3) - (3)].ll_node); @@ -5674,7 +5713,7 @@ yyreduce: break; case 18: -#line 947 "gram1.y" +#line 951 "gram1.y" {PTR_BFND p, bif; PTR_SYMB q = SMNULL; PTR_LLND l = LLNULL; @@ -5701,7 +5740,7 @@ yyreduce: break; case 19: -#line 971 "gram1.y" +#line 975 "gram1.y" { PTR_SYMB s; PTR_BFND p; /* @@ -5729,7 +5768,7 @@ yyreduce: break; case 20: -#line 997 "gram1.y" +#line 1001 "gram1.y" { newprog(); if (position == IN_OUTSIDE) position = IN_PROC; @@ -5745,22 +5784,22 @@ yyreduce: break; case 21: -#line 1012 "gram1.y" +#line 1016 "gram1.y" { (yyval.ll_node) = make_llnd(fi, RECURSIVE_OP, LLNULL, LLNULL, SMNULL); ;} break; case 22: -#line 1014 "gram1.y" +#line 1018 "gram1.y" { (yyval.ll_node) = make_llnd(fi, PURE_OP, LLNULL, LLNULL, SMNULL); ;} break; case 23: -#line 1016 "gram1.y" +#line 1020 "gram1.y" { (yyval.ll_node) = make_llnd(fi, ELEMENTAL_OP, LLNULL, LLNULL, SMNULL); ;} break; case 24: -#line 1020 "gram1.y" +#line 1024 "gram1.y" { PTR_BFND p; (yyval.symbol) = make_procedure((yyvsp[(1) - (1)].hash_entry), LOCAL); @@ -5778,7 +5817,7 @@ yyreduce: break; case 25: -#line 1037 "gram1.y" +#line 1041 "gram1.y" { PTR_BFND p; (yyval.symbol) = make_function((yyvsp[(1) - (1)].hash_entry), TYNULL, LOCAL); @@ -5793,7 +5832,7 @@ yyreduce: break; case 26: -#line 1051 "gram1.y" +#line 1055 "gram1.y" { PTR_BFND p; PTR_LLND l; @@ -5820,7 +5859,7 @@ yyreduce: break; case 27: -#line 1075 "gram1.y" +#line 1079 "gram1.y" { PTR_BFND p; PTR_LLND l; (yyval.symbol) = make_function((yyvsp[(5) - (5)].hash_entry), (yyvsp[(1) - (5)].data_type), LOCAL); @@ -5839,7 +5878,7 @@ yyreduce: break; case 28: -#line 1091 "gram1.y" +#line 1095 "gram1.y" { PTR_BFND p; (yyval.symbol) = make_function((yyvsp[(4) - (4)].hash_entry), TYNULL, LOCAL); @@ -5856,7 +5895,7 @@ yyreduce: break; case 29: -#line 1105 "gram1.y" +#line 1109 "gram1.y" { PTR_BFND p; PTR_LLND l; (yyval.symbol) = make_function((yyvsp[(5) - (5)].hash_entry), (yyvsp[(2) - (5)].data_type), LOCAL); @@ -5875,12 +5914,12 @@ yyreduce: break; case 30: -#line 1123 "gram1.y" +#line 1127 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 31: -#line 1125 "gram1.y" +#line 1129 "gram1.y" { PTR_SYMB s; s = make_scalar((yyvsp[(4) - (5)].hash_entry), TYNULL, LOCAL); (yyval.ll_node) = make_llnd(fi, VAR_REF, LLNULL, LLNULL, s); @@ -5888,17 +5927,17 @@ yyreduce: break; case 32: -#line 1132 "gram1.y" +#line 1136 "gram1.y" { (yyval.hash_entry) = look_up_sym(yytext); ;} break; case 33: -#line 1135 "gram1.y" +#line 1139 "gram1.y" { (yyval.symbol) = make_program(look_up_sym("_MAIN")); ;} break; case 34: -#line 1137 "gram1.y" +#line 1141 "gram1.y" { (yyval.symbol) = make_program((yyvsp[(1) - (1)].hash_entry)); (yyval.symbol)->decl = YES; /* variable declaration has been seen. */ @@ -5906,12 +5945,12 @@ yyreduce: break; case 35: -#line 1143 "gram1.y" +#line 1147 "gram1.y" { (yyval.symbol) = make_program(look_up_sym("_BLOCK")); ;} break; case 36: -#line 1145 "gram1.y" +#line 1149 "gram1.y" { (yyval.symbol) = make_program((yyvsp[(1) - (1)].hash_entry)); (yyval.symbol)->decl = YES; /* variable declaration has been seen. */ @@ -5919,39 +5958,39 @@ yyreduce: break; case 37: -#line 1152 "gram1.y" +#line 1156 "gram1.y" { (yyval.symbol) = SMNULL; ;} break; case 38: -#line 1154 "gram1.y" +#line 1158 "gram1.y" { (yyval.symbol) = SMNULL; ;} break; case 39: -#line 1156 "gram1.y" +#line 1160 "gram1.y" { (yyval.symbol) = (yyvsp[(2) - (3)].symbol); ;} break; case 41: -#line 1161 "gram1.y" +#line 1165 "gram1.y" { (yyval.symbol) = set_id_list((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} break; case 42: -#line 1165 "gram1.y" +#line 1169 "gram1.y" { (yyval.symbol) = make_scalar((yyvsp[(1) - (1)].hash_entry), TYNULL, IO); ;} break; case 43: -#line 1169 "gram1.y" +#line 1173 "gram1.y" { (yyval.symbol) = make_scalar(look_up_sym("*"), TYNULL, IO); ;} break; case 44: -#line 1175 "gram1.y" +#line 1179 "gram1.y" { char *s; s = copyn(yyleng+1, yytext); @@ -5961,22 +6000,22 @@ yyreduce: break; case 45: -#line 1184 "gram1.y" +#line 1188 "gram1.y" { needkwd = 1; ;} break; case 46: -#line 1188 "gram1.y" +#line 1192 "gram1.y" { needkwd = NO; ;} break; case 47: -#line 1193 "gram1.y" +#line 1197 "gram1.y" { colon_flag = YES; ;} break; case 61: -#line 1214 "gram1.y" +#line 1218 "gram1.y" { saveall = YES; (yyval.bf_node) = get_bfnd(fi,SAVE_DECL, SMNULL, LLNULL, LLNULL, LLNULL); @@ -5984,14 +6023,14 @@ yyreduce: break; case 62: -#line 1219 "gram1.y" +#line 1223 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,SAVE_DECL, SMNULL, (yyvsp[(4) - (4)].ll_node), LLNULL, LLNULL); ;} break; case 63: -#line 1224 "gram1.y" +#line 1228 "gram1.y" { PTR_LLND p; p = make_llnd(fi,STMT_STR, LLNULL, LLNULL, SMNULL); @@ -6001,19 +6040,19 @@ yyreduce: break; case 64: -#line 1231 "gram1.y" +#line 1235 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,PARAM_DECL, SMNULL, (yyvsp[(4) - (5)].ll_node), LLNULL, LLNULL); ;} break; case 77: -#line 1247 "gram1.y" +#line 1251 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, INTERFACE_STMT, SMNULL, LLNULL, LLNULL, LLNULL); add_scope_level((yyval.bf_node), NO); ;} break; case 78: -#line 1251 "gram1.y" +#line 1255 "gram1.y" { PTR_SYMB s; s = make_procedure((yyvsp[(3) - (3)].hash_entry), LOCAL); @@ -6024,7 +6063,7 @@ yyreduce: break; case 79: -#line 1259 "gram1.y" +#line 1263 "gram1.y" { PTR_SYMB s; s = make_function((yyvsp[(4) - (5)].hash_entry), global_default, LOCAL); @@ -6035,7 +6074,7 @@ yyreduce: break; case 80: -#line 1267 "gram1.y" +#line 1271 "gram1.y" { PTR_SYMB s; @@ -6047,7 +6086,7 @@ yyreduce: break; case 81: -#line 1276 "gram1.y" +#line 1280 "gram1.y" { parstate = INDCL; (yyval.bf_node) = get_bfnd(fi, CONTROL_END, SMNULL, LLNULL, LLNULL, LLNULL); /*process_interface($$);*/ /*podd 01.02.03*/ @@ -6056,112 +6095,112 @@ yyreduce: break; case 82: -#line 1284 "gram1.y" +#line 1288 "gram1.y" { (yyval.hash_entry) = look_up_sym(yytext); ;} break; case 83: -#line 1288 "gram1.y" +#line 1292 "gram1.y" { (yyval.hash_entry) = (yyvsp[(1) - (1)].hash_entry); ;} break; case 84: -#line 1290 "gram1.y" +#line 1294 "gram1.y" { (yyval.hash_entry) = (yyvsp[(1) - (1)].hash_entry); ;} break; case 85: -#line 1294 "gram1.y" +#line 1298 "gram1.y" { (yyval.hash_entry) = look_up_op(PLUS); ;} break; case 86: -#line 1296 "gram1.y" +#line 1300 "gram1.y" { (yyval.hash_entry) = look_up_op(MINUS); ;} break; case 87: -#line 1298 "gram1.y" +#line 1302 "gram1.y" { (yyval.hash_entry) = look_up_op(ASTER); ;} break; case 88: -#line 1300 "gram1.y" +#line 1304 "gram1.y" { (yyval.hash_entry) = look_up_op(DASTER); ;} break; case 89: -#line 1302 "gram1.y" +#line 1306 "gram1.y" { (yyval.hash_entry) = look_up_op(SLASH); ;} break; case 90: -#line 1304 "gram1.y" +#line 1308 "gram1.y" { (yyval.hash_entry) = look_up_op(DSLASH); ;} break; case 91: -#line 1306 "gram1.y" +#line 1310 "gram1.y" { (yyval.hash_entry) = look_up_op(AND); ;} break; case 92: -#line 1308 "gram1.y" +#line 1312 "gram1.y" { (yyval.hash_entry) = look_up_op(OR); ;} break; case 93: -#line 1310 "gram1.y" +#line 1314 "gram1.y" { (yyval.hash_entry) = look_up_op(XOR); ;} break; case 94: -#line 1312 "gram1.y" +#line 1316 "gram1.y" { (yyval.hash_entry) = look_up_op(NOT); ;} break; case 95: -#line 1314 "gram1.y" +#line 1318 "gram1.y" { (yyval.hash_entry) = look_up_op(EQ); ;} break; case 96: -#line 1316 "gram1.y" +#line 1320 "gram1.y" { (yyval.hash_entry) = look_up_op(NE); ;} break; case 97: -#line 1318 "gram1.y" +#line 1322 "gram1.y" { (yyval.hash_entry) = look_up_op(GT); ;} break; case 98: -#line 1320 "gram1.y" +#line 1324 "gram1.y" { (yyval.hash_entry) = look_up_op(GE); ;} break; case 99: -#line 1322 "gram1.y" +#line 1326 "gram1.y" { (yyval.hash_entry) = look_up_op(LT); ;} break; case 100: -#line 1324 "gram1.y" +#line 1328 "gram1.y" { (yyval.hash_entry) = look_up_op(LE); ;} break; case 101: -#line 1326 "gram1.y" +#line 1330 "gram1.y" { (yyval.hash_entry) = look_up_op(NEQV); ;} break; case 102: -#line 1328 "gram1.y" +#line 1332 "gram1.y" { (yyval.hash_entry) = look_up_op(EQV); ;} break; case 103: -#line 1333 "gram1.y" +#line 1337 "gram1.y" { PTR_SYMB s; @@ -6172,7 +6211,7 @@ yyreduce: break; case 104: -#line 1342 "gram1.y" +#line 1346 "gram1.y" { PTR_SYMB s; type_var = s = make_derived_type((yyvsp[(7) - (7)].hash_entry), TYNULL, LOCAL); @@ -6183,7 +6222,7 @@ yyreduce: break; case 105: -#line 1352 "gram1.y" +#line 1356 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, CONTROL_END, SMNULL, LLNULL, LLNULL, LLNULL); if (type_var != SMNULL) @@ -6194,7 +6233,7 @@ yyreduce: break; case 106: -#line 1360 "gram1.y" +#line 1364 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, CONTROL_END, SMNULL, LLNULL, LLNULL, LLNULL); if (type_var != SMNULL) @@ -6205,7 +6244,7 @@ yyreduce: break; case 107: -#line 1370 "gram1.y" +#line 1374 "gram1.y" { PTR_LLND q, r, l; /* PTR_SYMB s;*/ @@ -6229,7 +6268,7 @@ yyreduce: break; case 108: -#line 1391 "gram1.y" +#line 1395 "gram1.y" { PTR_LLND q, r; /* PTR_SYMB s;*/ @@ -6249,51 +6288,51 @@ yyreduce: break; case 109: -#line 1410 "gram1.y" +#line 1414 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 110: -#line 1412 "gram1.y" +#line 1416 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 111: -#line 1414 "gram1.y" +#line 1418 "gram1.y" { (yyval.ll_node) = (yyvsp[(3) - (5)].ll_node); ;} break; case 112: -#line 1418 "gram1.y" +#line 1422 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 113: -#line 1420 "gram1.y" +#line 1424 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node), (yyvsp[(4) - (4)].ll_node), EXPR_LIST); ;} break; case 114: -#line 1424 "gram1.y" +#line 1428 "gram1.y" { type_options = type_options | PARAMETER_BIT; (yyval.ll_node) = make_llnd(fi, PARAMETER_OP, LLNULL, LLNULL, SMNULL); ;} break; case 115: -#line 1428 "gram1.y" +#line 1432 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 116: -#line 1430 "gram1.y" +#line 1434 "gram1.y" { type_options = type_options | ALLOCATABLE_BIT; (yyval.ll_node) = make_llnd(fi, ALLOCATABLE_OP, LLNULL, LLNULL, SMNULL); ;} break; case 117: -#line 1434 "gram1.y" +#line 1438 "gram1.y" { type_options = type_options | DIMENSION_BIT; attr_ndim = ndim; attr_dims = (yyvsp[(2) - (2)].ll_node); @@ -6302,82 +6341,82 @@ yyreduce: break; case 118: -#line 1440 "gram1.y" +#line 1444 "gram1.y" { type_options = type_options | EXTERNAL_BIT; (yyval.ll_node) = make_llnd(fi, EXTERNAL_OP, LLNULL, LLNULL, SMNULL); ;} break; case 119: -#line 1444 "gram1.y" +#line 1448 "gram1.y" { (yyval.ll_node) = (yyvsp[(3) - (4)].ll_node); ;} break; case 120: -#line 1446 "gram1.y" +#line 1450 "gram1.y" { type_options = type_options | INTRINSIC_BIT; (yyval.ll_node) = make_llnd(fi, INTRINSIC_OP, LLNULL, LLNULL, SMNULL); ;} break; case 121: -#line 1450 "gram1.y" +#line 1454 "gram1.y" { type_options = type_options | OPTIONAL_BIT; (yyval.ll_node) = make_llnd(fi, OPTIONAL_OP, LLNULL, LLNULL, SMNULL); ;} break; case 122: -#line 1454 "gram1.y" +#line 1458 "gram1.y" { type_options = type_options | POINTER_BIT; (yyval.ll_node) = make_llnd(fi, POINTER_OP, LLNULL, LLNULL, SMNULL); ;} break; case 123: -#line 1458 "gram1.y" +#line 1462 "gram1.y" { type_options = type_options | SAVE_BIT; (yyval.ll_node) = make_llnd(fi, SAVE_OP, LLNULL, LLNULL, SMNULL); ;} break; case 124: -#line 1462 "gram1.y" +#line 1466 "gram1.y" { type_options = type_options | SAVE_BIT; (yyval.ll_node) = make_llnd(fi, STATIC_OP, LLNULL, LLNULL, SMNULL); ;} break; case 125: -#line 1466 "gram1.y" +#line 1470 "gram1.y" { type_options = type_options | TARGET_BIT; (yyval.ll_node) = make_llnd(fi, TARGET_OP, LLNULL, LLNULL, SMNULL); ;} break; case 126: -#line 1472 "gram1.y" +#line 1476 "gram1.y" { type_options = type_options | IN_BIT; type_opt = IN_BIT; (yyval.ll_node) = make_llnd(fi, IN_OP, LLNULL, LLNULL, SMNULL); ;} break; case 127: -#line 1476 "gram1.y" +#line 1480 "gram1.y" { type_options = type_options | OUT_BIT; type_opt = OUT_BIT; (yyval.ll_node) = make_llnd(fi, OUT_OP, LLNULL, LLNULL, SMNULL); ;} break; case 128: -#line 1480 "gram1.y" +#line 1484 "gram1.y" { type_options = type_options | INOUT_BIT; type_opt = INOUT_BIT; (yyval.ll_node) = make_llnd(fi, INOUT_OP, LLNULL, LLNULL, SMNULL); ;} break; case 129: -#line 1486 "gram1.y" +#line 1490 "gram1.y" { type_options = type_options | PUBLIC_BIT; type_opt = PUBLIC_BIT; (yyval.ll_node) = make_llnd(fi, PUBLIC_OP, LLNULL, LLNULL, SMNULL); @@ -6385,7 +6424,7 @@ yyreduce: break; case 130: -#line 1491 "gram1.y" +#line 1495 "gram1.y" { type_options = type_options | PRIVATE_BIT; type_opt = PRIVATE_BIT; (yyval.ll_node) = make_llnd(fi, PRIVATE_OP, LLNULL, LLNULL, SMNULL); @@ -6393,7 +6432,7 @@ yyreduce: break; case 131: -#line 1498 "gram1.y" +#line 1502 "gram1.y" { PTR_LLND q, r; PTR_SYMB s; @@ -6407,7 +6446,7 @@ yyreduce: break; case 132: -#line 1509 "gram1.y" +#line 1513 "gram1.y" { PTR_LLND q, r; PTR_SYMB s; @@ -6421,7 +6460,7 @@ yyreduce: break; case 133: -#line 1522 "gram1.y" +#line 1526 "gram1.y" { PTR_LLND q, r; PTR_SYMB s; @@ -6435,7 +6474,7 @@ yyreduce: break; case 134: -#line 1533 "gram1.y" +#line 1537 "gram1.y" { PTR_LLND q, r; PTR_SYMB s; @@ -6449,7 +6488,7 @@ yyreduce: break; case 135: -#line 1546 "gram1.y" +#line 1550 "gram1.y" { PTR_LLND r; PTR_SYMB s; @@ -6462,7 +6501,7 @@ yyreduce: break; case 136: -#line 1556 "gram1.y" +#line 1560 "gram1.y" { PTR_LLND r; PTR_SYMB s; @@ -6475,7 +6514,7 @@ yyreduce: break; case 137: -#line 1569 "gram1.y" +#line 1573 "gram1.y" { privateall = 1; (yyval.bf_node) = get_bfnd(fi, PRIVATE_STMT, SMNULL, LLNULL, LLNULL, LLNULL); @@ -6483,7 +6522,7 @@ yyreduce: break; case 138: -#line 1574 "gram1.y" +#line 1578 "gram1.y" { /*type_options = type_options | PRIVATE_BIT;*/ (yyval.bf_node) = get_bfnd(fi, PRIVATE_STMT, SMNULL, (yyvsp[(5) - (5)].ll_node), LLNULL, LLNULL); @@ -6491,19 +6530,19 @@ yyreduce: break; case 139: -#line 1580 "gram1.y" +#line 1584 "gram1.y" {type_opt = PRIVATE_BIT;;} break; case 140: -#line 1584 "gram1.y" +#line 1588 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, SEQUENCE_STMT, SMNULL, LLNULL, LLNULL, LLNULL); ;} break; case 141: -#line 1589 "gram1.y" +#line 1593 "gram1.y" { /*saveall = YES;*/ /*14.03.03*/ (yyval.bf_node) = get_bfnd(fi, PUBLIC_STMT, SMNULL, LLNULL, LLNULL, LLNULL); @@ -6511,7 +6550,7 @@ yyreduce: break; case 142: -#line 1594 "gram1.y" +#line 1598 "gram1.y" { /*type_options = type_options | PUBLIC_BIT;*/ (yyval.bf_node) = get_bfnd(fi, PUBLIC_STMT, SMNULL, (yyvsp[(5) - (5)].ll_node), LLNULL, LLNULL); @@ -6519,12 +6558,12 @@ yyreduce: break; case 143: -#line 1600 "gram1.y" +#line 1604 "gram1.y" {type_opt = PUBLIC_BIT;;} break; case 144: -#line 1604 "gram1.y" +#line 1608 "gram1.y" { type_options = 0; /* following block added by dbg */ @@ -6537,7 +6576,7 @@ yyreduce: break; case 145: -#line 1614 "gram1.y" +#line 1618 "gram1.y" { PTR_TYPE t; type_options = 0; @@ -6551,12 +6590,12 @@ yyreduce: break; case 146: -#line 1627 "gram1.y" +#line 1631 "gram1.y" {opt_kwd_hedr = YES;;} break; case 147: -#line 1632 "gram1.y" +#line 1636 "gram1.y" { PTR_TYPE p; PTR_LLND q; PTR_SYMB s; @@ -6576,7 +6615,7 @@ yyreduce: break; case 148: -#line 1651 "gram1.y" +#line 1655 "gram1.y" { PTR_TYPE p; PTR_LLND q, r; PTR_SYMB s; @@ -6603,17 +6642,17 @@ yyreduce: break; case 149: -#line 1677 "gram1.y" +#line 1681 "gram1.y" { (yyval.token) = ATT_GLOBAL; ;} break; case 150: -#line 1679 "gram1.y" +#line 1683 "gram1.y" { (yyval.token) = ATT_CLUSTER; ;} break; case 151: -#line 1691 "gram1.y" +#line 1695 "gram1.y" { /* varleng = ($1<0 || $1==TYLONG ? 0 : typesize[$1]); */ vartype = (yyvsp[(1) - (1)].data_type); @@ -6621,57 +6660,57 @@ yyreduce: break; case 152: -#line 1698 "gram1.y" +#line 1702 "gram1.y" { (yyval.data_type) = global_int; ;} break; case 153: -#line 1699 "gram1.y" +#line 1703 "gram1.y" { (yyval.data_type) = global_float; ;} break; case 154: -#line 1700 "gram1.y" +#line 1704 "gram1.y" { (yyval.data_type) = global_complex; ;} break; case 155: -#line 1701 "gram1.y" +#line 1705 "gram1.y" { (yyval.data_type) = global_double; ;} break; case 156: -#line 1702 "gram1.y" +#line 1706 "gram1.y" { (yyval.data_type) = global_dcomplex; ;} break; case 157: -#line 1703 "gram1.y" +#line 1707 "gram1.y" { (yyval.data_type) = global_bool; ;} break; case 158: -#line 1704 "gram1.y" +#line 1708 "gram1.y" { (yyval.data_type) = global_string; ;} break; case 159: -#line 1709 "gram1.y" +#line 1713 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 160: -#line 1711 "gram1.y" +#line 1715 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 161: -#line 1715 "gram1.y" +#line 1719 "gram1.y" { (yyval.ll_node) = make_llnd(fi, LEN_OP, (yyvsp[(3) - (5)].ll_node), LLNULL, SMNULL); ;} break; case 162: -#line 1717 "gram1.y" +#line 1721 "gram1.y" { PTR_LLND l; l = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); @@ -6681,27 +6720,27 @@ yyreduce: break; case 163: -#line 1724 "gram1.y" +#line 1728 "gram1.y" {(yyval.ll_node) = make_llnd(fi, LEN_OP, (yyvsp[(5) - (6)].ll_node), (yyvsp[(5) - (6)].ll_node), SMNULL);;} break; case 164: -#line 1728 "gram1.y" +#line 1732 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 165: -#line 1730 "gram1.y" +#line 1734 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 166: -#line 1732 "gram1.y" +#line 1736 "gram1.y" { /*$$ = make_llnd(fi, PAREN_OP, $2, LLNULL, SMNULL);*/ (yyval.ll_node) = (yyvsp[(3) - (5)].ll_node); ;} break; case 167: -#line 1740 "gram1.y" +#line 1744 "gram1.y" { if((yyvsp[(7) - (9)].ll_node)->variant==LENGTH_OP && (yyvsp[(3) - (9)].ll_node)->variant==(yyvsp[(7) - (9)].ll_node)->variant) (yyvsp[(7) - (9)].ll_node)->variant=KIND_OP; (yyval.ll_node) = make_llnd(fi, CONS, (yyvsp[(3) - (9)].ll_node), (yyvsp[(7) - (9)].ll_node), SMNULL); @@ -6709,7 +6748,7 @@ yyreduce: break; case 168: -#line 1747 "gram1.y" +#line 1751 "gram1.y" { if(vartype->variant == T_STRING) (yyval.ll_node) = make_llnd(fi,LENGTH_OP,(yyvsp[(1) - (1)].ll_node),LLNULL,SMNULL); else @@ -6718,7 +6757,7 @@ yyreduce: break; case 169: -#line 1753 "gram1.y" +#line 1757 "gram1.y" { PTR_LLND l; l = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); l->entry.string_val = (char *)"*"; @@ -6727,7 +6766,7 @@ yyreduce: break; case 170: -#line 1759 "gram1.y" +#line 1763 "gram1.y" { /* $$ = make_llnd(fi, SPEC_PAIR, $2, LLNULL, SMNULL); */ char *q; q = (yyvsp[(1) - (2)].ll_node)->entry.string_val; @@ -6739,7 +6778,7 @@ yyreduce: break; case 171: -#line 1768 "gram1.y" +#line 1772 "gram1.y" { PTR_LLND l; l = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); l->entry.string_val = (char *)"*"; @@ -6748,27 +6787,27 @@ yyreduce: break; case 172: -#line 1776 "gram1.y" +#line 1780 "gram1.y" {endioctl();;} break; case 173: -#line 1789 "gram1.y" +#line 1793 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 174: -#line 1791 "gram1.y" +#line 1795 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (2)].ll_node); ;} break; case 175: -#line 1794 "gram1.y" +#line 1798 "gram1.y" { (yyval.ll_node) = make_llnd(fi, POINTST_OP, LLNULL, (yyvsp[(2) - (2)].ll_node), SMNULL); ;} break; case 176: -#line 1798 "gram1.y" +#line 1802 "gram1.y" { PTR_SYMB s; PTR_LLND q, r; if(! (yyvsp[(5) - (5)].ll_node)) { @@ -6786,7 +6825,7 @@ yyreduce: break; case 177: -#line 1813 "gram1.y" +#line 1817 "gram1.y" { PTR_SYMB s; PTR_LLND q, r; if(! (yyvsp[(4) - (4)].ll_node)) { @@ -6802,7 +6841,7 @@ yyreduce: break; case 178: -#line 1829 "gram1.y" +#line 1833 "gram1.y" {/* PTR_SYMB s;*/ PTR_LLND r; @@ -6822,7 +6861,7 @@ yyreduce: break; case 179: -#line 1847 "gram1.y" +#line 1851 "gram1.y" { /*PTR_SYMB s;*/ PTR_LLND r; @@ -6843,7 +6882,7 @@ yyreduce: break; case 180: -#line 1867 "gram1.y" +#line 1871 "gram1.y" { PTR_SYMB s; PTR_LLND r; @@ -6866,7 +6905,7 @@ yyreduce: break; case 181: -#line 1887 "gram1.y" +#line 1891 "gram1.y" { PTR_SYMB s; PTR_LLND r; @@ -6889,7 +6928,7 @@ yyreduce: break; case 182: -#line 1909 "gram1.y" +#line 1913 "gram1.y" {/* PTR_SYMB s;*/ PTR_LLND r; @@ -6909,7 +6948,7 @@ yyreduce: break; case 183: -#line 1926 "gram1.y" +#line 1930 "gram1.y" { /*PTR_SYMB s;*/ PTR_LLND r; @@ -6928,7 +6967,7 @@ yyreduce: break; case 184: -#line 1944 "gram1.y" +#line 1948 "gram1.y" { PTR_LLND p, q; p = make_llnd(fi,EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); @@ -6938,7 +6977,7 @@ yyreduce: break; case 185: -#line 1951 "gram1.y" +#line 1955 "gram1.y" { PTR_LLND p, q; p = make_llnd(fi,EXPR_LIST, (yyvsp[(4) - (4)].ll_node), LLNULL, SMNULL); @@ -6948,7 +6987,7 @@ yyreduce: break; case 186: -#line 1958 "gram1.y" +#line 1962 "gram1.y" { PTR_LLND p, q; p = make_llnd(fi,EXPR_LIST, (yyvsp[(5) - (5)].ll_node), LLNULL, SMNULL); @@ -6958,7 +6997,7 @@ yyreduce: break; case 187: -#line 1965 "gram1.y" +#line 1969 "gram1.y" { PTR_LLND p, r; p = make_llnd(fi,EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); @@ -6971,7 +7010,7 @@ yyreduce: break; case 188: -#line 1978 "gram1.y" +#line 1982 "gram1.y" { PTR_LLND q, r; q = make_llnd(fi,EXPR_LIST, (yyvsp[(4) - (4)].ll_node), LLNULL, SMNULL); @@ -6981,7 +7020,7 @@ yyreduce: break; case 189: -#line 1985 "gram1.y" +#line 1989 "gram1.y" { PTR_LLND q, r; q = make_llnd(fi,EXPR_LIST, (yyvsp[(5) - (5)].ll_node), LLNULL, SMNULL); @@ -6991,7 +7030,7 @@ yyreduce: break; case 190: -#line 1992 "gram1.y" +#line 1996 "gram1.y" { PTR_LLND q, r; q = make_llnd(fi,EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); @@ -7003,22 +7042,22 @@ yyreduce: break; case 191: -#line 2003 "gram1.y" +#line 2007 "gram1.y" { (yyval.symbol) = make_local_entity((yyvsp[(2) - (3)].hash_entry), NAMELIST_NAME,global_default,LOCAL); ;} break; case 192: -#line 2007 "gram1.y" +#line 2011 "gram1.y" { (yyval.symbol) = NULL; /*make_common(look_up_sym("*"));*/ ;} break; case 193: -#line 2009 "gram1.y" +#line 2013 "gram1.y" { (yyval.symbol) = make_common((yyvsp[(2) - (3)].hash_entry)); ;} break; case 194: -#line 2014 "gram1.y" +#line 2018 "gram1.y" { PTR_SYMB s; if((yyvsp[(2) - (2)].ll_node)) { @@ -7036,7 +7075,7 @@ yyreduce: break; case 195: -#line 2032 "gram1.y" +#line 2036 "gram1.y" { PTR_LLND p, q; PTR_SYMB s; @@ -7049,7 +7088,7 @@ yyreduce: break; case 196: -#line 2043 "gram1.y" +#line 2047 "gram1.y" { PTR_LLND p, q; PTR_SYMB s; @@ -7062,7 +7101,7 @@ yyreduce: break; case 197: -#line 2055 "gram1.y" +#line 2059 "gram1.y" { PTR_LLND p, q; PTR_SYMB s; @@ -7076,7 +7115,7 @@ yyreduce: break; case 198: -#line 2067 "gram1.y" +#line 2071 "gram1.y" { PTR_LLND p, q; PTR_SYMB s; @@ -7089,7 +7128,7 @@ yyreduce: break; case 199: -#line 2081 "gram1.y" +#line 2085 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,EQUI_STAT, SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL); @@ -7097,21 +7136,21 @@ yyreduce: break; case 200: -#line 2087 "gram1.y" +#line 2091 "gram1.y" { add_to_lowLevelList((yyvsp[(3) - (3)].ll_node), (yyvsp[(1) - (3)].bf_node)->entry.Template.ll_ptr1); ;} break; case 201: -#line 2094 "gram1.y" +#line 2098 "gram1.y" { (yyval.ll_node) = make_llnd(fi,EQUI_LIST, (yyvsp[(2) - (3)].ll_node), LLNULL, SMNULL); ;} break; case 202: -#line 2100 "gram1.y" +#line 2104 "gram1.y" { PTR_LLND p; p = make_llnd(fi,EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); (yyval.ll_node) = make_llnd(fi,EXPR_LIST, (yyvsp[(1) - (3)].ll_node), p, SMNULL); @@ -7119,7 +7158,7 @@ yyreduce: break; case 203: -#line 2106 "gram1.y" +#line 2110 "gram1.y" { PTR_LLND p; p = make_llnd(fi,EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); @@ -7128,7 +7167,7 @@ yyreduce: break; case 204: -#line 2114 "gram1.y" +#line 2118 "gram1.y" { PTR_SYMB s; s=make_scalar((yyvsp[(1) - (1)].hash_entry),TYNULL,LOCAL); (yyval.ll_node) = make_llnd(fi,VAR_REF, LLNULL, LLNULL, s); @@ -7138,7 +7177,7 @@ yyreduce: break; case 205: -#line 2121 "gram1.y" +#line 2125 "gram1.y" { PTR_SYMB s; s=make_array((yyvsp[(1) - (4)].hash_entry),TYNULL,LLNULL,0,LOCAL); (yyval.ll_node) = make_llnd(fi,ARRAY_REF, (yyvsp[(3) - (4)].ll_node), LLNULL, s); @@ -7148,7 +7187,7 @@ yyreduce: break; case 207: -#line 2140 "gram1.y" +#line 2144 "gram1.y" { PTR_LLND p; data_stat = NO; p = make_llnd(fi,STMT_STR, LLNULL, LLNULL, @@ -7159,12 +7198,12 @@ yyreduce: break; case 210: -#line 2154 "gram1.y" +#line 2158 "gram1.y" {data_stat = YES;;} break; case 211: -#line 2158 "gram1.y" +#line 2162 "gram1.y" { if (parstate == OUTSIDE) { PTR_BFND p; @@ -7186,79 +7225,79 @@ yyreduce: break; case 222: -#line 2203 "gram1.y" +#line 2207 "gram1.y" {;;} break; case 223: -#line 2207 "gram1.y" +#line 2211 "gram1.y" { (yyval.symbol)= make_scalar((yyvsp[(1) - (1)].hash_entry), TYNULL, LOCAL);;} break; case 224: -#line 2211 "gram1.y" +#line 2215 "gram1.y" { (yyval.symbol)= make_scalar((yyvsp[(1) - (1)].hash_entry), TYNULL, LOCAL); (yyval.symbol)->attr = (yyval.symbol)->attr | DATA_BIT; ;} break; case 225: -#line 2217 "gram1.y" +#line 2221 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DATA_SUBS, (yyvsp[(2) - (3)].ll_node), LLNULL, SMNULL); ;} break; case 226: -#line 2221 "gram1.y" +#line 2225 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DATA_RANGE, (yyvsp[(2) - (5)].ll_node), (yyvsp[(4) - (5)].ll_node), SMNULL); ;} break; case 227: -#line 2225 "gram1.y" +#line 2229 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 228: -#line 2227 "gram1.y" +#line 2231 "gram1.y" { (yyval.ll_node) = add_to_lowLevelList((yyvsp[(3) - (3)].ll_node), (yyvsp[(1) - (3)].ll_node)); ;} break; case 229: -#line 2231 "gram1.y" +#line 2235 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 230: -#line 2233 "gram1.y" +#line 2237 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 231: -#line 2237 "gram1.y" +#line 2241 "gram1.y" {(yyval.ll_node)= make_llnd(fi, DATA_IMPL_DO, (yyvsp[(2) - (7)].ll_node), (yyvsp[(6) - (7)].ll_node), (yyvsp[(4) - (7)].symbol)); ;} break; case 232: -#line 2241 "gram1.y" +#line 2245 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 233: -#line 2243 "gram1.y" +#line 2247 "gram1.y" { (yyval.ll_node) = add_to_lowLevelList((yyvsp[(3) - (3)].ll_node), (yyvsp[(1) - (3)].ll_node)); ;} break; case 234: -#line 2247 "gram1.y" +#line 2251 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DATA_ELT, (yyvsp[(2) - (2)].ll_node), LLNULL, (yyvsp[(1) - (2)].symbol)); ;} break; case 235: -#line 2249 "gram1.y" +#line 2253 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DATA_ELT, (yyvsp[(2) - (2)].ll_node), LLNULL, (yyvsp[(1) - (2)].symbol)); ;} break; case 236: -#line 2251 "gram1.y" +#line 2255 "gram1.y" { (yyvsp[(2) - (3)].ll_node)->entry.Template.ll_ptr2 = (yyvsp[(3) - (3)].ll_node); (yyval.ll_node) = make_llnd(fi, DATA_ELT, (yyvsp[(2) - (3)].ll_node), LLNULL, (yyvsp[(1) - (3)].symbol)); @@ -7266,24 +7305,24 @@ yyreduce: break; case 237: -#line 2256 "gram1.y" +#line 2260 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DATA_ELT, (yyvsp[(1) - (1)].ll_node), LLNULL, SMNULL); ;} break; case 251: -#line 2280 "gram1.y" +#line 2284 "gram1.y" {if((yyvsp[(2) - (6)].ll_node)->entry.Template.symbol->variant != TYPE_NAME) errstr("Undefined type %s",(yyvsp[(2) - (6)].ll_node)->entry.Template.symbol->ident,319); ;} break; case 268: -#line 2325 "gram1.y" +#line 2329 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ICON_EXPR, (yyvsp[(1) - (1)].ll_node), LLNULL, SMNULL); ;} break; case 269: -#line 2327 "gram1.y" +#line 2331 "gram1.y" { PTR_LLND p; @@ -7293,7 +7332,7 @@ yyreduce: break; case 270: -#line 2334 "gram1.y" +#line 2338 "gram1.y" { PTR_LLND p; @@ -7303,7 +7342,7 @@ yyreduce: break; case 271: -#line 2341 "gram1.y" +#line 2345 "gram1.y" { PTR_LLND p; @@ -7313,7 +7352,7 @@ yyreduce: break; case 272: -#line 2348 "gram1.y" +#line 2352 "gram1.y" { PTR_LLND p; @@ -7323,32 +7362,32 @@ yyreduce: break; case 273: -#line 2357 "gram1.y" +#line 2361 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 274: -#line 2359 "gram1.y" +#line 2363 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("*", MULT_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 275: -#line 2361 "gram1.y" +#line 2365 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("/", DIV_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 276: -#line 2365 "gram1.y" +#line 2369 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 277: -#line 2367 "gram1.y" +#line 2371 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("**", EXP_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 278: -#line 2371 "gram1.y" +#line 2375 "gram1.y" { PTR_LLND p; @@ -7360,7 +7399,7 @@ yyreduce: break; case 279: -#line 2380 "gram1.y" +#line 2384 "gram1.y" { PTR_LLND p; @@ -7370,58 +7409,58 @@ yyreduce: break; case 280: -#line 2387 "gram1.y" +#line 2391 "gram1.y" { (yyval.ll_node) = make_llnd(fi,EXPR_LIST, (yyvsp[(2) - (3)].ll_node), LLNULL, SMNULL); ;} break; case 281: -#line 2394 "gram1.y" +#line 2398 "gram1.y" { (yyval.ll_node) = make_llnd(fi,EXPR_LIST, (yyvsp[(1) - (1)].ll_node), LLNULL, SMNULL); ;} break; case 282: -#line 2396 "gram1.y" +#line 2400 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 283: -#line 2400 "gram1.y" +#line 2404 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); (yyval.ll_node)->entry.Template.symbol->attr = (yyval.ll_node)->entry.Template.symbol->attr | SAVE_BIT; ;} break; case 284: -#line 2404 "gram1.y" +#line 2408 "gram1.y" { (yyval.ll_node) = make_llnd(fi,COMM_LIST, LLNULL, LLNULL, (yyvsp[(1) - (1)].symbol)); (yyval.ll_node)->entry.Template.symbol->attr = (yyval.ll_node)->entry.Template.symbol->attr | SAVE_BIT; ;} break; case 285: -#line 2410 "gram1.y" +#line 2414 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(2) - (3)].ll_node), LLNULL, EXPR_LIST); ;} break; case 286: -#line 2412 "gram1.y" +#line 2416 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node), (yyvsp[(4) - (5)].ll_node), EXPR_LIST); ;} break; case 287: -#line 2416 "gram1.y" +#line 2420 "gram1.y" { as_op_kwd_ = YES; ;} break; case 288: -#line 2420 "gram1.y" +#line 2424 "gram1.y" { as_op_kwd_ = NO; ;} break; case 289: -#line 2425 "gram1.y" +#line 2429 "gram1.y" { PTR_SYMB s; s = make_scalar((yyvsp[(1) - (1)].hash_entry), TYNULL, LOCAL); @@ -7431,7 +7470,7 @@ yyreduce: break; case 290: -#line 2432 "gram1.y" +#line 2436 "gram1.y" { PTR_SYMB s; s = make_function((yyvsp[(3) - (4)].hash_entry), global_default, LOCAL); s->variant = INTERFACE_NAME; @@ -7441,7 +7480,7 @@ yyreduce: break; case 291: -#line 2439 "gram1.y" +#line 2443 "gram1.y" { PTR_SYMB s; s = make_procedure(look_up_sym("="), LOCAL); s->variant = INTERFACE_NAME; @@ -7451,17 +7490,17 @@ yyreduce: break; case 292: -#line 2449 "gram1.y" +#line 2453 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 293: -#line 2451 "gram1.y" +#line 2455 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 294: -#line 2455 "gram1.y" +#line 2459 "gram1.y" { PTR_SYMB p; /* The check if name and expr have compatible types has @@ -7474,12 +7513,12 @@ yyreduce: break; case 295: -#line 2467 "gram1.y" +#line 2471 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, MODULE_PROC_STMT, SMNULL, (yyvsp[(2) - (2)].ll_node), LLNULL, LLNULL); ;} break; case 296: -#line 2470 "gram1.y" +#line 2474 "gram1.y" { PTR_SYMB s; PTR_LLND q; @@ -7491,7 +7530,7 @@ yyreduce: break; case 297: -#line 2479 "gram1.y" +#line 2483 "gram1.y" { PTR_LLND p, q; PTR_SYMB s; @@ -7504,7 +7543,7 @@ yyreduce: break; case 298: -#line 2492 "gram1.y" +#line 2496 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, USE_STMT, (yyvsp[(3) - (3)].symbol), LLNULL, LLNULL, LLNULL); /*add_scope_level($3->entry.Template.func_hedr, YES);*/ /*17.06.01*/ copy_module_scope((yyvsp[(3) - (3)].symbol),LLNULL); /*17.03.03*/ @@ -7513,7 +7552,7 @@ yyreduce: break; case 299: -#line 2498 "gram1.y" +#line 2502 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, USE_STMT, (yyvsp[(3) - (6)].symbol), (yyvsp[(6) - (6)].ll_node), LLNULL, LLNULL); /*add_scope_level(module_scope, YES); *//* 17.06.01*/ copy_module_scope((yyvsp[(3) - (6)].symbol),(yyvsp[(6) - (6)].ll_node)); /*17.03.03 */ @@ -7522,7 +7561,7 @@ yyreduce: break; case 300: -#line 2504 "gram1.y" +#line 2508 "gram1.y" { PTR_LLND l; l = make_llnd(fi, ONLY_NODE, LLNULL, LLNULL, SMNULL); @@ -7531,7 +7570,7 @@ yyreduce: break; case 301: -#line 2510 "gram1.y" +#line 2514 "gram1.y" { PTR_LLND l; l = make_llnd(fi, ONLY_NODE, (yyvsp[(7) - (7)].ll_node), LLNULL, SMNULL); @@ -7540,7 +7579,7 @@ yyreduce: break; case 302: -#line 2518 "gram1.y" +#line 2522 "gram1.y" { if ((yyvsp[(1) - (1)].hash_entry)->id_attr == SMNULL) warn1("Unknown module %s", (yyvsp[(1) - (1)].hash_entry)->ident,308); @@ -7551,22 +7590,22 @@ yyreduce: break; case 303: -#line 2528 "gram1.y" +#line 2532 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 304: -#line 2530 "gram1.y" +#line 2534 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 305: -#line 2534 "gram1.y" +#line 2538 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 306: -#line 2536 "gram1.y" +#line 2540 "gram1.y" { PTR_HASH oldhash,copyhash; PTR_SYMB oldsym, newsym; PTR_LLND m; @@ -7599,17 +7638,17 @@ yyreduce: break; case 307: -#line 2569 "gram1.y" +#line 2573 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 308: -#line 2571 "gram1.y" +#line 2575 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 309: -#line 2575 "gram1.y" +#line 2579 "gram1.y" { PTR_HASH oldhash,copyhash; PTR_SYMB oldsym, newsym; PTR_LLND l, m; @@ -7640,22 +7679,22 @@ yyreduce: break; case 310: -#line 2613 "gram1.y" +#line 2617 "gram1.y" { ndim = 0; explicit_shape = 1; (yyval.ll_node) = LLNULL; ;} break; case 311: -#line 2615 "gram1.y" +#line 2619 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node); ;} break; case 312: -#line 2618 "gram1.y" +#line 2622 "gram1.y" { ndim = 0; explicit_shape = 1;;} break; case 313: -#line 2619 "gram1.y" +#line 2623 "gram1.y" { (yyval.ll_node) = make_llnd(fi,EXPR_LIST, (yyvsp[(2) - (2)].ll_node), LLNULL, SMNULL); (yyval.ll_node)->type = global_default; @@ -7663,12 +7702,12 @@ yyreduce: break; case 314: -#line 2624 "gram1.y" +#line 2628 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 315: -#line 2628 "gram1.y" +#line 2632 "gram1.y" { if(ndim == maxdim) err("Too many dimensions", 43); @@ -7679,7 +7718,7 @@ yyreduce: break; case 316: -#line 2636 "gram1.y" +#line 2640 "gram1.y" { if(ndim == maxdim) err("Too many dimensions", 43); @@ -7691,7 +7730,7 @@ yyreduce: break; case 317: -#line 2645 "gram1.y" +#line 2649 "gram1.y" { if(ndim == maxdim) err("Too many dimensions", 43); @@ -7703,7 +7742,7 @@ yyreduce: break; case 318: -#line 2654 "gram1.y" +#line 2658 "gram1.y" { if(ndim == maxdim) err("Too many dimensions", 43); @@ -7714,7 +7753,7 @@ yyreduce: break; case 319: -#line 2664 "gram1.y" +#line 2668 "gram1.y" { (yyval.ll_node) = make_llnd(fi,STAR_RANGE, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->type = global_default; @@ -7723,17 +7762,17 @@ yyreduce: break; case 321: -#line 2673 "gram1.y" +#line 2677 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 322: -#line 2675 "gram1.y" +#line 2679 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 323: -#line 2679 "gram1.y" +#line 2683 "gram1.y" {PTR_LABEL p; p = make_label_node(fi,convci(yyleng, yytext)); p->scope = cur_scope(); @@ -7742,7 +7781,7 @@ yyreduce: break; case 324: -#line 2687 "gram1.y" +#line 2691 "gram1.y" { /*PTR_LLND l;*/ /* l = make_llnd(fi, EXPR_LIST, $3, LLNULL, SMNULL);*/ @@ -7752,7 +7791,7 @@ yyreduce: break; case 325: -#line 2702 "gram1.y" +#line 2706 "gram1.y" { /*undeftype = YES; setimpl(TYNULL, (int)'a', (int)'z'); FB COMMENTED---> NOT QUITE RIGHT BUT AVOID PB WITH COMMON*/ (yyval.bf_node) = get_bfnd(fi,IMPL_DECL, SMNULL, LLNULL, LLNULL, LLNULL); @@ -7760,17 +7799,17 @@ yyreduce: break; case 326: -#line 2709 "gram1.y" +#line 2713 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 327: -#line 2711 "gram1.y" +#line 2715 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 328: -#line 2715 "gram1.y" +#line 2719 "gram1.y" { (yyval.ll_node) = make_llnd(fi, IMPL_TYPE, (yyvsp[(3) - (4)].ll_node), LLNULL, SMNULL); @@ -7779,37 +7818,37 @@ yyreduce: break; case 329: -#line 2730 "gram1.y" +#line 2734 "gram1.y" { implkwd = YES; ;} break; case 330: -#line 2731 "gram1.y" +#line 2735 "gram1.y" { vartype = (yyvsp[(2) - (2)].data_type); ;} break; case 331: -#line 2735 "gram1.y" +#line 2739 "gram1.y" { (yyval.data_type) = (yyvsp[(2) - (2)].data_type); ;} break; case 332: -#line 2737 "gram1.y" +#line 2741 "gram1.y" { (yyval.data_type) = (yyvsp[(1) - (1)].data_type);;} break; case 333: -#line 2749 "gram1.y" +#line 2753 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 334: -#line 2751 "gram1.y" +#line 2755 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 335: -#line 2755 "gram1.y" +#line 2759 "gram1.y" { setimpl(vartype, (int)(yyvsp[(1) - (1)].charv), (int)(yyvsp[(1) - (1)].charv)); (yyval.ll_node) = make_llnd(fi,CHAR_VAL, LLNULL, LLNULL, SMNULL); @@ -7818,7 +7857,7 @@ yyreduce: break; case 336: -#line 2761 "gram1.y" +#line 2765 "gram1.y" { PTR_LLND p,q; setimpl(vartype, (int)(yyvsp[(1) - (3)].charv), (int)(yyvsp[(3) - (3)].charv)); @@ -7831,7 +7870,7 @@ yyreduce: break; case 337: -#line 2773 "gram1.y" +#line 2777 "gram1.y" { if(yyleng!=1 || yytext[0]<'a' || yytext[0]>'z') { @@ -7843,7 +7882,7 @@ yyreduce: break; case 338: -#line 2784 "gram1.y" +#line 2788 "gram1.y" { if (parstate == OUTSIDE) { PTR_BFND p; @@ -7861,7 +7900,7 @@ yyreduce: break; case 339: -#line 2801 "gram1.y" +#line 2805 "gram1.y" { switch(parstate) { case OUTSIDE: @@ -7891,27 +7930,27 @@ yyreduce: break; case 342: -#line 2839 "gram1.y" +#line 2843 "gram1.y" { (yyval.ll_node) = LLNULL; endioctl(); ;} break; case 343: -#line 2841 "gram1.y" +#line 2845 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); endioctl();;} break; case 344: -#line 2845 "gram1.y" +#line 2849 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 345: -#line 2847 "gram1.y" +#line 2851 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 346: -#line 2849 "gram1.y" +#line 2853 "gram1.y" { PTR_LLND l; l = make_llnd(fi, KEYWORD_ARG, (yyvsp[(1) - (2)].ll_node), (yyvsp[(2) - (2)].ll_node), SMNULL); l->type = (yyvsp[(2) - (2)].ll_node)->type; @@ -7920,181 +7959,181 @@ yyreduce: break; case 347: -#line 2860 "gram1.y" +#line 2864 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(2) - (2)].ll_node), LLNULL, EXPR_LIST); endioctl(); ;} break; case 348: -#line 2864 "gram1.y" +#line 2868 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node), (yyvsp[(4) - (4)].ll_node), EXPR_LIST); endioctl(); ;} break; case 349: -#line 2870 "gram1.y" +#line 2874 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 350: -#line 2872 "gram1.y" +#line 2876 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 351: -#line 2876 "gram1.y" - { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} - break; - - case 352: -#line 2878 "gram1.y" - { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node); ;} - break; - - case 353: #line 2880 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; - case 354: + case 352: +#line 2882 "gram1.y" + { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node); ;} + break; + + case 353: #line 2884 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; - case 355: -#line 2886 "gram1.y" + case 354: +#line 2888 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; - case 356: + case 355: #line 2890 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; + case 356: +#line 2894 "gram1.y" + { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} + break; + case 357: -#line 2892 "gram1.y" +#line 2896 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("+", ADD_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 358: -#line 2894 "gram1.y" +#line 2898 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("-", SUBT_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 359: -#line 2896 "gram1.y" +#line 2900 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("*", MULT_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 360: -#line 2898 "gram1.y" +#line 2902 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("/", DIV_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 361: -#line 2900 "gram1.y" +#line 2904 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("**", EXP_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 362: -#line 2902 "gram1.y" +#line 2906 "gram1.y" { (yyval.ll_node) = defined_op_node((yyvsp[(1) - (2)].hash_entry), (yyvsp[(2) - (2)].ll_node), LLNULL); ;} break; case 363: -#line 2904 "gram1.y" +#line 2908 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("+", UNARY_ADD_OP, (yyvsp[(2) - (2)].ll_node), LLNULL); ;} break; case 364: -#line 2906 "gram1.y" +#line 2910 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("-", MINUS_OP, (yyvsp[(2) - (2)].ll_node), LLNULL); ;} break; case 365: -#line 2908 "gram1.y" +#line 2912 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".eq.", EQ_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 366: -#line 2910 "gram1.y" +#line 2914 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".gt.", GT_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 367: -#line 2912 "gram1.y" +#line 2916 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".lt.", LT_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 368: -#line 2914 "gram1.y" +#line 2918 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".ge.", GTEQL_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 369: -#line 2916 "gram1.y" +#line 2920 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".ge.", LTEQL_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 370: -#line 2918 "gram1.y" +#line 2922 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".ne.", NOTEQL_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 371: -#line 2920 "gram1.y" +#line 2924 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".eqv.", EQV_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 372: -#line 2922 "gram1.y" +#line 2926 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".neqv.", NEQV_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 373: -#line 2924 "gram1.y" +#line 2928 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".xor.", XOR_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 374: -#line 2926 "gram1.y" +#line 2930 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".or.", OR_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 375: -#line 2928 "gram1.y" +#line 2932 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".and.", AND_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 376: -#line 2930 "gram1.y" +#line 2934 "gram1.y" { (yyval.ll_node) = intrinsic_op_node(".not.", NOT_OP, (yyvsp[(2) - (2)].ll_node), LLNULL); ;} break; case 377: -#line 2932 "gram1.y" +#line 2936 "gram1.y" { (yyval.ll_node) = intrinsic_op_node("//", CONCAT_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 378: -#line 2934 "gram1.y" +#line 2938 "gram1.y" { (yyval.ll_node) = defined_op_node((yyvsp[(2) - (3)].hash_entry), (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node)); ;} break; case 379: -#line 2937 "gram1.y" +#line 2941 "gram1.y" { (yyval.token) = ADD_OP; ;} break; case 380: -#line 2938 "gram1.y" +#line 2942 "gram1.y" { (yyval.token) = SUBT_OP; ;} break; case 381: -#line 2950 "gram1.y" +#line 2954 "gram1.y" { PTR_SYMB s; PTR_TYPE t; /* PTR_LLND l;*/ @@ -8169,7 +8208,7 @@ yyreduce: break; case 382: -#line 3024 "gram1.y" +#line 3028 "gram1.y" { PTR_SYMB s; (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); s= (yyval.ll_node)->entry.Template.symbol; @@ -8184,17 +8223,17 @@ yyreduce: break; case 383: -#line 3036 "gram1.y" +#line 3040 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 384: -#line 3038 "gram1.y" +#line 3042 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 385: -#line 3042 "gram1.y" +#line 3046 "gram1.y" { int num_triplets; PTR_SYMB s; /*, sym;*/ /* PTR_LLND l; */ @@ -8328,7 +8367,7 @@ yyreduce: break; case 386: -#line 3173 "gram1.y" +#line 3177 "gram1.y" { int num_triplets; PTR_SYMB s; PTR_LLND l; @@ -8381,7 +8420,7 @@ yyreduce: break; case 387: -#line 3223 "gram1.y" +#line 3227 "gram1.y" { int num_triplets; PTR_LLND l,l1,l2; PTR_TYPE tp; @@ -8427,7 +8466,7 @@ yyreduce: break; case 388: -#line 3267 "gram1.y" +#line 3271 "gram1.y" { int num_triplets; PTR_LLND l,q; @@ -8469,7 +8508,7 @@ yyreduce: break; case 389: -#line 3309 "gram1.y" +#line 3313 "gram1.y" { PTR_TYPE t; PTR_SYMB field; /* PTR_BFND at_scope;*/ @@ -8518,17 +8557,17 @@ yyreduce: break; case 390: -#line 3367 "gram1.y" +#line 3371 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 391: -#line 3369 "gram1.y" +#line 3373 "gram1.y" {(yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 392: -#line 3371 "gram1.y" +#line 3375 "gram1.y" { int num_triplets; PTR_TYPE tp; /* PTR_LLND l;*/ @@ -8570,7 +8609,7 @@ yyreduce: break; case 393: -#line 3411 "gram1.y" +#line 3415 "gram1.y" { int num_triplets; PTR_LLND l,l1,l2; @@ -8613,7 +8652,7 @@ yyreduce: break; case 394: -#line 3453 "gram1.y" +#line 3457 "gram1.y" { if ((yyvsp[(1) - (2)].ll_node)->type->variant == T_STRING) { (yyvsp[(1) - (2)].ll_node)->entry.Template.ll_ptr1 = (yyvsp[(2) - (2)].ll_node); @@ -8624,37 +8663,37 @@ yyreduce: break; case 395: -#line 3463 "gram1.y" +#line 3467 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 396: -#line 3465 "gram1.y" +#line 3469 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 397: -#line 3469 "gram1.y" +#line 3473 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DDOT, (yyvsp[(2) - (5)].ll_node), (yyvsp[(4) - (5)].ll_node), SMNULL); ;} break; case 398: -#line 3473 "gram1.y" +#line 3477 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 399: -#line 3475 "gram1.y" +#line 3479 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 400: -#line 3479 "gram1.y" +#line 3483 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 401: -#line 3481 "gram1.y" +#line 3485 "gram1.y" { PTR_TYPE t; t = make_type_node((yyvsp[(1) - (3)].ll_node)->type, (yyvsp[(3) - (3)].ll_node)); (yyval.ll_node) = (yyvsp[(1) - (3)].ll_node); @@ -8663,12 +8702,12 @@ yyreduce: break; case 402: -#line 3487 "gram1.y" +#line 3491 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 403: -#line 3489 "gram1.y" +#line 3493 "gram1.y" { PTR_TYPE t; t = make_type_node((yyvsp[(1) - (3)].ll_node)->type, (yyvsp[(3) - (3)].ll_node)); (yyval.ll_node) = (yyvsp[(1) - (3)].ll_node); @@ -8677,7 +8716,7 @@ yyreduce: break; case 404: -#line 3495 "gram1.y" +#line 3499 "gram1.y" { if ((yyvsp[(2) - (2)].ll_node) != LLNULL) { @@ -8690,7 +8729,7 @@ yyreduce: break; case 405: -#line 3508 "gram1.y" +#line 3512 "gram1.y" { (yyval.ll_node) = make_llnd(fi,BOOL_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.bval = 1; @@ -8699,7 +8738,7 @@ yyreduce: break; case 406: -#line 3514 "gram1.y" +#line 3518 "gram1.y" { (yyval.ll_node) = make_llnd(fi,BOOL_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.bval = 0; @@ -8708,7 +8747,7 @@ yyreduce: break; case 407: -#line 3521 "gram1.y" +#line 3525 "gram1.y" { (yyval.ll_node) = make_llnd(fi,FLOAT_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = copys(yytext); @@ -8717,7 +8756,7 @@ yyreduce: break; case 408: -#line 3527 "gram1.y" +#line 3531 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DOUBLE_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = copys(yytext); @@ -8726,7 +8765,7 @@ yyreduce: break; case 409: -#line 3535 "gram1.y" +#line 3539 "gram1.y" { (yyval.ll_node) = make_llnd(fi,INT_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.ival = atoi(yytext); @@ -8735,7 +8774,7 @@ yyreduce: break; case 410: -#line 3543 "gram1.y" +#line 3547 "gram1.y" { PTR_TYPE t; PTR_LLND p,q; (yyval.ll_node) = make_llnd(fi,STRING_VAL, LLNULL, LLNULL, SMNULL); @@ -8754,7 +8793,7 @@ yyreduce: break; case 411: -#line 3559 "gram1.y" +#line 3563 "gram1.y" { PTR_TYPE t; (yyval.ll_node) = make_llnd(fi,STRING_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = copys(yytext); @@ -8767,7 +8806,7 @@ yyreduce: break; case 412: -#line 3569 "gram1.y" +#line 3573 "gram1.y" { PTR_TYPE t; (yyval.ll_node) = make_llnd(fi,STRING_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = copys(yytext); @@ -8780,7 +8819,7 @@ yyreduce: break; case 413: -#line 3582 "gram1.y" +#line 3586 "gram1.y" { (yyval.ll_node) = make_llnd(fi,COMPLEX_VAL, (yyvsp[(2) - (5)].ll_node), (yyvsp[(4) - (5)].ll_node), SMNULL); (yyval.ll_node)->type = global_complex; @@ -8788,67 +8827,67 @@ yyreduce: break; case 414: -#line 3589 "gram1.y" +#line 3593 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 415: -#line 3591 "gram1.y" +#line 3595 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 416: -#line 3614 "gram1.y" +#line 3618 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,(yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),SMNULL); ;} break; case 417: -#line 3616 "gram1.y" +#line 3620 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,(yyvsp[(1) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 418: -#line 3618 "gram1.y" +#line 3622 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,make_llnd(fi,DDOT,(yyvsp[(1) - (5)].ll_node),(yyvsp[(3) - (5)].ll_node),SMNULL),(yyvsp[(5) - (5)].ll_node),SMNULL); ;} break; case 419: -#line 3620 "gram1.y" +#line 3624 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,make_llnd(fi,DDOT,(yyvsp[(1) - (4)].ll_node),LLNULL,SMNULL),(yyvsp[(4) - (4)].ll_node),SMNULL); ;} break; case 420: -#line 3622 "gram1.y" +#line 3626 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT, make_llnd(fi,DDOT,LLNULL,(yyvsp[(2) - (4)].ll_node),SMNULL),(yyvsp[(4) - (4)].ll_node),SMNULL); ;} break; case 421: -#line 3624 "gram1.y" +#line 3628 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,make_llnd(fi,DDOT,LLNULL,LLNULL,SMNULL),(yyvsp[(3) - (3)].ll_node),SMNULL); ;} break; case 422: -#line 3626 "gram1.y" +#line 3630 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,LLNULL,(yyvsp[(2) - (2)].ll_node),SMNULL); ;} break; case 423: -#line 3628 "gram1.y" +#line 3632 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,LLNULL,LLNULL,SMNULL); ;} break; case 424: -#line 3631 "gram1.y" +#line 3635 "gram1.y" {in_vec=YES;;} break; case 425: -#line 3631 "gram1.y" +#line 3635 "gram1.y" {in_vec=NO;;} break; case 426: -#line 3632 "gram1.y" +#line 3636 "gram1.y" { PTR_TYPE array_type; (yyval.ll_node) = make_llnd (fi,CONSTRUCTOR_REF,(yyvsp[(4) - (6)].ll_node),LLNULL,SMNULL); /*$$->type = $2->type;*/ /*28.02.03*/ @@ -8863,81 +8902,81 @@ yyreduce: break; case 427: -#line 3646 "gram1.y" +#line 3650 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 428: -#line 3648 "gram1.y" +#line 3652 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 429: -#line 3671 "gram1.y" +#line 3675 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 430: -#line 3673 "gram1.y" +#line 3677 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node), (yyvsp[(4) - (4)].ll_node), EXPR_LIST); endioctl(); ;} break; case 431: -#line 3675 "gram1.y" +#line 3679 "gram1.y" { stat_alloc = make_llnd(fi, SPEC_PAIR, (yyvsp[(4) - (5)].ll_node), (yyvsp[(5) - (5)].ll_node), SMNULL); endioctl(); ;} break; case 432: -#line 3691 "gram1.y" +#line 3695 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 433: -#line 3693 "gram1.y" +#line 3697 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node), (yyvsp[(4) - (4)].ll_node), EXPR_LIST); endioctl(); ;} break; case 434: -#line 3695 "gram1.y" +#line 3699 "gram1.y" { stat_alloc = make_llnd(fi, SPEC_PAIR, (yyvsp[(4) - (5)].ll_node), (yyvsp[(5) - (5)].ll_node), SMNULL); endioctl(); ;} break; case 435: -#line 3708 "gram1.y" +#line 3712 "gram1.y" {stat_alloc = LLNULL;;} break; case 436: -#line 3712 "gram1.y" +#line 3716 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 437: -#line 3714 "gram1.y" +#line 3718 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 438: -#line 3722 "gram1.y" - { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} - break; - - case 439: -#line 3724 "gram1.y" - { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} - break; - - case 440: #line 3726 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} break; - case 441: + case 439: #line 3728 "gram1.y" + { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} + break; + + case 440: +#line 3730 "gram1.y" + { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} + break; + + case 441: +#line 3732 "gram1.y" { (yyval.bf_node) = (yyvsp[(2) - (2)].bf_node); (yyval.bf_node)->entry.Template.ll_ptr3 = (yyvsp[(1) - (2)].ll_node); @@ -8945,7 +8984,7 @@ yyreduce: break; case 442: -#line 3782 "gram1.y" +#line 3786 "gram1.y" { PTR_BFND biff; (yyval.bf_node) = get_bfnd(fi,CONTROL_END, SMNULL, LLNULL, LLNULL, LLNULL); @@ -8968,7 +9007,7 @@ yyreduce: break; case 443: -#line 3804 "gram1.y" +#line 3808 "gram1.y" { make_extend((yyvsp[(3) - (3)].symbol)); (yyval.bf_node) = BFNULL; @@ -8977,7 +9016,7 @@ yyreduce: break; case 444: -#line 3817 "gram1.y" +#line 3821 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,CONTROL_END, SMNULL, LLNULL, LLNULL, LLNULL); bind(); delete_beyond_scope_level(pred_bfnd); @@ -8986,12 +9025,12 @@ yyreduce: break; case 445: -#line 3826 "gram1.y" +#line 3830 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} break; case 446: -#line 3829 "gram1.y" +#line 3833 "gram1.y" { (yyval.bf_node) = (yyvsp[(2) - (2)].bf_node); (yyval.bf_node)->entry.Template.ll_ptr3 = (yyvsp[(1) - (2)].ll_node); @@ -8999,7 +9038,7 @@ yyreduce: break; case 447: -#line 3879 "gram1.y" +#line 3883 "gram1.y" { thiswasbranch = NO; (yyvsp[(1) - (2)].bf_node)->variant = LOGIF_NODE; (yyval.bf_node) = make_logif((yyvsp[(1) - (2)].bf_node), (yyvsp[(2) - (2)].bf_node)); @@ -9008,7 +9047,7 @@ yyreduce: break; case 448: -#line 3885 "gram1.y" +#line 3889 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (2)].bf_node); set_blobs((yyval.bf_node), pred_bfnd, NEW_GROUP1); @@ -9016,7 +9055,7 @@ yyreduce: break; case 449: -#line 3890 "gram1.y" +#line 3894 "gram1.y" { (yyval.bf_node) = (yyvsp[(2) - (3)].bf_node); (yyval.bf_node)->entry.Template.ll_ptr3 = (yyvsp[(1) - (3)].ll_node); @@ -9025,32 +9064,32 @@ yyreduce: break; case 450: -#line 3908 "gram1.y" +#line 3912 "gram1.y" { make_elseif((yyvsp[(4) - (7)].ll_node),(yyvsp[(7) - (7)].symbol)); lastwasbranch = NO; (yyval.bf_node) = BFNULL;;} break; case 451: -#line 3910 "gram1.y" +#line 3914 "gram1.y" { make_else((yyvsp[(3) - (3)].symbol)); lastwasbranch = NO; (yyval.bf_node) = BFNULL; ;} break; case 452: -#line 3912 "gram1.y" +#line 3916 "gram1.y" { make_endif((yyvsp[(3) - (3)].symbol)); (yyval.bf_node) = BFNULL; ;} break; case 453: -#line 3914 "gram1.y" +#line 3918 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} break; case 454: -#line 3916 "gram1.y" +#line 3920 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, CONTAINS_STMT, SMNULL, LLNULL, LLNULL, LLNULL); ;} break; case 455: -#line 3919 "gram1.y" +#line 3923 "gram1.y" { thiswasbranch = NO; (yyvsp[(1) - (2)].bf_node)->variant = FORALL_STAT; (yyval.bf_node) = make_logif((yyvsp[(1) - (2)].bf_node), (yyvsp[(2) - (2)].bf_node)); @@ -9059,37 +9098,37 @@ yyreduce: break; case 456: -#line 3925 "gram1.y" +#line 3929 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} break; case 457: -#line 3927 "gram1.y" +#line 3931 "gram1.y" { (yyval.bf_node) = (yyvsp[(2) - (2)].bf_node); (yyval.bf_node)->entry.Template.ll_ptr3 = (yyvsp[(1) - (2)].ll_node);;} break; case 458: -#line 3929 "gram1.y" +#line 3933 "gram1.y" { make_endforall((yyvsp[(3) - (3)].symbol)); (yyval.bf_node) = BFNULL; ;} break; case 459: -#line 3932 "gram1.y" - { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} - break; - - case 460: -#line 3934 "gram1.y" - { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} - break; - - case 461: #line 3936 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} break; + case 460: +#line 3938 "gram1.y" + { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} + break; + + case 461: +#line 3940 "gram1.y" + { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} + break; + case 462: -#line 3963 "gram1.y" +#line 3967 "gram1.y" { /* if($5 && $5->labdefined) execerr("no backward DO loops", (char *)NULL); */ @@ -9099,7 +9138,7 @@ yyreduce: break; case 463: -#line 3972 "gram1.y" +#line 3976 "gram1.y" { if( (yyvsp[(4) - (7)].label) && (yyvsp[(4) - (7)].label)->labdefined) err("No backward DO loops", 46); @@ -9108,22 +9147,22 @@ yyreduce: break; case 464: -#line 3980 "gram1.y" +#line 3984 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 465: -#line 3982 "gram1.y" +#line 3986 "gram1.y" { (yyval.ll_node) = (yyvsp[(5) - (6)].ll_node);;} break; case 466: -#line 3984 "gram1.y" +#line 3988 "gram1.y" { (yyval.ll_node) = (yyvsp[(3) - (4)].ll_node);;} break; case 467: -#line 3989 "gram1.y" +#line 3993 "gram1.y" { if( (yyvsp[(4) - (11)].label) && (yyvsp[(4) - (11)].label)->labdefined) err("No backward DO loops", 46); @@ -9132,7 +9171,7 @@ yyreduce: break; case 468: -#line 3996 "gram1.y" +#line 4000 "gram1.y" { if( (yyvsp[(4) - (13)].label) && (yyvsp[(4) - (13)].label)->labdefined) err("No backward DO loops", 46); @@ -9141,64 +9180,64 @@ yyreduce: break; case 469: -#line 4004 "gram1.y" +#line 4008 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, CASE_NODE, (yyvsp[(4) - (4)].symbol), (yyvsp[(3) - (4)].ll_node), LLNULL, LLNULL); ;} break; case 470: -#line 4006 "gram1.y" +#line 4010 "gram1.y" { /*PTR_LLND p;*/ /* p = make_llnd(fi, DEFAULT, LLNULL, LLNULL, SMNULL); */ (yyval.bf_node) = get_bfnd(fi, DEFAULT_NODE, (yyvsp[(3) - (3)].symbol), LLNULL, LLNULL, LLNULL); ;} break; case 471: -#line 4010 "gram1.y" +#line 4014 "gram1.y" { make_endselect((yyvsp[(3) - (3)].symbol)); (yyval.bf_node) = BFNULL; ;} break; case 472: -#line 4013 "gram1.y" +#line 4017 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, SWITCH_NODE, SMNULL, (yyvsp[(6) - (7)].ll_node), LLNULL, LLNULL) ; ;} break; case 473: -#line 4015 "gram1.y" +#line 4019 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, SWITCH_NODE, SMNULL, (yyvsp[(7) - (8)].ll_node), LLNULL, (yyvsp[(1) - (8)].ll_node)) ; ;} break; case 474: -#line 4019 "gram1.y" +#line 4023 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node); ;} break; case 475: -#line 4025 "gram1.y" +#line 4029 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 476: -#line 4027 "gram1.y" +#line 4031 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DDOT, (yyvsp[(1) - (2)].ll_node), LLNULL, SMNULL); ;} break; case 477: -#line 4029 "gram1.y" +#line 4033 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DDOT, LLNULL, (yyvsp[(2) - (2)].ll_node), SMNULL); ;} break; case 478: -#line 4031 "gram1.y" +#line 4035 "gram1.y" { (yyval.ll_node) = make_llnd(fi, DDOT, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL); ;} break; case 479: -#line 4035 "gram1.y" +#line 4039 "gram1.y" { (yyval.ll_node) = make_llnd(fi, EXPR_LIST, (yyvsp[(1) - (1)].ll_node), LLNULL, SMNULL); ;} break; case 480: -#line 4037 "gram1.y" +#line 4041 "gram1.y" { PTR_LLND p; p = make_llnd(fi, EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); @@ -9207,33 +9246,33 @@ yyreduce: break; case 481: -#line 4045 "gram1.y" +#line 4049 "gram1.y" { (yyval.symbol) = SMNULL; ;} break; case 482: -#line 4047 "gram1.y" +#line 4051 "gram1.y" { (yyval.symbol) = make_local_entity((yyvsp[(1) - (1)].hash_entry), CONSTRUCT_NAME, global_default, LOCAL); ;} break; case 483: -#line 4053 "gram1.y" +#line 4057 "gram1.y" {(yyval.hash_entry) = HSNULL;;} break; case 484: -#line 4055 "gram1.y" +#line 4059 "gram1.y" { (yyval.hash_entry) = (yyvsp[(1) - (1)].hash_entry);;} break; case 485: -#line 4059 "gram1.y" +#line 4063 "gram1.y" {(yyval.hash_entry) = look_up_sym(yytext);;} break; case 486: -#line 4063 "gram1.y" +#line 4067 "gram1.y" { PTR_SYMB s; s = make_local_entity( (yyvsp[(1) - (2)].hash_entry), CONSTRUCT_NAME, global_default, LOCAL); (yyval.ll_node) = make_llnd(fi, VAR_REF, LLNULL, LLNULL, s); @@ -9241,22 +9280,22 @@ yyreduce: break; case 487: -#line 4084 "gram1.y" +#line 4088 "gram1.y" { (yyval.bf_node) = make_if((yyvsp[(4) - (5)].ll_node)); ;} break; case 488: -#line 4087 "gram1.y" +#line 4091 "gram1.y" { (yyval.bf_node) = make_forall((yyvsp[(4) - (6)].ll_node),(yyvsp[(5) - (6)].ll_node)); ;} break; case 489: -#line 4091 "gram1.y" +#line 4095 "gram1.y" { (yyval.ll_node) = make_llnd(fi, EXPR_LIST, (yyvsp[(1) - (1)].ll_node), LLNULL, SMNULL); ;} break; case 490: -#line 4093 "gram1.y" +#line 4097 "gram1.y" { PTR_LLND p; p = make_llnd(fi, EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); add_to_lowLevelList(p, (yyvsp[(1) - (3)].ll_node)); @@ -9264,22 +9303,22 @@ yyreduce: break; case 491: -#line 4100 "gram1.y" +#line 4104 "gram1.y" {(yyval.ll_node) = make_llnd(fi, FORALL_OP, (yyvsp[(3) - (3)].ll_node), LLNULL, (yyvsp[(1) - (3)].symbol)); ;} break; case 492: -#line 4104 "gram1.y" +#line 4108 "gram1.y" { (yyval.ll_node)=LLNULL;;} break; case 493: -#line 4106 "gram1.y" +#line 4110 "gram1.y" { (yyval.ll_node)=(yyvsp[(2) - (2)].ll_node);;} break; case 494: -#line 4117 "gram1.y" +#line 4121 "gram1.y" { PTR_SYMB s; s = (yyvsp[(1) - (1)].hash_entry)->id_attr; if (!s || s->variant == DEFAULT) @@ -9292,7 +9331,7 @@ yyreduce: break; case 495: -#line 4130 "gram1.y" +#line 4134 "gram1.y" { PTR_SYMB s; PTR_LLND l; int vrnt; @@ -9317,7 +9356,7 @@ yyreduce: break; case 496: -#line 4153 "gram1.y" +#line 4157 "gram1.y" { PTR_SYMB s; PTR_LLND l; int vrnt; @@ -9341,12 +9380,12 @@ yyreduce: break; case 497: -#line 4176 "gram1.y" +#line 4180 "gram1.y" { (yyval.label) = LBNULL; ;} break; case 498: -#line 4178 "gram1.y" +#line 4182 "gram1.y" { (yyval.label) = make_label_node(fi,convci(yyleng, yytext)); (yyval.label)->scope = cur_scope(); @@ -9354,32 +9393,32 @@ yyreduce: break; case 499: -#line 4185 "gram1.y" +#line 4189 "gram1.y" { make_endwhere((yyvsp[(3) - (3)].symbol)); (yyval.bf_node) = BFNULL; ;} break; case 500: -#line 4187 "gram1.y" +#line 4191 "gram1.y" { make_elsewhere((yyvsp[(3) - (3)].symbol)); lastwasbranch = NO; (yyval.bf_node) = BFNULL; ;} break; case 501: -#line 4189 "gram1.y" +#line 4193 "gram1.y" { make_elsewhere_mask((yyvsp[(4) - (6)].ll_node),(yyvsp[(6) - (6)].symbol)); lastwasbranch = NO; (yyval.bf_node) = BFNULL; ;} break; case 502: -#line 4191 "gram1.y" +#line 4195 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, WHERE_BLOCK_STMT, SMNULL, (yyvsp[(4) - (5)].ll_node), LLNULL, LLNULL); ;} break; case 503: -#line 4193 "gram1.y" +#line 4197 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, WHERE_BLOCK_STMT, SMNULL, (yyvsp[(5) - (6)].ll_node), LLNULL, (yyvsp[(1) - (6)].ll_node)); ;} break; case 504: -#line 4198 "gram1.y" +#line 4202 "gram1.y" { PTR_LLND p, r; PTR_SYMB s1, s2 = SMNULL, s3, arg_list; PTR_HASH hash_entry; @@ -9458,7 +9497,7 @@ yyreduce: break; case 505: -#line 4274 "gram1.y" +#line 4278 "gram1.y" { /*PTR_SYMB s;*/ /*s = make_scalar($2, TYNULL, LOCAL);*/ @@ -9467,7 +9506,7 @@ yyreduce: break; case 506: -#line 4286 "gram1.y" +#line 4290 "gram1.y" { PTR_SYMB p; p = make_scalar((yyvsp[(5) - (5)].hash_entry), TYNULL, LOCAL); @@ -9477,17 +9516,17 @@ yyreduce: break; case 507: -#line 4293 "gram1.y" +#line 4297 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,CONT_STAT,SMNULL,LLNULL,LLNULL,LLNULL); ;} break; case 509: -#line 4296 "gram1.y" +#line 4300 "gram1.y" { inioctl = NO; ;} break; case 510: -#line 4298 "gram1.y" +#line 4302 "gram1.y" { PTR_LLND p; p = make_llnd(fi,EXPR_LIST, (yyvsp[(10) - (10)].ll_node), LLNULL, SMNULL); @@ -9499,7 +9538,7 @@ yyreduce: break; case 511: -#line 4307 "gram1.y" +#line 4311 "gram1.y" { (yyval.bf_node) = subroutine_call((yyvsp[(1) - (1)].symbol), LLNULL, LLNULL, PLAIN); /* match_parameters($1, LLNULL); @@ -9509,7 +9548,7 @@ yyreduce: break; case 512: -#line 4314 "gram1.y" +#line 4318 "gram1.y" { (yyval.bf_node) = subroutine_call((yyvsp[(1) - (3)].symbol), LLNULL, LLNULL, PLAIN); /* match_parameters($1, LLNULL); @@ -9519,7 +9558,7 @@ yyreduce: break; case 513: -#line 4321 "gram1.y" +#line 4325 "gram1.y" { (yyval.bf_node) = subroutine_call((yyvsp[(1) - (4)].symbol), (yyvsp[(3) - (4)].ll_node), LLNULL, PLAIN); /* match_parameters($1, $3); @@ -9529,7 +9568,7 @@ yyreduce: break; case 514: -#line 4329 "gram1.y" +#line 4333 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,RETURN_STAT,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL); thiswasbranch = YES; @@ -9537,7 +9576,7 @@ yyreduce: break; case 515: -#line 4334 "gram1.y" +#line 4338 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,(yyvsp[(1) - (3)].token),SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL); thiswasbranch = ((yyvsp[(1) - (3)].token) == STOP_STAT); @@ -9545,42 +9584,42 @@ yyreduce: break; case 516: -#line 4339 "gram1.y" +#line 4343 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, CYCLE_STMT, (yyvsp[(3) - (3)].symbol), LLNULL, LLNULL, LLNULL); ;} break; case 517: -#line 4342 "gram1.y" +#line 4346 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, EXIT_STMT, (yyvsp[(3) - (3)].symbol), LLNULL, LLNULL, LLNULL); ;} break; case 518: -#line 4345 "gram1.y" +#line 4349 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, ALLOCATE_STMT, SMNULL, (yyvsp[(5) - (6)].ll_node), stat_alloc, LLNULL); ;} break; case 519: -#line 4348 "gram1.y" +#line 4352 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, DEALLOCATE_STMT, SMNULL, (yyvsp[(5) - (6)].ll_node), stat_alloc , LLNULL); ;} break; case 520: -#line 4351 "gram1.y" +#line 4355 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, NULLIFY_STMT, SMNULL, (yyvsp[(4) - (5)].ll_node), LLNULL, LLNULL); ;} break; case 521: -#line 4354 "gram1.y" +#line 4358 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, WHERE_NODE, SMNULL, (yyvsp[(4) - (8)].ll_node), (yyvsp[(6) - (8)].ll_node), (yyvsp[(8) - (8)].ll_node)); ;} break; case 522: -#line 4372 "gram1.y" +#line 4376 "gram1.y" {(yyval.ll_node) = LLNULL;;} break; case 523: -#line 4376 "gram1.y" +#line 4380 "gram1.y" { (yyval.bf_node)=get_bfnd(fi,GOTO_NODE,SMNULL,LLNULL,LLNULL,(PTR_LLND)(yyvsp[(3) - (3)].ll_node)); thiswasbranch = YES; @@ -9588,7 +9627,7 @@ yyreduce: break; case 524: -#line 4381 "gram1.y" +#line 4385 "gram1.y" { PTR_SYMB p; if((yyvsp[(3) - (3)].hash_entry)->id_attr) @@ -9610,7 +9649,7 @@ yyreduce: break; case 525: -#line 4400 "gram1.y" +#line 4404 "gram1.y" { PTR_SYMB p; if((yyvsp[(3) - (7)].hash_entry)->id_attr) @@ -9632,17 +9671,17 @@ yyreduce: break; case 526: -#line 4419 "gram1.y" +#line 4423 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,COMGOTO_NODE, SMNULL, (yyvsp[(4) - (7)].ll_node), (yyvsp[(7) - (7)].ll_node), LLNULL); ;} break; case 529: -#line 4427 "gram1.y" +#line 4431 "gram1.y" { (yyval.symbol) = make_procedure((yyvsp[(3) - (4)].hash_entry), LOCAL); ;} break; case 530: -#line 4431 "gram1.y" +#line 4435 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(2) - (2)].ll_node), LLNULL, EXPR_LIST); endioctl(); @@ -9650,7 +9689,7 @@ yyreduce: break; case 531: -#line 4436 "gram1.y" +#line 4440 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node), (yyvsp[(4) - (4)].ll_node), EXPR_LIST); endioctl(); @@ -9658,32 +9697,32 @@ yyreduce: break; case 532: -#line 4443 "gram1.y" +#line 4447 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 533: -#line 4445 "gram1.y" +#line 4449 "gram1.y" { (yyval.ll_node) = make_llnd(fi, KEYWORD_ARG, (yyvsp[(1) - (2)].ll_node), (yyvsp[(2) - (2)].ll_node), SMNULL); ;} break; case 534: -#line 4447 "gram1.y" +#line 4451 "gram1.y" { (yyval.ll_node) = make_llnd(fi,LABEL_ARG,(yyvsp[(2) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 535: -#line 4450 "gram1.y" +#line 4454 "gram1.y" { (yyval.token) = PAUSE_NODE; ;} break; case 536: -#line 4451 "gram1.y" +#line 4455 "gram1.y" { (yyval.token) = STOP_STAT; ;} break; case 537: -#line 4462 "gram1.y" +#line 4466 "gram1.y" { if(parstate == OUTSIDE) { PTR_BFND p; @@ -9699,23 +9738,23 @@ yyreduce: break; case 538: -#line 4477 "gram1.y" +#line 4481 "gram1.y" { intonly = YES; ;} break; case 539: -#line 4481 "gram1.y" +#line 4485 "gram1.y" { intonly = NO; ;} break; case 540: -#line 4489 "gram1.y" +#line 4493 "gram1.y" { (yyvsp[(1) - (2)].bf_node)->entry.Template.ll_ptr2 = (yyvsp[(2) - (2)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (2)].bf_node); ;} break; case 541: -#line 4492 "gram1.y" +#line 4496 "gram1.y" { PTR_LLND p, q = LLNULL; q = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); @@ -9728,7 +9767,7 @@ yyreduce: break; case 542: -#line 4502 "gram1.y" +#line 4506 "gram1.y" { PTR_LLND p, q, r; p = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); @@ -9744,7 +9783,7 @@ yyreduce: break; case 543: -#line 4515 "gram1.y" +#line 4519 "gram1.y" { PTR_LLND p, q, r; p = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); @@ -9760,113 +9799,113 @@ yyreduce: break; case 544: -#line 4528 "gram1.y" +#line 4532 "gram1.y" { (yyvsp[(1) - (2)].bf_node)->entry.Template.ll_ptr2 = (yyvsp[(2) - (2)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (2)].bf_node); ;} break; case 545: -#line 4531 "gram1.y" +#line 4535 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} break; case 546: -#line 4533 "gram1.y" +#line 4537 "gram1.y" { (yyvsp[(1) - (2)].bf_node)->entry.Template.ll_ptr2 = (yyvsp[(2) - (2)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (2)].bf_node); ;} break; case 547: -#line 4536 "gram1.y" +#line 4540 "gram1.y" { (yyvsp[(1) - (2)].bf_node)->entry.Template.ll_ptr2 = (yyvsp[(2) - (2)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (2)].bf_node); ;} break; case 548: -#line 4539 "gram1.y" +#line 4543 "gram1.y" { (yyvsp[(1) - (3)].bf_node)->entry.Template.ll_ptr2 = (yyvsp[(2) - (3)].ll_node); (yyvsp[(1) - (3)].bf_node)->entry.Template.ll_ptr1 = (yyvsp[(3) - (3)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (3)].bf_node); ;} break; case 549: -#line 4543 "gram1.y" +#line 4547 "gram1.y" { (yyvsp[(1) - (4)].bf_node)->entry.Template.ll_ptr2 = (yyvsp[(2) - (4)].ll_node); (yyvsp[(1) - (4)].bf_node)->entry.Template.ll_ptr1 = (yyvsp[(4) - (4)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (4)].bf_node); ;} break; case 550: -#line 4552 "gram1.y" +#line 4556 "gram1.y" { (yyvsp[(1) - (2)].bf_node)->entry.Template.ll_ptr2 = (yyvsp[(2) - (2)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (2)].bf_node); ;} break; case 551: -#line 4555 "gram1.y" +#line 4559 "gram1.y" { (yyvsp[(1) - (3)].bf_node)->entry.Template.ll_ptr2 = (yyvsp[(2) - (3)].ll_node); (yyvsp[(1) - (3)].bf_node)->entry.Template.ll_ptr1 = (yyvsp[(3) - (3)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (3)].bf_node); ;} break; case 552: -#line 4559 "gram1.y" +#line 4563 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (1)].bf_node); ;} break; case 553: -#line 4561 "gram1.y" +#line 4565 "gram1.y" { (yyvsp[(1) - (3)].bf_node)->entry.Template.ll_ptr1 = (yyvsp[(3) - (3)].ll_node); (yyval.bf_node) = (yyvsp[(1) - (3)].bf_node); ;} break; case 554: -#line 4567 "gram1.y" +#line 4571 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (3)].bf_node); ;} break; case 555: -#line 4571 "gram1.y" +#line 4575 "gram1.y" {(yyval.bf_node) = get_bfnd(fi, BACKSPACE_STAT, SMNULL, LLNULL, LLNULL, LLNULL);;} break; case 556: -#line 4573 "gram1.y" +#line 4577 "gram1.y" {(yyval.bf_node) = get_bfnd(fi, REWIND_STAT, SMNULL, LLNULL, LLNULL, LLNULL);;} break; case 557: -#line 4575 "gram1.y" +#line 4579 "gram1.y" {(yyval.bf_node) = get_bfnd(fi, ENDFILE_STAT, SMNULL, LLNULL, LLNULL, LLNULL);;} break; case 558: -#line 4582 "gram1.y" +#line 4586 "gram1.y" { (yyval.bf_node) = (yyvsp[(1) - (3)].bf_node); ;} break; case 559: -#line 4586 "gram1.y" +#line 4590 "gram1.y" {(yyval.bf_node) = get_bfnd(fi, OPEN_STAT, SMNULL, LLNULL, LLNULL, LLNULL);;} break; case 560: -#line 4588 "gram1.y" +#line 4592 "gram1.y" {(yyval.bf_node) = get_bfnd(fi, CLOSE_STAT, SMNULL, LLNULL, LLNULL, LLNULL);;} break; case 561: -#line 4592 "gram1.y" +#line 4596 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, INQUIRE_STAT, SMNULL, LLNULL, (yyvsp[(4) - (4)].ll_node), LLNULL);;} break; case 562: -#line 4594 "gram1.y" +#line 4598 "gram1.y" { (yyval.bf_node) = get_bfnd(fi, INQUIRE_STAT, SMNULL, (yyvsp[(5) - (5)].ll_node), (yyvsp[(4) - (5)].ll_node), LLNULL);;} break; case 563: -#line 4598 "gram1.y" +#line 4602 "gram1.y" { PTR_LLND p; PTR_LLND q = LLNULL; @@ -9888,7 +9927,7 @@ yyreduce: break; case 564: -#line 4617 "gram1.y" +#line 4621 "gram1.y" { PTR_LLND p; PTR_LLND q; @@ -9904,7 +9943,7 @@ yyreduce: break; case 565: -#line 4633 "gram1.y" +#line 4637 "gram1.y" { PTR_LLND p; p = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); @@ -9916,7 +9955,7 @@ yyreduce: break; case 566: -#line 4644 "gram1.y" +#line 4648 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node); endioctl(); @@ -9924,17 +9963,17 @@ yyreduce: break; case 567: -#line 4651 "gram1.y" +#line 4655 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); endioctl();;} break; case 568: -#line 4653 "gram1.y" +#line 4657 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node), (yyvsp[(4) - (4)].ll_node), EXPR_LIST); endioctl();;} break; case 569: -#line 4657 "gram1.y" +#line 4661 "gram1.y" { PTR_LLND p; PTR_LLND q; @@ -9963,7 +10002,7 @@ yyreduce: break; case 570: -#line 4683 "gram1.y" +#line 4687 "gram1.y" { PTR_LLND p; PTR_LLND q; @@ -9981,7 +10020,7 @@ yyreduce: break; case 571: -#line 4698 "gram1.y" +#line 4702 "gram1.y" { PTR_LLND p; PTR_LLND q; @@ -9999,7 +10038,7 @@ yyreduce: break; case 572: -#line 4713 "gram1.y" +#line 4717 "gram1.y" { PTR_LLND p; char *q; @@ -10019,7 +10058,7 @@ yyreduce: break; case 573: -#line 4730 "gram1.y" +#line 4734 "gram1.y" { PTR_LLND p; p = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); @@ -10030,7 +10069,7 @@ yyreduce: break; case 574: -#line 4738 "gram1.y" +#line 4742 "gram1.y" { PTR_LLND p; p = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); p->entry.string_val = (char *)"*"; @@ -10040,7 +10079,7 @@ yyreduce: break; case 575: -#line 4747 "gram1.y" +#line 4751 "gram1.y" { (yyval.ll_node) = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = copys(yytext); (yyval.ll_node)->type = global_string; @@ -10048,17 +10087,17 @@ yyreduce: break; case 576: -#line 4755 "gram1.y" +#line 4759 "gram1.y" {(yyval.bf_node) = get_bfnd(fi, READ_STAT, SMNULL, LLNULL, LLNULL, LLNULL);;} break; case 577: -#line 4760 "gram1.y" +#line 4764 "gram1.y" {(yyval.bf_node) = get_bfnd(fi, WRITE_STAT, SMNULL, LLNULL, LLNULL, LLNULL);;} break; case 578: -#line 4765 "gram1.y" +#line 4769 "gram1.y" { PTR_LLND p, q, l; @@ -10083,7 +10122,7 @@ yyreduce: break; case 579: -#line 4787 "gram1.y" +#line 4791 "gram1.y" { PTR_LLND p, q, r; p = make_llnd(fi, KEYWORD_VAL, LLNULL, LLNULL, SMNULL); @@ -10099,22 +10138,22 @@ yyreduce: break; case 580: -#line 4803 "gram1.y" +#line 4807 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST);;} break; case 581: -#line 4805 "gram1.y" +#line 4809 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST);;} break; case 582: -#line 4809 "gram1.y" +#line 4813 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 583: -#line 4811 "gram1.y" +#line 4815 "gram1.y" { (yyvsp[(4) - (5)].ll_node)->entry.Template.ll_ptr1 = (yyvsp[(2) - (5)].ll_node); (yyval.ll_node) = (yyvsp[(4) - (5)].ll_node); @@ -10122,64 +10161,64 @@ yyreduce: break; case 584: -#line 4818 "gram1.y" +#line 4822 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (1)].ll_node)->type;;} break; case 585: -#line 4820 "gram1.y" +#line 4824 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 586: -#line 4822 "gram1.y" +#line 4826 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 587: -#line 4826 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (3)].ll_node)->type;;} - break; - - case 588: -#line 4828 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (3)].ll_node)->type;;} - break; - - case 589: #line 4830 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (3)].ll_node)->type;;} break; - case 590: + case 588: #line 4832 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (3)].ll_node)->type;;} break; - case 591: + case 589: #line 4834 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (3)].ll_node)->type;;} break; - case 592: + case 590: #line 4836 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (3)].ll_node)->type;;} break; - case 593: + case 591: +#line 4838 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (3)].ll_node)->type;;} + break; + + case 592: #line 4840 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(1) - (3)].ll_node)->type;;} + break; + + case 593: +#line 4844 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); (yyval.ll_node)->type = global_complex; ;} break; case 594: -#line 4843 "gram1.y" +#line 4847 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(2) - (3)].ll_node), LLNULL, EXPR_LIST); (yyval.ll_node)->type = (yyvsp[(2) - (3)].ll_node)->type; ;} break; case 595: -#line 4846 "gram1.y" +#line 4850 "gram1.y" { (yyvsp[(4) - (5)].ll_node)->entry.Template.ll_ptr1 = (yyvsp[(2) - (5)].ll_node); (yyval.ll_node) = set_ll_list((yyvsp[(4) - (5)].ll_node), LLNULL, EXPR_LIST); @@ -10188,7 +10227,7 @@ yyreduce: break; case 596: -#line 4852 "gram1.y" +#line 4856 "gram1.y" { (yyvsp[(4) - (5)].ll_node)->entry.Template.ll_ptr1 = (yyvsp[(2) - (5)].ll_node); (yyval.ll_node) = set_ll_list((yyvsp[(4) - (5)].ll_node), LLNULL, EXPR_LIST); @@ -10197,7 +10236,7 @@ yyreduce: break; case 597: -#line 4858 "gram1.y" +#line 4862 "gram1.y" { (yyvsp[(4) - (5)].ll_node)->entry.Template.ll_ptr1 = (yyvsp[(2) - (5)].ll_node); (yyval.ll_node) = set_ll_list((yyvsp[(4) - (5)].ll_node), LLNULL, EXPR_LIST); @@ -10206,37 +10245,37 @@ yyreduce: break; case 598: -#line 4866 "gram1.y" +#line 4870 "gram1.y" { inioctl = YES; ;} break; case 599: -#line 4870 "gram1.y" +#line 4874 "gram1.y" { startioctl();;} break; case 600: -#line 4878 "gram1.y" +#line 4882 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 601: -#line 4880 "gram1.y" +#line 4884 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node); ;} break; case 602: -#line 4884 "gram1.y" +#line 4888 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 603: -#line 4886 "gram1.y" +#line 4890 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 604: -#line 4888 "gram1.y" +#line 4892 "gram1.y" { (yyval.ll_node) = make_llnd(fi,(yyvsp[(2) - (3)].token), (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL); set_expr_type((yyval.ll_node)); @@ -10244,7 +10283,7 @@ yyreduce: break; case 605: -#line 4893 "gram1.y" +#line 4897 "gram1.y" { (yyval.ll_node) = make_llnd(fi,MULT_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL); set_expr_type((yyval.ll_node)); @@ -10252,7 +10291,7 @@ yyreduce: break; case 606: -#line 4898 "gram1.y" +#line 4902 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DIV_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL); set_expr_type((yyval.ll_node)); @@ -10260,7 +10299,7 @@ yyreduce: break; case 607: -#line 4903 "gram1.y" +#line 4907 "gram1.y" { (yyval.ll_node) = make_llnd(fi,EXP_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL); set_expr_type((yyval.ll_node)); @@ -10268,7 +10307,7 @@ yyreduce: break; case 608: -#line 4908 "gram1.y" +#line 4912 "gram1.y" { if((yyvsp[(1) - (2)].token) == SUBT_OP) { @@ -10280,7 +10319,7 @@ yyreduce: break; case 609: -#line 4917 "gram1.y" +#line 4921 "gram1.y" { (yyval.ll_node) = make_llnd(fi,CONCAT_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL); set_expr_type((yyval.ll_node)); @@ -10288,17 +10327,17 @@ yyreduce: break; case 610: -#line 4922 "gram1.y" +#line 4926 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 611: -#line 4927 "gram1.y" +#line 4931 "gram1.y" { comments = cur_comment = CMNULL; ;} break; case 612: -#line 4929 "gram1.y" +#line 4933 "gram1.y" { PTR_CMNT p; p = make_comment(fi,*commentbuf, HALF); if (cur_comment) @@ -10315,12 +10354,12 @@ yyreduce: break; case 676: -#line 5012 "gram1.y" +#line 5016 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,HPF_TEMPLATE_STAT, SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL); ;} break; case 677: -#line 5014 "gram1.y" +#line 5018 "gram1.y" { PTR_SYMB s; if((yyvsp[(1) - (3)].bf_node)->entry.Template.ll_ptr2) { @@ -10332,7 +10371,7 @@ yyreduce: break; case 678: -#line 5025 "gram1.y" +#line 5029 "gram1.y" {PTR_SYMB s; PTR_LLND q; /* 27.06.18 @@ -10354,22 +10393,22 @@ yyreduce: break; case 679: -#line 5046 "gram1.y" +#line 5050 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_DYNAMIC_DIR, SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL);;} break; case 680: -#line 5050 "gram1.y" +#line 5054 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 681: -#line 5052 "gram1.y" +#line 5056 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 682: -#line 5056 "gram1.y" +#line 5060 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); if(s->attr & DYNAMIC_BIT) @@ -10383,22 +10422,22 @@ yyreduce: break; case 683: -#line 5069 "gram1.y" +#line 5073 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_INHERIT_DIR, SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL);;} break; case 684: -#line 5073 "gram1.y" +#line 5077 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 685: -#line 5075 "gram1.y" +#line 5079 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 686: -#line 5079 "gram1.y" +#line 5083 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); if((s->attr & PROCESSORS_BIT) ||(s->attr & TASK_BIT) || (s->attr & TEMPLATE_BIT) || (s->attr & ALIGN_BIT) || (s->attr & DISTRIBUTE_BIT)) @@ -10410,7 +10449,7 @@ yyreduce: break; case 687: -#line 5090 "gram1.y" +#line 5094 "gram1.y" { PTR_LLND q; q = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); /* (void)fprintf(stderr,"hpf.gram: shadow\n");*/ @@ -10419,32 +10458,32 @@ yyreduce: break; case 688: -#line 5101 "gram1.y" +#line 5105 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node);;} break; case 689: -#line 5105 "gram1.y" +#line 5109 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 690: -#line 5107 "gram1.y" +#line 5111 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 691: -#line 5111 "gram1.y" +#line 5115 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 692: -#line 5113 "gram1.y" +#line 5117 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL);;} break; case 693: -#line 5115 "gram1.y" +#line 5119 "gram1.y" { if(parstate!=INEXEC) err("Illegal shadow width specification", 56); @@ -10453,7 +10492,7 @@ yyreduce: break; case 694: -#line 5130 "gram1.y" +#line 5134 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); if(s->attr & SHADOW_BIT) @@ -10467,7 +10506,7 @@ yyreduce: break; case 695: -#line 5142 "gram1.y" +#line 5146 "gram1.y" { PTR_SYMB s; PTR_LLND q, r; if(! explicit_shape) { @@ -10490,7 +10529,7 @@ yyreduce: break; case 696: -#line 5162 "gram1.y" +#line 5166 "gram1.y" { PTR_SYMB s; PTR_LLND q, r; if(! explicit_shape) { @@ -10513,7 +10552,7 @@ yyreduce: break; case 697: -#line 5182 "gram1.y" +#line 5186 "gram1.y" { PTR_SYMB s; PTR_LLND q, r; if(! explicit_shape) { @@ -10536,7 +10575,7 @@ yyreduce: break; case 698: -#line 5204 "gram1.y" +#line 5208 "gram1.y" { PTR_LLND q,r; q = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(3) - (3)].symbol)); r = make_llnd(fi,EXPR_LIST, q, LLNULL, SMNULL); @@ -10545,7 +10584,7 @@ yyreduce: break; case 699: -#line 5210 "gram1.y" +#line 5214 "gram1.y" { PTR_LLND q,r; q = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(3) - (3)].symbol)); r = make_llnd(fi,EXPR_LIST, q, LLNULL, SMNULL); @@ -10555,7 +10594,7 @@ yyreduce: break; case 700: -#line 5219 "gram1.y" +#line 5223 "gram1.y" {(yyval.symbol) = make_local_entity((yyvsp[(1) - (1)].hash_entry), REF_GROUP_NAME,global_default,LOCAL); if((yyval.symbol)->attr & INDIRECT_BIT) errstr( "Multiple declaration of identifier %s ", (yyval.symbol)->ident, 73); @@ -10564,7 +10603,7 @@ yyreduce: break; case 701: -#line 5227 "gram1.y" +#line 5231 "gram1.y" { PTR_LLND q,r; q = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(3) - (3)].symbol)); r = make_llnd(fi,EXPR_LIST, q, LLNULL, SMNULL); @@ -10573,7 +10612,7 @@ yyreduce: break; case 702: -#line 5233 "gram1.y" +#line 5237 "gram1.y" { PTR_LLND q,r; q = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(3) - (3)].symbol)); r = make_llnd(fi,EXPR_LIST, q, LLNULL, SMNULL); @@ -10582,7 +10621,7 @@ yyreduce: break; case 703: -#line 5241 "gram1.y" +#line 5245 "gram1.y" {(yyval.symbol) = make_local_entity((yyvsp[(1) - (1)].hash_entry), REF_GROUP_NAME,global_default,LOCAL); if((yyval.symbol)->attr & INDIRECT_BIT) errstr( "Inconsistent declaration of identifier %s ", (yyval.symbol)->ident, 16); @@ -10590,7 +10629,7 @@ yyreduce: break; case 704: -#line 5248 "gram1.y" +#line 5252 "gram1.y" { PTR_LLND q,r; q = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(3) - (3)].symbol)); r = make_llnd(fi,EXPR_LIST, q, LLNULL, SMNULL); @@ -10599,7 +10638,7 @@ yyreduce: break; case 705: -#line 5254 "gram1.y" +#line 5258 "gram1.y" { PTR_LLND q,r; q = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(3) - (3)].symbol)); r = make_llnd(fi,EXPR_LIST, q, LLNULL, SMNULL); @@ -10609,12 +10648,12 @@ yyreduce: break; case 706: -#line 5263 "gram1.y" +#line 5267 "gram1.y" {(yyval.symbol) = make_local_entity((yyvsp[(1) - (1)].hash_entry), REDUCTION_GROUP_NAME,global_default,LOCAL);;} break; case 707: -#line 5267 "gram1.y" +#line 5271 "gram1.y" { PTR_LLND q,r; q = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(3) - (3)].symbol)); r = make_llnd(fi,EXPR_LIST, q, LLNULL, SMNULL); @@ -10623,7 +10662,7 @@ yyreduce: break; case 708: -#line 5273 "gram1.y" +#line 5277 "gram1.y" { PTR_LLND q,r; q = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(3) - (3)].symbol)); r = make_llnd(fi,EXPR_LIST, q, LLNULL, SMNULL); @@ -10632,12 +10671,12 @@ yyreduce: break; case 709: -#line 5281 "gram1.y" +#line 5285 "gram1.y" {(yyval.symbol) = make_local_entity((yyvsp[(1) - (1)].hash_entry), CONSISTENT_GROUP_NAME,global_default,LOCAL);;} break; case 710: -#line 5295 "gram1.y" +#line 5299 "gram1.y" { PTR_SYMB s; if(parstate == INEXEC){ if (!(s = (yyvsp[(2) - (3)].hash_entry)->id_attr)) @@ -10653,12 +10692,12 @@ yyreduce: break; case 711: -#line 5308 "gram1.y" +#line 5312 "gram1.y" { (yyval.ll_node) = LLNULL; opt_kwd_ = NO;;} break; case 712: -#line 5314 "gram1.y" +#line 5318 "gram1.y" { PTR_LLND q; if(!(yyvsp[(4) - (5)].ll_node)) err("Distribution format list is omitted", 51); @@ -10670,7 +10709,7 @@ yyreduce: break; case 713: -#line 5330 "gram1.y" +#line 5334 "gram1.y" { PTR_LLND q; /* if(!$4) {err("Distribution format is omitted", 51); errcnt--;} @@ -10687,7 +10726,7 @@ yyreduce: break; case 714: -#line 5345 "gram1.y" +#line 5349 "gram1.y" { /* r = LLNULL; if($5){ @@ -10701,27 +10740,27 @@ yyreduce: break; case 715: -#line 5373 "gram1.y" +#line 5377 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 716: -#line 5375 "gram1.y" +#line 5379 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 717: -#line 5379 "gram1.y" +#line 5383 "gram1.y" {(yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 718: -#line 5381 "gram1.y" +#line 5385 "gram1.y" {(yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 719: -#line 5385 "gram1.y" +#line 5389 "gram1.y" { PTR_SYMB s; if(parstate == INEXEC){ @@ -10751,7 +10790,7 @@ yyreduce: break; case 720: -#line 5414 "gram1.y" +#line 5418 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (4)].hash_entry), TYNULL, LLNULL, 0, LOCAL); @@ -10774,7 +10813,7 @@ yyreduce: break; case 721: -#line 5437 "gram1.y" +#line 5441 "gram1.y" { PTR_SYMB s; if((s=(yyvsp[(1) - (1)].hash_entry)->id_attr) == SMNULL) s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); @@ -10785,44 +10824,44 @@ yyreduce: break; case 722: -#line 5457 "gram1.y" +#line 5461 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 723: -#line 5459 "gram1.y" +#line 5463 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (2)].ll_node);;} break; case 724: -#line 5463 "gram1.y" +#line 5467 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node);;} break; case 725: -#line 5484 "gram1.y" +#line 5488 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(2) - (2)].ll_node),LLNULL,EXPR_LIST); ;} break; case 726: -#line 5486 "gram1.y" +#line 5490 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node),(yyvsp[(4) - (4)].ll_node),EXPR_LIST); ;} break; case 727: -#line 5489 "gram1.y" +#line 5493 "gram1.y" { opt_kwd_ = YES; ;} break; case 728: -#line 5498 "gram1.y" +#line 5502 "gram1.y" { (yyval.ll_node) = make_llnd(fi,BLOCK_OP, LLNULL, LLNULL, SMNULL); ;} break; case 729: -#line 5502 "gram1.y" +#line 5506 "gram1.y" { err("Distribution format BLOCK(n) is not permitted in FDVM", 55); (yyval.ll_node) = make_llnd(fi,BLOCK_OP, (yyvsp[(4) - (5)].ll_node), LLNULL, SMNULL); endioctl(); @@ -10830,22 +10869,22 @@ yyreduce: break; case 730: -#line 5507 "gram1.y" +#line 5511 "gram1.y" { (yyval.ll_node) = make_llnd(fi,BLOCK_OP, LLNULL, LLNULL, (yyvsp[(3) - (4)].symbol)); ;} break; case 731: -#line 5509 "gram1.y" +#line 5513 "gram1.y" { (yyval.ll_node) = make_llnd(fi,BLOCK_OP, (yyvsp[(5) - (6)].ll_node), LLNULL, (yyvsp[(3) - (6)].symbol)); ;} break; case 732: -#line 5511 "gram1.y" +#line 5515 "gram1.y" { (yyval.ll_node) = make_llnd(fi,BLOCK_OP, LLNULL, (yyvsp[(3) - (4)].ll_node), SMNULL); ;} break; case 733: -#line 5513 "gram1.y" +#line 5517 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = (char *) "*"; @@ -10854,17 +10893,17 @@ yyreduce: break; case 734: -#line 5519 "gram1.y" +#line 5523 "gram1.y" { (yyval.ll_node) = make_llnd(fi,INDIRECT_OP, LLNULL, LLNULL, (yyvsp[(3) - (4)].symbol)); ;} break; case 735: -#line 5521 "gram1.y" +#line 5525 "gram1.y" { (yyval.ll_node) = make_llnd(fi,INDIRECT_OP, (yyvsp[(3) - (4)].ll_node), LLNULL, SMNULL); ;} break; case 736: -#line 5525 "gram1.y" +#line 5529 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); if((s->attr & PROCESSORS_BIT) ||(s->attr & TASK_BIT) || (s->attr & TEMPLATE_BIT)) @@ -10875,46 +10914,46 @@ yyreduce: break; case 737: -#line 5535 "gram1.y" +#line 5539 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DERIVED_OP, (yyvsp[(2) - (6)].ll_node), (yyvsp[(6) - (6)].ll_node), SMNULL); ;} break; case 738: -#line 5539 "gram1.y" +#line 5543 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 739: -#line 5541 "gram1.y" +#line 5545 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 740: -#line 5546 "gram1.y" +#line 5550 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 741: -#line 5548 "gram1.y" +#line 5552 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL);;} break; case 742: -#line 5552 "gram1.y" +#line 5556 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ARRAY_REF, LLNULL, LLNULL, (yyvsp[(1) - (1)].symbol)); ;} break; case 743: -#line 5556 "gram1.y" +#line 5560 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ARRAY_REF, (yyvsp[(3) - (4)].ll_node), LLNULL, (yyvsp[(1) - (4)].symbol)); ;} break; case 744: -#line 5562 "gram1.y" +#line 5566 "gram1.y" { if (!((yyval.symbol) = (yyvsp[(1) - (1)].hash_entry)->id_attr)) { @@ -10925,27 +10964,27 @@ yyreduce: break; case 745: -#line 5572 "gram1.y" +#line 5576 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 746: -#line 5574 "gram1.y" +#line 5578 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 747: -#line 5578 "gram1.y" +#line 5582 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 748: -#line 5580 "gram1.y" +#line 5584 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 749: -#line 5582 "gram1.y" +#line 5586 "gram1.y" { (yyvsp[(2) - (3)].ll_node)->entry.Template.ll_ptr1 = (yyvsp[(3) - (3)].ll_node); (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node); @@ -10953,7 +10992,7 @@ yyreduce: break; case 750: -#line 5589 "gram1.y" +#line 5593 "gram1.y" { PTR_SYMB s; s = make_scalar((yyvsp[(1) - (1)].hash_entry),TYNULL,LOCAL); (yyval.ll_node) = make_llnd(fi,DUMMY_REF, LLNULL, LLNULL, s); @@ -10962,27 +11001,27 @@ yyreduce: break; case 751: -#line 5606 "gram1.y" +#line 5610 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 752: -#line 5608 "gram1.y" +#line 5612 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 753: -#line 5612 "gram1.y" +#line 5616 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(2) - (2)].ll_node),LLNULL,EXPR_LIST); ;} break; case 754: -#line 5614 "gram1.y" +#line 5618 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 755: -#line 5618 "gram1.y" +#line 5622 "gram1.y" { if((yyvsp[(1) - (1)].ll_node)->type->variant != T_STRING) errstr( "Illegal type of shadow_name", 627); (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); @@ -10990,7 +11029,7 @@ yyreduce: break; case 756: -#line 5625 "gram1.y" +#line 5629 "gram1.y" { char *q; nioctl = 1; q = (yyvsp[(1) - (2)].ll_node)->entry.string_val; @@ -11003,7 +11042,7 @@ yyreduce: break; case 757: -#line 5635 "gram1.y" +#line 5639 "gram1.y" { char *ql, *qh; PTR_LLND p1, p2; nioctl = 2; @@ -11023,7 +11062,7 @@ yyreduce: break; case 758: -#line 5664 "gram1.y" +#line 5668 "gram1.y" { PTR_LLND q; q = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); (yyval.bf_node) = (yyvsp[(4) - (4)].bf_node); @@ -11032,7 +11071,7 @@ yyreduce: break; case 759: -#line 5679 "gram1.y" +#line 5683 "gram1.y" { PTR_LLND q; q = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); (yyval.bf_node) = (yyvsp[(4) - (4)].bf_node); @@ -11042,7 +11081,7 @@ yyreduce: break; case 760: -#line 5686 "gram1.y" +#line 5690 "gram1.y" { (yyval.bf_node) = (yyvsp[(3) - (6)].bf_node); (yyval.bf_node)->variant = DVM_REALIGN_DIR; @@ -11051,17 +11090,17 @@ yyreduce: break; case 761: -#line 5704 "gram1.y" +#line 5708 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 762: -#line 5706 "gram1.y" +#line 5710 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 763: -#line 5710 "gram1.y" +#line 5714 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); if((s->attr & ALIGN_BIT)) @@ -11076,7 +11115,7 @@ yyreduce: break; case 764: -#line 5724 "gram1.y" +#line 5728 "gram1.y" {PTR_SYMB s; s = (yyvsp[(1) - (1)].ll_node)->entry.Template.symbol; if(s->attr & PROCESSORS_BIT) @@ -11103,7 +11142,7 @@ yyreduce: break; case 765: -#line 5750 "gram1.y" +#line 5754 "gram1.y" { /* PTR_LLND r; if($7) { r = set_ll_list($6,LLNULL,EXPR_LIST); @@ -11117,29 +11156,29 @@ yyreduce: break; case 766: -#line 5763 "gram1.y" +#line 5767 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ARRAY_REF, (yyvsp[(3) - (4)].ll_node), LLNULL, (yyvsp[(1) - (4)].symbol)); ;} break; case 767: -#line 5779 "gram1.y" +#line 5783 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 768: -#line 5781 "gram1.y" +#line 5785 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 769: -#line 5784 "gram1.y" +#line 5788 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 770: -#line 5786 "gram1.y" +#line 5790 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = (char *) "*"; @@ -11148,12 +11187,12 @@ yyreduce: break; case 771: -#line 5792 "gram1.y" +#line 5796 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 772: -#line 5796 "gram1.y" +#line 5800 "gram1.y" { /* if(parstate == INEXEC){ *for REALIGN directive* if (!($$ = $1->id_attr)) @@ -11182,17 +11221,17 @@ yyreduce: break; case 773: -#line 5824 "gram1.y" +#line 5828 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 774: -#line 5826 "gram1.y" +#line 5830 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 775: -#line 5830 "gram1.y" +#line 5834 "gram1.y" { PTR_SYMB s; s = make_scalar((yyvsp[(1) - (1)].hash_entry),TYNULL,LOCAL); if(s->type->variant != T_INT || s->attr & PARAMETER_BIT) @@ -11203,7 +11242,7 @@ yyreduce: break; case 776: -#line 5838 "gram1.y" +#line 5842 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = (char *) "*"; @@ -11212,12 +11251,12 @@ yyreduce: break; case 777: -#line 5844 "gram1.y" +#line 5848 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT, LLNULL, LLNULL, SMNULL); ;} break; case 778: -#line 5847 "gram1.y" +#line 5851 "gram1.y" { PTR_SYMB s; PTR_LLND q, r, p; int numdim; @@ -11278,7 +11317,7 @@ yyreduce: break; case 779: -#line 5905 "gram1.y" +#line 5909 "gram1.y" { PTR_SYMB s; PTR_LLND q, r, p; int numdim; @@ -11337,45 +11376,45 @@ yyreduce: break; case 780: -#line 5969 "gram1.y" +#line 5973 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); type_options = type_opt; ;} break; case 781: -#line 5971 "gram1.y" +#line 5975 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node),(yyvsp[(4) - (4)].ll_node),EXPR_LIST); type_options = type_options | type_opt;;} break; case 782: -#line 5974 "gram1.y" +#line 5978 "gram1.y" { type_opt = TEMPLATE_BIT; (yyval.ll_node) = make_llnd(fi,TEMPLATE_OP,LLNULL,LLNULL,SMNULL); ;} break; case 783: -#line 5978 "gram1.y" - { type_opt = PROCESSORS_BIT; - (yyval.ll_node) = make_llnd(fi,PROCESSORS_OP,LLNULL,LLNULL,SMNULL); - ;} - break; - - case 784: #line 5982 "gram1.y" { type_opt = PROCESSORS_BIT; (yyval.ll_node) = make_llnd(fi,PROCESSORS_OP,LLNULL,LLNULL,SMNULL); ;} break; - case 785: + case 784: #line 5986 "gram1.y" + { type_opt = PROCESSORS_BIT; + (yyval.ll_node) = make_llnd(fi,PROCESSORS_OP,LLNULL,LLNULL,SMNULL); + ;} + break; + + case 785: +#line 5990 "gram1.y" { type_opt = DYNAMIC_BIT; (yyval.ll_node) = make_llnd(fi,DYNAMIC_OP,LLNULL,LLNULL,SMNULL); ;} break; case 786: -#line 6003 "gram1.y" +#line 6007 "gram1.y" { if(! explicit_shape) { err("Explicit shape specification is required", 50); @@ -11390,28 +11429,28 @@ yyreduce: break; case 787: -#line 6015 "gram1.y" +#line 6019 "gram1.y" { type_opt = SHADOW_BIT; (yyval.ll_node) = make_llnd(fi,SHADOW_OP,(yyvsp[(2) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 788: -#line 6019 "gram1.y" +#line 6023 "gram1.y" { type_opt = ALIGN_BIT; (yyval.ll_node) = make_llnd(fi,ALIGN_OP,(yyvsp[(3) - (7)].ll_node),(yyvsp[(7) - (7)].ll_node),SMNULL); ;} break; case 789: -#line 6023 "gram1.y" +#line 6027 "gram1.y" { type_opt = ALIGN_BIT; (yyval.ll_node) = make_llnd(fi,ALIGN_OP,LLNULL,SMNULL,SMNULL); ;} break; case 790: -#line 6033 "gram1.y" +#line 6037 "gram1.y" { type_opt = DISTRIBUTE_BIT; (yyval.ll_node) = make_llnd(fi,DISTRIBUTE_OP,(yyvsp[(2) - (4)].ll_node),(yyvsp[(4) - (4)].ll_node),SMNULL); @@ -11419,7 +11458,7 @@ yyreduce: break; case 791: -#line 6038 "gram1.y" +#line 6042 "gram1.y" { type_opt = DISTRIBUTE_BIT; (yyval.ll_node) = make_llnd(fi,DISTRIBUTE_OP,LLNULL,LLNULL,SMNULL); @@ -11427,7 +11466,7 @@ yyreduce: break; case 792: -#line 6043 "gram1.y" +#line 6047 "gram1.y" { type_opt = COMMON_BIT; (yyval.ll_node) = make_llnd(fi,COMMON_OP, LLNULL, LLNULL, SMNULL); @@ -11435,7 +11474,7 @@ yyreduce: break; case 793: -#line 6050 "gram1.y" +#line 6054 "gram1.y" { PTR_LLND l; l = make_llnd(fi, TYPE_OP, LLNULL, LLNULL, SMNULL); @@ -11445,12 +11484,12 @@ yyreduce: break; case 794: -#line 6058 "gram1.y" +#line 6062 "gram1.y" {ndim = 0;;} break; case 795: -#line 6059 "gram1.y" +#line 6063 "gram1.y" { PTR_LLND q; if(ndim == maxdim) err("Too many dimensions", 43); @@ -11464,7 +11503,7 @@ yyreduce: break; case 796: -#line 6070 "gram1.y" +#line 6074 "gram1.y" { PTR_LLND q; if(ndim == maxdim) err("Too many dimensions", 43); @@ -11476,17 +11515,17 @@ yyreduce: break; case 797: -#line 6081 "gram1.y" +#line 6085 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 798: -#line 6083 "gram1.y" +#line 6087 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 799: -#line 6087 "gram1.y" +#line 6091 "gram1.y" {PTR_SYMB s; /* s = make_scalar($1,TYNULL,LOCAL);*/ s = make_array((yyvsp[(1) - (1)].hash_entry),TYNULL,LLNULL,0,LOCAL); @@ -11498,22 +11537,22 @@ yyreduce: break; case 800: -#line 6098 "gram1.y" +#line 6102 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_HEAP_DIR, SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL);;} break; case 801: -#line 6102 "gram1.y" +#line 6106 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 802: -#line 6104 "gram1.y" +#line 6108 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 803: -#line 6108 "gram1.y" +#line 6112 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); s->attr = s->attr | HEAP_BIT; @@ -11525,22 +11564,22 @@ yyreduce: break; case 804: -#line 6119 "gram1.y" +#line 6123 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_CONSISTENT_DIR, SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL);;} break; case 805: -#line 6123 "gram1.y" +#line 6127 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 806: -#line 6125 "gram1.y" +#line 6129 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 807: -#line 6129 "gram1.y" +#line 6133 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); s->attr = s->attr | CONSISTENT_BIT; @@ -11552,12 +11591,12 @@ yyreduce: break; case 808: -#line 6141 "gram1.y" +#line 6145 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_ASYNCID_DIR, SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL);;} break; case 809: -#line 6143 "gram1.y" +#line 6147 "gram1.y" { PTR_LLND p; p = make_llnd(fi,COMM_LIST, LLNULL, LLNULL, SMNULL); (yyval.bf_node) = get_bfnd(fi,DVM_ASYNCID_DIR, SMNULL, (yyvsp[(8) - (8)].ll_node), p, LLNULL); @@ -11565,17 +11604,17 @@ yyreduce: break; case 810: -#line 6150 "gram1.y" +#line 6154 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 811: -#line 6152 "gram1.y" +#line 6156 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 812: -#line 6156 "gram1.y" +#line 6160 "gram1.y" { PTR_SYMB s; if((yyvsp[(2) - (2)].ll_node)){ s = make_array((yyvsp[(1) - (2)].hash_entry), global_default, (yyvsp[(2) - (2)].ll_node), ndim, LOCAL); @@ -11591,12 +11630,12 @@ yyreduce: break; case 813: -#line 6172 "gram1.y" +#line 6176 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_NEW_VALUE_DIR,SMNULL, LLNULL, LLNULL,LLNULL);;} break; case 814: -#line 6182 "gram1.y" +#line 6186 "gram1.y" { if((yyvsp[(6) - (7)].ll_node) && (yyvsp[(6) - (7)].ll_node)->entry.Template.symbol->attr & TASK_BIT) (yyval.bf_node) = get_bfnd(fi,DVM_PARALLEL_TASK_DIR,SMNULL,(yyvsp[(6) - (7)].ll_node),(yyvsp[(7) - (7)].ll_node),(yyvsp[(4) - (7)].ll_node)); else @@ -11605,27 +11644,27 @@ yyreduce: break; case 815: -#line 6191 "gram1.y" +#line 6195 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 816: -#line 6193 "gram1.y" +#line 6197 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 817: -#line 6197 "gram1.y" +#line 6201 "gram1.y" { (yyval.ll_node) = (yyvsp[(3) - (3)].ll_node);;} break; case 818: -#line 6200 "gram1.y" +#line 6204 "gram1.y" { (yyval.ll_node) = LLNULL; opt_kwd_ = NO;;} break; case 819: -#line 6205 "gram1.y" +#line 6209 "gram1.y" { if((yyvsp[(1) - (4)].ll_node)->type->variant != T_ARRAY) errstr("'%s' isn't array", (yyvsp[(1) - (4)].ll_node)->entry.Template.symbol->ident, 66); @@ -11636,22 +11675,22 @@ yyreduce: break; case 820: -#line 6215 "gram1.y" +#line 6219 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 821: -#line 6217 "gram1.y" +#line 6221 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 822: -#line 6221 "gram1.y" +#line 6225 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 823: -#line 6223 "gram1.y" +#line 6227 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = (char *) "*"; @@ -11660,27 +11699,27 @@ yyreduce: break; case 824: -#line 6231 "gram1.y" +#line 6235 "gram1.y" { (yyval.ll_node) = LLNULL;;} break; case 825: -#line 6233 "gram1.y" +#line 6237 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 826: -#line 6237 "gram1.y" +#line 6241 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 827: -#line 6239 "gram1.y" +#line 6243 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (2)].ll_node),(yyvsp[(2) - (2)].ll_node),EXPR_LIST); ;} break; case 839: -#line 6257 "gram1.y" +#line 6261 "gram1.y" { if((yyvsp[(5) - (8)].symbol)->attr & INDIRECT_BIT) errstr("'%s' is not remote group name", (yyvsp[(5) - (8)].symbol)->ident, 68); (yyval.ll_node) = make_llnd(fi,REMOTE_ACCESS_OP,(yyvsp[(7) - (8)].ll_node),LLNULL,(yyvsp[(5) - (8)].symbol)); @@ -11688,24 +11727,24 @@ yyreduce: break; case 840: -#line 6262 "gram1.y" +#line 6266 "gram1.y" { (yyval.ll_node) = make_llnd(fi,REMOTE_ACCESS_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 841: -#line 6266 "gram1.y" +#line 6270 "gram1.y" { (yyval.ll_node) = make_llnd(fi,CONSISTENT_OP,(yyvsp[(7) - (8)].ll_node),LLNULL,(yyvsp[(5) - (8)].symbol)); ;} break; case 842: -#line 6270 "gram1.y" +#line 6274 "gram1.y" { (yyval.ll_node) = make_llnd(fi,CONSISTENT_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 843: -#line 6274 "gram1.y" +#line 6278 "gram1.y" { if(((yyval.symbol)=(yyvsp[(1) - (1)].hash_entry)->id_attr) == SMNULL){ errstr("'%s' is not declared as group", (yyvsp[(1) - (1)].hash_entry)->ident, 74); @@ -11718,67 +11757,67 @@ yyreduce: break; case 844: -#line 6287 "gram1.y" - {(yyval.ll_node) = make_llnd(fi,NEW_SPEC_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} - break; - - case 845: #line 6291 "gram1.y" {(yyval.ll_node) = make_llnd(fi,NEW_SPEC_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; - case 846: + case 845: #line 6295 "gram1.y" + {(yyval.ll_node) = make_llnd(fi,NEW_SPEC_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} + break; + + case 846: +#line 6299 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_PRIVATE_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 847: -#line 6299 "gram1.y" +#line 6303 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_CUDA_BLOCK_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 848: -#line 6302 "gram1.y" +#line 6306 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST);;} break; case 849: -#line 6304 "gram1.y" +#line 6308 "gram1.y" {(yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST);;} break; case 850: -#line 6306 "gram1.y" +#line 6310 "gram1.y" {(yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node),(yyvsp[(3) - (5)].ll_node),EXPR_LIST); (yyval.ll_node) = set_ll_list((yyval.ll_node),(yyvsp[(5) - (5)].ll_node),EXPR_LIST);;} break; case 851: -#line 6310 "gram1.y" +#line 6314 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST);;} break; case 852: -#line 6312 "gram1.y" +#line 6316 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST);;} break; case 853: -#line 6316 "gram1.y" +#line 6320 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_TIE_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 854: -#line 6320 "gram1.y" +#line 6324 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST);;} break; case 855: -#line 6322 "gram1.y" +#line 6326 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST);;} break; case 856: -#line 6326 "gram1.y" +#line 6330 "gram1.y" { if(!((yyvsp[(5) - (8)].symbol)->attr & INDIRECT_BIT)) errstr("'%s' is not indirect group name", (yyvsp[(5) - (8)].symbol)->ident, 313); (yyval.ll_node) = make_llnd(fi,INDIRECT_ACCESS_OP,(yyvsp[(7) - (8)].ll_node),LLNULL,(yyvsp[(5) - (8)].symbol)); @@ -11786,27 +11825,27 @@ yyreduce: break; case 857: -#line 6331 "gram1.y" +#line 6335 "gram1.y" { (yyval.ll_node) = make_llnd(fi,INDIRECT_ACCESS_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 858: -#line 6335 "gram1.y" +#line 6339 "gram1.y" {(yyval.ll_node) = make_llnd(fi,STAGE_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 859: -#line 6339 "gram1.y" +#line 6343 "gram1.y" {(yyval.ll_node) = make_llnd(fi,ACROSS_OP,(yyvsp[(4) - (4)].ll_node),LLNULL,SMNULL);;} break; case 860: -#line 6341 "gram1.y" +#line 6345 "gram1.y" {(yyval.ll_node) = make_llnd(fi,ACROSS_OP,(yyvsp[(4) - (5)].ll_node),(yyvsp[(5) - (5)].ll_node),SMNULL);;} break; case 861: -#line 6345 "gram1.y" +#line 6349 "gram1.y" { if((yyvsp[(3) - (5)].ll_node)) (yyval.ll_node) = make_llnd(fi,DDOT,(yyvsp[(3) - (5)].ll_node),(yyvsp[(4) - (5)].ll_node),SMNULL); else @@ -11815,12 +11854,12 @@ yyreduce: break; case 862: -#line 6353 "gram1.y" +#line 6357 "gram1.y" { opt_in_out = YES; ;} break; case 863: -#line 6357 "gram1.y" +#line 6361 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "in"; @@ -11829,7 +11868,7 @@ yyreduce: break; case 864: -#line 6363 "gram1.y" +#line 6367 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "out"; @@ -11838,34 +11877,34 @@ yyreduce: break; case 865: -#line 6369 "gram1.y" +#line 6373 "gram1.y" { (yyval.ll_node) = LLNULL; opt_in_out = NO;;} break; case 866: -#line 6373 "gram1.y" +#line 6377 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST);;} break; case 867: -#line 6375 "gram1.y" +#line 6379 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST);;} break; case 868: -#line 6379 "gram1.y" +#line 6383 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 869: -#line 6381 "gram1.y" +#line 6385 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (4)].ll_node); (yyval.ll_node)-> entry.Template.ll_ptr1 = (yyvsp[(3) - (4)].ll_node); ;} break; case 870: -#line 6385 "gram1.y" +#line 6389 "gram1.y" { /* PTR_LLND p; p = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); p->entry.string_val = (char *) "corner"; @@ -11877,87 +11916,87 @@ yyreduce: break; case 871: -#line 6397 "gram1.y" +#line 6401 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST);;} break; case 872: -#line 6399 "gram1.y" +#line 6403 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST);;} break; case 873: -#line 6403 "gram1.y" +#line 6407 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL);;} break; case 874: -#line 6407 "gram1.y" +#line 6411 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST);;} break; case 875: -#line 6409 "gram1.y" +#line 6413 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST);;} break; case 876: -#line 6413 "gram1.y" +#line 6417 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,(yyvsp[(1) - (5)].ll_node),make_llnd(fi,DDOT,(yyvsp[(3) - (5)].ll_node),(yyvsp[(5) - (5)].ll_node),SMNULL),SMNULL); ;} break; case 877: -#line 6415 "gram1.y" +#line 6419 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,(yyvsp[(1) - (3)].ll_node),make_llnd(fi,DDOT,(yyvsp[(3) - (3)].ll_node),LLNULL,SMNULL),SMNULL); ;} break; case 878: -#line 6417 "gram1.y" +#line 6421 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,(yyvsp[(1) - (3)].ll_node),make_llnd(fi,DDOT,LLNULL,(yyvsp[(3) - (3)].ll_node),SMNULL),SMNULL); ;} break; case 879: -#line 6419 "gram1.y" +#line 6423 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,(yyvsp[(1) - (1)].ll_node),LLNULL,SMNULL); ;} break; case 880: -#line 6421 "gram1.y" +#line 6425 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,LLNULL,make_llnd(fi,DDOT,(yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),SMNULL),SMNULL); ;} break; case 881: -#line 6423 "gram1.y" +#line 6427 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,LLNULL,make_llnd(fi,DDOT,(yyvsp[(1) - (1)].ll_node),LLNULL,SMNULL),SMNULL); ;} break; case 882: -#line 6425 "gram1.y" +#line 6429 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT,LLNULL,make_llnd(fi,DDOT,LLNULL,(yyvsp[(1) - (1)].ll_node),SMNULL),SMNULL); ;} break; case 883: -#line 6429 "gram1.y" - { (yyval.ll_node) = (yyvsp[(3) - (3)].ll_node);;} - break; - - case 884: #line 6433 "gram1.y" { (yyval.ll_node) = (yyvsp[(3) - (3)].ll_node);;} break; - case 885: + case 884: #line 6437 "gram1.y" { (yyval.ll_node) = (yyvsp[(3) - (3)].ll_node);;} break; - case 886: + case 885: #line 6441 "gram1.y" + { (yyval.ll_node) = (yyvsp[(3) - (3)].ll_node);;} + break; + + case 886: +#line 6445 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (3)].ll_node);;} break; case 887: -#line 6445 "gram1.y" +#line 6449 "gram1.y" {PTR_LLND q; /* q = set_ll_list($9,$6,EXPR_LIST); */ q = set_ll_list((yyvsp[(6) - (10)].ll_node),LLNULL,EXPR_LIST); /*podd 11.10.01*/ @@ -11967,7 +12006,7 @@ yyreduce: break; case 888: -#line 6452 "gram1.y" +#line 6456 "gram1.y" {PTR_LLND q; q = set_ll_list((yyvsp[(6) - (8)].ll_node),LLNULL,EXPR_LIST); (yyval.ll_node) = make_llnd(fi,REDUCTION_OP,q,LLNULL,SMNULL); @@ -11975,22 +12014,22 @@ yyreduce: break; case 889: -#line 6458 "gram1.y" +#line 6462 "gram1.y" { (yyval.ll_node) = make_llnd(fi,REDUCTION_OP,(yyvsp[(9) - (10)].ll_node),LLNULL,(yyvsp[(6) - (10)].symbol)); ;} break; case 890: -#line 6462 "gram1.y" +#line 6466 "gram1.y" { opt_kwd_r = YES; ;} break; case 891: -#line 6465 "gram1.y" +#line 6469 "gram1.y" { opt_kwd_r = NO; ;} break; case 892: -#line 6469 "gram1.y" +#line 6473 "gram1.y" { if(((yyval.symbol)=(yyvsp[(1) - (1)].hash_entry)->id_attr) == SMNULL) { errstr("'%s' is not declared as reduction group", (yyvsp[(1) - (1)].hash_entry)->ident, 69); @@ -12003,28 +12042,28 @@ yyreduce: break; case 893: -#line 6482 "gram1.y" +#line 6486 "gram1.y" {(yyval.ll_node) = set_ll_list((yyvsp[(2) - (2)].ll_node),LLNULL,EXPR_LIST);;} break; case 894: -#line 6484 "gram1.y" +#line 6488 "gram1.y" {(yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node),(yyvsp[(4) - (4)].ll_node),EXPR_LIST);;} break; case 895: -#line 6488 "gram1.y" +#line 6492 "gram1.y" {(yyval.ll_node) = make_llnd(fi,ARRAY_OP,(yyvsp[(1) - (4)].ll_node),(yyvsp[(3) - (4)].ll_node),SMNULL);;} break; case 896: -#line 6490 "gram1.y" +#line 6494 "gram1.y" {(yyvsp[(3) - (6)].ll_node) = set_ll_list((yyvsp[(3) - (6)].ll_node),(yyvsp[(5) - (6)].ll_node),EXPR_LIST); (yyval.ll_node) = make_llnd(fi,ARRAY_OP,(yyvsp[(1) - (6)].ll_node),(yyvsp[(3) - (6)].ll_node),SMNULL);;} break; case 897: -#line 6495 "gram1.y" +#line 6499 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "sum"; @@ -12033,7 +12072,7 @@ yyreduce: break; case 898: -#line 6501 "gram1.y" +#line 6505 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "product"; @@ -12042,7 +12081,7 @@ yyreduce: break; case 899: -#line 6507 "gram1.y" +#line 6511 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "min"; @@ -12051,7 +12090,7 @@ yyreduce: break; case 900: -#line 6513 "gram1.y" +#line 6517 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "max"; @@ -12060,7 +12099,7 @@ yyreduce: break; case 901: -#line 6519 "gram1.y" +#line 6523 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "or"; @@ -12069,7 +12108,7 @@ yyreduce: break; case 902: -#line 6525 "gram1.y" +#line 6529 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "and"; @@ -12078,7 +12117,7 @@ yyreduce: break; case 903: -#line 6531 "gram1.y" +#line 6535 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "eqv"; @@ -12087,7 +12126,7 @@ yyreduce: break; case 904: -#line 6537 "gram1.y" +#line 6541 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "neqv"; @@ -12096,7 +12135,7 @@ yyreduce: break; case 905: -#line 6543 "gram1.y" +#line 6547 "gram1.y" { err("Illegal reduction operation name", 70); errcnt--; (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); @@ -12106,7 +12145,7 @@ yyreduce: break; case 906: -#line 6552 "gram1.y" +#line 6556 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "maxloc"; @@ -12115,7 +12154,7 @@ yyreduce: break; case 907: -#line 6558 "gram1.y" +#line 6562 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "minloc"; @@ -12124,52 +12163,52 @@ yyreduce: break; case 908: -#line 6575 "gram1.y" +#line 6579 "gram1.y" { (yyval.ll_node) = make_llnd(fi,SHADOW_RENEW_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 909: -#line 6583 "gram1.y" +#line 6587 "gram1.y" { (yyval.ll_node) = make_llnd(fi,SHADOW_START_OP,LLNULL,LLNULL,(yyvsp[(4) - (4)].symbol));;} break; case 910: -#line 6591 "gram1.y" +#line 6595 "gram1.y" { (yyval.ll_node) = make_llnd(fi,SHADOW_WAIT_OP,LLNULL,LLNULL,(yyvsp[(4) - (4)].symbol));;} break; case 911: -#line 6593 "gram1.y" +#line 6597 "gram1.y" { (yyval.ll_node) = make_llnd(fi,SHADOW_COMP_OP,LLNULL,LLNULL,SMNULL);;} break; case 912: -#line 6595 "gram1.y" +#line 6599 "gram1.y" { (yyvsp[(5) - (9)].ll_node)-> entry.Template.ll_ptr1 = (yyvsp[(7) - (9)].ll_node); (yyval.ll_node) = make_llnd(fi,SHADOW_COMP_OP,(yyvsp[(5) - (9)].ll_node),LLNULL,SMNULL);;} break; case 913: -#line 6599 "gram1.y" +#line 6603 "gram1.y" {(yyval.symbol) = make_local_entity((yyvsp[(1) - (1)].hash_entry), SHADOW_GROUP_NAME,global_default,LOCAL);;} break; case 914: -#line 6603 "gram1.y" +#line 6607 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST);;} break; case 915: -#line 6605 "gram1.y" +#line 6609 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST);;} break; case 916: -#line 6609 "gram1.y" +#line 6613 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 917: -#line 6611 "gram1.y" +#line 6615 "gram1.y" { PTR_LLND p; p = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); p->entry.string_val = (char *) "corner"; @@ -12179,14 +12218,14 @@ yyreduce: break; case 918: -#line 6619 "gram1.y" +#line 6623 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (5)].ll_node); (yyval.ll_node)-> entry.Template.ll_ptr1 = (yyvsp[(4) - (5)].ll_node); ;} break; case 919: -#line 6623 "gram1.y" +#line 6627 "gram1.y" { PTR_LLND p; p = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); p->entry.string_val = (char *) "corner"; @@ -12197,12 +12236,12 @@ yyreduce: break; case 920: -#line 6634 "gram1.y" +#line 6638 "gram1.y" { optcorner = YES; ;} break; case 921: -#line 6638 "gram1.y" +#line 6642 "gram1.y" { PTR_SYMB s; s = (yyvsp[(1) - (1)].ll_node)->entry.Template.symbol; if(s->attr & PROCESSORS_BIT) @@ -12221,62 +12260,62 @@ yyreduce: break; case 922: -#line 6656 "gram1.y" +#line 6660 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 923: -#line 6658 "gram1.y" +#line 6662 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 924: -#line 6662 "gram1.y" +#line 6666 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_SHADOW_START_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 925: -#line 6664 "gram1.y" +#line 6668 "gram1.y" {errstr("Missing DVM directive prefix", 49);;} break; case 926: -#line 6668 "gram1.y" +#line 6672 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_SHADOW_WAIT_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 927: -#line 6670 "gram1.y" +#line 6674 "gram1.y" {errstr("Missing DVM directive prefix", 49);;} break; case 928: -#line 6674 "gram1.y" +#line 6678 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_SHADOW_GROUP_DIR,(yyvsp[(3) - (6)].symbol),(yyvsp[(5) - (6)].ll_node),LLNULL,LLNULL);;} break; case 929: -#line 6678 "gram1.y" +#line 6682 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_REDUCTION_START_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 930: -#line 6682 "gram1.y" +#line 6686 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_REDUCTION_WAIT_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 931: -#line 6691 "gram1.y" +#line 6695 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_CONSISTENT_START_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 932: -#line 6695 "gram1.y" +#line 6699 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_CONSISTENT_WAIT_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 933: -#line 6699 "gram1.y" +#line 6703 "gram1.y" { if(((yyvsp[(4) - (7)].symbol)->attr & INDIRECT_BIT)) errstr("'%s' is not remote group name", (yyvsp[(4) - (7)].symbol)->ident, 68); (yyval.bf_node) = get_bfnd(fi,DVM_REMOTE_ACCESS_DIR,(yyvsp[(4) - (7)].symbol),(yyvsp[(6) - (7)].ll_node),LLNULL,LLNULL); @@ -12284,12 +12323,12 @@ yyreduce: break; case 934: -#line 6704 "gram1.y" +#line 6708 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_REMOTE_ACCESS_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 935: -#line 6708 "gram1.y" +#line 6712 "gram1.y" { if(((yyval.symbol)=(yyvsp[(1) - (1)].hash_entry)->id_attr) == SMNULL){ errstr("'%s' is not declared as group", (yyvsp[(1) - (1)].hash_entry)->ident, 74); @@ -12302,17 +12341,17 @@ yyreduce: break; case 936: -#line 6720 "gram1.y" +#line 6724 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 937: -#line 6722 "gram1.y" +#line 6726 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 938: -#line 6726 "gram1.y" +#line 6730 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (4)].ll_node); (yyval.ll_node)->entry.Template.ll_ptr1 = (yyvsp[(3) - (4)].ll_node); @@ -12320,32 +12359,32 @@ yyreduce: break; case 939: -#line 6731 "gram1.y" +#line 6735 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 940: -#line 6735 "gram1.y" +#line 6739 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 941: -#line 6737 "gram1.y" +#line 6741 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 942: -#line 6741 "gram1.y" +#line 6745 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 943: -#line 6743 "gram1.y" +#line 6747 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT, LLNULL, LLNULL, SMNULL);;} break; case 944: -#line 6747 "gram1.y" +#line 6751 "gram1.y" { PTR_LLND q; q = make_llnd(fi,EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); (yyval.bf_node) = get_bfnd(fi,DVM_TASK_DIR,SMNULL,q,LLNULL,LLNULL); @@ -12353,7 +12392,7 @@ yyreduce: break; case 945: -#line 6752 "gram1.y" +#line 6756 "gram1.y" { PTR_LLND q; q = make_llnd(fi,EXPR_LIST, (yyvsp[(3) - (3)].ll_node), LLNULL, SMNULL); add_to_lowLevelList(q, (yyvsp[(1) - (3)].bf_node)->entry.Template.ll_ptr1); @@ -12361,7 +12400,7 @@ yyreduce: break; case 946: -#line 6759 "gram1.y" +#line 6763 "gram1.y" { PTR_SYMB s; s = make_array((yyvsp[(1) - (2)].hash_entry), global_int, (yyvsp[(2) - (2)].ll_node), ndim, LOCAL); @@ -12385,32 +12424,32 @@ yyreduce: break; case 947: -#line 6782 "gram1.y" +#line 6786 "gram1.y" {(yyval.bf_node) = get_bfnd(fi,DVM_TASK_REGION_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 948: -#line 6784 "gram1.y" +#line 6788 "gram1.y" {(yyval.bf_node) = get_bfnd(fi,DVM_TASK_REGION_DIR,(yyvsp[(3) - (4)].symbol),(yyvsp[(4) - (4)].ll_node),LLNULL,LLNULL);;} break; case 949: -#line 6786 "gram1.y" +#line 6790 "gram1.y" {(yyval.bf_node) = get_bfnd(fi,DVM_TASK_REGION_DIR,(yyvsp[(3) - (4)].symbol),LLNULL,(yyvsp[(4) - (4)].ll_node),LLNULL);;} break; case 950: -#line 6788 "gram1.y" +#line 6792 "gram1.y" {(yyval.bf_node) = get_bfnd(fi,DVM_TASK_REGION_DIR,(yyvsp[(3) - (5)].symbol),(yyvsp[(4) - (5)].ll_node),(yyvsp[(5) - (5)].ll_node),LLNULL);;} break; case 951: -#line 6790 "gram1.y" +#line 6794 "gram1.y" {(yyval.bf_node) = get_bfnd(fi,DVM_TASK_REGION_DIR,(yyvsp[(3) - (5)].symbol),(yyvsp[(5) - (5)].ll_node),(yyvsp[(4) - (5)].ll_node),LLNULL);;} break; case 952: -#line 6794 "gram1.y" +#line 6798 "gram1.y" { PTR_SYMB s; if((s=(yyvsp[(1) - (1)].hash_entry)->id_attr) == SMNULL) s = make_array((yyvsp[(1) - (1)].hash_entry), TYNULL, LLNULL, 0, LOCAL); @@ -12422,12 +12461,12 @@ yyreduce: break; case 953: -#line 6805 "gram1.y" +#line 6809 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_END_TASK_REGION_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 954: -#line 6809 "gram1.y" +#line 6813 "gram1.y" { PTR_SYMB s; PTR_LLND q; /* @@ -12445,7 +12484,7 @@ yyreduce: break; case 955: -#line 6824 "gram1.y" +#line 6828 "gram1.y" { PTR_LLND q; q = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); (yyval.ll_node) = make_llnd(fi,ARRAY_REF, q, LLNULL, (yyvsp[(1) - (4)].symbol)); @@ -12453,29 +12492,29 @@ yyreduce: break; case 956: -#line 6831 "gram1.y" +#line 6835 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_ON_DIR,SMNULL,(yyvsp[(3) - (4)].ll_node),(yyvsp[(4) - (4)].ll_node),LLNULL); ;} break; case 957: -#line 6837 "gram1.y" +#line 6841 "gram1.y" {(yyval.ll_node) = LLNULL;;} break; case 958: -#line 6839 "gram1.y" +#line 6843 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 959: -#line 6843 "gram1.y" +#line 6847 "gram1.y" {(yyval.bf_node) = get_bfnd(fi,DVM_END_ON_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 960: -#line 6847 "gram1.y" +#line 6851 "gram1.y" { PTR_LLND q; /* if(!($6->attr & PROCESSORS_BIT)) errstr("'%s' is not processor array", $6->ident, 67); @@ -12486,22 +12525,22 @@ yyreduce: break; case 961: -#line 6855 "gram1.y" +#line 6859 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_MAP_DIR,SMNULL,(yyvsp[(3) - (6)].ll_node),LLNULL,(yyvsp[(6) - (6)].ll_node)); ;} break; case 962: -#line 6859 "gram1.y" +#line 6863 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_PREFETCH_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 963: -#line 6863 "gram1.y" +#line 6867 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_RESET_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 964: -#line 6871 "gram1.y" +#line 6875 "gram1.y" { if(!((yyvsp[(4) - (7)].symbol)->attr & INDIRECT_BIT)) errstr("'%s' is not indirect group name", (yyvsp[(4) - (7)].symbol)->ident, 313); (yyval.bf_node) = get_bfnd(fi,DVM_INDIRECT_ACCESS_DIR,(yyvsp[(4) - (7)].symbol),(yyvsp[(6) - (7)].ll_node),LLNULL,LLNULL); @@ -12509,72 +12548,72 @@ yyreduce: break; case 965: -#line 6876 "gram1.y" +#line 6880 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_INDIRECT_ACCESS_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 966: -#line 6890 "gram1.y" +#line 6894 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 967: -#line 6892 "gram1.y" +#line 6896 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 968: -#line 6896 "gram1.y" +#line 6900 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 969: -#line 6898 "gram1.y" +#line 6902 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (4)].ll_node); (yyval.ll_node)->entry.Template.ll_ptr1 = (yyvsp[(3) - (4)].ll_node);;} break; case 970: -#line 6907 "gram1.y" +#line 6911 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,HPF_INDEPENDENT_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 971: -#line 6909 "gram1.y" +#line 6913 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,HPF_INDEPENDENT_DIR,SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL);;} break; case 972: -#line 6911 "gram1.y" +#line 6915 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,HPF_INDEPENDENT_DIR,SMNULL, LLNULL, (yyvsp[(3) - (3)].ll_node), LLNULL);;} break; case 973: -#line 6913 "gram1.y" +#line 6917 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,HPF_INDEPENDENT_DIR,SMNULL, (yyvsp[(3) - (4)].ll_node), (yyvsp[(4) - (4)].ll_node),LLNULL);;} break; case 974: -#line 6949 "gram1.y" +#line 6953 "gram1.y" {(yyval.ll_node) = make_llnd(fi,REDUCTION_OP,(yyvsp[(5) - (6)].ll_node),LLNULL,SMNULL);;} break; case 975: -#line 6953 "gram1.y" +#line 6957 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_ASYNCHRONOUS_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL);;} break; case 976: -#line 6957 "gram1.y" +#line 6961 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_ENDASYNCHRONOUS_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 977: -#line 6961 "gram1.y" +#line 6965 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_ASYNCWAIT_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL);;} break; case 978: -#line 6965 "gram1.y" +#line 6969 "gram1.y" { if(((yyval.symbol)=(yyvsp[(1) - (1)].hash_entry)->id_attr) == SMNULL) { errstr("'%s' is not declared as ASYNCID", (yyvsp[(1) - (1)].hash_entry)->ident, 115); @@ -12587,32 +12626,32 @@ yyreduce: break; case 979: -#line 6977 "gram1.y" +#line 6981 "gram1.y" { (yyval.ll_node) = make_llnd(fi,VAR_REF, LLNULL, LLNULL, (yyvsp[(1) - (1)].symbol));;} break; case 980: -#line 6979 "gram1.y" +#line 6983 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ARRAY_REF, (yyvsp[(3) - (4)].ll_node), LLNULL, (yyvsp[(1) - (4)].symbol));;} break; case 981: -#line 6983 "gram1.y" +#line 6987 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_F90_DIR,SMNULL,(yyvsp[(3) - (5)].ll_node),(yyvsp[(5) - (5)].ll_node),LLNULL);;} break; case 982: -#line 6986 "gram1.y" +#line 6990 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_DEBUG_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL);;} break; case 983: -#line 6988 "gram1.y" +#line 6992 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_DEBUG_DIR,SMNULL,(yyvsp[(3) - (6)].ll_node),(yyvsp[(5) - (6)].ll_node),LLNULL);;} break; case 984: -#line 6992 "gram1.y" +#line 6996 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(2) - (2)].ll_node), LLNULL, EXPR_LIST); endioctl(); @@ -12620,7 +12659,7 @@ yyreduce: break; case 985: -#line 6997 "gram1.y" +#line 7001 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (4)].ll_node), (yyvsp[(4) - (4)].ll_node), EXPR_LIST); endioctl(); @@ -12628,12 +12667,12 @@ yyreduce: break; case 986: -#line 7004 "gram1.y" +#line 7008 "gram1.y" { (yyval.ll_node) = make_llnd(fi, KEYWORD_ARG, (yyvsp[(1) - (2)].ll_node), (yyvsp[(2) - (2)].ll_node), SMNULL); ;} break; case 987: -#line 7007 "gram1.y" +#line 7011 "gram1.y" { (yyval.ll_node) = make_llnd(fi,INT_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.ival = atoi(yytext); @@ -12642,22 +12681,22 @@ yyreduce: break; case 988: -#line 7015 "gram1.y" +#line 7019 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_ENDDEBUG_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL);;} break; case 989: -#line 7019 "gram1.y" +#line 7023 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_INTERVAL_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL);;} break; case 990: -#line 7023 "gram1.y" +#line 7027 "gram1.y" { (yyval.ll_node) = LLNULL;;} break; case 991: -#line 7026 "gram1.y" +#line 7030 "gram1.y" { if((yyvsp[(1) - (1)].ll_node)->type->variant != T_INT) err("Illegal interval number", 78); (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); @@ -12665,72 +12704,72 @@ yyreduce: break; case 992: -#line 7034 "gram1.y" +#line 7038 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_EXIT_INTERVAL_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL);;} break; case 993: -#line 7038 "gram1.y" +#line 7042 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_ENDINTERVAL_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 994: -#line 7042 "gram1.y" +#line 7046 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_TRACEON_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 995: -#line 7046 "gram1.y" +#line 7050 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_TRACEOFF_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 996: -#line 7050 "gram1.y" +#line 7054 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_BARRIER_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 997: -#line 7054 "gram1.y" +#line 7058 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_CHECK_DIR,SMNULL,(yyvsp[(9) - (9)].ll_node),(yyvsp[(5) - (9)].ll_node),LLNULL); ;} break; case 998: -#line 7058 "gram1.y" +#line 7062 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_IO_MODE_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 999: -#line 7061 "gram1.y" +#line 7065 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1000: -#line 7063 "gram1.y" +#line 7067 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 1001: -#line 7067 "gram1.y" +#line 7071 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_ASYNC_OP,LLNULL,LLNULL,SMNULL);;} break; case 1002: -#line 7069 "gram1.y" +#line 7073 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_LOCAL_OP, LLNULL,LLNULL,SMNULL);;} break; case 1003: -#line 7071 "gram1.y" +#line 7075 "gram1.y" { (yyval.ll_node) = make_llnd(fi,PARALLEL_OP, LLNULL,LLNULL,SMNULL);;} break; case 1004: -#line 7075 "gram1.y" +#line 7079 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_SHADOW_ADD_DIR,SMNULL,(yyvsp[(4) - (9)].ll_node),(yyvsp[(6) - (9)].ll_node),(yyvsp[(9) - (9)].ll_node)); ;} break; case 1005: -#line 7079 "gram1.y" +#line 7083 "gram1.y" { if((yyvsp[(1) - (4)].ll_node)->type->variant != T_ARRAY) errstr("'%s' isn't array", (yyvsp[(1) - (4)].ll_node)->entry.Template.symbol->ident, 66); @@ -12743,42 +12782,42 @@ yyreduce: break; case 1006: -#line 7091 "gram1.y" +#line 7095 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1007: -#line 7093 "gram1.y" +#line 7097 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 1008: -#line 7097 "gram1.y" +#line 7101 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 1009: -#line 7099 "gram1.y" +#line 7103 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 1010: -#line 7103 "gram1.y" +#line 7107 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (2)].ll_node);;} break; case 1011: -#line 7105 "gram1.y" +#line 7109 "gram1.y" { (yyval.ll_node) = LLNULL; opt_kwd_ = NO;;} break; case 1012: -#line 7109 "gram1.y" +#line 7113 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_LOCALIZE_DIR,SMNULL,(yyvsp[(4) - (7)].ll_node),(yyvsp[(6) - (7)].ll_node),LLNULL); ;} break; case 1013: -#line 7113 "gram1.y" +#line 7117 "gram1.y" { if((yyvsp[(1) - (1)].ll_node)->type->variant != T_ARRAY) errstr("'%s' isn't array", (yyvsp[(1) - (1)].ll_node)->entry.Template.symbol->ident, 66); @@ -12787,7 +12826,7 @@ yyreduce: break; case 1014: -#line 7119 "gram1.y" +#line 7123 "gram1.y" { if((yyvsp[(1) - (4)].ll_node)->type->variant != T_ARRAY) errstr("'%s' isn't array", (yyvsp[(1) - (4)].ll_node)->entry.Template.symbol->ident, 66); @@ -12799,27 +12838,27 @@ yyreduce: break; case 1015: -#line 7131 "gram1.y" +#line 7135 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1016: -#line 7133 "gram1.y" +#line 7137 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 1017: -#line 7137 "gram1.y" +#line 7141 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 1018: -#line 7139 "gram1.y" +#line 7143 "gram1.y" { (yyval.ll_node) = make_llnd(fi,DDOT, LLNULL, LLNULL, SMNULL);;} break; case 1019: -#line 7143 "gram1.y" +#line 7147 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL, LLNULL, LLNULL, SMNULL); (yyval.ll_node)->entry.string_val = (char *) "*"; @@ -12828,7 +12867,7 @@ yyreduce: break; case 1020: -#line 7151 "gram1.y" +#line 7155 "gram1.y" { PTR_LLND q; if((yyvsp[(16) - (16)].ll_node)) @@ -12840,32 +12879,32 @@ yyreduce: break; case 1021: -#line 7162 "gram1.y" +#line 7166 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 1022: -#line 7164 "gram1.y" +#line 7168 "gram1.y" { (yyval.ll_node) = make_llnd(fi, PARALLEL_OP, LLNULL, LLNULL, SMNULL); ;} break; case 1023: -#line 7166 "gram1.y" +#line 7170 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_LOCAL_OP, LLNULL, LLNULL, SMNULL); ;} break; case 1024: -#line 7170 "gram1.y" +#line 7174 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_CP_LOAD_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL); ;} break; case 1025: -#line 7174 "gram1.y" +#line 7178 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_CP_SAVE_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL); ;} break; case 1026: -#line 7176 "gram1.y" +#line 7180 "gram1.y" { PTR_LLND q; q = make_llnd(fi,ACC_ASYNC_OP,LLNULL,LLNULL,SMNULL); @@ -12874,46 +12913,46 @@ yyreduce: break; case 1027: -#line 7184 "gram1.y" +#line 7188 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_CP_WAIT_DIR,SMNULL,(yyvsp[(3) - (9)].ll_node),(yyvsp[(8) - (9)].ll_node),LLNULL); ;} break; case 1028: -#line 7188 "gram1.y" +#line 7192 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_TEMPLATE_CREATE_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL); ;} break; case 1029: -#line 7191 "gram1.y" +#line 7195 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 1030: -#line 7193 "gram1.y" +#line 7197 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 1031: -#line 7197 "gram1.y" +#line 7201 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,DVM_TEMPLATE_DELETE_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL); ;} break; case 1059: -#line 7231 "gram1.y" +#line 7235 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_ONETHREAD_DIR,SMNULL,LLNULL,LLNULL,LLNULL); ;} break; case 1060: -#line 7237 "gram1.y" +#line 7241 "gram1.y" { (yyval.bf_node) = make_endparallel(); ;} break; case 1061: -#line 7243 "gram1.y" +#line 7247 "gram1.y" { (yyval.bf_node) = make_parallel(); (yyval.bf_node)->entry.Template.ll_ptr1 = (yyvsp[(4) - (4)].ll_node); @@ -12922,7 +12961,7 @@ yyreduce: break; case 1062: -#line 7249 "gram1.y" +#line 7253 "gram1.y" { (yyval.bf_node) = make_parallel(); opt_kwd_ = NO; @@ -12930,70 +12969,70 @@ yyreduce: break; case 1063: -#line 7255 "gram1.y" +#line 7259 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1064: -#line 7259 "gram1.y" +#line 7263 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node),(yyvsp[(4) - (5)].ll_node),EXPR_LIST); ;} break; case 1074: -#line 7276 "gram1.y" +#line 7280 "gram1.y" { (yyval.ll_node) = (yyvsp[(4) - (5)].ll_node); ;} break; case 1075: -#line 7281 "gram1.y" +#line 7285 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_PRIVATE,(yyvsp[(2) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 1076: -#line 7286 "gram1.y" +#line 7290 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_FIRSTPRIVATE,(yyvsp[(2) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 1077: -#line 7292 "gram1.y" +#line 7296 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_LASTPRIVATE,(yyvsp[(2) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 1078: -#line 7298 "gram1.y" +#line 7302 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_COPYIN,(yyvsp[(2) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 1079: -#line 7304 "gram1.y" +#line 7308 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_SHARED,(yyvsp[(2) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 1080: -#line 7309 "gram1.y" +#line 7313 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_DEFAULT,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL); ;} break; case 1081: -#line 7315 "gram1.y" +#line 7319 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "private"; @@ -13002,7 +13041,7 @@ yyreduce: break; case 1082: -#line 7321 "gram1.y" +#line 7325 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "shared"; @@ -13011,7 +13050,7 @@ yyreduce: break; case 1083: -#line 7327 "gram1.y" +#line 7331 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "none"; @@ -13020,21 +13059,21 @@ yyreduce: break; case 1084: -#line 7334 "gram1.y" +#line 7338 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_IF,(yyvsp[(3) - (4)].ll_node),LLNULL,SMNULL); ;} break; case 1085: -#line 7340 "gram1.y" +#line 7344 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_NUM_THREADS,(yyvsp[(3) - (4)].ll_node),LLNULL,SMNULL); ;} break; case 1086: -#line 7346 "gram1.y" +#line 7350 "gram1.y" { PTR_LLND q; q = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); @@ -13043,12 +13082,12 @@ yyreduce: break; case 1087: -#line 7353 "gram1.y" +#line 7357 "gram1.y" {(yyval.ll_node) = make_llnd(fi,DDOT,(yyvsp[(2) - (4)].ll_node),(yyvsp[(4) - (4)].ll_node),SMNULL);;} break; case 1089: -#line 7359 "gram1.y" +#line 7363 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "+"; @@ -13057,7 +13096,7 @@ yyreduce: break; case 1090: -#line 7365 "gram1.y" +#line 7369 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "-"; @@ -13066,7 +13105,7 @@ yyreduce: break; case 1091: -#line 7372 "gram1.y" +#line 7376 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "*"; @@ -13075,7 +13114,7 @@ yyreduce: break; case 1092: -#line 7378 "gram1.y" +#line 7382 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "/"; @@ -13084,7 +13123,7 @@ yyreduce: break; case 1093: -#line 7384 "gram1.y" +#line 7388 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "min"; @@ -13093,7 +13132,7 @@ yyreduce: break; case 1094: -#line 7390 "gram1.y" +#line 7394 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "max"; @@ -13102,7 +13141,7 @@ yyreduce: break; case 1095: -#line 7396 "gram1.y" +#line 7400 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) ".or."; @@ -13111,7 +13150,7 @@ yyreduce: break; case 1096: -#line 7402 "gram1.y" +#line 7406 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) ".and."; @@ -13120,7 +13159,7 @@ yyreduce: break; case 1097: -#line 7408 "gram1.y" +#line 7412 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) ".eqv."; @@ -13129,7 +13168,7 @@ yyreduce: break; case 1098: -#line 7414 "gram1.y" +#line 7418 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) ".neqv."; @@ -13138,7 +13177,7 @@ yyreduce: break; case 1099: -#line 7420 "gram1.y" +#line 7424 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "iand"; @@ -13147,7 +13186,7 @@ yyreduce: break; case 1100: -#line 7426 "gram1.y" +#line 7430 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "ieor"; @@ -13156,7 +13195,7 @@ yyreduce: break; case 1101: -#line 7432 "gram1.y" +#line 7436 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "ior"; @@ -13165,7 +13204,7 @@ yyreduce: break; case 1102: -#line 7438 "gram1.y" +#line 7442 "gram1.y" { err("Illegal reduction operation name", 70); errcnt--; (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); @@ -13175,7 +13214,7 @@ yyreduce: break; case 1103: -#line 7448 "gram1.y" +#line 7452 "gram1.y" { (yyval.bf_node) = make_sections((yyvsp[(4) - (4)].ll_node)); opt_kwd_ = NO; @@ -13183,7 +13222,7 @@ yyreduce: break; case 1104: -#line 7453 "gram1.y" +#line 7457 "gram1.y" { (yyval.bf_node) = make_sections(LLNULL); opt_kwd_ = NO; @@ -13191,21 +13230,21 @@ yyreduce: break; case 1105: -#line 7459 "gram1.y" +#line 7463 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1106: -#line 7463 "gram1.y" +#line 7467 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node),(yyvsp[(4) - (5)].ll_node),EXPR_LIST); ;} break; case 1111: -#line 7475 "gram1.y" +#line 7479 "gram1.y" { PTR_LLND q; (yyval.bf_node) = make_endsections(); @@ -13216,7 +13255,7 @@ yyreduce: break; case 1112: -#line 7483 "gram1.y" +#line 7487 "gram1.y" { (yyval.bf_node) = make_endsections(); opt_kwd_ = NO; @@ -13224,14 +13263,14 @@ yyreduce: break; case 1113: -#line 7489 "gram1.y" +#line 7493 "gram1.y" { (yyval.bf_node) = make_ompsection(); ;} break; case 1114: -#line 7495 "gram1.y" +#line 7499 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_DO_DIR,SMNULL,(yyvsp[(4) - (4)].ll_node),LLNULL,LLNULL); opt_kwd_ = NO; @@ -13239,7 +13278,7 @@ yyreduce: break; case 1115: -#line 7500 "gram1.y" +#line 7504 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_DO_DIR,SMNULL,LLNULL,LLNULL,LLNULL); opt_kwd_ = NO; @@ -13247,7 +13286,7 @@ yyreduce: break; case 1116: -#line 7506 "gram1.y" +#line 7510 "gram1.y" { PTR_LLND q; q = set_ll_list((yyvsp[(4) - (4)].ll_node),LLNULL,EXPR_LIST); @@ -13257,7 +13296,7 @@ yyreduce: break; case 1117: -#line 7513 "gram1.y" +#line 7517 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_END_DO_DIR,SMNULL,LLNULL,LLNULL,LLNULL); opt_kwd_ = NO; @@ -13265,21 +13304,21 @@ yyreduce: break; case 1118: -#line 7519 "gram1.y" +#line 7523 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1119: -#line 7523 "gram1.y" +#line 7527 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node),(yyvsp[(4) - (5)].ll_node),EXPR_LIST); ;} break; case 1126: -#line 7537 "gram1.y" +#line 7541 "gram1.y" { /*$$ = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); $$->entry.string_val = (char *) "ORDERED"; @@ -13289,21 +13328,21 @@ yyreduce: break; case 1127: -#line 7546 "gram1.y" +#line 7550 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_SCHEDULE,(yyvsp[(4) - (7)].ll_node),(yyvsp[(6) - (7)].ll_node),SMNULL); ;} break; case 1128: -#line 7550 "gram1.y" +#line 7554 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_SCHEDULE,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL); ;} break; case 1129: -#line 7556 "gram1.y" +#line 7560 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "STATIC"; @@ -13313,7 +13352,7 @@ yyreduce: break; case 1130: -#line 7563 "gram1.y" +#line 7567 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "DYNAMIC"; @@ -13323,7 +13362,7 @@ yyreduce: break; case 1131: -#line 7570 "gram1.y" +#line 7574 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "GUIDED"; @@ -13333,7 +13372,7 @@ yyreduce: break; case 1132: -#line 7577 "gram1.y" +#line 7581 "gram1.y" { (yyval.ll_node) = make_llnd(fi,KEYWORD_VAL,LLNULL,LLNULL,SMNULL); (yyval.ll_node)->entry.string_val = (char *) "RUNTIME"; @@ -13343,7 +13382,7 @@ yyreduce: break; case 1133: -#line 7586 "gram1.y" +#line 7590 "gram1.y" { (yyval.bf_node) = make_single(); (yyval.bf_node)->entry.Template.ll_ptr1 = (yyvsp[(4) - (4)].ll_node); @@ -13352,7 +13391,7 @@ yyreduce: break; case 1134: -#line 7592 "gram1.y" +#line 7596 "gram1.y" { (yyval.bf_node) = make_single(); opt_kwd_ = NO; @@ -13360,21 +13399,21 @@ yyreduce: break; case 1135: -#line 7598 "gram1.y" +#line 7602 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1136: -#line 7602 "gram1.y" +#line 7606 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node),(yyvsp[(4) - (5)].ll_node),EXPR_LIST); ;} break; case 1139: -#line 7612 "gram1.y" +#line 7616 "gram1.y" { (yyval.bf_node) = make_endsingle(); (yyval.bf_node)->entry.Template.ll_ptr1 = (yyvsp[(4) - (4)].ll_node); @@ -13383,7 +13422,7 @@ yyreduce: break; case 1140: -#line 7618 "gram1.y" +#line 7622 "gram1.y" { (yyval.bf_node) = make_endsingle(); opt_kwd_ = NO; @@ -13391,42 +13430,42 @@ yyreduce: break; case 1141: -#line 7624 "gram1.y" +#line 7628 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1142: -#line 7628 "gram1.y" +#line 7632 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node),(yyvsp[(4) - (5)].ll_node),EXPR_LIST); ;} break; case 1145: -#line 7639 "gram1.y" +#line 7643 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_COPYPRIVATE,(yyvsp[(2) - (2)].ll_node),LLNULL,SMNULL); ;} break; case 1146: -#line 7645 "gram1.y" +#line 7649 "gram1.y" { (yyval.ll_node) = make_llnd(fi,OMP_NOWAIT,LLNULL,LLNULL,SMNULL); ;} break; case 1147: -#line 7651 "gram1.y" +#line 7655 "gram1.y" { (yyval.bf_node) = make_workshare(); ;} break; case 1148: -#line 7656 "gram1.y" +#line 7660 "gram1.y" { PTR_LLND q; (yyval.bf_node) = make_endworkshare(); @@ -13437,7 +13476,7 @@ yyreduce: break; case 1149: -#line 7664 "gram1.y" +#line 7668 "gram1.y" { (yyval.bf_node) = make_endworkshare(); opt_kwd_ = NO; @@ -13445,7 +13484,7 @@ yyreduce: break; case 1150: -#line 7670 "gram1.y" +#line 7674 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_PARALLEL_DO_DIR,SMNULL,(yyvsp[(4) - (4)].ll_node),LLNULL,LLNULL); opt_kwd_ = NO; @@ -13453,7 +13492,7 @@ yyreduce: break; case 1151: -#line 7675 "gram1.y" +#line 7679 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_PARALLEL_DO_DIR,SMNULL,LLNULL,LLNULL,LLNULL); opt_kwd_ = NO; @@ -13461,28 +13500,28 @@ yyreduce: break; case 1152: -#line 7682 "gram1.y" +#line 7686 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(3) - (4)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1153: -#line 7686 "gram1.y" +#line 7690 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node),(yyvsp[(4) - (5)].ll_node),EXPR_LIST); ;} break; case 1165: -#line 7706 "gram1.y" +#line 7710 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_END_PARALLEL_DO_DIR,SMNULL,LLNULL,LLNULL,LLNULL); ;} break; case 1166: -#line 7711 "gram1.y" +#line 7715 "gram1.y" { (yyval.bf_node) = make_parallelsections((yyvsp[(4) - (4)].ll_node)); opt_kwd_ = NO; @@ -13490,7 +13529,7 @@ yyreduce: break; case 1167: -#line 7716 "gram1.y" +#line 7720 "gram1.y" { (yyval.bf_node) = make_parallelsections(LLNULL); opt_kwd_ = NO; @@ -13498,14 +13537,14 @@ yyreduce: break; case 1168: -#line 7723 "gram1.y" +#line 7727 "gram1.y" { (yyval.bf_node) = make_endparallelsections(); ;} break; case 1169: -#line 7728 "gram1.y" +#line 7732 "gram1.y" { (yyval.bf_node) = make_parallelworkshare(); (yyval.bf_node)->entry.Template.ll_ptr1 = (yyvsp[(4) - (4)].ll_node); @@ -13514,7 +13553,7 @@ yyreduce: break; case 1170: -#line 7734 "gram1.y" +#line 7738 "gram1.y" { (yyval.bf_node) = make_parallelworkshare(); opt_kwd_ = NO; @@ -13522,77 +13561,77 @@ yyreduce: break; case 1171: -#line 7740 "gram1.y" +#line 7744 "gram1.y" { (yyval.bf_node) = make_endparallelworkshare(); ;} break; case 1172: -#line 7745 "gram1.y" +#line 7749 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_THREADPRIVATE_DIR, SMNULL, (yyvsp[(3) - (3)].ll_node), LLNULL, LLNULL); ;} break; case 1173: -#line 7750 "gram1.y" +#line 7754 "gram1.y" { (yyval.bf_node) = make_master(); ;} break; case 1174: -#line 7755 "gram1.y" +#line 7759 "gram1.y" { (yyval.bf_node) = make_endmaster(); ;} break; case 1175: -#line 7759 "gram1.y" +#line 7763 "gram1.y" { (yyval.bf_node) = make_ordered(); ;} break; case 1176: -#line 7764 "gram1.y" +#line 7768 "gram1.y" { (yyval.bf_node) = make_endordered(); ;} break; case 1177: -#line 7769 "gram1.y" +#line 7773 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_BARRIER_DIR,SMNULL,LLNULL,LLNULL,LLNULL); ;} break; case 1178: -#line 7773 "gram1.y" +#line 7777 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_ATOMIC_DIR,SMNULL,LLNULL,LLNULL,LLNULL); ;} break; case 1179: -#line 7778 "gram1.y" +#line 7782 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_FLUSH_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL); ;} break; case 1180: -#line 7782 "gram1.y" +#line 7786 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,OMP_FLUSH_DIR,SMNULL,LLNULL,LLNULL,LLNULL); ;} break; case 1181: -#line 7788 "gram1.y" +#line 7792 "gram1.y" { (yyval.bf_node) = make_critical(); (yyval.bf_node)->entry.Template.ll_ptr1 = (yyvsp[(4) - (5)].ll_node); @@ -13600,14 +13639,14 @@ yyreduce: break; case 1182: -#line 7793 "gram1.y" +#line 7797 "gram1.y" { (yyval.bf_node) = make_critical(); ;} break; case 1183: -#line 7799 "gram1.y" +#line 7803 "gram1.y" { (yyval.bf_node) = make_endcritical(); (yyval.bf_node)->entry.Template.ll_ptr1 = (yyvsp[(4) - (5)].ll_node); @@ -13615,14 +13654,14 @@ yyreduce: break; case 1184: -#line 7804 "gram1.y" +#line 7808 "gram1.y" { (yyval.bf_node) = make_endcritical(); ;} break; case 1185: -#line 7810 "gram1.y" +#line 7814 "gram1.y" { PTR_SYMB s; PTR_LLND l; @@ -13633,482 +13672,497 @@ yyreduce: break; case 1186: -#line 7820 "gram1.y" +#line 7824 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1187: -#line 7824 "gram1.y" +#line 7828 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1188: -#line 7828 "gram1.y" - { - (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); - ;} - break; - - case 1189: #line 7832 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; + case 1189: +#line 7836 "gram1.y" + { + (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); + ;} + break; + case 1190: -#line 7837 "gram1.y" +#line 7841 "gram1.y" { operator_slash = 1; ;} break; case 1191: -#line 7840 "gram1.y" +#line 7844 "gram1.y" { operator_slash = 0; ;} break; case 1199: -#line 7854 "gram1.y" +#line 7858 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_REGION_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL);;} break; case 1200: -#line 7858 "gram1.y" +#line 7862 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_CHECKSECTION_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 1201: -#line 7862 "gram1.y" +#line 7866 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_GET_ACTUAL_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 1202: -#line 7864 "gram1.y" +#line 7868 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_GET_ACTUAL_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 1203: -#line 7866 "gram1.y" +#line 7870 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_GET_ACTUAL_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 1204: -#line 7870 "gram1.y" +#line 7874 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_ACTUAL_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 1205: -#line 7872 "gram1.y" +#line 7876 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_ACTUAL_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 1206: -#line 7874 "gram1.y" +#line 7878 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_ACTUAL_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 1207: -#line 7878 "gram1.y" +#line 7882 "gram1.y" { (yyval.ll_node) = LLNULL;;} break; case 1208: -#line 7880 "gram1.y" +#line 7884 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node); ;} break; case 1209: -#line 7884 "gram1.y" +#line 7888 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1210: -#line 7886 "gram1.y" +#line 7890 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 1211: -#line 7890 "gram1.y" +#line 7894 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (2)].ll_node);;} break; case 1212: -#line 7893 "gram1.y" +#line 7897 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (2)].ll_node);;} break; case 1213: -#line 7896 "gram1.y" +#line 7900 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (2)].ll_node);;} break; case 1214: -#line 7901 "gram1.y" +#line 7905 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_INOUT_OP,(yyvsp[(3) - (4)].ll_node),LLNULL,SMNULL);;} break; case 1215: -#line 7903 "gram1.y" +#line 7907 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_IN_OP,(yyvsp[(3) - (4)].ll_node),LLNULL,SMNULL);;} break; case 1216: -#line 7905 "gram1.y" +#line 7909 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_OUT_OP,(yyvsp[(3) - (4)].ll_node),LLNULL,SMNULL);;} break; case 1217: -#line 7907 "gram1.y" +#line 7911 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_LOCAL_OP,(yyvsp[(3) - (4)].ll_node),LLNULL,SMNULL);;} break; case 1218: -#line 7909 "gram1.y" +#line 7913 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_INLOCAL_OP,(yyvsp[(3) - (4)].ll_node),LLNULL,SMNULL);;} break; case 1219: -#line 7913 "gram1.y" +#line 7917 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_TARGETS_OP,(yyvsp[(3) - (4)].ll_node),LLNULL,SMNULL);;} break; case 1220: -#line 7917 "gram1.y" +#line 7921 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_ASYNC_OP,LLNULL,LLNULL,SMNULL);;} break; case 1221: -#line 7922 "gram1.y" +#line 7926 "gram1.y" { (yyval.ll_node) = (yyvsp[(1) - (1)].ll_node);;} break; case 1222: -#line 7926 "gram1.y" +#line 7930 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1223: -#line 7928 "gram1.y" +#line 7932 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 1224: -#line 7932 "gram1.y" +#line 7936 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_HOST_OP, LLNULL,LLNULL,SMNULL);;} break; case 1225: -#line 7934 "gram1.y" +#line 7938 "gram1.y" { (yyval.ll_node) = make_llnd(fi,ACC_CUDA_OP, LLNULL,LLNULL,SMNULL);;} break; case 1226: -#line 7938 "gram1.y" +#line 7942 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_END_REGION_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 1227: -#line 7942 "gram1.y" +#line 7946 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_END_CHECKSECTION_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 1228: -#line 7946 "gram1.y" +#line 7950 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,ACC_ROUTINE_DIR,SMNULL,(yyvsp[(3) - (3)].ll_node),LLNULL,LLNULL);;} break; case 1229: -#line 7950 "gram1.y" +#line 7954 "gram1.y" { (yyval.ll_node) = LLNULL; ;} break; case 1230: -#line 7952 "gram1.y" +#line 7956 "gram1.y" { (yyval.ll_node) = (yyvsp[(2) - (2)].ll_node);;} break; case 1237: -#line 7964 "gram1.y" +#line 7968 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,SPF_ANALYSIS_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 1238: -#line 7968 "gram1.y" +#line 7972 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,SPF_PARALLEL_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 1239: -#line 7972 "gram1.y" +#line 7976 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,SPF_TRANSFORM_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 1240: -#line 7976 "gram1.y" +#line 7980 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,SPF_PARALLEL_REG_DIR,(yyvsp[(3) - (3)].symbol),LLNULL,LLNULL,LLNULL);;} break; case 1241: -#line 7978 "gram1.y" +#line 7982 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,SPF_PARALLEL_REG_DIR,(yyvsp[(3) - (10)].symbol),(yyvsp[(8) - (10)].ll_node),(yyvsp[(10) - (10)].ll_node),LLNULL);;} break; case 1242: -#line 7980 "gram1.y" +#line 7984 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,SPF_PARALLEL_REG_DIR,(yyvsp[(3) - (10)].symbol),(yyvsp[(10) - (10)].ll_node),(yyvsp[(8) - (10)].ll_node),LLNULL);;} break; case 1243: -#line 7984 "gram1.y" +#line 7988 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1244: -#line 7986 "gram1.y" +#line 7990 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 1245: -#line 7990 "gram1.y" +#line 7994 "gram1.y" { (yyval.ll_node) = make_llnd(fi,SPF_CODE_COVERAGE_OP,LLNULL,LLNULL,SMNULL);;} break; case 1246: -#line 7994 "gram1.y" +#line 7998 "gram1.y" { (yyval.ll_node) = LLNULL;;} break; case 1247: -#line 7996 "gram1.y" +#line 8000 "gram1.y" { (yyval.ll_node) = (yyvsp[(5) - (6)].ll_node);;} break; case 1248: -#line 8000 "gram1.y" +#line 8004 "gram1.y" { (yyval.ll_node) = LLNULL;;} break; case 1249: -#line 8002 "gram1.y" +#line 8006 "gram1.y" { (yyval.ll_node) = (yyvsp[(5) - (6)].ll_node);;} break; case 1250: -#line 8006 "gram1.y" +#line 8010 "gram1.y" { (yyval.bf_node) = get_bfnd(fi,SPF_END_PARALLEL_REG_DIR,SMNULL,LLNULL,LLNULL,LLNULL);;} break; case 1251: -#line 8010 "gram1.y" +#line 8014 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1252: -#line 8012 "gram1.y" +#line 8016 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; - case 1256: -#line 8021 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,REDUCTION_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL); ;} - break; - - case 1257: -#line 8025 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,ACC_PRIVATE_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} - break; - case 1258: -#line 8029 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_PARAMETER_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} +#line 8027 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,REDUCTION_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL); ;} break; case 1259: -#line 8032 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} +#line 8031 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,ACC_PRIVATE_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1260: -#line 8034 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} +#line 8035 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_PROCESS_PRIVATE_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1261: -#line 8038 "gram1.y" - { (yyval.ll_node) = make_llnd(fi, ASSGN_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL); ;} +#line 8039 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_COVER_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1262: -#line 8042 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} +#line 8043 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_PARAMETER_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1263: -#line 8044 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} +#line 8046 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} + break; + + case 1264: +#line 8048 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} + break; + + case 1265: +#line 8052 "gram1.y" + { (yyval.ll_node) = make_llnd(fi, ASSGN_OP, (yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), SMNULL); ;} + break; + + case 1266: +#line 8056 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1267: -#line 8053 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SHADOW_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} - break; - - case 1268: -#line 8057 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,ACROSS_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} - break; - - case 1269: -#line 8061 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,REMOTE_ACCESS_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} - break; - - case 1270: -#line 8065 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} +#line 8058 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 1271: #line 8067 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} + { (yyval.ll_node) = make_llnd(fi,SHADOW_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1272: #line 8071 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_NOINLINE_OP,LLNULL,LLNULL,SMNULL);;} + { (yyval.ll_node) = make_llnd(fi,ACROSS_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1273: -#line 8073 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_FISSION_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} +#line 8075 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,REMOTE_ACCESS_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1274: -#line 8075 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_EXPAND_OP,LLNULL,LLNULL,SMNULL);;} +#line 8079 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1275: -#line 8077 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_EXPAND_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} +#line 8081 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; case 1276: -#line 8080 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_SHRINK_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} +#line 8085 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_NOINLINE_OP,LLNULL,LLNULL,SMNULL);;} break; case 1277: -#line 8082 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_UNROLL_OP,LLNULL,LLNULL,SMNULL);;} +#line 8087 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_FISSION_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1278: -#line 8084 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_UNROLL_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} +#line 8089 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_EXPAND_OP,LLNULL,LLNULL,SMNULL);;} break; case 1279: -#line 8088 "gram1.y" +#line 8091 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_EXPAND_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} + break; + + case 1280: +#line 8094 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_SHRINK_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} + break; + + case 1281: +#line 8096 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_UNROLL_OP,LLNULL,LLNULL,SMNULL);;} + break; + + case 1282: +#line 8098 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_UNROLL_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} + break; + + case 1283: +#line 8100 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_MERGE_OP,LLNULL,LLNULL,SMNULL);;} + break; + + case 1284: +#line 8104 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (5)].ll_node), (yyvsp[(3) - (5)].ll_node), EXPR_LIST); (yyval.ll_node) = set_ll_list((yyval.ll_node), (yyvsp[(5) - (5)].ll_node), EXPR_LIST); ;} break; - case 1280: -#line 8095 "gram1.y" - { (yyval.symbol) = make_parallel_region((yyvsp[(1) - (1)].hash_entry));;} - break; - - case 1281: -#line 8099 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} - break; - - case 1282: -#line 8101 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} - break; - - case 1283: -#line 8105 "gram1.y" - { (yyval.bf_node) = get_bfnd(fi,SPF_CHECKPOINT_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} - break; - - case 1284: -#line 8109 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} - break; - case 1285: #line 8111 "gram1.y" - { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} + { (yyval.symbol) = make_parallel_region((yyvsp[(1) - (1)].hash_entry));;} break; case 1286: #line 8115 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_TYPE_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node), LLNULL, EXPR_LIST); ;} break; case 1287: #line 8117 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_VARLIST_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node), (yyvsp[(3) - (3)].ll_node), EXPR_LIST); ;} break; case 1288: -#line 8119 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_EXCEPT_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} +#line 8121 "gram1.y" + { (yyval.bf_node) = get_bfnd(fi,SPF_CHECKPOINT_DIR,SMNULL,(yyvsp[(4) - (5)].ll_node),LLNULL,LLNULL);;} break; case 1289: -#line 8121 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_FILES_COUNT_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} - break; - - case 1290: -#line 8123 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_INTERVAL_OP,(yyvsp[(4) - (7)].ll_node),(yyvsp[(6) - (7)].ll_node),SMNULL);;} - break; - - case 1291: -#line 8127 "gram1.y" +#line 8125 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; - case 1292: -#line 8129 "gram1.y" + case 1290: +#line 8127 "gram1.y" { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} break; - case 1293: + case 1291: +#line 8131 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_TYPE_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} + break; + + case 1292: #line 8133 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,ACC_ASYNC_OP, LLNULL,LLNULL,SMNULL);;} + { (yyval.ll_node) = make_llnd(fi,SPF_VARLIST_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} + break; + + case 1293: +#line 8135 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_EXCEPT_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1294: -#line 8135 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_FLEXIBLE_OP, LLNULL,LLNULL,SMNULL);;} +#line 8137 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_FILES_COUNT_OP,(yyvsp[(4) - (5)].ll_node),LLNULL,SMNULL);;} break; case 1295: #line 8139 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_TIME_OP, LLNULL,LLNULL,SMNULL);;} + { (yyval.ll_node) = make_llnd(fi,SPF_INTERVAL_OP,(yyvsp[(4) - (7)].ll_node),(yyvsp[(6) - (7)].ll_node),SMNULL);;} break; case 1296: -#line 8141 "gram1.y" - { (yyval.ll_node) = make_llnd(fi,SPF_ITER_OP, LLNULL,LLNULL,SMNULL);;} +#line 8143 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (1)].ll_node),LLNULL,EXPR_LIST); ;} break; case 1297: #line 8145 "gram1.y" + { (yyval.ll_node) = set_ll_list((yyvsp[(1) - (3)].ll_node),(yyvsp[(3) - (3)].ll_node),EXPR_LIST); ;} + break; + + case 1298: +#line 8149 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,ACC_ASYNC_OP, LLNULL,LLNULL,SMNULL);;} + break; + + case 1299: +#line 8151 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_FLEXIBLE_OP, LLNULL,LLNULL,SMNULL);;} + break; + + case 1300: +#line 8155 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_TIME_OP, LLNULL,LLNULL,SMNULL);;} + break; + + case 1301: +#line 8157 "gram1.y" + { (yyval.ll_node) = make_llnd(fi,SPF_ITER_OP, LLNULL,LLNULL,SMNULL);;} + break; + + case 1302: +#line 8161 "gram1.y" { if(position==IN_OUTSIDE) err("Misplaced SPF-directive",103); ;} @@ -14116,7 +14170,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 14120 "gram1.tab.c" +#line 14174 "gram1.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff --git a/dvm/fdvm/trunk/parser/gram1.tab.h b/dvm/fdvm/trunk/parser/gram1.tab.h index 350c0b5..4103314 100644 --- a/dvm/fdvm/trunk/parser/gram1.tab.h +++ b/dvm/fdvm/trunk/parser/gram1.tab.h @@ -391,8 +391,11 @@ SPF_APPLY_FRAGMENT = 350, SPF_CODE_COVERAGE = 351, SPF_UNROLL = 352, - BINARY_OP = 355, - UNARY_OP = 356 + SPF_MERGE = 353, + SPF_COVER = 354, + SPF_PROCESS_PRIVATE = 355, + BINARY_OP = 358, + UNARY_OP = 359 }; #endif /* Tokens. */ @@ -748,15 +751,18 @@ #define SPF_APPLY_FRAGMENT 350 #define SPF_CODE_COVERAGE 351 #define SPF_UNROLL 352 -#define BINARY_OP 355 -#define UNARY_OP 356 +#define SPF_MERGE 353 +#define SPF_COVER 354 +#define SPF_PROCESS_PRIVATE 355 +#define BINARY_OP 358 +#define UNARY_OP 359 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 435 "gram1.y" +#line 438 "gram1.y" { int token; char charv; @@ -769,7 +775,7 @@ typedef union YYSTYPE PTR_LABEL label; } /* Line 1489 of yacc.c. */ -#line 773 "gram1.tab.h" +#line 779 "gram1.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 diff --git a/dvm/fdvm/trunk/parser/gram1.y b/dvm/fdvm/trunk/parser/gram1.y index 625d72c..7c33a7b 100644 --- a/dvm/fdvm/trunk/parser/gram1.y +++ b/dvm/fdvm/trunk/parser/gram1.y @@ -350,6 +350,9 @@ %token SPF_APPLY_FRAGMENT 350 %token SPF_CODE_COVERAGE 351 %token SPF_UNROLL 352 +%token SPF_MERGE 353 +%token SPF_COVER 354 +%token SPF_PROCESS_PRIVATE 355 %{ #include @@ -633,6 +636,7 @@ static int in_vec = NO; /* set if processing array constructor */ %type spf_directive spf_analysis spf_parallel spf_transform spf_parallel_reg spf_end_parallel_reg %type spf_checkpoint %type analysis_spec_list analysis_spec analysis_reduction_spec analysis_private_spec analysis_parameter_spec +%type analysis_cover_spec analysis_process_private_spec %type parallel_spec_list parallel_spec parallel_shadow_spec parallel_across_spec parallel_remote_access_spec %type transform_spec_list transform_spec array_element_list spf_parameter_list spf_parameter %type characteristic characteristic_list opt_clause_apply_region opt_clause_apply_fragment @@ -8014,17 +8018,27 @@ analysis_spec_list: analysis_spec analysis_spec: analysis_reduction_spec | analysis_private_spec - | analysis_parameter_spec + | analysis_process_private_spec + | analysis_parameter_spec + | analysis_cover_spec ; analysis_reduction_spec: needkeyword REDUCTION LEFTPAR reduction_list RIGHTPAR { $$ = make_llnd(fi,REDUCTION_OP,$4,LLNULL,SMNULL); } - ; + ; analysis_private_spec: needkeyword PRIVATE LEFTPAR variable_list RIGHTPAR { $$ = make_llnd(fi,ACC_PRIVATE_OP,$4,LLNULL,SMNULL);} ; +analysis_process_private_spec: needkeyword SPF_PROCESS_PRIVATE LEFTPAR variable_list RIGHTPAR + { $$ = make_llnd(fi,SPF_PROCESS_PRIVATE_OP,$4,LLNULL,SMNULL);} + ; + +analysis_cover_spec: needkeyword SPF_COVER LEFTPAR integer_constant RIGHTPAR + { $$ = make_llnd(fi,SPF_COVER_OP,$4,LLNULL,SMNULL);} + ; + analysis_parameter_spec: needkeyword PARAMETER LEFTPAR spf_parameter_list RIGHTPAR { $$ = make_llnd(fi,SPF_PARAMETER_OP,$4,LLNULL,SMNULL);} ; @@ -8082,6 +8096,8 @@ transform_spec: needkeyword SPF_NOINLINE { $$ = make_llnd(fi,SPF_UNROLL_OP,LLNULL,LLNULL,SMNULL);} | needkeyword SPF_UNROLL LEFTPAR unroll_list RIGHTPAR { $$ = make_llnd(fi,SPF_UNROLL_OP,$4,LLNULL,SMNULL);} + | needkeyword SPF_MERGE + { $$ = make_llnd(fi,SPF_MERGE_OP,LLNULL,LLNULL,SMNULL);} ; unroll_list: expr COMMA expr COMMA expr diff --git a/dvm/fdvm/trunk/parser/lexfdvm.c b/dvm/fdvm/trunk/parser/lexfdvm.c index 686e44c..d3a7fc5 100644 --- a/dvm/fdvm/trunk/parser/lexfdvm.c +++ b/dvm/fdvm/trunk/parser/lexfdvm.c @@ -370,6 +370,7 @@ struct Keylist keys[] = { {"copyin", OMPDVM_COPYIN},/*OMP*/ {"copyprivate", OMPDVM_COPYPRIVATE},/*OMP*/ {"corner", CORNER}, + {"cover", SPF_COVER}, /*SPF*/ /* {"criticalsection", CRITICALSECTION},*/ {"cuda_block", ACC_CUDA_BLOCK}, /*ACC*/ {"cuda", ACC_CUDA}, /*ACC*/ @@ -494,7 +495,7 @@ struct Keylist keys[] = { {"maxloc", MAXLOC}, /* {"maxparallel", MAXPARALLEL},*/ {"max", MAX}, -/* {"merger", MERGER},*/ + {"merge", SPF_MERGE}, /*SPF*/ {"minloc", MINLOC}, {"min", MIN}, {"moduleprocedure", MODULE_PROCEDURE}, @@ -536,6 +537,7 @@ struct Keylist keys[] = { {"private", PRIVATE}, /*!!! {"probe", PROBE}, */ /*!!! {"procedure", PROCEDURE},*/ + {"process_private", SPF_PROCESS_PRIVATE}, /*SPF*/ {"product", PRODUCT}, {"program", PROGRAM}, /*!!! {"processcluster", PROCESS_CLUSTER},*/ diff --git a/dvm/fdvm/trunk/parser/tag b/dvm/fdvm/trunk/parser/tag index 3ea61d6..77be3b4 100644 --- a/dvm/fdvm/trunk/parser/tag +++ b/dvm/fdvm/trunk/parser/tag @@ -619,3 +619,7 @@ #define SPF_PARAMETER_OP 969 /* SAPFOR */ #define SPF_CODE_COVERAGE_OP 970 /* SAPFOR */ #define SPF_UNROLL_OP 971 /* SAPFOR */ +#define SPF_COVER_OP 972 /* SAPFOR */ +#define SPF_MERGE_OP 973 /* SAPFOR */ +#define SPF_PROCESS_PRIVATE_OP 974 /* SAPFOR */ + diff --git a/dvm/fdvm/trunk/parser/tag.h b/dvm/fdvm/trunk/parser/tag.h index f09a6cf..38e9115 100644 --- a/dvm/fdvm/trunk/parser/tag.h +++ b/dvm/fdvm/trunk/parser/tag.h @@ -621,3 +621,7 @@ script using "tag". Run make tag.h to regenerate this file */ tag [ SPF_PARAMETER_OP ] = "SPF_PARAMETER_OP"; tag [ SPF_CODE_COVERAGE_OP ] = "SPF_CODE_COVERAGE_OP"; tag [ SPF_UNROLL_OP ] = "SPF_UNROLL_OP"; + tag [ SPF_COVER_OP ] = "SPF_COVER_OP"; + tag [ SPF_MERGE_OP ] = "SPF_MERGE_OP"; + tag [ SPF_PROCESS_PRIVATE_OP ] = "SPF_PROCESS_PRIVATE_OP"; + diff --git a/dvm/fdvm/trunk/parser/tokdefs.h b/dvm/fdvm/trunk/parser/tokdefs.h index 5dd32ef..93b1455 100644 --- a/dvm/fdvm/trunk/parser/tokdefs.h +++ b/dvm/fdvm/trunk/parser/tokdefs.h @@ -350,3 +350,6 @@ #define SPF_APPLY_FRAGMENT 350 #define SPF_CODE_COVERAGE 351 #define SPF_UNROLL 352 +#define SPF_MERGE 353 +#define SPF_COVER 354 +#define SPF_PROCESS_PRIVATE 355 diff --git a/dvm/fdvm/trunk/parser/tokens b/dvm/fdvm/trunk/parser/tokens index 0b478e7..8a3bda9 100644 --- a/dvm/fdvm/trunk/parser/tokens +++ b/dvm/fdvm/trunk/parser/tokens @@ -350,3 +350,6 @@ SPF_APPLY_REGION SPF_APPLY_FRAGMENT SPF_CODE_COVERAGE SPF_UNROLL +SPF_MERGE +SPF_COVER +SPF_PROCESS_PRIVATE diff --git a/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/directive_parser.cpp b/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/directive_parser.cpp index d2860c5..df9e069 100644 --- a/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/directive_parser.cpp +++ b/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/directive_parser.cpp @@ -84,7 +84,7 @@ static inline Symbol* getData(SgExpression *symb, Symbol**, bool moduleNameAdd = } template -void fillPrivatesFromComment(Statement *stIn, set &privates) +void fillPrivatesFromComment(Statement *stIn, set &privates, int type) { if (stIn) { @@ -94,7 +94,10 @@ void fillPrivatesFromComment(Statement *stIn, set &privates) SgExpression *exprList = st->expr(0); while (exprList) { - if (exprList->lhs()->variant() == ACC_PRIVATE_OP) + const int var = exprList->lhs()->variant(); + if ( ((var == ACC_PRIVATE_OP || var == SPF_PROCESS_PRIVATE_OP) && type == -1) || + (var == ACC_PRIVATE_OP && var == type) || + (var == SPF_PROCESS_PRIVATE_OP && var == type) ) { SgExpression *list = exprList->lhs()->lhs(); while (list) @@ -111,8 +114,8 @@ void fillPrivatesFromComment(Statement *stIn, set &privates) } } -template void fillPrivatesFromComment(Statement *st, set &privates); -template void fillPrivatesFromComment(Statement *st, set &privates); +template void fillPrivatesFromComment(Statement *st, set &privates, int type); +template void fillPrivatesFromComment(Statement *st, set &privates, int type); //XXX: need to remove message and to add implementation extern map> SPF_messages; @@ -594,3 +597,28 @@ void fillInfoFromDirectives(const LoopGraph *loopInfo, ParallelDirective *direct } } } + +int getCoverPropertyFromComment(Statement* stIn) +{ + if (stIn) + { + SgStatement* st = stIn->GetOriginal(); + if (st->variant() == SPF_ANALYSIS_DIR) + { + SgExpression* exprList = st->expr(0); + while (exprList) + { + if (exprList->lhs() && exprList->lhs()->variant() == SPF_COVER_OP) + { + auto value = exprList->lhs()->lhs(); + if (value->isInteger()) + return value->valueInteger(); + else + return -1; + } + exprList = exprList->rhs(); + } + } + } + return 0; +} diff --git a/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/directive_parser.h b/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/directive_parser.h index 92e7acd..d71c72a 100644 --- a/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/directive_parser.h +++ b/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/directive_parser.h @@ -11,7 +11,7 @@ bool isSPF_NoInline(Statement *stPrev); template -void fillPrivatesFromComment(Statement *st, std::set &privates); +void fillPrivatesFromComment(Statement *st, std::set &privates, int type = -1); template void fillReductionsFromComment(Statement *st, std::map> &reduction, bool moduleNameAdd = false); @@ -40,3 +40,5 @@ void fillShrinkFromComment(Statement *stIn, std::vector void fillCheckpointFromComment(Statement *stIn, std::map &clauses, std::set &vars, std::set &expt); + +int getCoverPropertyFromComment(Statement* stIn); diff --git a/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/spf_directive_preproc.cpp b/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/spf_directive_preproc.cpp index aa7f440..fd507d5 100644 --- a/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/spf_directive_preproc.cpp +++ b/sapfor/experts/Sapfor_2017/_src/DirectiveProcessing/spf_directive_preproc.cpp @@ -156,6 +156,76 @@ static void fillVarsSets(SgStatement *iterator, SgStatement *end, set &v } } +static bool checkCover(SgStatement* st, + SgStatement* attributeStatement, + const int coverLoops, + vector& messagesForFile) +{ + // COVER(VALUE) + const int var = st->variant(); + bool retVal = true; + + SgForStmt* forSt = (SgForStmt*)st; + const int nestedCount = countPerfectLoopNest(forSt); + if (coverLoops > nestedCount || coverLoops == 0) + { + __spf_print(1, "bad directive expression: expected %d nested loops on line %d but got %d on line %d\n", + coverLoops, attributeStatement->lineNumber(), nestedCount, st->lineNumber()); + + wstring messageE, messageR; + __spf_printToLongBuf(messageE, L"bad directive expression: expected %d nested loops on line %d but got %d", + coverLoops, attributeStatement->lineNumber(), nestedCount); + + __spf_printToLongBuf(messageR, R77, coverLoops, attributeStatement->lineNumber(), nestedCount); + + messagesForFile.push_back(Messages(ERROR, st->lineNumber(), messageR, messageE, 1043)); + retVal = false; + } + + return retVal; +} + +static bool checkProcessPrivate(SgStatement* st, + SgStatement* attributeStatement, + const set& privates, + vector& messagesForFile) +{ + // PROCESS_PRIVATE(VAR) + const int var = st->variant(); + bool retVal = true; + + if (!isSgExecutableStatement(st)) + { + st = skipDvmDirs(st); + SgStatement* iterator = st; + SgStatement* end = st->lexNext(); + set varDef, varUse; + + fillVarsSets(iterator, end, varDef, varUse); + for (auto& privElemS : privates) + { + const string privElem = privElemS->GetOriginal()->identifier(); + bool defCond = true; + + if (varDef.find(privElem) == varDef.end()) + defCond = false; + + if (!defCond) + { + BAD_POSITION_FULL(1, ERROR, "before", RR1_1, "variable declaration", RR1_2, "", L"", attributeStatement->lineNumber()); + retVal = false; + } + } + } + else + { + BAD_POSITION_FULL(1, ERROR, "before", RR1_1, "variable declaration", RR1_2, "", L"", attributeStatement->lineNumber()); + retVal = false; + } + + return retVal; +} + static bool checkPrivate(SgStatement *st, SgStatement *attributeStatement, const set &privates, @@ -165,19 +235,16 @@ static bool checkPrivate(SgStatement *st, const int var = st->variant(); bool retVal = true; - if (!isSgExecutableStatement(st) || var == FOR_NODE) + if (var == FOR_NODE) { st = skipDvmDirs(st); SgStatement *iterator = st; - SgStatement *end = (var == FOR_NODE) ? st->lastNodeOfStmt() : st->lexNext(); - set varDef; - set varUse; - - fillVarsSets(iterator, end, varDef, varUse); - + SgStatement *end = st->lastNodeOfStmt(); + set varDef, varUse; set wrongPrivFromOmpParallel; - for (auto &privElemS : privates) + fillVarsSets(iterator, end, varDef, varUse); + for (auto& privElemS : privates) { const string privElem = privElemS->GetOriginal()->identifier(); bool defCond = true; @@ -188,51 +255,40 @@ static bool checkPrivate(SgStatement *st, if (varUse.find(privElem) == varUse.end()) useCond = false; - if (var == FOR_NODE) + if (!defCond && !useCond) { - if (!defCond && !useCond) + if (attributeStatement->localLineNumber() != 888) { - if (attributeStatement->localLineNumber() != 888) - { - __spf_print(1, "variable '%s' is not used in loop on line %d\n", privElem.c_str(), attributeStatement->lineNumber()); - wstring messageE, messageR; - __spf_printToLongBuf(messageE, L"variable '%s' is not used in loop", to_wstring(privElem.c_str()).c_str()); + __spf_print(1, "variable '%s' is not used in loop on line %d\n", privElem.c_str(), attributeStatement->lineNumber()); + wstring messageE, messageR; + __spf_printToLongBuf(messageE, L"variable '%s' is not used in loop", to_wstring(privElem.c_str()).c_str()); - __spf_printToLongBuf(messageR, R21, to_wstring(privElem.c_str()).c_str()); + __spf_printToLongBuf(messageR, R21, to_wstring(privElem.c_str()).c_str()); - messagesForFile.push_back(Messages(WARR, attributeStatement->lineNumber(), messageR, messageE, 1002)); - } - else - wrongPrivFromOmpParallel.insert(privElem); - } - else if (!defCond && useCond) - { - if (attributeStatement->localLineNumber() != 888) - { - __spf_print(1, "variable '%s' is not changed in loop on line %d\n", privElem.c_str(), attributeStatement->lineNumber()); - wstring messageE, messageR; - __spf_printToLongBuf(messageE, L"variable '%s' is not changed in loop", to_wstring(privElem.c_str()).c_str()); - - __spf_printToLongBuf(messageR, R23, to_wstring(privElem.c_str()).c_str()); - - messagesForFile.push_back(Messages(ERROR, attributeStatement->lineNumber(), messageR, messageE, 1003)); - retVal = false; - } - else - wrongPrivFromOmpParallel.insert(privElem); + messagesForFile.push_back(Messages(WARR, attributeStatement->lineNumber(), messageR, messageE, 1002)); } + else + wrongPrivFromOmpParallel.insert(privElem); } - else + else if (!defCond && useCond) { - if (!defCond) + if (attributeStatement->localLineNumber() != 888) { - BAD_POSITION_FULL(1, ERROR, "before", RR1_1, "variable declaration or", RR1_2, "DO statement", RR1_3, attributeStatement->lineNumber()); + __spf_print(1, "variable '%s' is not changed in loop on line %d\n", privElem.c_str(), attributeStatement->lineNumber()); + wstring messageE, messageR; + __spf_printToLongBuf(messageE, L"variable '%s' is not changed in loop", to_wstring(privElem.c_str()).c_str()); + + __spf_printToLongBuf(messageR, R23, to_wstring(privElem.c_str()).c_str()); + + messagesForFile.push_back(Messages(ERROR, attributeStatement->lineNumber(), messageR, messageE, 1003)); retVal = false; } + else + wrongPrivFromOmpParallel.insert(privElem); } } - if (var == FOR_NODE && wrongPrivFromOmpParallel.size()) // remove unnecessary + if (wrongPrivFromOmpParallel.size()) // remove unnecessary { if (wrongPrivFromOmpParallel.size() == privates.size()) // remove all attributeStatement->expr(0)->lhs()->setLhs(NULL); @@ -252,7 +308,7 @@ static bool checkPrivate(SgStatement *st, } else { - BAD_POSITION_FULL(1, ERROR, "before", RR1_1, "variable declaration or", RR1_2, "DO statement", RR1_3, attributeStatement->lineNumber()); + BAD_POSITION_FULL(1, ERROR, "before", RR1_1, "", L"", "DO statement", RR1_3, attributeStatement->lineNumber()); retVal = false; } @@ -1246,17 +1302,17 @@ static bool checkFissionPrivatesExpansion(SgStatement *st, addSPFtoAttr(s, currFile, usersDirectives); SgForStmt *forSt = (SgForStmt*)st; - if (vars.size() > countPerfectLoopNest(forSt)) + const int nestedCount = countPerfectLoopNest(forSt); + if (vars.size() > nestedCount) { __spf_print(1, "bad directive expression: expected %d nested loops on line %d but got %d on line %d\n", - (int)vars.size(), attributeStatement->lineNumber(), countPerfectLoopNest(forSt), st->lineNumber()); + (int)vars.size(), attributeStatement->lineNumber(), nestedCount, st->lineNumber()); wstring messageE, messageR; __spf_printToLongBuf(messageE, L"bad directive expression: expected %d nested loops on line %d but got %d", - (int)vars.size(), attributeStatement->lineNumber(), countPerfectLoopNest(forSt)); + (int)vars.size(), attributeStatement->lineNumber(), nestedCount); - __spf_printToLongBuf(messageR, R77, - (int)vars.size(), attributeStatement->lineNumber(), countPerfectLoopNest(forSt)); + __spf_printToLongBuf(messageR, R77, (int)vars.size(), attributeStatement->lineNumber(), nestedCount); messagesForFile.push_back(Messages(ERROR, st->lineNumber(), messageR, messageE, 1043)); @@ -1708,18 +1764,29 @@ static inline bool processStat(SgStatement *st, const string &currFile, SgAttribute *attr = st->getAttribute(i); SgStatement *attributeStatement = (SgStatement *)(attr->getAttributeData()); int type = st->attributeType(i); + int count; + if (type == SPF_ANALYSIS_DIR) { // !$SPF ANALYSIS // PRIVATE(VAR) set privates; - fillPrivatesFromComment(new Statement(attributeStatement), privates); + fillPrivatesFromComment(new Statement(attributeStatement), privates, ACC_PRIVATE_OP); if (privates.size()) { bool result = checkPrivate(st, attributeStatement, privates, messagesForFile); retVal = retVal && result; } + // PROCESS_PRIVATE(VAR) + privates.clear(); + fillPrivatesFromComment(new Statement(attributeStatement), privates, SPF_PROCESS_PRIVATE_OP); + if (privates.size()) + { + bool result = checkProcessPrivate(st, attributeStatement, privates, messagesForFile); + retVal = retVal && result; + } + // REDUCTION(OP(VAR), MIN/MAXLOC(VAR, ARRAY, CONST)) map> reduction; map>> reductionLoc; @@ -1740,10 +1807,27 @@ static inline bool processStat(SgStatement *st, const string &currFile, bool result = checkParameter(st, attributeStatement, assigns, messagesForFile); retVal = retVal && result; } + + // COVER + if (isSPF_OP(attributeStatement, SPF_COVER_OP) && (count = countSPF_OP(st, SPF_ANALYSIS_DIR, SPF_COVER_OP))) + { + attributeStatement->setLocalLineNumber(-1); + if (count > 1 || st->variant() != FOR_NODE) + { + BAD_POSITION_FULL(1, ERROR, "once", RR1_7, "before", RR1_1, "DO statement", RR1_3, attributeStatement->lineNumber()); + retVal = false; + } + else + { + bool result = checkCover(st, attributeStatement, getCoverPropertyFromComment(new Statement(attributeStatement)), messagesForFile); + retVal = retVal && result; + } + } } else if (type == SPF_PARALLEL_DIR) { // !$SPF PARALLEL + // SHADOW (VAR(list of shadows)) / ACROSS (VAR(list of shadows)) vector, vector>>> data; fillShadowAcrossFromComment(SHADOW_OP, new Statement(attributeStatement), data); @@ -1766,7 +1850,6 @@ static inline bool processStat(SgStatement *st, const string &currFile, else if (type == SPF_TRANSFORM_DIR) { // !$SPF TRANSFORM - int count; // NOINLINE if (isSPF_NoInline(new Statement(st))) @@ -1815,7 +1898,7 @@ static inline bool processStat(SgStatement *st, const string &currFile, // SHRINK if (isSPF_OP(attributeStatement, SPF_SHRINK_OP)) { - attributeStatement->setLocalLineNumber(-1); // is it needed? + attributeStatement->setLocalLineNumber(-1); if (st->variant() != FOR_NODE) { BAD_POSITION_FULL(1, ERROR, "", "", "before", RR1_1, "DO statement", RR1_3, attributeStatement->lineNumber()); @@ -1838,6 +1921,17 @@ static inline bool processStat(SgStatement *st, const string &currFile, retVal = false; } } + + // MERGE + if (isSPF_OP(attributeStatement, SPF_MERGE_OP)) + { + attributeStatement->setLocalLineNumber(-1); + if (st->variant() != FOR_NODE) + { + BAD_POSITION_FULL(1, ERROR, "", "", "before", RR1_1, "DO statement", RR1_3, attributeStatement->lineNumber()); + retVal = false; + } + } } else if (type == SPF_CHECKPOINT_DIR) { diff --git a/sapfor/experts/Sapfor_2017/_src/Sapfor.cpp b/sapfor/experts/Sapfor_2017/_src/Sapfor.cpp index e17ee2c..7014088 100644 --- a/sapfor/experts/Sapfor_2017/_src/Sapfor.cpp +++ b/sapfor/experts/Sapfor_2017/_src/Sapfor.cpp @@ -1041,9 +1041,14 @@ static bool runAnalysis(SgProject &project, const int curr_regime, const bool ne if (internalExit < 0) throw -1; - bool applyFor = (curr_regime == LOOPS_SPLITTER || curr_regime == LOOPS_COMBINER || curr_regime == PRIVATE_REMOVING || - curr_regime == PRIVATE_ARRAYS_EXPANSION || curr_regime == PRIVATE_ARRAYS_SHRINKING); - if ((countOfTransform == 0 || internalExit > 0) && applyFor) + set applyFor = { LOOPS_SPLITTER, + LOOPS_COMBINER, + PRIVATE_REMOVING, + PRIVATE_ARRAYS_EXPANSION, + PRIVATE_ARRAYS_SHRINKING, + REMOVE_DEAD_CODE }; + + if ((countOfTransform == 0 || internalExit > 0) && applyFor.find(curr_regime) != applyFor.end()) { SgStatement* mainUnit = findMainUnit(&project, SPF_messages); checkNull(mainUnit, convertFileName(__FILE__).c_str(), __LINE__); diff --git a/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.cpp b/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.cpp index 659eef7..3346c2f 100644 --- a/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.cpp +++ b/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.cpp @@ -381,11 +381,12 @@ public: }; -void removeDeadCode(SgStatement* func, - const map>& allFuncs, - const map& commonBlocks, - SgStatement* intervalDelStart, SgStatement* intervalDelEnd) +int removeDeadCode(SgStatement* func, + const map>& allFuncs, + const map& commonBlocks, + SgStatement* intervalDelStart, SgStatement* intervalDelEnd) { + int countOfTransform = 0; if (intervalDelStart && !intervalDelEnd || !intervalDelStart && intervalDelEnd) printInternalError(convertFileName(__FILE__).c_str(), __LINE__); @@ -521,7 +522,8 @@ void removeDeadCode(SgStatement* func, __spf_print(PRINT_USELESS_STATEMENTS, "[Useless statement on line %d and file %s]\n", rem->lineNumber(), rem->fileName()); rem->deleteStmt(); } - + countOfTransform += remove.size(); + //remove empty blocks do { @@ -559,7 +561,10 @@ void removeDeadCode(SgStatement* func, __spf_print(PRINT_USELESS_STATEMENTS, "[Useless block statement on line %d and file %s]\n", rem->lineNumber(), rem->fileName()); rem->deleteStmt(); } + countOfTransform += remove.size(); } while (remove.size()); deleteCFG(cfg); + + return countOfTransform; } \ No newline at end of file diff --git a/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.h b/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.h index 6f3ef35..741acff 100644 --- a/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.h +++ b/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.h @@ -9,7 +9,7 @@ #include "../CFGraph/DataFlow/data_flow.h" #include "../CFGraph/DataFlow/backward_data_flow.h" -void removeDeadCode(SgStatement* func, - const std::map>&allFuncs, - const std::map& commonBlocks, - SgStatement* intervalDelStart = NULL, SgStatement* intervalDelEnd = NULL); \ No newline at end of file +int removeDeadCode(SgStatement* func, + const std::map>&allFuncs, + const std::map& commonBlocks, + SgStatement* intervalDelStart = NULL, SgStatement* intervalDelEnd = NULL); \ No newline at end of file diff --git a/sapfor/experts/Sapfor_2017/_src/Utils/SgUtils.cpp b/sapfor/experts/Sapfor_2017/_src/Utils/SgUtils.cpp index b9113d1..f47ef56 100644 --- a/sapfor/experts/Sapfor_2017/_src/Utils/SgUtils.cpp +++ b/sapfor/experts/Sapfor_2017/_src/Utils/SgUtils.cpp @@ -1153,7 +1153,7 @@ bool isSPF_stat(SgStatement *st) const int var = st->variant(); //for details see dvm_tag.h - if (var >= SPF_ANALYSIS_DIR && var <= SPF_UNROLL_OP) + if (var >= SPF_ANALYSIS_DIR && var <= SPF_PROCESS_PRIVATE_OP) ret = true; return ret; } diff --git a/sapfor/experts/Sapfor_2017/_src/Utils/russian_errors_text.txt b/sapfor/experts/Sapfor_2017/_src/Utils/russian_errors_text.txt index 671062c..f44d671 100644 --- a/sapfor/experts/Sapfor_2017/_src/Utils/russian_errors_text.txt +++ b/sapfor/experts/Sapfor_2017/_src/Utils/russian_errors_text.txt @@ -1,7 +1,7 @@ //1001 R1 = "Неверное расположение директивы: можно располагать только %s %s %s" RR1_1 = "перед" -RR1_2 = "объявлением переменных или" +RR1_2 = "объявлением переменных" RR1_3 = "циклом" RR1_4 = "после" RR1_5 = "всех операторов объявления" diff --git a/sapfor/experts/Sapfor_2017/_src/Utils/version.h b/sapfor/experts/Sapfor_2017/_src/Utils/version.h index 0cfc91a..c9de073 100644 --- a/sapfor/experts/Sapfor_2017/_src/Utils/version.h +++ b/sapfor/experts/Sapfor_2017/_src/Utils/version.h @@ -1,3 +1,3 @@ #pragma once -#define VERSION_SPF "2308" +#define VERSION_SPF "2311"