Changeset 14107 for vendors/AGRIF/dev/LIB/fortran.c
- Timestamp:
- 2020-12-04T18:02:20+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendors/AGRIF/dev/LIB/fortran.c
r12420 r14107 1 /* A Bison parser, made by GNU Bison 3. 4.2. */1 /* A Bison parser, made by GNU Bison 3.0.4. */ 2 2 3 3 /* Bison implementation for Yacc-like parsers in C 4 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, 6 Inc. 5 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. 7 6 8 7 This program is free software: you can redistribute it and/or modify … … 42 41 USER NAME SPACE" below. */ 43 42 44 /* Undocumented macros, especially those whose name start with YY_,45 are private implementation details. Do not rely on them. */46 47 43 /* Identify Bison output. */ 48 44 #define YYBISON 1 49 45 50 46 /* Bison version. */ 51 #define YYBISON_VERSION "3. 4.2"47 #define YYBISON_VERSION "3.0.4" 52 48 53 49 /* Skeleton name. */ … … 74 70 #define yychar fortran_char 75 71 76 /* First part of user prologue. */77 #line 36 "fortran.y" 72 /* Copy the first part of user declarations. */ 73 #line 36 "fortran.y" /* yacc.c:339 */ 78 74 79 75 #define YYMAXDEPTH 1000 … … 84 80 85 81 extern int line_num_input; 86 extern char *fortran_text;87 82 88 83 char c_selectorname[LONG_M]; … … 92 87 int c_selectorgiven=0; 93 88 listvar *curlistvar; 89 int in_select_case_stmt=0; 94 90 typedim c_selectordim; 95 91 listcouple *coupletmp; 96 92 int removeline=0; 93 int token_since_endofstmt = 0; 94 int increment_nbtokens = 1; 95 int in_complex_literal = 0; 96 int close_or_connect = 0; 97 int in_io_control_spec = 0; 98 int intent_spec = 0; 99 long int my_position; 100 long int my_position_before; 101 int suborfun = 0; 102 int indeclaration = 0; 103 int endoffile = 0; 104 int in_inquire = 0; 105 int in_char_selector = 0; 106 int in_kind_selector =0; 107 int char_length_toreset = 0; 108 109 typedim my_dim; 110 97 111 listvar *test; 112 113 char linebuf1[1024]; 114 char linebuf2[1024]; 98 115 99 116 int fortran_error(const char *s) 100 117 { 101 printf("%s line %d, file %s motclef = |%s|\n", s, line_num_input, cur_filename, fortran_text); 118 if (endoffile == 1) 119 { 120 endoffile = 0; 121 return 0; 122 } 123 printf("%s line %d, file %s culprit = |%s|\n", s, line_num_input, cur_filename, strcat(linebuf1, linebuf2)); 102 124 exit(1); 103 125 } 104 126 105 127 106 #line 1 07 "fortran.tab.c"128 #line 129 "fortran.tab.c" /* yacc.c:339 */ 107 129 108 130 # ifndef YY_NULLPTR 109 # if defined __cplusplus 110 # if 201103L <= __cplusplus 111 # define YY_NULLPTR nullptr 112 # else 113 # define YY_NULLPTR 0 114 # endif 131 # if defined __cplusplus && 201103L <= __cplusplus 132 # define YY_NULLPTR nullptr 115 133 # else 116 # define YY_NULLPTR ((void*)0)134 # define YY_NULLPTR 0 117 135 # endif 118 136 # endif … … 163 181 TOK_PROGRAM = 279, 164 182 TOK_FUNCTION = 280, 165 TOK_FORMAT = 281, 166 TOK_MAX = 282, 167 TOK_TANH = 283, 168 TOK_WHERE = 284, 169 TOK_ELSEWHEREPAR = 285, 170 TOK_ELSEWHERE = 286, 171 TOK_ENDWHERE = 287, 172 TOK_MAXVAL = 288, 173 TOK_TRIM = 289, 174 TOK_NULL_PTR = 290, 175 TOK_SUM = 291, 176 TOK_SQRT = 292, 177 TOK_CASE = 293, 178 TOK_SELECTCASE = 294, 179 TOK_FILE = 295, 180 TOK_UNIT = 296, 181 TOK_FMT = 297, 182 TOK_NML = 298, 183 TOK_END = 299, 184 TOK_EOR = 300, 185 TOK_ERR = 301, 186 TOK_EXIST = 302, 187 TOK_MIN = 303, 188 TOK_FLOAT = 304, 189 TOK_EXP = 305, 190 TOK_COS = 306, 191 TOK_COSH = 307, 192 TOK_ACOS = 308, 193 TOK_NINT = 309, 194 TOK_CYCLE = 310, 195 TOK_SIN = 311, 196 TOK_SINH = 312, 197 TOK_ASIN = 313, 198 TOK_EQUIVALENCE = 314, 199 TOK_BACKSPACE = 315, 200 TOK_LOG = 316, 201 TOK_TAN = 317, 202 TOK_ATAN = 318, 203 TOK_RECURSIVE = 319, 204 TOK_ABS = 320, 205 TOK_MOD = 321, 206 TOK_SIGN = 322, 207 TOK_MINLOC = 323, 208 TOK_MAXLOC = 324, 209 TOK_EXIT = 325, 210 TOK_MINVAL = 326, 211 TOK_PUBLIC = 327, 212 TOK_PRIVATE = 328, 213 TOK_ALLOCATABLE = 329, 214 TOK_RETURN = 330, 215 TOK_THEN = 331, 216 TOK_ELSEIF = 332, 217 TOK_ELSE = 333, 218 TOK_ENDIF = 334, 219 TOK_PRINT = 335, 220 TOK_PLAINGOTO = 336, 221 TOK_LOGICALIF = 337, 222 TOK_PLAINDO = 338, 223 TOK_CONTAINS = 339, 224 TOK_ENDDO = 340, 225 TOK_MODULE = 341, 226 TOK_ENDMODULE = 342, 227 TOK_WHILE = 343, 228 TOK_CONCURRENT = 344, 229 TOK_ALLOCATE = 345, 230 TOK_OPEN = 346, 231 TOK_CLOSE = 347, 232 TOK_INQUIRE = 348, 233 TOK_WRITE = 349, 234 TOK_FLUSH = 350, 235 TOK_READ = 351, 236 TOK_REWIND = 352, 237 TOK_DEALLOCATE = 353, 238 TOK_NULLIFY = 354, 239 TOK_DIMENSION = 355, 240 TOK_ENDSELECT = 356, 241 TOK_EXTERNAL = 357, 242 TOK_INTENT = 358, 243 TOK_INTRINSIC = 359, 244 TOK_NAMELIST = 360, 245 TOK_DEFAULT = 361, 246 TOK_OPTIONAL = 362, 247 TOK_POINTER = 363, 248 TOK_CONTINUE = 364, 249 TOK_SAVE = 365, 250 TOK_TARGET = 366, 251 TOK_IMPLICIT = 367, 252 TOK_NONE = 368, 253 TOK_CALL = 369, 254 TOK_STAT = 370, 255 TOK_POINT_TO = 371, 256 TOK_COMMON = 372, 257 TOK_GLOBAL = 373, 258 TOK_LEFTAB = 374, 259 TOK_RIGHTAB = 375, 260 TOK_PAUSE = 376, 261 TOK_PROCEDURE = 377, 262 TOK_STOP = 378, 263 TOK_REAL8 = 379, 264 TOK_FOURDOTS = 380, 265 TOK_HEXA = 381, 266 TOK_ASSIGNTYPE = 382, 267 TOK_OUT = 383, 268 TOK_INOUT = 384, 269 TOK_IN = 385, 270 TOK_USE = 386, 271 TOK_TRUE = 387, 272 TOK_FALSE = 388, 273 TOK_LABEL = 389, 274 TOK_TYPE = 390, 275 TOK_TYPEPAR = 391, 276 TOK_ENDTYPE = 392, 277 TOK_REAL = 393, 278 TOK_INTEGER = 394, 279 TOK_LOGICAL = 395, 280 TOK_DOUBLEPRECISION = 396, 281 TOK_ENDSUBROUTINE = 397, 282 TOK_ENDFUNCTION = 398, 283 TOK_ENDPROGRAM = 399, 284 TOK_ENDUNIT = 400, 285 TOK_CHARACTER = 401, 286 TOK_CHAR_CONSTANT = 402, 287 TOK_CHAR_CUT = 403, 288 TOK_DATA = 404, 289 TOK_CHAR_MESSAGE = 405, 290 TOK_CSTREAL = 406, 291 TOK_COMPLEX = 407, 292 TOK_DOUBLECOMPLEX = 408, 293 TOK_NAME = 409, 294 TOK_CSTINT = 410 183 TOK_LABEL_FORMAT = 281, 184 TOK_LABEL_CONTINUE = 282, 185 TOK_LABEL_END_DO = 283, 186 TOK_MAX = 284, 187 TOK_TANH = 285, 188 TOK_COMMENT = 286, 189 TOK_WHERE = 287, 190 TOK_ELSEWHEREPAR = 288, 191 TOK_ELSEWHERE = 289, 192 TOK_ENDWHERE = 290, 193 TOK_MAXVAL = 291, 194 TOK_TRIM = 292, 195 TOK_NULL_PTR = 293, 196 TOK_SUM = 294, 197 TOK_SQRT = 295, 198 TOK_CASE = 296, 199 TOK_SELECTCASE = 297, 200 TOK_FILE = 298, 201 TOK_REC = 299, 202 TOK_NAME_EQ = 300, 203 TOK_IOLENGTH = 301, 204 TOK_ACCESS = 302, 205 TOK_ACTION = 303, 206 TOK_FORM = 304, 207 TOK_RECL = 305, 208 TOK_STATUS = 306, 209 TOK_UNIT = 307, 210 TOK_OPENED = 308, 211 TOK_FMT = 309, 212 TOK_NML = 310, 213 TOK_END = 311, 214 TOK_EOR = 312, 215 TOK_EOF = 313, 216 TOK_ERR = 314, 217 TOK_POSITION = 315, 218 TOK_IOSTAT = 316, 219 TOK_IOMSG = 317, 220 TOK_EXIST = 318, 221 TOK_MIN = 319, 222 TOK_FLOAT = 320, 223 TOK_EXP = 321, 224 TOK_LEN = 322, 225 TOK_COS = 323, 226 TOK_COSH = 324, 227 TOK_ACOS = 325, 228 TOK_NINT = 326, 229 TOK_CYCLE = 327, 230 TOK_SIN = 328, 231 TOK_SINH = 329, 232 TOK_ASIN = 330, 233 TOK_EQUIVALENCE = 331, 234 TOK_BACKSPACE = 332, 235 TOK_LOG = 333, 236 TOK_TAN = 334, 237 TOK_ATAN = 335, 238 TOK_RECURSIVE = 336, 239 TOK_ABS = 337, 240 TOK_MOD = 338, 241 TOK_SIGN = 339, 242 TOK_MINLOC = 340, 243 TOK_MAXLOC = 341, 244 TOK_EXIT = 342, 245 TOK_KIND = 343, 246 TOK_MOLD = 344, 247 TOK_SOURCE = 345, 248 TOK_ERRMSG = 346, 249 TOK_MINVAL = 347, 250 TOK_PUBLIC = 348, 251 TOK_PRIVATE = 349, 252 TOK_ALLOCATABLE = 350, 253 TOK_RETURN = 351, 254 TOK_THEN = 352, 255 TOK_ELSEIF = 353, 256 TOK_ELSE = 354, 257 TOK_ENDIF = 355, 258 TOK_PRINT = 356, 259 TOK_PLAINGOTO = 357, 260 TOK_LOGICALIF = 358, 261 TOK_LOGICALIF_PAR = 359, 262 TOK_PLAINDO = 360, 263 TOK_CONTAINS = 361, 264 TOK_ENDDO = 362, 265 TOK_MODULE = 363, 266 TOK_ENDMODULE = 364, 267 TOK_WHILE = 365, 268 TOK_CONCURRENT = 366, 269 TOK_ALLOCATE = 367, 270 TOK_OPEN = 368, 271 TOK_CLOSE = 369, 272 TOK_INQUIRE = 370, 273 TOK_WRITE_PAR = 371, 274 TOK_WRITE = 372, 275 TOK_FLUSH = 373, 276 TOK_READ_PAR = 374, 277 TOK_READ = 375, 278 TOK_REWIND = 376, 279 TOK_DEALLOCATE = 377, 280 TOK_NULLIFY = 378, 281 TOK_DIMENSION = 379, 282 TOK_ENDSELECT = 380, 283 TOK_EXTERNAL = 381, 284 TOK_INTENT = 382, 285 TOK_INTRINSIC = 383, 286 TOK_NAMELIST = 384, 287 TOK_DEFAULT = 385, 288 TOK_OPTIONAL = 386, 289 TOK_POINTER = 387, 290 TOK_CONTINUE = 388, 291 TOK_SAVE = 389, 292 TOK_TARGET = 390, 293 TOK_IMPLICIT = 391, 294 TOK_NONE = 392, 295 TOK_CALL = 393, 296 TOK_STAT = 394, 297 TOK_POINT_TO = 395, 298 TOK_COMMON = 396, 299 TOK_GLOBAL = 397, 300 TOK_LEFTAB = 398, 301 TOK_RIGHTAB = 399, 302 TOK_PAUSE = 400, 303 TOK_PROCEDURE = 401, 304 TOK_STOP = 402, 305 TOK_FOURDOTS = 403, 306 TOK_HEXA = 404, 307 TOK_ASSIGNTYPE = 405, 308 TOK_OUT = 406, 309 TOK_INOUT = 407, 310 TOK_IN = 408, 311 TOK_USE = 409, 312 TOK_EQUALEQUAL = 410, 313 TOK_SLASHEQUAL = 411, 314 TOK_INFEQUAL = 412, 315 TOK_SUPEQUAL = 413, 316 TOK_TRUE = 414, 317 TOK_FALSE = 415, 318 TOK_LABEL = 416, 319 TOK_LABEL_DJVIEW = 417, 320 TOK_PLAINDO_LABEL_DJVIEW = 418, 321 TOK_PLAINDO_LABEL = 419, 322 TOK_TYPE = 420, 323 TOK_TYPEPAR = 421, 324 TOK_ENDTYPE = 422, 325 TOK_COMMACOMPLEX = 423, 326 TOK_REAL = 424, 327 TOK_INTEGER = 425, 328 TOK_LOGICAL = 426, 329 TOK_DOUBLEPRECISION = 427, 330 TOK_ENDSUBROUTINE = 428, 331 TOK_ENDFUNCTION = 429, 332 TOK_ENDPROGRAM = 430, 333 TOK_ENDUNIT = 431, 334 TOK_CHARACTER = 432, 335 TOK_CHAR_CONSTANT = 433, 336 TOK_CHAR_CUT = 434, 337 TOK_DATA = 435, 338 TOK_CHAR_MESSAGE = 436, 339 TOK_CSTREAL = 437, 340 TOK_COMPLEX = 438, 341 TOK_DOUBLECOMPLEX = 439, 342 TOK_NAME = 440, 343 TOK_CSTINT = 441 295 344 }; 296 345 #endif … … 298 347 /* Value type. */ 299 348 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 349 300 350 union YYSTYPE 301 351 { 302 #line 65 "fortran.y"352 #line 91 "fortran.y" /* yacc.c:355 */ 303 353 304 354 char na[LONG_M]; … … 310 360 variable *v; 311 361 312 #line 313 "fortran.tab.c" 313 362 #line 363 "fortran.tab.c" /* yacc.c:355 */ 314 363 }; 364 315 365 typedef union YYSTYPE YYSTYPE; 316 366 # define YYSTYPE_IS_TRIVIAL 1 … … 325 375 326 376 327 377 /* Copy the second part of user declarations. */ 378 379 #line 380 "fortran.tab.c" /* yacc.c:358 */ 328 380 329 381 #ifdef short … … 346 398 typedef YYTYPE_UINT16 yytype_uint16; 347 399 #else 348 typedef unsigned short yytype_uint16;400 typedef unsigned short int yytype_uint16; 349 401 #endif 350 402 … … 352 404 typedef YYTYPE_INT16 yytype_int16; 353 405 #else 354 typedef short yytype_int16;406 typedef short int yytype_int16; 355 407 #endif 356 408 … … 364 416 # define YYSIZE_T size_t 365 417 # else 366 # define YYSIZE_T unsigned 418 # define YYSIZE_T unsigned int 367 419 # endif 368 420 #endif … … 400 452 #endif 401 453 454 #if !defined _Noreturn \ 455 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 456 # if defined _MSC_VER && 1200 <= _MSC_VER 457 # define _Noreturn __declspec (noreturn) 458 # else 459 # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 460 # endif 461 #endif 462 402 463 /* Suppress unused-variable warnings by "using" E. */ 403 464 #if ! defined lint || defined __GNUC__ … … 407 468 #endif 408 469 409 #if defined __GNUC__ && ! defined __ICC &&407 <= __GNUC__ * 100 + __GNUC_MINOR__470 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 410 471 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 411 472 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ … … 426 487 #endif 427 488 428 429 #define YY_ASSERT(E) ((void) (0 && (E)))430 489 431 490 #if ! defined yyoverflow || YYERROR_VERBOSE … … 560 619 #define YYFINAL 2 561 620 /* YYLAST -- Last index in YYTABLE. */ 562 #define YYLAST 6446621 #define YYLAST 4539 563 622 564 623 /* YYNTOKENS -- Number of terminals. */ 565 #define YYNTOKENS 169624 #define YYNTOKENS 203 566 625 /* YYNNTS -- Number of nonterminals. */ 567 #define YYNNTS 206626 #define YYNNTS 524 568 627 /* YYNRULES -- Number of rules. */ 569 #define YYNRULES 598628 #define YYNRULES 1070 570 629 /* YYNSTATES -- Number of states. */ 571 #define YYNSTATES 1052 572 630 #define YYNSTATES 1734 631 632 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 633 by yylex, with out-of-bounds checking. */ 573 634 #define YYUNDEFTOK 2 574 #define YYMAXUTOK 410 575 576 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM 577 as returned by yylex, with out-of-bounds checking. */ 635 #define YYMAXUTOK 441 636 578 637 #define YYTRANSLATE(YYX) \ 579 ((unsigned ) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)638 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 580 639 581 640 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 582 as returned by yylex . */641 as returned by yylex, without out-of-bounds checking. */ 583 642 static const yytype_uint8 yytranslate[] = 584 643 { 585 644 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 586 1 66, 2, 2, 2, 2, 2, 2, 2, 2, 2,645 197, 2, 2, 2, 2, 2, 2, 2, 2, 2, 587 646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 588 2, 2, 2, 2, 2, 2, 2, 1 68, 2, 2,589 1 62, 163, 21, 19, 3, 20, 2, 167, 2, 2,647 2, 2, 2, 2, 2, 2, 2, 199, 2, 2, 648 193, 194, 21, 19, 3, 20, 2, 198, 2, 2, 590 649 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 591 1 64, 5, 165, 2, 2, 2, 2, 2, 2, 2,650 195, 5, 196, 2, 2, 2, 2, 2, 2, 2, 592 651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 593 652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,653 2, 201, 2, 202, 2, 200, 2, 2, 2, 2, 595 654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 596 655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 624 683 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 625 684 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 626 161 685 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 686 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 687 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 688 191, 192 627 689 }; 628 690 … … 631 693 static const yytype_uint16 yyrline[] = 632 694 { 633 0, 313, 313, 314, 316, 317, 318, 319, 322, 323, 634 324, 325, 326, 329, 330, 331, 334, 335, 336, 344, 635 347, 350, 351, 354, 355, 358, 366, 375, 392, 411, 636 412, 415, 417, 419, 420, 421, 423, 424, 425, 427, 637 439, 451, 452, 454, 455, 456, 457, 458, 475, 492, 638 493, 498, 499, 536, 549, 550, 551, 552, 553, 554, 639 555, 556, 557, 570, 571, 578, 579, 580, 581, 582, 640 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 641 593, 594, 595, 596, 597, 598, 599, 600, 601, 604, 642 605, 608, 609, 612, 613, 615, 618, 619, 622, 623, 643 625, 626, 629, 695, 710, 712, 716, 719, 720, 723, 644 729, 734, 748, 749, 752, 753, 754, 755, 758, 760, 645 761, 764, 765, 766, 769, 770, 771, 772, 773, 775, 646 776, 779, 780, 781, 782, 785, 792, 802, 814, 815, 647 818, 819, 822, 823, 824, 825, 828, 834, 842, 852, 648 853, 856, 857, 860, 868, 874, 881, 882, 885, 886, 649 889, 905, 908, 909, 912, 921, 923, 945, 970, 972, 650 973, 974, 975, 977, 978, 979, 980, 983, 984, 985, 651 987, 990, 991, 992, 993, 994, 995, 997, 998, 1001, 652 1002, 1004, 1005, 1006, 1008, 1009, 1012, 1013, 1023, 1024, 653 1025, 1028, 1029, 1030, 1032, 1033, 1035, 1036, 1037, 1039, 654 1040, 1043, 1044, 1045, 1046, 1047, 1048, 1050, 1051, 1052, 655 1053, 1054, 1057, 1058, 1059, 1062, 1063, 1065, 1066, 1074, 656 1080, 1087, 1088, 1089, 1090, 1091, 1094, 1095, 1097, 1098, 657 1099, 1100, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 658 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 659 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1131, 1132, 660 1134, 1135, 1136, 1137, 1138, 1139, 1141, 1142, 1146, 1147, 661 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 662 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1168, 663 1169, 1170, 1171, 1174, 1175, 1178, 1179, 1180, 1184, 1195, 664 1196, 1197, 1198, 1201, 1210, 1217, 1220, 1221, 1224, 1225, 665 1228, 1229, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1240, 666 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1294, 1297, 1298, 667 1299, 1300, 1302, 1303, 1306, 1308, 1309, 1312, 1313, 1315, 668 1316, 1322, 1330, 1333, 1353, 1380, 1400, 1440, 1447, 1451, 669 1458, 1468, 1469, 1477, 1487, 1499, 1500, 1505, 1506, 1507, 670 1508, 1509, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 671 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 672 1568, 1577, 1588, 1596, 1618, 1619, 1620, 1658, 1662, 1666, 673 1669, 1670, 1673, 1674, 1677, 1678, 1683, 1687, 1688, 1689, 674 1693, 1697, 1702, 1703, 1708, 1709, 1714, 1715, 1719, 1723, 675 1724, 1725, 1730, 1735, 1740, 1741, 1746, 1747, 1748, 1749, 676 1754, 1755, 1756, 1757, 1762, 1763, 1764, 1765, 1769, 1773, 677 1777, 1778, 1783, 1784, 1788, 1791, 1792, 1793, 1797, 1800, 678 1801, 1802, 1805, 1810, 1811, 1816, 1817, 1822, 1823, 1828, 679 1829, 1833, 1837, 1840, 1841, 1842, 1845, 1850, 1851, 1856, 680 1857, 1862, 1863, 1868, 1869, 1873, 1874, 1879, 1880, 1881, 681 1882, 1886, 1890, 1894, 1898, 1906, 1913, 1920, 1927, 1928, 682 1931, 1934, 1945, 1951, 1952, 1955, 1956, 1958, 1971, 1972, 683 1974, 1975, 1978, 1979, 2001, 2004, 2005, 2008, 2016, 2019, 684 2020, 2023, 2024, 2027, 2028, 2030, 2031, 2033, 2036, 2037, 685 2038, 2039, 2040, 2043, 2044, 2047, 2048, 2049, 2050, 2051, 686 2052, 2053, 2054, 2057, 2060, 2061, 2062, 2064, 2065, 2068, 687 2069, 2070, 2073, 2074, 2077, 2078, 2079, 2080, 2081, 2082, 688 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 689 2093, 2095, 2096, 2098, 2099, 2105, 2106, 2107, 2108, 2109, 690 2111, 2112, 2113, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 691 2123, 2124, 2125, 2128, 2129, 2130, 2132, 2133, 2135, 2136, 692 2139, 2140, 2143, 2146, 2147, 2149, 2150, 2153, 2154 695 0, 514, 514, 515, 517, 518, 519, 521, 523, 524, 696 525, 526, 529, 530, 531, 533, 534, 542, 560, 564, 697 565, 566, 570, 571, 584, 852, 853, 1104, 1105, 1106, 698 1107, 1108, 1110, 1111, 1115, 1116, 1117, 1118, 1119, 1120, 699 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 700 1131, 1132, 1133, 1134, 1135, 1137, 1138, 1139, 1140, 1143, 701 1144, 1147, 1148, 1149, 1153, 1164, 1165, 1166, 1166, 1167, 702 1167, 1169, 1170, 1170, 1179, 1191, 1192, 1195, 1196, 1199, 703 1200, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1211, 1258, 704 1259, 1260, 1261, 1262, 1263, 1264, 1266, 1269, 1270, 1271, 705 1272, 1274, 1275, 1285, 1286, 1338, 1341, 1342, 1367, 1368, 706 1372, 1373, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 707 1394, 1395, 1396, 1397, 1398, 1401, 1402, 1406, 1409, 1410, 708 1414, 1415, 1419, 1420, 1423, 1424, 1428, 1432, 1433, 1436, 709 1437, 1441, 1442, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 710 1453, 1454, 1459, 1460, 1461, 1462, 1463, 1471, 1472, 1473, 711 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 712 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 713 1515, 1516, 1520, 1523, 1528, 1529, 1533, 1534, 1535, 1536, 714 1538, 1542, 1561, 1562, 1566, 1567, 1571, 1572, 1576, 1580, 715 1581, 1582, 1593, 1593, 1595, 1596, 1601, 1601, 1603, 1603, 716 1605, 1605, 1607, 1607, 1609, 1609, 1611, 1611, 1616, 1617, 717 1623, 1625, 1627, 1634, 1635, 1640, 1641, 1646, 1647, 1663, 718 1664, 1669, 1670, 1677, 1683, 1684, 1685, 1689, 1690, 1691, 719 1694, 1695, 1700, 1701, 1706, 1707, 1708, 1709, 1710, 1714, 720 1716, 1718, 1719, 1723, 1725, 1730, 1731, 1732, 1736, 1737, 721 1741, 1741, 1746, 1747, 1750, 1751, 1754, 1755, 1758, 1759, 722 1763, 1766, 1767, 1770, 1774, 1775, 1778, 1779, 1783, 1784, 723 1788, 1792, 1795, 1796, 1797, 1800, 1801, 1805, 1806, 1807, 724 1807, 1808, 1811, 1812, 1816, 1839, 1840, 1844, 1845, 1848, 725 1849, 1853, 1854, 1855, 1859, 1864, 1866, 1869, 1870, 1874, 726 1875, 1879, 1880, 1883, 1884, 1888, 1889, 1893, 1894, 1895, 727 1899, 1901, 1916, 1920, 1924, 1928, 1929, 1934, 1935, 1939, 728 1944, 1946, 1951, 1955, 1956, 1955, 2023, 2024, 2027, 2028, 729 2032, 2033, 2037, 2038, 2040, 2040, 2042, 2044, 2044, 2046, 730 2047, 2049, 2051, 2053, 2055, 2060, 2062, 2067, 2101, 2104, 731 2107, 2108, 2112, 2118, 2124, 2133, 2137, 2139, 2144, 2145, 732 2145, 2150, 2152, 2154, 2156, 2158, 2162, 2168, 2177, 2179, 733 2184, 2189, 2193, 2199, 2208, 2210, 2215, 2221, 2230, 2235, 734 2258, 2259, 2278, 2279, 2283, 2284, 2288, 2292, 2294, 2296, 735 2302, 2301, 2320, 2321, 2325, 2327, 2332, 2333, 2338, 2337, 736 2352, 2353, 2356, 2357, 2361, 2371, 2373, 2379, 2381, 2386, 737 2387, 2391, 2397, 2404, 2406, 2411, 2412, 2416, 2420, 2425, 738 2427, 2429, 2431, 2432, 2433, 2434, 2435, 2439, 2440, 2456, 739 2457, 2458, 2459, 2460, 2461, 2462, 2468, 2476, 2481, 2483, 740 2481, 2528, 2528, 2537, 2537, 2550, 2551, 2550, 2570, 2572, 741 2577, 2594, 2595, 2594, 2602, 2603, 2606, 2607, 2610, 2611, 742 2615, 2617, 2618, 2622, 2626, 2630, 2632, 2631, 2643, 2644, 743 2648, 2651, 2652, 2656, 2657, 2661, 2664, 2665, 2667, 2668, 744 2672, 2676, 2679, 2680, 2684, 2684, 2687, 2688, 2692, 2693, 745 2694, 2699, 2700, 2699, 2709, 2710, 2718, 2724, 2732, 2733, 746 2736, 2738, 2737, 2747, 2749, 2757, 2763, 2763, 2772, 2773, 747 2774, 2775, 2784, 2787, 2800, 2803, 2807, 2811, 2814, 2818, 748 2821, 2824, 2828, 2829, 2831, 2846, 2851, 2856, 2857, 2862, 749 2864, 2864, 2876, 2880, 2885, 2890, 2892, 2899, 2900, 2902, 750 2924, 2926, 2928, 2930, 2932, 2934, 2936, 2937, 2939, 2941, 751 2945, 2947, 2949, 2951, 2953, 2956, 2970, 2974, 2975, 2974, 752 2983, 2984, 2988, 2989, 2993, 2994, 2998, 3002, 3006, 3007, 753 3011, 3015, 3016, 3019, 3020, 3024, 3025, 3029, 3032, 3033, 754 3037, 3041, 3045, 3046, 3045, 3051, 3052, 3055, 3056, 3060, 755 3061, 3065, 3066, 3075, 3085, 3086, 3087, 3088, 3093, 3098, 756 3099, 3103, 3104, 3111, 3112, 3114, 3116, 3117, 3122, 3126, 757 3128, 3132, 3134, 3139, 3140, 3145, 3148, 3149, 3154, 3155, 758 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3164, 3165, 3167, 759 3172, 3173, 3179, 3180, 3186, 3187, 3192, 3193, 3198, 3202, 760 3206, 3210, 3211, 3215, 3218, 3222, 3226, 3230, 3231, 3234, 761 3238, 3245, 3249, 3253, 3256, 3260, 3266, 3267, 3279, 3280, 762 3281, 3289, 3290, 3294, 3295, 3299, 3300, 3304, 3308, 3312, 763 3315, 3324, 3328, 3329, 3330, 3334, 3338, 3341, 3342, 3345, 764 3346, 3349, 3350, 3354, 3358, 3359, 3360, 3364, 3368, 3372, 765 3373, 3377, 3378, 3383, 3384, 3388, 3392, 3395, 3396, 3401, 766 3402, 3406, 3411, 3412, 3423, 3424, 3425, 3426, 3429, 3430, 767 3431, 3432, 3436, 3437, 3438, 3439, 3444, 3445, 3446, 3447, 768 3451, 3455, 3464, 3465, 3469, 3470, 3481, 3482, 3488, 3498, 769 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 770 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3529, 3530, 3533, 771 3534, 3545, 3550, 3553, 3554, 3558, 3562, 3565, 3566, 3567, 772 3570, 3573, 3574, 3575, 3578, 3582, 3583, 3584, 3588, 3589, 773 3593, 3594, 3598, 3599, 3603, 3607, 3610, 3611, 3612, 3615, 774 3619, 3619, 3620, 3620, 3624, 3625, 3629, 3629, 3630, 3630, 775 3635, 3635, 3636, 3640, 3641, 3646, 3647, 3648, 3649, 3653, 776 3657, 3658, 3662, 3666, 3670, 3674, 3675, 3679, 3680, 3684, 777 3685, 3686, 3690, 3694, 3698, 3698, 3698, 3701, 3702, 3706, 778 3707, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 779 3720, 3724, 3728, 3728, 3732, 3733, 3737, 3738, 3739, 3740, 780 3741, 3746, 3745, 3751, 3750, 3755, 3756, 3761, 3760, 3766, 781 3765, 3773, 3774, 3776, 3777, 3780, 3784, 3785, 3786, 3787, 782 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3798, 3799, 3800, 783 3803, 3804, 3807, 3808, 3812, 3813, 3817, 3818, 3822, 3825, 784 3826, 3836, 3840, 3841, 3845, 3846, 3850, 3851, 3855, 3856, 785 3857, 3858, 3859, 3863, 3864, 3868, 3869, 3873, 3874, 3875, 786 3876, 3877, 3883, 3882, 3886, 3885, 3890, 3894, 3895, 3899, 787 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 788 3913, 3917, 3917, 3920, 3921, 3926, 3925, 3946, 3945, 3970, 789 3971, 3974, 3975, 3978, 3981, 3982, 3985, 3986, 3989, 3990, 790 3993, 3994, 3998, 4003, 4002, 4041, 4040, 4092, 4093, 4094, 791 4098, 4099, 4104, 4107, 4108, 4111, 4112, 4117, 4116, 4130, 792 4131, 4130, 4142, 4143, 4145, 4146, 4149, 4153, 4156, 4162, 793 4166, 4175, 4185, 4187, 4196, 4204, 4212, 4220, 4224, 4228, 794 4229, 4232, 4233, 4236, 4240, 4244, 4245, 4248, 4252, 4253, 795 4253, 4260, 4259, 4273, 4272, 4285, 4286, 4285, 4300, 4300, 796 4324, 4325, 4326, 4330, 4331, 4336, 4344, 4355, 4356, 4366, 797 4369, 4370, 4374, 4375, 4379, 4381, 4383, 4388, 4393, 4394, 798 4392, 4418, 4443, 4448, 4449, 4453, 4470, 4469, 4474, 4475, 799 4479, 4484, 4483, 4498, 4515, 4520, 4564, 4565, 4569, 4570, 800 4570, 4575, 4576, 4581, 4593, 4607, 4609, 4614, 4615, 4620, 801 4619, 4655, 4656, 4763, 4764, 4765, 4766, 4767, 4784, 4877, 802 4878 693 803 }; 694 804 #endif … … 704 814 "'-'", "'*'", "TOK_SLASH", "TOK_DASTER", "TOK_SEMICOLON", 705 815 "TOK_PARAMETER", "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", 706 "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", "TOK_FORMAT", "TOK_MAX", 707 "TOK_TANH", "TOK_WHERE", "TOK_ELSEWHEREPAR", "TOK_ELSEWHERE", 816 "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", "TOK_LABEL_FORMAT", 817 "TOK_LABEL_CONTINUE", "TOK_LABEL_END_DO", "TOK_MAX", "TOK_TANH", 818 "TOK_COMMENT", "TOK_WHERE", "TOK_ELSEWHEREPAR", "TOK_ELSEWHERE", 708 819 "TOK_ENDWHERE", "TOK_MAXVAL", "TOK_TRIM", "TOK_NULL_PTR", "TOK_SUM", 709 "TOK_SQRT", "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_UNIT", 710 "TOK_FMT", "TOK_NML", "TOK_END", "TOK_EOR", "TOK_ERR", "TOK_EXIST", 711 "TOK_MIN", "TOK_FLOAT", "TOK_EXP", "TOK_COS", "TOK_COSH", "TOK_ACOS", 712 "TOK_NINT", "TOK_CYCLE", "TOK_SIN", "TOK_SINH", "TOK_ASIN", 713 "TOK_EQUIVALENCE", "TOK_BACKSPACE", "TOK_LOG", "TOK_TAN", "TOK_ATAN", 714 "TOK_RECURSIVE", "TOK_ABS", "TOK_MOD", "TOK_SIGN", "TOK_MINLOC", 715 "TOK_MAXLOC", "TOK_EXIT", "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", 820 "TOK_SQRT", "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_REC", 821 "TOK_NAME_EQ", "TOK_IOLENGTH", "TOK_ACCESS", "TOK_ACTION", "TOK_FORM", 822 "TOK_RECL", "TOK_STATUS", "TOK_UNIT", "TOK_OPENED", "TOK_FMT", "TOK_NML", 823 "TOK_END", "TOK_EOR", "TOK_EOF", "TOK_ERR", "TOK_POSITION", "TOK_IOSTAT", 824 "TOK_IOMSG", "TOK_EXIST", "TOK_MIN", "TOK_FLOAT", "TOK_EXP", "TOK_LEN", 825 "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", "TOK_CYCLE", "TOK_SIN", 826 "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", "TOK_BACKSPACE", "TOK_LOG", 827 "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", "TOK_ABS", "TOK_MOD", "TOK_SIGN", 828 "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", "TOK_KIND", "TOK_MOLD", 829 "TOK_SOURCE", "TOK_ERRMSG", "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", 716 830 "TOK_ALLOCATABLE", "TOK_RETURN", "TOK_THEN", "TOK_ELSEIF", "TOK_ELSE", 717 831 "TOK_ENDIF", "TOK_PRINT", "TOK_PLAINGOTO", "TOK_LOGICALIF", 718 "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", "TOK_MODULE", 719 "TOK_ENDMODULE", "TOK_WHILE", "TOK_CONCURRENT", "TOK_ALLOCATE", 720 "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", "TOK_WRITE", "TOK_FLUSH", 721 "TOK_READ", "TOK_REWIND", "TOK_DEALLOCATE", "TOK_NULLIFY", 722 "TOK_DIMENSION", "TOK_ENDSELECT", "TOK_EXTERNAL", "TOK_INTENT", 723 "TOK_INTRINSIC", "TOK_NAMELIST", "TOK_DEFAULT", "TOK_OPTIONAL", 724 "TOK_POINTER", "TOK_CONTINUE", "TOK_SAVE", "TOK_TARGET", "TOK_IMPLICIT", 725 "TOK_NONE", "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", "TOK_COMMON", 726 "TOK_GLOBAL", "TOK_LEFTAB", "TOK_RIGHTAB", "TOK_PAUSE", "TOK_PROCEDURE", 727 "TOK_STOP", "TOK_REAL8", "TOK_FOURDOTS", "TOK_HEXA", "TOK_ASSIGNTYPE", 728 "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", "TOK_TRUE", "TOK_FALSE", 729 "TOK_LABEL", "TOK_TYPE", "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_REAL", 832 "TOK_LOGICALIF_PAR", "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", 833 "TOK_MODULE", "TOK_ENDMODULE", "TOK_WHILE", "TOK_CONCURRENT", 834 "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", "TOK_WRITE_PAR", 835 "TOK_WRITE", "TOK_FLUSH", "TOK_READ_PAR", "TOK_READ", "TOK_REWIND", 836 "TOK_DEALLOCATE", "TOK_NULLIFY", "TOK_DIMENSION", "TOK_ENDSELECT", 837 "TOK_EXTERNAL", "TOK_INTENT", "TOK_INTRINSIC", "TOK_NAMELIST", 838 "TOK_DEFAULT", "TOK_OPTIONAL", "TOK_POINTER", "TOK_CONTINUE", "TOK_SAVE", 839 "TOK_TARGET", "TOK_IMPLICIT", "TOK_NONE", "TOK_CALL", "TOK_STAT", 840 "TOK_POINT_TO", "TOK_COMMON", "TOK_GLOBAL", "TOK_LEFTAB", "TOK_RIGHTAB", 841 "TOK_PAUSE", "TOK_PROCEDURE", "TOK_STOP", "TOK_FOURDOTS", "TOK_HEXA", 842 "TOK_ASSIGNTYPE", "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", 843 "TOK_EQUALEQUAL", "TOK_SLASHEQUAL", "TOK_INFEQUAL", "TOK_SUPEQUAL", 844 "TOK_TRUE", "TOK_FALSE", "TOK_LABEL", "TOK_LABEL_DJVIEW", 845 "TOK_PLAINDO_LABEL_DJVIEW", "TOK_PLAINDO_LABEL", "TOK_TYPE", 846 "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_COMMACOMPLEX", "TOK_REAL", 730 847 "TOK_INTEGER", "TOK_LOGICAL", "TOK_DOUBLEPRECISION", "TOK_ENDSUBROUTINE", 731 848 "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", "TOK_CHARACTER", 732 849 "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", "TOK_CHAR_MESSAGE", 733 850 "TOK_CSTREAL", "TOK_COMPLEX", "TOK_DOUBLECOMPLEX", "TOK_NAME", 734 "TOK_CSTINT", "'('", "')'", "'<'", "'>'", "'\\n'", "'/'", "'%'", 735 "$accept", "input", "line", "line-break", "suite_line_list", 736 "suite_line", "fin_line", "opt_recursive", "opt_result", "entry", 737 "label", "name_routine", "filename", "arglist", "arglist_after_result", 738 "args", "arg", "spec", "opt_spec", "name_intrinsic", 739 "use_intrinsic_list", "list_couple", "list_expr_equi", "expr_equi", 740 "list_expr_equi1", "list_expr", "opt_sep", "after_type", 741 "before_function", "before_parameter", "data_stmt", "data_stmt_set_list", 742 "data_stmt_set", "data_stmt_value_list", "save", "before_save", 743 "varsave", "datanamelist", "expr_data", "opt_signe", "namelist", 744 "before_dimension", "dimension", "private", "public", "use_name_list", 745 "common", "before_common", "var_common_list", "var_common", "comblock", 746 "opt_comma", "paramlist", "paramitem", "module_proc_stmt", 747 "proc_name_list", "implicit", "dcl", "nodimsgiven", "type", "c_selector", 748 "c_attribute", "before_character", "typespec", "lengspec", 749 "proper_lengspec", "selector", "proper_selector", "attribute", "clause", 750 "opt_clause", "options", "attr_spec_list", "attr_spec", "intent_spec", 751 "access_spec", "dims", "dimlist", "dim", "ubound", "expr", 752 "predefinedfunction", "minmaxlist", "uexpr", "signe", "operation", 753 "after_slash", "after_equal", "lhs", "beforefunctionuse", 754 "array_ele_substring_func_ref", "begin_array", "structure_component", 755 "vec", "funarglist", "funargs", "funarg", "triplet", "ident", 756 "simple_const", "string_constant", "opt_substring", "substring", 757 "optexpr", "opt_expr", "initial_value", "complex_const", "use_stat", 758 "word_use", "rename_list", "rename_name", "only_list", "only_name", 759 "execution-part-construct", "executable-construct", "action-stmt", 760 "assignment-stmt", "where-stmt", "where-construct", 761 "opt-where-body-construct", "opt-masked-elsewhere-construct", 762 "opt-elsewhere-construct", "where-construct-stmt", 763 "where-body-construct", "where-assignment-stmt", "mask-expr", 764 "masked-elsewhere-stmt", "elsewhere-stmt", "end-where-stmt", 765 "forall-header", "block", "do-construct", "block-do-construct", 766 "do-stmt", "label-do-stmt", "nonlabel-do-stmt", "loop-control", 767 "do-variable", "do-block", "end-do", "end-do-stmt", "if-construct", 851 "TOK_CSTINT", "'('", "')'", "'<'", "'>'", "'\\n'", "'/'", "'%'", "'_'", 852 "'['", "']'", "$accept", "input", "line", "line-break", 853 "suite_line_list", "suite_line", "fin_line", "program-unit", 854 "external-subprogram", "filename", "opt_comma", "uexpr", "signe", 855 "operation", "after_slash", "after_equal", "lhs", "beforefunctionuse", 856 "array_ele_substring_func_ref", "$@4", "$@5", "begin_array", "$@6", 857 "structure_component", "funarglist", "funargs", "funarg", "triplet", 858 "ident", "simple_const", "string_constant", "opt_substring", "opt_expr", 859 "specification-part", "opt-use-stmt-list", 860 "opt-declaration-construct-list", "declaration-construct-list", 861 "declaration-construct", "opt-execution-part", "execution-part", 862 "opt-execution-part-construct-list", "execution-part-construct-list", 863 "execution-part-construct", "opt-internal-subprogram-part", 864 "internal-subprogram-part", "opt-internal-subprogram", 865 "internal-subprogram-list", "internal-subprogram", 866 "other-specification-stmt", "executable-construct", "action-stmt", 867 "keyword", "scalar-constant", "constant", "literal-constant", 868 "named-constant", "opt-label", "label", "opt-label-djview", 869 "label-djview", "type-param-value", "declaration-type-spec", "$@7", 870 "intrinsic-type-spec", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", 871 "opt-kind-selector", "kind-selector", "signed-int-literal-constant", 872 "int-literal-constant", "kind-param", "signed-real-literal-constant", 873 "real-literal-constant", "complex-literal-constant", "real-part", 874 "imag-part", "opt-char_length-star", "opt-char-selector", 875 "char-selector", "length-selector", "char-length", 876 "char-literal-constant", "logical-literal-constant", "derived-type-def", 877 "$@14", "derived-type-stmt", "opt-type-attr-spec-list-comma-fourdots", 878 "opt-type-attr-spec-list-comma", "type-attr-spec-list", "type-attr-spec", 879 "type-param-name-list", "type-param-name", "end-type-stmt", 880 "opt-component-part", "component-part", "component-def-stmt", 881 "data-component-def-stmt", "opt-component-attr-spec-list-comma-2points", 882 "component-attr-spec-list", "component-attr-spec", "$@15", 883 "component-decl-list", "component-decl", "opt-component-array-spec", 884 "component-array-spec", "opt-component-initialization", 885 "component-initialization", "initial-data-target", "derived-type-spec", 886 "type-param-spec-list", "type-param-spec", "structure-constructor", 887 "component-spec-list", "component-spec", "component-data-source", 888 "array-constructor", "ac-spec", "lbracket", "rbracket", "ac-value-list", 889 "ac-value", "ac-implied-do", "ac-implied-do-control", "ac-do-variable", 890 "type-declaration-stmt", "$@16", "$@17", "opt-attr-spec-construct", 891 "opt-attr-spec-comma-list", "attr-spec-comma-list", "attr-spec", "$@18", 892 "$@19", "entity-decl-list", "entity-decl", "object-name", 893 "object-name-noident", "opt-initialization", "initialization", 894 "null-init", "access-spec", "opt-array-spec-par", "$@20", "array-spec", 895 "explicit-shape-spec-list", "explicit-shape-spec", "lower-bound", 896 "upper-bound", "assumed-shape-spec-list", "assumed-shape-spec", 897 "deferred-shape-spec-list", "deferred-shape-spec", "assumed-size-spec", 898 "opt-explicit-shape-spec-list-comma", "opt-lower-bound-2points", 899 "implied-shape-spec-list", "implied-shape-spec", "intent-spec", 900 "access-stmt", "$@21", "opt-access-id-list", "access-id-list", 901 "access-id", "data-stmt", "$@22", "opt-data-stmt-set-nlist", 902 "data-stmt-set-nlist", "data-stmt-set", "data-stmt-object-list", 903 "data-stmt-value-list", "data-stmt-object", "data-implied-do", 904 "data-i-do-object-list", "data-i-do-object", "data-i-do-variable", 905 "data-stmt-value", "opt-data-stmt-star", "data-stmt-constant", 906 "scalar-constant-subobject", "constant-subobject", "dimension-stmt", 907 "$@23", "$@24", "array-name-spec-list", "$@25", "$@26", "parameter-stmt", 908 "$@27", "$@28", "named-constant-def-list", "named-constant-def", 909 "save-stmt", "$@29", "$@30", "opt-TOK_FOURDOTS", "opt-saved-entity-list", 910 "saved-entity-list", "saved-entity", "proc-pointer-name", 911 "get_my_position", "implicit-stmt", "$@31", "implicit-spec-list", 912 "implicit-spec", "letter-spec-list", "letter-spec", "namelist-stmt", 913 "opt-namelist-other", "namelist-group-object-list", 914 "namelist-group-object", "equivalence-stmt", "equivalence-set-list", 915 "equivalence-set", "$@32", "equivalence-object-list", 916 "equivalence-object", "common-stmt", "$@33", "$@34", 917 "opt-common-block-name", "common-block-name", "opt-comma", 918 "opt-common-block-list", "$@35", "common-block-object-list", 919 "common-block-object", "$@36", "designator", "scalar-variable", 920 "variable", "variable-name", "scalar-logical-variable", 921 "logical-variable", "char-variable", "scalar-default-char-variable", 922 "default-char-variable", "scalar-int-variable", "int-variable", 923 "substring", "substring-range", "data-ref", "opt-part-ref", "part-ref", 924 "$@37", "scalar-structure-component", "structure-component", 925 "array-element", "array-section", "section-subscript-list", 926 "section-subscript", "section_subscript_ambiguous", "vector-subscript", 927 "allocate-stmt", "$@38", "$@39", "opt-alloc-opt-list-comma", 928 "alloc-opt-list", "alloc-opt", "stat-variable", "errmsg-variable", 929 "allocation-list", "allocation", "allocate-object", 930 "opt-allocate-shape-spec-list-par", "allocate-shape-spec-list", 931 "allocate-shape-spec", "opt-lower-bound-expr", "lower-bound-expr", 932 "upper-bound-expr", "deallocate-stmt", "$@40", "$@41", 933 "allocate-object-list", "opt-dealloc-opt-list-comma", "dealloc-opt-list", 934 "dealloc-opt", "primary", "level-1-expr", "mult-operand", "add-operand", 935 "level-2-expr", "power-op", "mult-op", "add-op", "level-3-expr", 936 "concat-op", "level-4-expr", "rel-op", "and-operand", "or-operand", 937 "equiv-operand", "level-5-expr", "not-op", "and-op", "or-op", "equiv-op", 938 "expr", "scalar-default-char-expr", "default-char-expr", "int-expr", 939 "opt-scalar-int-expr", "scalar-int-expr", "specification-expr", 940 "constant-expr", "scalar-default-char-constant-expr", 941 "default-char-constant-expr", "scalar-int-constant-expr", 942 "int-constant-expr", "assignment-stmt", "pointer-assignment-stmt", 943 "opt-bounds-spec-list-par", "bounds-spec-list", "bounds-remapping-list", 944 "bounds-spec", "bounds-remapping", "data-target", 945 "procedure-component-name", "proc-component-ref", "proc-target", 946 "where-stmt", "where-construct", "opt-where-body-construct", 947 "opt-masked-elsewhere-construct", "opt-elsewhere-construct", 948 "where-construct-stmt", "where-body-construct", "where-assignment-stmt", 949 "mask-expr", "masked-elsewhere-stmt", "elsewhere-stmt", "end-where-stmt", 950 "forall-header", "block", "opt-execution-part-construct", "do-construct", 951 "block-do-construct", "label-do-stmt", "label-do-stmt-djview", 952 "nonlabel-do-stmt", "loop-control", "do-variable", "do-block", "end-do", 953 "end-do-stmt", "nonblock-do-construct", "action-term-do-construct", 954 "do-term-action-stmt", "do-term-action-stmt-special", 955 "outer-shared-do-construct", "label-do-stmt-djview-do-block-list", 956 "inner-shared-do-construct", "do-term-shared-stmt", 957 "opt-do-construct-name", "cycle-stmt", "if-construct", 768 958 "opt-else-if-stmt-block", "else-if-stmt-block", "opt-else-stmt-block", 769 959 "else-stmt-block", "if-then-stmt", "else-if-stmt", "else-stmt", 770 960 "end-if-stmt", "if-stmt", "case-construct", "opt_case-stmt-block", 771 "case-stmt-block", "select-case-stmt", "case-stmt", "end-select-stmt", 772 "case-selector", "case-value-range-list", "case-value-range", 773 "case-value", "continue-stmt", "format-stmt", "word_endsubroutine", 774 "word_endunit", "word_endprogram", "word_endfunction", "opt_name", 775 "before_dims", "ident_dims", "int_list", "after_ident_dims", "call", 776 "opt_call", "opt_callarglist", "keywordcall", "before_call", 777 "callarglist", "callarg", "stop", "option_inlist", "option_read", 778 "opt_inlist", "ioctl", "after_rewind", "ctllist", "ioclause", 779 "declare_after_percent", "iofctl", "infmt", "read", "fexpr", 780 "unpar_fexpr", "addop", "inlist", "inelt", "opt_operation", "outlist", 781 "other", "dospec", "goto", "allocation_list", "allocate_object", 782 "allocate_object_list", "opt_stat_spec", "pointer_name_list", YY_NULLPTR 961 "case-stmt-block", "select-case-stmt", "$@42", "$@43", "case-stmt", 962 "end-select-stmt", "$@44", "$@45", "case-selector", "$@46", 963 "case-value-range-list", "case-value-range", "case-value", "exit-stmt", 964 "goto-stmt", "arithmetic-if-stmt", "continue-stmt", "stop-stmt", 965 "stop-code", "io-unit", "file-unit-number", "internal-file-variable", 966 "open-stmt", "$@47", "$@48", "connect-spec-list", "connect-spec", 967 "file-name-expr", "iomsg-variable", "close-stmt", "$@49", 968 "close-spec-list", "close-spec", "read-stmt", "$@50", "$@51", 969 "write-stmt", "$@52", "$@53", "print-stmt", "io-control-spec-list", 970 "namelist-group-name", "io-control-spec", "format", "input-item-list", 971 "input-item", "output-item-list", "output-item", "io-implied-do", 972 "io-implied-do-object-list", "io-implied-do-object", 973 "io-implied-do-control", "rewind-stmt", "position-spec-list", 974 "position-spec", "flush-stmt", "flush-spec-list", "flush-spec", 975 "inquire-stmt", "$@54", "$@55", "set_in_inquire", "inquire-spec-list", 976 "inquire-spec", "format-stmt", "module", "$@56", 977 "opt-module-subprogram-part", "module-stmt", "$@57", "end-module-stmt", 978 "$@58", "opt-tok-module", "opt-ident", "module-subprogram-part", 979 "opt-module-subprogram-list", "module-subprogram-list", 980 "module-subprogram", "use-stmt-list", "save_olduse", "use-stmt", "$@59", 981 "$@60", "opt-module-nature-2points", "opt-only-list", "main-program", 982 "opt-specification-part", "program-stmt", "$@61", "end-program-stmt", 983 "$@62", "$@63", "opt-tok-program", "opt-tok-name", "module-nature", 984 "opt-rename-list", "rename-list", "rename", "only-list", "only", 985 "only-use-name", "generic-spec", "external-stmt", "external-name-list", 986 "external-name", "intrinsic-stmt", "intrinsic-procedure-name-list", 987 "intrinsic-procedure-name", "function-reference", "$@64", "call-stmt", 988 "$@65", "$@66", "$@67", "$@68", "before-call-stmt", "$@69", 989 "procedure-designator", "actual-arg-spec-list", "actual-arg-spec", 990 "actual-arg", "opt-prefix", "prefix", "prefix-spec", 991 "function-subprogram", "function-stmt", "$@70", "$@71", "function-name", 992 "dummy-arg-name", "opt-suffix", "suffix", "end-function-stmt", "$@72", 993 "opt-tok-function", "subroutine-subprogram", "subroutine-stmt", "$@73", 994 "subroutine-name", "end-subroutine-stmt", "close_subroutine", 995 "opt-tok-subroutine", "opt-dummy-arg-list-par", "$@74", 996 "opt-dummy-arg-list", "dummy-arg-list", "dummy-arg", "return-stmt", 997 "contains-stmt", "$@75", "opt_name", "after_rewind", 998 "declare_after_percent", "pointer_name_list", YY_NULLPTR 783 999 }; 784 1000 #endif … … 805 1021 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 806 1022 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 807 409, 410, 40, 41, 60, 62, 10, 47, 37 1023 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 1024 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 1025 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 1026 439, 440, 441, 40, 41, 60, 62, 10, 47, 37, 1027 95, 91, 93 808 1028 }; 809 1029 # endif 810 1030 811 #define YYPACT_NINF - 8901031 #define YYPACT_NINF -1435 812 1032 813 1033 #define yypact_value_is_default(Yystate) \ 814 (!!((Yystate) == (- 890)))815 816 #define YYTABLE_NINF - 5431034 (!!((Yystate) == (-1435))) 1035 1036 #define YYTABLE_NINF -1022 817 1037 818 1038 #define yytable_value_is_error(Yytable_value) \ 819 (!!((Yytable_value) == (-543)))1039 0 820 1040 821 1041 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing … … 823 1043 static const yytype_int16 yypact[] = 824 1044 { 825 -890, 968, -890, -890, -890, -890, -45, -47, -890, -37, 826 5, 3882, 8, 37, -890, 4701, 3, 228, 3882, -890, 827 296, 171, 54, -890, 201, 287, 237, -890, -890, -890, 828 265, -890, -890, 415, 275, 284, -890, 339, 339, 38, 829 349, -890, -890, 66, -890, -890, 299, -890, 361, -890, 830 -890, 5801, 411, 347, 287, -890, -890, -890, -890, -890, 831 -890, -890, -890, -890, 24, -890, -890, 524, -890, -890, 832 -890, 286, 516, -890, 438, -890, -890, 322, 378, 469, 833 111, 507, 546, 548, -890, -890, 520, 258, -890, -890, 834 81, 85, 158, -890, -890, 400, -890, -890, -890, -890, 835 -890, 99, -890, -890, 99, -890, -890, -890, 99, -890, 836 -890, 99, -890, 287, -890, 287, 287, 36, 563, -890, 837 423, 2, 3882, 265, 5520, -890, -890, -890, -890, -890, 838 4701, 4701, 4701, -890, -890, 4701, 447, 459, 462, -890, 839 4701, 4701, 4701, 463, 464, 466, 468, 470, 473, 474, 840 475, 477, 478, 487, 488, 4701, 489, 4701, 494, 496, 841 497, 4810, -890, -890, -890, 498, -890, -890, -890, -890, 842 -890, -890, 4701, -890, 2531, -890, -890, 4701, 432, -890, 843 499, 500, -890, 501, 471, 259, -890, -890, 481, 631, 844 -890, 4701, 2531, -890, -890, -890, 189, -890, 189, -890, 845 -890, 4701, 4701, -890, -890, 58, 253, -890, -890, -890, 846 -890, -890, 481, 5390, 4810, -890, -890, 4919, -890, 481, 847 481, 189, 1245, -890, 504, 481, -890, 4701, 665, -890, 848 -890, -890, -890, 666, 516, -890, -890, 339, -890, -890, 849 2553, -890, 508, -890, 117, 481, 42, -890, 329, 104, 850 -890, -890, -890, -890, 5664, -47, -47, -890, -890, 669, 851 510, 672, -890, -890, 518, 397, 514, -890, 518, 481, 852 397, 523, 527, 397, 514, 677, -890, 528, 776, -890, 853 -890, -890, -47, 681, 530, 356, 2792, -890, 5028, 347, 854 -890, 514, 690, 286, 286, 286, 406, -890, -890, -890, 855 4701, 4701, -890, -890, 533, 4135, -890, -890, -890, -890, 856 -890, -890, -890, -890, 4701, 4701, 4701, 4701, 4701, 4701, 857 4701, 691, 5390, -890, 432, 471, -890, 5924, 692, 571, 858 597, 5566, -890, 2531, 534, 1354, 742, 2531, 46, 4701, 859 4701, 4701, 65, 1375, 69, 4701, 4701, 4701, 4701, 4701, 860 4701, 4701, 4701, 4701, 4701, 4701, 4701, 1536, 4701, 70, 861 4701, 4701, 4701, 4810, 2531, 1555, 807, 1638, 169, 695, 862 4701, 1657, 699, 3555, 4701, 4701, 4701, 4701, 4701, 4701, 863 4701, 4701, 4701, 4701, 4701, 4701, 4701, 4701, 3446, 4701, 864 3664, 3773, -890, 164, -890, 4701, -890, -890, -890, -890, 865 -890, -890, -890, 95, 514, 8, 1716, -890, -890, 702, 866 702, 1151, 1735, -890, -890, 544, -890, -890, 704, 432, 867 715, -890, -890, -890, 5566, 4026, 115, -890, 571, -890, 868 722, 568, 569, 369, -890, 730, -890, 121, 702, -890, 869 -890, -890, -890, -890, -890, -890, -890, -890, -890, -890, 870 -890, -890, -890, -890, -890, -890, -890, -890, -890, -890, 871 -890, -890, -890, -890, 731, 685, -890, 123, 2531, 573, 872 576, 287, -890, 2901, -890, -890, 2531, -890, 551, 4701, 873 34, 24, 577, 551, 578, 580, 93, -890, -890, -890, 874 581, 581, 4701, 124, 510, -890, 546, 3010, -890, -890, 875 -890, 546, 514, 514, 546, -890, 528, 677, -890, -890, 876 514, -890, 582, -890, -890, -890, -890, -890, 125, -890, 877 -890, 581, 579, -890, 514, -890, 2792, 2683, 575, 743, 878 63, 4244, -890, 2531, 584, 514, 136, 4374, 6133, 240, 879 6057, -17, 57, -890, 99, 2531, 2531, 481, -890, 587, 880 2531, 586, 748, -890, 2531, 2531, 2531, 2531, 2531, 2531, 881 2531, 4701, 155, 5924, 2531, 1130, 1754, -890, 749, -890, 882 5924, -890, 5566, 5566, 5566, 5566, 5566, 737, 4701, -890, 883 4701, -890, 134, 135, 1773, -890, -890, -890, 1818, 1837, 884 1934, 1953, 1998, 2017, 2036, 2055, 2114, 2133, 2216, 2235, 885 -890, 137, -890, 138, 139, 148, 763, 764, 782, 4810, 886 4810, -890, 4810, 149, -890, 4701, 4701, 2531, -890, 388, 887 388, 419, 419, 742, 761, 761, 761, 761, 761, 761, 888 160, 160, 164, 4701, 4701, 2531, -890, 164, 4701, 761, 889 4701, 761, 481, 741, 3119, 616, 626, 481, -890, -890, 890 -890, -890, 291, 4701, 6209, 4701, -890, 4701, 200, 627, 891 155, -890, -890, 3119, 707, 5390, -890, -890, -890, -890, 892 200, 628, 481, -890, 1245, -890, 4701, -890, 4701, -890, 893 -890, -890, 770, 50, 547, -890, 2294, 633, -890, 632, 894 -890, 773, 4701, 4701, 107, -890, 190, -890, 771, 2531, 895 -890, -890, 518, 4701, -890, 150, -890, -890, 1417, 481, 896 775, 775, 528, -890, -890, 472, 776, -890, -890, 514, 897 775, 636, 2901, 743, -890, 640, -890, 639, -890, -890, 898 801, 686, 806, -890, 2531, -890, -890, -890, 789, 99, 899 -890, 99, 651, -890, -890, -890, -890, 670, 495, -890, 900 99, -890, 3228, 671, 673, -890, -890, 286, -890, -890, 901 -890, 4135, 2531, -890, 151, -890, 2531, 2531, 2531, 5924, 902 749, 535, 737, 737, 737, 590, -890, 2531, -890, -890, 903 -890, -890, -890, -890, -890, -890, -890, -890, -890, -890, 904 -890, -890, -890, -890, -890, -890, -890, 5137, 5137, 5137, 905 2531, -890, 2531, -890, 2531, -890, -890, 675, 761, 761, 906 164, 761, 761, 432, 4701, 3337, 1437, 831, -890, -890, 907 499, -890, 514, -890, -890, 2313, 674, -890, 678, -890, 908 2332, 1172, 830, -890, -890, 1255, 679, -890, -890, -890, 909 -890, -890, -890, -890, 2531, 152, -890, 551, 551, 551, 910 551, 551, 471, -890, 836, 680, -890, 2351, 2396, -890, 911 -890, -890, -890, 153, -890, 682, -890, -890, 2531, 3010, 912 -890, 4483, -890, 5246, -890, -890, 677, -890, -890, -890, 913 683, -890, 775, 75, -890, 743, -890, 2901, -890, 294, 914 687, 688, 4701, 559, 99, 286, 286, -890, 4701, 689, 915 -890, 429, -890, 99, 286, 4701, 2531, 154, -890, 846, 916 -890, -890, 6133, 514, -890, 5969, 2531, -890, -890, 836, 917 694, 696, 698, -890, 700, 4701, 1457, 4701, 3119, -890, 918 -890, 848, 4701, 4701, -890, 4701, 481, -890, 481, -890, 919 -890, 60, 60, 697, 55, 4701, 843, -890, 784, 71, 920 -890, 260, -890, -890, -890, 2531, 4592, -890, 2531, -890, 921 75, 4701, 4701, -890, -890, -890, 745, -890, 849, -890, 922 -890, -890, 705, 693, 710, 99, -890, 286, 2415, -890, 923 713, -890, -890, 286, 6133, -890, 3228, -890, 4701, 514, 924 711, 2531, -890, -890, -890, -890, 2531, 4701, 1477, -890, 925 4701, 714, 2512, 1193, 432, 712, 1214, 551, -890, -890, 926 -890, 156, 720, -890, 2531, 2531, 718, 728, 735, -890, 927 -890, 286, 4374, 809, -890, 6133, -890, -890, -890, -890, 928 2531, 4701, 2531, 4701, 6285, 4701, 4701, 874, -890, -890, 929 -890, -890, -890, 4374, 738, 2531, 2531, 1235, -890, -890, 930 4701, 2531 1045 -1435, 1099, -1435, -1435, -1435, 46, 134, -1435, -1435, -1435, 1046 164, 1017, -1435, -1435, 130, 230, -1435, -1435, -1435, -1435, 1047 585, -1435, 200, -1435, 200, 488, 798, -1435, -1435, 200, 1048 -1435, 200, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1049 -1435, -1435, -1435, 77, 242, 305, -1435, -1435, -1435, 748, 1050 -1435, -1435, 3966, 377, 200, -1435, 450, 4246, 232, 353, 1051 -1435, -1435, 4246, 4246, -1435, 133, 133, 79, 79, 79, 1052 79, 93, 79, 1456, -1435, -1435, -1435, -1435, -1435, -1435, 1053 133, 379, -1435, -1435, 94, 78, 429, 576, -1435, -1435, 1054 94, 106, -1435, -1435, 919, -1435, 607, -1435, 444, -1435, 1055 3966, -1435, -1435, 511, 705, 473, -1435, -1435, -1435, 523, 1056 356, -1435, -1435, -1435, 573, -1435, -1435, 568, 569, -1435, 1057 -1435, -1435, -1435, -42, 724, -1435, 521, -1435, -1435, -1435, 1058 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1059 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1060 622, -1435, -1435, -1435, 483, 557, 578, 1918, 337, 66, 1061 -35, 593, 596, -1435, 3686, 3710, 609, 613, 3445, 818, 1062 719, -1435, 4145, -1435, 995, -1435, -1435, -1435, -1435, -1435, 1063 -1435, -1435, -1435, -1435, -1435, -1435, -1435, 794, -1435, -1435, 1064 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1065 -1435, -1435, 643, -1435, -1435, 666, -1435, 668, 719, 719, 1066 130, 130, 654, 3492, -1435, -1435, -1435, -1435, -1435, 549, 1067 894, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1068 -1435, 3734, -1435, -1435, -1435, 663, 669, 3764, -1435, 214, 1069 874, -1435, -1435, -1435, 713, -1435, -1435, 473, -1435, 83, 1070 -1435, -1435, 3734, -1435, -1435, 870, -1435, 733, 88, 1349, 1071 704, -1435, -1435, 885, 896, 760, 2264, -1435, -1435, -1435, 1072 -1435, 716, 739, 130, -1435, 113, -1435, -1435, 130, 434, 1073 133, 706, -1435, 114, -1435, -1435, 744, 753, 604, 130, 1074 133, 695, 762, 448, 599, 122, 646, -1435, -1435, -1435, 1075 -1435, 369, -1435, -1435, 3445, 3021, 3764, 133, 915, 934, 1076 3764, 710, 107, -1435, 766, 429, 429, 433, 3812, 3764, 1077 801, 3764, 3764, 767, -1435, 4067, 537, 791, 857, 226, 1078 -1435, -1435, -1435, 709, -1435, -1435, -1435, 3764, 3764, 294, 1079 444, -1435, -1435, 133, 133, 130, 133, -1435, -1435, -1435, 1080 -1435, -1435, 782, 3204, -1435, 133, 3352, 133, -1435, 787, 1081 130, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 133, 393, 1082 133, -1435, -1435, -1435, 4168, -1435, -1435, -1435, 3764, 796, 1083 2939, 2939, 3021, -1435, 653, 229, 407, -1435, -1435, 788, 1084 133, -1435, -1435, -1435, -1435, -1435, -1435, 988, 806, 1456, 1085 -1435, -1435, 996, 1000, 100, 3734, 859, 1004, -1435, -1435, 1086 -1435, 726, 726, 506, 836, -1435, 837, 839, 1349, 821, 1087 1456, 1456, -1435, 817, -1435, 1349, -1435, -1435, 1349, -1435, 1088 -1435, 1349, 846, 733, -1435, -1435, -1435, -1435, -1435, -1435, 1089 -1435, -1435, -1435, -1435, -1435, -1435, -1435, 2264, 2264, -1435, 1090 3764, -1435, 3764, -1435, -1435, 3764, -1435, 833, 842, 905, 1091 379, 130, 841, -1435, -1435, 1025, 130, 114, 706, 130, 1092 -1435, 124, -1435, 1013, -1435, 847, 848, -1435, 130, 1034, 1093 -1435, -1435, 133, -1435, 851, -1435, 1043, -1435, -1435, -1435, 1094 -1435, -1435, -1435, -1435, 125, 919, 919, 1106, 3764, 94, 1095 94, 1036, 130, 133, -1435, 112, -1435, -1435, -1435, 131, 1096 854, 130, 940, 3764, 858, 1047, -1435, 260, 880, 750, 1097 -1435, -1435, 891, 875, 911, 1064, 133, -1435, 1070, -1435, 1098 -1435, 884, 237, -1435, 887, 142, -1435, -1435, 96, 878, 1099 -1435, -1435, -1435, -1435, 133, 1079, -1435, 108, 109, -1435, 1100 -1435, 905, 133, 890, 787, -1435, -1435, 94, 1084, 980, 1101 1222, -1435, -1435, -1435, -1435, 386, -1435, 374, -1435, 914, 1102 822, -1435, -1435, 974, -1435, 923, 133, 937, -1435, -1435, 1103 -1435, 922, 930, 130, 130, 130, 787, 2868, 2533, 3764, 1104 66, 905, 905, 821, -1435, 110, -1435, 130, 3764, 66, 1105 905, 905, -1435, 119, -1435, 130, 787, -1435, 121, 130, 1106 939, 406, -1435, 951, -1435, 941, -1435, -1435, 1132, 3503, 1107 3021, 947, 66, 66, 66, 905, -1435, -1435, -1435, -1435, 1108 -1435, -1435, 126, -1435, -1435, -1435, 129, 150, 48, 905, 1109 -1435, -1435, -1435, 1104, -1435, -1435, -1435, -1435, 403, 954, 1110 -1435, -1435, -1435, -1435, 3764, 130, 222, 133, 222, 964, 1111 -1435, 966, -1435, 3764, -1435, 955, 1456, 3764, 3764, -1435, 1112 1148, 821, -1435, 3734, -1435, -1435, -1435, -1435, 233, 979, 1113 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 733, 88, 1114 1136, -1435, 885, 896, -1435, 3764, 1151, 137, -1435, 257, 1115 1154, -1435, -1435, 968, -1435, -1435, 3764, -1435, 3764, 130, 1116 -1435, 744, 130, 787, 1140, 973, 1165, -1435, 695, 130, 1117 978, 599, 133, 919, -1435, -1435, 983, -1435, 1157, -1435, 1118 -1435, 225, -1435, 986, -1435, -1435, 679, -1435, 1157, -1435, 1119 1159, 501, -1435, 993, 130, 133, 130, 133, 1570, 66, 1120 3764, 219, 139, -1435, -1435, 217, -1435, 130, 3843, 130, 1121 1069, 3764, 133, -1435, 3764, 558, -1435, 787, 410, -1435, 1122 -1435, -1435, -1435, 989, -1435, 998, -1435, -1435, -1435, -1435, 1123 -1435, -1435, -1435, -1435, 1185, -1435, 1005, -1435, 891, 130, 1124 766, 1011, 1204, -1435, -1435, -1435, 1206, -1435, -1435, -1435, 1125 133, 1019, 523, 130, 1021, 130, 3764, 3764, -1435, 3764, 1126 1072, -1435, 133, 130, -1435, -1435, 130, 133, 1046, 447, 1127 1026, 3896, 1029, 1203, 905, -1435, -1435, -1435, -1435, -1435, 1128 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1129 -1435, -1435, 791, -1435, -1435, 1086, 3764, 472, -1435, 728, 1130 -1435, -1435, -1435, -1435, 1080, 1223, 130, 1128, 449, -1435, 1131 -1435, -1435, -1435, 1242, -1435, 1053, 3764, 3764, 3764, 3764, 1132 3764, 1243, 3764, 66, 3764, 905, -1435, 140, -1435, 3764, 1133 1244, 905, 905, 905, 905, 3764, 905, 66, 905, 905, 1134 -1435, 149, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1135 -1435, -1435, 3204, 133, -1435, -1435, -1435, -1435, 3352, 133, 1136 -1435, 1250, 787, -1435, 3764, -1435, 797, -1435, -1435, -1435, 1137 1217, 4269, 3392, 3764, -1435, -1435, -1435, -1435, -1435, -1435, 1138 -1435, -1435, -1435, 2939, 3843, 1048, 1048, 130, -1435, -1435, 1139 3764, 888, -1435, 1607, 133, 130, -1435, 133, 133, 214, 1140 1249, -1435, -1435, 162, -1435, -1435, -1435, -1435, -1435, 1061, 1141 1253, -1435, 130, 1063, 1227, 1233, 1071, -1435, 165, 172, 1142 1073, 3734, -1435, -1435, -1435, -1435, -1435, 1074, 176, 3764, 1143 842, -1435, 905, 3764, 1075, 1260, -1435, -1435, 1261, -1435, 1144 -1435, -1435, -1435, 848, 642, -1435, -1435, 184, -1435, 223, 1145 -1435, 1265, -1435, 130, -1435, 1456, 486, -1435, -1435, 3576, 1146 1106, -1435, -1435, -1435, -1435, 1163, 130, 130, 3764, 1268, 1147 -1435, -1435, 3624, 1036, -1435, 1679, 3764, -1435, 3843, -1435, 1148 167, -1435, -1435, 133, 1090, 130, -1435, -1435, 1085, -1435, 1149 275, -1435, -1435, 1087, 170, -1435, 133, 130, -1435, -1435, 1150 875, 133, -1435, 1252, -1435, -1435, -1435, 1094, 133, 133, 1151 237, 130, 1266, 187, -1435, -1435, -1435, -1435, -1435, -1435, 1152 1283, -1435, 1285, -1435, 905, 130, 130, 94, 133, 130, 1153 3764, 2816, 2752, 3174, -1435, 787, 3764, 4347, -1435, 791, 1154 1098, 133, 130, 518, -1435, -1435, -1435, -1435, 191, -1435, 1155 -1435, 1108, 130, -1435, 133, 241, 1101, 3764, -1435, -1435, 1156 -1435, -1435, -1435, -1435, -1435, -1435, 3764, -1435, -1435, -1435, 1157 -1435, 2868, -1435, -1435, 905, 1109, -1435, -1435, -1435, -1435, 1158 -1435, -1435, -1435, -1435, -1435, -1435, 3102, -1435, -1435, 130, 1159 -1435, 130, 255, 1112, -1435, 1113, -1435, -1435, 1111, -1435, 1160 1045, 224, 1303, 3764, 66, 905, -1435, 195, -1435, -1435, 1161 -1435, 133, 1306, 3843, -1435, 133, 1308, -1435, -1435, 177, 1162 1118, 540, 555, -1435, -1435, 653, 3764, -1435, 196, -1435, 1163 1311, 130, 133, 130, 130, 3764, 3764, -1435, -1435, 222, 1164 1290, -1435, 1108, -1435, 1108, -1435, 1224, -1435, 1246, -1435, 1165 -1435, 223, 1126, 1316, -1435, -1435, -1435, -1435, -1435, -1435, 1166 133, 197, -1435, 1130, -1435, 3764, 787, 178, 1782, -1435, 1167 133, 604, 978, 133, 3764, 233, 455, -1435, -1435, -1435, 1168 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1321, 1169 205, -1435, -1435, 1133, -1435, -1435, -1435, -1435, 133, -1435, 1170 3764, 66, -1435, -1435, 3764, 1323, -1435, 821, -1435, 1328, 1171 -1435, 3843, 130, 130, 1230, -1435, 558, -1435, 1870, 1252, 1172 787, 130, 130, 1782, 749, -1435, 130, 1782, 549, 251, 1173 1782, 1143, 130, 130, -1435, 1161, 1019, -1435, -1435, 3764, 1174 133, 130, 133, 130, 1160, 3764, -1435, -1435, -1435, -1435, 1175 -1435, -68, 405, 746, 789, 877, 513, 539, 1162, 3764, 1176 1149, -1435, 905, 1164, 482, 1167, 1012, 1804, 208, 1168, 1177 -1435, 1258, 130, 133, 130, 1359, 1207, 1361, -1435, 133, 1178 -1435, -1435, 130, 905, 1360, 1366, -1435, -1435, -1435, 209, 1179 -1435, 3764, 1367, -1435, -1435, 133, -1435, 3843, -1435, 133, 1180 905, 1365, -1435, 1369, -1435, -1435, -1435, -1435, -1435, 3764, 1181 66, 3764, -1435, -1435, -1435, 3392, 133, 130, 133, 130, 1182 1048, 133, 130, 560, 133, 130, 133, 130, 653, -1435, 1183 1607, -1435, 3764, 130, 444, -1435, -1435, 133, -1435, 1181, 1184 -1435, -1435, -1435, -1435, 1370, 1372, -1435, 3764, 130, 905, 1185 -1435, -1435, 1375, -1435, 130, 1357, -1435, 1187, 1381, -1435, 1186 1382, -1435, 1384, -1435, 1387, -1435, -1435, 3764, 1364, 1388, 1187 -1435, -1435, 1389, 130, -1435, -1435, 130, 1391, -1435, -1435, 1188 3812, 3812, -1435, 130, -1435, -1435, -1435, 3764, 3843, -1435, 1189 133, 1870, -1435, -1435, 1198, 1392, 1394, 1387, 252, -1435, 1190 1202, -1435, -1435, -1435, 1208, 1209, -1435, 3764, 623, -1435, 1191 -1435, 1214, -1435, -1435, -1435, 130, 130, 771, -1435, -1435, 1192 -1435, -1435, -1435, -1435, 968, -1435, 263, -1435, -1435, 1218, 1193 -1435, -1435, 1733, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 1194 3764, 3764, 3764, 3764, 3764, 3764, 3764, 2233, 3764, 2376, 1195 2487, -1435, -1435, 4347, 567, 130, 1210, 1221, 1226, 130, 1196 133, -1435, -1435, 905, 120, 133, 3764, -1435, -1435, -1435, 1197 130, 1306, 130, -1435, 905, 371, 133, 133, 133, 1225, 1198 1418, -1435, -1435, 130, 130, -1435, 130, 133, 130, 130, 1199 130, -1435, -1435, 130, 1231, 133, -1435, 133, 3764, 1456, 1200 1421, -1435, 3764, 1235, -1435, 3764, 3654, 1903, 1424, 1425, 1201 1409, -1435, -1435, 3764, 848, 3764, -1435, -1435, -1435, 1426, 1202 -1435, 1238, 130, 1241, -1435, 3764, 3764, 3764, 623, -1435, 1203 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1782, 1204 22, -1435, -1435, -1435, 3764, -1435, -1435, -1435, -1435, -1435, 1205 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1206 -1435, 3764, 3764, -1435, -1435, -1435, 3764, -1435, 3764, -1435, 1207 133, 130, 1207, -1435, -1435, 1435, -1435, -1435, -1435, -1435, 1208 -1435, 130, -1435, -1435, -1435, 130, -1435, 133, -1435, -1435, 1209 130, 130, 130, 4347, 66, 130, 1248, 130, 133, 130, 1210 1251, 1255, 3764, -1435, 1422, -1435, -1435, -1435, -1435, 1436, 1211 -1435, -1435, -1435, -1435, -1435, 1165, 212, 3764, -1435, -1435, 1212 -1435, -1435, -1435, 1257, 1149, 1259, 2014, 1270, 1271, 1272, 1213 -1435, -1435, -1435, -1435, -1435, 130, 133, 1210, 130, 133, 1214 -1435, 130, -1435, -1435, 1440, 787, -1435, 3764, -1435, 1443, 1215 -1435, -1435, 2155, 1451, -1435, -1435, 1455, -1435, 905, -1435, 1216 130, -1435, 130, 3764, -1435, 1274, 3764, 3764, 1458, 2014, 1217 3764, -1435, -1435, -1435, 1452, -1435, 3764, -1435, 1465, 3764, 1218 -1435, 3764, -1435, -1435 931 1219 }; 932 1220 … … 936 1224 static const yytype_uint16 yydefact[] = 937 1225 { 938 2, 0, 1, 7, 9, 105, 0, 0, 483, 0, 939 0, 0, 0, 0, 22, 345, 100, 100, 0, 541, 940 0, 0, 156, 396, 0, 0, 0, 534, 535, 540, 941 0, 536, 539, 0, 0, 0, 135, 100, 100, 0, 942 0, 372, 118, 0, 504, 149, 0, 509, 0, 510, 943 357, 21, 63, 0, 0, 183, 181, 182, 186, 484, 944 487, 486, 485, 180, 0, 184, 185, 329, 493, 20, 945 3, 4, 5, 13, 0, 20, 20, 0, 0, 50, 946 119, 57, 156, 52, 54, 53, 49, 0, 56, 51, 947 206, 173, 191, 490, 55, 0, 19, 365, 367, 395, 948 371, 0, 368, 422, 0, 424, 425, 370, 0, 394, 949 369, 0, 366, 0, 389, 0, 0, 0, 387, 375, 950 498, 0, 0, 0, 0, 374, 32, 20, 31, 26, 951 0, 0, 0, 276, 277, 0, 0, 0, 0, 332, 1226 2, 0, 1, 6, 8, 0, 0, 17, 9, 1026, 1227 1025, 0, 18, 3, 4, 5, 12, 15, 20, 1024, 1228 0, 21, 106, 19, 106, 0, 202, 1022, 22, 106, 1229 23, 106, 24, 18, 967, 935, 208, 206, 216, 210, 1230 214, 212, 88, 305, 0, 0, 7, 11, 18, 202, 1231 203, 964, 108, 0, 107, 950, 192, 192, 0, 0, 1232 1025, 1023, 192, 192, 16, 0, 0, 218, 218, 218, 1233 218, 242, 218, 0, 204, 205, 10, 13, 14, 455, 1234 0, 0, 366, 367, 25, 0, 464, 0, 501, 194, 1235 25, 264, 255, 257, 0, 256, 88, 195, 539, 105, 1236 109, 110, 116, 0, 193, 0, 112, 260, 117, 202, 1237 402, 143, 145, 146, 0, 113, 151, 0, 0, 115, 1238 150, 147, 144, 523, 0, 521, 532, 537, 520, 518, 1239 519, 118, 119, 120, 709, 707, 707, 710, 736, 737, 1240 121, 707, 122, 124, 114, 148, 149, 123, 952, 951, 1241 0, 193, 931, 934, 202, 0, 0, 103, 0, 0, 1242 0, 0, 0, 916, 0, 0, 0, 0, 0, 88, 1243 134, 126, 192, 152, 0, 157, 163, 158, 173, 179, 1244 156, 687, 153, 162, 155, 170, 154, 786, 165, 164, 1245 181, 161, 178, 172, 160, 175, 180, 174, 177, 166, 1246 171, 159, 1001, 176, 1043, 1048, 1031, 0, 134, 134, 1247 968, 936, 0, 0, 209, 219, 207, 217, 211, 0, 1248 0, 215, 243, 244, 213, 201, 648, 621, 622, 200, 1249 1011, 0, 258, 259, 1012, 231, 225, 0, 323, 539, 1250 0, 604, 309, 616, 186, 187, 189, 190, 188, 0, 1251 307, 605, 0, 603, 608, 609, 611, 613, 623, 0, 1252 626, 640, 642, 644, 646, 653, 0, 656, 659, 199, 1253 606, 0, 0, 930, 494, 0, 492, 26, 723, 0, 1254 0, 0, 993, 0, 991, 465, 0, 0, 504, 715, 1255 0, 0, 0, 0, 0, 508, 0, 415, 420, 523, 1256 419, 0, 540, 111, 0, 0, 0, 0, 88, 0, 1257 657, 202, 336, 400, 0, 464, 464, 202, 0, 0, 1258 0, 0, 657, 536, 731, 192, 196, 196, 767, 957, 1259 1059, 474, 943, 202, 946, 948, 949, 0, 0, 88, 1260 539, 167, 104, 0, 0, 810, 0, 1062, 1061, 169, 1261 567, 824, 0, 0, 822, 0, 0, 0, 592, 0, 1262 815, 655, 663, 665, 817, 662, 818, 664, 0, 0, 1263 0, 969, 135, 127, 192, 130, 132, 133, 0, 0, 1264 0, 0, 0, 1008, 689, 0, 0, 787, 707, 1005, 1265 0, 1049, 1041, 1028, 474, 474, 222, 0, 0, 0, 1266 254, 251, 0, 0, 0, 0, 0, 322, 325, 328, 1267 327, 0, 0, 539, 616, 235, 187, 0, 0, 0, 1268 0, 0, 306, 0, 618, 0, 619, 620, 0, 617, 1269 223, 0, 186, 614, 630, 632, 631, 633, 628, 629, 1270 625, 634, 635, 637, 639, 636, 638, 0, 0, 649, 1271 0, 650, 0, 651, 652, 0, 641, 999, 0, 0, 1272 0, 491, 0, 705, 730, 0, 725, 0, 0, 989, 1273 997, 0, 995, 0, 506, 0, 0, 505, 717, 267, 1274 268, 270, 0, 265, 0, 427, 0, 423, 543, 426, 1275 542, 425, 509, 408, 508, 0, 0, 0, 0, 25, 1276 25, 547, 1057, 0, 879, 225, 878, 655, 877, 0, 1277 0, 814, 0, 0, 0, 0, 658, 282, 0, 202, 1278 278, 280, 0, 0, 0, 339, 0, 406, 403, 404, 1279 407, 0, 466, 476, 0, 0, 478, 88, 603, 0, 1280 522, 682, 683, 684, 0, 0, 590, 0, 0, 673, 1281 675, 0, 0, 0, 0, 708, 198, 25, 0, 0, 1282 192, 707, 712, 732, 738, 0, 758, 192, 713, 0, 1283 771, 768, 707, 0, 958, 0, 0, 0, 932, 947, 1284 698, 0, 0, 765, 811, 812, 0, 0, 0, 0, 1285 0, 0, 0, 656, 907, 0, 905, 903, 0, 0, 1286 0, 0, 898, 0, 896, 894, 0, 1069, 0, 816, 1287 0, 202, 962, 0, 131, 0, 842, 820, 0, 0, 1288 0, 0, 0, 0, 0, 0, 88, 527, 823, 866, 1289 819, 821, 0, 869, 863, 868, 0, 0, 0, 0, 1290 697, 695, 696, 691, 688, 694, 802, 800, 0, 796, 1291 788, 785, 789, 1003, 0, 1002, 1051, 0, 1051, 0, 1292 1027, 0, 1040, 0, 220, 0, 0, 0, 0, 249, 1293 0, 327, 320, 0, 228, 227, 232, 226, 0, 187, 1294 607, 310, 308, 324, 321, 186, 610, 612, 615, 624, 1295 627, 643, 645, 647, 998, 0, 0, 0, 458, 524, 1296 0, 498, 500, 532, 499, 493, 0, 729, 0, 990, 1297 992, 0, 994, 0, 0, 515, 510, 513, 0, 262, 1298 0, 0, 0, 0, 412, 416, 539, 432, 223, 433, 1299 229, 437, 435, 0, 436, 434, 0, 417, 437, 446, 1300 304, 0, 365, 0, 722, 0, 714, 0, 551, 0, 1301 0, 539, 0, 548, 556, 565, 566, 1058, 0, 861, 1302 0, 0, 0, 534, 657, 0, 283, 0, 0, 261, 1303 279, 351, 343, 0, 346, 0, 349, 350, 352, 353, 1304 354, 340, 342, 359, 334, 355, 368, 337, 0, 401, 1305 0, 0, 449, 358, 470, 462, 467, 468, 471, 472, 1306 0, 0, 202, 475, 0, 670, 677, 0, 672, 0, 1307 0, 679, 0, 666, 533, 538, 719, 0, 0, 0, 1308 0, 0, 0, 0, 193, 740, 744, 741, 755, 739, 1309 749, 746, 733, 751, 743, 753, 756, 752, 754, 745, 1310 750, 742, 759, 707, 757, 0, 0, 0, 769, 0, 1311 772, 707, 770, 976, 0, 977, 1060, 939, 0, 792, 1312 581, 543, 582, 570, 578, 583, 0, 0, 0, 0, 1313 0, 0, 0, 0, 0, 0, 829, 0, 827, 0, 952 1314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 954 0, 0, 335, 330, 331, 0, 338, 341, 340, 334, 955 329, 333, 0, 347, 348, 240, 238, 0, 270, 307, 956 309, 306, 272, 305, 271, 342, 385, 239, 0, 61, 957 93, 0, 346, 383, 101, 140, 0, 138, 0, 384, 958 589, 0, 0, 157, 29, 156, 0, 433, 28, 489, 959 488, 393, 0, 0, 378, 522, 520, 0, 380, 0, 960 0, 0, 0, 154, 0, 0, 131, 0, 46, 164, 961 165, 150, 162, 161, 6, 225, 226, 100, 64, 200, 962 198, 199, 0, 45, 121, 0, 156, 107, 0, 0, 963 8, 11, 12, 20, 21, 0, 0, 16, 17, 0, 964 0, 48, 158, 62, 119, 0, 227, 114, 119, 157, 965 0, 0, 0, 0, 227, 146, 151, 0, 0, 104, 966 207, 43, 0, 168, 0, 0, 0, 170, 0, 0, 967 169, 227, 353, 400, 419, 419, 463, 391, 390, 392, 968 0, 0, 533, 373, 0, 500, 497, 502, 503, 386, 969 376, 561, 562, 538, 0, 0, 0, 0, 0, 0, 970 0, 329, 0, 560, 544, 545, 377, 511, 515, 0, 971 537, 0, 18, 411, 0, 0, 275, 268, 0, 0, 972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974 0, 0, 0, 0, 0, 574, 575, 573, 0, 576, 975 0, 0, 238, 0, 0, 0, 0, 0, 0, 0, 976 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 977 0, 0, 273, 274, 533, 345, 310, 308, 308, 336, 978 339, 337, 343, 0, 227, 0, 0, 143, 142, 141, 979 139, 0, 0, 30, 429, 0, 418, 438, 0, 592, 980 595, 590, 526, 527, 0, 305, 0, 523, 525, 542, 981 379, 333, 238, 305, 593, 595, 597, 0, 59, 66, 982 67, 70, 65, 71, 68, 73, 74, 75, 76, 77, 983 72, 78, 79, 80, 81, 82, 83, 84, 85, 86, 984 87, 69, 88, 89, 60, 0, 132, 0, 98, 0, 985 0, 0, 203, 0, 202, 196, 201, 172, 129, 0, 986 0, 0, 0, 129, 0, 0, 156, 10, 14, 15, 987 33, 33, 0, 0, 0, 117, 156, 0, 120, 115, 988 134, 156, 227, 227, 156, 153, 0, 147, 211, 213, 989 227, 215, 0, 217, 218, 219, 220, 221, 0, 209, 990 212, 33, 0, 102, 227, 174, 0, 329, 0, 204, 991 333, 0, 192, 194, 0, 227, 0, 402, 439, 0, 992 445, 0, 0, 464, 0, 495, 496, 0, 494, 0, 993 507, 0, 501, 505, 552, 553, 555, 554, 558, 557, 994 556, 0, 525, 0, 570, 570, 570, 513, 512, 563, 995 0, 514, 0, 0, 0, 0, 0, 550, 406, 468, 996 0, 243, 0, 0, 0, 242, 249, 246, 0, 0, 997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 998 263, 0, 265, 0, 0, 0, 238, 0, 0, 0, 999 0, 315, 0, 0, 241, 0, 0, 304, 298, 283, 1000 293, 295, 294, 296, 289, 284, 291, 290, 282, 292, 1001 278, 279, 280, 0, 0, 300, 297, 281, 0, 286, 1002 0, 285, 0, 0, 316, 0, 0, 0, 95, 96, 1003 94, 58, 0, 0, 0, 0, 437, 0, 0, 0, 1004 0, 531, 532, 308, 227, 0, 517, 519, 521, 518, 1005 0, 0, 0, 388, 0, 155, 0, 91, 0, 163, 1006 44, 197, 0, 112, 0, 130, 0, 0, 108, 121, 1007 123, 0, 0, 0, 156, 432, 0, 25, 23, 160, 1008 47, 159, 119, 232, 236, 0, 229, 231, 237, 0, 1009 187, 187, 0, 152, 214, 0, 0, 208, 103, 227, 1010 187, 0, 0, 204, 176, 0, 179, 0, 193, 491, 1011 0, 0, 354, 358, 397, 410, 408, 409, 404, 0, 1012 407, 420, 442, 482, 423, 440, 441, 0, 449, 446, 1013 0, 474, 0, 469, 471, 465, 462, 419, 490, 508, 1014 499, 0, 559, 543, 0, 571, 567, 565, 568, 0, 1015 516, 551, 547, 548, 549, 546, 398, 269, 244, 245, 1016 248, 252, 253, 254, 255, 256, 251, 257, 258, 259, 1017 260, 261, 262, 264, 266, 267, 247, 0, 0, 0, 1018 577, 578, 581, 582, 579, 580, 250, 238, 303, 301, 1019 302, 288, 287, 314, 345, 328, 320, 317, 318, 321, 1020 311, 313, 227, 145, 144, 0, 0, 454, 0, 461, 1021 0, 0, 0, 591, 381, 0, 0, 533, 528, 524, 1022 594, 382, 598, 90, 99, 0, 109, 129, 129, 129, 1023 129, 129, 124, 122, 0, 0, 110, 0, 0, 428, 1024 42, 41, 34, 0, 39, 36, 27, 116, 234, 0, 1025 228, 233, 133, 0, 136, 137, 148, 223, 224, 222, 1026 0, 210, 187, 349, 175, 204, 177, 0, 195, 0, 1027 0, 0, 0, 0, 0, 401, 421, 443, 0, 457, 1028 447, 0, 450, 0, 419, 0, 481, 0, 475, 477, 1029 470, 472, 466, 227, 506, 0, 570, 572, 564, 329, 1030 0, 0, 0, 352, 0, 0, 326, 327, 0, 312, 1031 97, 0, 0, 0, 436, 0, 0, 530, 0, 92, 1032 113, 125, 126, 127, 128, 0, 0, 467, 0, 0, 1033 35, 0, 24, 230, 235, 237, 0, 188, 189, 216, 1034 349, 0, 0, 166, 178, 205, 364, 355, 356, 361, 1035 360, 359, 0, 414, 416, 0, 399, 400, 0, 458, 1036 459, 451, 444, 419, 448, 479, 0, 473, 478, 227, 1037 0, 566, 583, 584, 585, 344, 325, 0, 322, 319, 1038 0, 0, 0, 434, 596, 529, 0, 129, 453, 40, 1039 37, 0, 0, 167, 350, 351, 0, 0, 412, 415, 1040 417, 400, 403, 0, 460, 452, 476, 480, 492, 569, 1041 324, 0, 588, 0, 0, 0, 0, 0, 38, 190, 1042 363, 362, 413, 405, 455, 323, 435, 586, 111, 456, 1043 0, 587 1315 919, 0, 917, 908, 911, 531, 909, 530, 529, 841, 1316 528, 910, 0, 0, 899, 902, 901, 900, 0, 0, 1317 595, 597, 0, 168, 0, 136, 202, 139, 141, 142, 1318 972, 192, 0, 0, 820, 867, 871, 865, 870, 872, 1319 873, 874, 875, 0, 857, 851, 0, 855, 1010, 1009, 1320 0, 0, 687, 0, 0, 794, 798, 0, 0, 539, 1321 0, 1018, 1017, 0, 1013, 1015, 1056, 1032, 1055, 0, 1322 1052, 1053, 1042, 0, 1038, 1046, 0, 253, 0, 0, 1323 0, 0, 326, 191, 239, 237, 238, 0, 0, 0, 1324 0, 456, 0, 657, 0, 0, 996, 524, 486, 488, 1325 490, 507, 516, 0, 502, 269, 273, 0, 271, 539, 1326 424, 0, 428, 409, 413, 540, 0, 430, 431, 0, 1327 0, 414, 429, 224, 230, 0, 724, 716, 0, 552, 1328 559, 555, 0, 0, 541, 560, 0, 550, 0, 886, 1329 0, 884, 887, 0, 0, 667, 535, 288, 0, 291, 1330 0, 285, 287, 295, 0, 292, 0, 274, 344, 347, 1331 0, 0, 369, 240, 341, 405, 451, 0, 0, 0, 1332 0, 477, 483, 0, 481, 479, 680, 681, 678, 591, 1333 0, 674, 0, 676, 0, 668, 721, 25, 0, 734, 1334 0, 1067, 1065, 0, 747, 0, 0, 192, 761, 760, 1335 0, 0, 780, 0, 773, 766, 774, 959, 0, 953, 1336 940, 941, 693, 685, 0, 0, 0, 0, 580, 840, 1337 654, 834, 831, 832, 835, 838, 0, 830, 833, 837, 1338 836, 0, 825, 921, 0, 0, 922, 923, 929, 920, 1339 526, 928, 525, 924, 926, 925, 0, 912, 906, 904, 1340 897, 895, 0, 0, 1070, 0, 140, 973, 974, 784, 1341 0, 193, 0, 0, 0, 0, 846, 0, 844, 876, 1342 864, 0, 859, 0, 882, 0, 853, 880, 883, 0, 1343 0, 0, 0, 687, 686, 690, 0, 809, 0, 803, 1344 805, 795, 0, 797, 1004, 0, 0, 1006, 1050, 0, 1345 1033, 1039, 941, 1047, 941, 221, 0, 250, 0, 247, 1346 246, 539, 0, 0, 332, 233, 1000, 661, 460, 459, 1347 0, 0, 496, 0, 728, 0, 0, 508, 390, 514, 1348 0, 0, 0, 0, 0, 0, 191, 439, 183, 184, 1349 185, 441, 442, 444, 445, 443, 438, 440, 311, 0, 1350 0, 313, 315, 679, 317, 318, 319, 418, 0, 553, 1351 0, 0, 557, 549, 0, 561, 564, 886, 891, 0, 1352 889, 0, 862, 777, 0, 289, 0, 284, 0, 240, 1353 0, 281, 275, 390, 0, 356, 335, 390, 0, 360, 1354 390, 0, 450, 463, 469, 0, 0, 480, 677, 0, 1355 0, 718, 0, 735, 0, 0, 32, 33, 91, 71, 1356 94, 258, 259, 255, 257, 256, 231, 225, 0, 0, 1357 27, 63, 65, 62, 539, 28, 101, 656, 0, 0, 1358 762, 0, 781, 0, 782, 0, 0, 978, 979, 0, 1359 942, 937, 793, 0, 0, 571, 572, 579, 568, 0, 1360 585, 0, 0, 839, 828, 0, 927, 0, 918, 0, 1361 0, 0, 596, 598, 599, 593, 790, 975, 970, 0, 1362 0, 0, 847, 849, 848, 0, 0, 858, 0, 852, 1363 0, 0, 856, 0, 0, 701, 0, 703, 692, 807, 1364 0, 801, 806, 799, 539, 1016, 1014, 0, 1054, 0, 1365 1029, 1034, 1045, 1045, 0, 0, 329, 0, 457, 0, 1366 495, 533, 726, 489, 485, 0, 384, 0, 371, 376, 1367 0, 379, 372, 382, 373, 386, 374, 392, 0, 375, 1368 394, 660, 381, 503, 511, 272, 263, 0, 236, 234, 1369 0, 0, 312, 775, 554, 558, 562, 0, 0, 885, 1370 0, 0, 286, 388, 0, 297, 0, 298, 299, 293, 1371 0, 398, 399, 397, 0, 0, 241, 0, 0, 357, 1372 361, 0, 453, 484, 482, 669, 720, 0, 31, 1064, 1373 1066, 30, 1068, 66, 532, 67, 72, 1063, 95, 98, 1374 96, 102, 0, 0, 0, 0, 0, 0, 0, 0, 1375 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 1376 0, 29, 748, 192, 0, 783, 960, 0, 0, 954, 1377 0, 577, 574, 0, 0, 0, 0, 584, 587, 589, 1378 826, 914, 913, 601, 0, 0, 0, 0, 0, 0, 1379 0, 850, 845, 843, 860, 881, 854, 0, 699, 702, 1380 704, 804, 808, 1007, 0, 0, 1036, 0, 0, 0, 1381 0, 497, 0, 0, 517, 391, 385, 0, 0, 0, 1382 0, 380, 396, 392, 0, 0, 316, 314, 563, 0, 1383 890, 0, 776, 0, 296, 0, 0, 0, 0, 294, 1384 300, 345, 348, 370, 362, 364, 363, 304, 452, 390, 1385 0, 64, 64, 64, 0, 54, 60, 39, 49, 51, 1386 50, 52, 45, 40, 47, 46, 38, 48, 34, 35, 1387 36, 0, 0, 53, 56, 37, 0, 42, 0, 41, 1388 0, 778, 987, 955, 986, 961, 982, 985, 984, 981, 1389 980, 938, 576, 575, 573, 569, 586, 0, 602, 600, 1390 594, 791, 971, 192, 0, 700, 0, 1030, 0, 1044, 1391 0, 0, 0, 727, 0, 377, 378, 381, 384, 0, 1392 383, 387, 393, 389, 395, 512, 0, 0, 888, 290, 1393 301, 303, 302, 0, 74, 61, 75, 0, 0, 0, 1394 59, 57, 58, 44, 43, 779, 0, 0, 915, 0, 1395 1035, 1037, 245, 248, 330, 0, 385, 0, 421, 0, 1396 454, 72, 87, 76, 77, 80, 79, 68, 0, 73, 1397 956, 983, 813, 0, 487, 0, 0, 0, 85, 0, 1398 86, 70, 331, 422, 892, 84, 0, 78, 81, 0, 1399 83, 0, 893, 82 1044 1400 }; 1045 1401 … … 1047 1403 static const yytype_int16 yypgoto[] = 1048 1404 { 1049 -890, -890, -890, -96, 850, 643, -13, -890, -890, -890, 1050 413, 161, -890, -320, -890, -51, -46, -890, -890, 230, 1051 -890, -890, -890, 503, -890, 224, 13, -890, -890, -890, 1052 -890, -890, 424, -464, -890, -890, -247, 427, -286, -890, 1053 -890, -890, -890, -890, -890, -33, -890, -890, -263, 404, 1054 -22, 23, 652, 417, -890, -890, -890, -890, -890, -890, 1055 -890, 389, -890, -890, -672, -890, -890, -890, 629, -234, 1056 -680, -890, -890, 203, -890, 868, -236, -890, 59, 52, 1057 -11, -78, -98, -150, -460, -530, -890, -890, -97, -890, 1058 -890, -890, -890, -890, 532, -890, -1, 267, 1, -70, 1059 -890, -890, -182, -370, 73, -29, -128, -890, -890, -890, 1060 41, -890, -84, 28, -890, -628, -890, -521, -513, -889, 1061 -890, -890, -890, -890, -569, -785, -890, -890, -890, -890, 1062 -294, -890, -890, -890, -890, -890, -195, -890, -890, -890, 1063 -890, -890, -890, -701, -890, -890, -890, -890, -890, -890, 1064 -890, -890, -890, 393, -890, -890, -890, -890, -890, -50, 1065 -828, -890, -890, -890, -890, -890, -890, -26, 179, 0, 1066 -890, -890, -890, -890, -890, -890, -890, -890, 180, -890, 1067 -890, -890, -890, 479, -890, -890, 277, -381, -890, -890, 1068 -890, -39, 816, -3, -470, -670, -534, -117, -217, -441, 1069 -890, -890, -199, -890, 509, -890 1405 -1435, -1435, -1435, 1093, -1435, 1423, 428, -1435, -1435, -1435, 1406 -1435, -1435, -1435, -1435, -1435, -1435, -116, -1435, -1435, -1435, 1407 -1435, -1435, -1435, -1435, -650, -1435, -248, -1435, -11, -1435, 1408 -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1378, 889, -1435, 1409 -1435, -1435, -85, 756, -1435, -1435, -1435, 565, -1435, -76, 1410 -894, -632, -1435, -1435, 476, 478, -45, 63, -1435, 659, 1411 -215, -67, -1435, 1466, -1435, -1435, -1435, -1435, -1435, -1435, 1412 712, -1435, -223, -180, 1076, -453, -209, -1435, -1435, -1435, 1413 216, -1435, -1435, -1435, 211, -33, -1435, -1435, -1435, -1435, 1414 -1435, -1435, -1435, 772, -1435, 271, -1435, -1435, -1435, 975, 1415 -1435, -1435, -1435, 231, -1435, -1435, 234, -1435, 54, -1435, 1416 -1435, -966, 1485, -1435, 1078, 494, -1435, 70, 73, -1435, 1417 1254, -1435, -1435, 1100, -599, -1435, -1435, -1435, -1435, -1435, 1418 -1435, -1435, -1435, -1435, 720, -1435, -1435, -1435, 457, -1435, 1419 -1435, -1435, -1435, -963, -258, -1435, -1435, -1185, -1148, -1434, 1420 -1170, -1219, -1435, -48, -1105, -47, -1435, -1435, 99, -1435, 1421 -53, -1435, -1435, -1435, -1435, -1435, 727, -1435, -1435, -1435, 1422 -1435, -418, -1435, -1435, 1027, -249, -1435, 800, -1435, 512, 1423 -362, -1435, 522, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1424 -1435, -1435, -1435, -1435, 547, -1435, -1435, -1435, -16, -1435, 1425 -1435, 469, -1435, 1, -1435, -1435, -1435, 730, -1435, 249, 1426 -1435, -1435, -152, 328, -1435, -1435, 1088, -1435, -1435, -918, 1427 -1435, -1435, -1435, -1435, -267, -469, -1435, -1435, -18, 554, 1428 -1435, 1353, -1435, 1911, -451, 660, -1435, -1435, -798, -1435, 1429 -535, -1435, -458, -285, -290, -1435, 997, -1435, -1435, -262, 1430 -288, -1435, -1435, 530, -1435, -1435, 994, -1435, -1435, -1435, 1431 -1435, 41, 32, 207, -1435, 453, -557, -1435, -1435, 43, 1432 -1435, -261, 220, 1002, -1435, -1435, -1435, -1435, -1435, 38, 1433 -1435, -1435, 272, -39, 1120, -1435, -1435, -189, 1117, -1435, 1434 1302, -1435, 1119, 1121, 1115, -1435, -1435, -1435, -1435, -1435, 1435 1996, -787, -145, -166, 807, -37, -831, -1298, -1435, -1435, 1436 -210, -1435, -34, 456, -1435, -1435, -1435, 765, 768, -501, 1437 774, -1435, 1264, -375, -372, -866, -1435, -1435, -1435, -1435, 1438 -820, -805, -1435, -1435, -1435, -1435, -107, -1435, 471, -1435, 1439 -1435, 1018, -1435, -80, -695, -119, 1267, -1435, -1435, -1435, 1440 -1435, -1435, -1435, -1435, 1020, -1435, -1435, -1435, 493, -1435, 1441 -495, -1435, -1435, -1435, -1435, -1435, -1435, 1016, -1435, -1435, 1442 1200, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1435, 1443 -1435, 204, -1085, -1435, 1028, -1435, 2, -1435, -1435, 972, 1444 -149, -1435, 1035, -1435, -1435, -1435, 466, 718, 999, 1039, 1445 -1435, -1435, 236, 1044, -1435, -1435, 1049, -1435, -1435, 5, 1446 1232, 982, 673, -232, 671, 238, -864, -960, -876, -1435, 1447 174, -1435, 1054, -1435, 708, 1057, -1435, 721, 1060, -1435, 1448 -1435, -1435, -1435, 489, 508, -1435, -1435, -1435, -1435, -1435, 1449 -1435, -1435, -1435, -376, -1435, -1435, -1435, 1291, -1435, -1435, 1450 1575, -1435, -1435, -1435, -1435, -1435, 780, -1435, -1435, -1435, 1451 -1435, -1435, -1435, -1435, -1435, -1435, -1435, -1026, -1435, -54, 1452 -1435, -1400, -1435, 1354, 1166, -1435, -1435, 925, -477, -1435, 1453 1082, -1435, -1435, -1435, -1435, -1435, -1435, 1001, 943, 460, 1454 467, -1435, -1435, 1625, -141, -1435, -1435, -1435, -1435, -1435, 1455 -1435, -1435, -1435, -1435, -1435, -123, -1435, -1435, -1435, -1435, 1456 261, -1435, -1435, -1435, 1003, -1435, 464, 535, -1435, -1435, 1457 -1435, -1435, -1435, 570 1070 1458 }; 1071 1459 … … 1073 1461 static const yytype_int16 yydefgoto[] = 1074 1462 { 1075 -1, 1, 70, 71, 72, 73, 250, 74, 866, 75, 1076 205, 129, 127, 697, 952, 863, 864, 76, 237, 463, 1077 464, 228, 189, 190, 403, 467, 196, 281, 282, 77, 1078 78, 246, 247, 682, 79, 80, 267, 248, 683, 684, 1079 81, 82, 83, 84, 85, 409, 86, 87, 275, 276, 1080 225, 206, 261, 262, 88, 233, 89, 283, 523, 90, 1081 287, 528, 91, 92, 874, 957, 290, 532, 242, 529, 1082 726, 284, 518, 519, 880, 520, 498, 705, 706, 707, 1083 337, 175, 338, 176, 177, 392, 636, 618, 178, 644, 1084 179, 180, 181, 182, 646, 817, 818, 819, 183, 184, 1085 185, 401, 396, 193, 186, 963, 187, 94, 95, 732, 1086 733, 968, 969, 741, 97, 98, 735, 99, 100, 537, 1087 738, 893, 101, 739, 740, 334, 894, 975, 976, 656, 1088 538, 102, 103, 104, 105, 106, 207, 418, 539, 744, 1089 745, 107, 748, 749, 901, 902, 108, 750, 903, 982, 1090 109, 110, 542, 543, 111, 544, 756, 753, 907, 908, 1091 909, 746, 112, 113, 114, 115, 116, 211, 291, 117, 1092 118, 303, 119, 306, 551, 120, 121, 552, 553, 122, 1093 567, 326, 571, 214, 218, 426, 427, 547, 123, 328, 1094 124, 428, 429, 331, 568, 569, 766, 368, 369, 855, 1095 125, 420, 421, 435, 659, 437 1463 -1, 1, 13, 14, 15, 16, 46, 17, 18, 33, 1464 279, 1308, 1309, 1501, 1613, 1595, 1310, 1676, 1311, 1591, 1465 1592, 1312, 1593, 1313, 1677, 1703, 1704, 1705, 340, 1315, 1466 1316, 1480, 341, 51, 52, 99, 100, 101, 170, 171, 1467 373, 374, 375, 371, 372, 915, 916, 917, 102, 172, 1468 173, 240, 1227, 1228, 241, 974, 174, 104, 559, 1087, 1469 242, 19, 20, 44, 68, 67, 70, 72, 71, 69, 1470 214, 215, 243, 244, 676, 415, 245, 246, 417, 977, 1471 1279, 221, 222, 223, 401, 247, 248, 106, 311, 107, 1472 292, 293, 479, 480, 997, 998, 769, 518, 519, 520, 1473 521, 767, 1040, 1041, 1441, 1044, 1045, 1269, 1444, 1579, 1474 1580, 732, 733, 249, 250, 734, 1240, 1241, 1242, 251, 1475 406, 252, 684, 407, 408, 409, 1202, 1203, 108, 109, 1476 1051, 523, 524, 525, 781, 1273, 1274, 784, 785, 794, 1477 786, 1459, 1460, 735, 110, 1053, 1277, 1407, 1408, 1409, 1478 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1479 1420, 1454, 111, 526, 313, 528, 529, 112, 722, 493, 1480 494, 295, 296, 736, 297, 298, 486, 487, 1001, 737, 1481 1007, 1236, 738, 739, 113, 114, 1058, 792, 1280, 1589, 1482 115, 272, 1210, 697, 698, 116, 117, 1059, 286, 795, 1483 796, 797, 798, 53, 119, 800, 535, 536, 1063, 1064, 1484 120, 1217, 988, 989, 121, 275, 276, 459, 1211, 700, 1485 122, 288, 1220, 476, 799, 495, 994, 1564, 716, 717, 1486 1218, 253, 539, 124, 860, 1131, 1132, 628, 899, 900, 1487 1632, 897, 125, 514, 126, 323, 127, 501, 489, 128, 1488 129, 130, 752, 753, 1027, 754, 175, 586, 1515, 1106, 1489 1335, 1336, 1633, 1512, 863, 864, 865, 1108, 1339, 1340, 1490 1341, 1342, 1068, 176, 606, 1526, 911, 1143, 1353, 1354, 1491 254, 255, 256, 257, 258, 425, 428, 259, 260, 447, 1492 261, 448, 262, 263, 264, 265, 266, 450, 452, 455, 1493 267, 1109, 1110, 268, 515, 354, 1422, 1208, 364, 365, 1494 366, 367, 177, 178, 320, 547, 548, 549, 550, 1245, 1495 542, 543, 1246, 179, 180, 384, 643, 941, 181, 644, 1496 645, 581, 942, 1173, 1174, 707, 324, 325, 182, 134, 1497 135, 561, 136, 280, 465, 326, 562, 563, 137, 138, 1498 564, 829, 139, 565, 566, 1088, 343, 183, 184, 570, 1499 571, 849, 850, 141, 572, 851, 1095, 185, 186, 386, 1500 387, 187, 1527, 1104, 388, 651, 947, 1182, 648, 943, 1501 1178, 1179, 1180, 188, 189, 190, 191, 192, 368, 629, 1502 630, 631, 193, 587, 1345, 877, 878, 1111, 901, 194, 1503 922, 1157, 1158, 195, 1165, 1371, 196, 1161, 1368, 197, 1504 632, 633, 634, 635, 1166, 1167, 1030, 1031, 1032, 1259, 1505 1260, 1571, 198, 603, 604, 199, 595, 596, 200, 1349, 1506 1637, 352, 891, 892, 377, 21, 331, 152, 22, 66, 1507 578, 1510, 1101, 1331, 153, 332, 333, 334, 54, 329, 1508 55, 1329, 1686, 575, 1623, 23, 56, 24, 65, 612, 1509 613, 1528, 1148, 1358, 854, 1099, 1327, 1624, 1625, 1626, 1510 1627, 530, 145, 283, 284, 146, 471, 472, 270, 695, 1511 201, 390, 948, 654, 1387, 202, 638, 271, 953, 954, 1512 955, 25, 26, 27, 28, 29, 658, 1545, 207, 958, 1513 1390, 1391, 660, 1648, 1192, 30, 31, 657, 205, 662, 1514 1546, 1194, 392, 656, 959, 960, 961, 203, 154, 576, 1515 349, 1084, 1590, 608 1096 1516 }; 1097 1517 … … 1101 1521 static const yytype_int16 yytable[] = 1102 1522 { 1103 174, 540, 93, 402, 192, 293, 475, 174, 294, 776, 1104 414, 366, 295, 642, 507, 296, 736, 495, 685, 691, 1105 434, 499, 372, 685, 737, 643, 829, 324, 243, 96, 1106 198, 767, 768, 367, 765, 765, 765, 687, 505, 875, 1107 226, 300, 342, 886, 344, 203, 323, 900, 883, 580, 1108 221, 222, 93, 847, 325, 535, 223, 203, 268, 359, 1109 224, 203, 257, 258, 366, 277, -171, 432, 580, 848, 1110 849, 850, 580, 580, 848, 849, 850, 985, -431, 96, 1111 961, 850, -427, 365, 278, 329, 367, 297, 1022, 298, 1112 299, 199, 860, 764, -171, 751, 203, 430, 647, 918, 1113 770, 541, 265, 307, 270, 271, 285, 972, 126, 273, 1114 203, 174, 279, 128, 332, 419, 324, -430, 665, 333, 1115 335, 336, 419, 4, 672, 130, 676, 494, 716, 223, 1116 343, -426, 1043, 224, 194, 323, 365, 580, 580, 478, 1117 580, 580, 580, 325, 357, 752, 608, 1001, 480, 484, 1118 364, 580, 580, 869, 915, 676, 949, 986, 301, 949, 1119 1027, 371, 308, 730, 754, 410, 393, 131, 649, 195, 1120 188, 698, 610, 572, 311, 312, 573, 574, 575, 288, 1121 406, 387, 388, 389, 244, 229, 245, 389, 438, 404, 1122 411, 412, 485, 486, -171, 309, 230, 962, 170, 191, 1123 981, 718, 394, 364, 302, 964, 364, 417, -106, 581, 1124 960, 860, 280, 606, 425, 204, 468, 851, 433, 413, 1125 -431, 436, 851, -171, -427, 324, 466, 851, 585, 476, 1126 565, 861, 587, 602, 324, 367, 917, 917, 917, 681, 1127 487, 582, 583, 496, 323, 918, 607, 286, 501, 564, 1128 471, 504, 325, 323, 204, 93, 717, 566, 648, -430, 1129 601, 325, 603, 604, 605, 69, 710, 711, 413, 481, 1130 500, 266, 613, -426, 714, 476, 223, 533, 666, 479, 1131 224, 860, 96, 562, 673, 365, 677, 700, 720, 545, 1132 546, 695, 577, 723, 550, 611, 731, 778, 779, 729, 1133 793, 794, 795, 554, 555, 556, 557, 558, 559, 560, 1134 251, 796, 806, 870, 916, 939, 950, 987, 763, 1038, 1135 289, 832, 407, 425, 390, 391, 576, 324, 390, 391, 1136 584, 742, 482, 202, 588, 589, 590, 591, 592, 593, 1137 594, 595, 596, 597, 598, 599, 323, 415, 416, 408, 1138 861, 483, 371, 862, 325, 743, 920, 921, 922, 194, 1139 170, 208, 617, 619, 620, 621, 622, 623, 624, 625, 1140 626, 627, 628, 629, 630, 631, 632, 635, 637, 639, 1141 641, 372, 991, 940, 192, 660, 765, 685, 685, 685, 1142 685, 685, 801, 803, 197, 805, 376, 377, 378, 212, 1143 379, 380, 381, 382, 383, 384, 829, 385, 386, 387, 1144 388, 389, 400, 170, 664, 223, 490, 491, 274, 224, 1145 861, 395, 231, 1010, 823, 576, 252, 213, 838, 378, 1146 251, 379, 380, 381, 382, 383, 384, 219, 385, 386, 1147 387, 388, 389, 521, 924, 680, 220, 209, 757, 876, 1148 541, 824, 253, 210, 966, 867, 938, 200, 201, 833, 1149 967, 917, 476, 912, 776, 807, 565, 255, 686, 256, 1150 194, 840, 264, 565, 990, 324, 324, 324, 324, 324, 1151 239, 699, 259, 882, 260, 564, 708, -156, 885, 235, 1152 236, -156, 564, 566, 323, 323, 323, 323, 323, 859, 1153 566, 736, 325, 325, 325, 325, 325, 240, 241, 737, 1154 269, 227, 747, 372, 980, 476, 476, 525, 526, 702, 1155 371, 232, 736, 203, 709, -156, 734, 712, 249, -156, 1156 737, 398, 669, 771, 772, 773, 774, 775, -156, 93, 1157 254, 93, -156, 1037, 263, 813, 252, 685, 758, 203, 1158 762, 272, 390, 391, 311, 312, 573, 574, 575, 576, 1159 292, 419, 941, 942, 943, 944, 304, 734, 324, 777, 1160 133, 134, 253, 419, 576, 215, 216, 217, 747, 899, 1161 801, 803, 805, 390, 391, 305, 930, 323, 139, 572, 1162 311, 312, 573, 574, 575, 325, 973, 974, 800, 802, 1163 394, 804, 310, 327, 364, 808, 877, 878, 879, 339, 1164 984, 573, 574, 575, 852, -542, -542, -542, -542, -542, 1165 -542, 340, 809, 810, 341, 345, 346, 811, 347, 812, 1166 348, 399, 349, 816, 405, 350, 351, 352, 929, 353, 1167 354, 170, 825, 895, 830, 896, 831, 807, 822, 355, 1168 356, 358, 835, 965, 904, 93, 360, 576, 361, 362, 1169 370, 395, 397, 398, 465, 844, 425, 468, 469, 470, 1170 259, 477, 565, 842, 492, 494, 497, 989, 266, 162, 1171 506, 857, 858, 502, 522, 163, 164, 503, 274, 1025, 1172 524, 564, 868, 536, 548, 570, 561, 578, 612, 566, 1173 166, 167, 615, 168, 169, 652, 655, 675, 171, 657, 1174 872, 476, 373, 374, 375, 376, 377, 378, 658, 379, 1175 380, 381, 382, 383, 384, 610, 385, 386, 387, 388, 1176 389, 667, 668, 670, 674, 678, 679, 689, 724, 719, 1177 692, 906, 693, 696, 715, 814, 725, 728, 759, 760, 1178 550, 761, 769, 1028, 379, 380, 381, 382, 383, 384, 1179 575, 385, 386, 387, 388, 389, 797, 798, 576, 576, 1180 576, 576, 576, -543, -543, -543, -543, -543, -543, 820, 1181 385, 386, 387, 388, 389, 799, 800, 802, 804, 821, 1182 834, 841, 846, 854, 479, 856, 873, 865, 977, 884, 1183 887, 508, 888, 192, 926, 889, 372, 983, 890, 891, 1184 609, 897, -238, -238, -238, -238, -238, -238, 565, -238, 1185 -238, -238, -238, -238, -238, 892, -238, -238, -238, -238, 1186 -238, 910, 898, 911, 928, 936, 932, 564, 923, 1004, 1187 933, 945, 937, 946, 951, 566, 959, 970, 731, 979, 1188 988, 1000, 1017, 1019, 235, 236, 509, 992, 708, 993, 1189 955, 994, 958, 995, 851, 1007, 1008, 1016, 1018, 497, 1190 1020, 390, 391, 1024, 1029, 837, 476, 1033, 1040, 1021, 1191 302, 333, 510, 1039, 511, 512, 513, 978, 966, 514, 1192 515, 1044, 516, 517, 906, 1042, 1048, 489, 1049, 694, 1193 1011, 234, 845, 1009, 843, 688, 390, 391, 650, 690, 1194 713, 701, 493, 93, 996, 721, 998, 816, 534, 881, 1195 238, 333, 1002, 954, 1003, 390, 391, 999, 953, 645, 1196 836, 1013, 971, 1041, 1006, 755, 1026, 913, 1005, 93, 1197 330, 914, 839, 0, 671, 371, 0, 0, 0, 0, 1198 1014, 1015, 0, 0, 0, 0, 0, 0, 0, 0, 1199 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 1200 0, -238, -238, 0, 0, 906, 0, 906, 0, 0, 1201 0, 0, 0, 0, 0, 93, 1030, 0, 0, 1032, 1202 0, 0, 4, 5, 0, 0, 6, -21, 7, -21, 1203 8, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1204 0, 734, 0, 10, 0, 0, 0, 0, 0, 0, 1205 1045, 0, 734, 0, 1046, 1047, 93, 0, 0, 11, 1206 0, 0, 734, 12, 13, 93, 0, 0, 14, 1051, 1207 0, 0, 0, 0, 15, 0, 16, 17, 0, 18, 1208 0, 0, 0, 0, 19, 20, 21, 22, 23, 0, 1209 24, 25, 0, 0, 26, 27, 28, 29, 30, 31, 1210 32, 33, 34, 35, 36, 0, 37, 0, 38, 39, 1211 0, 0, 40, 41, 42, 0, 43, 0, 44, 0, 1212 0, 45, 46, 0, 0, 47, 48, 49, 0, 0, 1213 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 1214 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 1215 63, 0, 0, 64, 0, 0, 65, 66, 67, 68, 1216 0, 0, 0, 0, 69, 373, 374, 375, 376, 377, 1217 378, 0, 379, 380, 381, 382, 383, 384, 0, 385, 1218 386, 387, 388, 389, 653, 0, 373, 374, 375, 376, 1219 377, 378, 0, 379, 380, 381, 382, 383, 384, 0, 1220 385, 386, 387, 388, 389, 935, 0, 373, 374, 375, 1221 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1222 0, 385, 386, 387, 388, 389, 1035, 0, 373, 374, 1223 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1224 384, 0, 385, 386, 387, 388, 389, 1036, 0, 373, 1225 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1226 383, 384, 0, 385, 386, 387, 388, 389, 1050, 0, 1227 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1228 382, 383, 384, 0, 385, 386, 387, 388, 389, 927, 1229 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1230 382, 383, 384, 0, 385, 386, 387, 388, 389, 439, 1231 0, 0, 0, 0, 440, 441, 0, 442, 443, 0, 1232 0, 0, 0, 0, 390, 391, 0, 0, 394, 444, 1233 445, 446, 447, 448, 449, 450, 0, 451, 452, 453, 1234 0, 0, 454, 455, 456, 390, 391, 457, 458, 459, 1235 460, 0, 461, 0, 0, 0, 0, 0, 0, 0, 1236 0, 0, 0, 0, 0, 0, 390, 391, 0, 0, 1237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238 0, 0, 0, 0, 0, 0, 0, 390, 391, 373, 1239 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1240 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 1241 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1242 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, 1243 391, 0, 0, 0, 0, 462, 0, 0, 0, 0, 1244 0, 0, 0, 0, 0, 0, 0, 0, 614, 390, 1245 391, 871, 373, 374, 375, 376, 377, 378, 0, 379, 1246 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, 1247 389, 927, 373, 374, 375, 376, 377, 378, 0, 379, 1248 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, 1249 389, 997, 373, 374, 375, 376, 377, 378, 0, 379, 1250 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, 1251 389, 1031, 373, 374, 375, 376, 377, 378, 0, 379, 1252 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, 1253 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1254 0, 0, 0, 0, 0, 0, 0, 579, 390, 391, 1255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1256 0, 0, 0, 0, 0, 0, 0, 0, 586, 390, 1257 391, 373, 374, 375, 376, 377, 378, 0, 379, 380, 1258 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, 1259 -240, -240, -240, -240, -240, -240, 0, -240, -240, -240, 1260 -240, -240, -240, 0, -240, -240, -240, -240, -240, 0, 1261 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, 1262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1263 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, 1264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, 1266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1267 0, 390, 391, -239, -239, -239, -239, -239, -239, 0, 1268 -239, -239, -239, -239, -239, -239, 0, -239, -239, -239, 1269 -239, -239, 373, 374, 375, 376, 377, 378, 0, 379, 1270 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, 1271 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1272 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 1273 390, 391, 0, 0, 0, 0, 0, 0, 0, 0, 1274 0, 0, 0, 0, 0, 0, 0, 0, -240, -240, 1275 -240, 373, 374, 375, 376, 377, 378, 0, 379, 380, 1276 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, 1277 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1278 382, 383, 384, 0, 385, 386, 387, 388, 389, 373, 1279 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1280 383, 384, 0, 385, 386, 387, 388, 389, 373, 374, 1281 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1282 384, 0, 385, 386, 387, 388, 389, 0, 0, 0, 1283 0, -239, -239, -239, 0, 0, 0, 0, 0, 0, 1284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1285 614, 390, 391, 373, 374, 375, 376, 377, 378, 0, 1286 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, 1287 388, 389, 373, 374, 375, 376, 377, 378, 0, 379, 1288 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, 1289 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1290 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 1291 390, 391, 0, 0, 0, 0, 0, 0, 0, 0, 1292 0, 0, 0, 0, 0, 0, 0, 0, 654, 390, 1293 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1294 0, 0, 0, 0, 399, 0, 0, 0, 390, 391, 1295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296 0, 0, 0, 0, 0, 0, 780, 390, 391, 373, 1297 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1298 383, 384, 0, 385, 386, 387, 388, 389, 373, 374, 1299 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1300 384, 0, 385, 386, 387, 388, 389, 0, 0, 0, 1301 0, 781, 390, 391, 0, 0, 0, 0, 0, 0, 1302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1303 782, 390, 391, 373, 374, 375, 376, 377, 378, 0, 1304 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, 1305 388, 389, 373, 374, 375, 376, 377, 378, 0, 379, 1306 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, 1307 389, 373, 374, 375, 376, 377, 378, 0, 379, 380, 1308 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, 1309 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1310 382, 383, 384, 0, 385, 386, 387, 388, 389, 0, 1311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312 0, 0, 0, 0, 0, 0, 0, 783, 390, 391, 1313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1314 0, 0, 0, 0, 0, 0, 784, 390, 391, 373, 1315 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1316 383, 384, 0, 385, 386, 387, 388, 389, 373, 374, 1317 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1318 384, 0, 385, 386, 387, 388, 389, 0, 0, 0, 1319 0, 785, 390, 391, 0, 0, 0, 0, 0, 0, 1320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1321 786, 390, 391, 0, 0, 0, 0, 0, 0, 0, 1322 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 1323 390, 391, 0, 0, 0, 0, 0, 0, 0, 0, 1324 0, 0, 0, 0, 0, 0, 0, 0, 788, 390, 1325 391, 373, 374, 375, 376, 377, 378, 0, 379, 380, 1326 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, 1327 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1328 382, 383, 384, 0, 385, 386, 387, 388, 389, 0, 1329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1330 0, 0, 0, 0, 0, 0, 0, 789, 390, 391, 1331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1332 0, 0, 0, 0, 0, 0, 790, 390, 391, 373, 1333 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1334 383, 384, 0, 385, 386, 387, 388, 389, 373, 374, 1335 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1336 384, 0, 385, 386, 387, 388, 389, 373, 374, 375, 1337 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1338 0, 385, 386, 387, 388, 389, 373, 374, 375, 376, 1339 377, 378, 0, 379, 380, 381, 382, 383, 384, 0, 1340 385, 386, 387, 388, 389, 0, 0, 0, 0, 791, 1341 390, 391, 0, 0, 0, 0, 0, 0, 0, 0, 1342 0, 0, 0, 0, 0, 0, 0, 0, 792, 390, 1343 391, 373, 374, 375, 376, 377, 378, 0, 379, 380, 1344 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, 1345 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1346 382, 383, 384, 0, 385, 386, 387, 388, 389, 0, 1347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1348 0, 0, 0, 0, 0, 0, 0, 853, 390, 391, 1349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1350 0, 0, 0, 0, 0, 0, 931, 390, 391, 0, 1351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352 0, 0, 0, 0, 0, 934, 390, 391, 0, 0, 1353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1354 0, 0, 0, 0, 947, 390, 391, 373, 374, 375, 1355 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1356 0, 385, 386, 387, 388, 389, 373, 374, 375, 376, 1357 377, 378, 0, 379, 380, 381, 382, 383, 384, 0, 1358 385, 386, 387, 388, 389, 0, 0, 472, 473, 948, 1359 390, 391, 0, 0, 132, 0, 0, 0, 0, 0, 1360 0, 0, 133, 134, 474, 0, 0, 0, 1023, 390, 1361 391, 0, 0, 0, 0, 0, 135, 136, 0, 0, 1362 0, 0, 137, 138, 139, 140, 141, 0, 0, 0, 1363 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, 1364 145, 146, 147, 148, 0, 149, 150, 151, 0, 0, 1365 152, 153, 154, 0, 155, 156, 157, 158, 159, 0, 1366 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1523 43, 702, 363, 398, 488, 404, 491, 103, 701, 641, 1524 290, 150, 642, 335, 414, 355, 357, 327, 131, 105, 1525 742, 477, 950, 362, 105, 723, 1002, 1149, 416, 105, 1526 105, 336, 490, 481, 328, 429, 269, 553, 1103, 400, 1527 1233, 98, 312, 1235, 729, 485, 98, 363, 418, 910, 1528 812, 98, 98, 118, 142, 103, 896, 143, 545, 1168, 1529 1168, 105, 239, 950, 1212, 906, 131, 105, 1258, 431, 1530 1162, 105, 1328, 509, 972, 848, 1175, 724, 430, 432, 1531 1112, 1113, 1114, 98, 1126, 1127, 421, 1119, 1450, 98, 1532 932, 1379, 1455, 98, 314, 1461, 376, 277, 1446, -523, 1533 212, 118, 142, 668, 318, 143, 1628, 227, 228, 291, 1534 522, 807, 809, 902, 219, -195, 460, 468, 4, 151, 1535 1445, 1655, 908, -89, 912, 492, -89, 711, 492, 933, 1536 414, 1299, 933, 414, 758, 1170, -195, 4, 4, 105, 1537 980, 1655, 1023, 1121, 416, 802, -410, 416, 4, -411, 1538 637, 319, 1136, 936, 47, 4, 347, 4, 8, 1584, 1539 508, 98, 348, 1447, 418, 1186, 4, 418, 1196, 703, 1540 1261, 704, 230, 1270, 4, 1198, -195, 8, 8, 1186, 1541 1370, 492, 414, 269, 665, 828, -410, 1222, 8, -411, 1542 1286, 4, 335, 1320, 4, 8, 416, 8, 1365, 1380, 1543 1399, 4, 4, 1258, 594, 681, 8, 602, 1431, 679, 1544 336, 912, 1516, 42, 8, 1697, 418, 1333, 1325, -182, 1545 433, 1025, 346, 234, 1022, 976, 413, 1360, -730, 573, 1546 32, 8, 281, 89, 8, 508, 508, 508, 432, 42, 1547 555, 8, 8, 956, 517, 685, 1006, 1559, 685, 376, 1548 534, 432, 227, 228, 49, 474, 1457, 1577, 97, 475, 1549 -266, -338, 990, 765, 782, 1334, -540, 503, 464, 282, 1550 73, 1446, 213, 516, 727, 1294, 1204, 422, 1266, 1670, 1551 236, 652, 546, 98, -540, 516, 220, 1628, 730, 614, 1552 -523, 12, 105, 1445, 669, -523, 861, 1542, 376, 531, 1553 532, 1439, 808, 810, 903, 1004, -195, 1378, 741, -195, 1554 12, 12, 412, 909, 98, 913, 861, 728, -764, -410, 1555 934, 12, -411, 935, 862, 34, 1346, 48, 12, 1343, 1556 12, 981, 577, 1024, 1122, 756, 1447, 1656, 1333, 12, 1557 1120, 105, 413, 1137, 862, 413, 1125, 12, 607, 1128, 1558 640, 105, 1350, 1134, 1094, 35, 1187, 1656, -764, 1197, 1559 -474, 4, 269, 98, 12, 646, 1199, 12, 506, 1008, 1560 1206, 1026, 972, 98, 12, 12, 1012, 1239, 1223, 433, 1561 574, 1287, 1326, 269, 269, 1446, 1334, 1659, 926, 1366, 1562 1381, 1400, 688, 1559, 413, 659, 661, 1458, 1578, 1432, 1563 1351, 8, 1502, 1517, 1673, 1446, 1698, 302, 92, 93, 1564 239, 95, 302, 957, 766, 42, 302, -540, 310, 745, 1565 747, 235, 647, 204, 42, 236, 105, 4, 42, 1267, 1566 47, 488, 42, 491, 4, -1020, 74, -1020, 876, 890, 1567 893, 610, 842, 506, 506, 506, 42, 639, 699, 904, 1568 302, 968, 517, 966, 385, 975, -539, 969, 970, 490, 1569 481, 64, 105, 105, 731, 852, 429, 8, 1350, 730, 1570 918, 4, 485, 4, 8, 508, 76, 817, 1258, 498, 1571 499, 1551, 1630, 1521, 98, 98, 726, -197, 919, 741, 1572 751, -764, 1585, 9, 1168, 1586, 4, 363, 430, 75, 1573 431, 363, 363, 498, 499, 227, 228, 1042, 132, 430, 1574 285, 8, -1020, 8, -1020, 823, 1351, 58, 105, 59, 1575 60, 793, 845, 133, 702, 1221, 827, 105, 344, 742, 1576 782, 701, 1014, 742, 12, 1511, 8, 148, 649, 500, 1577 98, 89, 4, 98, 206, 140, 1070, -464, 1072, 98, 1578 462, 463, 1511, 1232, 950, 557, 132, 729, 105, 105, 1579 144, 1013, 832, 500, 4, 837, 97, 105, 105, 832, 1580 9, 133, 274, 1290, 1531, 699, 533, 558, 11, 4, 1581 98, 98, 8, 285, 4, 1352, 1561, 147, -137, 98, 1582 98, 4, 105, 140, 944, 699, -90, 60, 287, -90, 1583 12, 1046, 483, 48, 8, 11, 105, 12, 144, 1149, 1584 230, 301, 1671, 304, 98, 1672, 89, 89, 305, 8, 1585 1364, 306, 474, 824, 8, 42, 475, 938, 98, 269, 1586 151, 8, -933, 92, 93, 147, 95, 302, 1078, 484, 1587 42, 97, 97, 949, 12, 492, 12, 1103, 1005, 496, 1588 307, 232, 233, 894, -539, 11, -236, 82, 83, 1037, 1589 -508, 234, 905, 1091, -508, -944, 310, 973, 497, 12, 1590 92, 93, 357, 95, 235, 1476, 1477, 42, 236, 1225, 1591 -236, -61, 1010, 506, 949, 929, 930, 931, 1038, 235, 1592 105, 155, 703, 236, 704, 11, 1039, 686, 1213, 302, 1593 687, 1011, 987, 315, -93, 556, 557, -93, 316, 1323, 1594 999, 317, 98, 411, 322, 12, 434, 435, 436, 437, 1595 438, 439, 440, 1117, 1089, 1657, 1561, 516, 558, 321, 1596 -92, 1374, 1561, 1469, 330, 534, 1129, 12, -1020, 412, 1597 -1020, 236, 399, 1569, 1096, 1657, 1376, 230, 1405, 1149, 1598 337, 1537, 12, 594, 426, 427, 1043, 12, 1620, 602, 1599 36, 37, 38, 39, 12, 990, 453, 454, 40, 1069, 1600 546, 338, 546, 1156, 41, 918, 5, -1020, 6, -1020, 1601 216, 217, 218, 1231, 224, 7, 350, 727, 508, 351, 1602 42, 105, 294, 919, 82, 83, 9, 416, 234, 1239, 1603 641, 730, 358, 642, 57, 414, 359, 92, 93, 62, 1604 95, 63, 1020, 98, 42, 861, 1392, 741, 1393, 416, 1605 89, 741, 369, 60, 640, 105, -1020, -1021, -1020, -1021, 1606 728, 370, 569, 1115, 1093, 9, 389, 92, 93, 418, 1607 95, 385, 105, 862, 42, 97, 396, 98, 105, 105, 1608 105, 105, 861, 105, 1473, 105, 105, 756, 1481, 391, 1609 414, 393, 10, 411, 98, 441, 442, 443, 444, 412, 1610 98, 98, 98, 98, 416, 98, 1150, 98, 98, 420, 1611 862, 11, 11, -276, 9, 9, 1159, -223, 105, 92, 1612 93, -945, 95, 424, 418, 449, 308, 282, 225, 445, 1613 446, 1144, 105, 105, 451, 226, 1451, 1452, 1453, 457, 1614 98, 60, 60, 227, 228, 229, 771, 674, 675, 512, 1615 11, 639, 11, -277, 98, 98, 569, 847, 1171, 1172, 1616 -97, -97, 458, -97, 602, 470, 1118, -97, 89, 513, 1617 -97, 702, 1678, 1679, 473, 77, 516, 551, 701, 105, 1618 1133, 208, 209, 482, 1424, 92, 93, 527, 95, 556, 1619 1201, 569, 42, 97, 394, 395, 554, 402, 269, 11, 1620 11, 699, 876, -100, -100, 588, -100, 731, 42, -138, 1621 -100, 742, 653, -100, 1151, 560, 567, 890, 403, 616, 1622 82, 83, 772, 663, 239, 1226, 506, 1292, 239, 726, 1623 664, 666, 1429, 641, 1362, 667, 642, 673, 1042, 672, 1624 -234, -229, 751, 678, 1427, 680, 730, 413, 230, 683, 1625 -224, 773, 1474, 774, 775, 776, 1474, 694, 777, 778, 1626 708, 779, 780, 696, 706, 713, 741, 718, 714, 715, 1627 748, 105, 1150, 231, 720, 430, 721, 226, 760, 793, 1628 761, 764, 763, 768, 105, 227, 228, 749, 363, 232, 1629 233, -99, -99, 98, -99, 787, 783, 788, -99, 234, 1630 546, -99, 1314, 790, 607, 791, 98, 804, 92, 93, 1631 801, 95, 235, 806, 814, 42, 236, 237, 818, 92, 1632 93, 105, 95, 819, 699, 238, 42, 304, 400, 2, 1633 3, 742, 305, 92, 93, 378, 95, 846, 853, 703, 1634 42, 704, 294, 98, 855, 379, 858, 380, 105, 857, 1635 381, 382, 105, 4, 859, 227, 228, 5, -1020, 6, 1636 -1020, 699, 914, 920, 307, 921, 7, 923, 927, 383, 1637 98, 640, 105, 940, 98, 946, 964, 304, 965, 967, 1638 824, 971, 305, -230, 440, 1359, 979, 982, 210, 211, 1639 230, 983, 991, 8, 98, 379, 992, 380, 993, 996, 1640 381, 382, 1033, 273, 1384, 949, 1005, 278, 1006, 1009, 1641 -447, 1421, 1048, 289, 307, 231, 9, 1015, 1050, 383, 1642 750, 1049, 36, 37, 38, 39, 1479, 93, 1052, 95, 1643 40, 232, 233, 42, 1056, 987, 41, 1057, 42, 1060, 1644 1062, 234, 1066, 10, 1428, 1077, 1156, 1363, 1074, 1080, 1645 92, 93, 1085, 95, 235, 307, 1098, 42, 236, 237, 1646 230, 1421, 92, 93, 1097, 95, 1421, 238, 639, 42, 1647 1421, 1163, 1100, 1421, 990, 1105, 1107, 1147, 1116, 1124, 1648 1721, 345, 1069, 1142, 1185, 1188, 1189, 1190, 1191, 1043, 1649 820, 360, 1193, 1215, 1216, 1195, 1248, 1200, 1205, 1214, 1650 1224, 11, 1250, 1278, -202, -202, -202, -202, 1265, 105, 1651 1268, 234, -202, 105, 1264, 1281, 1285, 1288, -202, 1289, 1652 92, 93, 1321, 95, 235, 1338, 12, 42, 236, 1330, 1653 105, 98, 1357, 1347, 1069, 98, 1355, 1356, 1361, 1261, 1654 305, 1370, 1373, 1086, 1435, 1382, 1389, 105, 1394, 1395, 1655 1396, 1397, 98, 379, 1401, 380, 1430, 1437, 381, 382, 1656 159, 1438, -522, 1440, 1651, -197, 1462, 105, 1650, 98, 1657 161, 162, 307, 163, 640, 105, 164, 383, 1472, 821, 1658 166, 822, 1463, 1507, 1467, 1666, 1470, 1475, 1478, 98, 1659 1550, 1504, 1503, 1506, 1508, 1513, 105, 98, 461, 1514, 1660 1524, 1519, 1525, 466, 1544, 1548, 469, 1549, 1552, 1553, 1661 1421, 1554, 363, 478, 1555, 1562, 1556, 1557, 699, 89, 1662 1558, 1563, 1574, -380, 1565, 1575, 1581, 502, 1576, 363, 1663 511, 1622, 1582, 1583, 1421, 123, 92, 93, 1588, 95, 1664 123, -255, 1629, 42, 97, 123, 123, 1326, 1474, 1643, 1665 239, 1644, 1646, 1530, 1652, 105, 1654, 1201, 1443, 1662, 1666 1663, 1667, 1668, 640, 105, 1669, 583, 584, 1687, 585, 1667 1696, 639, 1690, 1713, 1695, 1692, 1716, 299, 597, 1693, 1668 605, 1700, 1701, 123, 1719, 1729, 98, 299, 1150, 1720, 1669 225, 609, 1726, 611, 1707, 1708, 1709, 226, 1723, 1731, 1670 105, 1727, 78, 230, 1674, 227, 228, 229, 303, 546, 1671 105, 1146, 1229, 655, 1230, 1448, 50, 1715, 677, 1456, 1672 995, 105, 98, 1425, 770, 1573, 45, 1442, 231, 682, 1673 1234, 1567, 98, 1566, 1449, 670, 423, 1275, 1054, 1660, 1674 1664, 1661, 269, 98, 232, 233, 1560, 1055, 1421, 1421, 1675 1421, 1000, 1247, 725, 234, 123, 1421, 1209, 1237, 1284, 1676 639, 363, 1065, 92, 93, 1464, 95, 235, 1421, 1421, 1677 42, 236, 237, 1714, 1403, 105, 1665, 1219, 705, 1135, 1678 238, 815, 1421, 1253, 825, 1634, 1638, 1523, 1337, 1636, 1679 709, 1518, 826, 1639, 712, 690, 824, 689, 456, 691, 1680 693, 1036, 1071, 692, 1018, 719, 830, 1073, 1067, 1675, 1681 230, 226, 544, 843, 1541, 844, 650, 1344, 831, 227, 1682 228, 925, 744, 746, 568, 833, 757, 1123, 1150, 834, 1683 907, 1532, 759, 928, 835, 231, 1160, 1169, 1535, 836, 1684 105, 1176, 1570, 636, 838, 1694, 1140, 839, 226, 789, 1685 840, 232, 233, 1138, 579, 1348, 227, 228, 803, 149, 1686 1699, 234, 98, 1711, 710, 467, 986, 805, 978, 939, 1687 92, 93, 841, 95, 235, 813, 1386, 42, 236, 237, 1688 816, 61, 1385, 1388, 1547, 1318, 0, 238, 0, 0, 1689 0, 963, 0, 0, 0, 0, 0, 0, 0, 856, 1690 0, 538, 0, 0, 0, 105, 1722, 0, 123, 1724, 1691 0, 0, 0, 1254, 987, 0, 0, 0, 0, 0, 1692 226, 0, 1732, 0, 230, 0, 0, 98, 227, 228, 1693 0, 0, 0, 0, 0, 0, 1151, 1689, 0, 0, 1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 1695 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 1696 937, 230, 0, 538, 538, 232, 233, 299, 1594, 0, 1697 0, 945, 0, 0, 226, 234, 0, 0, 0, 0, 1698 962, 0, 227, 228, 92, 93, 231, 95, 235, 0, 1699 0, 42, 236, 237, 0, 0, 0, 0, 0, 0, 1700 0, 238, 232, 233, 0, 0, 0, 0, 0, 0, 1701 0, 0, 234, 0, 0, 0, 1406, 0, 0, 0, 1702 0, 92, 93, 226, 95, 235, 0, 0, 42, 236, 1703 237, 227, 228, 230, 0, 0, 0, 0, 238, 1482, 1704 1483, 1484, 1485, 1486, 1487, 1003, 1488, 1489, 1490, 1491, 1705 1492, 1493, 0, 1494, 1495, 1496, 1497, 1498, 231, 0, 1706 0, 0, 0, 0, 0, 0, 0, 0, 1016, 0, 1707 1017, 0, 0, 0, 232, 233, 0, 0, 299, 299, 1708 740, 0, 0, 0, 234, 1035, 0, 230, 0, 0, 1709 0, 1047, 0, 92, 93, 0, 95, 235, 0, 0, 1710 42, 236, 237, 0, 1443, 0, 0, 0, 0, 0, 1711 238, 226, 231, 0, 0, 0, 0, 0, 0, 227, 1712 228, 0, 0, 1061, 0, 0, 0, 0, 232, 233, 1713 0, 0, 0, 0, 299, 1075, 230, 1658, 234, 0, 1714 1076, 0, 1079, 299, 226, 0, 0, 92, 93, 0, 1715 95, 235, 227, 228, 42, 236, 237, 0, 0, 226, 1716 0, 231, 0, 0, 238, 0, 0, 227, 228, 0, 1717 1092, 0, -763, 0, 299, 299, 0, 232, 233, 0, 1718 0, 1102, 0, 299, 299, 0, 0, 234, 0, 0, 1719 0, 0, 0, 0, 0, 0, 92, 93, 0, 95, 1720 235, 0, 538, 42, 236, 237, 0, 0, 299, 0, 1721 0, 0, -763, 238, 0, 0, 0, 0, 0, 0, 1722 0, 0, 299, 0, 230, 0, 1139, 0, 680, 1499, 1723 1500, 0, 1141, 0, 0, 300, 0, 538, 0, 0, 1724 0, 0, 0, 0, 0, 309, 0, 0, 1702, 231, 1725 0, 0, 0, 0, 0, 226, 0, 230, 0, 0, 1726 0, 0, 0, 227, 228, 232, 233, 1181, 0, 0, 1727 1183, 1184, 230, 0, 0, 234, 0, 0, 538, 0, 1728 0, 0, 231, 0, 92, 93, 0, 95, 235, 0, 1729 0, 42, 236, 237, 0, 0, 0, 231, 232, 233, 1730 0, 238, 0, 0, 0, 0, 299, 0, 234, 0, 1731 0, 0, 0, 232, 233, 0, 0, 92, 93, 0, 1732 95, 235, 0, 234, 42, 236, 237, 0, 0, 0, 1733 0, 0, 92, 93, 238, 95, 235, 0, 0, 339, 1734 236, 237, 0, 0, 0, -763, 0, 0, 0, 238, 1735 0, 0, 0, 1262, 0, 0, 1263, 0, 0, 0, 1736 0, 0, 0, 0, 0, 0, 0, 1271, 230, 1272, 1737 0, 0, 0, 0, 1276, 0, 0, 0, 0, 0, 1738 0, 1282, 1283, 342, 0, 0, 0, 0, 0, 1717, 1739 0, 0, 0, 231, 361, 0, 226, 0, 0, 0, 1740 1291, 1293, 0, 0, 227, 228, 0, 299, 0, 232, 1741 233, 0, 0, 0, 1322, 0, 1324, 0, 0, 234, 1742 0, 0, 0, 0, 0, 0, 0, 1332, 92, 93, 1743 0, 95, 235, 0, 0, 42, 236, 237, 0, 0, 1744 0, 299, 0, 0, 0, 238, 0, 0, 0, 0, 1745 0, 0, 0, 0, 0, 0, 0, 410, 299, 540, 1746 0, 0, 0, 419, 299, 299, 299, 299, 1611, 299, 1747 0, 299, 299, 0, 226, 0, 0, 0, 410, 0, 1748 0, 0, 227, 228, 1367, 1612, 0, 0, 1369, 0, 1749 0, 0, 1372, 0, 1375, 1377, 0, 0, 0, 0, 1750 0, 0, 0, 0, 123, 1383, 0, 0, 0, 230, 1751 0, 0, 0, 227, 228, 0, 538, 0, 299, 299, 1752 0, 627, 627, 0, 0, 0, 0, 0, 0, 0, 1753 0, 507, 510, 1398, 231, 0, 0, 0, 0, 0, 1754 1404, 0, 0, 1423, 541, 0, 1426, 552, 0, 0, 1755 232, 233, 0, 0, 0, 0, 0, 0, 0, 0, 1756 234, 0, 0, 580, 582, 0, 0, 0, 0, 92, 1757 93, 1433, 95, 235, 0, 0, 42, 236, 237, 593, 1758 0, 0, 593, 0, 0, 0, 238, 230, 0, 740, 1759 0, 0, 538, 740, 0, 0, 0, 0, 0, 0, 1760 0, 0, 0, 0, 615, 0, 361, 361, 507, 0, 1761 0, 1616, 231, 1465, 0, 1466, 0, 226, 230, 0, 1762 0, 0, 0, 0, 0, 227, 228, 0, 232, 233, 1763 0, 671, 0, 0, 0, 0, 300, 300, 234, 0, 1764 0, 0, 0, 231, 0, 0, 1505, 92, 93, 0, 1765 95, 235, 1509, 0, 42, 236, 237, 299, 0, 232, 1766 233, 0, 0, 0, 238, 0, 0, 0, 1520, 234, 1767 123, 0, 1522, 0, 0, 0, 0, 0, 92, 93, 1768 0, 95, 235, 0, 0, 42, 236, 237, 0, 1533, 1769 0, 1534, 811, 0, 1536, 238, 1538, 1539, 0, 1540, 1770 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 1771 1543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772 0, 0, 1618, 0, 743, 0, 0, 755, 226, 0, 1773 230, 0, 895, 898, 299, 0, 227, 228, 299, 762, 1774 0, 895, 898, 0, 0, 0, 0, 0, 0, 0, 1775 0, 0, 0, 0, 0, 231, 0, 0, 299, 0, 1776 627, 0, 0, 1572, 0, 0, 895, 0, 538, 538, 1777 0, 232, 233, 0, 226, 0, 0, 0, 0, 0, 1778 309, 234, 227, 228, 0, 0, 0, 0, 0, 0, 1779 92, 93, 0, 95, 235, 951, 0, 42, 236, 237, 1780 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 1781 0, 0, 879, 0, 880, 881, 882, 883, 0, 884, 1782 0, 885, 886, 0, 0, 0, 0, 1621, 887, 0, 1783 888, 0, 889, 1631, 0, 0, 951, 0, 1635, 0, 1784 0, 230, 0, 0, 0, 0, 507, 0, 0, 1640, 1785 1641, 1642, 0, 0, 0, 0, 0, 0, 0, 0, 1786 1645, 0, 0, 0, 300, 0, 231, 0, 1647, 0, 1787 1649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1788 952, 0, 232, 233, 0, 0, 0, 230, 0, 0, 1789 0, 0, 234, 0, 0, 0, 0, 0, 0, 410, 1790 0, 92, 93, 0, 95, 235, 0, 0, 42, 236, 1791 237, 0, 231, 0, 0, 0, 299, 0, 238, 0, 1792 0, 952, 0, 0, 0, 0, 0, 0, 232, 233, 1793 0, 0, 984, 299, 985, 0, 0, 0, 234, 0, 1794 0, 0, 0, 1685, 0, 0, 0, 92, 93, 0, 1795 95, 235, 0, 299, 42, 236, 237, 0, 0, 0, 1796 1688, 299, 0, 0, 238, 309, 0, 0, 0, 0, 1797 0, 1691, 0, 0, 1019, 0, 1021, 0, 0, 0, 1798 0, 0, 0, 0, 1029, 0, 0, 1034, -225, -225, 1799 -225, 0, -225, 0, -225, -225, -225, -225, -225, -225, 1800 -225, -225, -225, -225, -225, -225, -225, 0, 0, 1710, 1801 0, 0, 1712, 538, 538, 0, 895, 0, 0, 0, 1802 0, 0, 895, 898, 898, 895, 0, 1130, 0, 895, 1803 1130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1804 0, 1587, 0, 0, 0, 0, -225, 0, 0, 0, 1805 299, 0, -88, -88, -88, 0, -88, 0, -88, -88, 1806 -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 1807 -88, 0, 1090, 0, 627, 0, 1164, 1164, 0, 0, 1808 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 1809 0, 0, 507, 507, 507, 507, 299, 0, 0, 0, 1810 507, 0, 0, 0, 0, 507, 0, 299, 0, 226, 1811 -88, 0, 0, 0, 0, 0, 0, 227, 228, 0, 1367 1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1368 1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1814 1145, 0, 0, -225, -225, -225, -225, 866, 0, 0, 1815 1243, 867, 868, 869, 870, 871, 872, 0, 0, 361, 1816 1029, 1587, 0, 873, 874, 875, 580, 0, 0, 1177, 1817 0, 0, 0, 0, -225, 0, 0, -225, -225, -225, 1818 226, 0, 412, 0, 0, 0, 0, 0, 227, 228, 1819 617, 0, 0, 0, 0, 0, 0, 410, 0, 0, 1820 0, 0, 0, 0, 0, 1207, 0, -88, -88, -88, 1821 -88, 0, 0, 0, 0, 811, 0, 0, 0, 618, 1822 0, 0, 230, 0, 0, 0, 123, 619, 0, 620, 1823 621, 622, 623, 0, 624, 1244, 625, 0, -88, -88, 1824 0, -88, -88, -88, 1249, -88, 0, 231, 1252, 755, 1825 0, 1255, 1256, 0, 1257, 0, 0, 0, 0, 0, 1826 0, 0, 226, 232, 233, 898, 0, 0, 0, 0, 1827 227, 228, 504, 234, 0, 0, 0, 0, 0, 0, 1828 0, 0, 92, 93, 0, 95, 235, 0, 0, 42, 1829 236, 237, 309, 230, 0, 0, 895, 0, 0, 238, 1830 0, 0, 0, 0, 0, 0, 580, 0, 0, 1317, 1831 0, 0, 1319, 0, 0, 0, 0, 0, 231, 0, 1832 0, 0, 0, 0, 0, 0, 951, 951, 0, 0, 1833 0, 0, 0, 0, 232, 233, 89, 0, 0, 0, 1834 0, 0, 507, 226, 234, 0, 0, 0, 0, 0, 1835 0, 227, 228, 92, 93, 0, 95, 235, 0, 0, 1836 626, 505, 237, 0, 0, 0, 0, 0, 0, 0, 1837 238, 0, 0, 0, 0, 230, 0, 0, 0, 0, 1838 0, 879, 0, 880, 0, 882, 883, 0, 884, 1029, 1839 885, 886, 0, 0, 0, 0, 0, 887, 0, 888, 1840 231, 889, 1177, 0, 0, 0, 0, 0, 0, 0, 1841 0, 952, 952, 0, 0, 1295, 232, 233, 89, 0, 1842 0, 0, 0, 1296, 1297, 0, 234, 0, 0, 0, 1843 0, 0, 0, 0, 0, 92, 93, 0, 95, 235, 1844 0, 1402, 42, 505, 237, 226, 0, 0, 1298, 0, 1845 0, 0, 238, 227, 228, 0, 230, 0, 0, 0, 1846 0, 0, 598, 0, 0, 0, 0, 0, 0, 599, 1847 0, 600, 601, 0, 898, 0, 1434, 0, 0, 0, 1848 1436, 231, 0, 0, 0, 0, 0, 1029, 0, 0, 1849 0, 898, 589, 0, 0, 0, 0, 232, 233, 590, 1850 0, 591, 592, 0, 0, 0, 0, 234, 0, 0, 1851 0, 1164, 0, 1299, 0, 0, 92, 93, 0, 95, 1852 235, 1468, 0, 42, 236, 237, 0, 0, 230, 0, 1853 0, 0, 0, 238, 0, 1471, 0, 0, 0, 0, 1369 1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1370 0, 0, 0, 0, 0, 1034, 390, 391, 161, 0, 1371 0, 0, 0, 0, 0, 162, 0, 472, 722, 0, 1372 0, 163, 164, 0, 132, 390, 391, 165, 0, 0, 1373 0, 0, 133, 134, 474, 0, 166, 167, 0, 168, 1374 169, 0, 0, 170, 171, 172, 135, 136, 0, 0, 1375 0, 0, 137, 138, 139, 140, 141, 0, 0, 0, 1376 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, 1377 145, 146, 147, 148, 0, 149, 150, 151, 0, 0, 1378 152, 153, 154, 0, 155, 156, 157, 158, 159, 0, 1379 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1855 0, 0, 0, 231, 0, 0, 0, 0, 230, 1300, 1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1857 1302, 1243, 1243, 1029, 0, 0, 0, 0, 0, 234, 1858 0, 0, 0, 231, 0, 1529, 0, 507, 1303, 1304, 1859 0, 1305, 1306, 226, 0, 42, 1307, 237, 0, 232, 1860 233, 227, 228, 0, 0, 238, 1177, 0, 1177, 234, 1861 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 1862 0, 95, 235, 0, 0, 42, 236, 237, 0, 0, 1863 0, 0, 0, 226, 0, 238, 0, 0, 0, 0, 1864 598, 227, 228, 0, 0, 0, 0, 599, 0, 600, 1865 601, 0, 0, 0, 895, 0, 1244, 1244, 0, 0, 1866 0, 0, 0, 1568, 1029, 895, 0, 0, 0, 0, 1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 1152, 1868 1153, 0, 0, 1207, 0, 0, 226, 1154, 0, 1155, 1869 0, 0, 0, 0, 227, 228, 0, 0, 0, 4, 1870 0, 0, 0, 0, 0, 0, 230, 0, 1596, 1597, 1871 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1872 1608, 1609, 1610, 1614, 1615, 1617, 1619, 0, 0, 0, 1873 0, 231, 0, 226, 0, 0, 0, 0, 0, 8, 1874 0, 227, 228, 0, 226, 0, 230, 232, 233, 0, 1875 0, 0, 227, 228, 924, 0, 0, 234, 0, 0, 1876 0, 0, 0, 0, 0, 0, 92, 93, 0, 95, 1877 235, 231, 0, 42, 236, 237, 0, 0, 1653, 0, 1878 0, 0, 0, 238, 0, 0, 0, 232, 233, 0, 1879 0, 0, 0, 0, 0, 0, 0, 234, 0, 230, 1880 0, 0, 0, 1207, 0, 0, 92, 93, 0, 95, 1881 235, 0, 0, 42, 236, 237, 397, 226, 0, 0, 1882 1680, 0, 0, 238, 231, 227, 228, 0, 0, 0, 1883 0, 0, 0, 0, 0, 0, 0, 1681, 1682, 0, 1884 232, 233, 1683, 0, 1684, 0, 230, 0, 0, 0, 1885 234, 0, 0, 0, 0, 0, 0, 230, 0, 92, 1886 93, 0, 95, 235, 0, 226, 42, 236, 237, 0, 1887 0, 231, 12, 227, 228, 1251, 238, 0, 0, 0, 1888 0, 0, 231, 0, 0, 0, 0, 232, 233, 0, 1889 0, 0, 0, 0, 0, 226, 0, 234, 232, 233, 1890 0, 0, 1706, 227, 228, -393, 92, 93, 234, 95, 1891 235, 0, 0, 42, 236, 237, 0, 92, 93, 0, 1892 95, 235, 0, 238, 42, 236, 237, 226, 1718, 0, 1893 230, 0, 0, 0, 238, 227, 228, 0, 0, 0, 1894 0, 0, 0, 1725, 0, 1706, 1728, 0, 0, 0, 1895 0, 226, 1730, 0, 0, 231, 0, 1733, 0, 227, 1896 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897 0, 232, 233, 0, 0, 226, 0, 0, 230, 0, 1898 0, 234, 0, 227, 228, 0, 0, 0, 0, 0, 1899 92, 93, 0, 95, 235, 0, 0, 537, 236, 237, 1900 1238, 0, 0, 231, 0, 226, 0, 238, 230, 0, 1901 0, 0, 0, 227, 228, 0, 0, 0, 0, 232, 1902 233, 0, 0, 0, 0, 0, 0, 0, 0, 234, 1903 0, 0, 0, 231, 0, 0, 0, 0, 92, 93, 1904 230, 95, 235, 0, 0, 42, 236, 237, 0, 232, 1905 233, 0, 0, 226, 0, 238, 0, 0, 0, 234, 1906 0, 227, 228, 0, 230, 231, 0, 0, 92, 93, 1907 0, 95, 235, 0, 0, 42, 236, 237, 0, 0, 1908 0, 232, 233, 0, 226, 238, 0, 0, 230, 231, 1909 0, 234, 227, 228, 0, 0, 0, 0, 0, 0, 1910 92, 93, 0, 95, 235, 232, 233, 42, 236, 353, 1911 0, 0, 0, 231, 0, 234, 0, 238, 230, 0, 1912 0, 0, 0, 0, 92, 93, 0, 95, 235, 232, 1913 233, 42, 236, 356, 0, 0, 0, 226, 0, 234, 1914 0, 238, 0, 231, 0, 227, 228, 0, 92, 93, 1915 0, 95, 235, 0, 0, 42, 236, 405, 0, 232, 1916 233, 0, 0, 0, 0, 238, 230, 0, 0, 234, 1917 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 1918 0, 95, 235, 0, 0, 42, 236, 237, 0, 0, 1919 0, 231, 0, 0, 0, 238, 0, 230, 0, 0, 1920 0, 0, 0, 0, 0, 0, 0, 232, 233, 0, 1921 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 1922 0, 79, 231, 0, 0, 0, 92, 93, 80, 95, 1923 235, 0, 0, 537, 236, 237, 0, 0, 232, 233, 1924 0, 0, 0, 238, 0, 0, 0, 0, 234, 0, 1925 230, 0, 0, 0, 0, 0, 0, 92, 93, 0, 1926 95, 235, 0, 0, 42, 236, 1028, 0, 0, 0, 1927 0, 0, 0, 0, 238, 231, 0, 0, 81, 0, 1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1929 0, 232, 233, 0, 0, 82, 83, 0, 0, 0, 1930 0, 234, 0, 0, 0, 0, 0, 84, 0, 0, 1931 92, 93, 0, 95, 235, 0, 0, 1081, 1082, 1083, 1932 0, 0, 0, 0, 0, 0, -448, 238, 85, 80, 1933 86, 87, 0, 0, 0, 155, -461, 0, -474, 0, 1934 0, 0, 0, 88, -706, 156, 0, 0, 0, 0, 1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1936 0, 0, 0, 89, 0, 0, 90, 91, -333, 0, 1937 0, -333, -333, -333, -333, 157, 0, 0, 0, -333, 1938 92, 93, 94, 95, 0, -333, 0, 96, 97, 0, 1939 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1940 0, -706, -706, -706, 0, 159, 0, 80, 84, 0, 1941 -706, 0, 160, 155, 0, 161, 162, 0, 163, 0, 1942 0, 164, 0, 156, 165, 166, 167, 0, -706, 0, 1943 80, 0, 0, 0, 0, 0, 155, 0, 0, 0, 1944 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 1945 168, 0, 0, 157, 0, 0, 0, 0, 0, 0, 1946 0, 0, 0, 0, 89, -706, -706, 90, 158, 0, 1947 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 1948 0, 92, 93, 159, 95, 0, 84, -128, 169, 97, 1949 160, 158, 0, 161, 162, 0, 163, 0, 0, 164, 1950 0, 0, 165, 166, 167, 0, 159, 0, 0, 84, 1951 -129, 0, 0, 160, 155, 0, 161, 162, 0, 163, 1952 0, 0, 164, 0, 156, 165, 166, 167, 168, 0, 1953 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 1954 0, 0, 89, 0, 0, 90, 0, 0, 0, 0, 1955 0, 168, 0, 0, 157, 0, 0, -128, 0, 92, 1956 93, 0, 95, 0, 0, 89, 169, 97, 90, 158, 1957 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 1958 -129, 0, 92, 93, 159, 95, 0, 84, -125, 169, 1959 97, 160, 158, 0, 161, 162, 0, 163, 0, 0, 1960 164, 0, 1033, 165, 166, 167, 0, 159, 0, 0, 1961 0, 0, 0, 0, 160, 820, 0, 161, 162, 0, 1962 163, 0, 0, 164, 0, 0, 165, 166, 167, 168, 1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964 0, 0, 0, 89, 0, 0, 90, 0, 0, 0, 1965 0, 0, 168, 0, 0, 157, 0, 0, -125, 0, 1966 92, 93, 0, 95, 0, 0, 89, 169, 97, 0, 1967 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1968 0, 0, 0, 92, 93, 159, 95, 0, 0, 0, 1969 42, 97, 160, 0, 0, 161, 162, 0, 163, 0, 1970 0, 164, 0, 0, 165, 166, 167, 0, 0, 0, 1380 1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1381 1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1382 0, 0, 0, 0, 0, 0, 472, 0, 0, 0, 1383 0, 0, 0, 132, 0, 0, 0, 0, 161, 0, 1384 0, 133, 134, 474, 0, 162, 0, 0, 0, 0, 1385 0, 163, 164, 0, 0, 135, 136, 165, 0, 0, 1386 0, 137, 138, 139, 140, 141, 166, 167, 0, 168, 1387 169, 0, 0, 170, 171, 172, 142, 143, 144, 145, 1388 146, 147, 148, 0, 149, 150, 151, 0, 0, 152, 1389 153, 154, 0, 155, 156, 157, 158, 159, 0, 160, 1973 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1974 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 1390 1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1393 0, 0, 0, 0, 0, 472, 0, 0, 0, 0, 1394 0, 0, 132, 0, 0, 0, 0, 161, 0, 0, 1395 133, 134, 474, 0, 162, 0, 0, 0, 0, 0, 1396 163, 164, 0, 0, 135, 136, 165, 0, 0, 0, 1397 137, 138, 139, 140, 141, 166, 167, 0, 168, 169, 1398 0, 0, 527, 171, 172, 142, 143, 144, 145, 146, 1399 147, 148, 0, 149, 150, 151, 0, 0, 152, 153, 1400 154, 0, 155, 156, 157, 158, 159, 0, 160, 0, 1401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1404 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 1405 0, 132, 0, 0, 0, 0, 161, 0, 0, 133, 1406 134, 704, 0, 162, 0, 0, 0, 0, 0, 163, 1407 164, 0, 0, 135, 136, 165, 0, 0, 0, 137, 1408 138, 139, 140, 141, 166, 167, 0, 168, 169, 0, 1409 0, 170, 171, 172, 142, 143, 144, 145, 146, 147, 1410 148, 0, 149, 150, 151, 0, 0, 152, 153, 154, 1411 0, 155, 156, 157, 158, 159, 0, 160, 0, 0, 1412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1415 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 1416 132, 0, 0, 0, 0, 161, 0, 0, 133, 134, 1417 0, 0, 162, 0, 0, 0, 0, 0, 163, 164, 1418 0, 0, 135, 136, 165, 0, 0, 0, 137, 138, 1419 139, 140, 141, 166, 167, 0, 168, 169, 0, 0, 1420 170, 171, 172, 142, 143, 144, 145, 146, 147, 148, 1421 0, 149, 150, 151, 0, 0, 152, 153, 154, 0, 1422 155, 156, 157, 158, 159, 0, 160, 0, 0, 0, 1423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1426 0, 0, 905, 0, 0, 0, 0, 0, 0, 132, 1427 0, 0, 0, 0, 161, 0, 0, 133, 134, 0, 1428 0, 162, 0, 0, 0, 0, 0, 163, 164, 0, 1429 0, 135, 136, 165, 0, 0, 0, 137, 138, 139, 1430 140, 141, 166, 167, 0, 168, 169, 0, 0, 170, 1431 171, 172, 142, 143, 144, 145, 146, 147, 148, 0, 1432 149, 150, 151, 0, 0, 152, 153, 154, 0, 155, 1433 156, 157, 158, 159, 0, 160, 0, 0, 0, 0, 1434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437 0, 925, 0, 0, 0, 0, 0, 0, 132, 0, 1438 0, 0, 0, 161, 0, 0, 133, 134, 0, 0, 1439 162, 0, 0, 0, 0, 0, 163, 164, 0, 0, 1440 135, 136, 165, 0, 0, 0, 137, 138, 139, 140, 1441 141, 166, 167, 0, 168, 169, 0, 0, 170, 171, 1442 172, 142, 143, 144, 145, 146, 147, 148, 0, 149, 1443 150, 151, 0, 0, 152, 153, 154, 0, 155, 156, 1444 157, 158, 159, 0, 160, 0, 0, 0, 0, 0, 1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1448 0, 633, 0, 0, 0, 0, 0, 132, 0, 0, 1449 0, 0, 161, 0, 0, 133, 134, 0, 634, 162, 1450 0, 0, 0, 0, 0, 163, 164, 0, 0, 135, 1451 136, 165, 0, 0, 0, 137, 138, 139, 140, 141, 1452 166, 167, 0, 168, 169, 0, 0, 170, 171, 172, 1453 142, 143, 144, 145, 146, 147, 148, 0, 149, 150, 1454 151, 0, 0, 152, 153, 154, 0, 155, 156, 157, 1455 158, 159, 0, 160, 0, 0, 0, 0, 0, 0, 1456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1459 616, 0, 0, 0, 0, 0, 132, 0, 0, 0, 1460 0, 161, 0, 0, 133, 134, 0, 0, 162, 0, 1461 0, 0, 0, 0, 163, 164, 0, 0, 135, 136, 1462 165, 0, 0, 0, 137, 138, 139, 140, 141, 166, 1463 167, 0, 168, 169, 0, 0, 170, 171, 172, 142, 1464 143, 144, 145, 146, 147, 148, 0, 149, 150, 151, 1465 0, 0, 152, 153, 154, 0, 155, 156, 157, 158, 1466 159, 0, 160, 0, 0, 0, 0, 0, 0, 0, 1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 638, 1470 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 1471 161, 0, 0, 133, 134, 0, 0, 162, 0, 0, 1472 0, 0, 0, 163, 164, 0, 0, 135, 136, 165, 1473 0, 0, 0, 137, 138, 139, 140, 141, 166, 167, 1474 0, 168, 169, 0, 0, 170, 171, 172, 142, 143, 1475 144, 145, 146, 147, 148, 0, 149, 150, 151, 0, 1476 0, 152, 153, 154, 0, 155, 156, 157, 158, 159, 1477 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 1478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1480 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 1481 0, 0, 0, 0, 132, 0, 0, 0, 0, 161, 1482 0, 0, 133, 134, 0, 0, 162, 0, 0, 0, 1483 0, 0, 163, 164, 0, 0, 135, 136, 165, 0, 1484 0, 0, 137, 138, 139, 140, 141, 166, 167, 0, 1485 168, 169, 0, 0, 170, 171, 172, 142, 143, 144, 1486 145, 146, 147, 148, 0, 149, 150, 151, 0, 0, 1487 152, 153, 154, 0, 155, 156, 157, 158, 159, 0, 1488 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492 0, 0, 0, 132, 0, 0, 0, 0, 161, 0, 1493 0, 133, 134, 0, 0, 162, 0, 0, 0, 0, 1494 0, 163, 164, 0, 0, 135, 136, 165, 0, 0, 1495 0, 137, 138, 139, 140, 141, 166, 167, 0, 168, 1496 169, 0, 0, 170, 171, 172, 142, 143, 144, 145, 1497 146, 147, 148, 0, 149, 150, 151, 0, 0, 152, 1498 153, 154, 0, 155, 156, 157, 158, 159, 0, 160, 1499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1503 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 1504 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 1505 163, 164, 0, 0, 0, 0, 165, 0, 0, 0, 1506 0, 0, 0, 0, 0, 166, 167, 132, 168, 169, 1507 0, 0, 170, 171, 172, 133, 134, 661, 173, 662, 1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 1509 136, 0, 0, 0, 0, 137, 138, 139, 140, 141, 1510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1511 142, 143, 144, 145, 146, 147, 148, 0, 149, 150, 1512 151, 0, 0, 152, 153, 154, 0, 155, 156, 157, 1513 158, 159, 0, 160, 0, 0, 0, 0, 0, 0, 1514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1517 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 1518 0, 161, 0, 0, 133, 134, 549, 0, 162, 0, 1519 0, 0, 0, 0, 163, 164, 0, 0, 135, 136, 1520 165, 0, 0, 0, 137, 138, 139, 140, 141, 166, 1521 167, 0, 168, 169, 0, 0, 170, 171, 663, 142, 1522 143, 144, 145, 146, 147, 148, 0, 149, 150, 151, 1523 0, 0, 152, 153, 154, 0, 155, 156, 157, 158, 1524 159, 0, 160, 0, 0, 0, 0, 0, 0, 0, 1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 1529 161, 0, 0, 133, 134, 727, 0, 162, 0, 0, 1530 0, 0, 0, 163, 164, 0, 0, 135, 136, 165, 1531 0, 0, 0, 137, 138, 139, 140, 141, 166, 167, 1532 0, 168, 169, 0, 0, 170, 171, 172, 142, 143, 1533 144, 145, 146, 147, 148, 0, 149, 150, 151, 0, 1534 0, 152, 153, 154, 0, 155, 156, 157, 158, 159, 1535 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 1536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 1540 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 1541 0, 0, 163, 164, 0, 132, 0, 0, 165, 0, 1542 0, 0, 0, 133, 134, 0, 0, 166, 167, 0, 1543 168, 169, 0, 0, 170, 171, 172, 135, 136, 9, 1544 0, 0, 0, 137, 138, 139, 140, 141, 0, 0, 1545 0, 0, 0, 0, 0, 0, 0, 0, 142, 143, 1546 144, 145, 146, 147, 148, 0, 149, 150, 151, 0, 1547 0, 152, 153, 154, 0, 155, 156, 157, 158, 159, 1548 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 1549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552 0, 0, 0, 0, 132, 0, 0, 0, 0, 161, 1553 0, 0, 133, 134, 704, 0, 162, 0, 0, 0, 1554 0, 0, 163, 164, 0, 0, 135, 136, 165, 0, 1555 0, 0, 137, 138, 139, 140, 141, 166, 167, 0, 1556 168, 169, 0, 0, 170, 171, 172, 142, 143, 144, 1557 145, 146, 147, 148, 0, 149, 150, 151, 0, 0, 1558 152, 153, 154, 0, 155, 156, 157, 158, 159, 0, 1559 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563 0, 0, 0, 132, 0, 0, 0, 0, 161, 0, 1564 0, 133, 134, 1012, 0, 162, 0, 0, 0, 0, 1565 0, 163, 164, 0, 0, 135, 136, 165, 0, 0, 1566 0, 137, 138, 139, 140, 141, 166, 167, 0, 168, 1567 169, 0, 0, 170, 171, 172, 142, 143, 144, 145, 1568 146, 147, 148, 0, 149, 150, 151, 0, 0, 152, 1569 153, 154, 0, 155, 156, 157, 158, 159, 0, 160, 1570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1574 0, 0, 132, 0, 0, 0, 0, 161, 0, 0, 1575 133, 134, 0, 0, 162, 0, 0, 0, 0, 0, 1576 163, 164, 0, 0, 135, 136, 165, 0, 0, 0, 1577 137, 138, 139, 140, 141, 166, 167, 0, 168, 169, 1578 0, 0, 170, 171, 172, 142, 143, 144, 145, 146, 1579 147, 148, 0, 149, 150, 151, 0, 0, 152, 153, 1580 154, 0, 155, 156, 157, 158, 159, 0, 160, 0, 1581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1585 0, 132, 0, 0, 0, 0, 161, 0, 0, 133, 1586 134, 0, 0, 162, 0, 0, 0, 0, 0, 163, 1587 164, 0, 0, 135, 136, 165, 0, 0, 0, 137, 1588 138, 139, 140, 141, 166, 167, 0, 168, 169, 0, 1589 0, 170, 171, 172, 142, 143, 144, 145, 146, 147, 1590 148, 0, 149, 150, 151, 0, 0, 152, 153, 154, 1591 0, 155, 156, 157, 158, 159, 0, 160, 0, 0, 1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1596 132, 0, 0, 0, 0, 161, 0, 0, 133, 134, 1597 0, 0, 162, 0, 0, 0, 0, 0, 163, 164, 1598 0, 0, 135, 136, 165, 0, 0, 0, 137, 138, 1599 139, 140, 141, 166, 167, 0, 168, 169, 0, 0, 1600 170, 171, 363, 142, 143, 144, 145, 146, 147, 148, 1601 0, 149, 150, 151, 0, 0, 152, 153, 154, 0, 1602 155, 156, 157, 158, 159, 0, 160, 0, 0, 0, 1603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1606 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 1607 0, 0, 0, 0, 161, 0, 0, 133, 134, 0, 1608 0, 162, 0, 0, 0, 0, 0, 163, 164, 0, 1609 0, 135, 136, 165, 0, 0, 0, 137, 138, 139, 1610 140, 141, 166, 167, 0, 168, 169, 0, 0, 170, 1611 431, 172, 142, 143, 144, 145, 146, 147, 148, 0, 1612 149, 150, 151, 0, 0, 152, 153, 154, 0, 155, 1613 156, 157, 158, 159, 0, 160, 0, 0, 0, 0, 1614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1617 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 1618 0, 0, 0, 161, 0, 0, 133, 134, 0, 0, 1619 162, 0, 0, 0, 0, 0, 163, 164, 0, 0, 1620 135, 136, 165, 0, 0, 0, 137, 138, 139, 140, 1621 141, 166, 167, 0, 168, 169, 0, 0, 170, 530, 1622 531, 142, 143, 144, 145, 146, 147, 148, 0, 149, 1623 150, 151, 0, 0, 152, 153, 154, 0, 155, 156, 1624 157, 158, 159, 0, 160, 0, 0, 0, 0, 0, 1625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1628 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 1629 0, 0, 161, 0, 0, 133, 134, 0, 0, 162, 1630 0, 0, 0, 0, 0, 163, 164, 0, 0, 135, 1631 136, 165, 0, 0, 0, 137, 138, 139, 140, 141, 1632 166, 167, 0, 168, 169, 0, 0, 919, 171, 363, 1633 142, 143, 144, 145, 146, 147, 148, 0, 149, 150, 1634 151, 0, 0, 152, 153, 154, 0, 155, 156, 157, 1635 158, 159, 0, 160, 0, 0, 0, 0, 0, 0, 1636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1640 0, 161, 0, 0, 0, 0, 0, 0, 162, 0, 1641 0, 0, 0, 0, 163, 164, 0, 0, 0, 0, 1642 165, 0, 0, 0, 0, 0, 0, 0, 0, 166, 1643 167, 0, 168, 169, 0, 0, 170, 171, 956, 311, 1644 312, 422, 0, 423, 0, 0, 0, 0, 0, 0, 1645 0, 0, 0, 135, 136, 0, 0, 0, 0, 137, 1646 138, 139, 140, 141, 0, 0, 314, 315, 316, 317, 1647 318, 0, 319, 320, 142, 143, 144, 145, 146, 147, 1648 148, 0, 149, 150, 151, 0, 0, 152, 153, 154, 1649 0, 155, 156, 157, 158, 159, 0, 160, 0, 0, 1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1655 0, 0, 162, 0, 0, 0, 0, 0, 163, 164, 1656 0, 0, 0, 0, 165, 0, 0, 0, 0, 311, 1657 312, 313, 0, 166, 167, 0, 168, 169, 0, 0, 1658 321, 171, 424, 135, 136, 0, 0, 0, 0, 137, 1659 138, 139, 140, 141, 0, 0, 314, 315, 316, 317, 1660 318, 0, 319, 320, 142, 143, 144, 145, 146, 147, 1661 148, 0, 149, 150, 151, 311, 312, 152, 153, 154, 1662 0, 155, 156, 157, 158, 159, 0, 160, 0, 135, 1663 136, 0, 0, 0, 0, 137, 138, 139, 140, 141, 1664 0, 0, 314, 315, 316, 317, 318, 0, 319, 320, 1665 142, 143, 144, 145, 146, 147, 148, 0, 149, 150, 1666 151, 0, 0, 152, 153, 154, 0, 155, 156, 157, 1667 158, 159, 0, 160, 0, 0, 0, 0, 0, 0, 1668 0, 0, 162, 0, 0, 0, 0, 0, 163, 164, 1669 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 1670 0, 0, 0, 166, 167, 0, 168, 169, 0, 0, 1671 321, 171, 322, 0, 0, 0, 0, 0, 0, 5, 1672 0, 0, 6, 0, 7, 0, 8, 0, 162, 9, 1673 0, 0, 0, 0, 163, 164, 0, 0, 0, 10, 1674 165, 0, 0, 0, 0, 0, 0, 0, 0, 166, 1675 167, 0, 168, 169, 0, 11, 321, 171, 424, 12, 1676 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 1677 15, 0, 16, 17, 0, 18, 0, 0, 0, 0, 1678 19, 20, 21, 22, 23, 0, 24, 25, 0, 0, 1679 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1680 36, 0, 37, 0, 38, 39, 0, 0, 40, 41, 1681 42, 0, 43, 0, 44, 0, 0, 45, 46, 0, 1682 0, 47, 48, 49, 0, 0, 0, 0, 0, 0, 1683 0, 50, 0, 0, 0, 52, 53, 54, 55, 56, 1684 57, 58, 59, 60, 61, 62, 63, 0, 0, 64, 1685 0, 0, 65, 66, 67, 68, 5, 0, 0, 6, 1686 488, 7, 0, 8, 0, 0, 9, 0, 0, 0, 1687 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689 0, 0, 11, 0, 0, 0, 12, 13, 0, 0, 1690 0, 14, 0, 0, 0, 0, 0, 15, 0, 16, 1691 17, 0, 18, 0, 0, 0, 0, 19, 20, 21, 1692 22, 23, 0, 24, 25, 0, 0, 26, 27, 28, 1693 29, 30, 31, 32, 33, 34, 35, 36, 0, 37, 1694 0, 38, 39, 0, 0, 40, 41, 42, 0, 43, 1695 0, 44, 0, 0, 45, 46, 0, 0, 47, 48, 1696 49, 0, 0, 0, 0, 0, 0, 0, 50, 0, 1697 0, 0, 52, 53, 54, 55, 56, 57, 58, 59, 1698 60, 61, 62, 63, 0, 0, 64, 135, 136, 65, 1699 66, 67, 68, 137, 138, 139, 140, 141, 0, 0, 1700 0, 0, 0, 0, 0, 0, 0, 0, 142, 143, 1701 144, 145, 146, 147, 148, 0, 149, 150, 151, 0, 1702 0, 152, 153, 154, 0, 155, 156, 157, 158, 159, 1703 0, 160, 135, 136, 0, 0, 0, 0, 137, 138, 1704 139, 140, 141, 0, 0, 0, 0, 0, 0, 0, 1705 0, 0, 0, 142, 143, 144, 145, 146, 147, 148, 1706 0, 149, 150, 151, 0, 0, 152, 153, 154, 0, 1707 155, 156, 157, 158, 159, 0, 160, 0, 0, 0, 1708 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 1709 0, 0, 163, 164, 0, 0, 0, 0, 165, 0, 1710 0, 0, 0, 0, 0, 0, 0, 166, 167, 0, 1711 168, 169, 0, 0, 170, 171, 563, 0, 0, 8, 1712 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 1713 0, 162, 10, 0, 0, 0, 0, 163, 164, 0, 1714 0, 0, 0, 165, 0, 0, 0, 0, 11, 0, 1715 0, 0, 166, 167, 0, 168, 169, 0, 0, 919, 1716 171, 563, 0, 15, 0, 0, 0, 0, 18, 0, 1717 747, 0, 0, 19, 20, 21, 22, 23, 0, 0, 1718 25, 0, 0, 26, 27, 28, 29, 30, 31, 32, 1719 33, 34, 35, 0, 0, 8, 0, 0, 9, 0, 1720 0, 0, 41, 0, 0, 0, 0, 44, 10, 0, 1721 0, 0, 0, 0, 47, 0, 49, 0, 0, 0, 1722 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1723 0, 0, 0, 0, 0, 59, 60, 61, 62, 15, 1724 0, 0, 0, 0, 18, 0, 0, 67, 68, 19, 1725 20, 21, 22, 23, 0, 0, 25, 0, 0, 26, 1726 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 1727 0, 0, 0, 0, 826, 0, 0, 0, 41, 0, 1728 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 1729 47, 0, 49, 0, 0, 0, 0, 0, 0, 0, 1730 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1731 0, 59, 60, 61, 62, 15, 0, 0, 0, 0, 1732 18, 827, 0, 67, 68, 19, 20, 828, 0, 23, 1733 0, 0, 25, 0, 0, 26, 27, 28, 29, 30, 1734 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 1735 826, 0, 0, 0, 41, 0, 0, 0, 0, 44, 1736 0, 0, 0, 0, 0, 0, 47, 0, 49, 0, 1737 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 1738 0, 0, 0, 0, 0, 0, 0, 59, 60, 61, 1739 62, 15, 0, 0, 0, 0, 18, 0, 0, 170, 1740 68, 19, 20, 828, 0, 23, 0, 0, 25, 0, 1741 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1742 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743 41, 0, 0, 0, 0, 44, 0, 0, 0, 0, 1744 0, 0, 47, 0, 49, 0, 0, 0, 0, 0, 1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1746 0, 0, 0, 59, 60, 61, 62, 0, 0, 0, 1747 0, 0, 0, 0, 0, 170, 68 1976 0, 92, 93, 0, 95, 0, 0, 0, 42, 97 1748 1977 }; 1749 1978 1750 1979 static const yytype_int16 yycheck[] = 1751 1980 { 1752 11, 295, 1, 185, 15, 101, 240, 18, 104, 578, 1753 205, 161, 108, 394, 277, 111, 537, 264, 478, 483, 1754 219, 268, 172, 483, 537, 395, 654, 124, 54, 1, 1755 17, 565, 566, 161, 564, 565, 566, 3, 274, 711, 1756 39, 5, 140, 723, 142, 3, 124, 748, 720, 3, 1757 37, 38, 51, 3, 124, 291, 18, 3, 80, 157, 1758 22, 3, 75, 76, 214, 87, 3, 217, 3, 19, 1759 20, 21, 3, 3, 19, 20, 21, 905, 24, 51, 1760 5, 21, 24, 161, 3, 124, 214, 113, 977, 115, 1761 116, 18, 21, 563, 31, 112, 3, 214, 3, 769, 1762 570, 44, 79, 101, 81, 82, 21, 892, 153, 86, 1763 3, 122, 31, 160, 127, 212, 213, 24, 3, 130, 1764 131, 132, 219, 24, 3, 162, 3, 3, 3, 18, 1765 141, 24, 1021, 22, 131, 213, 214, 3, 3, 22, 1766 3, 3, 3, 213, 155, 162, 363, 932, 245, 45, 1767 161, 3, 3, 3, 3, 3, 3, 3, 122, 3, 1768 988, 172, 160, 27, 107, 198, 177, 162, 404, 166, 1769 162, 491, 3, 18, 19, 20, 21, 22, 23, 21, 1770 191, 21, 22, 23, 160, 119, 162, 23, 221, 188, 1771 201, 202, 88, 89, 131, 122, 130, 122, 160, 162, 1772 901, 521, 168, 214, 168, 885, 217, 206, 166, 163, 1773 882, 21, 131, 363, 213, 161, 227, 167, 217, 161, 1774 166, 220, 167, 160, 166, 322, 225, 167, 163, 240, 1775 327, 160, 163, 163, 331, 363, 766, 767, 768, 473, 1776 253, 339, 340, 265, 322, 915, 363, 162, 270, 327, 1777 237, 273, 322, 331, 161, 254, 131, 327, 163, 166, 1778 358, 331, 360, 361, 362, 166, 502, 503, 161, 246, 1779 269, 160, 370, 166, 510, 286, 18, 288, 163, 162, 1780 22, 21, 254, 322, 163, 363, 163, 163, 524, 300, 1781 301, 486, 331, 527, 305, 126, 160, 163, 163, 535, 1782 163, 163, 163, 314, 315, 316, 317, 318, 319, 320, 1783 24, 163, 163, 163, 163, 163, 163, 163, 163, 163, 1784 162, 121, 133, 322, 164, 165, 329, 424, 164, 165, 1785 341, 91, 3, 162, 345, 346, 347, 348, 349, 350, 1786 351, 352, 353, 354, 355, 356, 424, 94, 95, 160, 1787 160, 22, 363, 163, 424, 115, 797, 798, 799, 131, 1788 160, 160, 373, 374, 375, 376, 377, 378, 379, 380, 1789 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 1790 391, 531, 916, 847, 395, 424, 916, 847, 848, 849, 1791 850, 851, 609, 610, 166, 612, 8, 9, 10, 162, 1792 12, 13, 14, 15, 16, 17, 1034, 19, 20, 21, 1793 22, 23, 153, 160, 425, 18, 255, 256, 160, 22, 1794 160, 162, 123, 163, 133, 428, 140, 162, 664, 10, 1795 24, 12, 13, 14, 15, 16, 17, 162, 19, 20, 1796 21, 22, 23, 282, 814, 471, 162, 160, 544, 712, 1797 44, 160, 166, 166, 160, 702, 837, 161, 162, 658, 1798 166, 991, 473, 757, 1033, 615, 563, 29, 479, 31, 1799 131, 670, 3, 570, 915, 572, 573, 574, 575, 576, 1800 133, 492, 160, 719, 162, 563, 497, 18, 722, 78, 1801 79, 22, 570, 563, 572, 573, 574, 575, 576, 694, 1802 570, 1022, 572, 573, 574, 575, 576, 160, 161, 1022, 1803 3, 162, 83, 663, 85, 526, 527, 161, 162, 496, 1804 531, 160, 1043, 3, 501, 18, 537, 504, 4, 22, 1805 1043, 162, 163, 572, 573, 574, 575, 576, 18, 538, 1806 24, 540, 22, 1007, 166, 642, 140, 1007, 547, 3, 1807 561, 3, 164, 165, 19, 20, 21, 22, 23, 562, 1808 160, 658, 848, 849, 850, 851, 3, 578, 665, 580, 1809 19, 20, 166, 670, 577, 160, 161, 162, 83, 84, 1810 797, 798, 799, 164, 165, 162, 822, 665, 41, 18, 1811 19, 20, 21, 22, 23, 665, 37, 38, 609, 610, 1812 168, 612, 123, 124, 615, 616, 134, 135, 136, 162, 1813 904, 21, 22, 23, 684, 18, 19, 20, 21, 22, 1814 23, 162, 633, 634, 162, 162, 162, 638, 162, 640, 1815 162, 160, 162, 644, 3, 162, 162, 162, 820, 162, 1816 162, 160, 653, 739, 655, 741, 657, 797, 647, 162, 1817 162, 162, 663, 887, 750, 654, 162, 660, 162, 162, 1818 162, 162, 162, 162, 160, 676, 665, 678, 3, 3, 1819 160, 163, 769, 672, 5, 3, 162, 913, 160, 132, 1820 3, 692, 693, 160, 3, 138, 139, 160, 160, 983, 1821 160, 769, 703, 3, 161, 3, 5, 163, 3, 769, 1822 153, 154, 3, 156, 157, 3, 162, 22, 161, 5, 1823 709, 722, 5, 6, 7, 8, 9, 10, 3, 12, 1824 13, 14, 15, 16, 17, 3, 19, 20, 21, 22, 1825 23, 163, 163, 3, 3, 162, 160, 160, 163, 160, 1826 162, 752, 162, 162, 162, 4, 3, 163, 161, 163, 1827 761, 3, 3, 989, 12, 13, 14, 15, 16, 17, 1828 23, 19, 20, 21, 22, 23, 3, 3, 771, 772, 1829 773, 774, 775, 12, 13, 14, 15, 16, 17, 163, 1830 19, 20, 21, 22, 23, 3, 797, 798, 799, 163, 1831 163, 163, 22, 160, 162, 22, 21, 26, 894, 163, 1832 160, 25, 163, 814, 815, 4, 956, 903, 122, 3, 1833 3, 160, 5, 6, 7, 8, 9, 10, 915, 12, 1834 13, 14, 15, 16, 17, 36, 19, 20, 21, 22, 1835 23, 160, 162, 160, 3, 5, 162, 915, 163, 936, 1836 162, 5, 163, 163, 162, 915, 163, 160, 160, 160, 1837 4, 3, 3, 160, 78, 79, 80, 163, 869, 163, 1838 871, 163, 873, 163, 167, 22, 82, 122, 163, 162, 1839 160, 164, 165, 160, 163, 168, 887, 163, 160, 975, 1840 168, 892, 106, 163, 108, 109, 110, 898, 160, 113, 1841 114, 82, 116, 117, 905, 160, 22, 254, 160, 486, 1842 951, 51, 678, 949, 674, 481, 164, 165, 405, 482, 1843 506, 494, 260, 912, 925, 526, 927, 928, 289, 716, 1844 52, 932, 933, 871, 935, 164, 165, 928, 869, 397, 1845 663, 960, 891, 1017, 945, 542, 986, 758, 938, 938, 1846 124, 761, 665, -1, 435, 956, -1, -1, -1, -1, 1847 961, 962, -1, -1, -1, -1, -1, -1, -1, -1, 1848 -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 1849 -1, 164, 165, -1, -1, 986, -1, 988, -1, -1, 1850 -1, -1, -1, -1, -1, 984, 997, -1, -1, 1000, 1851 -1, -1, 24, 25, -1, -1, 28, 29, 30, 31, 1852 32, -1, -1, 35, -1, -1, -1, -1, -1, -1, 1853 -1, 1022, -1, 45, -1, -1, -1, -1, -1, -1, 1854 1031, -1, 1033, -1, 1035, 1036, 1025, -1, -1, 61, 1855 -1, -1, 1043, 65, 66, 1034, -1, -1, 70, 1050, 1856 -1, -1, -1, -1, 76, -1, 78, 79, -1, 81, 1857 -1, -1, -1, -1, 86, 87, 88, 89, 90, -1, 1858 92, 93, -1, -1, 96, 97, 98, 99, 100, 101, 1859 102, 103, 104, 105, 106, -1, 108, -1, 110, 111, 1860 -1, -1, 114, 115, 116, -1, 118, -1, 120, -1, 1861 -1, 123, 124, -1, -1, 127, 128, 129, -1, -1, 1862 -1, -1, -1, -1, -1, 137, -1, -1, 140, 141, 1863 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 1864 152, -1, -1, 155, -1, -1, 158, 159, 160, 161, 1865 -1, -1, -1, -1, 166, 5, 6, 7, 8, 9, 1866 10, -1, 12, 13, 14, 15, 16, 17, -1, 19, 1867 20, 21, 22, 23, 3, -1, 5, 6, 7, 8, 1868 9, 10, -1, 12, 13, 14, 15, 16, 17, -1, 1869 19, 20, 21, 22, 23, 3, -1, 5, 6, 7, 1870 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 1871 -1, 19, 20, 21, 22, 23, 3, -1, 5, 6, 1872 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 1873 17, -1, 19, 20, 21, 22, 23, 3, -1, 5, 1874 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 1875 16, 17, -1, 19, 20, 21, 22, 23, 3, -1, 1876 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 1877 15, 16, 17, -1, 19, 20, 21, 22, 23, 4, 1878 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 1879 15, 16, 17, -1, 19, 20, 21, 22, 23, 34, 1880 -1, -1, -1, -1, 39, 40, -1, 42, 43, -1, 1881 -1, -1, -1, -1, 164, 165, -1, -1, 168, 54, 1882 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 1883 -1, -1, 67, 68, 69, 164, 165, 72, 73, 74, 1884 75, -1, 77, -1, -1, -1, -1, -1, -1, -1, 1885 -1, -1, -1, -1, -1, -1, 164, 165, -1, -1, 1886 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1887 -1, -1, -1, -1, -1, -1, -1, 164, 165, 5, 1888 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 1889 16, 17, -1, 19, 20, 21, 22, 23, 164, 165, 1890 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 1891 15, 16, 17, -1, 19, 20, 21, 22, 23, 164, 1892 165, -1, -1, -1, -1, 160, -1, -1, -1, -1, 1893 -1, -1, -1, -1, -1, -1, -1, -1, 163, 164, 1894 165, 4, 5, 6, 7, 8, 9, 10, -1, 12, 1895 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 1896 23, 4, 5, 6, 7, 8, 9, 10, -1, 12, 1897 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 1898 23, 4, 5, 6, 7, 8, 9, 10, -1, 12, 1899 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 1900 23, 4, 5, 6, 7, 8, 9, 10, -1, 12, 1901 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 1902 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1903 -1, -1, -1, -1, -1, -1, -1, 163, 164, 165, 1904 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1905 -1, -1, -1, -1, -1, -1, -1, -1, 163, 164, 1906 165, 5, 6, 7, 8, 9, 10, -1, 12, 13, 1907 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 1908 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 1909 15, 16, 17, -1, 19, 20, 21, 22, 23, -1, 1910 -1, 164, 165, -1, -1, -1, -1, -1, -1, -1, 1911 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1912 -1, 164, 165, -1, -1, -1, -1, -1, -1, -1, 1913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1914 -1, 164, 165, -1, -1, -1, -1, -1, -1, -1, 1915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1916 -1, 164, 165, 5, 6, 7, 8, 9, 10, -1, 1917 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 1918 22, 23, 5, 6, 7, 8, 9, 10, -1, 12, 1919 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 1920 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1921 -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, 1922 164, 165, -1, -1, -1, -1, -1, -1, -1, -1, 1923 -1, -1, -1, -1, -1, -1, -1, -1, 163, 164, 1924 165, 5, 6, 7, 8, 9, 10, -1, 12, 13, 1925 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 1926 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 1927 15, 16, 17, -1, 19, 20, 21, 22, 23, 5, 1928 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 1929 16, 17, -1, 19, 20, 21, 22, 23, 5, 6, 1930 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 1931 17, -1, 19, 20, 21, 22, 23, -1, -1, -1, 1932 -1, 163, 164, 165, -1, -1, -1, -1, -1, -1, 1933 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1934 163, 164, 165, 5, 6, 7, 8, 9, 10, -1, 1935 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 1936 22, 23, 5, 6, 7, 8, 9, 10, -1, 12, 1937 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 1938 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1939 -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, 1940 164, 165, -1, -1, -1, -1, -1, -1, -1, -1, 1941 -1, -1, -1, -1, -1, -1, -1, -1, 163, 164, 1942 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1943 -1, -1, -1, -1, 160, -1, -1, -1, 164, 165, 1944 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1945 -1, -1, -1, -1, -1, -1, 163, 164, 165, 5, 1946 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 1947 16, 17, -1, 19, 20, 21, 22, 23, 5, 6, 1948 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 1949 17, -1, 19, 20, 21, 22, 23, -1, -1, -1, 1950 -1, 163, 164, 165, -1, -1, -1, -1, -1, -1, 1951 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1952 163, 164, 165, 5, 6, 7, 8, 9, 10, -1, 1953 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 1954 22, 23, 5, 6, 7, 8, 9, 10, -1, 12, 1955 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 1956 23, 5, 6, 7, 8, 9, 10, -1, 12, 13, 1957 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 1958 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 1959 15, 16, 17, -1, 19, 20, 21, 22, 23, -1, 1960 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1961 -1, -1, -1, -1, -1, -1, -1, 163, 164, 165, 1962 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1963 -1, -1, -1, -1, -1, -1, 163, 164, 165, 5, 1964 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 1965 16, 17, -1, 19, 20, 21, 22, 23, 5, 6, 1966 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 1967 17, -1, 19, 20, 21, 22, 23, -1, -1, -1, 1968 -1, 163, 164, 165, -1, -1, -1, -1, -1, -1, 1969 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1970 163, 164, 165, -1, -1, -1, -1, -1, -1, -1, 1971 -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, 1972 164, 165, -1, -1, -1, -1, -1, -1, -1, -1, 1973 -1, -1, -1, -1, -1, -1, -1, -1, 163, 164, 1974 165, 5, 6, 7, 8, 9, 10, -1, 12, 13, 1975 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 1976 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 1977 15, 16, 17, -1, 19, 20, 21, 22, 23, -1, 1978 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1979 -1, -1, -1, -1, -1, -1, -1, 163, 164, 165, 1980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1981 -1, -1, -1, -1, -1, -1, 163, 164, 165, 5, 1982 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 1983 16, 17, -1, 19, 20, 21, 22, 23, 5, 6, 1984 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 1985 17, -1, 19, 20, 21, 22, 23, 5, 6, 7, 1986 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 1987 -1, 19, 20, 21, 22, 23, 5, 6, 7, 8, 1988 9, 10, -1, 12, 13, 14, 15, 16, 17, -1, 1989 19, 20, 21, 22, 23, -1, -1, -1, -1, 163, 1990 164, 165, -1, -1, -1, -1, -1, -1, -1, -1, 1991 -1, -1, -1, -1, -1, -1, -1, -1, 163, 164, 1992 165, 5, 6, 7, 8, 9, 10, -1, 12, 13, 1993 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 1994 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 1995 15, 16, 17, -1, 19, 20, 21, 22, 23, -1, 1996 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1997 -1, -1, -1, -1, -1, -1, -1, 163, 164, 165, 1998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1999 -1, -1, -1, -1, -1, -1, 163, 164, 165, -1, 2000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2001 -1, -1, -1, -1, -1, 163, 164, 165, -1, -1, 2002 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2003 -1, -1, -1, -1, 163, 164, 165, 5, 6, 7, 2004 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 2005 -1, 19, 20, 21, 22, 23, 5, 6, 7, 8, 2006 9, 10, -1, 12, 13, 14, 15, 16, 17, -1, 2007 19, 20, 21, 22, 23, -1, -1, 4, 5, 163, 2008 164, 165, -1, -1, 11, -1, -1, -1, -1, -1, 2009 -1, -1, 19, 20, 21, -1, -1, -1, 163, 164, 2010 165, -1, -1, -1, -1, -1, 33, 34, -1, -1, 2011 -1, -1, 39, 40, 41, 42, 43, -1, -1, -1, 2012 -1, -1, -1, -1, -1, -1, -1, 54, 55, 56, 2013 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2014 67, 68, 69, -1, 71, 72, 73, 74, 75, -1, 2015 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1981 11, 459, 168, 213, 294, 220, 294, 52, 459, 384, 1982 90, 56, 384, 154, 237, 164, 165, 136, 52, 52, 1983 497, 288, 654, 168, 57, 494, 721, 921, 237, 62, 1984 63, 154, 294, 291, 141, 258, 73, 322, 858, 219, 1985 1006, 52, 109, 1006, 497, 294, 57, 213, 237, 606, 1986 551, 62, 63, 52, 52, 100, 591, 52, 319, 935, 1987 936, 94, 73, 695, 982, 600, 100, 100, 1028, 258, 1988 934, 104, 1098, 305, 673, 570, 942, 495, 258, 259, 1989 867, 868, 869, 94, 882, 883, 3, 874, 1273, 100, 1990 625, 1176, 1277, 104, 110, 1280, 172, 3, 1268, 3, 1991 21, 100, 100, 3, 146, 100, 1506, 19, 20, 3, 1992 3, 3, 3, 3, 21, 3, 3, 3, 24, 56, 1993 1268, 1555, 3, 191, 3, 3, 194, 3, 3, 3, 1994 353, 109, 3, 356, 3, 940, 24, 24, 24, 172, 1995 3, 1575, 3, 3, 353, 3, 24, 356, 24, 24, 1996 382, 193, 3, 3, 24, 24, 191, 24, 64, 1457, 1997 305, 172, 197, 1268, 353, 3, 24, 356, 3, 459, 1998 3, 459, 124, 3, 24, 3, 64, 64, 64, 3, 1999 3, 3, 405, 220, 399, 560, 64, 3, 64, 64, 2000 3, 24, 333, 1087, 24, 64, 405, 64, 3, 3, 2001 3, 24, 24, 1163, 353, 420, 64, 356, 3, 418, 2002 333, 3, 3, 191, 64, 3, 405, 97, 27, 5, 2003 259, 4, 159, 175, 5, 678, 237, 3, 5, 3, 2004 184, 64, 154, 167, 64, 380, 381, 382, 418, 191, 2005 325, 64, 64, 21, 311, 425, 21, 1417, 428, 325, 2006 317, 431, 19, 20, 24, 18, 5, 5, 192, 22, 2007 154, 154, 713, 3, 522, 145, 3, 304, 279, 191, 2008 193, 1441, 193, 310, 497, 1080, 971, 194, 3, 1577, 2009 192, 388, 319, 294, 21, 322, 193, 1687, 497, 374, 2010 194, 197, 325, 1441, 194, 199, 586, 1382, 374, 315, 2011 316, 1261, 194, 194, 194, 723, 194, 1173, 497, 197, 2012 197, 197, 200, 194, 325, 194, 606, 497, 24, 197, 2013 194, 197, 197, 194, 586, 191, 1124, 197, 197, 1116, 2014 197, 194, 331, 194, 194, 501, 1441, 1556, 97, 197, 2015 875, 374, 353, 194, 606, 356, 881, 197, 359, 884, 2016 384, 384, 97, 888, 849, 191, 194, 1576, 64, 194, 2017 160, 24, 399, 374, 197, 136, 194, 197, 305, 731, 2018 194, 154, 971, 384, 197, 197, 738, 1009, 194, 418, 2019 154, 194, 191, 420, 421, 1555, 145, 1557, 620, 194, 2020 194, 194, 431, 1563, 405, 394, 395, 146, 146, 194, 2021 145, 64, 194, 194, 1589, 1575, 194, 193, 184, 185, 2022 421, 187, 193, 191, 154, 191, 193, 154, 193, 499, 2023 500, 188, 193, 191, 191, 192, 459, 24, 191, 154, 2024 24, 721, 191, 721, 24, 29, 194, 31, 587, 588, 2025 589, 48, 561, 380, 381, 382, 191, 384, 459, 598, 2026 193, 666, 519, 663, 47, 678, 199, 667, 668, 721, 2027 718, 33, 495, 496, 497, 572, 689, 64, 97, 678, 2028 611, 24, 721, 24, 64, 620, 48, 557, 1438, 110, 2029 111, 1399, 1508, 1347, 495, 496, 497, 113, 611, 678, 2030 501, 197, 1458, 87, 1370, 1458, 24, 663, 678, 194, 2031 689, 667, 668, 110, 111, 19, 20, 765, 52, 689, 2032 154, 64, 29, 64, 31, 560, 145, 29, 551, 31, 2033 114, 532, 567, 52, 982, 994, 560, 560, 191, 1006, 2034 788, 982, 741, 1010, 197, 1333, 64, 160, 131, 170, 2035 551, 167, 24, 554, 191, 52, 807, 191, 809, 560, 2036 116, 117, 1350, 1006, 1186, 169, 100, 1010, 591, 592, 2037 52, 741, 560, 170, 24, 560, 192, 600, 601, 567, 2038 87, 100, 193, 1074, 1361, 586, 143, 191, 172, 24, 2039 591, 592, 64, 154, 24, 1142, 1417, 52, 182, 600, 2040 601, 24, 625, 100, 191, 606, 191, 114, 22, 194, 2041 197, 191, 154, 197, 64, 172, 639, 197, 100, 1503, 2042 124, 4, 1578, 102, 625, 1578, 167, 167, 107, 64, 2043 1155, 110, 18, 560, 64, 191, 22, 638, 639, 666, 2044 567, 64, 182, 184, 185, 100, 187, 193, 191, 191, 2045 191, 192, 192, 654, 197, 3, 197, 1467, 193, 3, 2046 139, 165, 166, 590, 199, 172, 174, 99, 100, 101, 2047 18, 175, 599, 191, 22, 182, 193, 678, 22, 197, 2048 184, 185, 821, 187, 188, 193, 194, 191, 192, 193, 2049 174, 199, 3, 620, 695, 622, 623, 624, 130, 188, 2050 723, 38, 982, 192, 982, 172, 138, 425, 983, 193, 2051 428, 22, 713, 130, 191, 168, 169, 194, 140, 191, 2052 721, 142, 723, 200, 193, 197, 12, 13, 14, 15, 2053 16, 17, 18, 872, 843, 1556, 1557, 764, 191, 5, 2054 191, 191, 1563, 194, 112, 802, 885, 197, 29, 200, 2055 31, 192, 193, 1438, 851, 1576, 191, 124, 1217, 1643, 2056 193, 191, 197, 902, 21, 22, 767, 197, 191, 908, 2057 175, 176, 177, 178, 197, 1216, 6, 7, 183, 806, 2058 807, 193, 809, 922, 189, 916, 28, 29, 30, 31, 2059 68, 69, 70, 1006, 72, 37, 193, 1010, 933, 193, 2060 191, 824, 193, 916, 99, 100, 87, 1006, 175, 1431, 2061 1175, 1010, 193, 1175, 24, 1028, 193, 184, 185, 29, 2062 187, 31, 749, 824, 191, 1105, 1192, 1006, 1194, 1028, 2063 167, 1010, 4, 114, 858, 858, 29, 29, 31, 31, 2064 1010, 112, 104, 870, 106, 87, 193, 184, 185, 1028, 2065 187, 47, 875, 1105, 191, 192, 192, 858, 881, 882, 2066 883, 884, 1142, 886, 1312, 888, 889, 1023, 1316, 193, 2067 1083, 193, 114, 200, 875, 161, 162, 163, 164, 200, 2068 881, 882, 883, 884, 1083, 886, 921, 888, 889, 5, 2069 1142, 172, 172, 173, 87, 87, 923, 174, 921, 184, 2070 185, 182, 187, 23, 1083, 10, 191, 191, 4, 195, 2071 196, 912, 935, 936, 8, 11, 157, 158, 159, 193, 2072 921, 114, 114, 19, 20, 21, 25, 191, 192, 4, 2073 172, 858, 172, 173, 935, 936, 104, 105, 40, 41, 2074 184, 185, 193, 187, 1083, 191, 873, 191, 167, 5, 2075 194, 1399, 1592, 1593, 191, 197, 983, 146, 1399, 982, 2076 887, 62, 63, 191, 1221, 184, 185, 191, 187, 168, 2077 971, 104, 191, 192, 208, 209, 199, 73, 1005, 172, 2078 172, 982, 1121, 184, 185, 193, 187, 1010, 191, 182, 2079 191, 1458, 194, 194, 921, 326, 327, 1136, 94, 193, 2080 99, 100, 101, 5, 1005, 1006, 933, 1077, 1009, 1010, 2081 194, 5, 1225, 1378, 1153, 5, 1378, 3, 1266, 150, 2082 174, 174, 1023, 174, 1224, 194, 1225, 1028, 124, 202, 2083 174, 130, 1312, 132, 133, 134, 1316, 194, 137, 138, 2084 5, 140, 141, 191, 193, 22, 1225, 3, 191, 191, 2085 4, 1074, 1087, 149, 193, 1225, 3, 11, 194, 1060, 2086 110, 4, 194, 173, 1087, 19, 20, 21, 1224, 165, 2087 166, 184, 185, 1074, 187, 154, 191, 3, 191, 175, 2088 1107, 194, 1083, 3, 1085, 191, 1087, 199, 184, 185, 2089 193, 187, 188, 4, 194, 191, 192, 193, 4, 184, 2090 185, 1124, 187, 113, 1105, 201, 191, 102, 1278, 0, 2091 1, 1578, 107, 184, 185, 110, 187, 193, 134, 1399, 2092 191, 1399, 193, 1124, 191, 120, 194, 122, 1151, 182, 2093 125, 126, 1155, 24, 194, 19, 20, 28, 29, 30, 2094 31, 1142, 193, 182, 139, 194, 37, 5, 191, 144, 2095 1151, 1175, 1175, 39, 1155, 191, 182, 102, 182, 194, 2096 1087, 3, 107, 174, 18, 110, 5, 3, 65, 66, 2097 124, 193, 22, 64, 1175, 120, 193, 122, 3, 191, 2098 125, 126, 103, 80, 1185, 1186, 193, 84, 21, 193, 2099 21, 1218, 193, 90, 139, 149, 87, 194, 3, 144, 2100 154, 193, 175, 176, 177, 178, 184, 185, 193, 187, 2101 183, 165, 166, 191, 193, 1216, 189, 3, 191, 3, 2102 191, 175, 191, 114, 1225, 169, 1365, 1154, 146, 193, 2103 184, 185, 193, 187, 188, 139, 3, 191, 192, 193, 2104 124, 1268, 184, 185, 154, 187, 1273, 201, 1175, 191, 2105 1277, 193, 114, 1280, 1695, 3, 193, 30, 5, 5, 2106 1708, 158, 1289, 3, 5, 194, 3, 194, 31, 1270, 2107 38, 168, 29, 3, 3, 194, 103, 194, 194, 194, 2108 5, 172, 4, 21, 175, 176, 177, 178, 193, 1312, 2109 193, 175, 183, 1316, 194, 191, 20, 4, 189, 4, 2110 184, 185, 194, 187, 188, 194, 197, 191, 192, 191, 2111 1333, 1312, 191, 194, 1341, 1316, 194, 194, 5, 3, 2112 107, 3, 194, 110, 1251, 4, 26, 1350, 94, 73, 2113 194, 5, 1333, 120, 194, 122, 5, 4, 125, 126, 2114 108, 3, 199, 103, 1549, 113, 193, 1370, 1548, 1350, 2115 118, 119, 139, 121, 1378, 1378, 124, 144, 199, 127, 2116 128, 129, 191, 146, 194, 1565, 194, 193, 191, 1370, 2117 1397, 103, 194, 4, 3, 5, 1399, 1378, 275, 3, 2118 5, 4, 3, 280, 193, 5, 283, 5, 3, 22, 2119 1417, 194, 1548, 290, 3, 21, 4, 3, 1399, 167, 2120 3, 3, 194, 4, 3, 3, 194, 304, 4, 1565, 2121 307, 191, 194, 194, 1441, 52, 184, 185, 194, 187, 2122 57, 193, 191, 191, 192, 62, 63, 191, 1708, 194, 2123 1431, 3, 191, 1360, 3, 1458, 191, 1438, 4, 4, 2124 21, 5, 194, 1467, 1467, 194, 343, 344, 3, 346, 2125 4, 1378, 194, 3, 22, 194, 3, 94, 355, 194, 2126 357, 194, 193, 100, 3, 3, 1467, 104, 1503, 4, 2127 4, 368, 4, 370, 194, 194, 194, 11, 194, 4, 2128 1503, 1719, 49, 124, 1590, 19, 20, 21, 100, 1516, 2129 1513, 916, 1006, 390, 1006, 1269, 20, 1697, 412, 1278, 2130 718, 1524, 1503, 1222, 519, 1441, 11, 1266, 149, 421, 2131 1006, 1431, 1513, 1430, 1270, 405, 252, 1050, 788, 1557, 2132 1563, 1558, 1549, 1524, 165, 166, 1417, 790, 1555, 1556, 2133 1557, 721, 1010, 496, 175, 172, 1563, 980, 1006, 1060, 2134 1467, 1697, 802, 184, 185, 1286, 187, 188, 1575, 1576, 2135 191, 192, 193, 1695, 1216, 1578, 1564, 993, 460, 889, 2136 201, 554, 1589, 1023, 560, 1514, 1524, 1350, 1105, 1516, 2137 467, 1341, 560, 1525, 471, 448, 1503, 447, 266, 450, 2138 455, 764, 807, 452, 4, 482, 560, 809, 804, 1590, 2139 124, 11, 318, 565, 1380, 565, 386, 1121, 560, 19, 2140 20, 619, 499, 500, 327, 560, 503, 879, 1643, 560, 2141 601, 1365, 509, 621, 560, 149, 933, 936, 1370, 560, 2142 1643, 4, 1438, 381, 560, 1652, 908, 560, 11, 526, 2143 560, 165, 166, 902, 333, 1136, 19, 20, 535, 54, 2144 1667, 175, 1643, 1687, 468, 281, 711, 544, 695, 638, 2145 184, 185, 560, 187, 188, 552, 1186, 191, 192, 193, 2146 557, 26, 1185, 1189, 1393, 1085, -1, 201, -1, -1, 2147 -1, 658, -1, -1, -1, -1, -1, -1, -1, 576, 2148 -1, 318, -1, -1, -1, 1708, 1713, -1, 325, 1716, 2149 -1, -1, -1, 4, 1695, -1, -1, -1, -1, -1, 2150 11, -1, 1729, -1, 124, -1, -1, 1708, 19, 20, 2151 -1, -1, -1, -1, -1, -1, 1643, 1644, -1, -1, 2152 -1, -1, -1, -1, -1, -1, -1, -1, -1, 149, 2153 -1, -1, -1, -1, -1, -1, -1, 374, -1, -1, 2154 637, 124, -1, 380, 381, 165, 166, 384, 5, -1, 2155 -1, 648, -1, -1, 11, 175, -1, -1, -1, -1, 2156 657, -1, 19, 20, 184, 185, 149, 187, 188, -1, 2157 -1, 191, 192, 193, -1, -1, -1, -1, -1, -1, 2158 -1, 201, 165, 166, -1, -1, -1, -1, -1, -1, 2159 -1, -1, 175, -1, -1, -1, 4, -1, -1, -1, 2160 -1, 184, 185, 11, 187, 188, -1, -1, 191, 192, 2161 193, 19, 20, 124, -1, -1, -1, -1, 201, 5, 2162 6, 7, 8, 9, 10, 722, 12, 13, 14, 15, 2163 16, 17, -1, 19, 20, 21, 22, 23, 149, -1, 2164 -1, -1, -1, -1, -1, -1, -1, -1, 745, -1, 2165 747, -1, -1, -1, 165, 166, -1, -1, 495, 496, 2166 497, -1, -1, -1, 175, 762, -1, 124, -1, -1, 2167 -1, 768, -1, 184, 185, -1, 187, 188, -1, -1, 2168 191, 192, 193, -1, 4, -1, -1, -1, -1, -1, 2169 201, 11, 149, -1, -1, -1, -1, -1, -1, 19, 2170 20, -1, -1, 800, -1, -1, -1, -1, 165, 166, 2171 -1, -1, -1, -1, 551, 812, 124, 4, 175, -1, 2172 817, -1, 819, 560, 11, -1, -1, 184, 185, -1, 2173 187, 188, 19, 20, 191, 192, 193, -1, -1, 11, 2174 -1, 149, -1, -1, 201, -1, -1, 19, 20, -1, 2175 847, -1, 24, -1, 591, 592, -1, 165, 166, -1, 2176 -1, 858, -1, 600, 601, -1, -1, 175, -1, -1, 2177 -1, -1, -1, -1, -1, -1, 184, 185, -1, 187, 2178 188, -1, 619, 191, 192, 193, -1, -1, 625, -1, 2179 -1, -1, 64, 201, -1, -1, -1, -1, -1, -1, 2180 -1, -1, 639, -1, 124, -1, 903, -1, 194, 195, 2181 196, -1, 909, -1, -1, 94, -1, 654, -1, -1, 2182 -1, -1, -1, -1, -1, 104, -1, -1, 4, 149, 2183 -1, -1, -1, -1, -1, 11, -1, 124, -1, -1, 2184 -1, -1, -1, 19, 20, 165, 166, 944, -1, -1, 2185 947, 948, 124, -1, -1, 175, -1, -1, 695, -1, 2186 -1, -1, 149, -1, 184, 185, -1, 187, 188, -1, 2187 -1, 191, 192, 193, -1, -1, -1, 149, 165, 166, 2188 -1, 201, -1, -1, -1, -1, 723, -1, 175, -1, 2189 -1, -1, -1, 165, 166, -1, -1, 184, 185, -1, 2190 187, 188, -1, 175, 191, 192, 193, -1, -1, -1, 2191 -1, -1, 184, 185, 201, 187, 188, -1, -1, 191, 2192 192, 193, -1, -1, -1, 197, -1, -1, -1, 201, 2193 -1, -1, -1, 1030, -1, -1, 1033, -1, -1, -1, 2194 -1, -1, -1, -1, -1, -1, -1, 1044, 124, 1046, 2195 -1, -1, -1, -1, 1051, -1, -1, -1, -1, -1, 2196 -1, 1058, 1059, 157, -1, -1, -1, -1, -1, 4, 2197 -1, -1, -1, 149, 168, -1, 11, -1, -1, -1, 2198 1077, 1078, -1, -1, 19, 20, -1, 824, -1, 165, 2199 166, -1, -1, -1, 1091, -1, 1093, -1, -1, 175, 2200 -1, -1, -1, -1, -1, -1, -1, 1104, 184, 185, 2201 -1, 187, 188, -1, -1, 191, 192, 193, -1, -1, 2202 -1, 858, -1, -1, -1, 201, -1, -1, -1, -1, 2203 -1, -1, -1, -1, -1, -1, -1, 231, 875, 318, 2204 -1, -1, -1, 237, 881, 882, 883, 884, 5, 886, 2205 -1, 888, 889, -1, 11, -1, -1, -1, 252, -1, 2206 -1, -1, 19, 20, 1161, 22, -1, -1, 1165, -1, 2207 -1, -1, 1169, -1, 1171, 1172, -1, -1, -1, -1, 2208 -1, -1, -1, -1, 921, 1182, -1, -1, -1, 124, 2209 -1, -1, -1, 19, 20, -1, 933, -1, 935, 936, 2210 -1, 380, 381, -1, -1, -1, -1, -1, -1, -1, 2211 -1, 305, 306, 1210, 149, -1, -1, -1, -1, -1, 2212 1217, -1, -1, 1220, 318, -1, 1223, 321, -1, -1, 2213 165, 166, -1, -1, -1, -1, -1, -1, -1, -1, 2214 175, -1, -1, 337, 338, -1, -1, -1, -1, 184, 2215 185, 1248, 187, 188, -1, -1, 191, 192, 193, 353, 2216 -1, -1, 356, -1, -1, -1, 201, 124, -1, 1006, 2217 -1, -1, 1009, 1010, -1, -1, -1, -1, -1, -1, 2218 -1, -1, -1, -1, 378, -1, 380, 381, 382, -1, 2219 -1, 5, 149, 1290, -1, 1292, -1, 11, 124, -1, 2220 -1, -1, -1, -1, -1, 19, 20, -1, 165, 166, 2221 -1, 405, -1, -1, -1, -1, 495, 496, 175, -1, 2222 -1, -1, -1, 149, -1, -1, 1323, 184, 185, -1, 2223 187, 188, 1329, -1, 191, 192, 193, 1074, -1, 165, 2224 166, -1, -1, -1, 201, -1, -1, -1, 1345, 175, 2225 1087, -1, 1349, -1, -1, -1, -1, -1, 184, 185, 2226 -1, 187, 188, -1, -1, 191, 192, 193, -1, 1366, 2227 -1, 1368, 551, -1, 1371, 201, 1373, 1374, -1, 1376, 2228 -1, -1, -1, -1, -1, -1, -1, 1124, -1, -1, 2229 1387, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2230 -1, -1, 5, -1, 498, -1, -1, 501, 11, -1, 2231 124, -1, 591, 592, 1151, -1, 19, 20, 1155, 513, 2232 -1, 600, 601, -1, -1, -1, -1, -1, -1, -1, 2233 -1, -1, -1, -1, -1, 149, -1, -1, 1175, -1, 2234 619, -1, -1, 1440, -1, -1, 625, -1, 1185, 1186, 2235 -1, 165, 166, -1, 11, -1, -1, -1, -1, -1, 2236 639, 175, 19, 20, -1, -1, -1, -1, -1, -1, 2237 184, 185, -1, 187, 188, 654, -1, 191, 192, 193, 2238 -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, 2239 -1, -1, 49, -1, 51, 52, 53, 54, -1, 56, 2240 -1, 58, 59, -1, -1, -1, -1, 1504, 65, -1, 2241 67, -1, 69, 1510, -1, -1, 695, -1, 1515, -1, 2242 -1, 124, -1, -1, -1, -1, 620, -1, -1, 1526, 2243 1527, 1528, -1, -1, -1, -1, -1, -1, -1, -1, 2244 1537, -1, -1, -1, 723, -1, 149, -1, 1545, -1, 2245 1547, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2246 654, -1, 165, 166, -1, -1, -1, 124, -1, -1, 2247 -1, -1, 175, -1, -1, -1, -1, -1, -1, 673, 2248 -1, 184, 185, -1, 187, 188, -1, -1, 191, 192, 2249 193, -1, 149, -1, -1, -1, 1333, -1, 201, -1, 2250 -1, 695, -1, -1, -1, -1, -1, -1, 165, 166, 2251 -1, -1, 706, 1350, 708, -1, -1, -1, 175, -1, 2252 -1, -1, -1, 1620, -1, -1, -1, 184, 185, -1, 2253 187, 188, -1, 1370, 191, 192, 193, -1, -1, -1, 2254 1637, 1378, -1, -1, 201, 824, -1, -1, -1, -1, 2255 -1, 1648, -1, -1, 748, -1, 750, -1, -1, -1, 2256 -1, -1, -1, -1, 758, -1, -1, 761, 6, 7, 2257 8, -1, 10, -1, 12, 13, 14, 15, 16, 17, 2258 18, 19, 20, 21, 22, 23, 24, -1, -1, 1686, 2259 -1, -1, 1689, 1430, 1431, -1, 875, -1, -1, -1, 2260 -1, -1, 881, 882, 883, 884, -1, 886, -1, 888, 2261 889, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2262 -1, 1458, -1, -1, -1, -1, 64, -1, -1, -1, 2263 1467, -1, 6, 7, 8, -1, 10, -1, 12, 13, 2264 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2265 24, -1, 846, -1, 933, -1, 935, 936, -1, -1, 2266 -1, -1, -1, -1, -1, -1, 1503, -1, -1, -1, 2267 -1, -1, 866, 867, 868, 869, 1513, -1, -1, -1, 2268 874, -1, -1, -1, -1, 879, -1, 1524, -1, 11, 2269 64, -1, -1, -1, -1, -1, -1, 19, 20, -1, 2016 2270 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2017 2271 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2272 914, -1, -1, 161, 162, 163, 164, 49, -1, -1, 2273 1009, 53, 54, 55, 56, 57, 58, -1, -1, 933, 2274 934, 1578, -1, 65, 66, 67, 940, -1, -1, 943, 2275 -1, -1, -1, -1, 192, -1, -1, 195, 196, 197, 2276 11, -1, 200, -1, -1, -1, -1, -1, 19, 20, 2277 21, -1, -1, -1, -1, -1, -1, 971, -1, -1, 2278 -1, -1, -1, -1, -1, 979, -1, 161, 162, 163, 2279 164, -1, -1, -1, -1, 1074, -1, -1, -1, 50, 2280 -1, -1, 124, -1, -1, -1, 1643, 58, -1, 60, 2281 61, 62, 63, -1, 65, 1009, 67, -1, 192, 193, 2282 -1, 195, 196, 197, 1018, 199, -1, 149, 1022, 1023, 2283 -1, 1025, 1026, -1, 1028, -1, -1, -1, -1, -1, 2284 -1, -1, 11, 165, 166, 1124, -1, -1, -1, -1, 2285 19, 20, 21, 175, -1, -1, -1, -1, -1, -1, 2286 -1, -1, 184, 185, -1, 187, 188, -1, -1, 191, 2287 192, 193, 1151, 124, -1, -1, 1155, -1, -1, 201, 2288 -1, -1, -1, -1, -1, -1, 1080, -1, -1, 1083, 2289 -1, -1, 1086, -1, -1, -1, -1, -1, 149, -1, 2290 -1, -1, -1, -1, -1, -1, 1185, 1186, -1, -1, 2291 -1, -1, -1, -1, 165, 166, 167, -1, -1, -1, 2292 -1, -1, 1116, 11, 175, -1, -1, -1, -1, -1, 2293 -1, 19, 20, 184, 185, -1, 187, 188, -1, -1, 2294 191, 192, 193, -1, -1, -1, -1, -1, -1, -1, 2295 201, -1, -1, -1, -1, 124, -1, -1, -1, -1, 2296 -1, 49, -1, 51, -1, 53, 54, -1, 56, 1163, 2297 58, 59, -1, -1, -1, -1, -1, 65, -1, 67, 2298 149, 69, 1176, -1, -1, -1, -1, -1, -1, -1, 2299 -1, 1185, 1186, -1, -1, 11, 165, 166, 167, -1, 2300 -1, -1, -1, 19, 20, -1, 175, -1, -1, -1, 2301 -1, -1, -1, -1, -1, 184, 185, -1, 187, 188, 2302 -1, 1215, 191, 192, 193, 11, -1, -1, 44, -1, 2303 -1, -1, 201, 19, 20, -1, 124, -1, -1, -1, 2304 -1, -1, 58, -1, -1, -1, -1, -1, -1, 65, 2305 -1, 67, 68, -1, 1333, -1, 1250, -1, -1, -1, 2306 1254, 149, -1, -1, -1, -1, -1, 1261, -1, -1, 2307 -1, 1350, 58, -1, -1, -1, -1, 165, 166, 65, 2308 -1, 67, 68, -1, -1, -1, -1, 175, -1, -1, 2309 -1, 1370, -1, 109, -1, -1, 184, 185, -1, 187, 2310 188, 1295, -1, 191, 192, 193, -1, -1, 124, -1, 2311 -1, -1, -1, 201, -1, 1309, -1, -1, -1, -1, 2018 2312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2019 -1, -1, -1, -1, -1, 163, 164, 165, 125, -1, 2020 -1, -1, -1, -1, -1, 132, -1, 4, 5, -1, 2021 -1, 138, 139, -1, 11, 164, 165, 144, -1, -1, 2022 -1, -1, 19, 20, 21, -1, 153, 154, -1, 156, 2023 157, -1, -1, 160, 161, 162, 33, 34, -1, -1, 2024 -1, -1, 39, 40, 41, 42, 43, -1, -1, -1, 2025 -1, -1, -1, -1, -1, -1, -1, 54, 55, 56, 2026 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2027 67, 68, 69, -1, 71, 72, 73, 74, 75, -1, 2028 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2313 -1, -1, -1, 149, -1, -1, -1, -1, 124, 155, 2314 -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, 2315 166, 1430, 1431, 1347, -1, -1, -1, -1, -1, 175, 2316 -1, -1, -1, 149, -1, 1359, -1, 1361, 184, 185, 2317 -1, 187, 188, 11, -1, 191, 192, 193, -1, 165, 2318 166, 19, 20, -1, -1, 201, 1380, -1, 1382, 175, 2319 -1, -1, -1, -1, -1, -1, -1, -1, 184, 185, 2320 -1, 187, 188, -1, -1, 191, 192, 193, -1, -1, 2321 -1, -1, -1, 11, -1, 201, -1, -1, -1, -1, 2322 58, 19, 20, -1, -1, -1, -1, 65, -1, 67, 2323 68, -1, -1, -1, 1513, -1, 1430, 1431, -1, -1, 2324 -1, -1, -1, 1437, 1438, 1524, -1, -1, -1, -1, 2325 -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, 2326 58, -1, -1, 1457, -1, -1, 11, 65, -1, 67, 2327 -1, -1, -1, -1, 19, 20, -1, -1, -1, 24, 2328 -1, -1, -1, -1, -1, -1, 124, -1, 1482, 1483, 2329 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 2330 1494, 1495, 1496, 1497, 1498, 1499, 1500, -1, -1, -1, 2331 -1, 149, -1, 11, -1, -1, -1, -1, -1, 64, 2332 -1, 19, 20, -1, 11, -1, 124, 165, 166, -1, 2333 -1, -1, 19, 20, 21, -1, -1, 175, -1, -1, 2334 -1, -1, -1, -1, -1, -1, 184, 185, -1, 187, 2335 188, 149, -1, 191, 192, 193, -1, -1, 1552, -1, 2336 -1, -1, -1, 201, -1, -1, -1, 165, 166, -1, 2337 -1, -1, -1, -1, -1, -1, -1, 175, -1, 124, 2338 -1, -1, -1, 1577, -1, -1, 184, 185, -1, 187, 2339 188, -1, -1, 191, 192, 193, 94, 11, -1, -1, 2340 1594, -1, -1, 201, 149, 19, 20, -1, -1, -1, 2341 -1, -1, -1, -1, -1, -1, -1, 1611, 1612, -1, 2342 165, 166, 1616, -1, 1618, -1, 124, -1, -1, -1, 2343 175, -1, -1, -1, -1, -1, -1, 124, -1, 184, 2344 185, -1, 187, 188, -1, 11, 191, 192, 193, -1, 2345 -1, 149, 197, 19, 20, 21, 201, -1, -1, -1, 2346 -1, -1, 149, -1, -1, -1, -1, 165, 166, -1, 2347 -1, -1, -1, -1, -1, 11, -1, 175, 165, 166, 2348 -1, -1, 1676, 19, 20, 21, 184, 185, 175, 187, 2349 188, -1, -1, 191, 192, 193, -1, 184, 185, -1, 2350 187, 188, -1, 201, 191, 192, 193, 11, 1702, -1, 2351 124, -1, -1, -1, 201, 19, 20, -1, -1, -1, 2352 -1, -1, -1, 1717, -1, 1719, 1720, -1, -1, -1, 2353 -1, 11, 1726, -1, -1, 149, -1, 1731, -1, 19, 2354 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2355 -1, 165, 166, -1, -1, 11, -1, -1, 124, -1, 2356 -1, 175, -1, 19, 20, -1, -1, -1, -1, -1, 2357 184, 185, -1, 187, 188, -1, -1, 191, 192, 193, 2358 194, -1, -1, 149, -1, 11, -1, 201, 124, -1, 2359 -1, -1, -1, 19, 20, -1, -1, -1, -1, 165, 2360 166, -1, -1, -1, -1, -1, -1, -1, -1, 175, 2361 -1, -1, -1, 149, -1, -1, -1, -1, 184, 185, 2362 124, 187, 188, -1, -1, 191, 192, 193, -1, 165, 2363 166, -1, -1, 11, -1, 201, -1, -1, -1, 175, 2364 -1, 19, 20, -1, 124, 149, -1, -1, 184, 185, 2365 -1, 187, 188, -1, -1, 191, 192, 193, -1, -1, 2366 -1, 165, 166, -1, 11, 201, -1, -1, 124, 149, 2367 -1, 175, 19, 20, -1, -1, -1, -1, -1, -1, 2368 184, 185, -1, 187, 188, 165, 166, 191, 192, 193, 2369 -1, -1, -1, 149, -1, 175, -1, 201, 124, -1, 2370 -1, -1, -1, -1, 184, 185, -1, 187, 188, 165, 2371 166, 191, 192, 193, -1, -1, -1, 11, -1, 175, 2372 -1, 201, -1, 149, -1, 19, 20, -1, 184, 185, 2373 -1, 187, 188, -1, -1, 191, 192, 193, -1, 165, 2374 166, -1, -1, -1, -1, 201, 124, -1, -1, 175, 2375 -1, -1, -1, -1, -1, -1, -1, -1, 184, 185, 2376 -1, 187, 188, -1, -1, 191, 192, 193, -1, -1, 2377 -1, 149, -1, -1, -1, 201, -1, 124, -1, -1, 2378 -1, -1, -1, -1, -1, -1, -1, 165, 166, -1, 2379 -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, 2380 -1, 25, 149, -1, -1, -1, 184, 185, 32, 187, 2381 188, -1, -1, 191, 192, 193, -1, -1, 165, 166, 2382 -1, -1, -1, 201, -1, -1, -1, -1, 175, -1, 2383 124, -1, -1, -1, -1, -1, -1, 184, 185, -1, 2384 187, 188, -1, -1, 191, 192, 193, -1, -1, -1, 2385 -1, -1, -1, -1, 201, 149, -1, -1, 82, -1, 2386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2387 -1, 165, 166, -1, -1, 99, 100, -1, -1, -1, 2388 -1, 175, -1, -1, -1, -1, -1, 111, -1, -1, 2389 184, 185, -1, 187, 188, -1, -1, 191, 192, 193, 2390 -1, -1, -1, -1, -1, -1, 130, 201, 132, 32, 2391 134, 135, -1, -1, -1, 38, 140, -1, 142, -1, 2392 -1, -1, -1, 147, 47, 48, -1, -1, -1, -1, 2393 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2394 -1, -1, -1, 167, -1, -1, 170, 171, 172, -1, 2395 -1, 175, 176, 177, 178, 78, -1, -1, -1, 183, 2396 184, 185, 186, 187, -1, 189, -1, 191, 192, -1, 2397 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2398 -1, 104, 105, 106, -1, 108, -1, 32, 111, -1, 2399 113, -1, 115, 38, -1, 118, 119, -1, 121, -1, 2400 -1, 124, -1, 48, 127, 128, 129, -1, 131, -1, 2401 32, -1, -1, -1, -1, -1, 38, -1, -1, -1, 2402 -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, 2403 153, -1, -1, 78, -1, -1, -1, -1, -1, -1, 2404 -1, -1, -1, -1, 167, 168, 169, 170, 93, -1, 2405 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1, 2406 -1, 184, 185, 108, 187, -1, 111, 112, 191, 192, 2407 115, 93, -1, 118, 119, -1, 121, -1, -1, 124, 2408 -1, -1, 127, 128, 129, -1, 108, -1, -1, 111, 2409 112, -1, -1, 115, 38, -1, 118, 119, -1, 121, 2410 -1, -1, 124, -1, 48, 127, 128, 129, 153, -1, 2411 -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, 2412 -1, -1, 167, -1, -1, 170, -1, -1, -1, -1, 2413 -1, 153, -1, -1, 78, -1, -1, 182, -1, 184, 2414 185, -1, 187, -1, -1, 167, 191, 192, 170, 93, 2415 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, 2416 182, -1, 184, 185, 108, 187, -1, 111, 112, 191, 2417 192, 115, 93, -1, 118, 119, -1, 121, -1, -1, 2418 124, -1, 103, 127, 128, 129, -1, 108, -1, -1, 2419 -1, -1, -1, -1, 115, 38, -1, 118, 119, -1, 2420 121, -1, -1, 124, -1, -1, 127, 128, 129, 153, 2421 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2422 -1, -1, -1, 167, -1, -1, 170, -1, -1, -1, 2423 -1, -1, 153, -1, -1, 78, -1, -1, 182, -1, 2424 184, 185, -1, 187, -1, -1, 167, 191, 192, -1, 2425 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2426 -1, -1, -1, 184, 185, 108, 187, -1, -1, -1, 2427 191, 192, 115, -1, -1, 118, 119, -1, 121, -1, 2428 -1, 124, -1, -1, 127, 128, 129, -1, -1, -1, 2029 2429 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2030 2430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2031 -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, 2032 -1, -1, -1, 11, -1, -1, -1, -1, 125, -1, 2033 -1, 19, 20, 21, -1, 132, -1, -1, -1, -1, 2034 -1, 138, 139, -1, -1, 33, 34, 144, -1, -1, 2035 -1, 39, 40, 41, 42, 43, 153, 154, -1, 156, 2036 157, -1, -1, 160, 161, 162, 54, 55, 56, 57, 2037 58, 59, 60, -1, 62, 63, 64, -1, -1, 67, 2038 68, 69, -1, 71, 72, 73, 74, 75, -1, 77, 2431 153, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2432 -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, 2039 2433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2040 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2042 -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, 2043 -1, -1, 11, -1, -1, -1, -1, 125, -1, -1, 2044 19, 20, 21, -1, 132, -1, -1, -1, -1, -1, 2045 138, 139, -1, -1, 33, 34, 144, -1, -1, -1, 2046 39, 40, 41, 42, 43, 153, 154, -1, 156, 157, 2047 -1, -1, 160, 161, 162, 54, 55, 56, 57, 58, 2048 59, 60, -1, 62, 63, 64, -1, -1, 67, 68, 2049 69, -1, 71, 72, 73, 74, 75, -1, 77, -1, 2050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2053 -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, 2054 -1, 11, -1, -1, -1, -1, 125, -1, -1, 19, 2055 20, 21, -1, 132, -1, -1, -1, -1, -1, 138, 2056 139, -1, -1, 33, 34, 144, -1, -1, -1, 39, 2057 40, 41, 42, 43, 153, 154, -1, 156, 157, -1, 2058 -1, 160, 161, 162, 54, 55, 56, 57, 58, 59, 2059 60, -1, 62, 63, 64, -1, -1, 67, 68, 69, 2060 -1, 71, 72, 73, 74, 75, -1, 77, -1, -1, 2061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2064 -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, 2065 11, -1, -1, -1, -1, 125, -1, -1, 19, 20, 2066 -1, -1, 132, -1, -1, -1, -1, -1, 138, 139, 2067 -1, -1, 33, 34, 144, -1, -1, -1, 39, 40, 2068 41, 42, 43, 153, 154, -1, 156, 157, -1, -1, 2069 160, 161, 162, 54, 55, 56, 57, 58, 59, 60, 2070 -1, 62, 63, 64, -1, -1, 67, 68, 69, -1, 2071 71, 72, 73, 74, 75, -1, 77, -1, -1, -1, 2072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2075 -1, -1, 4, -1, -1, -1, -1, -1, -1, 11, 2076 -1, -1, -1, -1, 125, -1, -1, 19, 20, -1, 2077 -1, 132, -1, -1, -1, -1, -1, 138, 139, -1, 2078 -1, 33, 34, 144, -1, -1, -1, 39, 40, 41, 2079 42, 43, 153, 154, -1, 156, 157, -1, -1, 160, 2080 161, 162, 54, 55, 56, 57, 58, 59, 60, -1, 2081 62, 63, 64, -1, -1, 67, 68, 69, -1, 71, 2082 72, 73, 74, 75, -1, 77, -1, -1, -1, -1, 2083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2084 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2085 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2086 -1, 4, -1, -1, -1, -1, -1, -1, 11, -1, 2087 -1, -1, -1, 125, -1, -1, 19, 20, -1, -1, 2088 132, -1, -1, -1, -1, -1, 138, 139, -1, -1, 2089 33, 34, 144, -1, -1, -1, 39, 40, 41, 42, 2090 43, 153, 154, -1, 156, 157, -1, -1, 160, 161, 2091 162, 54, 55, 56, 57, 58, 59, 60, -1, 62, 2092 63, 64, -1, -1, 67, 68, 69, -1, 71, 72, 2093 73, 74, 75, -1, 77, -1, -1, -1, -1, -1, 2094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2095 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2097 -1, 5, -1, -1, -1, -1, -1, 11, -1, -1, 2098 -1, -1, 125, -1, -1, 19, 20, -1, 22, 132, 2099 -1, -1, -1, -1, -1, 138, 139, -1, -1, 33, 2100 34, 144, -1, -1, -1, 39, 40, 41, 42, 43, 2101 153, 154, -1, 156, 157, -1, -1, 160, 161, 162, 2102 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 2103 64, -1, -1, 67, 68, 69, -1, 71, 72, 73, 2104 74, 75, -1, 77, -1, -1, -1, -1, -1, -1, 2105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2108 5, -1, -1, -1, -1, -1, 11, -1, -1, -1, 2109 -1, 125, -1, -1, 19, 20, -1, -1, 132, -1, 2110 -1, -1, -1, -1, 138, 139, -1, -1, 33, 34, 2111 144, -1, -1, -1, 39, 40, 41, 42, 43, 153, 2112 154, -1, 156, 157, -1, -1, 160, 161, 162, 54, 2113 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 2114 -1, -1, 67, 68, 69, -1, 71, 72, 73, 74, 2115 75, -1, 77, -1, -1, -1, -1, -1, -1, -1, 2116 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2118 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 2119 -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, 2120 125, -1, -1, 19, 20, -1, -1, 132, -1, -1, 2121 -1, -1, -1, 138, 139, -1, -1, 33, 34, 144, 2122 -1, -1, -1, 39, 40, 41, 42, 43, 153, 154, 2123 -1, 156, 157, -1, -1, 160, 161, 162, 54, 55, 2124 56, 57, 58, 59, 60, -1, 62, 63, 64, -1, 2125 -1, 67, 68, 69, -1, 71, 72, 73, 74, 75, 2126 -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, 2127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2128 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2129 -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, 2130 -1, -1, -1, -1, 11, -1, -1, -1, -1, 125, 2131 -1, -1, 19, 20, -1, -1, 132, -1, -1, -1, 2132 -1, -1, 138, 139, -1, -1, 33, 34, 144, -1, 2133 -1, -1, 39, 40, 41, 42, 43, 153, 154, -1, 2134 156, 157, -1, -1, 160, 161, 162, 54, 55, 56, 2135 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2136 67, 68, 69, -1, 71, 72, 73, 74, 75, -1, 2137 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2138 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2141 -1, -1, -1, 11, -1, -1, -1, -1, 125, -1, 2142 -1, 19, 20, -1, -1, 132, -1, -1, -1, -1, 2143 -1, 138, 139, -1, -1, 33, 34, 144, -1, -1, 2144 -1, 39, 40, 41, 42, 43, 153, 154, -1, 156, 2145 157, -1, -1, 160, 161, 162, 54, 55, 56, 57, 2146 58, 59, 60, -1, 62, 63, 64, -1, -1, 67, 2147 68, 69, -1, 71, 72, 73, 74, 75, -1, 77, 2148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2149 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2152 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1, 2153 -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, 2154 138, 139, -1, -1, -1, -1, 144, -1, -1, -1, 2155 -1, -1, -1, -1, -1, 153, 154, 11, 156, 157, 2156 -1, -1, 160, 161, 162, 19, 20, 21, 166, 23, 2157 -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 2158 34, -1, -1, -1, -1, 39, 40, 41, 42, 43, 2159 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2160 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 2161 64, -1, -1, 67, 68, 69, -1, 71, 72, 73, 2162 74, 75, -1, 77, -1, -1, -1, -1, -1, -1, 2163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2166 -1, -1, -1, -1, -1, -1, 11, -1, -1, -1, 2167 -1, 125, -1, -1, 19, 20, 21, -1, 132, -1, 2168 -1, -1, -1, -1, 138, 139, -1, -1, 33, 34, 2169 144, -1, -1, -1, 39, 40, 41, 42, 43, 153, 2170 154, -1, 156, 157, -1, -1, 160, 161, 162, 54, 2171 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 2172 -1, -1, 67, 68, 69, -1, 71, 72, 73, 74, 2173 75, -1, 77, -1, -1, -1, -1, -1, -1, -1, 2174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2175 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2177 -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, 2178 125, -1, -1, 19, 20, 21, -1, 132, -1, -1, 2179 -1, -1, -1, 138, 139, -1, -1, 33, 34, 144, 2180 -1, -1, -1, 39, 40, 41, 42, 43, 153, 154, 2181 -1, 156, 157, -1, -1, 160, 161, 162, 54, 55, 2182 56, 57, 58, 59, 60, -1, 62, 63, 64, -1, 2183 -1, 67, 68, 69, -1, 71, 72, 73, 74, 75, 2184 -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, 2185 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2186 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2188 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, 2189 -1, -1, -1, -1, -1, -1, 132, -1, -1, -1, 2190 -1, -1, 138, 139, -1, 11, -1, -1, 144, -1, 2191 -1, -1, -1, 19, 20, -1, -1, 153, 154, -1, 2192 156, 157, -1, -1, 160, 161, 162, 33, 34, 35, 2193 -1, -1, -1, 39, 40, 41, 42, 43, -1, -1, 2194 -1, -1, -1, -1, -1, -1, -1, -1, 54, 55, 2195 56, 57, 58, 59, 60, -1, 62, 63, 64, -1, 2196 -1, 67, 68, 69, -1, 71, 72, 73, 74, 75, 2197 -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, 2198 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2201 -1, -1, -1, -1, 11, -1, -1, -1, -1, 125, 2202 -1, -1, 19, 20, 21, -1, 132, -1, -1, -1, 2203 -1, -1, 138, 139, -1, -1, 33, 34, 144, -1, 2204 -1, -1, 39, 40, 41, 42, 43, 153, 154, -1, 2205 156, 157, -1, -1, 160, 161, 162, 54, 55, 56, 2206 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2207 67, 68, 69, -1, 71, 72, 73, 74, 75, -1, 2208 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2209 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2212 -1, -1, -1, 11, -1, -1, -1, -1, 125, -1, 2213 -1, 19, 20, 21, -1, 132, -1, -1, -1, -1, 2214 -1, 138, 139, -1, -1, 33, 34, 144, -1, -1, 2215 -1, 39, 40, 41, 42, 43, 153, 154, -1, 156, 2216 157, -1, -1, 160, 161, 162, 54, 55, 56, 57, 2217 58, 59, 60, -1, 62, 63, 64, -1, -1, 67, 2218 68, 69, -1, 71, 72, 73, 74, 75, -1, 77, 2219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2220 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2222 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223 -1, -1, 11, -1, -1, -1, -1, 125, -1, -1, 2224 19, 20, -1, -1, 132, -1, -1, -1, -1, -1, 2225 138, 139, -1, -1, 33, 34, 144, -1, -1, -1, 2226 39, 40, 41, 42, 43, 153, 154, -1, 156, 157, 2227 -1, -1, 160, 161, 162, 54, 55, 56, 57, 58, 2228 59, 60, -1, 62, 63, 64, -1, -1, 67, 68, 2229 69, -1, 71, 72, 73, 74, 75, -1, 77, -1, 2230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2232 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2234 -1, 11, -1, -1, -1, -1, 125, -1, -1, 19, 2235 20, -1, -1, 132, -1, -1, -1, -1, -1, 138, 2236 139, -1, -1, 33, 34, 144, -1, -1, -1, 39, 2237 40, 41, 42, 43, 153, 154, -1, 156, 157, -1, 2238 -1, 160, 161, 162, 54, 55, 56, 57, 58, 59, 2239 60, -1, 62, 63, 64, -1, -1, 67, 68, 69, 2240 -1, 71, 72, 73, 74, 75, -1, 77, -1, -1, 2241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2242 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2245 11, -1, -1, -1, -1, 125, -1, -1, 19, 20, 2246 -1, -1, 132, -1, -1, -1, -1, -1, 138, 139, 2247 -1, -1, 33, 34, 144, -1, -1, -1, 39, 40, 2248 41, 42, 43, 153, 154, -1, 156, 157, -1, -1, 2249 160, 161, 162, 54, 55, 56, 57, 58, 59, 60, 2250 -1, 62, 63, 64, -1, -1, 67, 68, 69, -1, 2251 71, 72, 73, 74, 75, -1, 77, -1, -1, -1, 2252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2253 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2254 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2255 -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, 2256 -1, -1, -1, -1, 125, -1, -1, 19, 20, -1, 2257 -1, 132, -1, -1, -1, -1, -1, 138, 139, -1, 2258 -1, 33, 34, 144, -1, -1, -1, 39, 40, 41, 2259 42, 43, 153, 154, -1, 156, 157, -1, -1, 160, 2260 161, 162, 54, 55, 56, 57, 58, 59, 60, -1, 2261 62, 63, 64, -1, -1, 67, 68, 69, -1, 71, 2262 72, 73, 74, 75, -1, 77, -1, -1, -1, -1, 2263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2265 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2266 -1, -1, -1, -1, -1, -1, -1, -1, 11, -1, 2267 -1, -1, -1, 125, -1, -1, 19, 20, -1, -1, 2268 132, -1, -1, -1, -1, -1, 138, 139, -1, -1, 2269 33, 34, 144, -1, -1, -1, 39, 40, 41, 42, 2270 43, 153, 154, -1, 156, 157, -1, -1, 160, 161, 2271 162, 54, 55, 56, 57, 58, 59, 60, -1, 62, 2272 63, 64, -1, -1, 67, 68, 69, -1, 71, 72, 2273 73, 74, 75, -1, 77, -1, -1, -1, -1, -1, 2274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2277 -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, 2278 -1, -1, 125, -1, -1, 19, 20, -1, -1, 132, 2279 -1, -1, -1, -1, -1, 138, 139, -1, -1, 33, 2280 34, 144, -1, -1, -1, 39, 40, 41, 42, 43, 2281 153, 154, -1, 156, 157, -1, -1, 160, 161, 162, 2282 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 2283 64, -1, -1, 67, 68, 69, -1, 71, 72, 73, 2284 74, 75, -1, 77, -1, -1, -1, -1, -1, -1, 2285 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2289 -1, 125, -1, -1, -1, -1, -1, -1, 132, -1, 2290 -1, -1, -1, -1, 138, 139, -1, -1, -1, -1, 2291 144, -1, -1, -1, -1, -1, -1, -1, -1, 153, 2292 154, -1, 156, 157, -1, -1, 160, 161, 162, 19, 2293 20, 21, -1, 23, -1, -1, -1, -1, -1, -1, 2294 -1, -1, -1, 33, 34, -1, -1, -1, -1, 39, 2295 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 2296 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 2297 60, -1, 62, 63, 64, -1, -1, 67, 68, 69, 2298 -1, 71, 72, 73, 74, 75, -1, 77, -1, -1, 2299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2303 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2304 -1, -1, 132, -1, -1, -1, -1, -1, 138, 139, 2305 -1, -1, -1, -1, 144, -1, -1, -1, -1, 19, 2306 20, 21, -1, 153, 154, -1, 156, 157, -1, -1, 2307 160, 161, 162, 33, 34, -1, -1, -1, -1, 39, 2308 40, 41, 42, 43, -1, -1, 46, 47, 48, 49, 2309 50, -1, 52, 53, 54, 55, 56, 57, 58, 59, 2310 60, -1, 62, 63, 64, 19, 20, 67, 68, 69, 2311 -1, 71, 72, 73, 74, 75, -1, 77, -1, 33, 2312 34, -1, -1, -1, -1, 39, 40, 41, 42, 43, 2313 -1, -1, 46, 47, 48, 49, 50, -1, 52, 53, 2314 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 2315 64, -1, -1, 67, 68, 69, -1, 71, 72, 73, 2316 74, 75, -1, 77, -1, -1, -1, -1, -1, -1, 2317 -1, -1, 132, -1, -1, -1, -1, -1, 138, 139, 2318 -1, -1, -1, -1, 144, -1, -1, -1, -1, -1, 2319 -1, -1, -1, 153, 154, -1, 156, 157, -1, -1, 2320 160, 161, 162, -1, -1, -1, -1, -1, -1, 25, 2321 -1, -1, 28, -1, 30, -1, 32, -1, 132, 35, 2322 -1, -1, -1, -1, 138, 139, -1, -1, -1, 45, 2323 144, -1, -1, -1, -1, -1, -1, -1, -1, 153, 2324 154, -1, 156, 157, -1, 61, 160, 161, 162, 65, 2325 66, -1, -1, -1, 70, -1, -1, -1, -1, -1, 2326 76, -1, 78, 79, -1, 81, -1, -1, -1, -1, 2327 86, 87, 88, 89, 90, -1, 92, 93, -1, -1, 2328 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 2329 106, -1, 108, -1, 110, 111, -1, -1, 114, 115, 2330 116, -1, 118, -1, 120, -1, -1, 123, 124, -1, 2331 -1, 127, 128, 129, -1, -1, -1, -1, -1, -1, 2332 -1, 137, -1, -1, -1, 141, 142, 143, 144, 145, 2333 146, 147, 148, 149, 150, 151, 152, -1, -1, 155, 2334 -1, -1, 158, 159, 160, 161, 25, -1, -1, 28, 2335 166, 30, -1, 32, -1, -1, 35, -1, -1, -1, 2336 -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, 2337 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2338 -1, -1, 61, -1, -1, -1, 65, 66, -1, -1, 2339 -1, 70, -1, -1, -1, -1, -1, 76, -1, 78, 2340 79, -1, 81, -1, -1, -1, -1, 86, 87, 88, 2341 89, 90, -1, 92, 93, -1, -1, 96, 97, 98, 2342 99, 100, 101, 102, 103, 104, 105, 106, -1, 108, 2343 -1, 110, 111, -1, -1, 114, 115, 116, -1, 118, 2344 -1, 120, -1, -1, 123, 124, -1, -1, 127, 128, 2345 129, -1, -1, -1, -1, -1, -1, -1, 137, -1, 2346 -1, -1, 141, 142, 143, 144, 145, 146, 147, 148, 2347 149, 150, 151, 152, -1, -1, 155, 33, 34, 158, 2348 159, 160, 161, 39, 40, 41, 42, 43, -1, -1, 2349 -1, -1, -1, -1, -1, -1, -1, -1, 54, 55, 2350 56, 57, 58, 59, 60, -1, 62, 63, 64, -1, 2351 -1, 67, 68, 69, -1, 71, 72, 73, 74, 75, 2352 -1, 77, 33, 34, -1, -1, -1, -1, 39, 40, 2353 41, 42, 43, -1, -1, -1, -1, -1, -1, -1, 2354 -1, -1, -1, 54, 55, 56, 57, 58, 59, 60, 2355 -1, 62, 63, 64, -1, -1, 67, 68, 69, -1, 2356 71, 72, 73, 74, 75, -1, 77, -1, -1, -1, 2357 -1, -1, -1, -1, -1, -1, 132, -1, -1, -1, 2358 -1, -1, 138, 139, -1, -1, -1, -1, 144, -1, 2359 -1, -1, -1, -1, -1, -1, -1, 153, 154, -1, 2360 156, 157, -1, -1, 160, 161, 162, -1, -1, 32, 2361 -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, 2362 -1, 132, 45, -1, -1, -1, -1, 138, 139, -1, 2363 -1, -1, -1, 144, -1, -1, -1, -1, 61, -1, 2364 -1, -1, 153, 154, -1, 156, 157, -1, -1, 160, 2365 161, 162, -1, 76, -1, -1, -1, -1, 81, -1, 2366 83, -1, -1, 86, 87, 88, 89, 90, -1, -1, 2367 93, -1, -1, 96, 97, 98, 99, 100, 101, 102, 2368 103, 104, 105, -1, -1, 32, -1, -1, 35, -1, 2369 -1, -1, 115, -1, -1, -1, -1, 120, 45, -1, 2370 -1, -1, -1, -1, 127, -1, 129, -1, -1, -1, 2371 -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, 2372 -1, -1, -1, -1, -1, 148, 149, 150, 151, 76, 2373 -1, -1, -1, -1, 81, -1, -1, 160, 161, 86, 2374 87, 88, 89, 90, -1, -1, 93, -1, -1, 96, 2375 97, 98, 99, 100, 101, 102, 103, 104, 105, -1, 2376 -1, -1, -1, -1, 35, -1, -1, -1, 115, -1, 2377 -1, -1, -1, 120, -1, -1, -1, -1, -1, -1, 2378 127, -1, 129, -1, -1, -1, -1, -1, -1, -1, 2379 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2380 -1, 148, 149, 150, 151, 76, -1, -1, -1, -1, 2381 81, 82, -1, 160, 161, 86, 87, 88, -1, 90, 2382 -1, -1, 93, -1, -1, 96, 97, 98, 99, 100, 2383 101, 102, 103, 104, 105, -1, -1, -1, -1, -1, 2384 35, -1, -1, -1, 115, -1, -1, -1, -1, 120, 2385 -1, -1, -1, -1, -1, -1, 127, -1, 129, -1, 2386 -1, -1, -1, -1, -1, -1, 61, -1, -1, -1, 2387 -1, -1, -1, -1, -1, -1, -1, 148, 149, 150, 2388 151, 76, -1, -1, -1, -1, 81, -1, -1, 160, 2389 161, 86, 87, 88, -1, 90, -1, -1, 93, -1, 2390 -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 2391 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2392 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, 2393 -1, -1, 127, -1, 129, -1, -1, -1, -1, -1, 2394 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2395 -1, -1, -1, 148, 149, 150, 151, -1, -1, -1, 2396 -1, -1, -1, -1, -1, 160, 161 2434 -1, 184, 185, -1, 187, -1, -1, -1, 191, 192 2397 2435 }; 2398 2436 … … 2401 2439 static const yytype_uint16 yystos[] = 2402 2440 { 2403 0, 170, 0, 1, 24, 25, 28, 30, 32, 35, 2404 45, 61, 65, 66, 70, 76, 78, 79, 81, 86, 2405 87, 88, 89, 90, 92, 93, 96, 97, 98, 99, 2406 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 2407 114, 115, 116, 118, 120, 123, 124, 127, 128, 129, 2408 137, 140, 141, 142, 143, 144, 145, 146, 147, 148, 2409 149, 150, 151, 152, 155, 158, 159, 160, 161, 166, 2410 171, 172, 173, 174, 176, 178, 186, 198, 199, 203, 2411 204, 209, 210, 211, 212, 213, 215, 216, 223, 225, 2412 228, 231, 232, 267, 276, 277, 282, 283, 284, 286, 2413 287, 291, 300, 301, 302, 303, 304, 310, 315, 319, 2414 320, 323, 331, 332, 333, 334, 335, 338, 339, 341, 2415 344, 345, 348, 357, 359, 369, 153, 181, 160, 180, 2416 162, 162, 11, 19, 20, 33, 34, 39, 40, 41, 2417 42, 43, 54, 55, 56, 57, 58, 59, 60, 62, 2418 63, 64, 67, 68, 69, 71, 72, 73, 74, 75, 2419 77, 125, 132, 138, 139, 144, 153, 154, 156, 157, 2420 160, 161, 162, 166, 249, 250, 252, 253, 257, 259, 2421 260, 261, 262, 267, 268, 269, 273, 275, 162, 191, 2422 192, 162, 249, 272, 131, 166, 195, 166, 195, 273, 2423 161, 162, 162, 3, 161, 179, 220, 305, 160, 160, 2424 166, 336, 162, 162, 352, 160, 161, 162, 353, 162, 2425 162, 195, 195, 18, 22, 219, 267, 162, 190, 119, 2426 130, 123, 160, 224, 173, 78, 79, 187, 244, 133, 2427 160, 161, 237, 336, 160, 162, 200, 201, 206, 4, 2428 175, 24, 140, 166, 24, 29, 31, 175, 175, 160, 2429 162, 221, 222, 166, 3, 220, 160, 205, 219, 3, 2430 220, 220, 3, 220, 160, 217, 218, 219, 3, 31, 2431 131, 196, 197, 226, 240, 21, 162, 229, 21, 162, 2432 235, 337, 160, 172, 172, 172, 172, 336, 336, 336, 2433 5, 122, 168, 340, 3, 162, 342, 101, 160, 273, 2434 352, 19, 20, 21, 46, 47, 48, 49, 50, 52, 2435 53, 160, 162, 250, 257, 268, 350, 352, 358, 360, 2436 361, 362, 175, 249, 294, 249, 249, 249, 251, 162, 2437 162, 162, 251, 249, 251, 162, 162, 162, 162, 162, 2438 162, 162, 162, 162, 162, 162, 162, 249, 162, 251, 2439 162, 162, 162, 162, 249, 250, 252, 275, 366, 367, 2440 162, 249, 252, 5, 6, 7, 8, 9, 10, 12, 2441 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 2442 164, 165, 254, 249, 168, 162, 271, 162, 162, 160, 2443 153, 270, 271, 193, 267, 3, 249, 133, 160, 214, 2444 214, 249, 249, 161, 305, 94, 95, 267, 306, 257, 2445 370, 371, 21, 23, 162, 267, 354, 355, 360, 361, 2446 366, 161, 252, 267, 371, 372, 267, 374, 214, 34, 2447 39, 40, 42, 43, 54, 55, 56, 57, 58, 59, 2448 60, 62, 63, 64, 67, 68, 69, 72, 73, 74, 2449 75, 77, 160, 188, 189, 160, 267, 194, 249, 3, 2450 3, 195, 4, 5, 21, 238, 249, 163, 22, 162, 2451 257, 220, 3, 22, 45, 88, 89, 175, 166, 174, 2452 180, 180, 5, 221, 3, 205, 219, 162, 245, 205, 2453 267, 219, 160, 160, 219, 245, 3, 217, 25, 80, 2454 106, 108, 109, 110, 113, 114, 116, 117, 241, 242, 2455 244, 180, 3, 227, 160, 161, 162, 160, 230, 238, 2456 161, 162, 236, 249, 237, 245, 3, 288, 299, 307, 2457 299, 44, 321, 322, 324, 249, 249, 356, 161, 21, 2458 249, 343, 346, 347, 249, 249, 249, 249, 249, 249, 2459 249, 5, 360, 162, 250, 257, 268, 349, 363, 364, 2460 3, 351, 18, 21, 22, 23, 362, 360, 163, 163, 2461 3, 163, 251, 251, 249, 163, 163, 163, 249, 249, 2462 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 2463 163, 251, 163, 251, 251, 251, 252, 366, 367, 3, 2464 3, 126, 3, 251, 163, 3, 5, 249, 256, 249, 2465 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 2466 249, 249, 249, 5, 22, 249, 255, 249, 5, 249, 2467 5, 249, 356, 272, 258, 263, 263, 3, 163, 245, 2468 192, 163, 3, 3, 163, 162, 298, 5, 3, 373, 2469 360, 21, 23, 162, 249, 3, 163, 163, 163, 163, 2470 3, 373, 3, 163, 3, 22, 3, 163, 162, 160, 2471 336, 238, 202, 207, 208, 253, 249, 3, 201, 160, 2472 206, 202, 162, 162, 179, 305, 162, 182, 182, 249, 2473 163, 222, 220, 4, 21, 246, 247, 248, 249, 220, 2474 245, 245, 220, 218, 245, 162, 3, 131, 182, 160, 2475 245, 230, 5, 238, 163, 3, 239, 21, 163, 245, 2476 27, 160, 278, 279, 249, 285, 286, 287, 289, 292, 2477 293, 282, 91, 115, 308, 309, 330, 83, 311, 312, 2478 316, 112, 162, 326, 107, 322, 325, 172, 267, 161, 2479 163, 3, 249, 163, 363, 254, 365, 365, 365, 3, 2480 363, 360, 360, 360, 360, 360, 293, 249, 163, 163, 2481 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 2482 163, 163, 163, 163, 163, 163, 163, 3, 3, 3, 2483 249, 367, 249, 367, 249, 367, 163, 252, 249, 249, 2484 249, 249, 249, 257, 4, 4, 249, 264, 265, 266, 2485 163, 163, 267, 133, 160, 249, 35, 82, 88, 284, 2486 249, 249, 121, 371, 163, 249, 266, 168, 245, 355, 2487 371, 163, 267, 188, 249, 194, 22, 3, 19, 20, 2488 21, 167, 268, 163, 160, 368, 22, 249, 249, 305, 2489 21, 160, 163, 184, 185, 26, 177, 205, 249, 3, 2490 163, 4, 267, 21, 233, 233, 217, 134, 135, 136, 2491 243, 242, 245, 233, 163, 238, 239, 160, 163, 4, 2492 122, 3, 36, 290, 295, 172, 172, 160, 162, 84, 2493 312, 313, 314, 317, 172, 4, 249, 327, 328, 329, 2494 160, 160, 299, 337, 347, 3, 163, 254, 364, 160, 2495 368, 368, 368, 163, 272, 4, 249, 4, 3, 271, 2496 245, 163, 162, 162, 163, 3, 5, 163, 356, 163, 2497 202, 207, 207, 207, 207, 5, 163, 163, 163, 3, 2498 163, 162, 183, 247, 248, 249, 162, 234, 249, 163, 2499 233, 5, 122, 274, 239, 238, 160, 166, 280, 281, 2500 160, 279, 294, 37, 38, 296, 297, 172, 249, 160, 2501 85, 312, 318, 172, 299, 329, 3, 163, 4, 245, 2502 368, 365, 163, 163, 163, 163, 249, 4, 249, 265, 2503 3, 294, 249, 249, 257, 338, 249, 22, 82, 185, 2504 163, 184, 21, 274, 249, 249, 122, 3, 163, 160, 2505 160, 172, 288, 163, 160, 299, 328, 329, 245, 163, 2506 249, 4, 249, 163, 163, 3, 3, 202, 163, 163, 2507 160, 281, 160, 288, 82, 249, 249, 249, 22, 160, 2508 3, 249 2441 0, 204, 0, 1, 24, 28, 30, 37, 64, 87, 2442 114, 172, 197, 205, 206, 207, 208, 210, 211, 264, 2443 265, 638, 641, 658, 660, 694, 695, 696, 697, 698, 2444 708, 709, 184, 212, 191, 191, 175, 176, 177, 178, 2445 183, 189, 191, 231, 266, 315, 209, 24, 197, 24, 2446 266, 236, 237, 406, 651, 653, 659, 659, 29, 31, 2447 114, 696, 659, 659, 209, 661, 642, 268, 267, 272, 2448 269, 271, 270, 193, 194, 194, 209, 197, 208, 25, 2449 32, 82, 99, 100, 111, 132, 134, 135, 147, 167, 2450 170, 171, 184, 185, 186, 187, 191, 192, 231, 238, 2451 239, 240, 251, 259, 260, 288, 290, 292, 331, 332, 2452 347, 365, 370, 387, 388, 393, 398, 399, 406, 407, 2453 413, 417, 423, 434, 436, 445, 447, 449, 452, 453, 2454 454, 515, 516, 541, 542, 543, 545, 551, 552, 555, 2455 561, 566, 589, 612, 637, 675, 678, 720, 160, 653, 2456 259, 260, 640, 647, 721, 38, 48, 78, 93, 108, 2457 115, 118, 119, 121, 124, 127, 128, 129, 153, 191, 2458 241, 242, 252, 253, 259, 459, 476, 515, 516, 526, 2459 527, 531, 541, 560, 561, 570, 571, 574, 586, 587, 2460 588, 589, 590, 595, 602, 606, 609, 612, 625, 628, 2461 631, 683, 688, 720, 191, 711, 191, 701, 241, 241, 2462 206, 206, 21, 193, 273, 274, 273, 273, 273, 21, 2463 193, 284, 285, 286, 273, 4, 11, 19, 20, 21, 2464 124, 149, 165, 166, 175, 188, 192, 193, 201, 231, 2465 254, 257, 263, 275, 276, 279, 280, 288, 289, 316, 2466 317, 322, 324, 434, 483, 484, 485, 486, 487, 490, 2467 491, 493, 495, 496, 497, 498, 499, 503, 506, 508, 2468 681, 690, 394, 206, 193, 418, 419, 3, 206, 213, 2469 546, 154, 191, 676, 677, 154, 401, 22, 424, 206, 2470 546, 3, 293, 294, 193, 374, 375, 377, 378, 434, 2471 436, 4, 193, 240, 102, 107, 110, 139, 191, 436, 2472 193, 291, 264, 367, 401, 130, 140, 142, 146, 193, 2473 517, 5, 193, 448, 539, 540, 548, 548, 539, 652, 2474 112, 639, 648, 649, 650, 697, 708, 193, 193, 191, 2475 231, 235, 503, 559, 191, 206, 260, 191, 197, 723, 2476 193, 193, 634, 193, 508, 593, 193, 593, 193, 193, 2477 206, 503, 505, 506, 511, 512, 513, 514, 591, 4, 2478 112, 246, 247, 243, 244, 245, 252, 637, 110, 120, 2479 122, 125, 126, 144, 528, 47, 572, 573, 577, 193, 2480 684, 193, 715, 193, 246, 246, 192, 94, 513, 193, 2481 276, 287, 73, 94, 263, 193, 323, 326, 327, 328, 2482 503, 200, 200, 231, 275, 278, 279, 281, 490, 503, 2483 5, 3, 194, 323, 23, 488, 21, 22, 489, 275, 2484 276, 490, 276, 486, 12, 13, 14, 15, 16, 17, 2485 18, 161, 162, 163, 164, 195, 196, 492, 494, 10, 2486 500, 8, 501, 6, 7, 502, 493, 193, 193, 420, 2487 3, 206, 116, 117, 231, 547, 206, 676, 3, 206, 2488 191, 679, 680, 191, 18, 22, 426, 427, 206, 295, 2489 296, 347, 191, 154, 191, 378, 379, 380, 447, 451, 2490 452, 453, 3, 372, 373, 428, 3, 22, 110, 111, 2491 170, 450, 206, 508, 21, 192, 260, 503, 505, 616, 2492 503, 206, 4, 5, 446, 507, 508, 264, 300, 301, 2493 302, 303, 3, 334, 335, 336, 366, 191, 368, 369, 2494 674, 401, 401, 143, 264, 409, 410, 191, 434, 435, 2495 436, 503, 523, 524, 525, 474, 508, 518, 519, 520, 2496 521, 146, 503, 446, 199, 245, 168, 169, 191, 261, 2497 262, 544, 549, 550, 553, 556, 557, 262, 549, 104, 2498 562, 563, 567, 3, 154, 656, 722, 406, 643, 650, 2499 503, 534, 503, 206, 206, 206, 460, 596, 193, 58, 2500 65, 67, 68, 503, 593, 629, 630, 206, 58, 65, 2501 67, 68, 593, 626, 627, 206, 477, 231, 726, 206, 2502 48, 206, 662, 663, 245, 503, 193, 21, 50, 58, 2503 60, 61, 62, 63, 65, 67, 191, 436, 440, 592, 2504 593, 594, 613, 614, 615, 616, 613, 616, 689, 260, 2505 515, 526, 527, 529, 532, 533, 136, 193, 581, 131, 2506 573, 578, 539, 194, 686, 206, 716, 710, 699, 406, 2507 705, 406, 712, 5, 194, 263, 5, 5, 3, 194, 2508 326, 503, 150, 3, 191, 192, 277, 277, 174, 279, 2509 194, 263, 317, 202, 325, 276, 485, 485, 486, 487, 2510 491, 495, 496, 497, 194, 682, 191, 396, 397, 231, 2511 422, 437, 445, 447, 453, 419, 193, 538, 5, 206, 2512 677, 3, 206, 22, 191, 191, 431, 432, 3, 206, 2513 193, 3, 371, 428, 374, 377, 231, 275, 276, 278, 2514 279, 288, 314, 315, 318, 346, 376, 382, 385, 386, 2515 434, 490, 681, 503, 206, 546, 206, 546, 4, 21, 2516 154, 231, 455, 456, 458, 503, 506, 206, 3, 206, 2517 194, 110, 503, 194, 4, 3, 154, 304, 173, 299, 2518 302, 25, 101, 130, 132, 133, 134, 137, 138, 140, 2519 141, 337, 347, 191, 340, 341, 343, 154, 3, 206, 2520 3, 191, 390, 231, 342, 402, 403, 404, 405, 427, 2521 408, 193, 3, 206, 199, 206, 4, 3, 194, 3, 2522 194, 436, 522, 206, 194, 449, 206, 546, 4, 113, 2523 38, 127, 129, 259, 260, 459, 476, 515, 526, 554, 2524 570, 587, 589, 595, 602, 606, 609, 612, 625, 628, 2525 631, 683, 548, 544, 557, 259, 193, 105, 563, 564, 2526 565, 568, 539, 134, 667, 191, 206, 182, 194, 194, 2527 437, 447, 452, 467, 468, 469, 49, 53, 54, 55, 2528 56, 57, 58, 65, 66, 67, 593, 598, 599, 49, 2529 51, 52, 53, 54, 56, 58, 59, 65, 67, 69, 2530 593, 635, 636, 593, 260, 436, 443, 444, 436, 441, 2531 442, 601, 3, 194, 593, 260, 443, 601, 3, 194, 2532 469, 479, 3, 194, 193, 248, 249, 250, 697, 708, 2533 182, 194, 603, 5, 21, 592, 616, 191, 614, 260, 2534 260, 260, 443, 3, 194, 194, 3, 206, 231, 690, 2535 39, 530, 535, 582, 191, 206, 191, 579, 685, 231, 2536 254, 436, 503, 691, 692, 693, 21, 191, 702, 717, 2537 718, 719, 206, 717, 182, 182, 513, 194, 263, 513, 2538 513, 3, 327, 231, 258, 275, 278, 282, 691, 5, 2539 3, 194, 3, 193, 503, 503, 680, 231, 415, 416, 2540 437, 22, 193, 3, 429, 296, 191, 297, 298, 231, 2541 380, 381, 547, 206, 374, 193, 21, 383, 383, 193, 2542 3, 22, 383, 276, 279, 194, 206, 206, 4, 503, 2543 260, 503, 5, 3, 194, 4, 154, 457, 193, 503, 2544 619, 620, 621, 103, 503, 206, 507, 101, 130, 138, 2545 305, 306, 347, 231, 308, 309, 191, 206, 193, 193, 2546 3, 333, 193, 348, 337, 369, 193, 3, 389, 400, 2547 3, 206, 191, 411, 412, 410, 191, 523, 475, 508, 2548 474, 520, 474, 521, 146, 206, 206, 169, 191, 206, 2549 193, 191, 192, 193, 724, 193, 110, 262, 558, 548, 2550 503, 191, 206, 106, 563, 569, 539, 154, 3, 668, 2551 114, 645, 206, 533, 576, 3, 462, 193, 470, 504, 2552 505, 600, 504, 504, 504, 508, 5, 593, 260, 504, 2553 443, 3, 194, 600, 5, 443, 441, 441, 443, 593, 2554 436, 438, 439, 260, 443, 438, 3, 194, 630, 206, 2555 627, 206, 3, 480, 231, 503, 250, 30, 665, 253, 2556 259, 260, 57, 58, 65, 67, 593, 604, 605, 508, 2557 615, 610, 619, 193, 436, 607, 617, 618, 621, 617, 2558 534, 40, 41, 536, 537, 528, 4, 503, 583, 584, 2559 585, 206, 580, 206, 206, 5, 3, 194, 194, 3, 2560 194, 31, 707, 29, 714, 194, 3, 194, 3, 194, 2561 194, 231, 329, 330, 547, 194, 194, 503, 510, 397, 2562 395, 421, 422, 446, 194, 3, 3, 414, 433, 432, 2563 425, 428, 3, 194, 5, 193, 231, 255, 256, 257, 2564 258, 275, 278, 314, 318, 346, 384, 385, 194, 254, 2565 319, 320, 321, 436, 503, 522, 525, 382, 103, 503, 2566 4, 21, 503, 456, 4, 503, 503, 503, 620, 622, 2567 623, 3, 206, 206, 194, 193, 3, 154, 193, 310, 2568 3, 206, 206, 338, 339, 341, 206, 349, 21, 283, 2569 391, 191, 206, 206, 404, 20, 3, 194, 4, 4, 2570 522, 206, 546, 206, 534, 11, 19, 20, 44, 109, 2571 155, 165, 166, 184, 185, 187, 188, 192, 214, 215, 2572 219, 221, 224, 226, 231, 232, 233, 503, 726, 503, 2573 253, 194, 206, 191, 206, 27, 191, 669, 670, 654, 2574 191, 646, 206, 97, 145, 463, 464, 468, 194, 471, 2575 472, 473, 474, 504, 599, 597, 441, 194, 636, 632, 2576 97, 145, 469, 481, 482, 194, 194, 191, 666, 110, 2577 3, 5, 593, 260, 443, 3, 194, 206, 611, 206, 2578 3, 608, 206, 194, 191, 206, 191, 206, 528, 585, 2579 3, 194, 4, 206, 231, 693, 692, 687, 719, 26, 2580 703, 704, 646, 646, 94, 73, 194, 5, 206, 3, 2581 194, 194, 503, 416, 206, 428, 4, 350, 351, 352, 2582 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 2583 363, 508, 509, 206, 427, 298, 206, 513, 231, 275, 2584 5, 3, 194, 206, 503, 260, 503, 4, 3, 620, 2585 103, 307, 306, 4, 311, 351, 353, 357, 283, 309, 2586 350, 157, 158, 159, 364, 350, 287, 5, 146, 344, 2587 345, 350, 193, 191, 412, 206, 206, 194, 503, 194, 2588 194, 503, 199, 445, 447, 193, 193, 194, 191, 184, 2589 234, 445, 5, 6, 7, 8, 9, 10, 12, 13, 2590 14, 15, 16, 17, 19, 20, 21, 22, 23, 195, 2591 196, 216, 194, 194, 103, 206, 4, 146, 3, 206, 2592 644, 441, 466, 5, 3, 461, 3, 194, 475, 4, 2593 206, 619, 206, 466, 5, 3, 478, 575, 664, 503, 2594 260, 504, 605, 206, 206, 618, 206, 191, 206, 206, 2595 206, 584, 585, 206, 193, 700, 713, 713, 5, 5, 2596 508, 422, 3, 22, 194, 3, 4, 3, 3, 353, 2597 361, 509, 21, 3, 430, 3, 321, 320, 503, 547, 2598 623, 624, 206, 311, 194, 3, 4, 5, 146, 312, 2599 313, 194, 194, 194, 510, 314, 346, 434, 194, 392, 2600 725, 222, 223, 225, 5, 218, 503, 503, 503, 503, 2601 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 2602 503, 5, 22, 217, 503, 503, 5, 503, 5, 503, 2603 191, 206, 191, 657, 670, 671, 672, 673, 674, 191, 2604 670, 206, 443, 465, 464, 206, 472, 633, 465, 482, 2605 206, 206, 206, 194, 3, 206, 191, 206, 706, 206, 2606 513, 263, 3, 503, 191, 352, 354, 509, 4, 353, 2607 356, 358, 4, 21, 363, 431, 513, 5, 194, 194, 2608 510, 314, 346, 350, 219, 231, 220, 227, 227, 227, 2609 503, 503, 503, 503, 503, 206, 655, 3, 206, 260, 2610 194, 206, 194, 194, 508, 22, 4, 3, 194, 508, 2611 194, 193, 4, 228, 229, 230, 503, 194, 194, 194, 2612 206, 672, 206, 3, 415, 513, 3, 4, 503, 3, 2613 4, 445, 508, 194, 508, 503, 4, 229, 503, 3, 2614 503, 4, 508, 503 2509 2615 }; 2510 2616 … … 2512 2618 static const yytype_uint16 yyr1[] = 2513 2619 { 2514 0, 169, 170, 170, 171, 171, 171, 171, 172, 172, 2515 172, 172, 172, 173, 173, 173, 174, 174, 174, 174, 2516 175, 176, 176, 177, 177, 178, 178, 178, 178, 179, 2517 179, 180, 181, 182, 182, 182, 183, 183, 183, 184, 2518 184, 185, 185, 186, 186, 186, 186, 186, 186, 186, 2519 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 2520 186, 186, 186, 187, 187, 188, 188, 188, 188, 188, 2521 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 2522 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, 2523 189, 190, 190, 191, 191, 192, 193, 193, 194, 194, 2524 195, 195, 196, 196, 197, 198, 199, 200, 200, 201, 2525 201, 201, 202, 202, 203, 203, 203, 203, 204, 205, 2526 205, 206, 206, 206, 207, 207, 207, 207, 207, 208, 2527 208, 209, 209, 209, 209, 210, 211, 211, 212, 212, 2528 213, 213, 214, 214, 214, 214, 215, 215, 215, 216, 2529 216, 217, 217, 218, 219, 219, 220, 220, 221, 221, 2530 222, 223, 224, 224, 225, 225, 226, 226, 227, 228, 2531 228, 228, 228, 229, 229, 229, 229, 230, 230, 230, 2532 231, 232, 232, 232, 232, 232, 232, 233, 233, 234, 2533 234, 235, 235, 235, 236, 236, 237, 237, 237, 237, 2534 237, 238, 238, 238, 239, 239, 240, 240, 240, 241, 2535 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 2536 242, 242, 243, 243, 243, 244, 244, 245, 245, 246, 2537 246, 247, 247, 247, 247, 247, 248, 248, 249, 249, 2538 249, 249, 250, 250, 250, 250, 250, 250, 250, 250, 2539 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 2540 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 2541 252, 252, 252, 252, 252, 252, 253, 253, 254, 254, 2542 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 2543 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 2544 255, 255, 255, 256, 256, 257, 257, 257, 258, 259, 2545 259, 259, 259, 260, 261, 262, 263, 263, 264, 264, 2546 265, 265, 266, 266, 266, 266, 266, 266, 266, 267, 2547 268, 268, 268, 268, 268, 268, 268, 268, 269, 269, 2548 269, 269, 270, 270, 271, 272, 272, 273, 273, 274, 2549 274, 274, 275, 276, 276, 276, 276, 277, 278, 278, 2550 279, 280, 280, 281, 281, 282, 282, 283, 283, 283, 2551 283, 283, 284, 284, 284, 284, 284, 284, 284, 284, 2552 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 2553 284, 284, 284, 284, 284, 284, 284, 285, 286, 287, 2554 288, 288, 289, 289, 290, 290, 291, 292, 292, 292, 2555 293, 294, 295, 295, 296, 296, 297, 297, 298, 299, 2556 299, 299, 300, 301, 302, 302, 303, 303, 303, 303, 2557 304, 304, 304, 304, 305, 305, 305, 305, 306, 307, 2558 308, 308, 309, 309, 310, 311, 311, 311, 312, 313, 2559 313, 313, 314, 315, 315, 316, 316, 317, 317, 318, 2560 318, 319, 320, 321, 321, 321, 322, 323, 323, 324, 2561 324, 325, 325, 326, 326, 327, 327, 328, 328, 328, 2562 328, 329, 330, 331, 332, 333, 334, 335, 336, 336, 2563 337, 338, 338, 339, 339, 340, 340, 341, 342, 342, 2564 343, 343, 344, 344, 345, 346, 346, 347, 347, 348, 2565 348, 349, 349, 350, 350, 351, 351, 352, 353, 353, 2566 353, 353, 353, 354, 354, 355, 355, 355, 355, 355, 2567 355, 355, 355, 356, 357, 357, 357, 358, 358, 359, 2568 359, 359, 360, 360, 361, 361, 361, 361, 361, 361, 2569 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 2570 361, 362, 362, 363, 363, 364, 364, 364, 364, 364, 2571 365, 365, 365, 366, 366, 366, 366, 366, 366, 366, 2572 366, 366, 366, 367, 367, 367, 368, 368, 369, 369, 2573 370, 370, 371, 372, 372, 373, 373, 374, 374 2620 0, 203, 204, 204, 205, 205, 205, 206, 206, 206, 2621 206, 206, 207, 207, 207, 208, 208, 208, 209, 210, 2622 210, 210, 211, 211, 212, 213, 213, 214, 214, 214, 2623 214, 214, 215, 215, 216, 216, 216, 216, 216, 216, 2624 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 2625 216, 216, 216, 216, 216, 217, 217, 217, 217, 218, 2626 218, 219, 219, 219, 220, 221, 221, 222, 221, 223, 2627 221, 224, 225, 224, 226, 227, 227, 228, 228, 229, 2628 229, 230, 230, 230, 230, 230, 230, 230, 231, 232, 2629 232, 232, 232, 232, 232, 232, 232, 233, 233, 233, 2630 233, 234, 234, 235, 235, 236, 237, 237, 238, 238, 2631 239, 239, 240, 240, 240, 240, 240, 240, 240, 240, 2632 240, 240, 240, 240, 240, 241, 241, 242, 243, 243, 2633 244, 244, 245, 245, 246, 246, 247, 248, 248, 249, 2634 249, 250, 250, 251, 251, 251, 251, 251, 251, 251, 2635 251, 251, 252, 252, 252, 252, 252, 253, 253, 253, 2636 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 2637 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 2638 253, 253, 254, 255, 256, 256, 257, 257, 257, 257, 2639 257, 258, 259, 259, 260, 260, 261, 261, 262, 263, 2640 263, 263, 265, 264, 264, 264, 267, 266, 268, 266, 2641 269, 266, 270, 266, 271, 266, 272, 266, 273, 273, 2642 274, 274, 274, 275, 275, 276, 276, 277, 277, 278, 2643 278, 279, 279, 280, 281, 281, 281, 282, 282, 282, 2644 283, 283, 284, 284, 285, 285, 285, 285, 285, 286, 2645 286, 286, 286, 287, 287, 288, 288, 288, 289, 289, 2646 291, 290, 292, 292, 293, 293, 294, 294, 295, 295, 2647 296, 297, 297, 298, 299, 299, 300, 300, 301, 301, 2648 302, 303, 304, 304, 304, 305, 305, 306, 306, 307, 2649 306, 306, 308, 308, 309, 310, 310, 311, 311, 312, 2650 312, 313, 313, 313, 314, 315, 315, 316, 316, 317, 2651 317, 318, 318, 319, 319, 320, 320, 321, 321, 321, 2652 322, 322, 323, 324, 325, 326, 326, 327, 327, 328, 2653 329, 329, 330, 332, 333, 331, 334, 334, 335, 335, 2654 336, 336, 337, 337, 338, 337, 337, 339, 337, 337, 2655 337, 337, 337, 337, 337, 340, 340, 341, 342, 343, 2656 344, 344, 345, 345, 345, 346, 347, 347, 348, 349, 2657 348, 350, 350, 350, 350, 350, 351, 351, 352, 352, 2658 353, 354, 355, 355, 356, 356, 357, 357, 358, 359, 2659 360, 360, 361, 361, 362, 362, 363, 364, 364, 364, 2660 366, 365, 367, 367, 368, 368, 369, 369, 371, 370, 2661 372, 372, 373, 373, 374, 375, 375, 376, 376, 377, 2662 377, 378, 378, 379, 379, 380, 380, 380, 381, 382, 2663 382, 382, 382, 382, 382, 382, 382, 383, 383, 384, 2664 384, 384, 384, 384, 384, 384, 385, 386, 388, 389, 2665 387, 391, 390, 392, 390, 394, 395, 393, 396, 396, 2666 397, 399, 400, 398, 401, 401, 402, 402, 403, 403, 2667 404, 404, 404, 405, 406, 407, 408, 407, 409, 409, 2668 410, 411, 411, 412, 412, 413, 414, 414, 415, 415, 2669 416, 417, 418, 418, 420, 419, 421, 421, 422, 422, 2670 422, 424, 425, 423, 426, 426, 427, 427, 428, 428, 2671 429, 430, 429, 431, 431, 432, 433, 432, 434, 434, 2672 434, 434, 435, 436, 437, 438, 439, 440, 441, 442, 2673 443, 444, 445, 445, 445, 446, 447, 448, 448, 449, 2674 450, 449, 451, 452, 453, 454, 454, 455, 455, 455, 2675 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 2676 457, 457, 457, 457, 457, 457, 458, 460, 461, 459, 2677 462, 462, 463, 463, 464, 464, 465, 466, 467, 467, 2678 468, 469, 469, 470, 470, 471, 471, 472, 473, 473, 2679 474, 475, 477, 478, 476, 479, 479, 480, 480, 481, 2680 481, 482, 482, 483, 483, 483, 483, 483, 484, 485, 2681 485, 486, 486, 487, 487, 487, 487, 487, 488, 489, 2682 489, 490, 490, 491, 491, 492, 493, 493, 494, 494, 2683 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 2684 495, 495, 496, 496, 497, 497, 498, 498, 499, 500, 2685 501, 502, 502, 503, 504, 505, 506, 507, 507, 508, 2686 509, 510, 511, 512, 513, 514, 515, 515, 516, 516, 2687 516, 517, 517, 518, 518, 519, 519, 520, 521, 522, 2688 523, 524, 525, 525, 525, 526, 527, 528, 528, 529, 2689 529, 530, 530, 531, 532, 532, 532, 533, 534, 535, 2690 535, 536, 536, 537, 537, 538, 539, 540, 540, 541, 2691 541, 541, 542, 542, 543, 543, 543, 543, 544, 544, 2692 544, 544, 545, 545, 545, 545, 546, 546, 546, 546, 2693 547, 548, 549, 549, 550, 550, 551, 551, 552, 553, 2694 554, 554, 554, 554, 554, 554, 554, 554, 554, 554, 2695 554, 554, 554, 554, 554, 554, 554, 555, 555, 556, 2696 556, 557, 558, 559, 559, 560, 561, 562, 562, 562, 2697 563, 564, 564, 564, 565, 566, 566, 566, 567, 567, 2698 568, 568, 569, 569, 570, 571, 572, 572, 572, 573, 2699 575, 574, 576, 574, 577, 577, 579, 578, 580, 578, 2700 582, 581, 581, 583, 583, 584, 584, 584, 584, 585, 2701 586, 586, 587, 588, 589, 590, 590, 591, 591, 592, 2702 592, 592, 593, 594, 596, 597, 595, 598, 598, 599, 2703 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 2704 600, 601, 603, 602, 604, 604, 605, 605, 605, 605, 2705 605, 607, 606, 608, 606, 606, 606, 610, 609, 611, 2706 609, 612, 612, 613, 613, 614, 615, 615, 615, 615, 2707 615, 615, 615, 615, 615, 615, 615, 616, 616, 616, 2708 617, 617, 618, 618, 619, 619, 620, 620, 621, 622, 2709 622, 623, 624, 624, 625, 625, 626, 626, 627, 627, 2710 627, 627, 627, 628, 628, 629, 629, 630, 630, 630, 2711 630, 630, 632, 631, 633, 631, 634, 635, 635, 636, 2712 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, 2713 637, 639, 638, 640, 640, 642, 641, 644, 643, 645, 2714 645, 646, 646, 647, 648, 648, 649, 649, 650, 650, 2715 651, 651, 652, 654, 653, 655, 653, 656, 656, 656, 2716 657, 657, 658, 659, 659, 241, 241, 661, 660, 663, 2717 664, 662, 665, 665, 666, 666, 667, 668, 668, 669, 2718 669, 670, 671, 671, 672, 672, 672, 673, 674, 675, 2719 675, 676, 676, 677, 678, 679, 679, 680, 681, 682, 2720 681, 684, 683, 685, 683, 686, 687, 683, 689, 688, 2721 690, 690, 690, 691, 691, 692, 692, 693, 693, 693, 2722 694, 694, 695, 695, 696, 696, 696, 697, 699, 700, 2723 698, 701, 702, 703, 703, 704, 706, 705, 707, 707, 2724 708, 710, 709, 711, 712, 713, 714, 714, 715, 716, 2725 715, 717, 717, 718, 718, 719, 719, 720, 720, 722, 2726 721, 723, 723, 724, 724, 724, 724, 724, 725, 726, 2727 726 2574 2728 }; 2575 2729 … … 2577 2731 static const yytype_uint8 yyr2[] = 2578 2732 { 2579 0, 2, 0, 2, 1, 1, 2, 1, 2, 1, 2580 3, 2, 2, 1, 3, 3, 2, 2, 3, 1, 2581 0, 0, 1, 0, 2, 4, 2, 5, 2, 1, 2582 2, 1, 1, 0, 2, 3, 0, 2, 3, 1, 2583 3, 1, 1, 2, 4, 2, 2, 4, 2, 1, 2584 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, 2585 3, 2, 2, 0, 1, 1, 1, 1, 1, 1, 2733 0, 2, 0, 2, 1, 1, 1, 2, 1, 1, 2734 3, 2, 1, 3, 3, 1, 3, 1, 0, 1, 2735 1, 1, 1, 1, 1, 0, 1, 1, 1, 2, 2736 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2737 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2738 2, 2, 2, 2, 2, 0, 1, 2, 2, 2, 2739 1, 1, 1, 1, 0, 1, 2, 0, 5, 0, 2740 6, 1, 0, 5, 4, 1, 2, 1, 3, 1, 2741 1, 3, 5, 4, 3, 2, 2, 1, 1, 1, 2742 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2743 1, 0, 1, 0, 1, 2, 0, 1, 0, 1, 2744 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2745 1, 1, 1, 1, 1, 0, 1, 2, 0, 1, 2746 1, 2, 1, 1, 0, 1, 3, 0, 1, 1, 2747 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2748 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2749 1, 1, 1, 1, 1, 1, 1, 2, 4, 2, 2586 2750 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2587 2751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2588 3, 3, 5, 1, 3, 3, 2, 4, 1, 3, 2589 0, 1, 2, 3, 1, 1, 2, 1, 3, 4, 2590 4, 8, 1, 3, 2, 3, 5, 3, 1, 0, 2591 2, 1, 4, 3, 2, 3, 3, 3, 3, 0, 2592 1, 2, 3, 5, 3, 1, 5, 5, 2, 3, 2593 2, 3, 1, 1, 3, 3, 2, 3, 5, 1, 2594 2, 1, 3, 2, 1, 3, 0, 1, 1, 3, 2595 3, 2, 1, 3, 2, 2, 5, 6, 0, 2, 2596 2, 3, 3, 0, 2, 4, 3, 3, 4, 2, 2597 1, 1, 1, 1, 1, 1, 1, 0, 2, 1, 2598 3, 0, 2, 3, 1, 3, 2, 3, 1, 1, 2599 1, 1, 1, 1, 0, 3, 0, 1, 3, 1, 2600 3, 1, 1, 1, 2, 1, 4, 1, 1, 1, 2601 1, 1, 1, 1, 1, 1, 1, 0, 3, 1, 2602 3, 1, 1, 2, 2, 3, 1, 1, 1, 1, 2603 1, 3, 3, 3, 4, 4, 3, 4, 4, 3, 2604 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2605 4, 4, 4, 3, 4, 3, 4, 4, 1, 3, 2606 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2607 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2608 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2609 1, 2, 2, 2, 1, 1, 1, 1, 0, 1, 2610 2, 4, 5, 4, 4, 3, 1, 2, 1, 3, 2611 1, 1, 3, 5, 4, 3, 2, 2, 1, 1, 2612 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2613 1, 1, 0, 1, 5, 0, 1, 1, 1, 0, 2614 2, 2, 5, 2, 4, 6, 6, 1, 1, 3, 2615 3, 1, 3, 3, 1, 1, 1, 1, 1, 1, 2616 1, 1, 1, 2, 1, 1, 2, 2, 2, 3, 2617 2, 5, 5, 2, 2, 2, 2, 1, 4, 1, 2618 2, 2, 2, 2, 1, 1, 1, 1, 5, 6, 2619 0, 3, 0, 4, 0, 4, 4, 1, 1, 1, 2620 1, 1, 3, 4, 1, 2, 1, 2, 0, 0, 2621 2, 3, 1, 4, 1, 1, 4, 2, 5, 3, 2622 3, 1, 4, 2, 6, 8, 5, 3, 1, 1, 2623 1, 1, 1, 2, 6, 0, 1, 2, 3, 0, 2624 1, 2, 3, 7, 5, 5, 6, 1, 2, 1, 2625 2, 5, 4, 0, 1, 2, 3, 6, 4, 2, 2626 3, 1, 2, 3, 1, 1, 3, 1, 2, 2, 2627 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2628 0, 4, 7, 1, 3, 2, 2, 2, 0, 3, 2629 0, 1, 2, 2, 1, 1, 3, 1, 2, 1, 2630 1, 0, 1, 2, 2, 0, 2, 3, 3, 3, 2631 1, 3, 1, 1, 3, 1, 1, 1, 3, 5, 2632 4, 2, 2, 0, 1, 1, 1, 1, 1, 1, 2633 1, 1, 1, 3, 1, 1, 3, 3, 3, 3, 2634 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2635 1, 1, 1, 1, 3, 2, 4, 2, 2, 5, 2636 0, 1, 2, 1, 1, 1, 1, 3, 3, 3, 2637 3, 3, 3, 5, 5, 5, 5, 7, 8, 2, 2638 1, 3, 1, 1, 3, 0, 4, 1, 3 2752 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 2753 1, 1, 0, 2, 3, 3, 0, 3, 0, 3, 2754 0, 3, 0, 3, 0, 3, 0, 3, 0, 1, 2755 3, 5, 2, 1, 2, 1, 3, 1, 1, 1, 2756 2, 1, 3, 5, 1, 1, 1, 1, 1, 1, 2757 0, 2, 0, 1, 1, 9, 5, 5, 9, 3, 2758 5, 2, 3, 3, 1, 1, 1, 1, 1, 1, 2759 0, 4, 4, 7, 0, 2, 0, 2, 1, 3, 2760 1, 1, 3, 1, 2, 3, 0, 1, 1, 2, 2761 1, 4, 0, 1, 3, 1, 3, 1, 1, 0, 2762 5, 1, 1, 3, 4, 0, 3, 1, 1, 0, 2763 1, 2, 2, 2, 1, 1, 4, 1, 3, 1, 2764 3, 3, 4, 1, 3, 1, 3, 1, 1, 1, 2765 3, 3, 1, 1, 1, 1, 3, 1, 1, 5, 2766 5, 7, 1, 0, 0, 6, 0, 2, 0, 1, 2767 2, 3, 1, 1, 0, 5, 1, 0, 5, 1, 2768 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 2769 0, 1, 2, 2, 2, 1, 1, 1, 0, 0, 2770 4, 1, 1, 1, 1, 1, 1, 3, 3, 1, 2771 1, 1, 1, 3, 1, 2, 1, 3, 1, 3, 2772 0, 2, 0, 2, 1, 3, 2, 1, 1, 1, 2773 0, 4, 0, 2, 1, 3, 1, 1, 0, 5, 2774 0, 1, 2, 3, 4, 1, 3, 1, 3, 1, 2775 1, 9, 11, 1, 3, 1, 1, 1, 1, 2, 2776 2, 2, 1, 1, 1, 1, 1, 0, 2, 1, 2777 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2778 6, 0, 5, 0, 7, 0, 0, 7, 1, 3, 2779 3, 0, 0, 6, 0, 1, 0, 1, 1, 3, 2780 1, 1, 1, 1, 0, 4, 0, 5, 1, 3, 2781 4, 1, 3, 1, 3, 7, 0, 6, 1, 3, 2782 1, 3, 1, 3, 0, 6, 1, 3, 1, 1, 2783 1, 0, 0, 7, 0, 1, 1, 3, 0, 1, 2784 0, 0, 5, 1, 3, 1, 0, 5, 1, 1, 2785 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2786 1, 1, 1, 4, 4, 3, 2, 0, 3, 1, 2787 0, 5, 1, 1, 1, 1, 4, 0, 1, 3, 2788 2, 1, 2, 3, 4, 2, 1, 3, 4, 2, 2789 1, 2, 3, 4, 2, 0, 1, 0, 0, 8, 2790 0, 2, 1, 3, 2, 3, 1, 1, 1, 3, 2791 2, 1, 1, 0, 3, 1, 3, 2, 0, 2, 2792 1, 1, 0, 0, 8, 1, 3, 0, 2, 1, 2793 3, 2, 3, 1, 1, 1, 1, 3, 1, 1, 2794 3, 1, 3, 1, 2, 3, 1, 2, 1, 1, 2795 1, 1, 1, 1, 3, 1, 1, 3, 1, 1, 2796 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2797 1, 2, 1, 3, 1, 3, 1, 3, 1, 1, 2798 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 2799 1, 1, 1, 1, 1, 1, 4, 5, 5, 7, 2800 4, 0, 3, 1, 3, 1, 3, 2, 3, 1, 2801 1, 3, 1, 1, 1, 5, 5, 0, 2, 0, 2802 3, 0, 3, 5, 1, 1, 1, 1, 1, 4, 2803 5, 2, 3, 2, 3, 0, 1, 0, 2, 1, 2804 1, 1, 3, 3, 4, 2, 5, 3, 4, 2, 2805 5, 3, 4, 2, 5, 3, 6, 8, 5, 3, 2806 1, 1, 1, 2, 3, 4, 1, 1, 3, 2, 2807 1, 1, 1, 1, 1, 1, 1, 2, 4, 1, 2808 1, 1, 1, 1, 1, 1, 1, 4, 3, 2, 2809 3, 3, 2, 0, 1, 3, 5, 0, 1, 2, 2810 2, 0, 1, 2, 2, 7, 8, 6, 6, 7, 2811 2, 3, 2, 3, 5, 3, 0, 1, 2, 2, 2812 0, 8, 0, 6, 3, 4, 0, 3, 0, 4, 2813 0, 4, 1, 1, 3, 1, 2, 2, 3, 1, 2814 2, 3, 3, 10, 3, 2, 3, 1, 1, 1, 2815 1, 1, 1, 1, 0, 0, 7, 1, 3, 1, 2816 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2817 1, 1, 0, 7, 1, 3, 1, 2, 2, 2, 2818 3, 0, 6, 0, 7, 4, 6, 0, 6, 0, 2819 7, 4, 6, 1, 3, 1, 1, 2, 1, 1, 2820 2, 2, 2, 2, 2, 2, 3, 1, 1, 1, 2821 1, 3, 1, 1, 1, 3, 1, 1, 5, 1, 2822 3, 1, 5, 7, 3, 5, 1, 3, 1, 2, 2823 2, 2, 2, 3, 5, 1, 3, 1, 2, 2, 2824 2, 2, 0, 7, 0, 9, 0, 1, 3, 1, 2825 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2826 2, 0, 5, 0, 1, 0, 4, 0, 6, 0, 2827 1, 0, 1, 2, 0, 1, 1, 2, 1, 1, 2828 1, 2, 0, 0, 8, 0, 11, 0, 1, 3, 2829 0, 1, 5, 0, 1, 0, 1, 0, 4, 0, 2830 0, 6, 0, 1, 0, 1, 1, 0, 2, 1, 2831 3, 3, 1, 3, 1, 1, 1, 1, 1, 3, 2832 4, 1, 3, 1, 4, 1, 3, 1, 3, 0, 2833 5, 0, 3, 0, 5, 0, 0, 7, 0, 4, 2834 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 2835 0, 1, 1, 2, 1, 1, 1, 5, 0, 0, 2836 10, 1, 1, 0, 1, 4, 0, 7, 0, 1, 2837 5, 0, 6, 1, 6, 0, 0, 1, 0, 0, 2838 4, 0, 1, 1, 3, 1, 1, 3, 4, 0, 2839 4, 1, 1, 3, 3, 1, 3, 1, 0, 1, 2840 3 2639 2841 }; 2640 2842 … … 2652 2854 #define YYRECOVERING() (!!yyerrstatus) 2653 2855 2654 #define YYBACKUP(Token, Value) 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2856 #define YYBACKUP(Token, Value) \ 2857 do \ 2858 if (yychar == YYEMPTY) \ 2859 { \ 2860 yychar = (Token); \ 2861 yylval = (Value); \ 2862 YYPOPSTACK (yylen); \ 2863 yystate = *yyssp; \ 2864 goto yybackup; \ 2865 } \ 2866 else \ 2867 { \ 2868 yyerror (YY_("syntax error: cannot back up")); \ 2869 YYERROR; \ 2870 } \ 2871 while (0) 2670 2872 2671 2873 /* Error token number */ … … 2707 2909 2708 2910 2709 /*----------------------------------- .2710 | Print this symbol's value on YYO . |2711 `----------------------------------- */2911 /*----------------------------------------. 2912 | Print this symbol's value on YYOUTPUT. | 2913 `----------------------------------------*/ 2712 2914 2713 2915 static void 2714 yy_symbol_value_print (FILE *yyo , int yytype, YYSTYPE const * const yyvaluep)2916 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 2715 2917 { 2716 FILE *yyo utput = yyo;2717 YYUSE (yyo utput);2918 FILE *yyo = yyoutput; 2919 YYUSE (yyo); 2718 2920 if (!yyvaluep) 2719 2921 return; 2720 2922 # ifdef YYPRINT 2721 2923 if (yytype < YYNTOKENS) 2722 YYPRINT (yyo , yytoknum[yytype], *yyvaluep);2924 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 2723 2925 # endif 2724 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN2725 2926 YYUSE (yytype); 2726 YY_IGNORE_MAYBE_UNINITIALIZED_END2727 2927 } 2728 2928 2729 2929 2730 /*--------------------------- .2731 | Print this symbol on YYO . |2732 `--------------------------- */2930 /*--------------------------------. 2931 | Print this symbol on YYOUTPUT. | 2932 `--------------------------------*/ 2733 2933 2734 2934 static void 2735 yy_symbol_print (FILE *yyo , int yytype, YYSTYPE const * const yyvaluep)2935 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 2736 2936 { 2737 YYFPRINTF (yyo , "%s %s (",2937 YYFPRINTF (yyoutput, "%s %s (", 2738 2938 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 2739 2939 2740 yy_symbol_value_print (yyo , yytype, yyvaluep);2741 YYFPRINTF (yyo , ")");2940 yy_symbol_value_print (yyoutput, yytype, yyvaluep); 2941 YYFPRINTF (yyoutput, ")"); 2742 2942 } 2743 2943 … … 2773 2973 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 2774 2974 { 2775 unsigned long yylno = yyrline[yyrule];2975 unsigned long int yylno = yyrline[yyrule]; 2776 2976 int yynrhs = yyr2[yyrule]; 2777 2977 int yyi; … … 2784 2984 yy_symbol_print (stderr, 2785 2985 yystos[yyssp[yyi + 1 - yynrhs]], 2786 & yyvsp[(yyi + 1) - (yynrhs)]2986 &(yyvsp[(yyi + 1) - (yynrhs)]) 2787 2987 ); 2788 2988 YYFPRINTF (stderr, "\n"); … … 2888 3088 if (*++yyp != '\\') 2889 3089 goto do_not_strip_quotes; 2890 else 2891 goto append; 2892 2893 append: 3090 /* Fall through. */ 2894 3091 default: 2895 3092 if (yyres) … … 2909 3106 return yystrlen (yystr); 2910 3107 2911 return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);3108 return yystpcpy (yyres, yystr) - yyres; 2912 3109 } 2913 3110 # endif … … 2987 3184 { 2988 3185 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 2989 if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) 2990 yysize = yysize1; 2991 else 3186 if (! (yysize <= yysize1 3187 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 2992 3188 return 2; 3189 yysize = yysize1; 2993 3190 } 2994 3191 } … … 3002 3199 yyformat = S; \ 3003 3200 break 3004 default: /* Avoid compiler warnings. */3005 3201 YYCASE_(0, YY_("syntax error")); 3006 3202 YYCASE_(1, YY_("syntax error, unexpected %s")); … … 3014 3210 { 3015 3211 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 3016 if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) 3017 yysize = yysize1; 3018 else 3212 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 3019 3213 return 2; 3214 yysize = yysize1; 3020 3215 } 3021 3216 … … 3143 3338 goto yysetstate; 3144 3339 3145 3146 3340 /*------------------------------------------------------------. 3147 | yynewstate -- push a new state, which is found in yystate. |3341 | yynewstate -- Push a new state, which is found in yystate. | 3148 3342 `------------------------------------------------------------*/ 3149 yynewstate:3343 yynewstate: 3150 3344 /* In all cases, when you get here, the value and location stacks 3151 3345 have just been pushed. So pushing a state here evens the stacks. */ 3152 3346 yyssp++; 3153 3347 3154 3155 /*--------------------------------------------------------------------. 3156 | yynewstate -- set current state (the top of the stack) to yystate. | 3157 `--------------------------------------------------------------------*/ 3158 yysetstate: 3159 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 3160 YY_ASSERT (0 <= yystate && yystate < YYNSTATES); 3161 *yyssp = (yytype_int16) yystate; 3348 yysetstate: 3349 *yyssp = yystate; 3162 3350 3163 3351 if (yyss + yystacksize - 1 <= yyssp) 3164 #if !defined yyoverflow && !defined YYSTACK_RELOCATE3165 goto yyexhaustedlab;3166 #else3167 3352 { 3168 3353 /* Get the current used size of the three stacks, in elements. */ 3169 YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);3170 3171 # if definedyyoverflow3354 YYSIZE_T yysize = yyssp - yyss + 1; 3355 3356 #ifdef yyoverflow 3172 3357 { 3173 3358 /* Give user a chance to reallocate the stack. Use copies of … … 3185 3370 &yyvs1, yysize * sizeof (*yyvsp), 3186 3371 &yystacksize); 3372 3187 3373 yyss = yyss1; 3188 3374 yyvs = yyvs1; 3189 3375 } 3190 # else /* defined YYSTACK_RELOCATE */ 3376 #else /* no yyoverflow */ 3377 # ifndef YYSTACK_RELOCATE 3378 goto yyexhaustedlab; 3379 # else 3191 3380 /* Extend the stack our own way. */ 3192 3381 if (YYMAXDEPTH <= yystacksize) … … 3204 3393 YYSTACK_RELOCATE (yyss_alloc, yyss); 3205 3394 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 3206 # undef YYSTACK_RELOCATE3395 # undef YYSTACK_RELOCATE 3207 3396 if (yyss1 != yyssa) 3208 3397 YYSTACK_FREE (yyss1); 3209 3398 } 3210 3399 # endif 3400 #endif /* no yyoverflow */ 3211 3401 3212 3402 yyssp = yyss + yysize - 1; … … 3214 3404 3215 3405 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 3216 (unsigned long ) yystacksize));3406 (unsigned long int) yystacksize)); 3217 3407 3218 3408 if (yyss + yystacksize - 1 <= yyssp) 3219 3409 YYABORT; 3220 3410 } 3221 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ 3411 3412 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 3222 3413 3223 3414 if (yystate == YYFINAL) … … 3225 3416 3226 3417 goto yybackup; 3227 3228 3418 3229 3419 /*-----------. … … 3231 3421 `-----------*/ 3232 3422 yybackup: 3423 3233 3424 /* Do appropriate processing given the current state. Read a 3234 3425 lookahead token if we need one and don't already have one. */ … … 3288 3479 *++yyvsp = yylval; 3289 3480 YY_IGNORE_MAYBE_UNINITIALIZED_END 3481 3290 3482 goto yynewstate; 3291 3483 … … 3302 3494 3303 3495 /*-----------------------------. 3304 | yyreduce -- do a reduction. |3496 | yyreduce -- Do a reduction. | 3305 3497 `-----------------------------*/ 3306 3498 yyreduce: … … 3322 3514 switch (yyn) 3323 3515 { 3516 case 6: 3517 #line 519 "fortran.y" /* yacc.c:1646 */ 3518 {yyerrok;yyclearin;} 3519 #line 3520 "fortran.tab.c" /* yacc.c:1646 */ 3520 break; 3521 3324 3522 case 7: 3325 #line 319 "fortran.y"3326 { yyerrok;yyclearin;}3327 #line 3 328 "fortran.tab.c"3328 break; 3329 3330 case 1 8:3331 #line 337 "fortran.y"3523 #line 522 "fortran.y" /* yacc.c:1646 */ 3524 {token_since_endofstmt = 0; increment_nbtokens = 0;} 3525 #line 3526 "fortran.tab.c" /* yacc.c:1646 */ 3526 break; 3527 3528 case 16: 3529 #line 535 "fortran.y" /* yacc.c:1646 */ 3332 3530 { 3333 3531 if (inmoduledeclare == 0 ) … … 3337 3535 } 3338 3536 } 3339 #line 3 340 "fortran.tab.c"3340 break; 3341 3342 case 20:3343 #line 347 "fortran.y"3537 #line 3538 "fortran.tab.c" /* yacc.c:1646 */ 3538 break; 3539 3540 case 18: 3541 #line 560 "fortran.y" /* yacc.c:1646 */ 3344 3542 { pos_cur = setposcur(); } 3345 #line 3346 "fortran.tab.c" 3346 break; 3347 3348 case 21: 3349 #line 350 "fortran.y" 3350 { isrecursive = 0; } 3351 #line 3352 "fortran.tab.c" 3352 break; 3353 3354 case 22: 3355 #line 351 "fortran.y" 3356 { isrecursive = 1; } 3357 #line 3358 "fortran.tab.c" 3358 break; 3359 3360 case 23: 3361 #line 354 "fortran.y" 3362 { is_result_present = 0; } 3363 #line 3364 "fortran.tab.c" 3543 #line 3544 "fortran.tab.c" /* yacc.c:1646 */ 3364 3544 break; 3365 3545 3366 3546 case 24: 3367 #line 355 "fortran.y" 3368 { is_result_present = 1; } 3369 #line 3370 "fortran.tab.c" 3370 break; 3371 3372 case 25: 3373 #line 359 "fortran.y" 3374 { 3375 insubroutinedeclare = 1; 3376 if ( firstpass ) 3377 Add_SubroutineArgument_Var_1((yyvsp[0].l)); 3378 else 3379 WriteBeginof_SubLoop(); 3380 } 3381 #line 3382 "fortran.tab.c" 3382 break; 3383 3384 case 26: 3385 #line 367 "fortran.y" 3386 { 3387 insubroutinedeclare = 1; 3388 inprogramdeclare = 1; 3389 /* in the second step we should write the head of */ 3390 /* the subroutine sub_loop_<subroutinename> */ 3391 if ( ! firstpass ) 3392 WriteBeginof_SubLoop(); 3393 } 3394 #line 3395 "fortran.tab.c" 3547 #line 584 "fortran.y" /* yacc.c:1646 */ 3548 { Add_Include_1((yyvsp[0].na)); } 3549 #line 3550 "fortran.tab.c" /* yacc.c:1646 */ 3395 3550 break; 3396 3551 3397 3552 case 27: 3398 #line 376 "fortran.y" 3399 { 3400 insubroutinedeclare = 1; 3401 strcpy(DeclType, ""); 3402 /* we should to list of the subroutine argument the */ 3403 /* name of the function which has to be defined */ 3404 if ( firstpass ) 3405 { 3406 Add_SubroutineArgument_Var_1((yyvsp[-1].l)); 3407 if ( ! is_result_present ) 3408 Add_FunctionType_Var_1((yyvsp[-2].na)); 3409 } 3410 else 3411 /* in the second step we should write the head of */ 3412 /* the subroutine sub_loop_<subroutinename> */ 3413 WriteBeginof_SubLoop(); 3414 } 3415 #line 3416 "fortran.tab.c" 3553 #line 1104 "fortran.y" /* yacc.c:1646 */ 3554 { strcpy((yyval.na),(yyvsp[0].na)); } 3555 #line 3556 "fortran.tab.c" /* yacc.c:1646 */ 3416 3556 break; 3417 3557 3418 3558 case 28: 3419 #line 393 "fortran.y" 3420 { 3421 GlobalDeclaration = 0; 3422 strcpy(curmodulename,(yyvsp[0].na)); 3423 strcpy(subroutinename,""); 3424 Add_NameOfModule_1((yyvsp[0].na)); 3425 if ( inmoduledeclare == 0 ) 3426 { 3427 /* To know if there are in the module declaration */ 3428 inmoduledeclare = 1; 3429 /* to know if a module has been met */ 3430 inmodulemeet = 1; 3431 /* to know if we are after the keyword contains */ 3432 aftercontainsdeclare = 0 ; 3433 } 3434 } 3435 #line 3436 "fortran.tab.c" 3559 #line 1105 "fortran.y" /* yacc.c:1646 */ 3560 { strcpy((yyval.na),(yyvsp[0].na)); } 3561 #line 3562 "fortran.tab.c" /* yacc.c:1646 */ 3562 break; 3563 3564 case 29: 3565 #line 1106 "fortran.y" /* yacc.c:1646 */ 3566 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3567 #line 3568 "fortran.tab.c" /* yacc.c:1646 */ 3568 break; 3569 3570 case 30: 3571 #line 1107 "fortran.y" /* yacc.c:1646 */ 3572 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3573 #line 3574 "fortran.tab.c" /* yacc.c:1646 */ 3436 3574 break; 3437 3575 3438 3576 case 31: 3439 #line 415 "fortran.y"3440 { s trcpy((yyval.na), (yyvsp[0].na)); strcpy(subroutinename,(yyvsp[0].na)); }3441 #line 3 442 "fortran.tab.c"3577 #line 1108 "fortran.y" /* yacc.c:1646 */ 3578 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3579 #line 3580 "fortran.tab.c" /* yacc.c:1646 */ 3442 3580 break; 3443 3581 3444 3582 case 32: 3445 #line 417 "fortran.y"3446 { Add_Include_1((yyvsp[0].na)); }3447 #line 3 448 "fortran.tab.c"3583 #line 1110 "fortran.y" /* yacc.c:1646 */ 3584 { strcpy((yyval.na),"+"); } 3585 #line 3586 "fortran.tab.c" /* yacc.c:1646 */ 3448 3586 break; 3449 3587 3450 3588 case 33: 3451 #line 419 "fortran.y"3452 { if ( firstpass ) (yyval.l)=NULL; }3453 #line 3 454 "fortran.tab.c"3589 #line 1111 "fortran.y" /* yacc.c:1646 */ 3590 { strcpy((yyval.na),"-"); } 3591 #line 3592 "fortran.tab.c" /* yacc.c:1646 */ 3454 3592 break; 3455 3593 3456 3594 case 34: 3457 #line 420 "fortran.y"3458 { if ( firstpass ) (yyval.l)=NULL; }3459 #line 3 460 "fortran.tab.c"3595 #line 1115 "fortran.y" /* yacc.c:1646 */ 3596 { sprintf((yyval.na),"+%s",(yyvsp[0].na)); } 3597 #line 3598 "fortran.tab.c" /* yacc.c:1646 */ 3460 3598 break; 3461 3599 3462 3600 case 35: 3463 #line 421 "fortran.y" 3464 { if ( firstpass ) (yyval.l)=(yyvsp[-1].l); } 3465 #line 3466 "fortran.tab.c" 3601 #line 1116 "fortran.y" /* yacc.c:1646 */ 3602 { sprintf((yyval.na),"-%s",(yyvsp[0].na)); } 3603 #line 3604 "fortran.tab.c" /* yacc.c:1646 */ 3604 break; 3605 3606 case 36: 3607 #line 1117 "fortran.y" /* yacc.c:1646 */ 3608 { sprintf((yyval.na),"*%s",(yyvsp[0].na)); } 3609 #line 3610 "fortran.tab.c" /* yacc.c:1646 */ 3610 break; 3611 3612 case 37: 3613 #line 1118 "fortran.y" /* yacc.c:1646 */ 3614 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3615 #line 3616 "fortran.tab.c" /* yacc.c:1646 */ 3466 3616 break; 3467 3617 3468 3618 case 38: 3469 #line 425 "fortran.y"3470 { if ( firstpass ) Add_SubroutineArgument_Var_1((yyvsp[-1].l)); }3471 #line 3 472 "fortran.tab.c"3619 #line 1119 "fortran.y" /* yacc.c:1646 */ 3620 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3621 #line 3622 "fortran.tab.c" /* yacc.c:1646 */ 3472 3622 break; 3473 3623 3474 3624 case 39: 3475 #line 428 "fortran.y" 3476 { 3477 if ( firstpass == 1 ) 3478 { 3479 strcpy(nameinttypenameback,nameinttypename); 3480 strcpy(nameinttypename,""); 3481 curvar = createvar((yyvsp[0].na),NULL); 3482 strcpy(nameinttypename,nameinttypenameback); 3483 curlistvar = insertvar(NULL,curvar); 3484 (yyval.l) = settype("",curlistvar); 3485 } 3486 } 3487 #line 3488 "fortran.tab.c" 3625 #line 1120 "fortran.y" /* yacc.c:1646 */ 3626 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3627 #line 3628 "fortran.tab.c" /* yacc.c:1646 */ 3488 3628 break; 3489 3629 3490 3630 case 40: 3491 #line 440 "fortran.y" 3492 { 3493 if ( firstpass == 1 ) 3494 { 3495 strcpy(nameinttypenameback,nameinttypename); 3496 strcpy(nameinttypename,""); 3497 curvar = createvar((yyvsp[0].na),NULL); 3498 strcpy(nameinttypename,nameinttypenameback); 3499 (yyval.l) = insertvar((yyvsp[-2].l),curvar); 3500 } 3501 } 3502 #line 3503 "fortran.tab.c" 3631 #line 1121 "fortran.y" /* yacc.c:1646 */ 3632 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3633 #line 3634 "fortran.tab.c" /* yacc.c:1646 */ 3503 3634 break; 3504 3635 3505 3636 case 41: 3506 #line 451 "fortran.y"3507 { s trcpy((yyval.na),(yyvsp[0].na));}3508 #line 3 509 "fortran.tab.c"3637 #line 1122 "fortran.y" /* yacc.c:1646 */ 3638 { sprintf((yyval.na)," > %s",(yyvsp[0].na)); } 3639 #line 3640 "fortran.tab.c" /* yacc.c:1646 */ 3509 3640 break; 3510 3641 3511 3642 case 42: 3512 #line 452 "fortran.y" 3513 { strcpy((yyval.na),"*"); } 3514 #line 3515 "fortran.tab.c" 3643 #line 1123 "fortran.y" /* yacc.c:1646 */ 3644 { sprintf((yyval.na)," < %s",(yyvsp[0].na)); } 3645 #line 3646 "fortran.tab.c" /* yacc.c:1646 */ 3646 break; 3647 3648 case 43: 3649 #line 1124 "fortran.y" /* yacc.c:1646 */ 3650 { sprintf((yyval.na)," >= %s",(yyvsp[0].na)); } 3651 #line 3652 "fortran.tab.c" /* yacc.c:1646 */ 3515 3652 break; 3516 3653 3517 3654 case 44: 3518 #line 455 "fortran.y"3519 { inside_type_declare = 1; }3520 #line 3 521 "fortran.tab.c"3655 #line 1125 "fortran.y" /* yacc.c:1646 */ 3656 { sprintf((yyval.na)," <= %s",(yyvsp[0].na)); } 3657 #line 3658 "fortran.tab.c" /* yacc.c:1646 */ 3521 3658 break; 3522 3659 3523 3660 case 45: 3524 #line 456 "fortran.y" 3525 { inside_type_declare = 0; } 3526 #line 3527 "fortran.tab.c" 3661 #line 1126 "fortran.y" /* yacc.c:1646 */ 3662 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3663 #line 3664 "fortran.tab.c" /* yacc.c:1646 */ 3664 break; 3665 3666 case 46: 3667 #line 1127 "fortran.y" /* yacc.c:1646 */ 3668 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3669 #line 3670 "fortran.tab.c" /* yacc.c:1646 */ 3527 3670 break; 3528 3671 3529 3672 case 47: 3530 #line 459 "fortran.y" 3531 { 3532 if ( ! inside_type_declare ) 3533 { 3534 if ( firstpass ) 3535 { 3536 if ( insubroutinedeclare ) Add_Parameter_Var_1((yyvsp[-1].l)); 3537 else Add_GlobalParameter_Var_1((yyvsp[-1].l)); 3538 } 3539 else 3540 { 3541 pos_end = setposcur(); 3542 RemoveWordSET_0(fortran_out, pos_cur_decl, pos_end-pos_cur_decl); 3543 } 3544 } 3545 VariableIsParameter = 0 ; 3546 } 3547 #line 3548 "fortran.tab.c" 3673 #line 1128 "fortran.y" /* yacc.c:1646 */ 3674 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3675 #line 3676 "fortran.tab.c" /* yacc.c:1646 */ 3548 3676 break; 3549 3677 3550 3678 case 48: 3551 #line 476 "fortran.y" 3552 { 3553 if ( ! inside_type_declare ) 3554 { 3555 if ( firstpass ) 3556 { 3557 if ( insubroutinedeclare ) Add_Parameter_Var_1((yyvsp[0].l)); 3558 else Add_GlobalParameter_Var_1((yyvsp[0].l)); 3559 } 3560 else 3561 { 3562 pos_end = setposcur(); 3563 RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 3564 } 3565 } 3566 VariableIsParameter = 0 ; 3567 } 3568 #line 3569 "fortran.tab.c" 3679 #line 1129 "fortran.y" /* yacc.c:1646 */ 3680 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3681 #line 3682 "fortran.tab.c" /* yacc.c:1646 */ 3682 break; 3683 3684 case 49: 3685 #line 1130 "fortran.y" /* yacc.c:1646 */ 3686 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3687 #line 3688 "fortran.tab.c" /* yacc.c:1646 */ 3569 3688 break; 3570 3689 3571 3690 case 50: 3572 #line 494 "fortran.y" 3573 { 3574 pos_end = setposcur(); 3575 RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); 3576 } 3577 #line 3578 "fortran.tab.c" 3691 #line 1131 "fortran.y" /* yacc.c:1646 */ 3692 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3693 #line 3694 "fortran.tab.c" /* yacc.c:1646 */ 3694 break; 3695 3696 case 51: 3697 #line 1132 "fortran.y" /* yacc.c:1646 */ 3698 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3699 #line 3700 "fortran.tab.c" /* yacc.c:1646 */ 3578 3700 break; 3579 3701 3580 3702 case 52: 3581 #line 500 "fortran.y" 3582 { 3583 /* if the variable is a parameter we can suppose that is */ 3584 /* value is the same on each grid. It is not useless to */ 3585 /* create a copy of it on each grid */ 3586 if ( ! inside_type_declare ) 3587 { 3588 if ( firstpass ) 3589 { 3590 Add_Globliste_1((yyvsp[0].l)); 3591 /* if variableparamlists has been declared in a subroutine */ 3592 if ( insubroutinedeclare ) Add_Dimension_Var_1((yyvsp[0].l)); 3593 } 3594 else 3595 { 3596 pos_end = setposcur(); 3597 RemoveWordSET_0(fortran_out,pos_curdimension,pos_end-pos_curdimension); 3598 } 3599 } 3600 PublicDeclare = 0; 3601 PrivateDeclare = 0; 3602 ExternalDeclare = 0; 3603 strcpy(NamePrecision,""); 3604 c_star = 0; 3605 InitialValueGiven = 0 ; 3606 strcpy(IntentSpec,""); 3607 VariableIsParameter = 0 ; 3608 Allocatabledeclare = 0 ; 3609 Targetdeclare = 0 ; 3610 SaveDeclare = 0; 3611 pointerdeclare = 0; 3612 optionaldeclare = 0 ; 3613 dimsgiven=0; 3614 c_selectorgiven=0; 3615 strcpy(nameinttypename,""); 3616 strcpy(c_selectorname,""); 3617 } 3618 #line 3619 "fortran.tab.c" 3703 #line 1133 "fortran.y" /* yacc.c:1646 */ 3704 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3705 #line 3706 "fortran.tab.c" /* yacc.c:1646 */ 3619 3706 break; 3620 3707 3621 3708 case 53: 3622 #line 537 "fortran.y" 3623 { 3624 if (firstpass == 0) 3625 { 3626 if ((yyvsp[0].lnn)) 3627 { 3628 removeglobfromlist(&((yyvsp[0].lnn))); 3629 pos_end = setposcur(); 3630 RemoveWordSET_0(fortran_out,pos_cur,pos_end-pos_cur); 3631 writelistpublic((yyvsp[0].lnn)); 3632 } 3633 } 3634 } 3635 #line 3636 "fortran.tab.c" 3709 #line 1134 "fortran.y" /* yacc.c:1646 */ 3710 { sprintf((yyval.na),"%s",(yyvsp[0].na)); } 3711 #line 3712 "fortran.tab.c" /* yacc.c:1646 */ 3712 break; 3713 3714 case 54: 3715 #line 1135 "fortran.y" /* yacc.c:1646 */ 3716 { sprintf((yyval.na),"%s",(yyvsp[0].na)); } 3717 #line 3718 "fortran.tab.c" /* yacc.c:1646 */ 3718 break; 3719 3720 case 55: 3721 #line 1137 "fortran.y" /* yacc.c:1646 */ 3722 { strcpy((yyval.na),""); } 3723 #line 3724 "fortran.tab.c" /* yacc.c:1646 */ 3724 break; 3725 3726 case 56: 3727 #line 1138 "fortran.y" /* yacc.c:1646 */ 3728 { sprintf((yyval.na),"/%s",(yyvsp[0].na)); } 3729 #line 3730 "fortran.tab.c" /* yacc.c:1646 */ 3730 break; 3731 3732 case 57: 3733 #line 1139 "fortran.y" /* yacc.c:1646 */ 3734 { sprintf((yyval.na),"/= %s",(yyvsp[0].na));} 3735 #line 3736 "fortran.tab.c" /* yacc.c:1646 */ 3736 break; 3737 3738 case 58: 3739 #line 1140 "fortran.y" /* yacc.c:1646 */ 3740 { sprintf((yyval.na),"//%s",(yyvsp[0].na)); } 3741 #line 3742 "fortran.tab.c" /* yacc.c:1646 */ 3742 break; 3743 3744 case 59: 3745 #line 1143 "fortran.y" /* yacc.c:1646 */ 3746 { sprintf((yyval.na),"==%s",(yyvsp[0].na)); } 3747 #line 3748 "fortran.tab.c" /* yacc.c:1646 */ 3748 break; 3749 3750 case 60: 3751 #line 1144 "fortran.y" /* yacc.c:1646 */ 3752 { sprintf((yyval.na),"= %s",(yyvsp[0].na)); } 3753 #line 3754 "fortran.tab.c" /* yacc.c:1646 */ 3754 break; 3755 3756 case 61: 3757 #line 1147 "fortran.y" /* yacc.c:1646 */ 3758 { strcpy((yyval.na),(yyvsp[0].na)); } 3759 #line 3760 "fortran.tab.c" /* yacc.c:1646 */ 3636 3760 break; 3637 3761 3638 3762 case 62: 3639 #line 558 "fortran.y" 3640 { 3641 /* we should remove the data declaration */ 3642 pos_end = setposcur(); 3643 RemoveWordSET_0(fortran_out,pos_curdata,pos_end-pos_curdata); 3644 3645 if ( aftercontainsdeclare == 1 && firstpass == 0 ) 3646 { 3647 ReWriteDataStatement_0(fortran_out); 3648 pos_end = setposcur(); 3649 } 3650 } 3651 #line 3652 "fortran.tab.c" 3763 #line 1148 "fortran.y" /* yacc.c:1646 */ 3764 { strcpy((yyval.na),(yyvsp[0].na)); } 3765 #line 3766 "fortran.tab.c" /* yacc.c:1646 */ 3766 break; 3767 3768 case 63: 3769 #line 1149 "fortran.y" /* yacc.c:1646 */ 3770 { strcpy((yyval.na),(yyvsp[0].na)); } 3771 #line 3772 "fortran.tab.c" /* yacc.c:1646 */ 3652 3772 break; 3653 3773 3654 3774 case 64: 3655 #line 572 "fortran.y" 3656 { 3657 PublicDeclare = 0 ; 3658 PrivateDeclare = 0 ; 3659 } 3660 #line 3661 "fortran.tab.c" 3661 break; 3662 3663 case 102: 3664 #line 630 "fortran.y" 3665 { 3666 /* if the variable is a parameter we can suppose that is*/ 3667 /* value is the same on each grid. It is not useless */ 3668 /* to create a copy of it on each grid */ 3669 if ( ! inside_type_declare ) 3670 { 3671 pos_end = setposcur(); 3672 RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 3673 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[-1].l)); 3674 pos_cur_decl = setposcur(); 3675 if ( firstpass == 0 && GlobalDeclaration == 0 3676 && insubroutinedeclare == 0 ) 3677 { 3678 fprintf(fortran_out,"\n#include \"Module_Declar_%s.h\"\n", curmodulename); 3679 sprintf(ligne, "Module_Declar_%s.h", curmodulename); 3680 module_declar = open_for_write(ligne); 3681 GlobalDeclaration = 1 ; 3682 pos_cur_decl = setposcur(); 3683 } 3684 (yyval.l) = (yyvsp[-1].l); 3685 3686 if ( firstpass ) 3687 { 3688 Add_Globliste_1((yyvsp[-1].l)); 3689 if ( insubroutinedeclare ) 3690 { 3691 if ( pointerdeclare ) Add_Pointer_Var_From_List_1((yyvsp[-1].l)); 3692 Add_Parameter_Var_1((yyvsp[-1].l)); 3693 } 3694 else 3695 Add_GlobalParameter_Var_1((yyvsp[-1].l)); 3696 3697 /* If there's a SAVE declaration in module's subroutines we should */ 3698 /* remove it from the subroutines declaration and add it in the */ 3699 /* global declarations */ 3700 if ( aftercontainsdeclare && SaveDeclare ) 3701 { 3702 if ( inmodulemeet ) Add_SubroutineDeclarationSave_Var_1((yyvsp[-1].l)); 3703 else Add_Save_Var_dcl_1((yyvsp[-1].l)); 3704 } 3705 } 3706 } 3707 else 3708 { 3709 (yyval.l) = (listvar *) NULL; 3710 } 3711 PublicDeclare = 0; 3712 PrivateDeclare = 0; 3713 ExternalDeclare = 0; 3714 strcpy(NamePrecision,""); 3715 c_star = 0; 3716 InitialValueGiven = 0 ; 3717 strcpy(IntentSpec,""); 3718 VariableIsParameter = 0 ; 3719 Allocatabledeclare = 0 ; 3720 Targetdeclare = 0 ; 3721 SaveDeclare = 0; 3722 pointerdeclare = 0; 3723 optionaldeclare = 0 ; 3724 dimsgiven=0; 3725 c_selectorgiven=0; 3726 strcpy(nameinttypename,""); 3727 strcpy(c_selectorname,""); 3728 GlobalDeclarationType = 0; 3729 } 3730 #line 3731 "fortran.tab.c" 3731 break; 3732 3733 case 103: 3734 #line 696 "fortran.y" 3735 { 3736 insubroutinedeclare = 1; 3737 3738 if ( firstpass ) 3739 { 3740 Add_SubroutineArgument_Var_1((yyvsp[0].l)); 3741 Add_FunctionType_Var_1((yyvsp[-1].na)); 3742 } 3743 else 3744 WriteBeginof_SubLoop(); 3745 3746 strcpy(nameinttypename,""); 3747 } 3748 #line 3749 "fortran.tab.c" 3749 break; 3750 3751 case 104: 3752 #line 710 "fortran.y" 3753 { functiondeclarationisdone = 1; } 3754 #line 3755 "fortran.tab.c" 3755 break; 3756 3757 case 105: 3758 #line 712 "fortran.y" 3759 { VariableIsParameter = 1; pos_curparameter = setposcur()-9; } 3760 #line 3761 "fortran.tab.c" 3761 break; 3762 3763 case 109: 3764 #line 724 "fortran.y" 3765 { 3766 createstringfromlistname(ligne,(yyvsp[-1].lnn)); 3767 if (firstpass == 1) Add_Data_Var_1(&List_Data_Var,(yyvsp[-3].na),ligne); 3768 else Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[-3].na),ligne); 3769 } 3770 #line 3771 "fortran.tab.c" 3771 break; 3772 3773 case 110: 3774 #line 730 "fortran.y" 3775 { 3776 if (firstpass == 1) Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[-3].lnn),(yyvsp[-1].lnn)); 3777 else Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[-3].lnn),(yyvsp[-1].lnn)); 3778 } 3779 #line 3780 "fortran.tab.c" 3780 break; 3781 3782 case 111: 3783 #line 735 "fortran.y" 3784 { 3785 createstringfromlistname(ligne,(yyvsp[-1].lnn)); 3786 printf("###################################################################################################################\n"); 3787 printf("## CONV Error : data_implied_do statements (R537) are not yet supported. Please complain to the proper authorities.\n"); 3788 printf("l.%4d -- data_stmt_set : ( lhs , dospec ) /data_stmt_value_list/ -- lhs=|%s| dospec=|%s| data_stmt_value_list=|%s|\n", 3789 line_num_input,(yyvsp[-6].na),(yyvsp[-4].na),ligne); 3790 printf("## But, are you SURE you NEED a DATA construct ?\n"); 3791 printf("###################################################################################################################\n"); 3792 exit(1); 3793 } 3794 #line 3795 "fortran.tab.c" 3795 break; 3796 3797 case 112: 3798 #line 748 "fortran.y" 3799 { (yyval.lnn) = Insertname(NULL,(yyvsp[0].na),0); } 3800 #line 3801 "fortran.tab.c" 3801 break; 3802 3803 case 113: 3804 #line 749 "fortran.y" 3805 { (yyval.lnn) = Insertname((yyvsp[0].lnn),(yyvsp[-2].na),1); } 3806 #line 3807 "fortran.tab.c" 3807 break; 3808 3809 case 118: 3810 #line 758 "fortran.y" 3811 { pos_cursave = setposcur()-4; } 3812 #line 3813 "fortran.tab.c" 3813 break; 3814 3815 case 120: 3816 #line 761 "fortran.y" 3817 { if ( ! inside_type_declare ) Add_Save_Var_1((yyvsp[-1].na),(yyvsp[0].d)); } 3818 #line 3819 "fortran.tab.c" 3819 break; 3820 3821 case 121: 3822 #line 764 "fortran.y" 3823 { (yyval.lnn) = Insertname(NULL,(yyvsp[0].na),0); } 3824 #line 3825 "fortran.tab.c" 3825 break; 3826 3827 case 122: 3828 #line 765 "fortran.y" 3829 { printf("l.%4d -- INSTRUCTION NON TRAITEE : INITIALISATION DE DATA AVEC EXPRESSION\n",line_num_input); exit(0); } 3830 #line 3831 "fortran.tab.c" 3831 break; 3832 3833 case 123: 3834 #line 766 "fortran.y" 3835 { (yyval.lnn) = concat_listname((yyvsp[-2].lnn),(yyvsp[0].lnn)); } 3836 #line 3837 "fortran.tab.c" 3837 break; 3838 3839 case 124: 3840 #line 769 "fortran.y" 3841 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 3842 #line 3843 "fortran.tab.c" 3843 break; 3844 3845 case 125: 3846 #line 770 "fortran.y" 3847 { sprintf((yyval.na),"%s+%s",(yyvsp[-2].na),(yyvsp[0].na)); } 3848 #line 3849 "fortran.tab.c" 3849 break; 3850 3851 case 126: 3852 #line 771 "fortran.y" 3853 { sprintf((yyval.na),"%s-%s",(yyvsp[-2].na),(yyvsp[0].na)); } 3854 #line 3855 "fortran.tab.c" 3855 break; 3856 3857 case 127: 3858 #line 772 "fortran.y" 3859 { sprintf((yyval.na),"%s*%s",(yyvsp[-2].na),(yyvsp[0].na)); } 3860 #line 3861 "fortran.tab.c" 3861 break; 3862 3863 case 128: 3864 #line 773 "fortran.y" 3865 { sprintf((yyval.na),"%s/%s",(yyvsp[-2].na),(yyvsp[0].na)); } 3866 #line 3867 "fortran.tab.c" 3867 break; 3868 3869 case 129: 3870 #line 775 "fortran.y" 3871 { strcpy((yyval.na),""); } 3872 #line 3873 "fortran.tab.c" 3873 break; 3874 3875 case 130: 3876 #line 776 "fortran.y" 3877 { strcpy((yyval.na),(yyvsp[0].na)); } 3878 #line 3879 "fortran.tab.c" 3879 break; 3880 3881 case 135: 3882 #line 786 "fortran.y" 3883 { 3884 positioninblock = 0; 3885 pos_curdimension = setposcur()-9; 3886 } 3887 #line 3888 "fortran.tab.c" 3888 break; 3889 3890 case 136: 3891 #line 793 "fortran.y" 3892 { 3893 printf("l.%4d -- dimension : before_dimension opt_comma TOK_NAME = |%s| -- MHCHECK\n",line_num_input,(yyvsp[-2].na)); 3894 if ( inside_type_declare ) break; 3895 curvar = createvar((yyvsp[-2].na),(yyvsp[-1].d)); 3896 CreateAndFillin_Curvar("", curvar); 3897 curlistvar=insertvar(NULL, curvar); 3898 (yyval.l) = settype("",curlistvar); 3899 strcpy(vallengspec,""); 3900 } 3901 #line 3902 "fortran.tab.c" 3902 break; 3903 3904 case 137: 3905 #line 803 "fortran.y" 3906 { 3907 printf("l.%4d -- dimension : dimension ',' TOK_NAME dims lengspec = |%s| -- MHCHECK\n",line_num_input,(yyvsp[-2].na)); 3908 if ( inside_type_declare ) break; 3909 curvar = createvar((yyvsp[-2].na),(yyvsp[-1].d)); 3910 CreateAndFillin_Curvar("", curvar); 3911 curlistvar = insertvar((yyvsp[-4].l), curvar); 3912 (yyval.l) = curlistvar; 3913 strcpy(vallengspec,""); 3914 } 3915 #line 3916 "fortran.tab.c" 3916 break; 3917 3918 case 140: 3919 #line 818 "fortran.y" 3920 { (yyval.lnn) = (listname *) NULL; } 3921 #line 3922 "fortran.tab.c" 3922 break; 3923 3924 case 141: 3925 #line 819 "fortran.y" 3926 { (yyval.lnn) = (yyvsp[0].lnn); } 3927 #line 3928 "fortran.tab.c" 3928 break; 3929 3930 case 142: 3931 #line 822 "fortran.y" 3932 { (yyval.lnn) = Insertname(NULL,(yyvsp[0].na),0); } 3933 #line 3934 "fortran.tab.c" 3934 break; 3935 3936 case 143: 3937 #line 823 "fortran.y" 3938 { (yyval.lnn) = Insertname(NULL,(yyvsp[0].na),0); } 3939 #line 3940 "fortran.tab.c" 3940 break; 3941 3942 case 144: 3943 #line 824 "fortran.y" 3944 { (yyval.lnn) = Insertname((yyvsp[-2].lnn),(yyvsp[0].na),0); } 3945 #line 3946 "fortran.tab.c" 3946 break; 3947 3948 case 145: 3949 #line 825 "fortran.y" 3950 { (yyval.lnn) = Insertname((yyvsp[-2].lnn),(yyvsp[0].na),0); } 3951 #line 3952 "fortran.tab.c" 3952 break; 3953 3954 case 146: 3955 #line 829 "fortran.y" 3956 { 3957 if ( inside_type_declare ) break; 3958 pos_end = setposcur(); 3959 RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 3960 } 3961 #line 3962 "fortran.tab.c" 3962 break; 3963 3964 case 147: 3965 #line 835 "fortran.y" 3966 { 3967 if ( inside_type_declare ) break; 3968 sprintf(charusemodule,"%s",(yyvsp[-1].na)); 3969 Add_NameOfCommon_1((yyvsp[-1].na),subroutinename); 3970 pos_end = setposcur(); 3971 RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 3972 } 3973 #line 3974 "fortran.tab.c" 3974 break; 3975 3976 case 148: 3977 #line 843 "fortran.y" 3978 { 3979 if ( inside_type_declare ) break; 3980 sprintf(charusemodule,"%s",(yyvsp[-2].na)); 3981 Add_NameOfCommon_1((yyvsp[-2].na),subroutinename); 3982 pos_end = setposcur(); 3983 RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 3984 } 3985 #line 3986 "fortran.tab.c" 3986 break; 3987 3988 case 149: 3989 #line 852 "fortran.y" 3990 { positioninblock = 0; pos_curcommon = setposcur()-6; } 3991 #line 3992 "fortran.tab.c" 3992 break; 3993 3994 case 150: 3995 #line 853 "fortran.y" 3996 { positioninblock = 0; pos_curcommon = setposcur()-6-7; } 3997 #line 3998 "fortran.tab.c" 3998 break; 3999 4000 case 151: 4001 #line 856 "fortran.y" 4002 { if ( ! inside_type_declare ) Add_Common_var_1(); } 4003 #line 4004 "fortran.tab.c" 4004 break; 4005 4006 case 152: 4007 #line 857 "fortran.y" 4008 { if ( ! inside_type_declare ) Add_Common_var_1(); } 4009 #line 4010 "fortran.tab.c" 4010 break; 4011 4012 case 153: 4013 #line 861 "fortran.y" 4014 { 4015 positioninblock = positioninblock + 1 ; 4016 strcpy(commonvar,(yyvsp[-1].na)); 4017 commondim = (yyvsp[0].d); 4018 } 4019 #line 4020 "fortran.tab.c" 4020 break; 4021 4022 case 154: 4023 #line 869 "fortran.y" 4024 { 4025 strcpy((yyval.na),""); 4026 positioninblock=0; 4027 strcpy(commonblockname,""); 4028 } 4029 #line 4030 "fortran.tab.c" 4030 break; 4031 4032 case 155: 4033 #line 875 "fortran.y" 4034 { 4035 strcpy((yyval.na),(yyvsp[-1].na)); 4036 positioninblock=0; 4037 strcpy(commonblockname,(yyvsp[-1].na)); 4038 } 4039 #line 4040 "fortran.tab.c" 4040 break; 4041 4042 case 158: 4043 #line 885 "fortran.y" 4044 { (yyval.l)=insertvar(NULL,(yyvsp[0].v)); } 4045 #line 4046 "fortran.tab.c" 4046 break; 4047 4048 case 159: 4049 #line 886 "fortran.y" 4050 { (yyval.l)=insertvar((yyvsp[-2].l),(yyvsp[0].v)); } 4051 #line 4052 "fortran.tab.c" 4052 break; 4053 4054 case 160: 4055 #line 890 "fortran.y" 4056 { 4057 if ( inside_type_declare ) break; 4058 curvar=(variable *) calloc(1,sizeof(variable)); 4059 Init_Variable(curvar); 4060 curvar->v_VariableIsParameter = 1; 4061 strcpy(curvar->v_nomvar,(yyvsp[-2].na)); 4062 strcpy(curvar->v_subroutinename,subroutinename); 4063 strcpy(curvar->v_modulename,curmodulename); 4064 strcpy(curvar->v_initialvalue,(yyvsp[0].na)); 4065 strcpy(curvar->v_commoninfile,cur_filename); 4066 Save_Length((yyvsp[0].na),14); 4067 (yyval.v) = curvar; 4068 } 4069 #line 4070 "fortran.tab.c" 4070 break; 4071 4072 case 164: 4073 #line 913 "fortran.y" 4074 { 4075 if ( insubroutinedeclare == 1 ) 4076 { 4077 Add_ImplicitNoneSubroutine_1(); 4078 pos_end = setposcur(); 4079 RemoveWordSET_0(fortran_out,pos_end-13,13); 4080 } 4081 } 4082 #line 4083 "fortran.tab.c" 4083 break; 4084 4085 case 166: 4086 #line 924 "fortran.y" 4087 { 4088 if ( ! inside_type_declare ) 4089 { 4090 if (dimsgiven == 1) curvar = createvar((yyvsp[-3].na),curdim); 4091 else curvar = createvar((yyvsp[-3].na),(yyvsp[-2].d)); 4092 CreateAndFillin_Curvar(DeclType, curvar); 4093 curlistvar = insertvar(NULL, curvar); 4094 if (!strcasecmp(DeclType,"character")) 4095 { 4096 if (c_selectorgiven == 1) 4097 { 4098 strcpy(c_selectordim.first,"1"); 4099 strcpy(c_selectordim.last,c_selectorname); 4100 Save_Length(c_selectorname,1); 4101 change_dim_char(insertdim(NULL,c_selectordim),curlistvar); 4102 } 4103 } 4104 (yyval.l)=settype(DeclType,curlistvar); 4105 } 4106 strcpy(vallengspec,""); 4107 } 4108 #line 4109 "fortran.tab.c" 4109 break; 4110 4111 case 167: 4112 #line 946 "fortran.y" 4113 { 4114 if ( ! inside_type_declare ) 4115 { 4116 if (dimsgiven == 1) curvar = createvar((yyvsp[-3].na), curdim); 4117 else curvar = createvar((yyvsp[-3].na), (yyvsp[-2].d)); 4118 CreateAndFillin_Curvar((yyvsp[-5].l)->var->v_typevar,curvar); 4119 strcpy(curvar->v_typevar, (yyvsp[-5].l)->var->v_typevar); 4120 curvar->v_catvar = get_cat_var(curvar); 4121 curlistvar = insertvar((yyvsp[-5].l), curvar); 4122 if (!strcasecmp(DeclType,"character")) 4123 { 4124 if (c_selectorgiven == 1) 4125 { 4126 strcpy(c_selectordim.first,"1"); 4127 strcpy(c_selectordim.last,c_selectorname); 4128 Save_Length(c_selectorname,1); 4129 change_dim_char(insertdim(NULL,c_selectordim),curlistvar); 4130 } 4131 } 4132 (yyval.l)=curlistvar; 4133 } 4134 strcpy(vallengspec,""); 4135 } 4136 #line 4137 "fortran.tab.c" 4137 break; 4138 4139 case 168: 4140 #line 970 "fortran.y" 4141 { dimsgiven = 0; } 4142 #line 4143 "fortran.tab.c" 4143 break; 4144 4145 case 169: 4146 #line 972 "fortran.y" 4147 { strcpy(DeclType,(yyvsp[-1].na)); } 4148 #line 4149 "fortran.tab.c" 4149 break; 4150 4151 case 170: 4152 #line 973 "fortran.y" 4153 { strcpy(DeclType,"character"); } 4154 #line 4155 "fortran.tab.c" 4155 break; 4156 4157 case 171: 4158 #line 974 "fortran.y" 4159 { strcpy(DeclType,(yyvsp[-2].na)); strcpy(nameinttypename,(yyvsp[0].na)); } 4160 #line 4161 "fortran.tab.c" 4161 break; 4162 4163 case 172: 4164 #line 975 "fortran.y" 4165 { strcpy(DeclType,"type"); GlobalDeclarationType = 1; } 4166 #line 4167 "fortran.tab.c" 4167 break; 4168 4169 case 174: 4170 #line 978 "fortran.y" 4171 { c_selectorgiven = 1; strcpy(c_selectorname,(yyvsp[0].na)); } 4172 #line 4173 "fortran.tab.c" 4173 break; 4174 4175 case 175: 4176 #line 979 "fortran.y" 4177 { c_star = 1;} 4178 #line 4179 "fortran.tab.c" 4179 break; 4180 4181 case 180: 4182 #line 987 "fortran.y" 4183 { pos_cur_decl = setposcur()-9; } 4184 #line 4185 "fortran.tab.c" 4185 break; 4186 4187 case 181: 4188 #line 990 "fortran.y" 4189 { strcpy((yyval.na),"integer"); pos_cur_decl = setposcur()-7; } 4190 #line 4191 "fortran.tab.c" 4191 break; 4192 4193 case 182: 4194 #line 991 "fortran.y" 4195 { strcpy((yyval.na),"logical"); pos_cur_decl = setposcur()-7; } 4196 #line 4197 "fortran.tab.c" 4197 break; 4198 4199 case 183: 4200 #line 992 "fortran.y" 4201 { strcpy((yyval.na),"real"); pos_cur_decl = setposcur()-4; } 4202 #line 4203 "fortran.tab.c" 4203 break; 4204 4205 case 184: 4206 #line 993 "fortran.y" 4207 { strcpy((yyval.na),"complex"); pos_cur_decl = setposcur()-7; } 4208 #line 4209 "fortran.tab.c" 4209 break; 4210 4211 case 185: 4212 #line 994 "fortran.y" 4213 { strcpy((yyval.na),"double complex"); pos_cur_decl = setposcur()-14; } 4214 #line 4215 "fortran.tab.c" 4215 break; 4216 4217 case 186: 4218 #line 995 "fortran.y" 4219 { pos_cur_decl = setposcur()-16; strcpy((yyval.na),"real"); strcpy(nameinttypename,"8"); } 4220 #line 4221 "fortran.tab.c" 4221 break; 4222 4223 case 188: 4224 #line 998 "fortran.y" 4225 {strcpy(vallengspec,(yyvsp[0].na));} 4226 #line 4227 "fortran.tab.c" 4227 break; 4228 4229 case 189: 4230 #line 1001 "fortran.y" 4231 { sprintf((yyval.na),"*%s",(yyvsp[0].na)); } 4232 #line 4233 "fortran.tab.c" 4233 break; 4234 4235 case 190: 4236 #line 1002 "fortran.y" 4237 { strcpy((yyval.na),"*(*)"); } 4238 #line 4239 "fortran.tab.c" 4239 break; 4240 4241 case 197: 4242 #line 1014 "fortran.y" 4243 { 4244 if ( strstr((yyvsp[0].na),"0.d0") ) 4245 { 4246 strcpy(nameinttypename,"8"); 4247 strcpy(NamePrecision,""); 4248 } 4249 else 4250 sprintf(NamePrecision,"%s = %s",(yyvsp[-2].na),(yyvsp[0].na)); 4251 } 4252 #line 4253 "fortran.tab.c" 4253 break; 4254 4255 case 198: 4256 #line 1023 "fortran.y" 4257 { strcpy(NamePrecision,(yyvsp[0].na)); } 4258 #line 4259 "fortran.tab.c" 4259 break; 4260 4261 case 199: 4262 #line 1024 "fortran.y" 4263 { strcpy(NamePrecision,(yyvsp[0].na)); } 4264 #line 4265 "fortran.tab.c" 4265 break; 4266 4267 case 200: 4268 #line 1025 "fortran.y" 4269 { strcpy(NamePrecision,(yyvsp[0].na)); } 4270 #line 4271 "fortran.tab.c" 4271 break; 4272 4273 case 201: 4274 #line 1028 "fortran.y" 4275 { strcpy(CharacterSize,(yyvsp[0].na)); strcpy((yyval.na),(yyvsp[0].na)); } 4276 #line 4277 "fortran.tab.c" 4277 break; 4278 4279 case 202: 4280 #line 1029 "fortran.y" 4281 { strcpy(CharacterSize,"*"); strcpy((yyval.na),"*"); } 4282 #line 4283 "fortran.tab.c" 4283 break; 4284 4285 case 203: 4286 #line 1030 "fortran.y" 4287 { strcpy(CharacterSize,":"); strcpy((yyval.na),":"); } 4288 #line 4289 "fortran.tab.c" 4289 break; 4290 4291 case 211: 4292 #line 1043 "fortran.y" 4293 { VariableIsParameter = 1; } 4294 #line 4295 "fortran.tab.c" 4295 break; 4296 4297 case 213: 4298 #line 1045 "fortran.y" 4299 { Allocatabledeclare = 1; } 4300 #line 4301 "fortran.tab.c" 4301 break; 4302 4303 case 214: 4304 #line 1046 "fortran.y" 4305 { dimsgiven = 1; curdim = (yyvsp[0].d); } 4306 #line 4307 "fortran.tab.c" 4307 break; 4308 4309 case 215: 4310 #line 1047 "fortran.y" 4311 { ExternalDeclare = 1; } 4312 #line 4313 "fortran.tab.c" 4313 break; 4314 4315 case 216: 4316 #line 1049 "fortran.y" 4317 { strcpy(IntentSpec,(yyvsp[-1].na)); } 4318 #line 4319 "fortran.tab.c" 4319 break; 4320 4321 case 218: 4322 #line 1051 "fortran.y" 4323 { optionaldeclare = 1 ; } 4324 #line 4325 "fortran.tab.c" 4325 break; 4326 4327 case 219: 4328 #line 1052 "fortran.y" 4329 { pointerdeclare = 1 ; } 4330 #line 4331 "fortran.tab.c" 4331 break; 4332 4333 case 220: 4334 #line 1053 "fortran.y" 4335 { SaveDeclare = 1 ; } 4336 #line 4337 "fortran.tab.c" 4337 break; 4338 4339 case 221: 4340 #line 1054 "fortran.y" 4341 { Targetdeclare = 1; } 4342 #line 4343 "fortran.tab.c" 4343 break; 4344 4345 case 222: 4346 #line 1057 "fortran.y" 4347 { strcpy((yyval.na),(yyvsp[0].na)); } 4348 #line 4349 "fortran.tab.c" 4349 break; 4350 4351 case 223: 4352 #line 1058 "fortran.y" 4353 { strcpy((yyval.na),(yyvsp[0].na)); } 4354 #line 4355 "fortran.tab.c" 4355 break; 4356 4357 case 224: 4358 #line 1059 "fortran.y" 4359 { strcpy((yyval.na),(yyvsp[0].na)); } 4360 #line 4361 "fortran.tab.c" 4361 break; 4362 4363 case 225: 4364 #line 1062 "fortran.y" 4365 { PublicDeclare = 1; } 4366 #line 4367 "fortran.tab.c" 4367 break; 4368 4369 case 226: 4370 #line 1063 "fortran.y" 4371 { PrivateDeclare = 1; } 4372 #line 4373 "fortran.tab.c" 4373 break; 4374 4375 case 227: 4376 #line 1065 "fortran.y" 4377 { (yyval.d) = (listdim*) NULL; } 4378 #line 4379 "fortran.tab.c" 4379 break; 4380 4381 case 228: 4382 #line 1067 "fortran.y" 4383 { 4384 (yyval.d) = (listdim*) NULL; 4385 if ( inside_type_declare ) break; 4386 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=(yyvsp[-1].d); 4387 } 4388 #line 4389 "fortran.tab.c" 4389 break; 4390 4391 case 229: 4392 #line 1075 "fortran.y" 4393 { 4394 (yyval.d) = (listdim*) NULL; 4395 if ( inside_type_declare ) break; 4396 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); 4397 } 4398 #line 4399 "fortran.tab.c" 4399 break; 4400 4401 case 230: 4402 #line 1081 "fortran.y" 4403 { 4404 (yyval.d) = (listdim*) NULL; 4405 if ( inside_type_declare ) break; 4406 if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); 4407 } 4408 #line 4409 "fortran.tab.c" 4409 break; 4410 4411 case 231: 4412 #line 1087 "fortran.y" 4413 { strcpy((yyval.dim1).first,"1"); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } 4414 #line 4415 "fortran.tab.c" 4415 break; 4416 4417 case 232: 4418 #line 1088 "fortran.y" 4419 { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,""); } 4420 #line 4421 "fortran.tab.c" 4421 break; 4422 4423 case 233: 4424 #line 1089 "fortran.y" 4425 { strcpy((yyval.dim1).first,(yyvsp[-1].na)); Save_Length((yyvsp[-1].na),2); strcpy((yyval.dim1).last,""); } 4426 #line 4427 "fortran.tab.c" 4427 break; 4428 4429 case 234: 4430 #line 1090 "fortran.y" 4431 { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } 4432 #line 4433 "fortran.tab.c" 4433 break; 4434 4435 case 235: 4436 #line 1091 "fortran.y" 4437 { strcpy((yyval.dim1).first,(yyvsp[-2].na)); Save_Length((yyvsp[-2].na),2); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } 4438 #line 4439 "fortran.tab.c" 4439 break; 4440 4441 case 236: 4442 #line 1094 "fortran.y" 4443 { strcpy((yyval.na),"*"); } 4444 #line 4445 "fortran.tab.c" 4445 break; 4446 4447 case 237: 4448 #line 1095 "fortran.y" 4449 { strcpy((yyval.na),(yyvsp[0].na)); } 4450 #line 4451 "fortran.tab.c" 4451 break; 4452 4453 case 238: 4454 #line 1097 "fortran.y" 4455 { strcpy((yyval.na),(yyvsp[0].na)); } 4456 #line 4457 "fortran.tab.c" 4457 break; 4458 4459 case 239: 4460 #line 1098 "fortran.y" 4461 { strcpy((yyval.na),(yyvsp[0].na)); } 4462 #line 4463 "fortran.tab.c" 4463 break; 4464 4465 case 240: 4466 #line 1099 "fortran.y" 4467 { strcpy((yyval.na),(yyvsp[0].na)); } 4468 #line 4469 "fortran.tab.c" 4469 break; 4470 4471 case 241: 4472 #line 1100 "fortran.y" 4473 { sprintf((yyval.na),"(%s)",(yyvsp[-1].na)); } 4474 #line 4475 "fortran.tab.c" 4475 break; 4476 4477 case 242: 4478 #line 1104 "fortran.y" 4479 { sprintf((yyval.na),"SUM(%s)",(yyvsp[-1].na));} 4480 #line 4481 "fortran.tab.c" 4481 break; 4482 4483 case 243: 4484 #line 1105 "fortran.y" 4485 { sprintf((yyval.na),"MAX(%s)",(yyvsp[-1].na));} 4486 #line 4487 "fortran.tab.c" 4487 break; 4488 4489 case 244: 4490 #line 1106 "fortran.y" 4491 { sprintf((yyval.na),"TANH(%s)",(yyvsp[-1].na));} 4492 #line 4493 "fortran.tab.c" 4493 break; 4494 4495 case 245: 4496 #line 1107 "fortran.y" 4497 { sprintf((yyval.na),"MAXVAL(%s)",(yyvsp[-1].na));} 4498 #line 4499 "fortran.tab.c" 4499 break; 4500 4501 case 246: 4502 #line 1108 "fortran.y" 4503 { sprintf((yyval.na),"MIN(%s)",(yyvsp[-1].na));} 4504 #line 4505 "fortran.tab.c" 4505 break; 4506 4507 case 247: 4508 #line 1109 "fortran.y" 4509 { sprintf((yyval.na),"MINVAL(%s)",(yyvsp[-1].na));} 4510 #line 4511 "fortran.tab.c" 4511 break; 4512 4513 case 248: 4514 #line 1110 "fortran.y" 4515 { sprintf((yyval.na),"TRIM(%s)",(yyvsp[-1].na));} 4516 #line 4517 "fortran.tab.c" 4517 break; 4518 4519 case 249: 4520 #line 1111 "fortran.y" 4521 { sprintf((yyval.na),"SQRT(%s)",(yyvsp[-1].na));} 4522 #line 4523 "fortran.tab.c" 4523 break; 4524 4525 case 250: 4526 #line 1112 "fortran.y" 4527 { sprintf((yyval.na),"REAL(%s)",(yyvsp[-1].na));} 4528 #line 4529 "fortran.tab.c" 4529 break; 4530 4531 case 251: 4532 #line 1113 "fortran.y" 4533 { sprintf((yyval.na),"NINT(%s)",(yyvsp[-1].na));} 4534 #line 4535 "fortran.tab.c" 4535 break; 4536 4537 case 252: 4538 #line 1114 "fortran.y" 4539 { sprintf((yyval.na),"FLOAT(%s)",(yyvsp[-1].na));} 4540 #line 4541 "fortran.tab.c" 4541 break; 4542 4543 case 253: 4544 #line 1115 "fortran.y" 4545 { sprintf((yyval.na),"EXP(%s)",(yyvsp[-1].na));} 4546 #line 4547 "fortran.tab.c" 4547 break; 4548 4549 case 254: 4550 #line 1116 "fortran.y" 4551 { sprintf((yyval.na),"COS(%s)",(yyvsp[-1].na));} 4552 #line 4553 "fortran.tab.c" 4553 break; 4554 4555 case 255: 4556 #line 1117 "fortran.y" 4557 { sprintf((yyval.na),"COSH(%s)",(yyvsp[-1].na));} 4558 #line 4559 "fortran.tab.c" 4559 break; 4560 4561 case 256: 4562 #line 1118 "fortran.y" 4563 { sprintf((yyval.na),"ACOS(%s)",(yyvsp[-1].na));} 4564 #line 4565 "fortran.tab.c" 4565 break; 4566 4567 case 257: 4568 #line 1119 "fortran.y" 4569 { sprintf((yyval.na),"SIN(%s)",(yyvsp[-1].na));} 4570 #line 4571 "fortran.tab.c" 4571 break; 4572 4573 case 258: 4574 #line 1120 "fortran.y" 4575 { sprintf((yyval.na),"SINH(%s)",(yyvsp[-1].na));} 4576 #line 4577 "fortran.tab.c" 4577 break; 4578 4579 case 259: 4580 #line 1121 "fortran.y" 4581 { sprintf((yyval.na),"ASIN(%s)",(yyvsp[-1].na));} 4582 #line 4583 "fortran.tab.c" 4583 break; 4584 4585 case 260: 4586 #line 1122 "fortran.y" 4587 { sprintf((yyval.na),"LOG(%s)",(yyvsp[-1].na));} 4588 #line 4589 "fortran.tab.c" 4589 break; 4590 4591 case 261: 4592 #line 1123 "fortran.y" 4593 { sprintf((yyval.na),"TAN(%s)",(yyvsp[-1].na));} 4594 #line 4595 "fortran.tab.c" 4595 break; 4596 4597 case 262: 4598 #line 1124 "fortran.y" 4599 { sprintf((yyval.na),"ATAN(%s)",(yyvsp[-1].na));} 4600 #line 4601 "fortran.tab.c" 4601 break; 4602 4603 case 263: 4604 #line 1125 "fortran.y" 4605 { sprintf((yyval.na),"ABS(%s)",(yyvsp[-1].na));} 4606 #line 4607 "fortran.tab.c" 4607 break; 4608 4609 case 264: 4610 #line 1126 "fortran.y" 4611 { sprintf((yyval.na),"MOD(%s)",(yyvsp[-1].na));} 4612 #line 4613 "fortran.tab.c" 4613 break; 4614 4615 case 265: 4616 #line 1127 "fortran.y" 4617 { sprintf((yyval.na),"SIGN(%s)",(yyvsp[-1].na));} 4618 #line 4619 "fortran.tab.c" 4619 break; 4620 4621 case 266: 4622 #line 1128 "fortran.y" 4623 { sprintf((yyval.na),"MINLOC(%s)",(yyvsp[-1].na));} 4624 #line 4625 "fortran.tab.c" 4625 break; 4626 4627 case 267: 4628 #line 1129 "fortran.y" 4629 { sprintf((yyval.na),"MAXLOC(%s)",(yyvsp[-1].na));} 4630 #line 4631 "fortran.tab.c" 4631 break; 4632 4633 case 268: 4634 #line 1131 "fortran.y" 4635 {strcpy((yyval.na),(yyvsp[0].na));} 4636 #line 4637 "fortran.tab.c" 4637 break; 4638 4639 case 269: 4640 #line 1132 "fortran.y" 4641 { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 4642 #line 4643 "fortran.tab.c" 4643 break; 4644 4645 case 270: 4646 #line 1134 "fortran.y" 4647 { strcpy((yyval.na),(yyvsp[0].na)); } 4648 #line 4649 "fortran.tab.c" 4649 break; 4650 4651 case 271: 4652 #line 1135 "fortran.y" 4653 { strcpy((yyval.na),(yyvsp[0].na)); } 4654 #line 4655 "fortran.tab.c" 4655 break; 4656 4657 case 272: 4658 #line 1136 "fortran.y" 4659 { strcpy((yyval.na),(yyvsp[0].na)); } 4660 #line 4661 "fortran.tab.c" 4661 break; 4662 4663 case 273: 4664 #line 1137 "fortran.y" 4665 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4666 #line 4667 "fortran.tab.c" 4667 break; 4668 4669 case 274: 4670 #line 1138 "fortran.y" 4671 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4672 #line 4673 "fortran.tab.c" 4673 break; 4674 4675 case 275: 4676 #line 1139 "fortran.y" 4677 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4678 #line 4679 "fortran.tab.c" 4679 break; 4680 4681 case 276: 4682 #line 1141 "fortran.y" 4683 { strcpy((yyval.na),"+"); } 4684 #line 4685 "fortran.tab.c" 4685 break; 4686 4687 case 277: 4688 #line 1142 "fortran.y" 4689 { strcpy((yyval.na),"-"); } 4690 #line 4691 "fortran.tab.c" 4691 break; 4692 4693 case 278: 4694 #line 1146 "fortran.y" 4695 { sprintf((yyval.na),"+%s",(yyvsp[0].na)); } 4696 #line 4697 "fortran.tab.c" 4697 break; 4698 4699 case 279: 4700 #line 1147 "fortran.y" 4701 { sprintf((yyval.na),"-%s",(yyvsp[0].na)); } 4702 #line 4703 "fortran.tab.c" 4703 break; 4704 4705 case 280: 4706 #line 1148 "fortran.y" 4707 { sprintf((yyval.na),"*%s",(yyvsp[0].na)); } 4708 #line 4709 "fortran.tab.c" 4709 break; 4710 4711 case 281: 4712 #line 1149 "fortran.y" 4713 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4714 #line 4715 "fortran.tab.c" 4715 break; 4716 4717 case 282: 4718 #line 1150 "fortran.y" 4719 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4720 #line 4721 "fortran.tab.c" 4721 break; 4722 4723 case 283: 4724 #line 1151 "fortran.y" 4725 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4726 #line 4727 "fortran.tab.c" 4727 break; 4728 4729 case 284: 4730 #line 1152 "fortran.y" 4731 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4732 #line 4733 "fortran.tab.c" 4733 break; 4734 4735 case 285: 4736 #line 1153 "fortran.y" 4737 { sprintf((yyval.na)," > %s",(yyvsp[0].na)); } 4738 #line 4739 "fortran.tab.c" 4739 break; 4740 4741 case 286: 4742 #line 1154 "fortran.y" 4743 { sprintf((yyval.na)," < %s",(yyvsp[0].na)); } 4744 #line 4745 "fortran.tab.c" 4745 break; 4746 4747 case 287: 4748 #line 1155 "fortran.y" 4749 { sprintf((yyval.na)," >= %s",(yyvsp[0].na)); } 4750 #line 4751 "fortran.tab.c" 4751 break; 4752 4753 case 288: 4754 #line 1156 "fortran.y" 4755 { sprintf((yyval.na)," <= %s",(yyvsp[0].na)); } 4756 #line 4757 "fortran.tab.c" 4757 break; 4758 4759 case 289: 4760 #line 1157 "fortran.y" 4761 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4762 #line 4763 "fortran.tab.c" 4763 break; 4764 4765 case 290: 4766 #line 1158 "fortran.y" 4767 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4768 #line 4769 "fortran.tab.c" 4769 break; 4770 4771 case 291: 4772 #line 1159 "fortran.y" 4773 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4774 #line 4775 "fortran.tab.c" 4775 break; 4776 4777 case 292: 4778 #line 1160 "fortran.y" 4779 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4780 #line 4781 "fortran.tab.c" 4781 break; 4782 4783 case 293: 4784 #line 1161 "fortran.y" 4785 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4786 #line 4787 "fortran.tab.c" 4787 break; 4788 4789 case 294: 4790 #line 1162 "fortran.y" 4791 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4792 #line 4793 "fortran.tab.c" 4793 break; 4794 4795 case 295: 4796 #line 1163 "fortran.y" 4797 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4798 #line 4799 "fortran.tab.c" 4799 break; 4800 4801 case 296: 4802 #line 1164 "fortran.y" 4803 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 4804 #line 4805 "fortran.tab.c" 4805 break; 4806 4807 case 297: 4808 #line 1165 "fortran.y" 4809 { sprintf((yyval.na),"%s",(yyvsp[0].na)); } 4810 #line 4811 "fortran.tab.c" 4811 break; 4812 4813 case 298: 4814 #line 1166 "fortran.y" 4815 { sprintf((yyval.na),"%s",(yyvsp[0].na)); } 4816 #line 4817 "fortran.tab.c" 4817 break; 4818 4819 case 299: 4820 #line 1168 "fortran.y" 4821 { strcpy((yyval.na),""); } 4822 #line 4823 "fortran.tab.c" 4823 break; 4824 4825 case 300: 4826 #line 1169 "fortran.y" 4827 { sprintf((yyval.na),"/%s",(yyvsp[0].na)); } 4828 #line 4829 "fortran.tab.c" 4829 break; 4830 4831 case 301: 4832 #line 1170 "fortran.y" 4833 { sprintf((yyval.na),"/= %s",(yyvsp[0].na));} 4834 #line 4835 "fortran.tab.c" 4835 break; 4836 4837 case 302: 4838 #line 1171 "fortran.y" 4839 { sprintf((yyval.na),"//%s",(yyvsp[0].na)); } 4840 #line 4841 "fortran.tab.c" 4841 break; 4842 4843 case 303: 4844 #line 1174 "fortran.y" 4845 { sprintf((yyval.na),"==%s",(yyvsp[0].na)); } 4846 #line 4847 "fortran.tab.c" 4847 break; 4848 4849 case 304: 4850 #line 1175 "fortran.y" 4851 { sprintf((yyval.na),"= %s",(yyvsp[0].na)); } 4852 #line 4853 "fortran.tab.c" 4853 break; 4854 4855 case 305: 4856 #line 1178 "fortran.y" 4857 { strcpy((yyval.na),(yyvsp[0].na)); } 4858 #line 4859 "fortran.tab.c" 4859 break; 4860 4861 case 306: 4862 #line 1179 "fortran.y" 4863 { strcpy((yyval.na),(yyvsp[0].na)); } 4864 #line 4865 "fortran.tab.c" 4865 break; 4866 4867 case 307: 4868 #line 1180 "fortran.y" 4869 { strcpy((yyval.na),(yyvsp[0].na)); } 4870 #line 4871 "fortran.tab.c" 4871 break; 4872 4873 case 308: 4874 #line 1184 "fortran.y" 3775 #line 1153 "fortran.y" /* yacc.c:1646 */ 4875 3776 { 4876 3777 agrif_parentcall = 0; … … 4882 3783 } 4883 3784 } 4884 #line 4885 "fortran.tab.c"4885 break; 4886 4887 case 309:4888 #line 11 95 "fortran.y"3785 #line 3786 "fortran.tab.c" /* yacc.c:1646 */ 3786 break; 3787 3788 case 65: 3789 #line 1164 "fortran.y" /* yacc.c:1646 */ 4889 3790 { strcpy((yyval.na),(yyvsp[0].na)); if ( incalldeclare == 0 ) inagrifcallargument = 0; } 4890 #line 4891 "fortran.tab.c"4891 break; 4892 4893 case 310:4894 #line 11 96 "fortran.y"3791 #line 3792 "fortran.tab.c" /* yacc.c:1646 */ 3792 break; 3793 3794 case 66: 3795 #line 1165 "fortran.y" /* yacc.c:1646 */ 4895 3796 { sprintf((yyval.na)," %s %s ",(yyvsp[-1].na),(yyvsp[0].na)); } 4896 #line 4897 "fortran.tab.c" 4897 break; 4898 4899 case 311: 4900 #line 1197 "fortran.y" 4901 { sprintf((yyval.na)," %s ( %s )",(yyvsp[-3].na),(yyvsp[-1].na)); } 4902 #line 4903 "fortran.tab.c" 4903 break; 4904 4905 case 312: 4906 #line 1198 "fortran.y" 4907 { sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na)); } 4908 #line 4909 "fortran.tab.c" 4909 break; 4910 4911 case 313: 4912 #line 1202 "fortran.y" 3797 #line 3798 "fortran.tab.c" /* yacc.c:1646 */ 3798 break; 3799 3800 case 67: 3801 #line 1166 "fortran.y" /* yacc.c:1646 */ 3802 {in_complex_literal=0;} 3803 #line 3804 "fortran.tab.c" /* yacc.c:1646 */ 3804 break; 3805 3806 case 68: 3807 #line 1166 "fortran.y" /* yacc.c:1646 */ 3808 { sprintf((yyval.na)," %s ( %s )",(yyvsp[-4].na),(yyvsp[-1].na)); } 3809 #line 3810 "fortran.tab.c" /* yacc.c:1646 */ 3810 break; 3811 3812 case 69: 3813 #line 1167 "fortran.y" /* yacc.c:1646 */ 3814 {in_complex_literal=0;} 3815 #line 3816 "fortran.tab.c" /* yacc.c:1646 */ 3816 break; 3817 3818 case 70: 3819 #line 1167 "fortran.y" /* yacc.c:1646 */ 3820 { sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[-5].na),(yyvsp[-2].na),(yyvsp[0].na)); } 3821 #line 3822 "fortran.tab.c" /* yacc.c:1646 */ 3822 break; 3823 3824 case 72: 3825 #line 1170 "fortran.y" /* yacc.c:1646 */ 3826 {in_complex_literal=0;} 3827 #line 3828 "fortran.tab.c" /* yacc.c:1646 */ 3828 break; 3829 3830 case 73: 3831 #line 1171 "fortran.y" /* yacc.c:1646 */ 4913 3832 { 4914 3833 if ( inside_type_declare ) break; 4915 sprintf((yyval.na)," %s ( %s )",(yyvsp[- 3].na),(yyvsp[-1].na));3834 sprintf((yyval.na)," %s ( %s )",(yyvsp[-4].na),(yyvsp[-1].na)); 4916 3835 ModifyTheAgrifFunction_0((yyvsp[-1].na)); 4917 3836 agrif_parentcall = 0; 4918 3837 } 4919 #line 4920 "fortran.tab.c"4920 break; 4921 4922 case 314:4923 #line 1 211 "fortran.y"3838 #line 3839 "fortran.tab.c" /* yacc.c:1646 */ 3839 break; 3840 3841 case 74: 3842 #line 1180 "fortran.y" /* yacc.c:1646 */ 4924 3843 { 4925 3844 sprintf((yyval.na)," %s %% %s ",(yyvsp[-3].na),(yyvsp[0].na)); 4926 3845 if ( incalldeclare == 0 ) inagrifcallargument = 0; 4927 3846 } 4928 #line 4929 "fortran.tab.c" 4929 break; 4930 4931 case 315: 4932 #line 1217 "fortran.y" 4933 { sprintf((yyval.na),"(/%s/)",(yyvsp[-1].na)); } 4934 #line 4935 "fortran.tab.c" 4935 break; 4936 4937 case 316: 4938 #line 1220 "fortran.y" 3847 #line 3848 "fortran.tab.c" /* yacc.c:1646 */ 3848 break; 3849 3850 case 75: 3851 #line 1191 "fortran.y" /* yacc.c:1646 */ 4939 3852 { strcpy((yyval.na)," "); } 4940 #line 4941 "fortran.tab.c"4941 break; 4942 4943 case 317:4944 #line 1 221 "fortran.y"3853 #line 3854 "fortran.tab.c" /* yacc.c:1646 */ 3854 break; 3855 3856 case 76: 3857 #line 1192 "fortran.y" /* yacc.c:1646 */ 4945 3858 { strcpy((yyval.na),(yyvsp[0].na)); } 4946 #line 4947 "fortran.tab.c"4947 break; 4948 4949 case 318:4950 #line 1 224 "fortran.y"3859 #line 3860 "fortran.tab.c" /* yacc.c:1646 */ 3860 break; 3861 3862 case 77: 3863 #line 1195 "fortran.y" /* yacc.c:1646 */ 4951 3864 { strcpy((yyval.na),(yyvsp[0].na)); } 4952 #line 4953 "fortran.tab.c"4953 break; 4954 4955 case 319:4956 #line 1 225 "fortran.y"3865 #line 3866 "fortran.tab.c" /* yacc.c:1646 */ 3866 break; 3867 3868 case 78: 3869 #line 1196 "fortran.y" /* yacc.c:1646 */ 4957 3870 { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 4958 #line 4959 "fortran.tab.c"4959 break; 4960 4961 case 320:4962 #line 1 228 "fortran.y"3871 #line 3872 "fortran.tab.c" /* yacc.c:1646 */ 3872 break; 3873 3874 case 79: 3875 #line 1199 "fortran.y" /* yacc.c:1646 */ 4963 3876 {strcpy((yyval.na),(yyvsp[0].na));} 4964 #line 4965 "fortran.tab.c"4965 break; 4966 4967 case 321:4968 #line 12 29 "fortran.y"3877 #line 3878 "fortran.tab.c" /* yacc.c:1646 */ 3878 break; 3879 3880 case 80: 3881 #line 1200 "fortran.y" /* yacc.c:1646 */ 4969 3882 {strcpy((yyval.na),(yyvsp[0].na));} 4970 #line 4971 "fortran.tab.c"4971 break; 4972 4973 case 322:4974 #line 12 32 "fortran.y"3883 #line 3884 "fortran.tab.c" /* yacc.c:1646 */ 3884 break; 3885 3886 case 81: 3887 #line 1203 "fortran.y" /* yacc.c:1646 */ 4975 3888 { sprintf((yyval.na),"%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} 4976 #line 4977 "fortran.tab.c"4977 break; 4978 4979 case 323:4980 #line 12 33 "fortran.y"3889 #line 3890 "fortran.tab.c" /* yacc.c:1646 */ 3890 break; 3891 3892 case 82: 3893 #line 1204 "fortran.y" /* yacc.c:1646 */ 4981 3894 { sprintf((yyval.na),"%s :%s :%s",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 4982 #line 4983 "fortran.tab.c"4983 break; 4984 4985 case 324:4986 #line 12 34 "fortran.y"3895 #line 3896 "fortran.tab.c" /* yacc.c:1646 */ 3896 break; 3897 3898 case 83: 3899 #line 1205 "fortran.y" /* yacc.c:1646 */ 4987 3900 { sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} 4988 #line 4989 "fortran.tab.c"4989 break; 4990 4991 case 325:4992 #line 12 35 "fortran.y"3901 #line 3902 "fortran.tab.c" /* yacc.c:1646 */ 3902 break; 3903 3904 case 84: 3905 #line 1206 "fortran.y" /* yacc.c:1646 */ 4993 3906 { sprintf((yyval.na),": : %s",(yyvsp[0].na));} 4994 #line 4995 "fortran.tab.c"4995 break; 4996 4997 case 326:4998 #line 12 36 "fortran.y"3907 #line 3908 "fortran.tab.c" /* yacc.c:1646 */ 3908 break; 3909 3910 case 85: 3911 #line 1207 "fortran.y" /* yacc.c:1646 */ 4999 3912 { sprintf((yyval.na),":%s",(yyvsp[0].na));} 5000 #line 5001 "fortran.tab.c"5001 break; 5002 5003 case 327:5004 #line 12 37 "fortran.y"3913 #line 3914 "fortran.tab.c" /* yacc.c:1646 */ 3914 break; 3915 3916 case 86: 3917 #line 1208 "fortran.y" /* yacc.c:1646 */ 5005 3918 { sprintf((yyval.na),"%s :",(yyvsp[-1].na));} 5006 #line 5007 "fortran.tab.c"5007 break; 5008 5009 case 328:5010 #line 12 38 "fortran.y"3919 #line 3920 "fortran.tab.c" /* yacc.c:1646 */ 3920 break; 3921 3922 case 87: 3923 #line 1209 "fortran.y" /* yacc.c:1646 */ 5011 3924 { sprintf((yyval.na),":");} 5012 #line 5013 "fortran.tab.c"5013 break; 5014 5015 case 329:5016 #line 12 41 "fortran.y"3925 #line 3926 "fortran.tab.c" /* yacc.c:1646 */ 3926 break; 3927 3928 case 88: 3929 #line 1212 "fortran.y" /* yacc.c:1646 */ 5017 3930 { 3931 // if (indeclaration == 1) break; 5018 3932 if ( afterpercent == 0 ) 5019 3933 { … … 5058 3972 } 5059 3973 } 5060 #line 5061 "fortran.tab.c"5061 break; 5062 5063 case 330:5064 #line 12 86 "fortran.y"3974 #line 3975 "fortran.tab.c" /* yacc.c:1646 */ 3975 break; 3976 3977 case 89: 3978 #line 1258 "fortran.y" /* yacc.c:1646 */ 5065 3979 { strcpy((yyval.na),".TRUE.");} 5066 #line 5067 "fortran.tab.c"5067 break; 5068 5069 case 331:5070 #line 12 87 "fortran.y"3980 #line 3981 "fortran.tab.c" /* yacc.c:1646 */ 3981 break; 3982 3983 case 90: 3984 #line 1259 "fortran.y" /* yacc.c:1646 */ 5071 3985 { strcpy((yyval.na),".FALSE.");} 5072 #line 5073 "fortran.tab.c"5073 break; 5074 5075 case 332:5076 #line 12 88 "fortran.y"3986 #line 3987 "fortran.tab.c" /* yacc.c:1646 */ 3987 break; 3988 3989 case 91: 3990 #line 1260 "fortran.y" /* yacc.c:1646 */ 5077 3991 { strcpy((yyval.na),"NULL()"); } 5078 #line 5079 "fortran.tab.c"5079 break; 5080 5081 case 333:5082 #line 12 89 "fortran.y"3992 #line 3993 "fortran.tab.c" /* yacc.c:1646 */ 3993 break; 3994 3995 case 92: 3996 #line 1261 "fortran.y" /* yacc.c:1646 */ 5083 3997 { strcpy((yyval.na),(yyvsp[0].na)); } 5084 #line 5085 "fortran.tab.c"5085 break; 5086 5087 case 334:5088 #line 12 90 "fortran.y"3998 #line 3999 "fortran.tab.c" /* yacc.c:1646 */ 3999 break; 4000 4001 case 93: 4002 #line 1262 "fortran.y" /* yacc.c:1646 */ 5089 4003 { strcpy((yyval.na),(yyvsp[0].na)); } 5090 #line 5091 "fortran.tab.c"5091 break; 5092 5093 case 335:5094 #line 12 91 "fortran.y"4004 #line 4005 "fortran.tab.c" /* yacc.c:1646 */ 4005 break; 4006 4007 case 94: 4008 #line 1263 "fortran.y" /* yacc.c:1646 */ 5095 4009 { strcpy((yyval.na),(yyvsp[0].na)); } 5096 #line 5097 "fortran.tab.c"5097 break; 5098 5099 case 336:5100 #line 12 93 "fortran.y"4010 #line 4011 "fortran.tab.c" /* yacc.c:1646 */ 4011 break; 4012 4013 case 95: 4014 #line 1265 "fortran.y" /* yacc.c:1646 */ 5101 4015 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 5102 #line 5103 "fortran.tab.c"5103 break; 5104 5105 case 338:5106 #line 12 97 "fortran.y"4016 #line 4017 "fortran.tab.c" /* yacc.c:1646 */ 4017 break; 4018 4019 case 97: 4020 #line 1269 "fortran.y" /* yacc.c:1646 */ 5107 4021 { strcpy((yyval.na),(yyvsp[0].na));} 5108 #line 5109 "fortran.tab.c"5109 break; 5110 5111 case 340:5112 #line 12 99 "fortran.y"4022 #line 4023 "fortran.tab.c" /* yacc.c:1646 */ 4023 break; 4024 4025 case 99: 4026 #line 1271 "fortran.y" /* yacc.c:1646 */ 5113 4027 { strcpy((yyval.na),(yyvsp[0].na));} 5114 #line 5115 "fortran.tab.c"5115 break; 5116 5117 case 341:5118 #line 1 300 "fortran.y"4028 #line 4029 "fortran.tab.c" /* yacc.c:1646 */ 4029 break; 4030 4031 case 100: 4032 #line 1272 "fortran.y" /* yacc.c:1646 */ 5119 4033 { strcpy((yyval.na),(yyvsp[0].na));} 5120 #line 5121 "fortran.tab.c"5121 break; 5122 5123 case 342:5124 #line 1 302 "fortran.y"4034 #line 4035 "fortran.tab.c" /* yacc.c:1646 */ 4035 break; 4036 4037 case 101: 4038 #line 1274 "fortran.y" /* yacc.c:1646 */ 5125 4039 { strcpy((yyval.na)," ");} 5126 #line 5127 "fortran.tab.c"5127 break; 5128 5129 case 343:5130 #line 1 303 "fortran.y"4040 #line 4041 "fortran.tab.c" /* yacc.c:1646 */ 4041 break; 4042 4043 case 102: 4044 #line 1275 "fortran.y" /* yacc.c:1646 */ 5131 4045 { strcpy((yyval.na),(yyvsp[0].na));} 5132 #line 5133 "fortran.tab.c" 5133 break; 5134 5135 case 344: 5136 #line 1306 "fortran.y" 5137 { sprintf((yyval.na),"(%s :%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 5138 #line 5139 "fortran.tab.c" 5139 break; 5140 5141 case 345: 5142 #line 1308 "fortran.y" 4046 #line 4047 "fortran.tab.c" /* yacc.c:1646 */ 4047 break; 4048 4049 case 103: 4050 #line 1285 "fortran.y" /* yacc.c:1646 */ 5143 4051 { strcpy((yyval.na)," ");} 5144 #line 5145 "fortran.tab.c"5145 break; 5146 5147 case 346:5148 #line 1 309 "fortran.y"4052 #line 4053 "fortran.tab.c" /* yacc.c:1646 */ 4053 break; 4054 4055 case 104: 4056 #line 1286 "fortran.y" /* yacc.c:1646 */ 5149 4057 { strcpy((yyval.na),(yyvsp[0].na));} 5150 #line 5151 "fortran.tab.c" 5151 break; 5152 5153 case 347: 5154 #line 1312 "fortran.y" 5155 { strcpy((yyval.na)," ");} 5156 #line 5157 "fortran.tab.c" 5157 break; 5158 5159 case 348: 5160 #line 1313 "fortran.y" 5161 { strcpy((yyval.na),(yyvsp[0].na));} 5162 #line 5163 "fortran.tab.c" 5163 break; 5164 5165 case 349: 5166 #line 1315 "fortran.y" 5167 { InitialValueGiven = 0; } 5168 #line 5169 "fortran.tab.c" 5169 break; 5170 5171 case 350: 5172 #line 1317 "fortran.y" 5173 { 5174 if ( inside_type_declare ) break; 5175 strcpy(InitValue,(yyvsp[0].na)); 5176 InitialValueGiven = 1; 5177 } 5178 #line 5179 "fortran.tab.c" 5179 break; 5180 5181 case 351: 5182 #line 1323 "fortran.y" 5183 { 5184 if ( inside_type_declare ) break; 5185 strcpy(InitValue,(yyvsp[0].na)); 5186 InitialValueGiven = 2; 5187 } 5188 #line 5189 "fortran.tab.c" 5189 break; 5190 5191 case 352: 5192 #line 1330 "fortran.y" 5193 {sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na)); } 5194 #line 5195 "fortran.tab.c" 5195 break; 5196 5197 case 353: 5198 #line 1334 "fortran.y" 5199 { 5200 /* if variables has been declared in a subroutine */ 5201 sprintf(charusemodule, "%s", (yyvsp[0].na)); 5202 if ( firstpass ) 5203 { 5204 Add_NameOfModuleUsed_1((yyvsp[0].na)); 5205 } 5206 else 5207 { 5208 if ( insubroutinedeclare ) 5209 copyuse_0((yyvsp[0].na)); 5210 5211 if ( inmoduledeclare == 0 ) 5212 { 5213 pos_end = setposcur(); 5214 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 5215 } 5216 } 5217 } 5218 #line 5219 "fortran.tab.c" 5219 break; 5220 5221 case 354: 5222 #line 1354 "fortran.y" 5223 { 5224 if ( firstpass ) 5225 { 5226 if ( insubroutinedeclare ) 5227 { 5228 Add_CouplePointed_Var_1((yyvsp[-2].na),(yyvsp[0].lc)); 5229 coupletmp = (yyvsp[0].lc); 5230 strcpy(ligne,""); 5231 while ( coupletmp ) 5232 { 5233 strcat(ligne, coupletmp->c_namevar); 5234 strcat(ligne, " => "); 5235 strcat(ligne, coupletmp->c_namepointedvar); 5236 coupletmp = coupletmp->suiv; 5237 if ( coupletmp ) strcat(ligne,","); 5238 } 5239 sprintf(charusemodule,"%s",(yyvsp[-2].na)); 5240 } 5241 Add_NameOfModuleUsed_1((yyvsp[-2].na)); 5242 } 5243 if ( inmoduledeclare == 0 ) 5244 { 5245 pos_end = setposcur(); 5246 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 5247 } 5248 } 5249 #line 5250 "fortran.tab.c" 5250 break; 5251 5252 case 355: 5253 #line 1381 "fortran.y" 5254 { 5255 /* if variables has been declared in a subroutine */ 5256 sprintf(charusemodule,"%s",(yyvsp[-4].na)); 5257 if ( firstpass ) 5258 { 5259 Add_NameOfModuleUsed_1((yyvsp[-4].na)); 5260 } 5261 else 5262 { 5263 if ( insubroutinedeclare ) 5264 copyuseonly_0((yyvsp[-4].na)); 5265 5266 if ( inmoduledeclare == 0 ) 5267 { 5268 pos_end = setposcur(); 5269 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 5270 } 5271 } 5272 } 5273 #line 5274 "fortran.tab.c" 5274 break; 5275 5276 case 356: 5277 #line 1401 "fortran.y" 5278 { 5279 /* if variables has been declared in a subroutine */ 5280 if ( firstpass ) 5281 { 5282 if ( insubroutinedeclare ) 5283 { 5284 Add_CouplePointed_Var_1((yyvsp[-4].na),(yyvsp[0].lc)); 5285 coupletmp = (yyvsp[0].lc); 5286 strcpy(ligne,""); 5287 while ( coupletmp ) 5288 { 5289 strcat(ligne,coupletmp->c_namevar); 5290 if ( strcasecmp(coupletmp->c_namepointedvar,"") ) strcat(ligne," => "); 5291 strcat(ligne,coupletmp->c_namepointedvar); 5292 coupletmp = coupletmp->suiv; 5293 if ( coupletmp ) strcat(ligne,","); 5294 } 5295 sprintf(charusemodule,"%s",(yyvsp[-4].na)); 5296 } 5297 Add_NameOfModuleUsed_1((yyvsp[-4].na)); 5298 } 5299 else /* if ( firstpass == 0 ) */ 5300 { 5301 if ( inmoduledeclare == 0 ) 5302 { 5303 pos_end = setposcur(); 5304 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 5305 if (oldfortran_out) variableisglobalinmodule((yyvsp[0].lc),(yyvsp[-4].na),oldfortran_out,pos_curuseold); 5306 } 5307 else 5308 { 5309 /* if we are in the module declare and if the */ 5310 /* onlylist is a list of global variable */ 5311 variableisglobalinmodule((yyvsp[0].lc), (yyvsp[-4].na), fortran_out,pos_curuse); 5312 } 5313 } 5314 } 5315 #line 5316 "fortran.tab.c" 5316 break; 5317 5318 case 357: 5319 #line 1441 "fortran.y" 5320 { 5321 pos_curuse = setposcur()-strlen((yyvsp[0].na)); 5322 if (firstpass == 0 && oldfortran_out) pos_curuseold = setposcurname(oldfortran_out); 5323 } 5324 #line 5325 "fortran.tab.c" 5325 break; 5326 5327 case 358: 5328 #line 1448 "fortran.y" 5329 { 5330 (yyval.lc) = (yyvsp[0].lc); 5331 } 5332 #line 5333 "fortran.tab.c" 5333 break; 5334 5335 case 359: 5336 #line 1452 "fortran.y" 5337 { 5338 /* insert the variable in the list $1 */ 5339 (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); 5340 (yyval.lc) = (yyvsp[0].lc); 5341 } 5342 #line 5343 "fortran.tab.c" 5343 break; 5344 5345 case 360: 5346 #line 1459 "fortran.y" 5347 { 5348 coupletmp = (listcouple *) calloc(1,sizeof(listcouple)); 5349 strcpy(coupletmp->c_namevar,(yyvsp[-2].na)); 5350 strcpy(coupletmp->c_namepointedvar,(yyvsp[0].na)); 5351 coupletmp->suiv = NULL; 5352 (yyval.lc) = coupletmp; 5353 } 5354 #line 5355 "fortran.tab.c" 5355 break; 5356 5357 case 361: 5358 #line 1468 "fortran.y" 5359 { (yyval.lc) = (yyvsp[0].lc); } 5360 #line 5361 "fortran.tab.c" 5361 break; 5362 5363 case 362: 5364 #line 1470 "fortran.y" 5365 { 5366 /* insert the variable in the list $1 */ 5367 (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); 5368 (yyval.lc) = (yyvsp[0].lc); 5369 } 5370 #line 5371 "fortran.tab.c" 5371 break; 5372 5373 case 363: 5374 #line 1478 "fortran.y" 5375 { 5376 coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 5377 strcpy(coupletmp->c_namevar,(yyvsp[-2].na)); 5378 strcpy(coupletmp->c_namepointedvar,(yyvsp[0].na)); 5379 coupletmp->suiv = NULL; 5380 (yyval.lc) = coupletmp; 5381 pointedvar = 1; 5382 Add_UsedInSubroutine_Var_1((yyvsp[-2].na)); 5383 } 5384 #line 5385 "fortran.tab.c" 5385 break; 5386 5387 case 364: 5388 #line 1488 "fortran.y" 5389 { 5390 coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 5391 strcpy(coupletmp->c_namevar,(yyvsp[0].na)); 5392 strcpy(coupletmp->c_namepointedvar,""); 5393 coupletmp->suiv = NULL; 5394 (yyval.lc) = coupletmp; 5395 } 5396 #line 5397 "fortran.tab.c" 5397 break; 5398 5399 case 381: 5400 #line 1523 "fortran.y" 5401 { inallocate = 0; } 5402 #line 5403 "fortran.tab.c" 5403 break; 5404 5405 case 382: 5406 #line 1524 "fortran.y" 5407 { inallocate = 0; } 5408 #line 5409 "fortran.tab.c" 5409 break; 5410 5411 case 389: 5412 #line 1532 "fortran.y" 5413 { 5414 GlobalDeclaration = 0 ; 5415 if ( firstpass == 0 && strcasecmp(subroutinename,"") ) 5416 { 5417 if ( module_declar && insubroutinedeclare == 0 ) fclose(module_declar); 5418 } 5419 if ( strcasecmp(subroutinename,"") ) 5420 { 5421 if ( inmodulemeet == 1 ) 5422 { 5423 /* we are in a module */ 5424 if ( insubroutinedeclare == 1 ) 5425 { 5426 /* it is like an end subroutine <name> */ 5427 insubroutinedeclare = 0 ; 5428 pos_cur = setposcur(); 5429 closeandcallsubloopandincludeit_0(1); 5430 functiondeclarationisdone = 0; 5431 } 5432 else 5433 { 5434 /* it is like an end module <name> */ 5435 inmoduledeclare = 0 ; 5436 inmodulemeet = 0 ; 5437 } 5438 } 5439 else 5440 { 5441 insubroutinedeclare = 0; 5442 pos_cur = setposcur(); 5443 closeandcallsubloopandincludeit_0(2); 5444 functiondeclarationisdone = 0; 5445 } 5446 } 5447 strcpy(subroutinename,""); 5448 } 5449 #line 5450 "fortran.tab.c" 5450 break; 5451 5452 case 390: 5453 #line 1569 "fortran.y" 5454 { 5455 insubroutinedeclare = 0; 5456 inprogramdeclare = 0; 5457 pos_cur = setposcur(); 5458 closeandcallsubloopandincludeit_0(3); 5459 functiondeclarationisdone = 0; 5460 strcpy(subroutinename,""); 5461 } 5462 #line 5463 "fortran.tab.c" 5463 break; 5464 5465 case 391: 5466 #line 1578 "fortran.y" 5467 { 5468 if ( strcasecmp(subroutinename,"") ) 5469 { 5470 insubroutinedeclare = 0; 5471 pos_cur = setposcur(); 5472 closeandcallsubloopandincludeit_0(1); 5473 functiondeclarationisdone = 0; 5474 strcpy(subroutinename,""); 5475 } 5476 } 5477 #line 5478 "fortran.tab.c" 5478 break; 5479 5480 case 392: 5481 #line 1589 "fortran.y" 5482 { 5483 insubroutinedeclare = 0; 5484 pos_cur = setposcur(); 5485 closeandcallsubloopandincludeit_0(0); 5486 functiondeclarationisdone = 0; 5487 strcpy(subroutinename,""); 5488 } 5489 #line 5490 "fortran.tab.c" 5490 break; 5491 5492 case 393: 5493 #line 1597 "fortran.y" 4058 #line 4059 "fortran.tab.c" /* yacc.c:1646 */ 4059 break; 4060 4061 case 169: 4062 #line 1484 "fortran.y" /* yacc.c:1646 */ 5494 4063 { 5495 4064 /* if we never meet the contains keyword */ … … 5513 4082 GlobalDeclaration = 0 ; 5514 4083 } 5515 #line 5516 "fortran.tab.c" 5516 break; 5517 5518 case 396: 5519 #line 1621 "fortran.y" 4084 #line 4085 "fortran.tab.c" /* yacc.c:1646 */ 4085 break; 4086 4087 case 189: 4088 #line 1537 "fortran.y" /* yacc.c:1646 */ 4089 {in_complex_literal=0;} 4090 #line 4091 "fortran.tab.c" /* yacc.c:1646 */ 4091 break; 4092 4093 case 192: 4094 #line 1561 "fortran.y" /* yacc.c:1646 */ 4095 {strcpy((yyval.na),"");} 4096 #line 4097 "fortran.tab.c" /* yacc.c:1646 */ 4097 break; 4098 4099 case 196: 4100 #line 1571 "fortran.y" /* yacc.c:1646 */ 4101 {strcpy((yyval.na),"");} 4102 #line 4103 "fortran.tab.c" /* yacc.c:1646 */ 4103 break; 4104 4105 case 197: 4106 #line 1573 "fortran.y" /* yacc.c:1646 */ 4107 {strcpy((yyval.na),(yyvsp[0].na));} 4108 #line 4109 "fortran.tab.c" /* yacc.c:1646 */ 4109 break; 4110 4111 case 202: 4112 #line 1593 "fortran.y" /* yacc.c:1646 */ 4113 {pos_cur_decl=my_position_before;} 4114 #line 4115 "fortran.tab.c" /* yacc.c:1646 */ 4115 break; 4116 4117 case 203: 4118 #line 1594 "fortran.y" /* yacc.c:1646 */ 4119 {strcpy((yyval.na),(yyvsp[0].na));} 4120 #line 4121 "fortran.tab.c" /* yacc.c:1646 */ 4121 break; 4122 4123 case 205: 4124 #line 1597 "fortran.y" /* yacc.c:1646 */ 4125 {strcpy(DeclType,"type"); GlobalDeclarationType = 1; } 4126 #line 4127 "fortran.tab.c" /* yacc.c:1646 */ 4127 break; 4128 4129 case 206: 4130 #line 1601 "fortran.y" /* yacc.c:1646 */ 4131 {in_kind_selector = 1;} 4132 #line 4133 "fortran.tab.c" /* yacc.c:1646 */ 4133 break; 4134 4135 case 207: 4136 #line 1602 "fortran.y" /* yacc.c:1646 */ 4137 {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na)); in_kind_selector =0;} 4138 #line 4139 "fortran.tab.c" /* yacc.c:1646 */ 4139 break; 4140 4141 case 208: 4142 #line 1603 "fortran.y" /* yacc.c:1646 */ 4143 {in_kind_selector = 1;} 4144 #line 4145 "fortran.tab.c" /* yacc.c:1646 */ 4145 break; 4146 4147 case 209: 4148 #line 1604 "fortran.y" /* yacc.c:1646 */ 4149 {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} 4150 #line 4151 "fortran.tab.c" /* yacc.c:1646 */ 4151 break; 4152 4153 case 210: 4154 #line 1605 "fortran.y" /* yacc.c:1646 */ 4155 {in_kind_selector = 1;} 4156 #line 4157 "fortran.tab.c" /* yacc.c:1646 */ 4157 break; 4158 4159 case 211: 4160 #line 1606 "fortran.y" /* yacc.c:1646 */ 4161 {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,"real"); strcpy(NamePrecision,"8");in_kind_selector =0;} 4162 #line 4163 "fortran.tab.c" /* yacc.c:1646 */ 4163 break; 4164 4165 case 212: 4166 #line 1607 "fortran.y" /* yacc.c:1646 */ 4167 {in_kind_selector = 1;} 4168 #line 4169 "fortran.tab.c" /* yacc.c:1646 */ 4169 break; 4170 4171 case 213: 4172 #line 1608 "fortran.y" /* yacc.c:1646 */ 4173 {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} 4174 #line 4175 "fortran.tab.c" /* yacc.c:1646 */ 4175 break; 4176 4177 case 214: 4178 #line 1609 "fortran.y" /* yacc.c:1646 */ 4179 {in_char_selector = 1;} 4180 #line 4181 "fortran.tab.c" /* yacc.c:1646 */ 4181 break; 4182 4183 case 215: 4184 #line 1610 "fortran.y" /* yacc.c:1646 */ 4185 {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_char_selector = 0;} 4186 #line 4187 "fortran.tab.c" /* yacc.c:1646 */ 4187 break; 4188 4189 case 216: 4190 #line 1611 "fortran.y" /* yacc.c:1646 */ 4191 {in_kind_selector = 1;} 4192 #line 4193 "fortran.tab.c" /* yacc.c:1646 */ 4193 break; 4194 4195 case 217: 4196 #line 1612 "fortran.y" /* yacc.c:1646 */ 4197 {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} 4198 #line 4199 "fortran.tab.c" /* yacc.c:1646 */ 4199 break; 4200 4201 case 218: 4202 #line 1616 "fortran.y" /* yacc.c:1646 */ 4203 {strcpy((yyval.na),"");strcpy(NamePrecision,"");} 4204 #line 4205 "fortran.tab.c" /* yacc.c:1646 */ 4205 break; 4206 4207 case 219: 4208 #line 1618 "fortran.y" /* yacc.c:1646 */ 4209 {strcpy((yyval.na),(yyvsp[0].na));} 4210 #line 4211 "fortran.tab.c" /* yacc.c:1646 */ 4211 break; 4212 4213 case 220: 4214 #line 1624 "fortran.y" /* yacc.c:1646 */ 4215 {sprintf((yyval.na),"(%s)",(yyvsp[-1].na)); strcpy(NamePrecision,(yyvsp[-1].na));} 4216 #line 4217 "fortran.tab.c" /* yacc.c:1646 */ 4217 break; 4218 4219 case 221: 4220 #line 1626 "fortran.y" /* yacc.c:1646 */ 4221 {sprintf((yyval.na),"(KIND=%s)",(yyvsp[-1].na)); strcpy(NamePrecision,(yyvsp[-1].na));} 4222 #line 4223 "fortran.tab.c" /* yacc.c:1646 */ 4223 break; 4224 4225 case 222: 4226 #line 1628 "fortran.y" /* yacc.c:1646 */ 4227 {sprintf((yyval.na),"*%s",(yyvsp[0].na));strcpy(NamePrecision,(yyvsp[0].na));} 4228 #line 4229 "fortran.tab.c" /* yacc.c:1646 */ 4229 break; 4230 4231 case 224: 4232 #line 1636 "fortran.y" /* yacc.c:1646 */ 4233 {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 4234 #line 4235 "fortran.tab.c" /* yacc.c:1646 */ 4235 break; 4236 4237 case 226: 4238 #line 1642 "fortran.y" /* yacc.c:1646 */ 4239 {sprintf((yyval.na),"%s_%s",(yyvsp[-2].na),(yyvsp[0].na));} 4240 #line 4241 "fortran.tab.c" /* yacc.c:1646 */ 4241 break; 4242 4243 case 230: 4244 #line 1665 "fortran.y" /* yacc.c:1646 */ 4245 {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 4246 #line 4247 "fortran.tab.c" /* yacc.c:1646 */ 4247 break; 4248 4249 case 232: 4250 #line 1671 "fortran.y" /* yacc.c:1646 */ 4251 {sprintf((yyval.na),"%s_%s",(yyvsp[-2].na),(yyvsp[0].na));} 4252 #line 4253 "fortran.tab.c" /* yacc.c:1646 */ 4253 break; 4254 4255 case 233: 4256 #line 1678 "fortran.y" /* yacc.c:1646 */ 4257 {sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 4258 #line 4259 "fortran.tab.c" /* yacc.c:1646 */ 4259 break; 4260 4261 case 241: 4262 #line 1696 "fortran.y" /* yacc.c:1646 */ 4263 {char_length_toreset = 1;} 4264 #line 4265 "fortran.tab.c" /* yacc.c:1646 */ 4265 break; 4266 4267 case 242: 4268 #line 1700 "fortran.y" /* yacc.c:1646 */ 4269 {strcpy((yyval.na),"");} 4270 #line 4271 "fortran.tab.c" /* yacc.c:1646 */ 4271 break; 4272 4273 case 243: 4274 #line 1702 "fortran.y" /* yacc.c:1646 */ 4275 {strcpy((yyval.na),"");} 4276 #line 4277 "fortran.tab.c" /* yacc.c:1646 */ 4277 break; 4278 4279 case 249: 4280 #line 1715 "fortran.y" /* yacc.c:1646 */ 4281 {strcpy(CharacterSize,(yyvsp[-1].na));} 4282 #line 4283 "fortran.tab.c" /* yacc.c:1646 */ 4283 break; 4284 4285 case 250: 4286 #line 1717 "fortran.y" /* yacc.c:1646 */ 4287 {strcpy(CharacterSize,(yyvsp[-1].na));} 4288 #line 4289 "fortran.tab.c" /* yacc.c:1646 */ 4289 break; 4290 4291 case 253: 4292 #line 1724 "fortran.y" /* yacc.c:1646 */ 4293 {c_star=1; strcpy(CharacterSize,(yyvsp[-1].na));} 4294 #line 4295 "fortran.tab.c" /* yacc.c:1646 */ 4295 break; 4296 4297 case 254: 4298 #line 1726 "fortran.y" /* yacc.c:1646 */ 4299 {c_selectorgiven = 1; strcpy(c_selectorname,(yyvsp[0].na));} 4300 #line 4301 "fortran.tab.c" /* yacc.c:1646 */ 4301 break; 4302 4303 case 260: 4304 #line 1741 "fortran.y" /* yacc.c:1646 */ 4305 { inside_type_declare = 1;} 4306 #line 4307 "fortran.tab.c" /* yacc.c:1646 */ 4307 break; 4308 4309 case 261: 4310 #line 1742 "fortran.y" /* yacc.c:1646 */ 4311 { inside_type_declare = 0;} 4312 #line 4313 "fortran.tab.c" /* yacc.c:1646 */ 4313 break; 4314 4315 case 289: 4316 #line 1807 "fortran.y" /* yacc.c:1646 */ 4317 {in_complex_literal=0;} 4318 #line 4319 "fortran.tab.c" /* yacc.c:1646 */ 4319 break; 4320 4321 case 294: 4322 #line 1817 "fortran.y" /* yacc.c:1646 */ 4323 { 4324 PublicDeclare = 0; 4325 PrivateDeclare = 0; 4326 ExternalDeclare = 0; 4327 strcpy(NamePrecision,""); 4328 c_star = 0; 4329 InitialValueGiven = 0 ; 4330 strcpy(IntentSpec,""); 4331 VariableIsParameter = 0 ; 4332 Allocatabledeclare = 0 ; 4333 Targetdeclare = 0 ; 4334 SaveDeclare = 0; 4335 pointerdeclare = 0; 4336 optionaldeclare = 0 ; 4337 dimsgiven=0; 4338 c_selectorgiven=0; 4339 strcpy(nameinttypename,""); 4340 strcpy(c_selectorname,""); 4341 GlobalDeclarationType = 0; 4342 } 4343 #line 4344 "fortran.tab.c" /* yacc.c:1646 */ 4344 break; 4345 4346 case 304: 4347 #line 1860 "fortran.y" /* yacc.c:1646 */ 4348 {strcpy(my_dim.last,"");} 4349 #line 4350 "fortran.tab.c" /* yacc.c:1646 */ 4350 break; 4351 4352 case 305: 4353 #line 1865 "fortran.y" /* yacc.c:1646 */ 4354 {strcpy(NamePrecision,(yyvsp[0].na));} 4355 #line 4356 "fortran.tab.c" /* yacc.c:1646 */ 4356 break; 4357 4358 case 320: 4359 #line 1900 "fortran.y" /* yacc.c:1646 */ 4360 { sprintf((yyval.na),"(/%s/)",(yyvsp[-1].na));} 4361 #line 4362 "fortran.tab.c" /* yacc.c:1646 */ 4362 break; 4363 4364 case 321: 4365 #line 1902 "fortran.y" /* yacc.c:1646 */ 4366 { sprintf((yyval.na),"[%s]",(yyvsp[-1].na)); } 4367 #line 4368 "fortran.tab.c" /* yacc.c:1646 */ 4368 break; 4369 4370 case 326: 4371 #line 1930 "fortran.y" /* yacc.c:1646 */ 4372 {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} 4373 #line 4374 "fortran.tab.c" /* yacc.c:1646 */ 4374 break; 4375 4376 case 329: 4377 #line 1940 "fortran.y" /* yacc.c:1646 */ 4378 {sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 4379 #line 4380 "fortran.tab.c" /* yacc.c:1646 */ 4380 break; 4381 4382 case 330: 4383 #line 1945 "fortran.y" /* yacc.c:1646 */ 4384 {sprintf((yyval.na),"%s=%s,%s",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 4385 #line 4386 "fortran.tab.c" /* yacc.c:1646 */ 4386 break; 4387 4388 case 331: 4389 #line 1947 "fortran.y" /* yacc.c:1646 */ 4390 {sprintf((yyval.na),"%s=%s,%s,%s",(yyvsp[-6].na),(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 4391 #line 4392 "fortran.tab.c" /* yacc.c:1646 */ 4392 break; 4393 4394 case 333: 4395 #line 1955 "fortran.y" /* yacc.c:1646 */ 4396 {indeclaration=1;} 4397 #line 4398 "fortran.tab.c" /* yacc.c:1646 */ 4398 break; 4399 4400 case 334: 4401 #line 1956 "fortran.y" /* yacc.c:1646 */ 4402 { 4403 /* if the variable is a parameter we can suppose that is*/ 4404 /* value is the same on each grid. It is not useless */ 4405 /* to create a copy of it on each grid */ 4406 if ( ! inside_type_declare ) 4407 { 4408 pos_end = setposcur(); 4409 //printf("POS = %d %d\n",pos_cur_decl,pos_end); 4410 RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 4411 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[0].l)); 4412 pos_cur_decl = setposcur(); 4413 if ( firstpass == 0 && GlobalDeclaration == 0 4414 && insubroutinedeclare == 0 ) 4415 { 4416 fprintf(fortran_out,"\n#include \"Module_Declar_%s.h\"\n", curmodulename); 4417 sprintf(ligne, "Module_Declar_%s.h", curmodulename); 4418 module_declar = open_for_write(ligne); 4419 GlobalDeclaration = 1 ; 4420 pos_cur_decl = setposcur(); 4421 } 4422 4423 if ( firstpass ) 4424 { 4425 Add_Globliste_1((yyvsp[0].l)); 4426 if ( insubroutinedeclare ) 4427 { 4428 if ( pointerdeclare ) Add_Pointer_Var_From_List_1((yyvsp[0].l)); 4429 Add_Parameter_Var_1((yyvsp[0].l)); 4430 } 4431 else 4432 Add_GlobalParameter_Var_1((yyvsp[0].l)); 4433 4434 /* If there's a SAVE declaration in module's subroutines we should */ 4435 /* remove it from the subroutines declaration and add it in the */ 4436 /* global declarations */ 4437 4438 if ( aftercontainsdeclare && SaveDeclare ) 4439 { 4440 if ( inmodulemeet ) Add_SubroutineDeclarationSave_Var_1((yyvsp[0].l)); 4441 else Add_Save_Var_dcl_1((yyvsp[0].l)); 4442 } 4443 } 4444 } 4445 indeclaration = 0; 4446 PublicDeclare = 0; 4447 PrivateDeclare = 0; 4448 ExternalDeclare = 0; 4449 strcpy(NamePrecision,""); 4450 c_star = 0; 4451 InitialValueGiven = 0 ; 4452 strcpy(IntentSpec,""); 4453 VariableIsParameter = 0 ; 4454 Allocatabledeclare = 0 ; 4455 Targetdeclare = 0 ; 4456 SaveDeclare = 0; 4457 pointerdeclare = 0; 4458 optionaldeclare = 0 ; 4459 dimsgiven=0; 4460 c_selectorgiven=0; 4461 strcpy(nameinttypename,""); 4462 strcpy(c_selectorname,""); 4463 strcpy(DeclType,""); 4464 GlobalDeclarationType = 0; 4465 } 4466 #line 4467 "fortran.tab.c" /* yacc.c:1646 */ 4467 break; 4468 4469 case 343: 4470 #line 2039 "fortran.y" /* yacc.c:1646 */ 4471 { Allocatabledeclare = 1; } 4472 #line 4473 "fortran.tab.c" /* yacc.c:1646 */ 4473 break; 4474 4475 case 344: 4476 #line 2040 "fortran.y" /* yacc.c:1646 */ 4477 {in_complex_literal=0;} 4478 #line 4479 "fortran.tab.c" /* yacc.c:1646 */ 4479 break; 4480 4481 case 345: 4482 #line 2041 "fortran.y" /* yacc.c:1646 */ 4483 { dimsgiven = 1; curdim = (yyvsp[-1].d); } 4484 #line 4485 "fortran.tab.c" /* yacc.c:1646 */ 4485 break; 4486 4487 case 346: 4488 #line 2043 "fortran.y" /* yacc.c:1646 */ 4489 { ExternalDeclare = 1; } 4490 #line 4491 "fortran.tab.c" /* yacc.c:1646 */ 4491 break; 4492 4493 case 347: 4494 #line 2044 "fortran.y" /* yacc.c:1646 */ 4495 {in_complex_literal=0;} 4496 #line 4497 "fortran.tab.c" /* yacc.c:1646 */ 4497 break; 4498 4499 case 348: 4500 #line 2045 "fortran.y" /* yacc.c:1646 */ 4501 { strcpy(IntentSpec,(yyvsp[-1].na)); } 4502 #line 4503 "fortran.tab.c" /* yacc.c:1646 */ 4503 break; 4504 4505 case 350: 4506 #line 2048 "fortran.y" /* yacc.c:1646 */ 4507 { optionaldeclare = 1 ; } 4508 #line 4509 "fortran.tab.c" /* yacc.c:1646 */ 4509 break; 4510 4511 case 351: 4512 #line 2050 "fortran.y" /* yacc.c:1646 */ 4513 {VariableIsParameter = 1; } 4514 #line 4515 "fortran.tab.c" /* yacc.c:1646 */ 4515 break; 4516 4517 case 352: 4518 #line 2052 "fortran.y" /* yacc.c:1646 */ 4519 { pointerdeclare = 1 ; } 4520 #line 4521 "fortran.tab.c" /* yacc.c:1646 */ 4521 break; 4522 4523 case 353: 4524 #line 2054 "fortran.y" /* yacc.c:1646 */ 4525 { SaveDeclare = 1 ; } 4526 #line 4527 "fortran.tab.c" /* yacc.c:1646 */ 4527 break; 4528 4529 case 354: 4530 #line 2056 "fortran.y" /* yacc.c:1646 */ 4531 { Targetdeclare = 1; } 4532 #line 4533 "fortran.tab.c" /* yacc.c:1646 */ 4533 break; 4534 4535 case 355: 4536 #line 2061 "fortran.y" /* yacc.c:1646 */ 4537 {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} 4538 #line 4539 "fortran.tab.c" /* yacc.c:1646 */ 4539 break; 4540 4541 case 356: 4542 #line 2063 "fortran.y" /* yacc.c:1646 */ 4543 {(yyval.l)=insertvar((yyvsp[-2].l),(yyvsp[0].v));} 4544 #line 4545 "fortran.tab.c" /* yacc.c:1646 */ 4545 break; 4546 4547 case 357: 4548 #line 2068 "fortran.y" /* yacc.c:1646 */ 4549 { 4550 if ( ! inside_type_declare ) 4551 { 4552 if (dimsgiven == 1) curvar = createvar((yyvsp[-3].na),curdim); 4553 else curvar = createvar((yyvsp[-3].na),(yyvsp[-2].d)); 4554 CreateAndFillin_Curvar(DeclType, curvar); 4555 strcpy(curvar->v_typevar,DeclType); 4556 curvar->v_catvar = get_cat_var(curvar); 4557 4558 if (!strcasecmp(DeclType,"character")) 4559 { 4560 if (c_selectorgiven == 1) 4561 { 4562 Save_Length(c_selectorname,1); 4563 strcpy(curvar->v_dimchar,c_selectorname); 4564 } 4565 } 4566 } 4567 strcpy(vallengspec,""); 4568 if (char_length_toreset == 1) 4569 { 4570 c_selectorgiven = 0; 4571 c_star = 0; 4572 strcpy(c_selectorname,""); 4573 strcpy(CharacterSize,""); 4574 char_length_toreset = 0; 4575 } 4576 (yyval.v)=curvar; 4577 } 4578 #line 4579 "fortran.tab.c" /* yacc.c:1646 */ 4579 break; 4580 4581 case 360: 4582 #line 2107 "fortran.y" /* yacc.c:1646 */ 4583 {InitialValueGiven = 0; } 4584 #line 4585 "fortran.tab.c" /* yacc.c:1646 */ 4585 break; 4586 4587 case 362: 4588 #line 2113 "fortran.y" /* yacc.c:1646 */ 4589 { 4590 if ( inside_type_declare ) break; 4591 strcpy(InitValue,(yyvsp[0].na)); 4592 InitialValueGiven = 1; 4593 } 4594 #line 4595 "fortran.tab.c" /* yacc.c:1646 */ 4595 break; 4596 4597 case 363: 4598 #line 2119 "fortran.y" /* yacc.c:1646 */ 4599 { 4600 if ( inside_type_declare ) break; 4601 strcpy(InitValue,(yyvsp[0].na)); 4602 InitialValueGiven = 2; 4603 } 4604 #line 4605 "fortran.tab.c" /* yacc.c:1646 */ 4605 break; 4606 4607 case 364: 4608 #line 2125 "fortran.y" /* yacc.c:1646 */ 4609 { 4610 if ( inside_type_declare ) break; 4611 strcpy(InitValue,(yyvsp[0].na)); 4612 InitialValueGiven = 2; 4613 } 4614 #line 4615 "fortran.tab.c" /* yacc.c:1646 */ 4615 break; 4616 4617 case 366: 4618 #line 2138 "fortran.y" /* yacc.c:1646 */ 4619 {PublicDeclare = 1; } 4620 #line 4621 "fortran.tab.c" /* yacc.c:1646 */ 4621 break; 4622 4623 case 367: 4624 #line 2140 "fortran.y" /* yacc.c:1646 */ 4625 {PrivateDeclare = 1; } 4626 #line 4627 "fortran.tab.c" /* yacc.c:1646 */ 4627 break; 4628 4629 case 368: 4630 #line 2144 "fortran.y" /* yacc.c:1646 */ 4631 {(yyval.d)=NULL;} 4632 #line 4633 "fortran.tab.c" /* yacc.c:1646 */ 4633 break; 4634 4635 case 369: 4636 #line 2145 "fortran.y" /* yacc.c:1646 */ 4637 {in_complex_literal=0;} 4638 #line 4639 "fortran.tab.c" /* yacc.c:1646 */ 4639 break; 4640 4641 case 370: 4642 #line 2146 "fortran.y" /* yacc.c:1646 */ 4643 {(yyval.d)=(yyvsp[-1].d);} 4644 #line 4645 "fortran.tab.c" /* yacc.c:1646 */ 4645 break; 4646 4647 case 371: 4648 #line 2151 "fortran.y" /* yacc.c:1646 */ 4649 {(yyval.d)=(yyvsp[0].d);} 4650 #line 4651 "fortran.tab.c" /* yacc.c:1646 */ 4651 break; 4652 4653 case 372: 4654 #line 2153 "fortran.y" /* yacc.c:1646 */ 4655 {(yyval.d)=(yyvsp[0].d);} 4656 #line 4657 "fortran.tab.c" /* yacc.c:1646 */ 4657 break; 4658 4659 case 373: 4660 #line 2155 "fortran.y" /* yacc.c:1646 */ 4661 {(yyval.d)=(yyvsp[0].d);} 4662 #line 4663 "fortran.tab.c" /* yacc.c:1646 */ 4663 break; 4664 4665 case 374: 4666 #line 2157 "fortran.y" /* yacc.c:1646 */ 4667 {(yyval.d)=(yyvsp[0].d);} 4668 #line 4669 "fortran.tab.c" /* yacc.c:1646 */ 4669 break; 4670 4671 case 375: 4672 #line 2159 "fortran.y" /* yacc.c:1646 */ 4673 {(yyval.d)=(yyvsp[0].d);} 4674 #line 4675 "fortran.tab.c" /* yacc.c:1646 */ 4675 break; 4676 4677 case 376: 4678 #line 2163 "fortran.y" /* yacc.c:1646 */ 4679 { 4680 (yyval.d) = (listdim*) NULL; 4681 if ( inside_type_declare ) break; 4682 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); 4683 } 4684 #line 4685 "fortran.tab.c" /* yacc.c:1646 */ 4685 break; 4686 4687 case 377: 4688 #line 2169 "fortran.y" /* yacc.c:1646 */ 4689 { 4690 (yyval.d) = (listdim*) NULL; 4691 if ( inside_type_declare ) break; 4692 if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); 4693 } 4694 #line 4695 "fortran.tab.c" /* yacc.c:1646 */ 4695 break; 4696 4697 case 378: 4698 #line 2178 "fortran.y" /* yacc.c:1646 */ 4699 {strcpy((yyval.dim1).first,(yyvsp[-2].na)); Save_Length((yyvsp[-2].na),2); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } 4700 #line 4701 "fortran.tab.c" /* yacc.c:1646 */ 4701 break; 4702 4703 case 379: 4704 #line 2180 "fortran.y" /* yacc.c:1646 */ 4705 {strcpy((yyval.dim1).first,"1"); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1);} 4706 #line 4707 "fortran.tab.c" /* yacc.c:1646 */ 4707 break; 4708 4709 case 380: 4710 #line 2185 "fortran.y" /* yacc.c:1646 */ 4711 {strcpy((yyval.na),(yyvsp[0].na));} 4712 #line 4713 "fortran.tab.c" /* yacc.c:1646 */ 4713 break; 4714 4715 case 382: 4716 #line 2194 "fortran.y" /* yacc.c:1646 */ 4717 { 4718 (yyval.d) = (listdim*) NULL; 4719 if ( inside_type_declare ) break; 4720 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); 4721 } 4722 #line 4723 "fortran.tab.c" /* yacc.c:1646 */ 4723 break; 4724 4725 case 383: 4726 #line 2200 "fortran.y" /* yacc.c:1646 */ 4727 { 4728 (yyval.d) = (listdim*) NULL; 4729 if ( inside_type_declare ) break; 4730 if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); 4731 } 4732 #line 4733 "fortran.tab.c" /* yacc.c:1646 */ 4733 break; 4734 4735 case 384: 4736 #line 2209 "fortran.y" /* yacc.c:1646 */ 4737 { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,""); } 4738 #line 4739 "fortran.tab.c" /* yacc.c:1646 */ 4739 break; 4740 4741 case 385: 4742 #line 2211 "fortran.y" /* yacc.c:1646 */ 4743 { strcpy((yyval.dim1).first,(yyvsp[-1].na)); Save_Length((yyvsp[-1].na),2); strcpy((yyval.dim1).last,""); } 4744 #line 4745 "fortran.tab.c" /* yacc.c:1646 */ 4745 break; 4746 4747 case 386: 4748 #line 2216 "fortran.y" /* yacc.c:1646 */ 4749 { 4750 (yyval.d) = (listdim*) NULL; 4751 if ( inside_type_declare ) break; 4752 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); 4753 } 4754 #line 4755 "fortran.tab.c" /* yacc.c:1646 */ 4755 break; 4756 4757 case 387: 4758 #line 2222 "fortran.y" /* yacc.c:1646 */ 4759 { 4760 (yyval.d) = (listdim*) NULL; 4761 if ( inside_type_declare ) break; 4762 if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); 4763 } 4764 #line 4765 "fortran.tab.c" /* yacc.c:1646 */ 4765 break; 4766 4767 case 388: 4768 #line 2231 "fortran.y" /* yacc.c:1646 */ 4769 { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,""); } 4770 #line 4771 "fortran.tab.c" /* yacc.c:1646 */ 4771 break; 4772 4773 case 389: 4774 #line 2236 "fortran.y" /* yacc.c:1646 */ 4775 { 4776 (yyval.d) = (listdim*) NULL; 4777 if ( inside_type_declare ) break; 4778 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) 4779 { 4780 if (!strcasecmp((yyvsp[-1].na),"")) 4781 { 4782 strcpy(my_dim.first,"1"); 4783 } 4784 else 4785 { 4786 strcpy(my_dim.first,(yyvsp[-1].na)); 4787 } 4788 strcpy(my_dim.last,"*"); 4789 (yyval.d)=insertdim((yyvsp[-2].d),my_dim); 4790 strcpy(my_dim.first,""); 4791 strcpy(my_dim.last,""); 4792 } 4793 } 4794 #line 4795 "fortran.tab.c" /* yacc.c:1646 */ 4795 break; 4796 4797 case 390: 4798 #line 2258 "fortran.y" /* yacc.c:1646 */ 4799 {(yyval.d) = (listdim *) NULL;} 4800 #line 4801 "fortran.tab.c" /* yacc.c:1646 */ 4801 break; 4802 4803 case 391: 4804 #line 2260 "fortran.y" /* yacc.c:1646 */ 4805 {(yyval.d) = (yyvsp[-1].d);} 4806 #line 4807 "fortran.tab.c" /* yacc.c:1646 */ 4807 break; 4808 4809 case 392: 4810 #line 2278 "fortran.y" /* yacc.c:1646 */ 4811 {strcpy((yyval.na),"");} 4812 #line 4813 "fortran.tab.c" /* yacc.c:1646 */ 4813 break; 4814 4815 case 393: 4816 #line 2280 "fortran.y" /* yacc.c:1646 */ 4817 {strcpy((yyval.na),(yyvsp[-1].na));} 4818 #line 4819 "fortran.tab.c" /* yacc.c:1646 */ 4819 break; 4820 4821 case 397: 4822 #line 2293 "fortran.y" /* yacc.c:1646 */ 4823 { strcpy((yyval.na),(yyvsp[0].na)); } 4824 #line 4825 "fortran.tab.c" /* yacc.c:1646 */ 4825 break; 4826 4827 case 398: 4828 #line 2295 "fortran.y" /* yacc.c:1646 */ 4829 { strcpy((yyval.na),(yyvsp[0].na)); } 4830 #line 4831 "fortran.tab.c" /* yacc.c:1646 */ 4831 break; 4832 4833 case 399: 4834 #line 2297 "fortran.y" /* yacc.c:1646 */ 4835 { strcpy((yyval.na),(yyvsp[0].na)); } 4836 #line 4837 "fortran.tab.c" /* yacc.c:1646 */ 4837 break; 4838 4839 case 400: 4840 #line 2302 "fortran.y" /* yacc.c:1646 */ 4841 { 4842 if ((firstpass == 0) && (PublicDeclare == 1)) 4843 { 4844 if ((yyvsp[0].lnn)) 4845 { 4846 removeglobfromlist(&((yyvsp[0].lnn))); 4847 pos_end = setposcur(); 4848 RemoveWordSET_0(fortran_out,pos_cur,pos_end-pos_cur); 4849 writelistpublic((yyvsp[0].lnn)); 4850 } 4851 } 4852 PublicDeclare = 0; 4853 PrivateDeclare = 0; 4854 } 4855 #line 4856 "fortran.tab.c" /* yacc.c:1646 */ 4856 break; 4857 4858 case 402: 4859 #line 2320 "fortran.y" /* yacc.c:1646 */ 4860 {(yyval.lnn)=(listname *)NULL;} 4861 #line 4862 "fortran.tab.c" /* yacc.c:1646 */ 4862 break; 4863 4864 case 403: 4865 #line 2322 "fortran.y" /* yacc.c:1646 */ 4866 {(yyval.lnn)=(yyvsp[0].lnn);} 4867 #line 4868 "fortran.tab.c" /* yacc.c:1646 */ 4868 break; 4869 4870 case 404: 4871 #line 2326 "fortran.y" /* yacc.c:1646 */ 4872 {(yyval.lnn)=Insertname(NULL,(yyvsp[0].na),0);} 4873 #line 4874 "fortran.tab.c" /* yacc.c:1646 */ 4874 break; 4875 4876 case 405: 4877 #line 2328 "fortran.y" /* yacc.c:1646 */ 4878 {(yyval.lnn)=Insertname((yyvsp[-2].lnn),(yyvsp[0].na),0);} 4879 #line 4880 "fortran.tab.c" /* yacc.c:1646 */ 4880 break; 4881 4882 case 408: 4883 #line 2338 "fortran.y" /* yacc.c:1646 */ 4884 { 4885 /* we should remove the data declaration */ 4886 pos_end = setposcur(); 4887 RemoveWordSET_0(fortran_out,pos_curdata,pos_end-pos_curdata); 4888 if ( aftercontainsdeclare == 1 && firstpass == 0 ) 4889 { 4890 ReWriteDataStatement_0(fortran_out); 4891 pos_end = setposcur(); 4892 } 4893 Init_List_Data_Var(); 4894 } 4895 #line 4896 "fortran.tab.c" /* yacc.c:1646 */ 4896 break; 4897 4898 case 414: 4899 #line 2362 "fortran.y" /* yacc.c:1646 */ 4900 { 4901 if (firstpass == 1) 4902 { 4903 Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[-3].l),(yyvsp[-1].lnn)); 4904 } 4905 else Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[-3].l),(yyvsp[-1].lnn)); 4906 } 4907 #line 4908 "fortran.tab.c" /* yacc.c:1646 */ 4908 break; 4909 4910 case 415: 4911 #line 2372 "fortran.y" /* yacc.c:1646 */ 4912 { (yyval.l)=insertvar(NULL,(yyvsp[0].v)); } 4913 #line 4914 "fortran.tab.c" /* yacc.c:1646 */ 4914 break; 4915 4916 case 416: 4917 #line 2374 "fortran.y" /* yacc.c:1646 */ 4918 { 4919 (yyval.l) = insertvar((yyvsp[-2].l),(yyvsp[0].v)); 4920 } 4921 #line 4922 "fortran.tab.c" /* yacc.c:1646 */ 4922 break; 4923 4924 case 417: 4925 #line 2380 "fortran.y" /* yacc.c:1646 */ 4926 {(yyval.lnn)=Insertname(NULL,(yyvsp[0].na),0);} 4927 #line 4928 "fortran.tab.c" /* yacc.c:1646 */ 4928 break; 4929 4930 case 418: 4931 #line 2382 "fortran.y" /* yacc.c:1646 */ 4932 {(yyval.lnn) = Insertname((yyvsp[-2].lnn),(yyvsp[0].na),1); } 4933 #line 4934 "fortran.tab.c" /* yacc.c:1646 */ 4934 break; 4935 4936 case 421: 4937 #line 2392 "fortran.y" /* yacc.c:1646 */ 4938 {printf("DOVARIABLE = %s %s %s\n",(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na)); 4939 printf("AUTRE = %s %s\n",(yyvsp[-7].l)->var->v_nomvar,(yyvsp[-7].l)->var->v_initialvalue_array); 4940 Insertdoloop((yyvsp[-7].l)->var,(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na),""); 4941 (yyval.v)=(yyvsp[-7].l)->var; 4942 } 4943 #line 4944 "fortran.tab.c" /* yacc.c:1646 */ 4944 break; 4945 4946 case 422: 4947 #line 2398 "fortran.y" /* yacc.c:1646 */ 4948 { 4949 Insertdoloop((yyvsp[-9].l)->var,(yyvsp[-7].na),(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na)); 4950 (yyval.v)=(yyvsp[-9].l)->var; 4951 } 4952 #line 4953 "fortran.tab.c" /* yacc.c:1646 */ 4953 break; 4954 4955 case 423: 4956 #line 2405 "fortran.y" /* yacc.c:1646 */ 4957 {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} 4958 #line 4959 "fortran.tab.c" /* yacc.c:1646 */ 4959 break; 4960 4961 case 424: 4962 #line 2407 "fortran.y" /* yacc.c:1646 */ 4963 {(yyval.l) = insertvar((yyvsp[-2].l),(yyvsp[0].v));} 4964 #line 4965 "fortran.tab.c" /* yacc.c:1646 */ 4965 break; 4966 4967 case 426: 4968 #line 2413 "fortran.y" /* yacc.c:1646 */ 4969 {(yyval.v)->v_initialvalue_array=Insertname((yyval.v)->v_initialvalue_array,my_dim.last,0); 4970 strcpy(my_dim.last,""); 4971 } 4972 #line 4973 "fortran.tab.c" /* yacc.c:1646 */ 4973 break; 4974 4975 case 429: 4976 #line 2426 "fortran.y" /* yacc.c:1646 */ 4977 {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 4978 #line 4979 "fortran.tab.c" /* yacc.c:1646 */ 4979 break; 4980 4981 case 430: 4982 #line 2428 "fortran.y" /* yacc.c:1646 */ 4983 {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 4984 #line 4985 "fortran.tab.c" /* yacc.c:1646 */ 4985 break; 4986 4987 case 431: 4988 #line 2430 "fortran.y" /* yacc.c:1646 */ 4989 {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 4990 #line 4991 "fortran.tab.c" /* yacc.c:1646 */ 4991 break; 4992 4993 case 437: 4994 #line 2439 "fortran.y" /* yacc.c:1646 */ 4995 {strcpy((yyval.na),"");} 4996 #line 4997 "fortran.tab.c" /* yacc.c:1646 */ 4997 break; 4998 4999 case 438: 5000 #line 2441 "fortran.y" /* yacc.c:1646 */ 5001 {sprintf((yyval.na),"*%s",(yyvsp[0].na));} 5002 #line 5003 "fortran.tab.c" /* yacc.c:1646 */ 5003 break; 5004 5005 case 447: 5006 #line 2477 "fortran.y" /* yacc.c:1646 */ 5007 {strcpy(my_dim.last,"");} 5008 #line 5009 "fortran.tab.c" /* yacc.c:1646 */ 5009 break; 5010 5011 case 448: 5012 #line 2481 "fortran.y" /* yacc.c:1646 */ 5013 {positioninblock = 0; pos_curdimension = my_position_before;} 5014 #line 5015 "fortran.tab.c" /* yacc.c:1646 */ 5015 break; 5016 5017 case 449: 5018 #line 2483 "fortran.y" /* yacc.c:1646 */ 5019 { 5020 /* if the variable is a parameter we can suppose that is */ 5021 /* value is the same on each grid. It is not useless to */ 5022 /* create a copy of it on each grid */ 5023 if ( ! inside_type_declare ) 5024 { 5025 if ( firstpass ) 5026 { 5027 Add_Globliste_1((yyvsp[0].l)); 5028 /* if variableparamlists has been declared in a subroutine */ 5029 if ( insubroutinedeclare ) Add_Dimension_Var_1((yyvsp[0].l)); 5030 5031 /* Add it to the List_SubroutineDeclaration_Var list if not present */ 5032 /* NB: if not done, a variable declared with DIMENSION but with no type given */ 5033 /* will not be declared by the conv */ 5034 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[0].l)); 5035 } 5036 else 5037 { 5038 pos_end = setposcur(); 5039 RemoveWordSET_0(fortran_out,pos_curdimension,pos_end-pos_curdimension); 5040 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[0].l)); 5041 } 5042 } 5043 PublicDeclare = 0; 5044 PrivateDeclare = 0; 5045 ExternalDeclare = 0; 5046 strcpy(NamePrecision,""); 5047 c_star = 0; 5048 InitialValueGiven = 0 ; 5049 strcpy(IntentSpec,""); 5050 VariableIsParameter = 0 ; 5051 Allocatabledeclare = 0 ; 5052 Targetdeclare = 0 ; 5053 SaveDeclare = 0; 5054 pointerdeclare = 0; 5055 optionaldeclare = 0 ; 5056 dimsgiven=0; 5057 c_selectorgiven=0; 5058 strcpy(nameinttypename,""); 5059 strcpy(c_selectorname,""); 5060 } 5061 #line 5062 "fortran.tab.c" /* yacc.c:1646 */ 5062 break; 5063 5064 case 451: 5065 #line 2528 "fortran.y" /* yacc.c:1646 */ 5066 {in_complex_literal = 0;} 5067 #line 5068 "fortran.tab.c" /* yacc.c:1646 */ 5068 break; 5069 5070 case 452: 5071 #line 2529 "fortran.y" /* yacc.c:1646 */ 5072 { 5073 if ( inside_type_declare ) break; 5074 curvar = createvar((yyvsp[-4].na),(yyvsp[-1].d)); 5075 CreateAndFillin_Curvar("", curvar); 5076 curlistvar=insertvar(NULL, curvar); 5077 (yyval.l) = settype("",curlistvar); 5078 strcpy(vallengspec,""); 5079 } 5080 #line 5081 "fortran.tab.c" /* yacc.c:1646 */ 5081 break; 5082 5083 case 453: 5084 #line 2537 "fortran.y" /* yacc.c:1646 */ 5085 {in_complex_literal = 0;} 5086 #line 5087 "fortran.tab.c" /* yacc.c:1646 */ 5087 break; 5088 5089 case 454: 5090 #line 2538 "fortran.y" /* yacc.c:1646 */ 5091 { 5092 if ( inside_type_declare ) break; 5093 curvar = createvar((yyvsp[-4].na),(yyvsp[-1].d)); 5094 CreateAndFillin_Curvar("", curvar); 5095 curlistvar = insertvar((yyvsp[-6].l), curvar); 5096 (yyval.l) = curlistvar; 5097 strcpy(vallengspec,""); 5098 } 5099 #line 5100 "fortran.tab.c" /* yacc.c:1646 */ 5100 break; 5101 5102 case 455: 5103 #line 2550 "fortran.y" /* yacc.c:1646 */ 5104 { VariableIsParameter = 1; pos_curparameter = setposcur()-9; } 5105 #line 5106 "fortran.tab.c" /* yacc.c:1646 */ 5106 break; 5107 5108 case 456: 5109 #line 2551 "fortran.y" /* yacc.c:1646 */ 5110 { 5111 if ( ! inside_type_declare ) 5112 { 5113 if ( firstpass ) 5114 { 5115 if ( insubroutinedeclare ) Add_Parameter_Var_1((yyvsp[-1].l)); 5116 else Add_GlobalParameter_Var_1((yyvsp[-1].l)); 5117 } 5118 else 5119 { 5120 pos_end = setposcur(); 5121 RemoveWordSET_0(fortran_out, pos_curparameter, pos_end-pos_curparameter); 5122 } 5123 } 5124 VariableIsParameter = 0 ; 5125 } 5126 #line 5127 "fortran.tab.c" /* yacc.c:1646 */ 5127 break; 5128 5129 case 458: 5130 #line 2571 "fortran.y" /* yacc.c:1646 */ 5131 {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} 5132 #line 5133 "fortran.tab.c" /* yacc.c:1646 */ 5133 break; 5134 5135 case 459: 5136 #line 2573 "fortran.y" /* yacc.c:1646 */ 5137 {(yyval.l)=insertvar((yyvsp[-2].l),(yyvsp[0].v));} 5138 #line 5139 "fortran.tab.c" /* yacc.c:1646 */ 5139 break; 5140 5141 case 460: 5142 #line 2578 "fortran.y" /* yacc.c:1646 */ 5143 { 5144 if ( inside_type_declare ) break; 5145 curvar=(variable *) calloc(1,sizeof(variable)); 5146 Init_Variable(curvar); 5147 curvar->v_VariableIsParameter = 1; 5148 strcpy(curvar->v_nomvar,(yyvsp[-2].na)); 5149 strcpy(curvar->v_subroutinename,subroutinename); 5150 strcpy(curvar->v_modulename,curmodulename); 5151 curvar->v_initialvalue=Insertname(curvar->v_initialvalue,(yyvsp[0].na),0); 5152 strcpy(curvar->v_commoninfile,cur_filename); 5153 Save_Length((yyvsp[0].na),14); 5154 (yyval.v) = curvar; 5155 } 5156 #line 5157 "fortran.tab.c" /* yacc.c:1646 */ 5157 break; 5158 5159 case 461: 5160 #line 2594 "fortran.y" /* yacc.c:1646 */ 5161 {pos_cursave = my_position_before;} 5162 #line 5163 "fortran.tab.c" /* yacc.c:1646 */ 5163 break; 5164 5165 case 462: 5166 #line 2595 "fortran.y" /* yacc.c:1646 */ 5167 { 5168 pos_end = setposcur(); 5169 RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); 5170 } 5171 #line 5172 "fortran.tab.c" /* yacc.c:1646 */ 5172 break; 5173 5174 case 470: 5175 #line 2616 "fortran.y" /* yacc.c:1646 */ 5176 {if ( ! inside_type_declare ) Add_Save_Var_1((yyvsp[0].na),(listdim*) NULL); } 5177 #line 5178 "fortran.tab.c" /* yacc.c:1646 */ 5178 break; 5179 5180 case 474: 5181 #line 2626 "fortran.y" /* yacc.c:1646 */ 5182 {my_position = my_position_before;} 5183 #line 5184 "fortran.tab.c" /* yacc.c:1646 */ 5184 break; 5185 5186 case 476: 5187 #line 2632 "fortran.y" /* yacc.c:1646 */ 5188 { 5189 if ( insubroutinedeclare == 1 ) 5190 { 5191 Add_ImplicitNoneSubroutine_1(); 5192 pos_end = setposcur(); 5193 RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 5194 } 5195 } 5196 #line 5197 "fortran.tab.c" /* yacc.c:1646 */ 5197 break; 5198 5199 case 494: 5200 #line 2684 "fortran.y" /* yacc.c:1646 */ 5201 {in_complex_literal=0;} 5202 #line 5203 "fortran.tab.c" /* yacc.c:1646 */ 5203 break; 5204 5205 case 501: 5206 #line 2699 "fortran.y" /* yacc.c:1646 */ 5207 { positioninblock = 0; pos_curcommon = my_position_before; indeclaration=1;} 5208 #line 5209 "fortran.tab.c" /* yacc.c:1646 */ 5209 break; 5210 5211 case 502: 5212 #line 2700 "fortran.y" /* yacc.c:1646 */ 5213 { 5214 indeclaration = 0; 5215 if ( inside_type_declare ) break; 5216 pos_end = setposcur(); 5217 RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 5218 } 5219 #line 5220 "fortran.tab.c" /* yacc.c:1646 */ 5220 break; 5221 5222 case 505: 5223 #line 2711 "fortran.y" /* yacc.c:1646 */ 5224 { 5225 if ( inside_type_declare ) break; 5226 sprintf(charusemodule,"%s",(yyvsp[0].na)); 5227 Add_NameOfCommon_1((yyvsp[0].na),subroutinename); 5228 } 5229 #line 5230 "fortran.tab.c" /* yacc.c:1646 */ 5230 break; 5231 5232 case 506: 5233 #line 2719 "fortran.y" /* yacc.c:1646 */ 5234 { 5235 strcpy((yyval.na),""); 5236 positioninblock=0; 5237 strcpy(commonblockname,""); 5238 } 5239 #line 5240 "fortran.tab.c" /* yacc.c:1646 */ 5240 break; 5241 5242 case 507: 5243 #line 2725 "fortran.y" /* yacc.c:1646 */ 5244 { 5245 strcpy((yyval.na),(yyvsp[-1].na)); 5246 positioninblock=0; 5247 strcpy(commonblockname,(yyvsp[-1].na)); 5248 } 5249 #line 5250 "fortran.tab.c" /* yacc.c:1646 */ 5250 break; 5251 5252 case 511: 5253 #line 2738 "fortran.y" /* yacc.c:1646 */ 5254 { 5255 if ( inside_type_declare ) break; 5256 sprintf(charusemodule,"%s",(yyvsp[0].na)); 5257 Add_NameOfCommon_1((yyvsp[0].na),subroutinename); 5258 } 5259 #line 5260 "fortran.tab.c" /* yacc.c:1646 */ 5260 break; 5261 5262 case 513: 5263 #line 2748 "fortran.y" /* yacc.c:1646 */ 5264 {if ( ! inside_type_declare ) Add_Common_var_1(); } 5265 #line 5266 "fortran.tab.c" /* yacc.c:1646 */ 5266 break; 5267 5268 case 514: 5269 #line 2750 "fortran.y" /* yacc.c:1646 */ 5270 {if ( ! inside_type_declare ) Add_Common_var_1(); } 5271 #line 5272 "fortran.tab.c" /* yacc.c:1646 */ 5272 break; 5273 5274 case 515: 5275 #line 2758 "fortran.y" /* yacc.c:1646 */ 5276 { 5277 positioninblock = positioninblock + 1 ; 5278 strcpy(commonvar,(yyvsp[0].na)); 5279 commondim = (listdim*) NULL; 5280 } 5281 #line 5282 "fortran.tab.c" /* yacc.c:1646 */ 5282 break; 5283 5284 case 516: 5285 #line 2763 "fortran.y" /* yacc.c:1646 */ 5286 {in_complex_literal=0;} 5287 #line 5288 "fortran.tab.c" /* yacc.c:1646 */ 5288 break; 5289 5290 case 517: 5291 #line 2764 "fortran.y" /* yacc.c:1646 */ 5292 { 5293 positioninblock = positioninblock + 1 ; 5294 strcpy(commonvar,(yyvsp[-4].na)); 5295 commondim = (yyvsp[-1].d); 5296 } 5297 #line 5298 "fortran.tab.c" /* yacc.c:1646 */ 5298 break; 5299 5300 case 521: 5301 #line 2776 "fortran.y" /* yacc.c:1646 */ 5302 {(yyval.v)=createvar((yyvsp[0].na),NULL);} 5303 #line 5304 "fortran.tab.c" /* yacc.c:1646 */ 5304 break; 5305 5306 case 523: 5307 #line 2788 "fortran.y" /* yacc.c:1646 */ 5308 {if (strcmp(my_dim.last,"")) 5309 { 5310 (yyval.v)->v_initialvalue_array=Insertname(NULL,my_dim.last,0); 5311 } 5312 strcpy(my_dim.last,""); 5313 } 5314 #line 5315 "fortran.tab.c" /* yacc.c:1646 */ 5315 break; 5316 5317 case 533: 5318 #line 2830 "fortran.y" /* yacc.c:1646 */ 5319 {sprintf((yyval.na),"%s(%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 5320 #line 5321 "fortran.tab.c" /* yacc.c:1646 */ 5321 break; 5322 5323 case 534: 5324 #line 2832 "fortran.y" /* yacc.c:1646 */ 5325 {sprintf((yyval.na),"%s(%s)",(yyvsp[-3].na),(yyvsp[-1].na));} 5326 #line 5327 "fortran.tab.c" /* yacc.c:1646 */ 5327 break; 5328 5329 case 535: 5330 #line 2847 "fortran.y" /* yacc.c:1646 */ 5331 {sprintf((yyval.na),"%s:%s",(yyvsp[-2].na),(yyvsp[0].na));} 5332 #line 5333 "fortran.tab.c" /* yacc.c:1646 */ 5333 break; 5334 5335 case 536: 5336 #line 2852 "fortran.y" /* yacc.c:1646 */ 5337 {sprintf((yyval.na),"%s%s",(yyvsp[-1].v)->v_nomvar,(yyvsp[0].na));} 5338 #line 5339 "fortran.tab.c" /* yacc.c:1646 */ 5339 break; 5340 5341 case 537: 5342 #line 2856 "fortran.y" /* yacc.c:1646 */ 5343 {strcpy((yyval.na),"");} 5344 #line 5345 "fortran.tab.c" /* yacc.c:1646 */ 5345 break; 5346 5347 case 538: 5348 #line 2858 "fortran.y" /* yacc.c:1646 */ 5349 {sprintf((yyval.na),"%s%%%s",(yyvsp[-2].na),(yyvsp[0].v)->v_nomvar);} 5350 #line 5351 "fortran.tab.c" /* yacc.c:1646 */ 5351 break; 5352 5353 case 539: 5354 #line 2863 "fortran.y" /* yacc.c:1646 */ 5355 {(yyval.v)=createvar((yyvsp[0].na),NULL);} 5356 #line 5357 "fortran.tab.c" /* yacc.c:1646 */ 5357 break; 5358 5359 case 540: 5360 #line 2864 "fortran.y" /* yacc.c:1646 */ 5361 {in_complex_literal=0;} 5362 #line 5363 "fortran.tab.c" /* yacc.c:1646 */ 5363 break; 5364 5365 case 541: 5366 #line 2865 "fortran.y" /* yacc.c:1646 */ 5367 {sprintf(ligne,"%s(%s)",(yyvsp[-4].na),(yyvsp[-1].na));(yyval.v)=createvar((yyvsp[-4].na),NULL);strcpy(my_dim.last,(yyvsp[-1].na));} 5368 #line 5369 "fortran.tab.c" /* yacc.c:1646 */ 5369 break; 5370 5371 case 543: 5372 #line 2881 "fortran.y" /* yacc.c:1646 */ 5373 {strcpy(my_dim.last,"");} 5374 #line 5375 "fortran.tab.c" /* yacc.c:1646 */ 5375 break; 5376 5377 case 544: 5378 #line 2886 "fortran.y" /* yacc.c:1646 */ 5379 {strcpy(my_dim.last,"");} 5380 #line 5381 "fortran.tab.c" /* yacc.c:1646 */ 5381 break; 5382 5383 case 545: 5384 #line 2891 "fortran.y" /* yacc.c:1646 */ 5385 {strcpy(my_dim.last,"");} 5386 #line 5387 "fortran.tab.c" /* yacc.c:1646 */ 5387 break; 5388 5389 case 546: 5390 #line 2893 "fortran.y" /* yacc.c:1646 */ 5391 {strcpy(my_dim.last,"");} 5392 #line 5393 "fortran.tab.c" /* yacc.c:1646 */ 5393 break; 5394 5395 case 547: 5396 #line 2899 "fortran.y" /* yacc.c:1646 */ 5397 {strcpy((yyval.na),"");} 5398 #line 5399 "fortran.tab.c" /* yacc.c:1646 */ 5399 break; 5400 5401 case 548: 5402 #line 2901 "fortran.y" /* yacc.c:1646 */ 5403 {strcpy((yyval.na),(yyvsp[0].na));} 5404 #line 5405 "fortran.tab.c" /* yacc.c:1646 */ 5405 break; 5406 5407 case 549: 5408 #line 2903 "fortran.y" /* yacc.c:1646 */ 5409 {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} 5410 #line 5411 "fortran.tab.c" /* yacc.c:1646 */ 5411 break; 5412 5413 case 550: 5414 #line 2925 "fortran.y" /* yacc.c:1646 */ 5415 {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} 5416 #line 5417 "fortran.tab.c" /* yacc.c:1646 */ 5417 break; 5418 5419 case 551: 5420 #line 2927 "fortran.y" /* yacc.c:1646 */ 5421 {strcpy((yyval.na),":");} 5422 #line 5423 "fortran.tab.c" /* yacc.c:1646 */ 5423 break; 5424 5425 case 552: 5426 #line 2929 "fortran.y" /* yacc.c:1646 */ 5427 {sprintf((yyval.na),":%s",(yyvsp[0].na));} 5428 #line 5429 "fortran.tab.c" /* yacc.c:1646 */ 5429 break; 5430 5431 case 553: 5432 #line 2931 "fortran.y" /* yacc.c:1646 */ 5433 {sprintf((yyval.na),": :%s",(yyvsp[0].na));} 5434 #line 5435 "fortran.tab.c" /* yacc.c:1646 */ 5435 break; 5436 5437 case 554: 5438 #line 2933 "fortran.y" /* yacc.c:1646 */ 5439 {sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} 5440 #line 5441 "fortran.tab.c" /* yacc.c:1646 */ 5441 break; 5442 5443 case 555: 5444 #line 2935 "fortran.y" /* yacc.c:1646 */ 5445 {sprintf((yyval.na),"::%s",(yyvsp[0].na));} 5446 #line 5447 "fortran.tab.c" /* yacc.c:1646 */ 5447 break; 5448 5449 case 557: 5450 #line 2938 "fortran.y" /* yacc.c:1646 */ 5451 {sprintf((yyval.na),"%s=%s",(yyvsp[-2].na),(yyvsp[0].na));} 5452 #line 5453 "fortran.tab.c" /* yacc.c:1646 */ 5453 break; 5454 5455 case 558: 5456 #line 2940 "fortran.y" /* yacc.c:1646 */ 5457 {sprintf((yyval.na),"%s=*%s",(yyvsp[-3].na),(yyvsp[0].na));} 5458 #line 5459 "fortran.tab.c" /* yacc.c:1646 */ 5459 break; 5460 5461 case 559: 5462 #line 2942 "fortran.y" /* yacc.c:1646 */ 5463 {sprintf((yyval.na),"*%s",(yyvsp[0].na));} 5464 #line 5465 "fortran.tab.c" /* yacc.c:1646 */ 5465 break; 5466 5467 case 560: 5468 #line 2946 "fortran.y" /* yacc.c:1646 */ 5469 {strcpy((yyval.na),":");} 5470 #line 5471 "fortran.tab.c" /* yacc.c:1646 */ 5471 break; 5472 5473 case 561: 5474 #line 2948 "fortran.y" /* yacc.c:1646 */ 5475 {sprintf((yyval.na),":%s",(yyvsp[0].na));} 5476 #line 5477 "fortran.tab.c" /* yacc.c:1646 */ 5477 break; 5478 5479 case 562: 5480 #line 2950 "fortran.y" /* yacc.c:1646 */ 5481 {sprintf((yyval.na),": :%s",(yyvsp[0].na));} 5482 #line 5483 "fortran.tab.c" /* yacc.c:1646 */ 5483 break; 5484 5485 case 563: 5486 #line 2952 "fortran.y" /* yacc.c:1646 */ 5487 {sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} 5488 #line 5489 "fortran.tab.c" /* yacc.c:1646 */ 5489 break; 5490 5491 case 564: 5492 #line 2954 "fortran.y" /* yacc.c:1646 */ 5493 {sprintf((yyval.na),"::%s",(yyvsp[0].na));} 5494 #line 5495 "fortran.tab.c" /* yacc.c:1646 */ 5495 break; 5496 5497 case 565: 5498 #line 2956 "fortran.y" /* yacc.c:1646 */ 5499 {strcpy((yyval.na),"");} 5500 #line 5501 "fortran.tab.c" /* yacc.c:1646 */ 5501 break; 5502 5503 case 567: 5504 #line 2974 "fortran.y" /* yacc.c:1646 */ 5505 {in_complex_literal=0;} 5506 #line 5507 "fortran.tab.c" /* yacc.c:1646 */ 5507 break; 5508 5509 case 568: 5510 #line 2975 "fortran.y" /* yacc.c:1646 */ 5511 {inallocate = 0;} 5512 #line 5513 "fortran.tab.c" /* yacc.c:1646 */ 5513 break; 5514 5515 case 592: 5516 #line 3045 "fortran.y" /* yacc.c:1646 */ 5517 {in_complex_literal=0;} 5518 #line 5519 "fortran.tab.c" /* yacc.c:1646 */ 5519 break; 5520 5521 case 593: 5522 #line 3046 "fortran.y" /* yacc.c:1646 */ 5523 {inallocate = 0;} 5524 #line 5525 "fortran.tab.c" /* yacc.c:1646 */ 5525 break; 5526 5527 case 603: 5528 #line 3076 "fortran.y" /* yacc.c:1646 */ 5529 { 5530 strcpy((yyval.na),(yyvsp[0].v)->v_nomvar); 5531 if (strcasecmp(my_dim.last,"")) 5532 { 5533 strcat((yyval.na),"("); 5534 strcat((yyval.na),my_dim.last); 5535 strcat((yyval.na),")"); 5536 } 5537 } 5538 #line 5539 "fortran.tab.c" /* yacc.c:1646 */ 5539 break; 5540 5541 case 607: 5542 #line 3089 "fortran.y" /* yacc.c:1646 */ 5543 { sprintf((yyval.na),"(%s)",(yyvsp[-1].na));} 5544 #line 5545 "fortran.tab.c" /* yacc.c:1646 */ 5545 break; 5546 5547 case 608: 5548 #line 3094 "fortran.y" /* yacc.c:1646 */ 5549 {strcpy(my_dim.last,"");} 5550 #line 5551 "fortran.tab.c" /* yacc.c:1646 */ 5551 break; 5552 5553 case 610: 5554 #line 3100 "fortran.y" /* yacc.c:1646 */ 5555 {sprintf((yyval.na),"%s**%s",(yyvsp[-2].na),(yyvsp[0].na));} 5556 #line 5557 "fortran.tab.c" /* yacc.c:1646 */ 5557 break; 5558 5559 case 612: 5560 #line 3105 "fortran.y" /* yacc.c:1646 */ 5561 { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 5562 #line 5563 "fortran.tab.c" /* yacc.c:1646 */ 5563 break; 5564 5565 case 614: 5566 #line 3113 "fortran.y" /* yacc.c:1646 */ 5567 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 5568 #line 5569 "fortran.tab.c" /* yacc.c:1646 */ 5569 break; 5570 5571 case 615: 5572 #line 3115 "fortran.y" /* yacc.c:1646 */ 5573 { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 5574 #line 5575 "fortran.tab.c" /* yacc.c:1646 */ 5575 break; 5576 5577 case 617: 5578 #line 3118 "fortran.y" /* yacc.c:1646 */ 5579 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 5580 #line 5581 "fortran.tab.c" /* yacc.c:1646 */ 5581 break; 5582 5583 case 619: 5584 #line 3127 "fortran.y" /* yacc.c:1646 */ 5585 {strcpy((yyval.na),"*");} 5586 #line 5587 "fortran.tab.c" /* yacc.c:1646 */ 5587 break; 5588 5589 case 621: 5590 #line 3133 "fortran.y" /* yacc.c:1646 */ 5591 {strcpy((yyval.na),"+");} 5592 #line 5593 "fortran.tab.c" /* yacc.c:1646 */ 5593 break; 5594 5595 case 622: 5596 #line 3135 "fortran.y" /* yacc.c:1646 */ 5597 {strcpy((yyval.na),"-");} 5598 #line 5599 "fortran.tab.c" /* yacc.c:1646 */ 5599 break; 5600 5601 case 624: 5602 #line 3141 "fortran.y" /* yacc.c:1646 */ 5603 { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 5604 #line 5605 "fortran.tab.c" /* yacc.c:1646 */ 5605 break; 5606 5607 case 627: 5608 #line 3150 "fortran.y" /* yacc.c:1646 */ 5609 { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 5610 #line 5611 "fortran.tab.c" /* yacc.c:1646 */ 5611 break; 5612 5613 case 636: 5614 #line 3163 "fortran.y" /* yacc.c:1646 */ 5615 {strcpy((yyval.na),"<");} 5616 #line 5617 "fortran.tab.c" /* yacc.c:1646 */ 5617 break; 5618 5619 case 638: 5620 #line 3166 "fortran.y" /* yacc.c:1646 */ 5621 {strcpy((yyval.na),">");} 5622 #line 5623 "fortran.tab.c" /* yacc.c:1646 */ 5623 break; 5624 5625 case 641: 5626 #line 3174 "fortran.y" /* yacc.c:1646 */ 5627 { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } 5628 #line 5629 "fortran.tab.c" /* yacc.c:1646 */ 5629 break; 5630 5631 case 643: 5632 #line 3181 "fortran.y" /* yacc.c:1646 */ 5633 { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 5634 #line 5635 "fortran.tab.c" /* yacc.c:1646 */ 5635 break; 5636 5637 case 645: 5638 #line 3188 "fortran.y" /* yacc.c:1646 */ 5639 { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 5640 #line 5641 "fortran.tab.c" /* yacc.c:1646 */ 5641 break; 5642 5643 case 647: 5644 #line 3194 "fortran.y" /* yacc.c:1646 */ 5645 { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } 5646 #line 5647 "fortran.tab.c" /* yacc.c:1646 */ 5647 break; 5648 5649 case 657: 5650 #line 3230 "fortran.y" /* yacc.c:1646 */ 5651 {strcpy((yyval.na),"");} 5652 #line 5653 "fortran.tab.c" /* yacc.c:1646 */ 5653 break; 5654 5655 case 660: 5656 #line 3239 "fortran.y" /* yacc.c:1646 */ 5657 { 5658 strcpy((yyval.na),(yyvsp[0].na)); 5659 } 5660 #line 5661 "fortran.tab.c" /* yacc.c:1646 */ 5661 break; 5662 5663 case 661: 5664 #line 3246 "fortran.y" /* yacc.c:1646 */ 5665 {strcpy((yyval.na),(yyvsp[0].na));} 5666 #line 5667 "fortran.tab.c" /* yacc.c:1646 */ 5667 break; 5668 5669 case 790: 5670 #line 3619 "fortran.y" /* yacc.c:1646 */ 5671 {in_select_case_stmt++;} 5672 #line 5673 "fortran.tab.c" /* yacc.c:1646 */ 5673 break; 5674 5675 case 792: 5676 #line 3620 "fortran.y" /* yacc.c:1646 */ 5677 {in_select_case_stmt++;} 5678 #line 5679 "fortran.tab.c" /* yacc.c:1646 */ 5679 break; 5680 5681 case 796: 5682 #line 3629 "fortran.y" /* yacc.c:1646 */ 5683 {in_select_case_stmt--;} 5684 #line 5685 "fortran.tab.c" /* yacc.c:1646 */ 5685 break; 5686 5687 case 798: 5688 #line 3630 "fortran.y" /* yacc.c:1646 */ 5689 {in_select_case_stmt--;} 5690 #line 5691 "fortran.tab.c" /* yacc.c:1646 */ 5691 break; 5692 5693 case 800: 5694 #line 3635 "fortran.y" /* yacc.c:1646 */ 5695 {in_complex_literal=0;} 5696 #line 5697 "fortran.tab.c" /* yacc.c:1646 */ 5697 break; 5698 5699 case 824: 5700 #line 3698 "fortran.y" /* yacc.c:1646 */ 5701 {close_or_connect = 1;} 5702 #line 5703 "fortran.tab.c" /* yacc.c:1646 */ 5703 break; 5704 5705 case 825: 5706 #line 3698 "fortran.y" /* yacc.c:1646 */ 5707 {close_or_connect = 0;} 5708 #line 5709 "fortran.tab.c" /* yacc.c:1646 */ 5709 break; 5710 5711 case 842: 5712 #line 3728 "fortran.y" /* yacc.c:1646 */ 5713 {close_or_connect = 1;} 5714 #line 5715 "fortran.tab.c" /* yacc.c:1646 */ 5715 break; 5716 5717 case 843: 5718 #line 3729 "fortran.y" /* yacc.c:1646 */ 5719 {close_or_connect = 0;} 5720 #line 5721 "fortran.tab.c" /* yacc.c:1646 */ 5721 break; 5722 5723 case 851: 5724 #line 3746 "fortran.y" /* yacc.c:1646 */ 5725 { 5726 in_io_control_spec = 0; 5727 } 5728 #line 5729 "fortran.tab.c" /* yacc.c:1646 */ 5729 break; 5730 5731 case 853: 5732 #line 3751 "fortran.y" /* yacc.c:1646 */ 5733 { 5734 in_io_control_spec = 0; 5735 } 5736 #line 5737 "fortran.tab.c" /* yacc.c:1646 */ 5737 break; 5738 5739 case 857: 5740 #line 3761 "fortran.y" /* yacc.c:1646 */ 5741 { 5742 in_io_control_spec = 0; 5743 } 5744 #line 5745 "fortran.tab.c" /* yacc.c:1646 */ 5745 break; 5746 5747 case 859: 5748 #line 3766 "fortran.y" /* yacc.c:1646 */ 5749 { 5750 in_io_control_spec = 0; 5751 } 5752 #line 5753 "fortran.tab.c" /* yacc.c:1646 */ 5753 break; 5754 5755 case 912: 5756 #line 3883 "fortran.y" /* yacc.c:1646 */ 5757 {in_inquire=0;} 5758 #line 5759 "fortran.tab.c" /* yacc.c:1646 */ 5759 break; 5760 5761 case 914: 5762 #line 3886 "fortran.y" /* yacc.c:1646 */ 5763 {in_inquire=0;} 5764 #line 5765 "fortran.tab.c" /* yacc.c:1646 */ 5765 break; 5766 5767 case 916: 5768 #line 3890 "fortran.y" /* yacc.c:1646 */ 5769 {in_inquire=1;} 5770 #line 5771 "fortran.tab.c" /* yacc.c:1646 */ 5771 break; 5772 5773 case 931: 5774 #line 3917 "fortran.y" /* yacc.c:1646 */ 5775 {pos_endsubroutine=setposcur();} 5776 #line 5777 "fortran.tab.c" /* yacc.c:1646 */ 5777 break; 5778 5779 case 935: 5780 #line 3926 "fortran.y" /* yacc.c:1646 */ 5781 { 5782 GlobalDeclaration = 0; 5783 strcpy(curmodulename,(yyvsp[0].na)); 5784 strcpy(subroutinename,""); 5785 Add_NameOfModule_1((yyvsp[0].na)); 5786 if ( inmoduledeclare == 0 ) 5787 { 5788 /* To know if there are in the module declaration */ 5789 inmoduledeclare = 1; 5790 /* to know if a module has been met */ 5791 inmodulemeet = 1; 5792 /* to know if we are after the keyword contains */ 5793 aftercontainsdeclare = 0 ; 5794 } 5795 } 5796 #line 5797 "fortran.tab.c" /* yacc.c:1646 */ 5797 break; 5798 5799 case 937: 5800 #line 3946 "fortran.y" /* yacc.c:1646 */ 5801 { 5802 /* if we never meet the contains keyword */ 5803 if ( firstpass == 0 ) 5804 { 5805 RemoveWordCUR_0(fortran_out, setposcur()-my_position); // Remove word "end module" 5806 if ( inmoduledeclare && ! aftercontainsdeclare ) 5807 { 5808 Write_Closing_Module(1); 5809 } 5810 fprintf(fortran_out,"\n end module %s\n", curmodulename); 5811 if ( module_declar && insubroutinedeclare == 0 ) 5812 { 5813 fclose(module_declar); 5814 } 5815 } 5816 inmoduledeclare = 0 ; 5817 inmodulemeet = 0 ; 5818 aftercontainsdeclare = 1; 5819 strcpy(curmodulename, ""); 5820 GlobalDeclaration = 0 ; 5821 } 5822 #line 5823 "fortran.tab.c" /* yacc.c:1646 */ 5823 break; 5824 5825 case 952: 5826 #line 3998 "fortran.y" /* yacc.c:1646 */ 5827 {if (firstpass == 0 && oldfortran_out) pos_curuseold = setposcurname(oldfortran_out);} 5828 #line 5829 "fortran.tab.c" /* yacc.c:1646 */ 5829 break; 5830 5831 case 953: 5832 #line 4003 "fortran.y" /* yacc.c:1646 */ 5833 { 5834 if ( firstpass ) 5835 { 5836 if ( insubroutinedeclare ) 5837 { 5838 if ((yyvsp[0].lc)) { 5839 Add_CouplePointed_Var_1((yyvsp[-1].na),(yyvsp[0].lc)); 5840 coupletmp = (yyvsp[0].lc); 5841 strcpy(ligne,""); 5842 while ( coupletmp ) 5843 { 5844 strcat(ligne, coupletmp->c_namevar); 5845 strcat(ligne, " => "); 5846 strcat(ligne, coupletmp->c_namepointedvar); 5847 coupletmp = coupletmp->suiv; 5848 if ( coupletmp ) strcat(ligne,","); 5849 } 5850 } 5851 sprintf(charusemodule,"%s",(yyvsp[-1].na)); 5852 } 5853 Add_NameOfModuleUsed_1((yyvsp[-1].na)); 5854 } 5855 else 5856 { 5857 if ( insubroutinedeclare ) 5858 { 5859 copyuse_0((yyvsp[-1].na)); 5860 } 5861 5862 if ( inmoduledeclare == 0 ) 5863 { 5864 pos_end = setposcur(); 5865 RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 5866 } 5867 } 5868 } 5869 #line 5870 "fortran.tab.c" /* yacc.c:1646 */ 5870 break; 5871 5872 case 955: 5873 #line 4041 "fortran.y" /* yacc.c:1646 */ 5874 { 5875 if ( firstpass ) 5876 { 5877 if ( insubroutinedeclare ) 5878 { 5879 if ((yyvsp[0].lc)) 5880 { 5881 Add_CouplePointed_Var_1((yyvsp[-4].na),(yyvsp[0].lc)); 5882 coupletmp = (yyvsp[0].lc); 5883 strcpy(ligne,""); 5884 while ( coupletmp ) 5885 { 5886 strcat(ligne,coupletmp->c_namevar); 5887 if ( strcasecmp(coupletmp->c_namepointedvar,"") ) strcat(ligne," => "); 5888 strcat(ligne,coupletmp->c_namepointedvar); 5889 coupletmp = coupletmp->suiv; 5890 if ( coupletmp ) strcat(ligne,","); 5891 } 5892 } 5893 sprintf(charusemodule,"%s",(yyvsp[-4].na)); 5894 } 5895 Add_NameOfModuleUsed_1((yyvsp[-4].na)); 5896 } 5897 else 5898 { 5899 if ( insubroutinedeclare ) 5900 copyuseonly_0((yyvsp[-4].na)); 5901 5902 if ( inmoduledeclare == 0 ) 5903 { 5904 pos_end = setposcur(); 5905 RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); 5906 if ((yyvsp[0].lc)) 5907 { 5908 if (oldfortran_out) variableisglobalinmodule((yyvsp[0].lc),(yyvsp[-4].na),oldfortran_out,pos_curuseold); 5909 } 5910 } 5911 else 5912 { 5913 if ((yyvsp[0].lc)) 5914 { 5915 /* if we are in the module declare and if the */ 5916 /* onlylist is a list of global variable */ 5917 variableisglobalinmodule((yyvsp[0].lc), (yyvsp[-4].na), fortran_out,my_position); 5918 } 5919 } 5920 } 5921 } 5922 #line 5923 "fortran.tab.c" /* yacc.c:1646 */ 5923 break; 5924 5925 case 960: 5926 #line 4098 "fortran.y" /* yacc.c:1646 */ 5927 {(yyval.lc)=NULL;} 5928 #line 5929 "fortran.tab.c" /* yacc.c:1646 */ 5929 break; 5930 5931 case 961: 5932 #line 4100 "fortran.y" /* yacc.c:1646 */ 5933 {(yyval.lc)=(yyvsp[0].lc);} 5934 #line 5935 "fortran.tab.c" /* yacc.c:1646 */ 5935 break; 5936 5937 case 967: 5938 #line 4117 "fortran.y" /* yacc.c:1646 */ 5939 { 5940 strcpy(subroutinename,(yyvsp[0].na)); 5941 insubroutinedeclare = 1; 5942 inprogramdeclare = 1; 5943 /* in the second step we should write the head of */ 5944 /* the subroutine sub_loop_<subroutinename> */ 5945 if ( ! firstpass ) 5946 WriteBeginof_SubLoop(); 5947 } 5948 #line 5949 "fortran.tab.c" /* yacc.c:1646 */ 5949 break; 5950 5951 case 969: 5952 #line 4130 "fortran.y" /* yacc.c:1646 */ 5953 {pos_endsubroutine=my_position_before;} 5954 #line 5955 "fortran.tab.c" /* yacc.c:1646 */ 5955 break; 5956 5957 case 970: 5958 #line 4131 "fortran.y" /* yacc.c:1646 */ 5959 { 5960 insubroutinedeclare = 0; 5961 inprogramdeclare = 0; 5962 pos_cur = setposcur(); 5963 closeandcallsubloopandincludeit_0(3); 5964 functiondeclarationisdone = 0; 5965 strcpy(subroutinename,""); 5966 } 5967 #line 5968 "fortran.tab.c" /* yacc.c:1646 */ 5968 break; 5969 5970 case 977: 5971 #line 4153 "fortran.y" /* yacc.c:1646 */ 5972 { 5973 (yyval.lc)=NULL; 5974 } 5975 #line 5976 "fortran.tab.c" /* yacc.c:1646 */ 5976 break; 5977 5978 case 978: 5979 #line 4157 "fortran.y" /* yacc.c:1646 */ 5980 { 5981 (yyval.lc)=(yyvsp[0].lc); 5982 } 5983 #line 5984 "fortran.tab.c" /* yacc.c:1646 */ 5984 break; 5985 5986 case 979: 5987 #line 4163 "fortran.y" /* yacc.c:1646 */ 5988 { 5989 (yyval.lc)=(yyvsp[0].lc); 5990 } 5991 #line 5992 "fortran.tab.c" /* yacc.c:1646 */ 5992 break; 5993 5994 case 980: 5995 #line 4167 "fortran.y" /* yacc.c:1646 */ 5996 { 5997 /* insert the variable in the list $1 */ 5998 (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); 5999 (yyval.lc)=(yyvsp[0].lc); 6000 } 6001 #line 6002 "fortran.tab.c" /* yacc.c:1646 */ 6002 break; 6003 6004 case 981: 6005 #line 4176 "fortran.y" /* yacc.c:1646 */ 6006 { 6007 coupletmp = (listcouple *) calloc(1,sizeof(listcouple)); 6008 strcpy(coupletmp->c_namevar,(yyvsp[-2].na)); 6009 strcpy(coupletmp->c_namepointedvar,(yyvsp[0].na)); 6010 coupletmp->suiv = NULL; 6011 (yyval.lc) = coupletmp; 6012 } 6013 #line 6014 "fortran.tab.c" /* yacc.c:1646 */ 6014 break; 6015 6016 case 982: 6017 #line 4186 "fortran.y" /* yacc.c:1646 */ 6018 {(yyval.lc)=(yyvsp[0].lc);} 6019 #line 6020 "fortran.tab.c" /* yacc.c:1646 */ 6020 break; 6021 6022 case 983: 6023 #line 4188 "fortran.y" /* yacc.c:1646 */ 6024 { 6025 /* insert the variable in the list $1 */ 6026 (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); 6027 (yyval.lc) = (yyvsp[0].lc); 6028 } 6029 #line 6030 "fortran.tab.c" /* yacc.c:1646 */ 6030 break; 6031 6032 case 984: 6033 #line 4197 "fortran.y" /* yacc.c:1646 */ 6034 { 6035 coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 6036 strcpy(coupletmp->c_namevar,(yyvsp[0].na)); 6037 strcpy(coupletmp->c_namepointedvar,""); 6038 coupletmp->suiv = NULL; 6039 (yyval.lc) = coupletmp; 6040 } 6041 #line 6042 "fortran.tab.c" /* yacc.c:1646 */ 6042 break; 6043 6044 case 985: 6045 #line 4205 "fortran.y" /* yacc.c:1646 */ 6046 { 6047 coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 6048 strcpy(coupletmp->c_namevar,(yyvsp[0].na)); 6049 strcpy(coupletmp->c_namepointedvar,""); 6050 coupletmp->suiv = NULL; 6051 (yyval.lc) = coupletmp; 6052 } 6053 #line 6054 "fortran.tab.c" /* yacc.c:1646 */ 6054 break; 6055 6056 case 986: 6057 #line 4213 "fortran.y" /* yacc.c:1646 */ 6058 { 6059 (yyval.lc)=(yyvsp[0].lc); 6060 pointedvar = 1; 6061 Add_UsedInSubroutine_Var_1((yyvsp[0].lc)->c_namevar); 6062 } 6063 #line 6064 "fortran.tab.c" /* yacc.c:1646 */ 6064 break; 6065 6066 case 999: 6067 #line 4253 "fortran.y" /* yacc.c:1646 */ 6068 {in_complex_literal=0;} 6069 #line 6070 "fortran.tab.c" /* yacc.c:1646 */ 6070 break; 6071 6072 case 1000: 6073 #line 4254 "fortran.y" /* yacc.c:1646 */ 6074 {sprintf((yyval.na),"%s(%s)",(yyvsp[-4].na),(yyvsp[-1].na));} 6075 #line 6076 "fortran.tab.c" /* yacc.c:1646 */ 6076 break; 6077 6078 case 1001: 6079 #line 4260 "fortran.y" /* yacc.c:1646 */ 6080 { 6081 inagrifcallargument = 0 ; 6082 incalldeclare=0; 6083 if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 6084 { 6085 pos_end = setposcur(); 6086 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 6087 strcpy(subofagrifinitgrids,subroutinename); 6088 } 6089 Instanciation_0(sameagrifname); 6090 } 6091 #line 6092 "fortran.tab.c" /* yacc.c:1646 */ 6092 break; 6093 6094 case 1003: 6095 #line 4273 "fortran.y" /* yacc.c:1646 */ 6096 { 6097 inagrifcallargument = 0 ; 6098 incalldeclare=0; 6099 if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 6100 { 6101 pos_end = setposcur(); 6102 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 6103 strcpy(subofagrifinitgrids,subroutinename); 6104 } 6105 Instanciation_0(sameagrifname); 6106 } 6107 #line 6108 "fortran.tab.c" /* yacc.c:1646 */ 6108 break; 6109 6110 case 1005: 6111 #line 4285 "fortran.y" /* yacc.c:1646 */ 6112 {in_complex_literal=0;} 6113 #line 6114 "fortran.tab.c" /* yacc.c:1646 */ 6114 break; 6115 6116 case 1006: 6117 #line 4286 "fortran.y" /* yacc.c:1646 */ 6118 { 6119 inagrifcallargument = 0 ; 6120 incalldeclare=0; 6121 if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 6122 { 6123 pos_end = setposcur(); 6124 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 6125 strcpy(subofagrifinitgrids,subroutinename); 6126 } 6127 Instanciation_0(sameagrifname); 6128 } 6129 #line 6130 "fortran.tab.c" /* yacc.c:1646 */ 6130 break; 6131 6132 case 1008: 6133 #line 4300 "fortran.y" /* yacc.c:1646 */ 6134 {pos_curcall=my_position_before-strlen((yyvsp[-1].na))-4;} 6135 #line 6136 "fortran.tab.c" /* yacc.c:1646 */ 6136 break; 6137 6138 case 1009: 6139 #line 4301 "fortran.y" /* yacc.c:1646 */ 6140 { 6141 if (!strcasecmp((yyvsp[0].na),"MPI_Init") ) callmpiinit = 1; 6142 else callmpiinit = 0; 6143 6144 if (!strcasecmp((yyvsp[0].na),"Agrif_Init_Grids") ) 6145 { 6146 callagrifinitgrids = 1; 6147 strcpy(meetagrifinitgrids,subroutinename); 6148 } 6149 else 6150 { 6151 callagrifinitgrids = 0; 6152 } 6153 if ( Vartonumber((yyvsp[0].na)) == 1 ) 6154 { 6155 incalldeclare = 0; 6156 inagrifcallargument = 0 ; 6157 Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 6158 } 6159 } 6160 #line 6161 "fortran.tab.c" /* yacc.c:1646 */ 6161 break; 6162 6163 case 1014: 6164 #line 4332 "fortran.y" /* yacc.c:1646 */ 6165 {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} 6166 #line 6167 "fortran.tab.c" /* yacc.c:1646 */ 6167 break; 6168 6169 case 1015: 6170 #line 4337 "fortran.y" /* yacc.c:1646 */ 6171 { 6172 if ( callmpiinit == 1 ) 6173 { 6174 strcpy(mpiinitvar,(yyvsp[0].na)); 6175 if ( firstpass == 1 ) Add_UsedInSubroutine_Var_1 (mpiinitvar); 6176 } 6177 } 6178 #line 6179 "fortran.tab.c" /* yacc.c:1646 */ 6179 break; 6180 6181 case 1016: 6182 #line 4345 "fortran.y" /* yacc.c:1646 */ 6183 {sprintf((yyval.na),"%s = %s",(yyvsp[-2].na),(yyvsp[0].na)); 6184 if ( callmpiinit == 1 ) 6185 { 6186 strcpy(mpiinitvar,(yyvsp[0].na)); 6187 if ( firstpass == 1 ) Add_UsedInSubroutine_Var_1 (mpiinitvar); 6188 } 6189 } 6190 #line 6191 "fortran.tab.c" /* yacc.c:1646 */ 6191 break; 6192 6193 case 1018: 6194 #line 4357 "fortran.y" /* yacc.c:1646 */ 6195 { 6196 strcpy((yyval.na),(yyvsp[0].v)->v_nomvar); 6197 if ((yyvsp[0].v)->v_initialvalue_array) 6198 { 6199 strcat((yyval.na),"("); 6200 strcat((yyval.na),(yyvsp[0].v)->v_initialvalue_array->n_name); 6201 strcat((yyval.na),")"); 6202 } 6203 } 6204 #line 6205 "fortran.tab.c" /* yacc.c:1646 */ 6205 break; 6206 6207 case 1020: 6208 #line 4369 "fortran.y" /* yacc.c:1646 */ 6209 {isrecursive = 0;} 6210 #line 6211 "fortran.tab.c" /* yacc.c:1646 */ 6211 break; 6212 6213 case 1024: 6214 #line 4380 "fortran.y" /* yacc.c:1646 */ 6215 {isrecursive = 0; functiondeclarationisdone = 1;} 6216 #line 6217 "fortran.tab.c" /* yacc.c:1646 */ 6217 break; 6218 6219 case 1025: 6220 #line 4382 "fortran.y" /* yacc.c:1646 */ 6221 {isrecursive = 0;} 6222 #line 6223 "fortran.tab.c" /* yacc.c:1646 */ 6223 break; 6224 6225 case 1026: 6226 #line 4384 "fortran.y" /* yacc.c:1646 */ 6227 {isrecursive = 1;} 6228 #line 6229 "fortran.tab.c" /* yacc.c:1646 */ 6229 break; 6230 6231 case 1028: 6232 #line 4393 "fortran.y" /* yacc.c:1646 */ 6233 {in_complex_literal=0;} 6234 #line 6235 "fortran.tab.c" /* yacc.c:1646 */ 6235 break; 6236 6237 case 1029: 6238 #line 4394 "fortran.y" /* yacc.c:1646 */ 6239 { 6240 insubroutinedeclare = 1; 6241 suborfun = 0; 6242 /* we should to list of the subroutine argument the */ 6243 /* name of the function which has to be defined */ 6244 if ( firstpass ) 6245 { 6246 Add_SubroutineArgument_Var_1((yyvsp[-2].l)); 6247 if ( ! is_result_present ) 6248 Add_FunctionType_Var_1((yyvsp[-5].na)); 6249 } 6250 else 6251 /* in the second step we should write the head of */ 6252 /* the subroutine sub_loop_<subroutinename> */ 6253 { 6254 if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant Writebeginof subloop\n"); 6255 WriteBeginof_SubLoop(); 6256 if (todebug == 1) fprintf(fortran_out," !DEBUG: Apres Writebeginof subloop\n"); 6257 } 6258 strcpy(NamePrecision,""); 6259 } 6260 #line 6261 "fortran.tab.c" /* yacc.c:1646 */ 6261 break; 6262 6263 case 1031: 6264 #line 4419 "fortran.y" /* yacc.c:1646 */ 6265 { 6266 if (strcmp(subroutinename,"")) 6267 { 6268 strcpy(old_subroutinename,subroutinename); // can occur in internal-subprogram 6269 old_oldfortran_out=oldfortran_out; 6270 } 6271 else 6272 { 6273 old_oldfortran_out=(FILE *)NULL; 6274 } 6275 strcpy((yyval.na),(yyvsp[0].na));strcpy(subroutinename,(yyvsp[0].na)); 6276 } 6277 #line 6278 "fortran.tab.c" /* yacc.c:1646 */ 6278 break; 6279 6280 case 1032: 6281 #line 4444 "fortran.y" /* yacc.c:1646 */ 6282 {strcpy((yyval.na),(yyvsp[0].na));} 6283 #line 6284 "fortran.tab.c" /* yacc.c:1646 */ 6284 break; 6285 6286 case 1033: 6287 #line 4448 "fortran.y" /* yacc.c:1646 */ 6288 {is_result_present = 0; } 6289 #line 6290 "fortran.tab.c" /* yacc.c:1646 */ 6290 break; 6291 6292 case 1035: 6293 #line 4454 "fortran.y" /* yacc.c:1646 */ 6294 {is_result_present = 1; 6295 if ( firstpass == 1 ) 6296 { 6297 strcpy(nameinttypenameback,nameinttypename); 6298 strcpy(nameinttypename,""); 6299 curvar = createvar((yyvsp[-1].na),NULL); 6300 strcpy(nameinttypename,nameinttypenameback); 6301 strcpy(curvar->v_typevar,""); 6302 curlistvar = insertvar(NULL,curvar); 6303 Add_SubroutineArgument_Var_1(curlistvar); 6304 } 6305 } 6306 #line 6307 "fortran.tab.c" /* yacc.c:1646 */ 6307 break; 6308 6309 case 1036: 6310 #line 4470 "fortran.y" /* yacc.c:1646 */ 6311 {strcpy(DeclType, "");} 6312 #line 6313 "fortran.tab.c" /* yacc.c:1646 */ 6313 break; 6314 6315 case 1041: 6316 #line 4484 "fortran.y" /* yacc.c:1646 */ 6317 { 6318 insubroutinedeclare = 1; 6319 suborfun = 1; 6320 if ( firstpass ) 6321 Add_SubroutineArgument_Var_1((yyvsp[0].l)); 6322 else 6323 { 6324 WriteBeginof_SubLoop(); 6325 } 6326 } 6327 #line 6328 "fortran.tab.c" /* yacc.c:1646 */ 6328 break; 6329 6330 case 1043: 6331 #line 4499 "fortran.y" /* yacc.c:1646 */ 6332 { 6333 if (strcmp(subroutinename,"")) 6334 { 6335 strcpy(old_subroutinename,subroutinename); // can occur in internal-subprogram 6336 old_oldfortran_out=oldfortran_out; 6337 } 6338 else 6339 { 6340 old_oldfortran_out=(FILE *)NULL; 6341 } 6342 strcpy((yyval.na),(yyvsp[0].na));strcpy(subroutinename,(yyvsp[0].na)); 6343 } 6344 #line 6345 "fortran.tab.c" /* yacc.c:1646 */ 6345 break; 6346 6347 case 1045: 6348 #line 4520 "fortran.y" /* yacc.c:1646 */ 6349 {pos_endsubroutine = my_position; 6350 GlobalDeclaration = 0 ; 6351 if ( firstpass == 0 && strcasecmp(subroutinename,"") ) 6352 { 6353 if ( module_declar && insubroutinedeclare == 0 ) fclose(module_declar); 6354 } 6355 if ( strcasecmp(subroutinename,"") ) 6356 { 6357 if ( inmodulemeet == 1 ) 6358 { 6359 /* we are in a module */ 6360 if ( insubroutinedeclare == 1 ) 6361 { 6362 /* it is like an end subroutine <name> */ 6363 insubroutinedeclare = 0 ; 6364 pos_cur = setposcur(); 6365 closeandcallsubloopandincludeit_0(suborfun); 6366 functiondeclarationisdone = 0; 6367 } 6368 else 6369 { 6370 /* it is like an end module <name> */ 6371 inmoduledeclare = 0 ; 6372 inmodulemeet = 0 ; 6373 } 6374 } 6375 else 6376 { 6377 insubroutinedeclare = 0; 6378 pos_cur = setposcur(); 6379 closeandcallsubloopandincludeit_0(2); 6380 functiondeclarationisdone = 0; 6381 } 6382 } 6383 strcpy(subroutinename,""); 6384 if (strcmp(old_subroutinename,"")) 6385 { 6386 strcpy(subroutinename,old_subroutinename); 6387 strcpy(old_subroutinename,""); 6388 oldfortran_out=old_oldfortran_out; 6389 insubroutinedeclare=1; 6390 } 6391 } 6392 #line 6393 "fortran.tab.c" /* yacc.c:1646 */ 6393 break; 6394 6395 case 1048: 6396 #line 4569 "fortran.y" /* yacc.c:1646 */ 6397 {if (firstpass) (yyval.l)=NULL;} 6398 #line 6399 "fortran.tab.c" /* yacc.c:1646 */ 6399 break; 6400 6401 case 1049: 6402 #line 4570 "fortran.y" /* yacc.c:1646 */ 6403 {in_complex_literal=0;} 6404 #line 6405 "fortran.tab.c" /* yacc.c:1646 */ 6405 break; 6406 6407 case 1050: 6408 #line 4571 "fortran.y" /* yacc.c:1646 */ 6409 {if (firstpass) (yyval.l)=(yyvsp[-1].l);} 6410 #line 6411 "fortran.tab.c" /* yacc.c:1646 */ 6411 break; 6412 6413 case 1051: 6414 #line 4575 "fortran.y" /* yacc.c:1646 */ 6415 {if (firstpass) (yyval.l)=NULL;} 6416 #line 6417 "fortran.tab.c" /* yacc.c:1646 */ 6417 break; 6418 6419 case 1052: 6420 #line 4577 "fortran.y" /* yacc.c:1646 */ 6421 {if (firstpass) (yyval.l)=(yyvsp[0].l);} 6422 #line 6423 "fortran.tab.c" /* yacc.c:1646 */ 6423 break; 6424 6425 case 1053: 6426 #line 4582 "fortran.y" /* yacc.c:1646 */ 6427 { 6428 if ( firstpass == 1 ) 6429 { 6430 strcpy(nameinttypenameback,nameinttypename); 6431 strcpy(nameinttypename,""); 6432 curvar = createvar((yyvsp[0].na),NULL); 6433 strcpy(nameinttypename,nameinttypenameback); 6434 curlistvar = insertvar(NULL,curvar); 6435 (yyval.l) = settype("",curlistvar); 6436 } 6437 } 6438 #line 6439 "fortran.tab.c" /* yacc.c:1646 */ 6439 break; 6440 6441 case 1054: 6442 #line 4594 "fortran.y" /* yacc.c:1646 */ 6443 { 6444 if ( firstpass == 1 ) 6445 { 6446 strcpy(nameinttypenameback,nameinttypename); 6447 strcpy(nameinttypename,""); 6448 curvar = createvar((yyvsp[0].na),NULL); 6449 strcpy(nameinttypename,nameinttypenameback); 6450 (yyval.l) = insertvar((yyvsp[-2].l),curvar); 6451 } 6452 } 6453 #line 6454 "fortran.tab.c" /* yacc.c:1646 */ 6454 break; 6455 6456 case 1055: 6457 #line 4608 "fortran.y" /* yacc.c:1646 */ 6458 {strcpy((yyval.na),(yyvsp[0].na));} 6459 #line 6460 "fortran.tab.c" /* yacc.c:1646 */ 6460 break; 6461 6462 case 1056: 6463 #line 4610 "fortran.y" /* yacc.c:1646 */ 6464 {strcpy((yyval.na),"*");} 6465 #line 6466 "fortran.tab.c" /* yacc.c:1646 */ 6466 break; 6467 6468 case 1059: 6469 #line 4620 "fortran.y" /* yacc.c:1646 */ 5520 6470 { 5521 6471 if ( inside_type_declare ) break; … … 5546 6496 else printf("l.%4d -- TOK_CONTAINS -- MHCHECK\n",line_num_input); 5547 6497 } 5548 #line 5549 "fortran.tab.c" 5549 break; 5550 5551 case 484: 5552 #line 1899 "fortran.y" 5553 { 5554 strcpy((yyval.na),(yyvsp[0].na)); 5555 pos_endsubroutine = setposcur()-strlen((yyvsp[0].na)); 5556 functiondeclarationisdone = 0; 5557 } 5558 #line 5559 "fortran.tab.c" 5559 break; 5560 5561 case 485: 5562 #line 1907 "fortran.y" 5563 { 5564 strcpy((yyval.na),(yyvsp[0].na)); 5565 pos_endsubroutine = setposcur()-strlen((yyvsp[0].na)); 5566 } 5567 #line 5568 "fortran.tab.c" 5568 break; 5569 5570 case 486: 5571 #line 1914 "fortran.y" 5572 { 5573 strcpy((yyval.na),(yyvsp[0].na)); 5574 pos_endsubroutine = setposcur()-strlen((yyvsp[0].na)); 5575 } 5576 #line 5577 "fortran.tab.c" 5577 break; 5578 5579 case 487: 5580 #line 1921 "fortran.y" 5581 { 5582 strcpy((yyval.na),(yyvsp[0].na)); 5583 pos_endsubroutine = setposcur()-strlen((yyvsp[0].na)); 5584 } 5585 #line 5586 "fortran.tab.c" 5586 break; 5587 5588 case 488: 5589 #line 1927 "fortran.y" 6498 #line 6499 "fortran.tab.c" /* yacc.c:1646 */ 6499 break; 6500 6501 case 1061: 6502 #line 4655 "fortran.y" /* yacc.c:1646 */ 5590 6503 {strcpy((yyval.na),"");} 5591 #line 5592 "fortran.tab.c"5592 break; 5593 5594 case 489:5595 #line 1928 "fortran.y"6504 #line 6505 "fortran.tab.c" /* yacc.c:1646 */ 6505 break; 6506 6507 case 1062: 6508 #line 4656 "fortran.y" /* yacc.c:1646 */ 5596 6509 {strcpy((yyval.na),(yyvsp[0].na));} 5597 #line 5598 "fortran.tab.c" 5598 break; 5599 5600 case 490: 5601 #line 1931 "fortran.y" 5602 { created_dimensionlist = 0; } 5603 #line 5604 "fortran.tab.c" 5604 break; 5605 5606 case 491: 5607 #line 1935 "fortran.y" 5608 { 5609 created_dimensionlist = 1; 5610 if ( ((yyvsp[-1].d) == NULL) || ((yyvsp[0].d) == NULL) ) break; 5611 if ( agrif_parentcall == 1 ) 5612 { 5613 ModifyTheAgrifFunction_0((yyvsp[-1].d)->dim.last); 5614 agrif_parentcall = 0; 5615 fprintf(fortran_out," = "); 5616 } 5617 } 5618 #line 5619 "fortran.tab.c" 5619 break; 5620 5621 case 492: 5622 #line 1946 "fortran.y" 5623 { 5624 created_dimensionlist = 1; 5625 } 5626 #line 5627 "fortran.tab.c" 5627 break; 5628 5629 case 497: 5630 #line 1959 "fortran.y" 5631 { 5632 inagrifcallargument = 0 ; 5633 incalldeclare=0; 5634 if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 5635 { 5636 pos_end = setposcur(); 5637 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 5638 strcpy(subofagrifinitgrids,subroutinename); 5639 } 5640 Instanciation_0(sameagrifname); 5641 } 5642 #line 5643 "fortran.tab.c" 5643 break; 5644 5645 case 503: 5646 #line 1980 "fortran.y" 5647 { 5648 if (!strcasecmp((yyvsp[0].na),"MPI_Init") ) callmpiinit = 1; 5649 else callmpiinit = 0; 5650 5651 if (!strcasecmp((yyvsp[0].na),"Agrif_Init_Grids") ) 5652 { 5653 callagrifinitgrids = 1; 5654 strcpy(meetagrifinitgrids,subroutinename); 5655 } 5656 else 5657 { 5658 callagrifinitgrids = 0; 5659 } 5660 if ( Vartonumber((yyvsp[0].na)) == 1 ) 5661 { 5662 incalldeclare = 1; 5663 inagrifcallargument = 1 ; 5664 Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 5665 } 5666 } 5667 #line 5668 "fortran.tab.c" 5668 break; 5669 5670 case 504: 5671 #line 2001 "fortran.y" 5672 { pos_curcall=setposcur()-4; } 5673 #line 5674 "fortran.tab.c" 5674 break; 5675 5676 case 507: 5677 #line 2009 "fortran.y" 5678 { 5679 if ( callmpiinit == 1 ) 5680 { 5681 strcpy(mpiinitvar,(yyvsp[0].na)); 5682 if ( firstpass == 1 ) Add_UsedInSubroutine_Var_1 (mpiinitvar); 5683 } 5684 } 5685 #line 5686 "fortran.tab.c" 5686 break; 5687 5688 case 533: 5689 #line 2057 "fortran.y" 6510 #line 6511 "fortran.tab.c" /* yacc.c:1646 */ 6511 break; 6512 6513 case 1068: 6514 #line 4784 "fortran.y" /* yacc.c:1646 */ 5690 6515 { afterpercent = 1; } 5691 #line 5692 "fortran.tab.c" 5692 break; 5693 5694 case 573: 5695 #line 2116 "fortran.y" 5696 { strcpy((yyval.na),(yyvsp[0].na)); } 5697 #line 5698 "fortran.tab.c" 5698 break; 5699 5700 case 574: 5701 #line 2117 "fortran.y" 5702 { strcpy((yyval.na),(yyvsp[0].na)); } 5703 #line 5704 "fortran.tab.c" 5704 break; 5705 5706 case 575: 5707 #line 2118 "fortran.y" 5708 { strcpy((yyval.na),(yyvsp[0].na)); } 5709 #line 5710 "fortran.tab.c" 5710 break; 5711 5712 case 576: 5713 #line 2119 "fortran.y" 5714 { strcpy((yyval.na),(yyvsp[0].na)); } 5715 #line 5716 "fortran.tab.c" 5716 break; 5717 5718 case 577: 5719 #line 2120 "fortran.y" 5720 { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 5721 #line 5722 "fortran.tab.c" 5722 break; 5723 5724 case 578: 5725 #line 2121 "fortran.y" 5726 { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 5727 #line 5728 "fortran.tab.c" 5728 break; 5729 5730 case 579: 5731 #line 2122 "fortran.y" 5732 { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 5733 #line 5734 "fortran.tab.c" 5734 break; 5735 5736 case 580: 5737 #line 2123 "fortran.y" 5738 { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 5739 #line 5740 "fortran.tab.c" 5740 break; 5741 5742 case 581: 5743 #line 2124 "fortran.y" 5744 { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 5745 #line 5746 "fortran.tab.c" 5746 break; 5747 5748 case 582: 5749 #line 2125 "fortran.y" 5750 { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } 5751 #line 5752 "fortran.tab.c" 5752 break; 5753 5754 case 583: 5755 #line 2128 "fortran.y" 5756 { sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na)); } 5757 #line 5758 "fortran.tab.c" 5758 break; 5759 5760 case 584: 5761 #line 2129 "fortran.y" 5762 { sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na)); } 5763 #line 5764 "fortran.tab.c" 5764 break; 5765 5766 case 585: 5767 #line 2130 "fortran.y" 5768 { sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na)); } 5769 #line 5770 "fortran.tab.c" 5770 break; 5771 5772 case 586: 5773 #line 2132 "fortran.y" 5774 { sprintf((yyval.na),"%s=%s,%s)",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 5775 #line 5776 "fortran.tab.c" 5776 break; 5777 5778 case 587: 5779 #line 2133 "fortran.y" 5780 { sprintf((yyval.na),"%s=%s,%s,%s)",(yyvsp[-6].na),(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} 5781 #line 5782 "fortran.tab.c" 5782 break; 5783 5784 case 592: 5785 #line 2143 "fortran.y" 5786 { Add_Allocate_Var_1((yyvsp[0].na),curmodulename); } 5787 #line 5788 "fortran.tab.c" 5788 break; 5789 5790 5791 #line 5792 "fortran.tab.c" 5792 6516 #line 6517 "fortran.tab.c" /* yacc.c:1646 */ 6517 break; 6518 6519 6520 #line 6521 "fortran.tab.c" /* yacc.c:1646 */ 5793 6521 default: break; 5794 6522 } … … 5815 6543 that goes to, based on the state we popped back to and the rule 5816 6544 number reduced by. */ 5817 { 5818 const int yylhs = yyr1[yyn] - YYNTOKENS; 5819 const int yyi = yypgoto[yylhs] + *yyssp; 5820 yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp 5821 ? yytable[yyi] 5822 : yydefgoto[yylhs]); 5823 } 6545 6546 yyn = yyr1[yyn]; 6547 6548 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 6549 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 6550 yystate = yytable[yystate]; 6551 else 6552 yystate = yydefgoto[yyn - YYNTOKENS]; 5824 6553 5825 6554 goto yynewstate; … … 5904 6633 `---------------------------------------------------*/ 5905 6634 yyerrorlab: 5906 /* Pacify compilers when the user code never invokes YYERROR and the 5907 label yyerrorlab therefore never appears in user code. */ 5908 if (0) 5909 YYERROR; 6635 6636 /* Pacify compilers like GCC when the user code never invokes 6637 YYERROR and the label yyerrorlab therefore never appears in user 6638 code. */ 6639 if (/*CONSTCOND*/ 0) 6640 goto yyerrorlab; 5910 6641 5911 6642 /* Do not reclaim the symbols of the rule whose action triggered … … 5969 6700 goto yyreturn; 5970 6701 5971 5972 6702 /*-----------------------------------. 5973 6703 | yyabortlab -- YYABORT comes here. | … … 5976 6706 yyresult = 1; 5977 6707 goto yyreturn; 5978 5979 6708 5980 6709 #if !defined yyoverflow || YYERROR_VERBOSE … … 5988 6717 #endif 5989 6718 5990 5991 /*-----------------------------------------------------.5992 | yyreturn -- parsing is finished, return the result. |5993 `-----------------------------------------------------*/5994 6719 yyreturn: 5995 6720 if (yychar != YYEMPTY) … … 6021 6746 return yyresult; 6022 6747 } 6023 #line 2157 "fortran.y"6748 #line 4881 "fortran.y" /* yacc.c:1906 */ 6024 6749 6025 6750 … … 6160 6885 typedef int32_t flex_int32_t; 6161 6886 typedef uint32_t flex_uint32_t; 6887 typedef uint64_t flex_uint64_t; 6162 6888 #else 6163 6889 typedef signed char flex_int8_t; … … 6266 6992 #endif 6267 6993 6268 extern int fortran_leng; 6994 #ifndef YY_TYPEDEF_YY_SIZE_T 6995 #define YY_TYPEDEF_YY_SIZE_T 6996 typedef size_t yy_size_t; 6997 #endif 6998 6999 extern yy_size_t fortran_leng; 6269 7000 6270 7001 extern FILE *fortran_in, *fortran_out; … … 6292 7023 #define unput(c) yyunput( c, (yytext_ptr) ) 6293 7024 6294 #ifndef YY_TYPEDEF_YY_SIZE_T6295 #define YY_TYPEDEF_YY_SIZE_T6296 typedef size_t yy_size_t;6297 #endif6298 6299 7025 #ifndef YY_STRUCT_YY_BUFFER_STATE 6300 7026 #define YY_STRUCT_YY_BUFFER_STATE … … 6314 7040 * characters. 6315 7041 */ 6316 int yy_n_chars;7042 yy_size_t yy_n_chars; 6317 7043 6318 7044 /* Whether we "own" the buffer - i.e., we know we created it, … … 6384 7110 /* yy_hold_char holds the character lost when fortran_text is formed. */ 6385 7111 static char yy_hold_char; 6386 static int yy_n_chars; /* number of characters read into yy_ch_buf */6387 int fortran_leng;7112 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ 7113 yy_size_t fortran_leng; 6388 7114 6389 7115 /* Points to current character in buffer. */ … … 6413 7139 YY_BUFFER_STATE fortran__scan_buffer (char *base,yy_size_t size ); 6414 7140 YY_BUFFER_STATE fortran__scan_string (yyconst char *yy_str ); 6415 YY_BUFFER_STATE fortran__scan_bytes (yyconst char *bytes, int len );7141 YY_BUFFER_STATE fortran__scan_bytes (yyconst char *bytes,yy_size_t len ); 6416 7142 6417 7143 void *fortran_alloc (yy_size_t ); … … 6471 7197 #define YY_DO_BEFORE_ACTION \ 6472 7198 (yytext_ptr) = yy_bp; \ 6473 fortran_leng = ( size_t) (yy_cp - yy_bp); \7199 fortran_leng = (yy_size_t) (yy_cp - yy_bp); \ 6474 7200 (yy_hold_char) = *yy_cp; \ 6475 7201 *yy_cp = '\0'; \ 6476 7202 (yy_c_buf_p) = yy_cp; 6477 7203 6478 #define YY_NUM_RULES 17 66479 #define YY_END_OF_BUFFER 17 77204 #define YY_NUM_RULES 178 7205 #define YY_END_OF_BUFFER 179 6480 7206 /* This struct is not used in this scanner, 6481 7207 but its presence is necessary. */ … … 6485 7211 flex_int32_t yy_nxt; 6486 7212 }; 6487 static yyconst flex_int16_t yy_acc ept[1132] =7213 static yyconst flex_int16_t yy_acclist[1588] = 6488 7214 { 0, 6489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6490 0, 0, 177, 176, 166, 164, 175, 176, 155, 158, 6491 176, 176, 157, 157, 157, 160, 156, 144, 154, 157, 6492 159, 162, 161, 163, 151, 151, 151, 151, 151, 151, 7215 143, 143, 179, 178, 167, 178, 166, 178, 177, 178, 7216 178, 156, 178, 160, 178, 170, 178, 178, 159, 178, 7217 159, 178, 159, 178, 162, 178, 157, 178, 140, 178, 7218 155, 178, 159, 178, 161, 178, 164, 178, 163, 178, 7219 165, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7220 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7221 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7222 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7223 151, 178, 151, 178, 167, 178, 166, 176, 178, 177, 7224 178, 151, 178, 151, 178, 151, 178, 151, 178, 151, 7225 7226 178, 178, 178, 174, 178, 178, 178, 149, 178, 178, 7227 178, 143, 178, 144, 178, 178, 166, 178, 151, 178, 7228 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7229 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7230 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7231 151, 178, 151, 178, 151, 178, 151, 178, 151, 178, 7232 166, 176, 178, 167, 178, 159, 178, 155, 178, 151, 7233 178, 151, 178, 151, 178, 151, 178, 151, 178, 167, 7234 178, 155, 178, 167, 177, 177, 177, 146, 170, 145, 7235 138, 20, 154, 139, 137, 34, 155, 136, 35, 33, 7236 7237 18, 36, 151, 151, 151, 151, 151, 151, 151, 151, 7238 151, 151, 151, 151, 151, 151, 42, 151, 151, 151, 6493 7239 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6494 151, 151, 151, 151, 166, 164, 166, 175, 154, 151, 6495 151, 151, 151, 151, 151, 176, 176, 172, 176, 176, 6496 176, 157, 151, 0, 0, 166, 0, 0, 175, 175, 6497 175, 0, 148, 0, 0, 0, 168, 0, 0, 0, 6498 0, 0, 147, 0, 0, 141, 25, 0, 153, 0, 6499 6500 0, 0, 0, 0, 0, 0, 142, 0, 154, 0, 6501 140, 23, 151, 151, 151, 151, 151, 151, 151, 151, 6502 151, 151, 151, 151, 151, 151, 151, 151, 42, 151, 6503 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6504 151, 151, 100, 151, 89, 151, 151, 151, 151, 151, 7240 151, 151, 91, 151, 151, 151, 151, 151, 151, 151, 6505 7241 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6506 7242 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6507 151, 151, 151, 151, 0, 166, 166, 0, 167, 0, 6508 0, 0, 0, 0, 0, 165, 166, 0, 175, 174, 6509 175, 175, 175, 167, 154, 0, 151, 151, 151, 151, 6510 6511 89, 151, 151, 0, 172, 0, 0, 0, 0, 0, 6512 0, 173, 25, 0, 0, 0, 151, 151, 151, 151, 6513 151, 0, 0, 0, 175, 175, 0, 0, 0, 0, 6514 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 6515 0, 0, 0, 0, 0, 0, 0, 0, 152, 152, 6516 0, 153, 151, 151, 151, 151, 151, 151, 151, 151, 6517 151, 151, 151, 151, 151, 151, 123, 151, 151, 151, 6518 151, 151, 151, 151, 14, 151, 151, 151, 151, 122, 6519 151, 151, 151, 151, 151, 151, 151, 0, 151, 151, 6520 151, 151, 151, 151, 129, 151, 151, 134, 151, 151, 6521 6522 151, 151, 151, 151, 151, 151, 93, 151, 151, 151, 7243 151, 151, 167, 176, 177, 177, 177, 177, 151, 151, 7244 151, 151, 91, 151, 151, 174, 149, 143, 142, 151, 6523 7245 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6524 151, 126, 151, 151, 151, 151, 151, 130, 151, 151, 6525 151, 151, 151, 151, 151, 0, 166, 166, 0, 0, 6526 0, 0, 0, 0, 0, 0, 0, 166, 0, 167, 6527 175, 175, 175, 154, 0, 151, 151, 151, 151, 151, 6528 151, 151, 0, 0, 0, 0, 173, 0, 0, 0, 6529 151, 151, 151, 151, 151, 0, 0, 0, 175, 175, 6530 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 6531 27, 0, 29, 28, 31, 30, 33, 0, 0, 35, 6532 6533 0, 0, 133, 125, 151, 151, 128, 151, 131, 151, 6534 151, 20, 151, 151, 151, 151, 151, 151, 124, 151, 6535 151, 151, 151, 151, 151, 98, 0, 115, 151, 151, 6536 151, 151, 151, 151, 151, 151, 0, 116, 151, 0, 6537 117, 151, 151, 151, 151, 151, 151, 0, 113, 151, 6538 151, 0, 92, 151, 151, 151, 151, 151, 151, 151, 6539 0, 102, 151, 151, 0, 119, 151, 151, 151, 151, 6540 120, 0, 114, 19, 151, 63, 77, 151, 151, 151, 6541 151, 151, 151, 151, 151, 82, 43, 151, 151, 151, 6542 151, 72, 151, 151, 127, 151, 76, 57, 151, 0, 6543 6544 101, 103, 151, 96, 105, 151, 151, 151, 151, 47, 6545 166, 166, 0, 0, 0, 0, 0, 0, 0, 166, 6546 0, 167, 175, 175, 175, 154, 0, 108, 151, 151, 6547 151, 151, 151, 16, 0, 0, 0, 0, 0, 0, 6548 151, 151, 151, 151, 0, 0, 0, 175, 175, 0, 6549 0, 0, 0, 0, 0, 37, 26, 0, 34, 36, 6550 151, 151, 151, 151, 151, 151, 52, 151, 151, 151, 6551 151, 132, 151, 151, 151, 151, 151, 0, 151, 151, 6552 0, 0, 0, 0, 0, 0, 0, 0, 41, 151, 6553 99, 151, 151, 151, 151, 151, 151, 151, 151, 79, 6554 6555 79, 151, 0, 111, 121, 85, 151, 151, 92, 151, 6556 151, 94, 151, 151, 151, 151, 151, 151, 151, 151, 6557 151, 151, 151, 0, 0, 151, 151, 151, 55, 151, 6558 80, 151, 151, 151, 0, 151, 151, 151, 151, 151, 6559 0, 135, 106, 151, 151, 0, 112, 58, 39, 84, 6560 166, 166, 108, 0, 0, 0, 0, 0, 166, 0, 6561 167, 175, 175, 175, 154, 0, 108, 151, 90, 151, 6562 151, 74, 73, 74, 0, 0, 0, 0, 0, 151, 6563 52, 151, 132, 0, 21, 0, 175, 21, 0, 21, 6564 21, 0, 21, 0, 21, 21, 21, 32, 151, 151, 6565 6566 151, 21, 151, 151, 66, 151, 151, 151, 151, 151, 6567 151, 151, 145, 0, 0, 97, 151, 41, 0, 99, 6568 0, 0, 0, 0, 0, 0, 151, 151, 151, 151, 6569 151, 151, 151, 151, 0, 118, 151, 151, 151, 151, 6570 151, 151, 151, 69, 151, 151, 137, 104, 136, 138, 6571 38, 151, 0, 6, 151, 151, 151, 151, 151, 151, 6572 87, 0, 151, 8, 78, 17, 151, 151, 86, 166, 6573 166, 0, 0, 0, 166, 175, 175, 21, 0, 151, 6574 151, 151, 0, 0, 0, 21, 0, 151, 21, 22, 6575 0, 169, 22, 22, 22, 22, 22, 22, 22, 22, 6576 6577 151, 151, 151, 151, 50, 151, 151, 151, 109, 151, 6578 0, 151, 151, 97, 0, 151, 0, 0, 0, 0, 6579 0, 0, 0, 151, 151, 151, 151, 151, 75, 151, 6580 151, 151, 0, 0, 151, 151, 15, 53, 44, 151, 6581 45, 0, 151, 151, 5, 151, 151, 70, 88, 3, 6582 0, 0, 151, 0, 151, 151, 0, 0, 0, 175, 6583 22, 0, 151, 67, 151, 0, 0, 22, 0, 22, 6584 151, 4, 151, 151, 151, 151, 91, 151, 151, 0, 6585 0, 151, 151, 0, 151, 0, 0, 0, 0, 0, 6586 75, 0, 151, 151, 151, 151, 151, 59, 151, 68, 6587 6588 0, 0, 0, 0, 143, 9, 18, 151, 0, 151, 6589 83, 71, 151, 0, 151, 0, 151, 151, 0, 0, 6590 175, 0, 62, 151, 0, 0, 0, 151, 151, 139, 6591 46, 151, 151, 54, 0, 0, 151, 151, 0, 61, 6592 0, 0, 0, 0, 0, 59, 151, 11, 151, 110, 6593 151, 151, 0, 0, 0, 0, 0, 143, 95, 0, 6594 151, 64, 0, 65, 0, 151, 151, 62, 0, 175, 6595 0, 149, 0, 0, 0, 151, 151, 40, 7, 0, 6596 0, 151, 151, 61, 0, 60, 0, 11, 0, 110, 6597 0, 151, 10, 151, 151, 0, 0, 0, 151, 0, 6598 6599 0, 107, 2, 149, 175, 0, 0, 0, 0, 51, 6600 0, 0, 0, 0, 151, 151, 0, 10, 0, 13, 6601 151, 56, 0, 0, 0, 151, 0, 107, 175, 0, 6602 0, 0, 0, 0, 0, 0, 0, 151, 151, 13, 6603 0, 151, 0, 0, 0, 151, 0, 175, 0, 0, 6604 0, 0, 0, 24, 0, 0, 49, 151, 0, 12, 6605 0, 0, 0, 151, 0, 175, 0, 0, 0, 150, 6606 0, 49, 0, 151, 12, 0, 0, 0, 0, 151, 6607 0, 175, 0, 0, 0, 0, 48, 0, 0, 0, 6608 81, 1, 175, 0, 0, 0, 48, 81, 175, 0, 6609 6610 0, 0, 175, 0, 0, 0, 175, 0, 0, 0, 6611 175, 0, 0, 0, 175, 0, 0, 0, 175, 170, 6612 0, 170, 0, 0, 170, 0, 0, 0, 0, 171, 6613 0 7246 151, 151, 151, 42, 151, 151, 151, 151, 151, 151, 7247 7248 151, 151, 151, 151, 151, 151, 151, 151, 151, 91, 7249 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7250 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7251 151, 151, 151, 151, 151, 151, 151, 151, 151, 176, 7252 167, 167, 175, 20, 155, 175, 151, 151, 151, 151, 7253 151, 151, 151, 151, 151, 151, 91, 151, 151, 167, 7254 155, 177, 177, 141, 145, 153, 152, 153, 154, 154, 7255 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7256 151, 151, 151, 151, 151, 151, 151, 151, 151, 9, 7257 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7258 7259 151, 151, 103,16485, 151, 151, 151, 151, 151, 151, 7260 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7261 151, 151, 151, 151, 94, 151, 151, 151, 151, 151, 7262 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7263 151, 151, 151, 151, 151, 151, 151, 11, 151, 151, 7264 151, 151, 177, 177, 177, 151, 151, 151, 151, 151, 7265 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7266 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7267 9, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7268 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7269 7270 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7271 151, 151, 151, 94, 151, 151, 151, 151, 151, 151, 7272 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7273 151, 151, 151, 151, 151, 151, 11, 151, 151, 151, 7274 151, 167, 167, 155, 151, 151, 151, 151, 151, 151, 7275 151, 151, 151, 151, 151, 151, 151, 177, 177, 154, 7276 22, 24, 23, 26, 25, 28, 30, 151, 151, 151, 7277 151, 151, 151, 151, 15, 151, 151, 151, 151, 151, 7278 151, 151, 151, 151, 151, 151, 41, 41, 151, 151, 7279 99, 151, 116, 151, 151, 151, 151, 151, 117, 151, 7280 7281 126, 151, 151, 79, 151, 151, 151, 151, 114, 151, 7282 151, 93, 151, 151, 151, 151, 151, 151, 151, 151, 7283 151, 151, 151, 118, 151, 151, 151, 151, 115, 14, 7284 151, 151, 63, 151, 77, 151, 151, 151, 151, 151, 7285 151, 151, 151, 151, 151, 83, 151, 43, 151, 130, 7286 151, 151, 151, 151, 151, 72, 151, 151, 151, 76, 7287 151, 57, 151, 151, 151, 97, 151, 151, 151, 151, 7288 151, 47, 177, 177, 177, 105, 151, 151, 151, 151, 7289 151, 151,16458, 151, 151, 151, 151, 151, 151, 151, 7290 15, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7291 7292 151, 151, 41, 151, 151, 99, 151, 151, 151, 151, 7293 151, 151, 151, 151, 151, 79, 151, 151, 151, 151, 7294 151, 151, 93, 151, 151, 151, 151, 151, 151, 151, 7295 151, 151, 151, 151, 151, 151, 151, 151, 14, 151, 7296 151, 63, 151, 77, 151, 151, 151, 151, 151, 151, 7297 151, 151, 151, 151, 83, 151, 43, 151, 151, 151, 7298 151, 151, 151, 72, 151, 151, 151, 76, 151, 57, 7299 151, 151, 151, 97, 151, 151, 151, 151, 151, 167, 7300 155, 15, 151, 105, 151, 151, 151, 151, 151, 151, 7301 151, 151, 151, 151, 151, 151, 151, 151,16458, 177, 7302 7303 177, 158, 32, 21, 29, 31, 151, 151, 151, 151, 7304 151, 151, 151, 151, 52, 151, 151, 151, 151, 151, 7305 134, 151, 151, 151, 151, 151, 151, 151, 40, 151, 7306 100, 151, 151, 151, 151, 151, 151, 151, 151, 108, 7307 87, 151, 127, 151, 93, 102, 151, 151, 95, 151, 7308 151, 151, 151, 151, 151, 151, 151, 119, 151, 151, 7309 121, 128, 151, 151, 151, 151, 151, 55, 151, 151, 7310 151, 80, 151, 151, 151, 151, 82, 129, 151, 151, 7311 151, 151, 151, 151, 151, 151, 151, 112, 58, 151, 7312 38, 151, 86, 151, 105,16458, 177, 177, 177, 105, 7313 7314 151, 92, 151, 151, 8266, 73, 8266, 151, 151, 151, 7315 151, 151, 151, 151, 151, 52, 151, 151, 151, 151, 7316 151, 134, 151, 151, 151, 151, 151, 151, 151, 40, 7317 151, 100, 151, 151, 151, 151, 151, 151, 151, 151, 7318 87, 151, 151, 151, 151, 95, 151, 151, 151, 151, 7319 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7320 151, 55, 151, 151, 151, 80, 151, 151, 151, 151, 7321 151, 151, 151, 151, 151, 151, 151, 151, 151, 58, 7322 151, 38, 151, 86, 151, 167, 155, 105, 151, 151, 7323 52, 151, 151, 151, 151, 151, 151, 151, 134, 151, 7324 7325 151, 151, 16, 177, 16, 177, 16, 16, 146, 16, 7326 16, 16, 145, 16, 16, 16, 16, 16, 16, 27, 7327 151, 151, 151, 151, 151, 16, 151, 151, 151, 66, 7328 151, 151, 151, 151, 151, 151, 151, 151, 98, 151, 7329 151, 40, 100, 151, 151, 151, 151, 151, 133, 151, 7330 151, 102, 8293, 102, 151, 151, 151, 151, 69, 151, 7331 151, 151, 124, 151, 151, 37, 151, 151, 151, 151, 7332 151, 151, 151, 151, 151, 151, 89, 151, 151, 7, 7333 151, 78, 151, 12, 151, 151, 151, 132, 151, 151, 7334 88, 151, 85, 177, 177, 16, 177, 151, 151, 151, 7335 7336 151, 151, 151, 151, 151, 16, 151, 151, 151, 66, 7337 151, 151, 151, 151, 151, 151, 151, 151, 98, 151, 7338 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 7339 151, 151, 69, 151, 151, 151, 151, 151, 37, 151, 7340 151, 151, 151, 151, 151, 151, 151, 151, 151, 89, 7341 151, 151, 7, 151, 78, 151, 12, 151, 151, 151, 7342 132, 151, 151, 88, 151, 16, 151, 151, 66, 151, 7343 151, 151, 151, 151, 16, 151, 151, 151, 17, 17, 7344 177, 17, 17, 146, 17, 17, 17, 145, 17, 17, 7345 17, 17, 17, 17, 109, 110, 17, 151, 151, 151, 7346 7347 151, 151, 50, 151, 151, 151, 151, 106, 151, 151, 7348 151, 151, 98, 151, 151, 75, 151, 151, 151, 120, 7349 151, 151, 8293, 151, 10, 151, 53, 151, 44, 151, 7350 151, 151, 125, 45, 151, 151, 151, 5, 151, 113, 7351 151, 151, 70, 151, 151, 90, 151, 2, 151, 151, 7352 151, 122, 131, 151, 177, 17, 177, 151, 67, 151, 7353 171, 17, 151, 151, 151, 151, 151, 50, 151, 151, 7354 151, 151, 106, 151, 151, 151, 151, 151, 151, 75, 7355 151, 151, 151, 151, 151, 151, 10, 151, 53, 151, 7356 44, 151, 151, 151, 45, 151, 151, 151, 5, 151, 7357 7358 151, 151, 70, 151, 151, 90, 151, 2, 151, 151, 7359 151, 151, 171, 17, 17, 151, 151, 50, 151, 151, 7360 151, 151, 151, 151, 3, 151, 151, 151, 151, 151, 7361 4, 151, 151, 151, 151, 151, 151, 75, 151, 59, 7362 151, 151, 68, 151, 8, 151, 13, 151, 151, 151, 7363 151, 84, 151, 71, 151, 151, 151, 151, 151, 151, 7364 177, 62, 151, 151, 151, 3, 151, 151, 151, 151, 7365 151, 4, 151, 151, 151, 151, 151, 151, 151, 59, 7366 151, 151, 68, 151, 8, 151, 13, 151, 151, 151, 7367 151, 84, 151, 71, 151, 151, 151, 151, 151, 151, 7368 7369 151, 151, 62, 151, 4, 151, 151, 137, 151, 151, 7370 135, 151, 46, 151, 151, 151, 54, 151, 151, 151, 7371 61, 151, 59, 107, 151, 151, 96, 151, 111, 151, 7372 64, 151, 123, 65, 151, 151, 151, 62, 177, 147, 7373 151, 150, 151, 151, 135, 151, 46, 151, 151, 151, 7374 54, 151, 151, 151, 61, 151, 107, 151, 151, 96, 7375 151, 151, 64, 151, 65, 151, 151, 151, 46, 151, 7376 151, 147, 151, 169, 137, 151, 151, 39, 151, 6, 7377 151, 151, 151, 61, 60, 107, 151, 151, 104, 151, 7378 1, 151, 147, 177, 151, 151, 39, 151, 6, 151, 7379 7380 151, 151, 151, 151, 104, 151, 1, 151, 168, 39, 7381 151, 51, 151, 151, 151, 56, 151, 151, 104, 177, 7382 51, 151, 151, 151, 56, 151, 151, 169, 151, 151, 7383 151, 177, 151, 151, 151, 168, 19, 49, 151, 151, 7384 151, 177, 148, 149, 49, 151, 151, 151, 168, 168, 7385 49, 151, 151, 177, 151, 151, 48, 151, 81, 151, 7386 177, 48, 151, 81, 151, 168, 48, 81, 177, 177, 7387 177, 177, 177, 177, 172, 177, 172, 172, 175, 172, 7388 176, 177, 175, 173, 174, 173, 174 7389 } ; 7390 7391 static yyconst flex_int16_t yy_accept[1884] = 7392 { 0, 7393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7394 1, 2, 3, 3, 3, 3, 3, 4, 5, 7, 7395 9, 11, 12, 14, 16, 18, 19, 21, 23, 25, 7396 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 7397 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 7398 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 7399 87, 90, 92, 94, 96, 98, 100, 102, 103, 104, 7400 106, 107, 108, 110, 111, 112, 114, 116, 117, 119, 7401 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 7402 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 7403 7404 161, 164, 166, 168, 170, 172, 174, 176, 178, 180, 7405 182, 184, 184, 184, 185, 186, 187, 188, 188, 189, 7406 189, 189, 190, 190, 190, 190, 190, 191, 191, 191, 7407 191, 191, 192, 192, 192, 192, 193, 193, 194, 194, 7408 194, 194, 194, 194, 194, 194, 194, 194, 194, 195, 7409 196, 197, 197, 198, 198, 199, 200, 201, 202, 203, 7410 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 7411 214, 215, 216, 217, 219, 220, 221, 222, 223, 224, 7412 225, 226, 227, 228, 229, 230, 231, 232, 233, 235, 7413 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 7414 7415 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 7416 256, 257, 258, 259, 260, 261, 262, 263, 263, 264, 7417 265, 265, 265, 265, 265, 265, 265, 265, 266, 266, 7418 267, 268, 269, 269, 270, 271, 272, 273, 275, 276, 7419 276, 277, 277, 277, 278, 278, 278, 278, 279, 279, 7420 280, 280, 280, 280, 280, 280, 280, 281, 282, 283, 7421 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 7422 294, 296, 297, 298, 299, 300, 301, 302, 303, 304, 7423 305, 306, 307, 308, 309, 310, 312, 313, 314, 315, 7424 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 7425 7426 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 7427 336, 337, 338, 339, 340, 340, 341, 341, 341, 342, 7428 343, 343, 343, 344, 345, 345, 345, 345, 345, 346, 7429 347, 347, 348, 349, 350, 351, 352, 353, 354, 355, 7430 356, 357, 359, 360, 361, 361, 361, 362, 362, 362, 7431 362, 363, 364, 364, 364, 364, 364, 364, 364, 364, 7432 364, 366, 366, 366, 366, 366, 366, 366, 366, 366, 7433 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 7434 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 7435 366, 366, 366, 367, 370, 370, 371, 372, 373, 374, 7436 7437 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 7438 385, 386, 387, 387, 388, 389, 390, 392, 393, 394, 7439 395, 396, 397, 398, 399, 400, 401, 402, 402, 403, 7440 403, 405, 406, 407, 408, 409, 410, 411, 412, 413, 7441 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 7442 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 7443 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 7444 445, 446, 447, 448, 450, 451, 452, 453, 453, 453, 7445 453, 453, 453, 453, 453, 453, 453, 454, 455, 456, 7446 456, 457, 458, 459, 460, 461, 462, 462, 462, 462, 7447 7448 462, 462, 462, 462, 462, 462, 462, 462, 462, 463, 7449 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 7450 474, 475, 476, 477, 478, 479, 480, 481, 483, 484, 7451 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 7452 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 7453 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 7454 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 7455 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 7456 536, 537, 539, 540, 541, 542, 542, 542, 542, 542, 7457 543, 543, 544, 544, 544, 544, 544, 544, 544, 545, 7458 7459 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 7460 555, 556, 557, 558, 558, 558, 558, 558, 559, 560, 7461 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 7462 560, 560, 560, 560, 560, 560, 560, 560, 561, 561, 7463 561, 562, 562, 563, 564, 565, 566, 566, 567, 567, 7464 567, 568, 568, 568, 568, 568, 568, 568, 568, 568, 7465 568, 568, 568, 569, 570, 571, 572, 573, 574, 575, 7466 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 7467 587, 588, 590, 591, 593, 593, 594, 595, 596, 597, 7468 598, 599, 599, 600, 601, 601, 602, 603, 604, 606, 7469 7470 607, 608, 609, 609, 610, 611, 612, 612, 614, 614, 7471 614, 614, 614, 615, 616, 617, 618, 619, 620, 621, 7472 622, 623, 624, 624, 625, 626, 627, 628, 629, 629, 7473 630, 632, 633, 635, 637, 638, 639, 640, 641, 642, 7474 643, 644, 645, 646, 648, 650, 650, 651, 652, 653, 7475 654, 655, 656, 658, 659, 660, 662, 664, 665, 666, 7476 668, 669, 670, 671, 672, 673, 673, 673, 673, 673, 7477 673, 673, 674, 675, 676, 676, 678, 679, 680, 681, 7478 682, 684, 684, 684, 684, 684, 684, 684, 684, 684, 7479 684, 685, 686, 687, 688, 689, 690, 691, 693, 694, 7480 7481 695, 696, 697, 698, 699, 700, 701, 702, 703, 705, 7482 706, 708, 709, 710, 711, 712, 713, 714, 715, 716, 7483 718, 719, 720, 721, 722, 723, 725, 726, 727, 728, 7484 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 7485 739, 741, 742, 744, 746, 747, 748, 749, 750, 751, 7486 752, 753, 754, 755, 757, 759, 760, 761, 762, 763, 7487 764, 766, 767, 768, 770, 772, 773, 774, 776, 777, 7488 778, 779, 780, 780, 780, 780, 781, 781, 781, 781, 7489 781, 781, 782, 782, 784, 786, 787, 788, 789, 790, 7490 791, 792, 793, 794, 795, 796, 797, 798, 800, 800, 7491 7492 800, 800, 801, 802, 802, 802, 802, 802, 802, 803, 7493 803, 803, 803, 803, 803, 803, 804, 805, 805, 806, 7494 807, 807, 807, 807, 807, 807, 807, 808, 809, 810, 7495 811, 812, 813, 814, 815, 817, 818, 819, 820, 821, 7496 823, 824, 825, 826, 827, 827, 828, 829, 829, 829, 7497 829, 829, 829, 831, 833, 834, 835, 836, 837, 838, 7498 839, 840, 840, 841, 843, 843, 844, 845, 846, 846, 7499 846, 846, 847, 848, 849, 851, 852, 853, 854, 855, 7500 856, 857, 858, 858, 859, 860, 861, 861, 862, 862, 7501 863, 864, 865, 866, 867, 868, 870, 871, 872, 874, 7502 7503 875, 876, 877, 877, 878, 878, 879, 880, 881, 882, 7504 883, 884, 885, 886, 887, 888, 888, 889, 891, 893, 7505 895, 896, 896, 896, 896, 896, 897, 898, 899, 900, 7506 900, 901, 902, 903, 904, 905, 906, 907, 908, 908, 7507 908, 908, 908, 908, 908, 909, 910, 911, 912, 913, 7508 914, 915, 916, 918, 919, 920, 921, 922, 924, 925, 7509 926, 927, 928, 929, 930, 932, 934, 935, 936, 937, 7510 938, 939, 940, 941, 943, 944, 945, 946, 948, 949, 7511 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 7512 960, 961, 962, 964, 965, 966, 968, 969, 970, 971, 7513 7514 972, 973, 974, 975, 976, 977, 978, 979, 980, 982, 7515 984, 986, 986, 986, 986, 987, 987, 987, 987, 987, 7516 987, 988, 988, 989, 990, 991, 993, 994, 995, 996, 7517 997, 998, 999, 1001, 1002, 1003, 1003, 1003, 1004, 1005, 7518 1007, 1007, 1008, 1010, 1010, 1011, 1012, 1014, 1014, 1014, 7519 1014, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1021, 7520 1021, 1021, 1021, 1022, 1023, 1024, 1025, 1026, 1028, 1029, 7521 1030, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1039, 7522 1039, 1041, 1042, 1043, 1044, 1044, 1044, 1044, 1045, 1046, 7523 1047, 1048, 1049, 1049, 1050, 1051, 1052, 1052, 1053, 1053, 7524 7525 1053, 1053, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1061, 7526 1062, 1063, 1063, 1064, 1065, 1066, 1068, 1069, 1070, 1071, 7527 1072, 1073, 1074, 1075, 1076, 1077, 1079, 1080, 1082, 1084, 7528 1086, 1087, 1088, 1090, 1091, 1093, 1093, 1094, 1094, 1094, 7529 1094, 1095, 1096, 1098, 1098, 1099, 1100, 1101, 1101, 1101, 7530 1101, 1101, 1101, 1101, 1102, 1103, 1104, 1105, 1106, 1108, 7531 1109, 1110, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 7532 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 7533 1131, 1132, 1133, 1135, 1136, 1137, 1138, 1139, 1141, 1142, 7534 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1152, 1153, 7535 7536 1155, 1157, 1159, 1160, 1161, 1163, 1164, 1166, 1166, 1166, 7537 1166, 1166, 1167, 1167, 1168, 1169, 1171, 1172, 1173, 1174, 7538 1175, 1177, 1178, 1179, 1179, 1180, 1182, 1183, 1185, 1186, 7539 1187, 1189, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1195, 7540 1195, 1195, 1195, 1195, 1196, 1196, 1197, 1199, 1200, 1201, 7541 1202, 1203, 1205, 1206, 1207, 1208, 1210, 1211, 1211, 1212, 7542 1213, 1214, 1214, 1215, 1215, 1215, 1215, 1216, 1218, 1219, 7543 1220, 1220, 1221, 1222, 1223, 1224, 1224, 1224, 1225, 1227, 7544 1229, 1231, 1232, 1233, 1233, 1234, 1236, 1236, 1237, 1238, 7545 1240, 1240, 1241, 1242, 1243, 1245, 1246, 1248, 1250, 1251, 7546 7547 1251, 1252, 1252, 1253, 1253, 1254, 1255, 1255, 1255, 1255, 7548 1256, 1258, 1258, 1259, 1260, 1261, 1261, 1261, 1261, 1262, 7549 1262, 1262, 1264, 1265, 1266, 1267, 1268, 1270, 1271, 1272, 7550 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1282, 1283, 1284, 7551 1285, 1286, 1287, 1289, 1291, 1293, 1294, 1295, 1297, 1298, 7552 1299, 1301, 1302, 1303, 1305, 1306, 1308, 1310, 1311, 1312, 7553 1313, 1313, 1314, 1314, 1315, 1315, 1317, 1318, 1320, 1321, 7554 1322, 1323, 1324, 1324, 1324, 1324, 1324, 1324, 1325, 1327, 7555 1328, 1329, 1330, 1331, 1333, 1334, 1335, 1335, 1335, 1336, 7556 1337, 1337, 1338, 1338, 1339, 1339, 1340, 1342, 1343, 1345, 7557 7558 1347, 1347, 1349, 1350, 1351, 1351, 1352, 1354, 1356, 1357, 7559 1358, 1359, 1359, 1360, 1361, 1361, 1361, 1362, 1362, 1364, 7560 1365, 1365, 1365, 1365, 1365, 1365, 1366, 1368, 1369, 1370, 7561 1371, 1372, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1382, 7562 1383, 1385, 1387, 1389, 1390, 1391, 1392, 1394, 1396, 1397, 7563 1398, 1399, 1400, 1401, 1401, 1401, 1401, 1402, 1403, 1405, 7564 1407, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1409, 7565 1410, 1411, 1413, 1415, 1416, 1417, 1419, 1419, 1419, 1420, 7566 1421, 1421, 1423, 1423, 1424, 1426, 1427, 1429, 1429, 1430, 7567 1430, 1431, 1433, 1433, 1434, 1436, 1436, 1437, 1438, 1439, 7568 7569 1439, 1440, 1440, 1442, 1442, 1442, 1442, 1443, 1444, 1445, 7570 1447, 1449, 1450, 1451, 1453, 1454, 1455, 1457, 1459, 1460, 7571 1462, 1463, 1465, 1467, 1468, 1469, 1469, 1469, 1469, 1471, 7572 1472, 1474, 1474, 1474, 1475, 1475, 1475, 1475, 1476, 1477, 7573 1478, 1480, 1482, 1482, 1482, 1483, 1484, 1485, 1485, 1486, 7574 1487, 1488, 1488, 1489, 1489, 1491, 1493, 1494, 1495, 1495, 7575 1495, 1495, 1496, 1497, 1499, 1501, 1502, 1503, 1504, 1505, 7576 1507, 1509, 1509, 1509, 1509, 1510, 1510, 1512, 1512, 1512, 7577 1512, 1512, 1512, 1512, 1514, 1514, 1514, 1514, 1514, 1515, 7578 1516, 1518, 1518, 1519, 1520, 1521, 1521, 1521, 1521, 1523, 7579 7580 1524, 1525, 1527, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 7581 1528, 1528, 1528, 1528, 1528, 1529, 1529, 1529, 1529, 1529, 7582 1530, 1531, 1531, 1532, 1533, 1533, 1533, 1533, 1534, 1535, 7583 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 7584 1536, 1536, 1537, 1537, 1537, 1537, 1537, 1537, 1538, 1538, 7585 1538, 1540, 1541, 1541, 1542, 1543, 1543, 1543, 1543, 1545, 7586 1547, 1548, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1550, 7587 1550, 1550, 1550, 1551, 1551, 1551, 1551, 1551, 1552, 1552, 7588 1553, 1553, 1554, 1555, 1555, 1555, 1556, 1557, 1557, 1557, 7589 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1559, 7590 7591 1559, 1561, 1562, 1562, 1562, 1564, 1566, 1566, 1566, 1566, 7592 1566, 1566, 1566, 1567, 1567, 1568, 1569, 1570, 1570, 1570, 7593 1570, 1570, 1570, 1570, 1570, 1570, 1571, 1571, 1571, 1571, 7594 1571, 1571, 1571, 1571, 1571, 1572, 1572, 1572, 1572, 1572, 7595 1573, 1573, 1573, 1573, 1574, 1574, 1574, 1574, 1575, 1576, 7596 1577, 1577, 1578, 1578, 1578, 1578, 1580, 1580, 1580, 1582, 7597 1582, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1584, 1584, 7598 1584, 1584, 1584, 1586, 1586, 1586, 1587, 1587, 1587, 1588, 7599 1588, 1588, 1588 6614 7600 } ; 6615 7601 … … 6620 7606 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6621 7607 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 6622 13, 14, 15, 16, 17, 18, 19, 20, 2 1, 22,6623 2 3, 24, 25, 26, 27, 28, 29, 30, 31, 32,6624 33, 34, 1, 1, 35, 36, 37, 38, 39, 40,6625 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,6626 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,6627 61, 1, 62, 1, 63, 1, 64, 65, 66, 67,6628 6629 68, 69, 70, 71, 72, 44, 73, 74, 75, 76,6630 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,6631 87, 88, 1, 89, 1, 1, 1, 1, 1, 1,7608 13, 14, 15, 16, 17, 18, 19, 20, 20, 20, 7609 20, 20, 20, 20, 20, 20, 20, 21, 22, 23, 7610 24, 25, 1, 1, 26, 27, 28, 29, 30, 31, 7611 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 7612 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 7613 52, 1, 53, 1, 54, 1, 55, 56, 57, 58, 7614 7615 59, 60, 61, 62, 63, 35, 64, 65, 66, 67, 7616 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 7617 78, 79, 1, 80, 1, 1, 1, 1, 1, 1, 6632 7618 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6633 7619 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 6646 7632 } ; 6647 7633 6648 static yyconst flex_int32_t yy_meta[ 90] =7634 static yyconst flex_int32_t yy_meta[81] = 6649 7635 { 0, 6650 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, 6651 1, 4, 1, 1, 1, 1, 1, 3, 1, 5, 6652 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 6653 1, 1, 1, 1, 6, 7, 7, 5, 5, 8, 6654 9, 10, 11, 11, 11, 9, 11, 9, 12, 11, 6655 13, 9, 9, 9, 9, 11, 11, 11, 11, 11, 6656 1, 1, 11, 6, 7, 7, 5, 5, 8, 9, 6657 10, 11, 11, 9, 11, 9, 12, 11, 13, 9, 6658 9, 9, 9, 11, 11, 11, 11, 11, 3 7636 1, 2, 3, 2, 4, 5, 4, 4, 1, 4, 7637 6, 7, 8, 4, 9, 10, 11, 12, 13, 14, 7638 1, 4, 1, 1, 1, 15, 14, 14, 14, 14, 7639 15, 16, 17, 17, 17, 17, 16, 17, 16, 16, 7640 17, 17, 16, 16, 16, 16, 17, 17, 17, 17, 7641 17, 1, 1, 18, 15, 14, 14, 14, 14, 15, 7642 16, 17, 17, 17, 16, 17, 16, 16, 17, 17, 7643 16, 16, 16, 16, 17, 17, 17, 17, 17, 5 6659 7644 } ; 6660 7645 6661 static yyconst flex_int16_t yy_base[ 1171] =7646 static yyconst flex_int16_t yy_base[2051] = 6662 7647 { 0, 6663 0, 88, 0, 0, 0, 0, 984, 93, 0, 85, 6664 0, 0, 891, 64, 98, 103, 80, 129, 96, 99, 6665 134, 137, 145, 133, 168, 135, 249, 180, 318, 136, 6666 156, 172, 212, 239, 246, 297, 366, 341, 414, 461, 6667 247, 294, 398, 334, 407, 476, 506, 517, 459, 566, 6668 572, 522, 571, 367, 653, 226, 656, 658, 737, 638, 6669 785, 655, 698, 806, 652, 4012, 878, 4012, 241, 116, 6670 124, 455, 893, 59, 76, 229, 253, 256, 0, 122, 6671 127, 872, 4012, 157, 188, 869, 866, 327, 302, 349, 6672 740, 416, 4012, 768, 592, 4012, 4012, 981, 730, 147, 6673 6674 184, 438, 495, 328, 184, 190, 4012, 1048, 335, 969, 6675 4012, 4012, 0, 269, 315, 149, 319, 486, 462, 248, 6676 318, 325, 269, 426, 736, 336, 767, 470, 500, 518, 6677 512, 403, 516, 525, 535, 801, 544, 620, 565, 570, 6678 589, 768, 483, 589, 810, 592, 613, 638, 650, 664, 6679 678, 736, 737, 740, 741, 949, 736, 788, 646, 956, 6680 756, 999, 739, 753, 804, 749, 1043, 972, 962, 769, 6681 813, 963, 972, 969, 0, 1057, 0, 839, 238, 1044, 6682 986, 789, 956, 1030, 965, 429, 1109, 1136, 830, 4012, 6683 1061, 1087, 1091, 1162, 1188, 990, 1095, 1120, 1006, 1042, 6684 6685 1170, 1050, 1046, 823, 4012, 1201, 1099, 1115, 1190, 797, 6686 483, 4012, 790, 1167, 1100, 1194, 1269, 1358, 1255, 1254, 6687 1195, 1103, 1098, 625, 1148, 1163, 1217, 1237, 1222, 1238, 6688 1095, 1305, 1325, 1234, 4012, 1334, 1302, 1326, 1107, 1182, 6689 738, 735, 731, 730, 1244, 1166, 713, 1242, 4012, 1428, 6690 1374, 1389, 1419, 1244, 1252, 1261, 1263, 1192, 1266, 1301, 6691 1333, 1333, 1352, 1352, 1387, 1392, 1388, 1389, 1390, 1404, 6692 1401, 1405, 1407, 1404, 1506, 1471, 1417, 1476, 1430, 0, 6693 1422, 1437, 1442, 1432, 1484, 1440, 1454, 1497, 1444, 1448, 6694 1451, 1443, 1445, 1475, 1459, 1530, 1536, 1464, 1477, 1470, 6695 6696 1531, 1490, 1491, 1482, 1509, 1511, 0, 1526, 1513, 1519, 6697 1524, 1527, 1524, 1555, 1516, 1519, 1522, 1546, 1557, 1564, 6698 1558, 1565, 1555, 1557, 1562, 1561, 1615, 1573, 1575, 1573, 6699 1576, 1570, 1574, 1582, 1576, 719, 351, 666, 1572, 713, 6700 1580, 1587, 1584, 1593, 1589, 1596, 1608, 1658, 1684, 1710, 6701 1652, 1645, 1661, 1741, 1626, 1629, 1635, 1634, 1637, 1703, 6702 1653, 709, 1654, 1744, 707, 998, 4012, 1712, 1674, 1715, 6703 1664, 1708, 1725, 1738, 1749, 1622, 1684, 1379, 1672, 1735, 6704 1743, 1771, 1723, 1772, 1787, 1804, 1815, 1807, 1821, 656, 6705 4012, 646, 4012, 4012, 4012, 4012, 4012, 1735, 614, 4012, 6706 6707 613, 1849, 4012, 0, 1741, 1751, 0, 1796, 0, 1799, 6708 1799, 0, 1820, 1819, 1811, 1816, 1808, 1821, 0, 1826, 6709 1822, 1814, 1822, 1825, 1819, 1871, 1955, 4012, 1825, 1821, 6710 1837, 1830, 1829, 1850, 1823, 1844, 1899, 4012, 1836, 1909, 6711 4012, 1841, 2040, 1856, 1915, 1858, 1874, 1920, 4012, 1886, 6712 1872, 1878, 0, 1886, 1879, 1881, 1888, 1896, 1895, 1902, 6713 1967, 4012, 1897, 1906, 1971, 4012, 1900, 1912, 1906, 1915, 6714 0, 1980, 4012, 0, 1988, 0, 0, 1929, 1939, 1926, 6715 1933, 1936, 1946, 1939, 1953, 0, 602, 1949, 1958, 1955, 6716 1963, 0, 1960, 2063, 0, 598, 0, 0, 1985, 2064, 6717 6718 4012, 0, 1960, 0, 0, 2019, 2022, 2024, 2025, 4012, 6719 792, 880, 2030, 2023, 2043, 2043, 2041, 2042, 581, 2092, 6720 2118, 2144, 2079, 2080, 2084, 2170, 2045, 1005, 2060, 1022, 6721 2071, 2134, 2199, 574, 2082, 2174, 2108, 2147, 2148, 2101, 6722 2154, 2184, 2187, 2190, 2087, 0, 1422, 2144, 0, 2200, 6723 138, 2202, 571, 2221, 2233, 4012, 4012, 514, 4012, 4012, 6724 2174, 2192, 2051, 2289, 2080, 2193, 0, 2109, 2194, 2193, 6725 2199, 0, 2201, 2207, 2204, 2195, 2198, 2270, 2240, 2240, 6726 2215, 2229, 2246, 2239, 2258, 2275, 2258, 2276, 0, 2276, 6727 0, 2287, 2279, 2283, 2295, 2283, 2295, 2300, 2335, 4012, 6728 6729 0, 2293, 2342, 4012, 0, 0, 2294, 2293, 4012, 2316, 6730 2321, 0, 2297, 2323, 2312, 2319, 2335, 2334, 2327, 2337, 6731 2333, 2341, 2338, 197, 451, 2343, 2337, 2347, 0, 2348, 6732 0, 2335, 2355, 2355, 477, 2343, 2343, 2350, 2355, 2348, 6733 2275, 4012, 4012, 2349, 2351, 2404, 4012, 0, 0, 0, 6734 1140, 1249, 1797, 2376, 2082, 2379, 2366, 2432, 2263, 424, 6735 569, 2417, 2420, 499, 2486, 2384, 2087, 2385, 2427, 2389, 6736 2398, 2437, 4012, 2448, 2444, 2439, 2452, 479, 2451, 2431, 6737 2410, 2565, 2416, 0, 4012, 2653, 0, 0, 475, 445, 6738 4012, 441, 436, 2458, 2462, 2468, 4012, 4012, 2682, 2404, 6739 6740 2428, 0, 2441, 2444, 0, 2442, 2449, 2447, 2480, 2465, 6741 2479, 2553, 0, 2487, 2489, 0, 2493, 4012, 2486, 4012, 6742 2497, 2509, 2513, 2527, 2535, 2549, 2552, 2538, 2550, 2555, 6743 2548, 2562, 2552, 2559, 2604, 4012, 2572, 2480, 2561, 2568, 6744 2573, 2575, 2564, 0, 2569, 2578, 0, 0, 0, 0, 6745 2660, 2572, 508, 4012, 2583, 2594, 2591, 2650, 2664, 2658, 6746 0, 2536, 2663, 0, 0, 0, 2715, 2654, 0, 2539, 6747 2479, 2668, 2663, 2678, 2644, 2682, 426, 421, 2680, 2677, 6748 2540, 2686, 2701, 2720, 411, 365, 2721, 2790, 2691, 4012, 6749 2725, 4012, 0, 343, 4012, 307, 2753, 2755, 4012, 0, 6750 6751 2747, 2692, 2702, 2706, 0, 2707, 2709, 2719, 0, 2685, 6752 2776, 2708, 2732, 4012, 2748, 2737, 2773, 2763, 2773, 2780, 6753 2773, 2788, 2777, 2776, 2785, 2780, 2796, 2786, 0, 2797, 6754 2798, 2794, 2647, 2867, 2796, 2791, 0, 0, 0, 2795, 6755 0, 2845, 2798, 2801, 0, 2815, 2825, 0, 0, 0, 6756 2872, 2840, 2825, 2883, 2847, 2843, 2840, 2548, 2855, 827, 6757 303, 239, 2841, 2765, 2855, 1020, 2888, 288, 1687, 2861, 6758 2861, 0, 2851, 2861, 2850, 2855, 0, 2851, 2858, 2858, 6759 2856, 2863, 2873, 2862, 2878, 2870, 2882, 2880, 2881, 2888, 6760 4012, 2904, 2901, 2906, 2913, 2885, 2895, 0, 2903, 0, 6761 6762 2951, 2978, 2955, 2982, 2994, 0, 0, 2933, 2910, 2917, 6763 0, 0, 2923, 248, 2932, 2941, 2930, 2939, 2936, 2956, 6764 2998, 2964, 0, 2967, 3005, 3006, 3007, 2966, 2959, 0, 6765 0, 2960, 2979, 0, 2973, 2982, 2973, 2987, 2986, 3025, 6766 2983, 2989, 2995, 2978, 2978, 4012, 2985, 0, 2991, 0, 6767 2985, 3006, 3066, 3074, 3078, 3090, 3094, 3106, 0, 3009, 6768 3019, 0, 3041, 0, 3018, 3050, 3056, 4012, 3062, 3076, 6769 3056, 0, 3087, 3103, 3099, 3072, 3111, 0, 0, 3064, 6770 3080, 3075, 3079, 3124, 3125, 4012, 3082, 4012, 3085, 4012, 6771 3080, 3093, 0, 3096, 3104, 3152, 3171, 3113, 3118, 245, 6772 6773 3119, 0, 0, 4012, 1737, 184, 3142, 3141, 1922, 0, 6774 3181, 3186, 3115, 3122, 3127, 3111, 3122, 4012, 3128, 0, 6775 3129, 0, 3208, 3211, 3152, 3158, 3150, 4012, 3194, 3154, 6776 2097, 3179, 3201, 3224, 3231, 3169, 3153, 3159, 3179, 4012, 6777 3183, 3184, 3251, 3258, 3191, 3183, 207, 3229, 3207, 3237, 6778 194, 3233, 3261, 4012, 3209, 3200, 0, 3220, 3211, 0, 6779 3309, 3283, 3218, 3228, 3221, 3285, 3236, 3273, 142, 4012, 6780 3286, 4012, 3243, 3250, 4012, 3339, 3342, 3367, 3248, 3286, 6781 108, 2482, 40, 2606, 2838, 3273, 0, 3395, 3399, 3290, 6782 0, 4012, 3302, 3294, 3311, 3350, 4012, 4012, 3299, 3320, 6783 6784 3357, 3358, 3375, 3318, 3359, 3380, 3404, 3376, 3300, 3412, 6785 3362, 3363, 3370, 3415, 3418, 3423, 3420, 3426, 3433, 4012, 6786 3447, 4012, 3428, 3451, 4012, 3430, 3439, 3454, 3457, 4012, 6787 4012, 3521, 3534, 3547, 3560, 3573, 3586, 3595, 3608, 3621, 6788 3634, 3647, 3656, 3669, 3678, 3686, 3699, 3712, 3725, 3738, 6789 3751, 3764, 3777, 3790, 3803, 3816, 3829, 3842, 3855, 3868, 6790 3881, 3894, 3907, 3920, 3933, 3946, 3959, 3972, 3985, 3998 7648 0, 79, 0, 0, 0, 151, 2913, 82, 2895, 86, 7649 89, 92, 224, 303, 0, 375, 2885, 70, 102, 9608, 7650 78, 113, 86, 90, 308, 311, 355, 129, 147, 137, 7651 447, 386, 440, 145, 146, 285, 302, 361, 444, 356, 7652 499, 497, 547, 594, 382, 352, 535, 495, 503, 582, 7653 618, 630, 639, 657, 688, 667, 692, 708, 445, 780, 7654 123, 538, 583, 760, 756, 811, 813, 9608, 2872, 9608, 7655 94, 2868, 9608, 491, 102, 110, 9608, 2857, 862, 852, 7656 772, 923, 871, 972, 921, 154, 729, 854, 384, 870, 7657 873, 992, 1022, 926, 989, 1039, 1073, 126, 1072, 968, 7658 7659 1122, 316, 1056, 347, 1179, 94, 1107, 90, 1234, 433, 7660 437, 161, 128, 130, 0, 289, 281, 2857, 2852, 448, 7661 322, 459, 2833, 542, 1149, 594, 2792, 626, 735, 631, 7662 740, 9608, 1260, 1277, 1302, 9608, 1303, 1051, 302, 321, 7663 676, 917, 736, 355, 362, 1152, 1321, 1334, 9608, 9608, 7664 9608, 1271, 1330, 323, 9608, 9608, 9608, 9608, 9608, 0, 7665 638, 299, 446, 447, 480, 366, 545, 590, 553, 821, 7666 613, 922, 581, 971, 636, 614, 653, 680, 726, 1085, 7667 734, 761, 781, 791, 831, 1001, 1261, 854, 1326, 1320, 7668 876, 879, 731, 1025, 899, 905, 969, 1013, 1027, 1331, 7669 7670 1027, 1068, 1321, 1306, 791, 1353, 1093, 1112, 1224, 1369, 7671 825, 1239, 876, 894, 915, 1357, 964, 0, 1372, 1431, 7672 2797, 1387, 978, 1246, 1276, 1368, 1445, 2784, 1449, 1402, 7673 1404, 1372, 1112, 1419, 1422, 1393, 1401, 1430, 1421, 2727, 7674 9608, 1418, 2720, 9608, 1474, 1428, 1305, 199, 2707, 2702, 7675 1118, 1478, 1159, 2707, 2702, 1506, 1476, 1500, 1468, 1519, 7676 1525, 1534, 1473, 1543, 1557, 1561, 1565, 1566, 1609, 1605, 7677 1613, 1600, 1618, 1608, 1639, 1649, 1669, 1662, 1672, 1676, 7678 1680, 1702, 1732, 1736, 1711, 1743, 1729, 1751, 1775, 1778, 7679 1799, 1793, 1789, 1813, 1832, 1837, 1833, 1742, 1855, 1851, 7680 7681 1859, 1890, 1893, 1897, 1923, 1928, 1936, 1930, 1949, 1954, 7682 1955, 1980, 1987, 1995, 1622, 2031, 2052, 2648, 1495, 144, 7683 1570, 2644, 9608, 2632, 1526, 1516, 2012, 2045, 2060, 2079, 7684 1593, 2136, 2216, 2048, 2060, 1803, 2057, 2091, 2136, 2137, 7685 2138, 2139, 2214, 1691, 2067, 2183, 2243, 1634, 1428, 1428, 7686 1485, 1491, 2615, 1521, 1609, 2606, 1258, 2106, 2166, 1610, 7687 2594, 2547, 2241, 2246, 1851, 1761, 2246, 2273, 2530, 2303, 7688 2306, 1610, 1347, 1916, 1503, 2307, 2523, 2443, 2434, 2433, 7689 2313, 1643, 2430, 1672, 1993, 2330, 2170, 2444, 2403, 2343, 7690 2362, 2388, 9608, 2355, 2323, 2319, 1774, 1850, 1707, 1714, 7691 7692 1857, 1751, 1809, 1844, 1868, 1871, 2229, 2343, 2001, 2005, 7693 1904, 1919, 2357, 2359, 1934, 1989, 2431, 1084, 2043, 2312, 7694 2297, 2141, 2156, 2007, 2280, 2025, 2208, 2347, 2218, 2201, 7695 2325, 2253, 2336, 2343, 2347, 2356, 2300, 2350, 2350, 2345, 7696 2394, 2371, 2362, 2380, 2380, 2422, 2381, 2391, 2379, 2392, 7697 2378, 0, 2411, 2398, 2404, 2410, 2411, 2413, 2412, 2425, 7698 2478, 2407, 2417, 2430, 2437, 2438, 2429, 2439, 2444, 2445, 7699 2437, 2453, 2450, 0, 2456, 2464, 2460, 2318, 2456, 2309, 7700 2464, 2470, 2465, 2471, 2469, 2476, 2515, 2484, 2516, 2490, 7701 2495, 2512, 2500, 2503, 2501, 2502, 2532, 2563, 2283, 2566, 7702 7703 2573, 2277, 2276, 2577, 2584, 2590, 2273, 2251, 2543, 2550, 7704 2571, 2560, 2577, 2545, 2580, 2593, 2596, 2598, 2607, 2604, 7705 2600, 2601, 2617, 2603, 2611, 2619, 2620, 2683, 2650, 2626, 7706 2678, 2624, 2660, 2661, 2654, 2690, 2668, 2631, 2615, 2692, 7707 2696, 2675, 2697, 2705, 2706, 2698, 2700, 2708, 2736, 2719, 7708 2701, 2721, 2722, 2765, 2748, 2751, 2712, 2755, 2729, 2243, 7709 2769, 2771, 2774, 2777, 2780, 2788, 2781, 2794, 2802, 2782, 7710 2783, 2798, 2795, 2805, 2799, 2793, 2796, 2807, 2830, 2806, 7711 2827, 2196, 2831, 2814, 2841, 2878, 2885, 2189, 2890, 2946, 7712 2488, 330, 1951, 2895, 2866, 2850, 2903, 2907, 2940, 2874, 7713 7714 3019, 3099, 2871, 2882, 2893, 2902, 3017, 2926, 2880, 2961, 7715 2857, 2943, 2954, 2753, 2919, 2922, 2924, 2945, 2929, 2995, 7716 3067, 1819, 2187, 2180, 3047, 3124, 3044, 3049, 3126, 3078, 7717 2977, 2110, 3143, 3146, 3050, 3061, 2101, 2091, 2082, 3138, 7718 9608, 2081, 9608, 9608, 9608, 9608, 3151, 9608, 3002, 2049, 7719 9608, 2043, 2917, 3081, 2038, 2028, 3188, 3199, 3218, 2027, 7720 2002, 3228, 3016, 3097, 3105, 2948, 3064, 3101, 3113, 0, 7721 3112, 3140, 3128, 3141, 3136, 3154, 3165, 3147, 3140, 3169, 7722 1947, 1932, 3174, 3238, 3313, 9608, 3176, 3188, 3195, 3179, 7723 3193, 3170, 9608, 3187, 3239, 9608, 3201, 3201, 0, 3206, 7724 7725 3256, 3202, 3257, 9608, 3263, 3205, 3211, 0, 3263, 1932, 7726 1927, 3280, 3235, 3222, 3226, 3255, 3268, 3256, 3246, 3259, 7727 3268, 3301, 3304, 9608, 3274, 3251, 3308, 3322, 3332, 9608, 7728 0, 3275, 0, 3281, 3281, 3284, 3303, 3282, 3294, 3296, 7729 3317, 3302, 3314, 3169, 0, 3350, 9608, 3364, 3308, 3316, 7730 3320, 3325, 0, 3337, 3342, 3329, 0, 3338, 3350, 0, 7731 3380, 3353, 3360, 3363, 9608, 3365, 3352, 3372, 3373, 3371, 7732 3372, 3393, 3402, 3404, 3367, 219, 3382, 577, 3385, 3389, 7733 3431, 3410, 3455, 3412, 3437, 3463, 3467, 3471, 1931, 1904, 7734 3411, 3414, 3441, 3420, 3417, 3458, 3459, 1900, 3467, 3477, 7735 7736 3481, 3463, 3483, 3489, 3484, 3488, 3487, 3491, 326, 3495, 7737 3493, 3498, 3503, 3496, 3501, 3502, 3499, 3506, 3509, 1873, 7738 3505, 3568, 3534, 3581, 3517, 1816, 3539, 3513, 3536, 3541, 7739 3562, 3565, 3574, 3583, 3577, 3614, 3586, 3585, 3622, 3631, 7740 1809, 3597, 1804, 3590, 3605, 3592, 3607, 3594, 3603, 3608, 7741 3616, 3604, 3648, 3660, 1789, 3675, 3609, 3624, 3651, 3618, 7742 1755, 3656, 3662, 3666, 1752, 3653, 3667, 1747, 3684, 3671, 7743 3680, 3688, 3700, 3712, 3476, 3746, 3705, 3725, 3732, 3689, 7744 3725, 3740, 3729, 3819, 3899, 3739, 3733, 3860, 3777, 3810, 7745 3793, 3923, 3924, 3928, 3846, 3750, 3928, 3849, 3657, 3481, 7746 7747 0, 3708, 0, 3756, 532, 3926, 2614, 3853, 9608, 3946, 7748 3978, 1711, 3785, 3972, 4032, 9608, 9608, 1710, 9608, 9608, 7749 3854, 3872, 3876, 3936, 1721, 4001, 3721, 3729, 3743, 3828, 7750 3751, 4112, 3819, 3835, 0, 3829, 3839, 3890, 3895, 0, 7751 3895, 3905, 3900, 3935, 4026, 3937, 3948, 3905, 3953, 3963, 7752 3897, 4002, 0, 0, 4022, 4021, 4033, 4039, 4034, 3696, 7753 4029, 4067, 9608, 0, 4073, 9608, 4036, 9608, 4136, 4137, 7754 4154, 4160, 4044, 4047, 0, 4035, 4049, 4036, 4043, 4071, 7755 4144, 4038, 4172, 9608, 4089, 4129, 4177, 9608, 4178, 9608, 7756 4128, 4139, 4154, 4146, 4156, 0, 4159, 4156, 0, 4148, 7757 7758 4168, 4167, 3885, 9608, 4196, 9608, 4153, 4158, 4165, 4177, 7759 4160, 4177, 4165, 4164, 4166, 4224, 9608, 0, 0, 4005, 7760 1172, 4188, 1284, 4196, 4184, 4240, 4226, 4227, 1706, 4207, 7761 2022, 4211, 2071, 4210, 4218, 4260, 9608, 4261, 4250, 4243, 7762 3880, 3889, 4014, 4019, 4247, 4251, 4255, 4266, 4256, 4323, 7763 4302, 4265, 1702, 4312, 4347, 4309, 4314, 1698, 4317, 4346, 7764 4351, 4356, 4353, 4355, 1695, 1665, 4357, 4352, 4359, 4361, 7765 4358, 4396, 4362, 1658, 4363, 4379, 4367, 1653, 4366, 4375, 7766 4365, 4388, 4370, 4437, 4369, 4409, 4421, 4425, 4427, 4440, 7767 4405, 4430, 1646, 4443, 4429, 1639, 4445, 4442, 4446, 4447, 7768 7769 4449, 4444, 4450, 4451, 4454, 4462, 4453, 4459, 1606, 1592, 7770 4294, 4297, 4305, 4228, 4533, 2129, 4508, 4512, 4490, 1575, 7771 4527, 4467, 4473, 4606, 4686, 4335, 4487, 4493, 4438, 4514, 7772 4531, 4766, 4443, 4514, 4522, 4452, 0, 9608, 0, 0, 7773 582, 1548, 1545, 4530, 4563, 4573, 1506, 4630, 4631, 4635, 7774 4846, 4585, 4010, 4652, 4658, 4659, 1492, 9608, 4598, 4636, 7775 4713, 4717, 4556, 4643, 4926, 4238, 4614, 0, 4520, 4608, 7776 0, 4606, 4614, 4678, 4535, 4680, 4608, 4758, 4695, 4695, 7777 0, 4699, 9608, 9608, 4694, 4692, 4704, 4705, 4735, 4749, 7778 4756, 4793, 4798, 9608, 4770, 4758, 4799, 4727, 4872, 4815, 7779 7780 4592, 1492, 4889, 4905, 4770, 4775, 4776, 4765, 0, 4765, 7781 4765, 4873, 9608, 4879, 4776, 4841, 4800, 4834, 4951, 4785, 7782 4841, 4845, 4906, 4819, 4916, 0, 4846, 0, 0, 0, 7783 4955, 4956, 4960, 4916, 0, 4143, 9608, 4856, 4926, 4863, 7784 4962, 1483, 1482, 4935, 4929, 2200, 4944, 4969, 4964, 2295, 7785 2810, 4743, 4999, 4984, 5007, 5031, 4953, 5013, 1476, 5002, 7786 5014, 1468, 5011, 4987, 5015, 5062, 5018, 5059, 5064, 1465, 7787 5066, 5067, 5068, 5061, 5069, 5071, 5073, 5074, 5075, 5077, 7788 5078, 5097, 1461, 5079, 5098, 5142, 5083, 5113, 5091, 5099, 7789 5154, 5115, 5107, 5110, 5121, 5100, 5109, 1420, 5128, 1411, 7790 7791 1379, 1364, 5170, 5181, 5184, 5147, 1344, 5191, 5197, 4947, 7792 1325, 1324, 5166, 5227, 5307, 5387, 4943, 4954, 5100, 5130, 7793 0, 5207, 5221, 5134, 9608, 0, 1315, 1303, 5203, 5212, 7794 1279, 5011, 5251, 5254, 5273, 5279, 5280, 1265, 3085, 3091, 7795 5334, 5338, 5261, 9608, 5262, 9608, 0, 5319, 5160, 5197, 7796 5229, 0, 5231, 5242, 5247, 0, 5238, 5379, 5295, 5304, 7797 9608, 5244, 5308, 5325, 5326, 5311, 5358, 0, 5383, 5384, 7798 5414, 9608, 5380, 5380, 5420, 5349, 5447, 5380, 0, 0, 7799 0, 5389, 5393, 5430, 9608, 0, 5454, 5398, 5401, 0, 7800 5459, 9608, 5420, 5435, 0, 5429, 0, 0, 5423, 5471, 7801 7802 5446, 5478, 9608, 5482, 9608, 5442, 5440, 4096, 5455, 671, 7803 1269, 1212, 5443, 4269, 5460, 777, 5475, 5363, 9608, 4662, 7804 4752, 1175, 5486, 5463, 5501, 5489, 1170, 5494, 5500, 5487, 7805 1166, 5511, 5517, 5506, 5518, 5505, 1162, 5508, 5522, 5523, 7806 5529, 5528, 1154, 1128, 1094, 5531, 5533, 1074, 5532, 5537, 7807 1053, 5534, 5553, 1031, 5541, 1021, 1017, 5540, 5552, 5566, 7808 5367, 990, 5518, 947, 807, 0, 5517, 0, 5534, 5526, 7809 5554, 5569, 4903, 5426, 5614, 5617, 5635, 5575, 0, 5547, 7810 5575, 5561, 5584, 0, 5580, 5589, 5590, 5592, 5603, 5612, 7811 5601, 5616, 5619, 9608, 5618, 5605, 0, 5613, 0, 0, 7812 7813 5666, 0, 5627, 5658, 5614, 5619, 0, 0, 5618, 5662, 7814 5635, 5641, 5629, 5635, 5644, 5663, 5689, 5664, 0, 5665, 7815 5695, 5696, 5701, 5705, 0, 5694, 937, 5697, 5701, 5705, 7816 5710, 905, 5708, 5712, 5714, 5709, 5711, 5716, 879, 5720, 7817 845, 833, 827, 5727, 5741, 5723, 819, 810, 5726, 5769, 7818 5737, 5730, 5739, 5796, 5258, 5754, 5691, 5699, 0, 0, 7819 5755, 5801, 859, 5790, 5805, 5813, 5817, 5835, 5831, 5745, 7820 5780, 0, 0, 5783, 5745, 0, 5791, 5792, 5789, 5798, 7821 5801, 5840, 5798, 9608, 0, 5818, 0, 5784, 9608, 5808, 7822 5821, 0, 5857, 9608, 0, 5818, 5833, 5834, 9608, 5835, 7823 7824 5844, 5827, 0, 5863, 5865, 5868, 0, 5866, 5871, 785, 7825 774, 5874, 5876, 770, 5877, 5879, 5884, 769, 5880, 764, 7826 5882, 755, 747, 5894, 5895, 5897, 3005, 5901, 0, 5844, 7827 717, 997, 5946, 1409, 5924, 5919, 5958, 712, 5881, 5953, 7828 0, 0, 5864, 5885, 5908, 5918, 5962, 5968, 9608, 9608, 7829 5928, 5939, 5941, 5945, 0, 0, 9608, 1348, 655, 5973, 7830 5975, 5976, 5980, 698, 686, 5982, 5983, 5985, 5986, 650, 7831 627, 5988, 6006, 6020, 6026, 1521, 0, 6038, 6051, 6047, 7832 6063, 6067, 623, 0, 5993, 6072, 5953, 5965, 6019, 5949, 7833 0, 6029, 6033, 9608, 6055, 6013, 1545, 6072, 603, 6076, 7834 7835 6081, 597, 6080, 6088, 6109, 6095, 596, 591, 6116, 6137, 7836 6095, 6104, 6142, 6154, 6159, 6159, 6171, 6071, 6060, 6067, 7837 6083, 6119, 6108, 6130, 6128, 6131, 544, 6175, 6146, 6133, 7838 6188, 6195, 519, 477, 6200, 6212, 6225, 6198, 6229, 6231, 7839 6243, 6247, 6203, 6260, 6272, 6248, 6276, 9608, 6142, 6186, 7840 0, 6191, 6209, 6223, 6234, 6222, 6251, 463, 9608, 462, 7841 6265, 6269, 6282, 6288, 6296, 6311, 6307, 6324, 6322, 6328, 7842 6340, 6345, 6343, 6357, 6361, 6366, 6278, 9608, 6262, 6269, 7843 6268, 6322, 1707, 391, 1795, 6354, 6369, 6378, 6382, 6398, 7844 6402, 6420, 6432, 6375, 6445, 6406, 1834, 6353, 0, 6368, 7845 7846 0, 6393, 6368, 6387, 441, 437, 4827, 6489, 6459, 6471, 7847 6467, 6513, 6475, 6414, 9608, 9608, 6428, 6386, 6411, 6463, 7848 6517, 6569, 6534, 6494, 6440, 6505, 6380, 6479, 6527, 6546, 7849 6550, 6552, 6593, 6554, 6563, 6470, 2353, 6597, 6565, 6531, 7850 6488, 6542, 6543, 6622, 6626, 6574, 6630, 6634, 6638, 416, 7851 6648, 6652, 405, 6616, 6656, 6660, 370, 6664, 6668, 352, 7852 316, 6674, 6678, 212, 6682, 6671, 208, 6686, 201, 6689, 7853 6691, 6696, 6700, 178, 6704, 6708, 119, 115, 6712, 83, 7854 6716, 9608, 6762, 6780, 6798, 6816, 6834, 6852, 6869, 6873, 7855 6891, 6909, 6927, 6945, 6961, 6979, 6997, 7015, 7033, 7051, 7856 7857 7069, 7086, 7103, 7108, 84, 7126, 7144, 7162, 7180, 7198, 7858 7216, 7234, 7252, 7270, 7288, 7306, 7324, 7342, 7360, 7378, 7859 7396, 7413, 7429, 7434, 7451, 7469, 7487, 7505, 7510, 7528, 7860 7541, 7556, 7574, 7592, 7610, 7628, 7646, 7664, 7682, 7700, 7861 7716, 7734, 7752, 7770, 7788, 7806, 7824, 7842, 7860, 7877, 7862 7893, 7910, 7928, 7946, 7964, 7982, 7987, 8005, 8023, 8041, 7863 8059, 8077, 8095, 8113, 8131, 8149, 8167, 8185, 8203, 8221, 7864 8239, 8257, 8275, 8293, 8310, 8315, 8331, 8348, 8366, 8384, 7865 8402, 8420, 8438, 8456, 8474, 8492, 8510, 8528, 8546, 8564, 7866 8582, 8600, 8618, 8636, 8654, 8672, 8690, 8708, 8726, 8744, 7867 7868 8762, 8779, 8797, 8814, 8830, 8835, 8852, 8870, 8888, 8906, 7869 8924, 8942, 8960, 8978, 8996, 9013, 9030, 9048, 9066, 9084, 7870 9102, 9120, 9138, 9156, 9173, 9190, 9206, 9211, 9227, 9243, 7871 9260, 9265, 9283, 9301, 9319, 9337, 9355, 9373, 9391, 9409, 7872 9427, 9445, 9463, 9481, 9499, 9517, 9535, 9553, 9571, 9589 6791 7873 } ; 6792 7874 6793 static yyconst flex_int16_t yy_def[ 1171] =7875 static yyconst flex_int16_t yy_def[2051] = 6794 7876 { 0, 6795 1131, 1, 1132, 1132, 1, 2, 1133, 1133, 1, 2, 6796 1, 2, 1131, 1131, 1131, 1131, 1134, 1135, 1131, 1131, 6797 1136, 1137, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 6798 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 6799 1138, 1138, 1138, 1138, 1138, 40, 1138, 1138, 1138, 1138, 6800 1138, 1138, 1138, 1138, 1131, 1131, 55, 1139, 1131, 37, 6801 1138, 1138, 1138, 1138, 1138, 1131, 1140, 1131, 1140, 1140, 6802 1140, 1141, 1131, 1131, 1131, 1131, 1131, 1131, 1134, 1134, 6803 1134, 1135, 1131, 1135, 1135, 1136, 1131, 1136, 1136, 1137, 6804 1142, 1137, 1131, 1137, 1137, 1131, 1131, 1131, 1143, 1131, 6805 6806 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1144, 29, 1131, 6807 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7877 1882, 1, 1883, 1883, 1, 1, 1884, 1884, 1885, 1885, 7878 1883, 1883, 1882, 13, 1, 1, 1882, 1882, 1882, 1882, 7879 1886, 1887, 1882, 1882, 1882, 1888, 1889, 1882, 1882, 1882, 7880 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1890, 1890, 7881 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 7882 1890, 1890, 51, 1890, 1890, 1890, 1890, 1890, 1890, 1882, 7883 1882, 1891, 41, 1890, 1890, 1890, 1890, 1882, 1892, 1882, 7884 1892, 1893, 1882, 1893, 1893, 1882, 1882, 1894, 1882, 1895, 7885 1895, 1895, 1895, 83, 83, 83, 1895, 1895, 83, 83, 7886 83, 83, 1895, 92, 83, 83, 1895, 93, 1895, 1895, 7887 7888 1882, 60, 1896, 33, 1882, 83, 83, 88, 82, 60, 7889 33, 1882, 1882, 1882, 1897, 1897, 1897, 1898, 1882, 1898, 7890 1898, 1882, 1899, 1900, 1901, 1900, 1882, 1900, 1900, 1902, 7891 1902, 1882, 1902, 1902, 1902, 1882, 1882, 1882, 1882, 1882, 7892 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 7893 1882, 1903, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1904, 7894 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 7895 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 7896 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 7897 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 7898 7899 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 7900 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1905, 60, 1882, 7901 1906, 1882, 1882, 1882, 1882, 1882, 1882, 1907, 1882, 1907, 7902 1907, 1907, 1882, 1904, 1904, 1904, 1904, 1904, 1904, 1908, 7903 1882, 1908, 1909, 1882, 1909, 1909, 1909, 1882, 1910, 1882, 7904 1882, 1882, 1882, 1911, 1912, 1882, 88, 88, 258, 258, 7905 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 7906 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 7907 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 7908 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 7909 7910 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 7911 258, 258, 258, 258, 1882, 1882, 1882, 1913, 219, 319, 7912 1882, 1914, 1882, 1914, 1914, 1914, 1882, 1882, 1882, 1882, 7913 1914, 1915, 1915, 333, 333, 333, 333, 333, 333, 258, 7914 258, 258, 258, 219, 1882, 1882, 1882, 1882, 1882, 1882, 7915 1916, 1916, 1917, 1917, 1917, 1918, 1919, 1919, 1919, 1919, 7916 1882, 1920, 1921, 1921, 1882, 1922, 1882, 1923, 1924, 1923, 7917 1923, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 7918 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1925, 1926, 1882, 7919 1882, 1927, 1882, 1928, 1882, 1882, 1929, 1929, 1929, 1929, 7920 7921 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 7922 1929, 1929, 1882, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 7923 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1882, 1929, 1882, 7924 1930, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 7925 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 7926 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 7927 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 7928 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1931, 1882, 1932, 7929 1882, 1882, 1882, 1882, 1882, 1882, 1933, 1933, 1933, 1882, 7930 1929, 1929, 1929, 1929, 1929, 1929, 1934, 1935, 1936, 1882, 7931 7932 1882, 1937, 1938, 1882, 1882, 1882, 1939, 1940, 1941, 1941, 7933 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7934 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7935 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7936 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7937 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7938 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7939 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7940 1941, 1941, 1941, 1941, 1941, 1882, 1882, 1942, 1882, 1882, 7941 1882, 590, 1882, 1882, 1943, 1943, 1882, 1882, 1882, 1943, 7942 7943 1944, 1944, 602, 602, 602, 602, 602, 602, 602, 1941, 7944 1941, 1941, 1941, 1882, 1882, 1882, 1882, 1945, 1945, 1946, 7945 1946, 1947, 1948, 1949, 1948, 1948, 1950, 1950, 1950, 1882, 7946 1882, 1951, 1952, 1952, 1882, 1882, 1882, 1882, 1882, 1882, 7947 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 7948 1882, 1882, 1882, 1882, 1953, 1954, 1882, 1882, 1882, 1955, 7949 1956, 1882, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7950 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7951 1882, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 1957, 1957, 7952 1957, 1882, 1882, 1957, 1882, 1882, 1957, 1957, 1957, 1957, 7953 7954 1957, 1957, 1882, 1882, 1957, 1957, 1882, 1957, 1958, 1959, 7955 1960, 1958, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7956 1957, 1957, 1882, 1882, 1957, 1957, 1957, 1957, 1882, 1882, 7957 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7958 1957, 1957, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 1957, 7959 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7960 1957, 1957, 1957, 1957, 1882, 1882, 1882, 1882, 1882, 1882, 7961 1882, 1961, 1961, 1961, 1882, 1957, 1957, 1957, 1957, 1957, 7962 1957, 1962, 1963, 1963, 1882, 1882, 1882, 1882, 1964, 1965, 7963 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7964 7965 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7966 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7967 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7968 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7969 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7970 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7971 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7972 1941, 1941, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1966, 7973 1966, 1882, 1966, 1967, 1967, 885, 885, 885, 885, 885, 7974 885, 885, 885, 885, 1941, 1941, 1941, 1941, 1882, 1882, 7975 7976 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1882, 1882, 1882, 7977 1975, 1976, 1977, 1978, 1979, 1882, 1882, 1882, 1882, 1882, 7978 1882, 1882, 1882, 1882, 1980, 1882, 1957, 1957, 1957, 1957, 7979 1957, 1981, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7980 1957, 1957, 1957, 1957, 1882, 1957, 1957, 1882, 1882, 1882, 7981 1882, 1882, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7982 1957, 1882, 1882, 1957, 1882, 1882, 1957, 1882, 1982, 1983, 7983 1984, 1985, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7984 1957, 1957, 1882, 1882, 1957, 1957, 1882, 1882, 1882, 1882, 7985 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 7986 7987 1957, 1957, 1882, 1882, 1882, 1882, 1957, 1957, 1957, 1957, 7988 1957, 1957, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 1957, 7989 1882, 1882, 1882, 1882, 1882, 1882, 1986, 1986, 1987, 1882, 7990 1882, 1957, 1882, 1957, 1957, 1882, 1882, 1882, 1988, 1989, 7991 1882, 1882, 1882, 1882, 1941, 1941, 1941, 1941, 1941, 1990, 7992 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7993 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7994 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7995 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7996 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7997 7998 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 7999 1941, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1991, 1992, 8000 1882, 1991, 1991, 1993, 1993, 1125, 1125, 1125, 1125, 1125, 8001 1125, 1994, 1125, 1941, 1941, 1882, 1995, 1882, 1996, 1997, 8002 1998, 1999, 1882, 2000, 2001, 2001, 1882, 1882, 1882, 2002, 8003 2003, 1882, 2004, 1882, 2005, 2005, 2006, 1882, 1882, 1882, 8004 1882, 1882, 1957, 1957, 2007, 1957, 1957, 1957, 1957, 1957, 8005 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1882, 1882, 8006 1957, 1957, 1882, 1882, 1882, 1882, 1882, 1957, 1957, 1957, 8007 1957, 1957, 1882, 1882, 1957, 1957, 2008, 2008, 2009, 2010, 8008 8009 2011, 2010, 2011, 2011, 1957, 1957, 1957, 1957, 1957, 1957, 8010 1957, 1882, 1882, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8011 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 8012 1957, 1957, 1957, 1957, 1957, 1882, 1882, 1882, 1882, 1882, 8013 2012, 2013, 2012, 1882, 1957, 1957, 1957, 2014, 2015, 1882, 8014 2016, 1882, 1882, 1941, 1941, 2017, 1941, 1941, 1941, 1941, 8015 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8016 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8017 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8018 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8019 8020 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1882, 2016, 1882, 8021 2018, 2019, 2019, 2020, 2021, 2021, 1316, 1316, 1316, 1316, 8022 1316, 1941, 1941, 1882, 1882, 2022, 2023, 1882, 2024, 2024, 8023 1882, 2025, 1882, 2026, 1882, 2027, 2027, 2028, 1882, 2029, 8024 1882, 1882, 1882, 1882, 1882, 1882, 1957, 1957, 1957, 1957, 8025 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1882, 1957, 1957, 8026 1882, 1882, 1957, 1882, 1882, 1882, 1957, 1957, 1957, 1957, 8027 1882, 1882, 1957, 1957, 2010, 2010, 2011, 1957, 1957, 1957, 8028 1957, 1957, 1957, 1882, 1882, 1957, 1882, 1957, 1957, 1957, 8029 1882, 1882, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1882, 8030 8031 1957, 1882, 1882, 1882, 1882, 1957, 1882, 1882, 1882, 2012, 8032 2012, 1882, 1957, 1882, 1957, 2014, 2015, 1882, 1882, 1882, 8033 2030, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8034 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8035 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8036 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8037 1882, 2031, 1882, 2019, 2019, 1316, 1316, 1316, 1316, 1316, 8038 1316, 1941, 1882, 1882, 1882, 1882, 2029, 1957, 1957, 1957, 8039 1957, 1957, 1957, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 8040 1882, 1957, 1882, 1882, 1882, 1957, 1957, 1957, 1957, 1957, 8041 8042 2010, 1957, 1957, 1957, 1882, 1957, 1957, 1957, 1957, 1957, 8043 1957, 1882, 1957, 1957, 1882, 1882, 2012, 1882, 1957, 1957, 8044 2014, 2015, 1882, 1882, 2032, 1941, 1941, 1941, 1941, 1941, 8045 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8046 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8047 1941, 1941, 1941, 1882, 1882, 2019, 1316, 1316, 1316, 1316, 8048 1941, 1882, 2033, 1882, 1882, 1882, 2034, 1882, 1882, 1957, 8049 1957, 1957, 1957, 1957, 1957, 1957, 1882, 1882, 1957, 1957, 8050 1882, 1957, 1882, 1882, 1957, 1957, 1957, 1882, 1882, 1882, 8051 1957, 1957, 1882, 1882, 1957, 1882, 1957, 1957, 1882, 1882, 8052 8053 2012, 1882, 1957, 2014, 2015, 1882, 2032, 1941, 1941, 1941, 8054 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8055 1941, 1941, 1941, 1941, 1941, 1882, 2035, 2019, 1316, 1316, 8056 1941, 2033, 2033, 2033, 1882, 2034, 2034, 2034, 1957, 1957, 8057 1957, 1957, 1882, 1882, 1957, 1957, 1882, 1882, 1882, 1882, 8058 1957, 1882, 1957, 1882, 1957, 1957, 1882, 2012, 1882, 2014, 8059 2015, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 8060 1941, 2035, 1882, 2035, 2035, 2019, 1316, 2033, 2033, 2036, 8061 2034, 1882, 2034, 1957, 1882, 1882, 1882, 1882, 1957, 1957, 8062 1957, 1882, 1957, 1882, 2012, 1882, 2014, 2015, 1941, 1941, 8063 8064 1941, 1941, 1941, 1882, 1882, 1882, 2037, 2038, 2035, 2035, 8065 2039, 2019, 2036, 2036, 2036, 1882, 1882, 1882, 1882, 1957, 8066 1957, 1882, 1957, 2012, 1882, 2014, 2040, 1941, 1941, 1941, 8067 1882, 1882, 2037, 2038, 2035, 2035, 2035, 2041, 2042, 2039, 8068 2039, 2039, 2019, 2036, 2033, 2036, 1882, 1882, 1882, 1882, 8069 1957, 1957, 1882, 1957, 2012, 1882, 2014, 2040, 1882, 1941, 8070 1941, 1941, 1882, 1882, 2035, 2035, 2041, 2041, 2041, 2042, 8071 1882, 2042, 2042, 2039, 2035, 2039, 2019, 1882, 1882, 1957, 8072 1882, 1957, 2012, 1882, 2014, 1941, 1941, 1882, 1882, 2035, 8073 2035, 2041, 2035, 2041, 2042, 2043, 2019, 1882, 1957, 1882, 8074 8075 1957, 2012, 1882, 2014, 1941, 1941, 1882, 2035, 2035, 2035, 8076 2043, 2043, 2043, 2019, 1882, 1882, 2012, 1882, 2014, 1882, 8077 2035, 2044, 2043, 2043, 2019, 2012, 1882, 2014, 1882, 2035, 8078 2039, 2035, 2035, 2019, 2012, 1882, 2014, 2035, 2019, 2012, 8079 1882, 2014, 2019, 2012, 1882, 2014, 2019, 2012, 1882, 2045, 8080 1882, 1882, 2046, 2014, 2019, 1882, 2047, 1882, 1882, 2048, 8081 2045, 1882, 1882, 2046, 1882, 2014, 2047, 1882, 2048, 2014, 8082 2014, 2014, 1882, 2049, 1882, 1882, 2050, 2049, 1882, 2050, 8083 1882, 0, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8084 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8085 8086 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8087 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8088 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8089 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8090 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8091 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8092 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8093 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8094 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8095 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8096 8097 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8098 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8099 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8100 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8101 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882 8102 } ; 8103 8104 static yyconst flex_int16_t yy_nxt[9689] = 8105 { 0, 8106 18, 19, 20, 19, 21, 22, 18, 23, 24, 25, 8107 26, 27, 28, 29, 28, 30, 28, 31, 32, 33, 8108 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 8109 44, 45, 46, 47, 46, 48, 49, 50, 51, 52, 8110 53, 46, 54, 55, 56, 57, 46, 58, 46, 46, 8111 59, 28, 28, 28, 39, 40, 41, 42, 43, 44, 8112 45, 46, 47, 48, 49, 50, 51, 52, 53, 46, 8113 54, 55, 56, 57, 46, 58, 46, 46, 59, 18, 8114 60, 61, 60, 62, 70, 1881, 71, 74, 73, 74, 8115 76, 77, 76, 76, 77, 76, 241, 478, 478, 78, 8116 8117 112, 242, 78, 114, 244, 114, 63, 64, 116, 71, 8118 65, 248, 66, 248, 113, 75, 112, 1879, 119, 340, 8119 112, 1881, 117, 67, 227, 220, 227, 221, 342, 112, 8120 113, 114, 112, 114, 113, 63, 64, 116, 71, 65, 8121 247, 66, 113, 120, 75, 112, 113, 592, 340, 112, 8122 117, 67, 60, 61, 60, 62, 342, 121, 113, 112, 8123 136, 112, 113, 593, 311, 155, 257, 112, 247, 312, 8124 350, 257, 120, 113, 113, 112, 112, 112, 63, 64, 8125 1879, 113, 65, 257, 66, 121, 349, 257, 112, 113, 8126 113, 113, 311, 283, 257, 67, 112, 312, 350, 257, 8127 8128 248, 113, 248, 1862, 112, 112, 112, 63, 64, 113, 8129 1868, 65, 257, 66, 1865, 349, 257, 113, 113, 113, 8130 1031, 283, 1031, 67, 18, 19, 79, 19, 21, 22, 8131 18, 23, 24, 25, 26, 27, 28, 29, 28, 30, 8132 28, 31, 32, 33, 34, 35, 36, 37, 38, 80, 8133 81, 82, 83, 84, 85, 86, 87, 88, 87, 89, 8134 90, 91, 92, 93, 94, 87, 95, 96, 97, 98, 8135 87, 99, 87, 87, 100, 28, 28, 28, 80, 81, 8136 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 8137 92, 93, 94, 87, 95, 96, 97, 98, 87, 99, 8138 8139 87, 87, 100, 18, 60, 101, 102, 62, 156, 122, 8140 122, 122, 123, 125, 351, 112, 103, 319, 1862, 320, 8141 126, 127, 104, 352, 399, 157, 158, 119, 256, 113, 8142 105, 106, 112, 876, 107, 321, 108, 395, 112, 395, 8143 375, 128, 396, 351, 112, 809, 113, 109, 327, 877, 8144 328, 352, 113, 399, 1862, 129, 130, 113, 130, 105, 8145 106, 112, 376, 107, 355, 108, 329, 112, 375, 131, 8146 128, 131, 1868, 132, 113, 109, 110, 61, 110, 62, 8147 113, 166, 162, 129, 159, 134, 162, 146, 147, 146, 8148 376, 112, 355, 403, 111, 148, 165, 383, 149, 135, 8149 8150 165, 384, 63, 64, 150, 113, 65, 1865, 66, 151, 8151 166, 162, 162, 257, 134, 162, 112, 288, 1862, 67, 8152 112, 186, 403, 257, 165, 383, 165, 135, 165, 384, 8153 113, 63, 64, 113, 344, 65, 344, 66, 346, 256, 8154 346, 162, 257, 256, 1803, 112, 288, 67, 137, 186, 8155 137, 257, 345, 119, 165, 218, 347, 152, 113, 153, 8156 122, 122, 122, 123, 256, 1759, 138, 348, 154, 154, 8157 112, 161, 139, 354, 162, 162, 140, 112, 141, 1705, 8158 163, 154, 400, 142, 113, 143, 144, 164, 165, 165, 8159 401, 113, 245, 244, 245, 145, 348, 154, 154, 112, 8160 8161 161, 139, 354, 162, 162, 140, 112, 141, 163, 154, 8162 400, 142, 113, 143, 144, 164, 165, 165, 401, 113, 8163 246, 1705, 402, 145, 167, 162, 172, 162, 191, 162, 8164 173, 168, 192, 162, 118, 169, 174, 1143, 170, 165, 8165 229, 165, 193, 165, 125, 230, 1759, 165, 171, 246, 8166 402, 126, 127, 167, 162, 172, 162, 191, 162, 173, 8167 168, 192, 162, 169, 174, 187, 170, 165, 231, 165, 8168 193, 165, 188, 189, 190, 165, 171, 162, 1033, 165, 8169 1033, 404, 232, 175, 118, 176, 177, 1328, 178, 179, 8170 233, 165, 406, 1705, 187, 180, 125, 231, 1705, 256, 8171 8172 188, 189, 190, 126, 127, 256, 162, 165, 234, 404, 8173 232, 175, 162, 176, 177, 405, 178, 179, 412, 165, 8174 406, 194, 235, 180, 162, 662, 165, 181, 125, 256, 8175 182, 183, 130, 184, 130, 126, 127, 234, 165, 185, 8176 409, 162, 417, 195, 405, 131, 412, 131, 162, 194, 8177 235, 363, 256, 162, 165, 196, 181, 197, 182, 183, 8178 162, 184, 165, 198, 202, 397, 165, 185, 199, 409, 8179 200, 417, 195, 229, 165, 201, 160, 162, 203, 416, 8180 363, 204, 398, 196, 205, 197, 206, 162, 256, 162, 8181 165, 198, 212, 202, 397, 418, 199, 162, 200, 213, 8182 8183 256, 165, 165, 201, 160, 377, 203, 416, 1696, 204, 8184 398, 165, 205, 207, 662, 206, 162, 208, 162, 256, 8185 378, 212, 162, 418, 1517, 419, 162, 209, 213, 165, 8186 214, 256, 210, 211, 377, 215, 165, 125, 162, 165, 8187 216, 1882, 207, 1882, 126, 127, 208, 162, 378, 256, 8188 217, 162, 165, 419, 1882, 209, 1882, 256, 214, 259, 8189 210, 211, 442, 215, 165, 381, 256, 162, 420, 216, 8190 423, 256, 256, 262, 256, 382, 256, 364, 217, 241, 8191 165, 219, 220, 219, 221, 236, 162, 256, 259, 172, 8192 162, 442, 237, 173, 381, 186, 420, 263, 423, 174, 8193 8194 165, 262, 259, 382, 165, 364, 424, 222, 223, 323, 8195 112, 224, 256, 225, 236, 162, 262, 459, 172, 162, 8196 237, 256, 173, 186, 226, 425, 263, 174, 165, 256, 8197 1521, 259, 165, 426, 424, 256, 222, 223, 212, 112, 8198 224, 187, 225, 162, 262, 213, 459, 256, 188, 238, 8199 190, 470, 226, 425, 256, 165, 256, 165, 407, 408, 8200 1556, 426, 239, 251, 252, 253, 254, 212, 1633, 427, 8201 187, 1634, 162, 256, 213, 255, 188, 238, 190, 258, 8202 470, 256, 259, 165, 284, 165, 407, 408, 260, 255, 8203 239, 285, 286, 287, 432, 261, 262, 427, 262, 289, 8204 8205 269, 259, 257, 257, 270, 472, 257, 256, 258, 290, 8206 271, 259, 291, 284, 440, 262, 260, 441, 255, 285, 8207 286, 287, 432, 261, 262, 256, 262, 473, 289, 269, 8208 259, 257, 257, 270, 472, 257, 445, 290, 271, 256, 8209 291, 446, 440, 262, 474, 441, 379, 410, 264, 323, 8210 257, 299, 411, 259, 278, 265, 473, 279, 280, 266, 8211 281, 380, 267, 257, 445, 300, 282, 262, 301, 446, 8212 256, 302, 268, 474, 413, 379, 410, 264, 218, 257, 8213 299, 411, 259, 278, 265, 279, 280, 266, 281, 380, 8214 267, 257, 229, 300, 282, 262, 301, 477, 259, 302, 8215 8216 268, 257, 428, 483, 428, 257, 1633, 447, 272, 1634, 8217 273, 274, 262, 275, 276, 414, 415, 292, 303, 256, 8218 277, 257, 257, 256, 256, 257, 477, 259, 257, 293, 8219 257, 294, 483, 256, 257, 447, 272, 295, 273, 274, 8220 262, 275, 276, 414, 415, 429, 292, 303, 277, 448, 8221 257, 257, 259, 443, 257, 256, 257, 293, 323, 294, 8222 296, 444, 297, 449, 304, 295, 262, 298, 305, 324, 8223 138, 452, 257, 429, 256, 256, 256, 448, 306, 374, 8224 374, 259, 443, 307, 308, 692, 325, 692, 296, 444, 8225 297, 449, 374, 304, 262, 298, 256, 305, 309, 452, 8226 8227 326, 257, 259, 259, 313, 310, 306, 693, 374, 374, 8228 453, 307, 308, 454, 314, 325, 262, 262, 421, 500, 8229 374, 500, 254, 315, 316, 317, 318, 309, 326, 422, 8230 256, 259, 259, 313, 310, 255, 257, 490, 453, 465, 8231 257, 454, 314, 341, 262, 262, 283, 421, 466, 255, 8232 358, 359, 358, 146, 147, 146, 256, 422, 360, 361, 8233 500, 148, 501, 254, 256, 257, 490, 465, 256, 257, 8234 150, 341, 256, 1031, 283, 1031, 466, 256, 255, 322, 8235 322, 330, 322, 322, 322, 322, 331, 322, 322, 322, 8236 322, 322, 322, 322, 322, 322, 322, 322, 332, 322, 8237 8238 322, 322, 322, 322, 333, 332, 332, 332, 332, 334, 8239 332, 335, 332, 332, 332, 336, 332, 332, 337, 332, 8240 332, 332, 332, 338, 332, 332, 332, 332, 339, 332, 8241 322, 322, 332, 333, 332, 332, 332, 332, 334, 332, 8242 335, 332, 332, 336, 332, 332, 337, 332, 332, 332, 8243 332, 338, 332, 332, 332, 332, 339, 332, 322, 309, 8244 359, 365, 430, 365, 430, 1518, 310, 622, 361, 467, 8245 257, 229, 431, 257, 1882, 366, 1882, 367, 365, 368, 8246 365, 471, 484, 343, 631, 1033, 399, 1033, 309, 362, 8247 394, 1882, 366, 1882, 367, 310, 368, 467, 257, 154, 8248 8249 154, 257, 370, 365, 137, 365, 137, 244, 353, 471, 8250 484, 343, 154, 369, 485, 399, 1882, 366, 1882, 367, 8251 119, 368, 385, 386, 387, 388, 323, 323, 154, 154, 8252 369, 370, 372, 498, 389, 390, 391, 390, 392, 457, 8253 154, 373, 485, 148, 371, 458, 256, 152, 389, 153, 8254 229, 145, 150, 433, 455, 369, 437, 438, 154, 154, 8255 450, 372, 498, 439, 456, 434, 256, 435, 457, 373, 8256 436, 154, 371, 458, 229, 451, 636, 389, 460, 145, 8257 461, 256, 433, 455, 437, 438, 475, 154, 154, 450, 8258 476, 439, 456, 434, 468, 435, 462, 463, 436, 154, 8259 8260 464, 1695, 1882, 451, 229, 636, 229, 460, 469, 461, 8261 350, 402, 481, 256, 489, 475, 479, 486, 1633, 476, 8262 241, 1634, 256, 468, 462, 463, 482, 487, 464, 488, 8263 244, 1882, 227, 220, 227, 221, 469, 493, 350, 402, 8264 494, 481, 489, 497, 479, 486, 227, 220, 227, 221, 8265 227, 220, 227, 221, 482, 404, 487, 433, 488, 407, 8266 492, 496, 491, 256, 616, 493, 247, 256, 494, 434, 8267 256, 435, 497, 617, 495, 245, 244, 245, 256, 251, 8268 252, 253, 254, 404, 229, 229, 433, 407, 492, 496, 8269 491, 255, 616, 511, 247, 257, 590, 434, 590, 435, 8270 8271 515, 617, 495, 246, 1375, 255, 257, 504, 505, 506, 8272 507, 631, 257, 257, 257, 257, 362, 257, 323, 508, 8273 257, 618, 511, 323, 257, 591, 119, 509, 323, 515, 8274 257, 639, 246, 508, 255, 257, 619, 257, 257, 257, 8275 257, 257, 257, 257, 510, 257, 257, 241, 257, 618, 8276 353, 595, 257, 119, 591, 512, 509, 620, 596, 257, 8277 639, 257, 508, 257, 619, 257, 257, 257, 513, 257, 8278 257, 327, 510, 594, 1712, 257, 514, 323, 257, 516, 8279 595, 257, 517, 512, 257, 620, 596, 257, 257, 593, 8280 257, 257, 257, 521, 256, 323, 513, 257, 1726, 257, 8281 8282 518, 257, 519, 520, 514, 257, 257, 516, 256, 257, 8283 257, 517, 359, 257, 119, 257, 413, 257, 600, 622, 8284 361, 257, 521, 586, 220, 586, 318, 257, 518, 257, 8285 519, 520, 257, 257, 522, 257, 257, 257, 257, 523, 8286 257, 256, 524, 527, 257, 257, 528, 600, 256, 257, 8287 529, 635, 257, 257, 621, 256, 257, 525, 526, 349, 8288 256, 257, 257, 522, 257, 257, 257, 256, 523, 257, 8289 524, 527, 257, 615, 257, 528, 257, 257, 529, 635, 8290 257, 257, 621, 257, 530, 525, 526, 650, 349, 257, 8291 257, 531, 344, 257, 344, 257, 257, 256, 534, 257, 8292 8293 256, 615, 532, 257, 256, 257, 257, 257, 229, 229, 8294 345, 257, 530, 533, 652, 650, 257, 535, 257, 531, 8295 536, 257, 537, 926, 257, 257, 534, 1158, 257, 257, 8296 1149, 532, 257, 428, 257, 428, 257, 430, 257, 430, 8297 538, 533, 652, 665, 257, 535, 257, 431, 536, 256, 8298 537, 540, 257, 666, 256, 257, 257, 256, 257, 257, 8299 1802, 511, 627, 257, 627, 545, 546, 257, 538, 257, 8300 541, 665, 547, 257, 257, 628, 539, 628, 257, 540, 8301 257, 666, 542, 257, 543, 257, 560, 544, 257, 548, 8302 511, 256, 257, 545, 546, 257, 668, 241, 257, 541, 8303 8304 547, 257, 257, 663, 539, 257, 256, 257, 257, 550, 8305 542, 256, 543, 549, 560, 544, 257, 548, 256, 257, 8306 257, 359, 257, 257, 668, 554, 257, 551, 622, 361, 8307 553, 257, 663, 257, 257, 552, 323, 257, 550, 332, 8308 257, 549, 605, 257, 669, 257, 332, 257, 1804, 257, 8309 257, 555, 365, 554, 365, 257, 551, 257, 553, 257, 8310 257, 257, 558, 552, 257, 257, 366, 332, 556, 257, 8311 605, 257, 669, 557, 332, 256, 257, 559, 257, 555, 8312 670, 257, 257, 664, 563, 257, 257, 1814, 257, 257, 8313 667, 558, 565, 257, 564, 257, 556, 561, 566, 257, 8314 8315 562, 557, 256, 257, 257, 559, 505, 257, 670, 257, 8316 671, 257, 664, 563, 672, 257, 567, 257, 568, 667, 8317 569, 565, 564, 257, 257, 561, 566, 257, 562, 679, 8318 637, 257, 637, 505, 257, 638, 570, 571, 671, 970, 8319 572, 257, 672, 573, 969, 567, 257, 568, 680, 569, 8320 257, 682, 327, 257, 878, 257, 578, 257, 679, 574, 8321 683, 576, 257, 257, 570, 571, 681, 257, 572, 257, 8322 877, 573, 257, 575, 257, 577, 257, 680, 514, 257, 8323 257, 257, 257, 580, 257, 578, 257, 574, 581, 683, 8324 576, 579, 257, 257, 653, 257, 653, 388, 257, 257, 8325 8326 257, 575, 257, 577, 662, 257, 514, 257, 257, 582, 8327 257, 257, 580, 597, 257, 597, 583, 581, 684, 579, 8328 584, 257, 257, 1031, 257, 1031, 257, 257, 585, 926, 8329 386, 257, 315, 316, 317, 318, 257, 677, 582, 257, 8330 386, 678, 591, 257, 255, 583, 597, 684, 598, 584, 8331 702, 257, 257, 586, 220, 587, 318, 585, 255, 257, 8332 920, 327, 705, 594, 593, 677, 919, 257, 346, 678, 8333 346, 591, 1033, 603, 1033, 591, 694, 152, 702, 599, 8334 504, 505, 506, 507, 332, 604, 345, 255, 154, 154, 8335 705, 332, 508, 332, 606, 607, 332, 614, 917, 916, 8336 8337 332, 154, 603, 332, 591, 694, 508, 358, 359, 358, 8338 638, 365, 332, 365, 604, 360, 361, 154, 154, 332, 8339 638, 332, 606, 607, 332, 366, 614, 332, 332, 154, 8340 327, 332, 327, 608, 332, 508, 322, 322, 330, 322, 8341 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8342 322, 322, 322, 322, 322, 332, 322, 322, 322, 322, 8343 322, 608, 332, 609, 257, 257, 541, 358, 359, 358, 8344 700, 653, 332, 654, 388, 360, 361, 611, 542, 332, 8345 543, 610, 257, 612, 346, 701, 346, 322, 322, 125, 8346 127, 589, 609, 257, 257, 541, 126, 127, 256, 700, 8347 8348 332, 1414, 430, 1414, 430, 611, 542, 332, 543, 610, 8349 257, 612, 431, 614, 701, 322, 322, 322, 330, 322, 8350 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8351 322, 322, 322, 322, 322, 706, 322, 322, 322, 322, 8352 322, 257, 614, 125, 346, 256, 346, 365, 125, 365, 8353 126, 127, 601, 505, 613, 126, 127, 708, 257, 602, 8354 152, 366, 347, 367, 706, 630, 673, 322, 322, 674, 8355 257, 154, 154, 614, 365, 505, 365, 625, 252, 252, 8356 601, 703, 613, 703, 154, 708, 257, 602, 366, 713, 8357 367, 626, 368, 250, 673, 322, 1418, 674, 1418, 369, 8358 8359 154, 154, 614, 704, 365, 625, 365, 365, 640, 365, 8360 640, 229, 154, 695, 647, 695, 647, 713, 366, 626, 8361 367, 366, 368, 367, 641, 368, 369, 710, 765, 719, 8362 648, 385, 386, 387, 388, 696, 711, 712, 396, 633, 8363 698, 699, 396, 389, 390, 391, 390, 392, 428, 697, 8364 428, 634, 148, 642, 649, 241, 369, 389, 719, 369, 8365 413, 150, 413, 657, 658, 659, 660, 633, 698, 699, 8366 675, 148, 714, 722, 394, 389, 681, 697, 682, 634, 8367 150, 642, 649, 374, 374, 717, 389, 676, 715, 389, 8368 662, 707, 716, 720, 721, 723, 374, 723, 718, 675, 8369 8370 714, 413, 722, 414, 725, 386, 1842, 726, 727, 728, 8371 731, 735, 374, 374, 717, 676, 715, 724, 389, 707, 8372 716, 720, 721, 729, 374, 729, 718, 732, 733, 413, 8373 734, 414, 685, 725, 685, 726, 736, 727, 728, 731, 8374 735, 737, 738, 739, 742, 730, 386, 651, 743, 740, 8375 646, 645, 750, 744, 686, 732, 733, 741, 734, 687, 8376 644, 745, 751, 752, 688, 736, 753, 754, 759, 737, 8377 738, 755, 739, 742, 689, 690, 743, 740, 691, 746, 8378 750, 746, 744, 756, 757, 741, 229, 758, 687, 745, 8379 751, 760, 752, 688, 761, 753, 754, 759, 762, 755, 8380 8381 763, 747, 689, 690, 764, 486, 691, 766, 767, 768, 8382 769, 756, 757, 770, 748, 758, 771, 229, 229, 760, 8383 773, 775, 761, 749, 776, 778, 762, 875, 763, 779, 8384 780, 781, 764, 486, 241, 766, 767, 768, 769, 675, 8385 643, 770, 748, 718, 771, 256, 772, 256, 773, 631, 8386 775, 749, 256, 776, 778, 875, 777, 127, 779, 780, 8387 781, 774, 256, 782, 783, 244, 783, 785, 675, 785, 8388 254, 718, 791, 256, 785, 772, 786, 254, 787, 256, 8389 787, 507, 256, 792, 777, 504, 505, 506, 507, 774, 8390 796, 787, 782, 788, 507, 256, 784, 508, 256, 794, 8391 8392 256, 791, 256, 256, 623, 256, 256, 793, 122, 256, 8393 795, 508, 792, 256, 413, 797, 125, 256, 796, 256, 8394 119, 256, 256, 1146, 1147, 784, 256, 794, 256, 798, 8395 809, 803, 808, 256, 323, 793, 805, 806, 799, 795, 8396 508, 800, 807, 797, 801, 810, 323, 802, 804, 811, 8397 589, 692, 256, 692, 826, 525, 256, 798, 825, 817, 8398 803, 808, 256, 256, 805, 806, 799, 819, 820, 800, 8399 256, 807, 801, 693, 810, 802, 804, 256, 811, 695, 8400 256, 695, 826, 525, 685, 256, 685, 825, 817, 821, 8401 822, 703, 256, 703, 256, 819, 820, 823, 256, 256, 8402 8403 256, 696, 256, 256, 252, 824, 686, 256, 256, 252, 8404 256, 812, 499, 704, 256, 818, 813, 250, 821, 822, 8405 829, 256, 244, 256, 256, 823, 814, 815, 827, 241, 8406 816, 256, 828, 824, 831, 833, 836, 723, 256, 723, 8407 812, 834, 830, 818, 835, 813, 838, 832, 829, 839, 8408 256, 840, 837, 256, 814, 815, 827, 256, 816, 724, 8409 828, 843, 845, 831, 833, 836, 729, 256, 729, 834, 8410 830, 256, 835, 256, 838, 832, 256, 841, 839, 256, 8411 840, 837, 256, 256, 256, 256, 229, 842, 730, 843, 8412 256, 845, 615, 844, 846, 256, 256, 256, 256, 229, 8413 8414 256, 256, 362, 746, 256, 746, 841, 256, 256, 256, 8415 849, 1418, 848, 1418, 847, 842, 256, 853, 850, 852, 8416 615, 844, 854, 846, 861, 747, 851, 858, 859, 256, 8417 855, 860, 256, 256, 862, 122, 865, 864, 856, 849, 8418 848, 863, 847, 256, 868, 853, 850, 857, 852, 866, 8419 871, 854, 323, 861, 851, 858, 859, 353, 855, 256, 8420 860, 867, 119, 862, 865, 864, 856, 250, 323, 863, 8421 244, 869, 868, 870, 241, 857, 323, 866, 871, 873, 8422 220, 873, 318, 896, 1882, 872, 873, 220, 874, 318, 8423 867, 315, 316, 317, 318, 881, 597, 73, 879, 869, 8424 8425 332, 870, 880, 255, 597, 883, 597, 886, 597, 332, 8426 879, 332, 896, 872, 877, 70, 894, 255, 921, 1882, 8427 921, 388, 332, 881, 887, 591, 877, 1882, 1882, 332, 8428 880, 332, 1882, 591, 883, 886, 888, 591, 332, 889, 8429 332, 327, 890, 878, 894, 256, 255, 590, 220, 590, 8430 221, 332, 887, 901, 591, 332, 256, 152, 903, 882, 8431 332, 899, 591, 256, 888, 900, 591, 889, 154, 154, 8432 890, 893, 897, 222, 223, 930, 591, 224, 365, 225, 8433 365, 154, 901, 898, 332, 832, 895, 903, 902, 899, 8434 479, 1882, 366, 900, 1882, 1882, 631, 154, 154, 893, 8435 8436 119, 897, 222, 223, 930, 591, 224, 1673, 225, 154, 8437 1882, 1882, 898, 832, 1674, 895, 902, 1675, 479, 322, 8438 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, 8439 322, 322, 322, 322, 322, 322, 322, 322, 904, 322, 8440 322, 322, 322, 322, 891, 627, 332, 627, 918, 125, 8441 1882, 640, 1882, 640, 1882, 884, 126, 127, 628, 927, 8442 628, 892, 647, 1882, 647, 1882, 904, 641, 1882, 1882, 8443 322, 322, 119, 891, 1882, 332, 918, 1882, 648, 365, 8444 1882, 365, 921, 884, 922, 388, 1474, 927, 1474, 892, 8445 906, 1882, 1474, 366, 1474, 931, 905, 630, 322, 322, 8446 8447 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, 8448 322, 322, 322, 322, 322, 322, 322, 322, 906, 322, 8449 322, 322, 322, 322, 931, 905, 125, 908, 885, 908, 8450 932, 369, 1882, 126, 127, 1882, 928, 934, 909, 640, 8451 1882, 640, 1882, 910, 365, 911, 365, 365, 929, 365, 8452 322, 322, 647, 907, 647, 641, 933, 885, 366, 932, 8453 367, 366, 368, 367, 928, 368, 934, 936, 648, 935, 8454 1003, 692, 1003, 692, 1882, 915, 929, 937, 322, 912, 8455 1004, 938, 907, 941, 933, 942, 914, 939, 1882, 923, 8456 391, 923, 660, 693, 940, 936, 369, 148, 935, 369, 8457 8458 657, 658, 659, 660, 915, 937, 150, 943, 148, 938, 8459 944, 941, 389, 942, 914, 953, 939, 150, 954, 923, 8460 391, 924, 660, 940, 955, 957, 389, 148, 956, 390, 8461 391, 390, 392, 958, 964, 943, 150, 148, 944, 945, 8462 695, 945, 695, 953, 959, 960, 150, 954, 961, 967, 8463 968, 1882, 1882, 955, 957, 389, 956, 962, 703, 962, 8464 703, 958, 696, 964, 965, 710, 965, 974, 973, 1882, 8465 975, 946, 959, 960, 711, 712, 961, 967, 968, 963, 8466 704, 971, 710, 971, 980, 947, 966, 986, 976, 979, 8467 981, 711, 712, 982, 972, 974, 972, 973, 975, 977, 8468 8469 946, 985, 983, 972, 983, 723, 978, 723, 992, 987, 8470 993, 987, 980, 947, 685, 986, 685, 976, 979, 981, 8471 994, 995, 982, 989, 984, 989, 997, 724, 977, 1882, 8472 985, 988, 996, 729, 978, 729, 686, 992, 998, 993, 8473 999, 948, 1000, 1882, 1001, 990, 949, 1002, 994, 995, 8474 1007, 746, 1008, 746, 997, 730, 950, 951, 991, 972, 8475 952, 996, 1009, 1010, 1011, 1005, 998, 1005, 999, 1012, 8476 948, 1000, 1001, 747, 1013, 949, 1002, 1014, 1007, 1015, 8477 1008, 1016, 1018, 1016, 950, 951, 991, 1006, 952, 1019, 8478 1009, 1010, 1020, 1011, 1021, 229, 1022, 1023, 1012, 1024, 8479 8480 1025, 1026, 1013, 1017, 229, 1014, 229, 1032, 1015, 1030, 8481 1034, 1018, 241, 256, 244, 939, 256, 1882, 1019, 256, 8482 977, 1020, 256, 1021, 1022, 1882, 1023, 978, 1024, 1025, 8483 1026, 1035, 1036, 1029, 1036, 1027, 1032, 1030, 1041, 1034, 8484 1041, 254, 1037, 256, 939, 1028, 1038, 1048, 1049, 977, 8485 1040, 1038, 1039, 1046, 1045, 978, 783, 244, 783, 1035, 8486 256, 256, 1029, 1027, 1041, 256, 1042, 254, 1043, 256, 8487 1043, 507, 1043, 1028, 1044, 507, 1048, 1049, 1040, 256, 8488 1039, 1046, 1045, 256, 1047, 256, 256, 1050, 784, 256, 8489 256, 256, 1052, 256, 945, 256, 945, 256, 256, 1055, 8490 8491 256, 256, 1051, 256, 256, 256, 1053, 256, 256, 1882, 8492 1137, 256, 1047, 1058, 1882, 256, 1050, 784, 1114, 256, 8493 1054, 1052, 1057, 1882, 1059, 1067, 1063, 1055, 1056, 1061, 8494 1051, 1062, 1060, 1066, 1069, 1053, 256, 1065, 256, 1137, 8495 1064, 256, 1058, 256, 1882, 1070, 1114, 1073, 1054, 1071, 8496 1068, 1057, 1059, 1072, 1067, 1063, 1056, 1061, 1077, 1062, 8497 1060, 1075, 1066, 1069, 256, 1065, 1074, 256, 1064, 962, 8498 256, 962, 1076, 1070, 1079, 1073, 256, 1071, 1068, 256, 8499 1078, 1072, 965, 256, 965, 256, 1077, 256, 256, 1075, 8500 1882, 963, 256, 1080, 256, 1074, 256, 1882, 1082, 256, 8501 8502 1081, 1076, 1085, 1079, 966, 256, 256, 256, 1078, 256, 8503 256, 256, 1083, 1086, 1084, 983, 256, 983, 256, 1090, 8504 256, 1087, 1080, 987, 256, 987, 256, 1082, 1081, 1092, 8505 1089, 1085, 989, 256, 989, 1882, 1093, 984, 1094, 1882, 8506 1083, 1097, 1086, 1084, 1091, 988, 1098, 1095, 1090, 1087, 8507 256, 1100, 1096, 256, 990, 256, 1103, 1092, 256, 1089, 8508 1101, 1003, 256, 1003, 256, 1093, 1094, 1088, 256, 256, 8509 1097, 1004, 1091, 256, 1098, 1095, 1005, 256, 1005, 1100, 8510 1096, 1099, 256, 1104, 1103, 1016, 256, 1016, 1101, 1105, 8511 256, 323, 1107, 1102, 1136, 1088, 1108, 1193, 1006, 1193, 8512 8513 1109, 1112, 220, 1112, 318, 1882, 327, 1017, 1117, 1110, 8514 1099, 1106, 1104, 1112, 220, 1113, 318, 1111, 1105, 1194, 8515 1107, 1102, 1136, 1882, 1116, 1108, 597, 323, 1118, 1109, 8516 1882, 323, 1119, 597, 322, 1118, 322, 1139, 1110, 1106, 8517 322, 327, 322, 1117, 1116, 1882, 1111, 590, 220, 1115, 8518 221, 1116, 256, 1882, 1120, 591, 1882, 152, 1125, 1121, 8519 1119, 119, 591, 1882, 1163, 1116, 1139, 1164, 154, 154, 8520 1882, 1122, 1165, 222, 223, 1134, 591, 224, 322, 225, 8521 322, 154, 1124, 1120, 591, 1141, 365, 1125, 365, 1167, 8522 479, 591, 1163, 1882, 322, 1164, 322, 154, 154, 1122, 8523 8524 366, 1165, 222, 223, 1134, 591, 224, 1882, 225, 154, 8525 1124, 322, 1882, 322, 1141, 1882, 1127, 1167, 479, 322, 8526 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, 8527 322, 322, 322, 322, 322, 322, 322, 322, 1129, 322, 8528 322, 322, 322, 322, 1127, 1882, 1128, 1033, 256, 1033, 8529 1036, 256, 1036, 1166, 908, 1159, 908, 1159, 388, 1169, 8530 1037, 322, 1170, 322, 1038, 909, 1129, 1171, 1172, 1038, 8531 322, 322, 1882, 1159, 1128, 1160, 388, 1161, 391, 1161, 8532 660, 1250, 1166, 1250, 254, 148, 1003, 1169, 1003, 1126, 8533 1250, 1170, 1251, 254, 150, 1171, 1004, 1172, 322, 322, 8534 8535 1123, 330, 1123, 322, 322, 322, 322, 322, 322, 322, 8536 322, 322, 322, 322, 322, 322, 322, 322, 1126, 322, 8537 322, 322, 322, 322, 322, 322, 322, 322, 125, 322, 8538 256, 322, 1173, 1174, 1175, 126, 127, 1161, 391, 1162, 8539 660, 1176, 1882, 1177, 1183, 148, 1186, 908, 1130, 908, 8540 322, 322, 1882, 1132, 150, 1144, 1131, 1133, 909, 1080, 8541 1173, 1174, 1175, 910, 1178, 1148, 1081, 1181, 1882, 1176, 8542 1135, 1177, 1183, 365, 1186, 365, 1882, 1130, 322, 908, 8543 1182, 908, 1132, 1184, 1144, 1131, 1133, 366, 1080, 367, 8544 909, 368, 1185, 1178, 1081, 910, 1181, 911, 1135, 912, 8545 8546 1882, 1151, 657, 658, 659, 660, 1236, 1882, 1236, 1182, 8547 148, 627, 1184, 627, 389, 1252, 1237, 1252, 507, 150, 8548 1252, 1185, 1253, 507, 628, 369, 628, 945, 389, 945, 8549 1151, 912, 1138, 1152, 1187, 1152, 1138, 1138, 1138, 1138, 8550 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1153, 1138, 1154, 8551 1138, 1155, 1138, 1138, 1138, 1138, 1138, 389, 1188, 1179, 8552 1882, 1189, 1190, 1187, 1191, 1192, 1882, 1195, 962, 1196, 8553 962, 1205, 1882, 1180, 965, 1206, 965, 1207, 1208, 1882, 8554 1209, 1210, 1214, 1138, 1138, 1157, 1188, 1882, 1179, 1189, 8555 963, 1190, 1882, 1191, 1192, 1195, 966, 1414, 1196, 1414, 8556 8557 1205, 1180, 1211, 1882, 1206, 1207, 1882, 1208, 1209, 1210, 8558 1214, 1138, 1138, 1138, 1215, 1138, 1138, 1138, 1138, 1138, 6808 8559 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 8560 1138, 1211, 1138, 1138, 1138, 1138, 1138, 1197, 1199, 1197, 8561 1199, 1882, 1882, 1215, 1236, 1212, 1236, 1212, 969, 970, 8562 1198, 1200, 1198, 1200, 1237, 971, 710, 971, 1216, 1198, 8563 1200, 1217, 710, 1138, 1138, 711, 712, 1213, 972, 1218, 8564 972, 1202, 1203, 983, 1204, 983, 1204, 972, 987, 989, 8565 987, 989, 1219, 1204, 1220, 1221, 1882, 1216, 1222, 1223, 8566 1217, 1138, 1224, 1225, 1226, 984, 1227, 1005, 1218, 1005, 8567 8568 988, 990, 1228, 1229, 1231, 1230, 1232, 1882, 1233, 1234, 8569 1235, 1219, 1220, 1238, 1221, 1198, 1200, 1222, 1223, 1006, 8570 1224, 1239, 1225, 1226, 1227, 1016, 1240, 1016, 229, 229, 8571 1228, 1229, 1231, 972, 1230, 1232, 1233, 1234, 1235, 1204, 8572 1244, 1036, 1238, 1036, 1245, 244, 1246, 1017, 1247, 256, 8573 1239, 1037, 241, 256, 1240, 1038, 1242, 256, 256, 1241, 8574 1038, 1036, 1038, 1036, 1038, 1310, 1882, 256, 256, 1244, 8575 1414, 1037, 1414, 1245, 1246, 1038, 1038, 1247, 1882, 1882, 8576 1038, 1038, 1348, 1248, 1256, 1242, 1882, 1249, 1241, 1255, 8577 1254, 1257, 1261, 1310, 1258, 1236, 256, 1236, 1308, 220, 8578 8579 1308, 318, 1882, 1882, 256, 1237, 1308, 220, 1309, 318, 8580 1348, 256, 1248, 1256, 256, 1249, 256, 1255, 1254, 256, 8581 1257, 1261, 1258, 1138, 1138, 256, 1138, 1138, 1138, 1138, 6809 8582 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 8583 1138, 1138, 1260, 1138, 1138, 1138, 1138, 1138, 256, 256, 8584 1262, 1264, 1265, 256, 256, 256, 1266, 256, 256, 256, 8585 256, 256, 332, 256, 256, 256, 1882, 256, 256, 256, 8586 1260, 256, 256, 1882, 1138, 1138, 1263, 256, 1262, 1264, 8587 1265, 256, 1267, 1270, 1266, 1269, 1275, 1271, 1274, 1276, 8588 256, 332, 1273, 1272, 1268, 1280, 1278, 1193, 256, 1193, 8589 8590 1277, 1285, 1138, 1882, 1282, 1263, 1279, 256, 1281, 1283, 8591 1267, 256, 1270, 1286, 1269, 1275, 1271, 1274, 1276, 1194, 8592 1273, 1272, 1268, 256, 1280, 1278, 1284, 256, 1277, 256, 8593 1285, 256, 256, 1282, 1287, 1279, 1281, 1283, 1212, 256, 8594 1212, 1286, 256, 1292, 256, 256, 256, 256, 256, 256, 8595 1288, 256, 256, 256, 1284, 256, 256, 1290, 1289, 1293, 8596 1213, 256, 1295, 1287, 256, 332, 1882, 1297, 1291, 323, 8597 332, 1292, 1294, 1298, 1123, 323, 1123, 1324, 1302, 1288, 8598 1318, 1882, 1301, 1304, 1882, 1882, 1290, 1289, 1293, 1296, 8599 1299, 1295, 323, 1300, 332, 1303, 1297, 1291, 1306, 332, 8600 8601 1313, 1294, 1298, 1307, 1882, 1305, 1324, 1302, 1318, 597, 8602 1301, 597, 1304, 597, 332, 597, 256, 1296, 1299, 1311, 8603 332, 1300, 1317, 1303, 256, 1316, 1306, 1882, 327, 1313, 8604 327, 1307, 125, 1305, 590, 220, 590, 221, 591, 1330, 8605 1331, 332, 591, 332, 152, 1350, 153, 1319, 1311, 332, 8606 1322, 1317, 1323, 1316, 1882, 154, 154, 1343, 332, 1343, 8607 222, 223, 1355, 591, 224, 125, 225, 591, 154, 1320, 8608 332, 591, 126, 127, 1350, 125, 1319, 479, 1322, 1344, 8609 1882, 1323, 126, 127, 154, 154, 365, 332, 365, 222, 8610 223, 1355, 591, 224, 710, 225, 154, 1320, 1882, 1339, 8611 8612 366, 1339, 388, 1202, 1203, 479, 322, 322, 330, 322, 8613 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8614 322, 322, 322, 322, 322, 1882, 322, 322, 322, 322, 8615 322, 908, 908, 908, 908, 1314, 908, 1339, 908, 1340, 8616 388, 1357, 909, 909, 1345, 1882, 1345, 909, 1882, 1148, 8617 1149, 1349, 1351, 365, 1352, 365, 1353, 322, 322, 365, 8618 365, 365, 365, 1524, 1314, 1524, 1346, 366, 1882, 367, 8619 1357, 630, 1882, 366, 366, 367, 367, 368, 368, 1349, 8620 1351, 1882, 1352, 912, 1353, 322, 322, 322, 330, 322, 8621 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8622 8623 322, 322, 322, 322, 322, 369, 322, 322, 322, 322, 8624 322, 369, 369, 1315, 1341, 391, 1341, 660, 1341, 391, 8625 1342, 660, 148, 1354, 1356, 1361, 148, 1362, 1363, 1882, 8626 1364, 150, 1365, 1366, 1367, 150, 1882, 322, 322, 969, 8627 1882, 1198, 1315, 1198, 1420, 1882, 1420, 507, 1882, 1882, 8628 1198, 1354, 1356, 1524, 1361, 1524, 1362, 1363, 1364, 1358, 8629 1365, 1358, 1366, 1367, 1368, 322, 1312, 1312, 330, 1312, 8630 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 8631 1312, 1312, 1312, 1312, 1312, 1359, 1312, 1312, 1312, 1312, 8632 1312, 1369, 1370, 1368, 1371, 1373, 1371, 1374, 1360, 1193, 8633 8634 1197, 1193, 1197, 1378, 1379, 1380, 1198, 1381, 1382, 1383, 8635 1393, 969, 1386, 1198, 1359, 1198, 1372, 1312, 1312, 1369, 8636 1370, 1194, 1198, 1882, 1373, 1374, 1360, 1375, 1820, 1376, 8637 1820, 1376, 1378, 1379, 1380, 1381, 1382, 1383, 1376, 1393, 8638 1386, 1882, 1387, 1389, 1387, 1312, 1325, 1333, 1397, 1333, 8639 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 8640 1325, 1334, 1325, 1335, 1325, 1336, 1325, 1325, 1325, 1325, 8641 1325, 1389, 1882, 1199, 1212, 1199, 1212, 1397, 1198, 1399, 8642 1384, 1388, 1384, 1390, 970, 1394, 1200, 1395, 1200, 1407, 8643 1377, 710, 1377, 1409, 1376, 1200, 1213, 1325, 1325, 1338, 8644 8645 1202, 1203, 1385, 1204, 1562, 1204, 1562, 710, 1399, 1388, 8646 1882, 1390, 1204, 1394, 1563, 1395, 1202, 1203, 1407, 1204, 8647 1882, 1204, 1409, 1882, 1882, 1325, 1325, 1325, 1204, 1325, 8648 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 8649 1325, 1325, 1325, 1325, 1325, 1396, 1325, 1325, 1325, 1325, 8650 1325, 1200, 1391, 1398, 1391, 256, 1400, 1402, 1400, 1402, 8651 1406, 1404, 1408, 1404, 229, 1412, 244, 1413, 1204, 1415, 8652 1882, 241, 1463, 1396, 1392, 1882, 1882, 1325, 1325, 1403, 8653 1882, 1398, 1401, 1405, 1204, 1343, 256, 1343, 1406, 256, 8654 1408, 1468, 1410, 1417, 1412, 1413, 1469, 1423, 1415, 1416, 8655 8656 1420, 1463, 1421, 507, 256, 1325, 1882, 1344, 1345, 256, 8657 1345, 1401, 908, 256, 908, 256, 256, 256, 1882, 1468, 8658 256, 1410, 1417, 909, 1469, 1423, 1882, 1425, 1416, 1428, 8659 1346, 1325, 1325, 256, 1325, 1325, 1325, 1325, 1325, 1325, 8660 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 8661 1424, 1325, 1325, 1325, 1325, 1325, 1425, 1428, 1426, 1427, 8662 1429, 256, 1431, 256, 256, 1358, 256, 1358, 256, 256, 8663 256, 256, 1371, 256, 1371, 256, 256, 256, 1424, 256, 8664 256, 256, 1325, 1325, 1882, 256, 1426, 1427, 1429, 1430, 8665 1431, 1433, 1432, 256, 1372, 1435, 1436, 1437, 1440, 256, 8666 8667 256, 256, 256, 1438, 1434, 1439, 1443, 1444, 1442, 256, 8668 1325, 256, 256, 1441, 1387, 256, 1387, 256, 1430, 1448, 8669 1433, 1432, 1446, 256, 1435, 1436, 1437, 1440, 1882, 1456, 8670 256, 1438, 1434, 1439, 1450, 1443, 1444, 1442, 1470, 1445, 8671 1452, 1441, 1447, 1384, 256, 1384, 1457, 1448, 1451, 256, 8672 1446, 1453, 1454, 1449, 1882, 1391, 256, 1391, 1456, 1882, 8673 1455, 1458, 1450, 1882, 1882, 1385, 1470, 1445, 323, 1452, 8674 1447, 1400, 256, 1400, 1457, 1471, 1451, 1392, 1473, 1453, 8675 1454, 1449, 1402, 256, 1402, 1404, 256, 1404, 1455, 1480, 8676 1458, 1460, 1461, 220, 1461, 221, 1465, 1459, 1461, 220, 8677 8678 1461, 1462, 1882, 1471, 1403, 125, 1473, 1405, 1414, 256, 8679 1414, 1882, 126, 127, 125, 1882, 1882, 1882, 1480, 1460, 8680 1882, 126, 127, 256, 1481, 1465, 1459, 1464, 1464, 330, 8681 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 8682 1464, 1464, 1464, 1464, 1464, 1464, 1472, 1464, 1464, 1464, 8683 1464, 1464, 365, 1481, 365, 627, 1882, 627, 1482, 1626, 8684 1483, 1626, 1343, 1345, 1343, 1345, 366, 1882, 628, 1627, 8685 628, 1484, 1485, 1491, 365, 1472, 365, 1486, 1464, 1464, 8686 365, 365, 365, 365, 1344, 1346, 1882, 1482, 366, 1483, 8687 367, 1882, 630, 1882, 366, 366, 367, 367, 368, 368, 8688 8689 1484, 1485, 1491, 1882, 1882, 1486, 1464, 322, 322, 330, 8690 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8691 322, 322, 322, 322, 322, 322, 369, 322, 322, 322, 8692 322, 322, 369, 369, 1489, 1476, 391, 1476, 660, 1476, 8693 391, 1477, 660, 148, 1478, 1882, 1490, 148, 1479, 1882, 8694 1492, 1467, 150, 1495, 1493, 1494, 150, 1882, 322, 322, 8695 1882, 1375, 1489, 1376, 1523, 1376, 1523, 254, 1554, 220, 8696 1554, 318, 1376, 1478, 1490, 1882, 1882, 1479, 1492, 1467, 8697 1358, 1495, 1358, 1493, 1494, 1496, 322, 322, 322, 330, 8698 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8699 8700 322, 322, 322, 322, 322, 322, 1487, 322, 322, 322, 8701 322, 322, 1497, 1498, 1496, 1371, 1499, 1371, 1500, 1488, 8702 1882, 1501, 1503, 1501, 1502, 1504, 1882, 1564, 1376, 1564, 8703 388, 1384, 1375, 1384, 1376, 1487, 1376, 1372, 322, 322, 8704 1506, 1497, 1498, 1376, 1499, 1507, 1500, 1488, 1377, 710, 8705 1377, 1503, 1502, 1385, 1504, 1387, 1508, 1387, 1202, 1203, 8706 1391, 1204, 1391, 1204, 1509, 256, 322, 1510, 1506, 1511, 8707 1204, 1513, 1400, 1507, 1400, 1514, 1882, 244, 1515, 1402, 8708 1516, 1402, 1392, 1404, 1508, 1404, 1519, 1520, 256, 256, 8709 1882, 256, 1528, 1509, 1505, 1510, 256, 1511, 1512, 1376, 8710 8711 1513, 1403, 256, 256, 1514, 1405, 1515, 256, 256, 1516, 8712 256, 1526, 1533, 256, 1519, 1527, 1520, 1522, 1530, 256, 8713 256, 1528, 1505, 1531, 256, 256, 1204, 1512, 1529, 1532, 8714 256, 256, 1538, 256, 256, 256, 256, 1539, 1882, 256, 8715 1526, 1533, 256, 256, 1527, 1522, 1557, 1530, 1536, 1882, 8716 1534, 1540, 1531, 1882, 256, 256, 1535, 1529, 1532, 1541, 8717 1537, 1538, 1555, 1558, 1544, 1545, 1539, 1542, 256, 1559, 8718 1548, 256, 1543, 1882, 1546, 1557, 1536, 1552, 1534, 1550, 8719 1540, 1547, 1549, 1560, 1535, 1571, 1551, 1541, 1537, 1882, 8720 1555, 1882, 1558, 1544, 1545, 1542, 1561, 1559, 1548, 1553, 8721 8722 1543, 1570, 1546, 1573, 1572, 1882, 1552, 1550, 1882, 1547, 8723 1882, 1549, 1560, 1571, 1551, 1565, 147, 1565, 1566, 391, 8724 1566, 392, 1574, 148, 1575, 1561, 148, 1576, 1553, 1577, 8725 1570, 1573, 150, 1572, 1578, 150, 1566, 391, 1566, 1567, 8726 1579, 1580, 1882, 1581, 1568, 1582, 1583, 1584, 1882, 1585, 8727 1574, 1586, 1575, 1569, 1587, 1576, 1590, 1577, 1591, 1588, 8728 1592, 1588, 1578, 1593, 1595, 1593, 1596, 1501, 1579, 1501, 8729 1580, 1581, 1597, 1598, 1582, 1583, 1584, 1585, 1375, 1586, 8730 1376, 1589, 1376, 1587, 1590, 1594, 1591, 1599, 1592, 1376, 8731 1600, 229, 1602, 1595, 1603, 1596, 256, 241, 244, 256, 8732 8733 1597, 1598, 1523, 256, 1523, 254, 1606, 256, 1606, 507, 8734 256, 256, 256, 256, 256, 1599, 256, 1601, 256, 1600, 8735 1608, 1602, 256, 1603, 1604, 256, 1605, 1882, 256, 256, 8736 1610, 1882, 256, 1629, 1882, 1609, 1882, 1630, 1616, 256, 8737 1617, 256, 1588, 256, 1588, 1376, 1601, 1611, 1612, 1608, 8738 1614, 1615, 1613, 1604, 1620, 1605, 323, 256, 1619, 1610, 8739 1618, 1629, 1621, 1609, 1589, 1630, 1623, 1616, 1622, 1617, 8740 1593, 256, 1593, 1624, 1642, 1611, 1612, 1625, 1614, 1615, 8741 1613, 1639, 1628, 1620, 1631, 1588, 1619, 1588, 1618, 1882, 8742 1621, 1564, 1594, 1564, 388, 1623, 1622, 1554, 220, 1554, 8743 8744 318, 1624, 1562, 1642, 1562, 1625, 1565, 1589, 1565, 1639, 8745 1882, 1628, 1563, 1631, 1635, 391, 1635, 660, 1636, 391, 8746 1636, 1644, 148, 150, 1640, 1646, 1637, 1641, 1643, 1645, 8747 1647, 150, 1565, 147, 1565, 1638, 390, 391, 390, 392, 8748 148, 1648, 1650, 1648, 148, 1651, 229, 1652, 1653, 150, 8749 1644, 1649, 1640, 150, 1646, 1641, 1643, 1645, 1593, 1647, 8750 1593, 1654, 1655, 1656, 1657, 241, 1659, 244, 256, 1606, 8751 1650, 1606, 507, 256, 1651, 1652, 256, 1653, 256, 256, 8752 1594, 256, 256, 1658, 256, 1648, 256, 1648, 1677, 1654, 8753 1661, 1655, 1656, 1657, 1659, 1649, 256, 256, 1626, 1882, 8754 8755 1626, 1660, 1662, 323, 1687, 1665, 1667, 1668, 1627, 1669, 8756 1684, 1658, 1688, 1882, 1882, 1663, 1677, 1666, 1664, 1661, 8757 1636, 662, 1636, 1670, 1671, 1635, 391, 1635, 660, 1660, 8758 1662, 1882, 1687, 148, 1665, 1667, 1668, 1638, 1669, 1684, 8759 1676, 1688, 150, 1663, 1689, 1666, 1664, 1678, 1679, 1678, 8760 1680, 1690, 1670, 1671, 1685, 1633, 1685, 1691, 1634, 1681, 8761 1682, 1681, 1683, 1648, 1686, 1648, 1692, 1637, 1676, 1648, 8762 1693, 1648, 1689, 1649, 1694, 241, 1638, 244, 256, 1649, 8763 1690, 1685, 256, 1685, 256, 256, 1691, 256, 256, 1718, 8764 1673, 1686, 1721, 1882, 1685, 1692, 1685, 1674, 1719, 1693, 8765 8766 1675, 1697, 1698, 1694, 1686, 1699, 1882, 1704, 1705, 1706, 8767 1707, 1882, 1882, 1882, 1702, 1703, 1701, 1718, 1700, 1708, 8768 1721, 1709, 1710, 1709, 1711, 1882, 1882, 1719, 1673, 1674, 8769 1697, 1698, 1675, 1708, 1699, 1674, 1882, 1882, 1675, 1678, 8770 1679, 1678, 1680, 1702, 1703, 1701, 1700, 1633, 1720, 1679, 8771 1634, 1725, 1678, 1679, 1678, 1680, 1714, 229, 1722, 1715, 8772 1633, 1723, 1708, 1634, 1681, 1682, 1681, 1683, 657, 658, 8773 659, 660, 1637, 1716, 244, 1716, 148, 1720, 256, 1725, 8774 389, 1638, 256, 256, 1882, 150, 1717, 1722, 1717, 1731, 8775 1723, 1731, 1707, 1724, 389, 1717, 1731, 1710, 1732, 1707, 8776 8777 1749, 1727, 1882, 1750, 1741, 1728, 323, 1742, 1730, 1882, 8778 1704, 1705, 1706, 1707, 1882, 1751, 1752, 1709, 1710, 1709, 8779 1711, 1724, 1708, 389, 1729, 1674, 1882, 1882, 1675, 1749, 8780 1727, 1750, 229, 241, 1728, 256, 1708, 1730, 1735, 1736, 8781 1737, 1738, 1743, 1751, 1679, 1752, 1674, 1753, 256, 1675, 8782 1739, 1714, 1729, 1754, 1715, 1744, 1745, 1744, 1746, 1757, 8783 1716, 1679, 1716, 1714, 1739, 1708, 1715, 1756, 1714, 1755, 8784 1743, 1715, 1747, 1717, 1747, 1717, 1753, 256, 1762, 1761, 8785 1882, 1754, 1717, 1748, 1882, 1717, 1882, 1717, 1757, 1763, 8786 1778, 1763, 1707, 1739, 1717, 1756, 1763, 1755, 1764, 1707, 8787 8788 1736, 1765, 1710, 1765, 1738, 323, 1762, 1768, 1761, 1674, 8789 1769, 1882, 1675, 1735, 1736, 1737, 1738, 1882, 1778, 1779, 8790 1882, 1674, 1882, 1760, 1675, 1739, 1765, 1710, 1766, 1738, 8791 1780, 1771, 1882, 1710, 1674, 1882, 229, 1675, 1772, 1739, 8792 1741, 1773, 1777, 1742, 1774, 1775, 1774, 1776, 1779, 1710, 8793 1679, 1760, 1741, 241, 1781, 1742, 1741, 1714, 1780, 1742, 8794 1715, 1744, 1745, 1744, 1746, 1782, 1784, 256, 1739, 1714, 8795 1777, 256, 1715, 1678, 1679, 1678, 1680, 1747, 1783, 1747, 8796 323, 1633, 1781, 1788, 1634, 1788, 1707, 1882, 1748, 1788, 8797 1785, 1789, 1707, 1782, 1784, 1882, 1882, 1790, 1710, 1790, 8798 8799 1738, 1798, 1882, 1882, 1786, 1674, 1783, 1799, 1675, 1736, 8800 1800, 1787, 1790, 1710, 1791, 1738, 1768, 1882, 1785, 1769, 8801 1674, 1882, 1797, 1675, 1736, 1792, 1793, 1792, 1794, 1798, 8802 1771, 1768, 1786, 1768, 1769, 1799, 1769, 1772, 1800, 1787, 8803 1773, 1704, 1705, 1706, 1707, 1771, 1795, 1736, 1795, 1796, 8804 1797, 1801, 1772, 1708, 1772, 1773, 256, 1773, 1774, 1775, 8805 1774, 1776, 1735, 1736, 1737, 1738, 1741, 1708, 1710, 1742, 8806 1674, 256, 1882, 1675, 1739, 1741, 1882, 1736, 1742, 1807, 8807 1801, 1807, 1707, 1807, 1768, 1808, 1707, 1769, 1739, 241, 8808 1882, 1815, 1805, 1882, 1882, 229, 1708, 1816, 1806, 1809, 8809 8810 1710, 1809, 1738, 1809, 1710, 1810, 1738, 1674, 1736, 1836, 8811 1675, 1674, 1818, 241, 1675, 1812, 323, 1739, 1813, 1815, 8812 1805, 1792, 1793, 1792, 1794, 1819, 1816, 1806, 1827, 1768, 8813 229, 1882, 1769, 1735, 1736, 1737, 1738, 1817, 1836, 1882, 8814 1818, 1674, 323, 1882, 1675, 1739, 1795, 1736, 1795, 1796, 8815 1828, 1882, 1882, 1819, 1772, 1882, 1827, 1773, 1825, 1739, 8816 1821, 1710, 1821, 1738, 1829, 1817, 1829, 1707, 1674, 1736, 8817 1826, 1675, 1821, 1710, 1822, 1738, 1812, 1736, 1828, 1813, 8818 1674, 241, 1834, 1675, 1812, 1882, 1825, 1813, 1739, 1882, 8819 1820, 1882, 1820, 1882, 1882, 1841, 1736, 1882, 1826, 1882, 8820 8821 1882, 1882, 1882, 1812, 1882, 1882, 1813, 229, 1882, 1882, 8822 1834, 1882, 1882, 1882, 1823, 1793, 1823, 1824, 1830, 1710, 8823 1830, 1711, 1812, 1837, 1841, 1813, 1674, 1882, 1829, 1675, 8824 1829, 1707, 1845, 229, 1835, 1823, 1793, 1823, 1824, 1882, 8825 1882, 1882, 1882, 1812, 241, 323, 1813, 1838, 1710, 1838, 8826 1738, 1837, 1710, 1882, 1673, 1674, 323, 1882, 1675, 1741, 8827 1845, 1674, 1742, 1835, 1675, 229, 1882, 323, 1882, 1672, 8828 1830, 1710, 1830, 1831, 1672, 1844, 241, 1672, 1833, 1672, 8829 1672, 1675, 1882, 1839, 1672, 1672, 1846, 1847, 1840, 1672, 8830 1843, 1672, 1672, 1672, 1709, 1710, 1709, 1711, 1838, 1710, 8831 8832 1838, 1738, 1674, 1844, 1882, 1675, 1674, 1882, 1882, 1675, 8833 1882, 1882, 1839, 1882, 1846, 1847, 1854, 1840, 241, 1843, 8834 1672, 1672, 1672, 1848, 1849, 1848, 1850, 1851, 1852, 1851, 8835 1853, 1855, 1856, 1855, 1857, 1848, 1849, 1848, 1850, 1858, 8836 1859, 1858, 1860, 1882, 1854, 1866, 1882, 1882, 1672, 1851, 8837 1852, 1851, 1853, 1863, 1852, 1863, 1853, 1855, 1856, 1855, 8838 1857, 1863, 1852, 1863, 1853, 1858, 1859, 1858, 1860, 1858, 8839 1859, 1858, 1860, 241, 1866, 1858, 1859, 1858, 1860, 1863, 8840 1852, 1863, 1853, 1863, 1852, 1863, 1853, 1863, 1852, 1863, 8841 1853, 241, 1872, 1873, 1872, 1874, 1870, 1872, 1873, 1872, 8842 8843 1874, 1875, 1876, 1875, 1877, 1875, 1876, 1875, 1877, 1875, 8844 1876, 1875, 1877, 1875, 1876, 1875, 1877, 1875, 1876, 1875, 8845 1877, 1882, 1882, 1882, 1882, 1870, 1882, 1882, 1882, 1882, 8846 1882, 1882, 1882, 1871, 1882, 1882, 1882, 1882, 1882, 1882, 8847 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8848 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 8849 1882, 1871, 68, 68, 68, 68, 68, 68, 68, 68, 8850 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 8851 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 8852 69, 69, 69, 69, 69, 69, 69, 69, 72, 72, 8853 8854 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 8855 72, 72, 72, 72, 72, 72, 115, 115, 1882, 115, 8856 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 8857 115, 115, 115, 115, 118, 118, 118, 118, 118, 118, 8858 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 8859 118, 118, 124, 124, 124, 124, 124, 124, 124, 124, 8860 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 8861 133, 1882, 1882, 1882, 1882, 1882, 1882, 133, 1882, 133, 8862 1882, 133, 133, 133, 133, 133, 160, 160, 160, 160, 8863 160, 228, 228, 228, 228, 228, 228, 228, 228, 228, 8864 8865 228, 228, 228, 228, 228, 228, 228, 228, 228, 240, 8866 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 8867 240, 240, 240, 240, 240, 240, 240, 243, 243, 243, 8868 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 8869 243, 243, 243, 243, 243, 249, 249, 249, 249, 249, 8870 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 8871 249, 249, 249, 257, 1882, 1882, 1882, 1882, 1882, 1882, 8872 1882, 1882, 1882, 1882, 257, 257, 257, 257, 257, 322, 8873 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8874 322, 322, 322, 322, 322, 322, 322, 115, 115, 1882, 8875 8876 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 8877 115, 115, 115, 115, 115, 118, 118, 118, 118, 118, 8878 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 8879 118, 118, 118, 356, 356, 356, 356, 356, 356, 356, 8880 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 8881 356, 124, 124, 124, 124, 124, 124, 124, 124, 124, 8882 124, 124, 124, 124, 124, 124, 124, 124, 124, 357, 8883 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 8884 357, 357, 357, 357, 357, 357, 357, 133, 1882, 1882, 8885 1882, 1882, 1882, 1882, 133, 1882, 133, 1882, 1882, 133, 8886 8887 133, 133, 133, 393, 393, 393, 393, 1882, 393, 393, 8888 393, 393, 393, 393, 1882, 393, 393, 1882, 1882, 393, 8889 393, 160, 160, 160, 160, 160, 480, 480, 480, 480, 8890 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 8891 480, 480, 480, 480, 228, 228, 228, 228, 228, 228, 8892 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 8893 228, 228, 240, 240, 240, 240, 240, 240, 240, 240, 8894 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 8895 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 8896 243, 243, 243, 243, 243, 243, 243, 243, 249, 249, 8897 8898 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 8899 249, 249, 249, 249, 249, 249, 502, 502, 502, 502, 8900 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 8901 502, 502, 502, 502, 503, 503, 503, 503, 503, 503, 8902 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 8903 503, 503, 588, 588, 588, 588, 588, 588, 588, 588, 8904 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 8905 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8906 322, 322, 322, 322, 322, 322, 322, 322, 332, 332, 8907 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 8908 8909 332, 332, 332, 332, 332, 332, 115, 115, 1882, 115, 8910 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 8911 115, 115, 115, 115, 118, 118, 118, 118, 118, 118, 8912 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 8913 118, 118, 356, 356, 356, 356, 356, 356, 356, 356, 8914 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 8915 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 8916 357, 357, 357, 357, 357, 357, 357, 357, 624, 624, 8917 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 8918 624, 624, 624, 624, 624, 624, 124, 124, 124, 124, 8919 8920 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 8921 124, 124, 124, 124, 629, 1882, 1882, 1882, 1882, 1882, 8922 1882, 629, 1882, 629, 1882, 1882, 629, 629, 629, 629, 8923 133, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 133, 1882, 8924 133, 1882, 133, 133, 133, 133, 133, 632, 632, 632, 8925 632, 655, 655, 655, 655, 655, 655, 655, 655, 655, 8926 655, 655, 655, 655, 655, 655, 655, 655, 655, 656, 8927 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, 8928 656, 656, 656, 656, 656, 656, 656, 661, 661, 661, 8929 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 8930 8931 661, 661, 661, 661, 661, 393, 393, 393, 393, 1882, 8932 393, 393, 393, 393, 393, 393, 1882, 393, 393, 1882, 8933 1882, 393, 393, 160, 160, 160, 160, 160, 709, 709, 8934 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 8935 709, 709, 709, 709, 709, 709, 478, 1882, 1882, 1882, 8936 1882, 1882, 1882, 1882, 478, 478, 480, 480, 480, 480, 8937 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 8938 480, 480, 480, 480, 228, 228, 228, 228, 228, 228, 8939 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 8940 228, 228, 240, 240, 240, 240, 240, 240, 240, 240, 8941 8942 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 8943 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 8944 243, 243, 243, 243, 243, 243, 243, 243, 249, 249, 8945 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 8946 249, 249, 249, 249, 249, 249, 502, 502, 502, 502, 8947 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 8948 502, 502, 502, 502, 503, 503, 503, 503, 503, 503, 8949 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 8950 503, 503, 789, 789, 789, 789, 789, 789, 789, 789, 8951 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 8952 8953 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 8954 790, 790, 790, 790, 790, 790, 790, 790, 257, 1882, 8955 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 257, 8956 257, 257, 257, 257, 588, 588, 588, 588, 588, 588, 8957 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 8958 588, 588, 322, 322, 322, 322, 322, 322, 322, 322, 8959 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 8960 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 8961 332, 332, 332, 332, 332, 332, 332, 332, 115, 115, 8962 1882, 115, 115, 115, 115, 115, 115, 115, 115, 115, 8963 8964 115, 115, 115, 115, 115, 115, 118, 118, 118, 118, 8965 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 8966 118, 118, 118, 118, 357, 357, 357, 357, 357, 357, 8967 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 8968 357, 357, 124, 124, 124, 124, 124, 124, 124, 124, 8969 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 8970 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 8971 624, 624, 624, 624, 624, 624, 624, 624, 629, 1882, 8972 1882, 1882, 1882, 1882, 1882, 629, 1882, 629, 1882, 1882, 8973 629, 629, 629, 629, 913, 1882, 1882, 1882, 1882, 1882, 8974 8975 1882, 1882, 913, 1882, 1882, 1882, 913, 913, 913, 913, 8976 913, 133, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 133, 8977 1882, 133, 1882, 133, 133, 133, 133, 133, 655, 655, 8978 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, 8979 655, 655, 655, 655, 655, 655, 656, 656, 656, 656, 8980 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, 8981 656, 656, 656, 656, 925, 925, 925, 925, 925, 925, 8982 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, 8983 925, 925, 661, 661, 661, 661, 661, 661, 661, 661, 8984 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 8985 8986 160, 160, 160, 160, 160, 709, 709, 709, 709, 709, 8987 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 8988 709, 709, 709, 710, 710, 710, 710, 710, 710, 1882, 8989 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 8990 710, 711, 711, 1882, 711, 711, 711, 711, 711, 711, 8991 711, 711, 711, 711, 711, 711, 711, 711, 711, 228, 8992 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 8993 228, 228, 228, 228, 228, 228, 228, 240, 240, 240, 8994 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 8995 240, 240, 240, 240, 240, 243, 243, 243, 243, 243, 8996 8997 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 8998 243, 243, 243, 789, 789, 789, 789, 789, 789, 789, 8999 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 9000 789, 790, 790, 790, 790, 790, 790, 790, 790, 790, 9001 790, 790, 790, 790, 790, 790, 790, 790, 790, 322, 9002 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 9003 322, 322, 322, 322, 322, 322, 322, 332, 332, 332, 9004 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 9005 332, 332, 332, 332, 332, 1138, 1138, 1882, 1138, 1138, 6810 9006 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6811 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6812 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6813 1138, 1138, 1138, 1138, 1145, 55, 176, 1146, 1131, 1131, 6814 1131, 1131, 1131, 1131, 1131, 1131, 176, 1131, 1139, 1131, 6815 1139, 1139, 1139, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 6816 6817 1138, 1138, 1138, 1140, 1131, 1140, 1140, 1140, 1140, 1147, 6818 1147, 1131, 1147, 1147, 1147, 1147, 1148, 1148, 218, 218, 6819 218, 1131, 1131, 1131, 1134, 1134, 1135, 1135, 1136, 1136, 6820 1142, 1142, 1142, 1142, 1131, 1137, 1137, 1131, 1131, 1131, 6821 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1144, 6822 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6823 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6824 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6825 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1138, 1138, 6826 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6827 6828 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6829 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6830 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6831 1138, 1138, 1138, 1138, 1138, 1145, 176, 176, 1131, 1146, 6832 1131, 1131, 1131, 1131, 1131, 1131, 1131, 187, 1131, 1131, 6833 1139, 1139, 1139, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 6834 1138, 1138, 1140, 1140, 1147, 1147, 1131, 1147, 1147, 1147, 6835 218, 218, 218, 218, 218, 1131, 1131, 1131, 1134, 1134, 6836 1135, 1135, 1136, 1136, 1142, 1137, 1137, 1131, 1131, 1131, 6837 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 6838 6839 1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6840 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6841 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 6842 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1131, 6843 1131, 1138, 1149, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 6844 1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6845 1131, 1131, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 6846 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6847 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6848 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 6849 6850 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 6851 176, 176, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 187, 6852 1131, 1131, 1139, 1139, 1139, 1131, 1131, 1138, 1138, 1138, 6853 1138, 1138, 1138, 1131, 1140, 1140, 1140, 1147, 1147, 1147, 6854 218, 218, 218, 218, 1131, 1150, 1131, 1134, 1151, 1135, 6855 1152, 1136, 1153, 1137, 1154, 1131, 1131, 1131, 1131, 1131, 6856 1138, 1138, 1138, 1155, 1138, 1138, 1138, 1138, 1138, 1138, 6857 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1138, 1138, 6858 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 6859 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 6860 6861 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1131, 1138, 6862 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6863 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 6864 1138, 1138, 1138, 1138, 1131, 1138, 1138, 1138, 1138, 1138, 6865 1131, 1131, 1131, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 6866 176, 176, 1131, 1131, 1131, 1131, 1131, 1131, 176, 1131, 6867 1131, 1139, 1139, 1156, 1131, 1131, 1131, 1138, 1131, 1138, 6868 1138, 1131, 1131, 1131, 1140, 1140, 1147, 1157, 1147, 218, 6869 218, 1158, 218, 1159, 1131, 1131, 1160, 1134, 1161, 1135, 6870 1131, 1162, 1136, 1163, 1137, 1137, 1131, 1131, 1164, 1138, 6871 6872 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6873 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1131, 1131, 1131, 6874 1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 6875 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 6876 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6877 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 6878 1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 176, 6879 176, 1131, 1131, 1131, 176, 1139, 1165, 1139, 1131, 1138, 6880 1138, 1138, 1140, 1140, 1166, 1147, 1147, 1167, 218, 1131, 6881 1131, 1131, 1134, 1135, 1131, 1136, 1137, 1137, 1131, 1138, 6882 6883 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6884 1131, 1138, 1138, 1131, 1131, 1138, 1131, 1131, 1131, 1131, 6885 1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6886 1138, 1138, 1131, 1168, 1138, 1138, 1138, 1138, 1138, 1138, 6887 1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6888 1131, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 1131, 1139, 6889 1139, 1131, 1138, 1131, 1138, 1140, 1140, 1147, 1147, 218, 6890 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 6891 1131, 1138, 1138, 1131, 1138, 1131, 1131, 1131, 1131, 1131, 6892 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 6893 6894 1168, 1168, 1131, 1169, 1168, 1138, 1138, 1138, 1131, 1138, 6895 1138, 1138, 1138, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 6896 1139, 1131, 1138, 1138, 1140, 1140, 1147, 1138, 1138, 1138, 6897 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1131, 1138, 6898 1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 6899 1138, 1138, 1131, 1169, 1169, 1168, 1169, 1169, 1138, 1131, 6900 1138, 1138, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 1139, 6901 1131, 1138, 1140, 1140, 1147, 1138, 1138, 1138, 1138, 1131, 6902 1131, 1138, 1138, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 6903 1131, 1138, 1138, 1138, 1138, 1131, 1168, 1131, 1138, 1131, 6904 6905 1131, 1138, 1138, 1131, 1139, 1131, 1140, 1140, 1147, 1138, 6906 1131, 1131, 1131, 1131, 1138, 1138, 1131, 1131, 1131, 1138, 6907 1138, 1138, 1131, 1168, 1131, 1138, 1131, 1131, 1139, 1131, 6908 1140, 1140, 1147, 1131, 1131, 1131, 1131, 1138, 1138, 1131, 6909 1131, 1138, 1131, 1168, 1131, 1138, 1131, 1139, 1131, 1140, 6910 1170, 1147, 1131, 1131, 1131, 1131, 1138, 1138, 1131, 1138, 6911 1131, 1168, 1131, 1138, 1131, 1139, 1131, 1140, 1170, 1131, 6912 1147, 1131, 1131, 1138, 1131, 1131, 1168, 1168, 1131, 1138, 6913 1131, 1139, 1131, 1140, 1147, 1131, 1138, 1168, 1169, 1131, 6914 1138, 1131, 1139, 1131, 1140, 1147, 1131, 1131, 1139, 1131, 6915 6916 1140, 1147, 1139, 1131, 1140, 1147, 1139, 1131, 1140, 1147, 6917 1139, 1131, 1140, 1147, 1139, 1131, 1140, 1147, 1139, 1131, 6918 1131, 1131, 1140, 1147, 1131, 1140, 1140, 1140, 1140, 1131, 6919 0, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 6920 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 6921 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 6922 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131 9007 9008 1138, 1138, 1138, 115, 115, 1882, 115, 115, 115, 115, 9009 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 9010 115, 1140, 1140, 1882, 1140, 1140, 1140, 1140, 1140, 1140, 9011 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 118, 9012 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 9013 118, 118, 118, 118, 118, 118, 118, 1142, 1142, 1142, 9014 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 9015 1142, 1142, 1142, 1142, 1142, 124, 124, 124, 124, 124, 9016 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 9017 124, 124, 124, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 9018 9019 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 9020 1145, 629, 1882, 1882, 1882, 1882, 1882, 629, 1882, 1882, 9021 1882, 629, 1882, 629, 629, 629, 629, 629, 1150, 1150, 9022 1150, 1150, 913, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9023 913, 1882, 1882, 1882, 913, 913, 913, 913, 913, 133, 9024 1882, 1882, 1882, 1882, 1882, 1882, 1882, 133, 1882, 133, 9025 1882, 133, 133, 133, 133, 133, 1156, 1156, 1882, 1156, 9026 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 9027 1156, 1156, 1156, 1156, 925, 925, 925, 925, 925, 925, 9028 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, 9029 9030 925, 925, 1168, 1168, 1882, 1168, 1168, 1168, 1168, 1168, 9031 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 9032 710, 710, 710, 710, 710, 710, 1882, 710, 710, 710, 9033 710, 710, 710, 710, 710, 710, 710, 710, 711, 711, 9034 1882, 711, 711, 711, 711, 711, 711, 711, 711, 711, 9035 711, 711, 711, 711, 711, 711, 709, 709, 709, 709, 9036 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 9037 709, 709, 709, 709, 1201, 1201, 1201, 1201, 1201, 1201, 9038 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 9039 1201, 1201, 228, 228, 228, 228, 228, 228, 228, 228, 9040 9041 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 9042 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 9043 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 240, 240, 9044 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 9045 240, 240, 240, 240, 240, 240, 243, 243, 243, 243, 9046 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 9047 243, 243, 243, 243, 1259, 1259, 1259, 1259, 1259, 1259, 9048 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 9049 1259, 1259, 322, 322, 322, 322, 322, 322, 322, 322, 9050 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 9051 9052 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 9053 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 332, 332, 9054 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 9055 332, 332, 332, 332, 332, 332, 1321, 1321, 1321, 1321, 9056 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 9057 1321, 1321, 1321, 1321, 1325, 1325, 1882, 1325, 1325, 1325, 9058 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 9059 1325, 1325, 1326, 1326, 1882, 1326, 1326, 1326, 1326, 1326, 9060 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 9061 115, 115, 1882, 115, 115, 115, 115, 115, 115, 115, 9062 9063 115, 115, 115, 115, 115, 115, 115, 115, 1327, 1327, 9064 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 9065 1327, 1327, 1327, 1327, 1327, 1327, 118, 118, 118, 118, 9066 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 9067 118, 118, 118, 118, 1329, 1329, 1329, 1329, 1329, 1329, 9068 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 9069 1329, 1329, 124, 124, 124, 124, 124, 124, 124, 124, 9070 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 9071 1332, 1882, 1882, 1882, 1882, 1882, 1332, 1882, 1882, 1882, 9072 1882, 1882, 1332, 1332, 1332, 1332, 1332, 1337, 1337, 1882, 9073 9074 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 9075 1337, 1337, 1337, 1337, 1337, 629, 1882, 1882, 1882, 1882, 9076 1882, 1882, 629, 1882, 629, 1882, 1882, 629, 629, 629, 9077 629, 133, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 133, 9078 1882, 133, 1882, 133, 133, 133, 133, 133, 632, 632, 9079 632, 632, 1347, 1347, 1882, 1347, 1347, 1347, 1347, 1347, 9080 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 9081 710, 710, 710, 710, 710, 710, 1882, 710, 710, 710, 9082 710, 710, 710, 710, 710, 710, 710, 710, 711, 711, 9083 1882, 711, 711, 711, 711, 711, 711, 711, 711, 711, 9084 9085 711, 711, 711, 711, 711, 711, 1202, 1202, 1882, 1202, 9086 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 9087 1202, 1202, 1202, 1202, 1201, 1201, 1201, 1201, 1201, 1201, 9088 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 9089 1201, 1201, 228, 228, 228, 228, 228, 228, 228, 228, 9090 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 9091 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 9092 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 240, 240, 9093 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 9094 240, 240, 240, 240, 240, 240, 243, 243, 243, 243, 9095 9096 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 9097 243, 243, 243, 243, 1419, 1882, 1419, 1882, 1882, 1882, 9098 1882, 1419, 1882, 1882, 1419, 1419, 1419, 1419, 1419, 1419, 9099 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 9100 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1464, 1464, 9101 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 9102 1464, 1464, 1464, 1464, 1464, 1464, 322, 322, 322, 322, 9103 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 9104 322, 322, 322, 322, 1466, 1466, 1466, 1466, 1466, 1466, 9105 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 9106 9107 1466, 1466, 332, 332, 332, 332, 332, 332, 332, 332, 9108 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 9109 115, 115, 1882, 115, 115, 115, 115, 115, 115, 115, 9110 115, 115, 115, 115, 115, 115, 115, 115, 118, 118, 9111 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 9112 118, 118, 118, 118, 118, 118, 124, 124, 124, 124, 9113 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 9114 124, 124, 124, 124, 1332, 1882, 1882, 1882, 1882, 1882, 9115 1332, 1882, 1882, 1882, 1882, 1882, 1332, 1332, 1332, 1332, 9116 1332, 629, 1882, 1882, 1882, 1882, 1882, 1882, 629, 1882, 9117 9118 629, 1882, 1882, 629, 629, 629, 629, 133, 1882, 1882, 9119 1882, 1882, 1882, 1882, 1882, 133, 1882, 133, 1882, 133, 9120 133, 133, 133, 133, 632, 632, 632, 632, 1475, 1882, 9121 1475, 1882, 1882, 1882, 1882, 1475, 1882, 1882, 1475, 1475, 9122 1475, 1475, 1475, 1475, 1525, 1882, 1525, 1882, 1882, 1882, 9123 1882, 1525, 1882, 1882, 1525, 1525, 1525, 1525, 1525, 1525, 9124 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 9125 480, 480, 480, 480, 480, 480, 480, 480, 1607, 1607, 9126 1607, 1607, 1607, 1632, 1632, 1882, 1632, 1632, 1632, 1632, 9127 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 9128 9129 1632, 661, 661, 661, 661, 661, 661, 661, 661, 661, 9130 661, 661, 661, 661, 661, 661, 661, 661, 661, 1672, 9131 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 9132 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1713, 1713, 1713, 9133 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 9134 1713, 1713, 1713, 1713, 1713, 1733, 1733, 1733, 1733, 1733, 9135 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 9136 1733, 1733, 1733, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 9137 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 9138 1734, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 9139 9140 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1758, 9141 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 9142 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1767, 1767, 1767, 9143 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 9144 1767, 1767, 1767, 1767, 1767, 1770, 1770, 1770, 1770, 1770, 9145 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 9146 1770, 1770, 1770, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 9147 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 9148 1811, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 9149 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1861, 9150 9151 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 9152 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1864, 1864, 1864, 9153 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 9154 1864, 1864, 1864, 1864, 1864, 1867, 1867, 1867, 1867, 1867, 9155 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 9156 1867, 1867, 1867, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 9157 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 9158 1869, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 9159 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1880, 9160 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 9161 9162 1880, 1880, 1880, 1880, 1880, 1880, 1880, 17, 1882, 1882, 9163 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9164 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9165 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9166 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9167 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9168 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9169 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 9170 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882 6923 9171 } ; 6924 9172 6925 static yyconst flex_int16_t yy_nxt[4102] = 6926 { 0, 6927 14, 15, 16, 15, 17, 18, 14, 19, 20, 21, 6928 22, 23, 24, 25, 24, 26, 24, 27, 28, 29, 6929 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 6930 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 6931 41, 42, 43, 42, 42, 44, 45, 46, 47, 48, 6932 42, 49, 50, 51, 52, 42, 53, 42, 42, 54, 6933 24, 24, 42, 35, 36, 37, 38, 39, 40, 41, 6934 42, 43, 42, 44, 45, 46, 47, 48, 42, 49, 6935 50, 51, 52, 42, 53, 42, 42, 54, 14, 55, 6936 56, 57, 58, 222, 69, 68, 69, 70, 72, 76, 6937 6938 77, 76, 1094, 74, 78, 77, 78, 59, 59, 59, 6939 59, 59, 59, 59, 59, 59, 59, 75, 205, 80, 6940 1092, 73, 222, 208, 60, 61, 205, 223, 62, 70, 6941 63, 71, 74, 81, 83, 74, 87, 74, 74, 91, 6942 82, 64, 65, 691, 1070, 75, 92, 93, 80, 75, 6943 73, 75, 75, 60, 61, 223, 225, 62, 70, 63, 6944 71, 81, 83, 96, 74, 111, 74, 74, 84, 64, 6945 65, 209, 74, 88, 74, 74, 94, 75, 226, 75, 6946 75, 97, 85, 255, 74, 225, 75, 89, 75, 75, 6947 95, 227, 107, 83, 239, 74, 1070, 84, 75, 209, 6948 6949 624, 74, 88, 74, 74, 94, 226, 74, 625, 75, 6950 85, 74, 255, 74, 75, 89, 75, 75, 95, 74, 6951 227, 75, 239, 1065, 74, 75, 75, 78, 77, 78, 6952 76, 77, 76, 75, 240, 247, 74, 75, 248, 228, 6953 74, 179, 206, 205, 206, 112, 1030, 179, 74, 75, 6954 98, 74, 98, 75, 78, 77, 78, 224, 77, 224, 6955 1027, 75, 240, 247, 963, 75, 248, 228, 99, 99, 6956 99, 99, 99, 99, 99, 99, 99, 99, 74, 207, 6957 74, 114, 115, 100, 261, 116, 116, 101, 74, 102, 6958 212, 117, 75, 75, 103, 142, 104, 105, 118, 119, 6959 6960 121, 922, 75, 263, 87, 190, 106, 74, 207, 87, 6961 114, 115, 100, 261, 116, 116, 101, 74, 102, 117, 6962 75, 253, 103, 142, 104, 105, 118, 119, 121, 87, 6963 75, 120, 263, 116, 106, 108, 116, 109, 109, 109, 6964 109, 109, 109, 109, 109, 109, 109, 121, 83, 253, 6965 121, 91, 511, 230, 512, 110, 110, 74, 92, 93, 6966 120, 229, 116, 254, 256, 116, 245, 212, 110, 260, 6967 262, 75, 268, 116, 1131, 121, 246, 175, 121, 127, 6968 116, 230, 146, 128, 110, 110, 74, 121, 1131, 129, 6969 229, 254, 256, 130, 121, 245, 110, 260, 262, 75, 6970 6971 122, 268, 116, 1131, 246, 116, 116, 123, 127, 116, 6972 146, 124, 128, 212, 125, 121, 1131, 129, 91, 121, 6973 121, 130, 121, 190, 126, 92, 93, 179, 190, 122, 6974 78, 77, 78, 179, 116, 116, 123, 143, 87, 124, 6975 275, 147, 125, 87, 144, 145, 116, 121, 121, 148, 6976 83, 121, 126, 116, 753, 149, 211, 212, 211, 131, 6977 121, 132, 133, 754, 134, 135, 143, 121, 213, 275, 6978 147, 136, 144, 145, 264, 116, 241, 82, 148, 121, 6979 795, 212, 116, 149, 366, 367, 366, 131, 121, 132, 6980 133, 242, 134, 135, 214, 121, 259, 162, 116, 136, 6981 6982 116, 190, 264, 137, 762, 241, 138, 139, 215, 140, 6983 150, 753, 121, 260, 121, 141, 271, 255, 151, 242, 6984 754, 113, 152, 214, 153, 259, 162, 116, 257, 116, 6985 154, 698, 137, 243, 138, 139, 215, 140, 258, 150, 6986 121, 260, 121, 141, 271, 116, 255, 151, 244, 113, 6987 152, 158, 153, 155, 272, 156, 116, 257, 154, 121, 6988 157, 116, 243, 273, 274, 159, 258, 276, 160, 172, 6989 121, 161, 179, 87, 116, 121, 244, 534, 179, 277, 6990 158, 155, 272, 156, 534, 116, 278, 121, 157, 282, 6991 116, 273, 274, 159, 91, 276, 160, 172, 121, 161, 6992 6993 163, 92, 93, 121, 164, 116, 169, 277, 165, 643, 6994 116, 116, 173, 170, 278, 635, 166, 282, 285, 167, 6995 168, 286, 174, 171, 121, 121, 378, 77, 378, 163, 6996 560, 559, 295, 164, 116, 169, 287, 165, 290, 116, 6997 116, 173, 170, 237, 166, 196, 285, 167, 168, 286, 6998 174, 171, 121, 121, 176, 77, 177, 178, 186, 187, 6999 190, 295, 179, 557, 287, 191, 290, 511, 283, 512, 7000 296, 237, 197, 556, 284, 188, 188, 188, 188, 188, 7001 188, 188, 188, 188, 188, 297, 198, 298, 310, 180, 7002 181, 116, 74, 182, 116, 183, 283, 192, 296, 172, 7003 7004 200, 197, 284, 142, 203, 121, 184, 185, 121, 212, 7005 299, 193, 534, 297, 198, 190, 298, 310, 180, 181, 7006 116, 74, 182, 116, 183, 300, 192, 172, 200, 510, 7007 400, 142, 203, 121, 184, 185, 121, 143, 299, 193, 7008 194, 232, 233, 232, 144, 201, 179, 396, 395, 234, 7009 235, 121, 394, 300, 108, 393, 195, 195, 195, 195, 7010 195, 195, 195, 195, 195, 195, 143, 238, 238, 288, 7011 91, 288, 144, 201, 110, 110, 74, 92, 93, 121, 7012 238, 301, 265, 266, 302, 303, 304, 110, 267, 307, 7013 75, 313, 212, 651, 319, 652, 238, 238, 320, 212, 7014 7015 323, 269, 236, 110, 110, 74, 270, 330, 238, 301, 7016 265, 266, 302, 303, 304, 110, 267, 307, 75, 199, 7017 313, 289, 319, 127, 116, 205, 320, 128, 323, 190, 7018 269, 236, 190, 129, 344, 270, 330, 130, 121, 308, 7019 169, 190, 309, 279, 321, 116, 291, 170, 199, 289, 7020 280, 322, 127, 116, 281, 331, 128, 171, 292, 121, 7021 293, 129, 344, 294, 202, 130, 121, 308, 87, 169, 7022 309, 87, 279, 321, 116, 291, 170, 83, 280, 322, 7023 205, 651, 281, 652, 331, 171, 292, 121, 293, 921, 7024 1131, 294, 202, 210, 211, 212, 211, 210, 210, 210, 7025 7026 216, 210, 210, 210, 210, 210, 210, 210, 210, 210, 7027 210, 210, 217, 217, 217, 217, 217, 217, 217, 217, 7028 217, 217, 210, 210, 210, 210, 210, 197, 217, 217, 7029 217, 217, 218, 217, 123, 217, 217, 217, 219, 217, 7030 217, 198, 217, 217, 217, 217, 220, 217, 217, 217, 7031 217, 221, 217, 210, 210, 217, 197, 217, 217, 217, 7032 217, 218, 217, 123, 217, 217, 219, 217, 217, 198, 7033 217, 217, 217, 217, 220, 217, 217, 217, 217, 221, 7034 217, 210, 98, 251, 98, 251, 68, 305, 252, 252, 7035 252, 252, 252, 252, 252, 252, 252, 252, 311, 366, 7036 7037 367, 366, 306, 345, 312, 332, 667, 326, 667, 328, 7038 333, 335, 1131, 329, 334, 100, 305, 347, 327, 101, 7039 343, 102, 205, 669, 355, 669, 103, 311, 104, 105, 7040 306, 345, 312, 314, 332, 315, 326, 328, 106, 333, 7041 335, 329, 1131, 334, 100, 347, 327, 1131, 101, 343, 7042 102, 316, 317, 355, 103, 318, 104, 105, 337, 358, 7043 338, 1131, 314, 190, 315, 1131, 106, 250, 250, 250, 7044 250, 250, 250, 250, 250, 250, 250, 324, 341, 316, 7045 317, 223, 925, 318, 362, 110, 110, 358, 346, 190, 7046 359, 325, 342, 190, 260, 351, 1131, 233, 110, 361, 7047 7048 1131, 205, 212, 1131, 385, 235, 324, 341, 1131, 223, 7049 339, 186, 348, 362, 110, 110, 346, 205, 359, 325, 7050 342, 352, 260, 1131, 351, 1131, 110, 361, 349, 349, 7051 349, 349, 349, 349, 349, 349, 349, 349, 339, 350, 7052 262, 770, 353, 771, 390, 179, 209, 356, 376, 363, 7053 352, 369, 377, 1131, 1131, 349, 349, 349, 349, 349, 7054 349, 349, 349, 349, 349, 350, 265, 357, 262, 212, 7055 353, 179, 267, 390, 209, 356, 376, 1131, 363, 369, 7056 377, 349, 349, 349, 349, 349, 349, 349, 349, 349, 7057 349, 350, 205, 379, 265, 357, 212, 179, 1131, 391, 7058 7059 267, 368, 206, 205, 206, 108, 291, 354, 354, 354, 7060 354, 354, 354, 354, 354, 354, 354, 380, 292, 399, 7061 293, 379, 83, 360, 87, 110, 110, 364, 370, 371, 7062 368, 375, 1131, 1131, 408, 291, 233, 392, 110, 207, 7063 87, 1131, 83, 385, 235, 380, 292, 399, 293, 1131, 7064 770, 360, 771, 1131, 110, 110, 364, 370, 371, 1131, 7065 375, 397, 381, 408, 1131, 392, 110, 383, 207, 365, 7066 365, 212, 365, 365, 365, 365, 365, 365, 365, 365, 7067 365, 365, 365, 365, 365, 365, 365, 365, 371, 371, 7068 381, 382, 384, 401, 398, 383, 404, 405, 365, 365, 7069 7070 365, 365, 365, 373, 91, 374, 232, 233, 232, 406, 7071 407, 92, 93, 409, 234, 235, 1131, 371, 371, 382, 7072 384, 401, 398, 1131, 404, 405, 232, 233, 232, 365, 7073 365, 373, 1131, 374, 234, 235, 91, 406, 407, 1131, 7074 388, 409, 388, 92, 93, 389, 389, 389, 389, 389, 7075 389, 389, 389, 389, 389, 410, 387, 365, 365, 365, 7076 212, 365, 365, 365, 365, 365, 365, 365, 365, 365, 7077 365, 365, 365, 365, 365, 365, 365, 411, 412, 386, 7078 547, 77, 547, 410, 387, 1131, 1131, 365, 365, 365, 7079 365, 365, 372, 252, 252, 252, 252, 252, 252, 252, 7080 7081 252, 252, 252, 413, 414, 411, 412, 386, 252, 252, 7082 252, 252, 252, 252, 252, 252, 252, 252, 365, 365, 7083 402, 372, 402, 686, 77, 686, 1131, 1131, 417, 419, 7084 403, 413, 414, 415, 420, 421, 416, 1131, 422, 423, 7085 424, 425, 426, 1131, 1131, 418, 365, 250, 250, 250, 7086 250, 250, 250, 250, 250, 250, 250, 417, 419, 439, 7087 444, 415, 420, 421, 416, 238, 238, 422, 423, 424, 7088 425, 426, 437, 418, 437, 445, 446, 440, 238, 440, 7089 1131, 1131, 442, 443, 447, 448, 450, 448, 439, 444, 7090 451, 1131, 453, 454, 238, 238, 455, 456, 288, 457, 7091 7092 288, 460, 1131, 438, 445, 446, 238, 427, 441, 427, 7093 442, 443, 447, 458, 450, 470, 449, 1131, 469, 451, 7094 453, 454, 1131, 471, 455, 456, 459, 457, 474, 1131, 7095 460, 461, 472, 461, 472, 1131, 475, 465, 428, 465, 7096 476, 462, 458, 429, 470, 430, 469, 466, 431, 1131, 7097 452, 471, 432, 478, 459, 433, 477, 474, 434, 435, 7098 479, 1131, 436, 473, 475, 480, 481, 484, 476, 485, 7099 488, 482, 429, 489, 430, 463, 490, 431, 452, 483, 7100 432, 467, 478, 433, 477, 464, 434, 435, 491, 479, 7101 436, 468, 486, 480, 481, 492, 484, 485, 488, 482, 7102 7103 487, 489, 493, 463, 490, 494, 495, 483, 496, 467, 7104 497, 498, 499, 464, 502, 503, 500, 491, 500, 468, 7105 504, 486, 505, 506, 492, 507, 501, 508, 487, 509, 7106 346, 493, 513, 494, 514, 495, 496, 515, 497, 498, 7107 499, 516, 517, 502, 503, 518, 519, 190, 504, 1131, 7108 505, 506, 1131, 507, 190, 508, 205, 509, 346, 511, 7109 513, 520, 514, 190, 1131, 515, 527, 528, 530, 516, 7110 517, 417, 531, 518, 545, 519, 212, 521, 521, 521, 7111 521, 521, 521, 521, 521, 521, 521, 522, 529, 212, 7112 524, 533, 523, 179, 535, 527, 528, 530, 371, 1131, 7113 7114 417, 531, 545, 521, 521, 521, 521, 521, 521, 521, 7115 521, 521, 521, 522, 212, 525, 529, 212, 524, 179, 7116 533, 523, 546, 535, 548, 87, 1131, 371, 539, 521, 7117 521, 521, 521, 521, 521, 521, 521, 521, 521, 190, 7118 1131, 532, 371, 525, 522, 536, 205, 536, 83, 927, 7119 179, 546, 548, 541, 459, 540, 539, 538, 108, 371, 7120 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 7121 532, 371, 371, 549, 87, 552, 83, 542, 110, 110, 7122 1131, 541, 459, 371, 540, 538, 537, 562, 371, 233, 7123 558, 110, 543, 561, 544, 550, 385, 235, 667, 1029, 7124 7125 667, 371, 549, 552, 1131, 542, 91, 110, 110, 551, 7126 553, 1131, 371, 92, 93, 537, 562, 91, 558, 110, 7127 543, 561, 544, 550, 92, 93, 389, 389, 389, 389, 7128 389, 389, 389, 389, 389, 389, 563, 564, 551, 553, 7129 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 7130 402, 565, 402, 555, 566, 1131, 554, 567, 1131, 568, 7131 403, 569, 570, 571, 572, 563, 564, 573, 574, 575, 7132 576, 577, 578, 589, 578, 590, 591, 1131, 592, 565, 7133 593, 596, 555, 566, 554, 597, 567, 568, 594, 569, 7134 570, 598, 571, 572, 599, 573, 574, 575, 576, 577, 7135 7136 437, 589, 437, 590, 595, 591, 592, 602, 593, 596, 7137 440, 605, 440, 579, 597, 606, 603, 594, 603, 598, 7138 607, 448, 599, 448, 212, 608, 609, 580, 610, 1131, 7139 613, 438, 595, 611, 612, 602, 614, 616, 617, 605, 7140 619, 441, 579, 615, 606, 618, 621, 604, 620, 607, 7141 1131, 622, 449, 608, 609, 580, 427, 610, 427, 613, 7142 623, 611, 612, 1131, 629, 614, 616, 617, 461, 619, 7143 461, 615, 465, 618, 465, 621, 620, 627, 462, 622, 7144 632, 472, 466, 472, 1033, 628, 630, 428, 623, 631, 7145 633, 624, 581, 629, 582, 634, 640, 583, 645, 625, 7146 7147 636, 584, 1131, 637, 585, 627, 638, 586, 587, 632, 7148 639, 588, 473, 628, 630, 1131, 1131, 631, 633, 1131, 7149 646, 581, 646, 582, 634, 640, 583, 645, 636, 584, 7150 626, 637, 585, 644, 638, 586, 587, 1131, 639, 588, 7151 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 7152 600, 647, 600, 600, 600, 600, 600, 600, 600, 626, 7153 648, 644, 649, 650, 641, 500, 641, 500, 653, 600, 7154 600, 600, 600, 600, 642, 501, 654, 655, 656, 657, 7155 658, 190, 190, 669, 205, 669, 190, 1131, 667, 648, 7156 667, 649, 650, 651, 668, 659, 666, 653, 701, 205, 7157 7158 600, 600, 571, 212, 654, 670, 655, 656, 657, 658, 7159 205, 660, 660, 660, 660, 660, 660, 660, 660, 660, 7160 660, 661, 664, 668, 666, 684, 701, 179, 600, 703, 7161 662, 571, 663, 675, 670, 1131, 1131, 660, 660, 660, 7162 660, 660, 660, 660, 660, 660, 660, 661, 1131, 212, 7163 212, 664, 679, 179, 684, 676, 705, 703, 662, 1050, 7164 663, 675, 1131, 660, 660, 660, 660, 660, 660, 660, 7165 660, 660, 660, 661, 614, 536, 205, 536, 1131, 179, 7166 679, 615, 687, 676, 705, 671, 678, 108, 371, 665, 7167 665, 665, 665, 665, 665, 665, 665, 665, 665, 677, 7168 7169 672, 1131, 672, 614, 87, 83, 680, 110, 110, 615, 7170 673, 687, 699, 671, 674, 678, 537, 371, 371, 1131, 7171 110, 371, 681, 91, 371, 682, 700, 677, 683, 704, 7172 92, 93, 706, 712, 680, 91, 110, 110, 689, 713, 7173 692, 699, 696, 697, 707, 537, 708, 371, 110, 709, 7174 371, 681, 710, 371, 682, 700, 711, 683, 704, 694, 7175 1131, 706, 712, 718, 770, 186, 775, 689, 713, 692, 7176 1131, 578, 707, 578, 708, 1131, 641, 709, 641, 716, 7177 710, 717, 1131, 719, 711, 720, 642, 721, 694, 685, 7178 685, 718, 685, 685, 685, 685, 685, 685, 685, 685, 7179 7180 685, 685, 685, 685, 685, 685, 685, 685, 716, 722, 7181 717, 719, 714, 723, 720, 721, 725, 726, 685, 685, 7182 685, 685, 685, 727, 728, 1131, 715, 729, 730, 724, 7183 731, 1131, 732, 733, 734, 739, 735, 722, 735, 1131, 7184 737, 714, 723, 603, 725, 603, 726, 738, 742, 685, 7185 685, 727, 740, 728, 715, 729, 730, 724, 741, 731, 7186 732, 743, 733, 734, 739, 744, 745, 736, 737, 746, 7187 747, 1131, 748, 749, 604, 738, 742, 685, 750, 751, 7188 752, 740, 755, 1131, 756, 757, 758, 741, 759, 760, 7189 743, 761, 766, 744, 745, 763, 764, 765, 746, 747, 7190 7191 748, 767, 749, 768, 769, 646, 750, 646, 751, 752, 7192 772, 755, 756, 773, 757, 758, 759, 774, 760, 190, 7193 761, 766, 190, 763, 764, 765, 779, 780, 669, 767, 7194 669, 768, 769, 672, 781, 672, 647, 782, 672, 772, 7195 672, 205, 773, 673, 371, 774, 205, 674, 673, 674, 7196 371, 674, 674, 212, 212, 779, 780, 801, 777, 776, 7197 91, 1131, 781, 674, 91, 371, 782, 798, 799, 788, 7198 91, 92, 93, 371, 802, 803, 1131, 92, 93, 371, 7199 770, 833, 771, 833, 190, 801, 783, 777, 776, 179, 7200 785, 834, 784, 787, 371, 179, 1131, 804, 788, 805, 7201 7202 806, 807, 802, 108, 803, 109, 109, 109, 109, 109, 7203 109, 109, 109, 109, 109, 783, 808, 1131, 809, 785, 7204 784, 810, 787, 110, 110, 804, 814, 805, 806, 807, 7205 815, 816, 1131, 817, 818, 1131, 110, 851, 1131, 851, 7206 770, 864, 770, 864, 1093, 808, 809, 852, 1131, 864, 7207 810, 864, 110, 110, 811, 814, 811, 819, 820, 815, 7208 816, 817, 821, 818, 110, 786, 786, 212, 786, 786, 7209 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 7210 786, 786, 786, 786, 822, 819, 820, 823, 824, 812, 7211 826, 821, 825, 827, 786, 786, 786, 786, 786, 828, 7212 7213 829, 1131, 813, 830, 831, 735, 832, 735, 205, 835, 7214 836, 837, 822, 838, 1131, 839, 823, 824, 812, 826, 7215 825, 840, 827, 841, 844, 786, 786, 828, 846, 829, 7216 813, 830, 831, 1131, 1131, 832, 736, 835, 1131, 836, 7217 837, 845, 838, 839, 847, 770, 186, 775, 833, 840, 7218 833, 841, 844, 786, 791, 77, 791, 846, 834, 792, 7219 792, 842, 792, 842, 1131, 1131, 792, 792, 1095, 845, 7220 792, 1131, 847, 792, 792, 792, 792, 792, 792, 792, 7221 792, 792, 790, 790, 190, 790, 790, 790, 790, 790, 7222 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 7223 7224 790, 848, 849, 205, 850, 853, 1131, 856, 858, 843, 7225 857, 790, 790, 790, 790, 790, 854, 859, 854, 862, 7226 865, 860, 205, 212, 863, 371, 791, 77, 791, 848, 7227 873, 849, 850, 879, 853, 856, 858, 843, 874, 857, 7228 866, 1131, 790, 790, 875, 876, 859, 877, 862, 865, 7229 860, 855, 863, 878, 371, 91, 882, 91, 867, 873, 7230 869, 879, 92, 93, 92, 93, 864, 874, 864, 866, 7231 790, 1131, 1131, 875, 876, 1131, 877, 811, 1131, 811, 7232 855, 871, 878, 883, 882, 872, 884, 867, 885, 869, 7233 868, 868, 212, 868, 868, 868, 868, 868, 868, 868, 7234 7235 868, 868, 868, 868, 868, 868, 868, 868, 868, 886, 7236 871, 883, 880, 888, 872, 884, 885, 887, 889, 868, 7237 868, 868, 868, 868, 890, 881, 891, 1131, 892, 893, 7238 894, 895, 896, 1131, 897, 898, 899, 908, 886, 900, 7239 212, 880, 888, 906, 907, 887, 842, 889, 842, 910, 7240 868, 868, 890, 881, 911, 891, 892, 893, 894, 895, 7241 912, 896, 897, 913, 898, 899, 908, 900, 902, 903, 7242 902, 906, 907, 851, 914, 851, 904, 910, 868, 905, 7243 915, 917, 911, 852, 854, 918, 854, 919, 912, 920, 7244 205, 924, 913, 923, 909, 371, 928, 1131, 929, 930, 7245 7246 1096, 931, 932, 914, 933, 934, 935, 936, 915, 937, 7247 917, 938, 1131, 939, 918, 919, 940, 944, 920, 916, 7248 924, 923, 909, 941, 371, 928, 929, 942, 930, 931, 7249 932, 943, 933, 934, 935, 936, 945, 937, 950, 926, 7250 938, 939, 946, 947, 948, 940, 944, 949, 916, 951, 7251 952, 941, 902, 903, 902, 942, 953, 903, 953, 943, 7252 904, 960, 1131, 905, 945, 961, 950, 926, 1131, 959, 7253 964, 946, 947, 948, 962, 965, 949, 951, 952, 902, 7254 903, 902, 966, 955, 956, 955, 967, 904, 968, 960, 7255 905, 957, 969, 961, 958, 902, 903, 902, 959, 964, 7256 7257 190, 971, 962, 904, 965, 972, 905, 205, 205, 212, 7258 966, 976, 977, 978, 967, 1131, 968, 979, 1131, 980, 7259 981, 969, 982, 983, 984, 987, 985, 988, 985, 989, 7260 971, 990, 991, 992, 972, 970, 986, 993, 994, 976, 7261 977, 978, 995, 973, 975, 974, 979, 980, 1131, 981, 7262 982, 1131, 983, 984, 987, 999, 988, 998, 989, 990, 7263 991, 992, 1131, 1131, 970, 993, 994, 996, 903, 996, 7264 1001, 995, 973, 975, 974, 955, 956, 955, 190, 955, 7265 956, 955, 1000, 957, 999, 998, 958, 957, 1002, 205, 7266 958, 997, 956, 997, 1003, 955, 956, 955, 1001, 904, 7267 7268 1004, 212, 905, 957, 1006, 205, 958, 955, 956, 955, 7269 1010, 1000, 1011, 1013, 1011, 957, 1014, 1002, 958, 1131, 7270 1015, 1016, 1012, 1003, 1005, 985, 985, 985, 985, 1004, 7271 1017, 1018, 1006, 1019, 1007, 986, 986, 1008, 1021, 1010, 7272 1020, 1013, 1022, 205, 205, 1014, 1131, 1009, 1015, 1025, 7273 1016, 1131, 1005, 1023, 903, 1023, 1026, 1028, 1017, 1018, 7274 1036, 1019, 1007, 1039, 1037, 1038, 1008, 1021, 1020, 1040, 7275 1041, 1022, 1024, 903, 1024, 1009, 1042, 1032, 1025, 1031, 7276 904, 205, 1011, 905, 1011, 1026, 1028, 1034, 1036, 1034, 7277 1045, 1039, 1012, 1037, 1038, 1046, 190, 1040, 1047, 1041, 7278 7279 1035, 1049, 1035, 212, 1042, 1056, 1032, 1055, 1031, 1043, 7280 903, 1043, 1044, 903, 1044, 1131, 1057, 1051, 1035, 1045, 7281 904, 1058, 1060, 905, 1046, 1034, 1047, 1034, 1063, 1049, 7282 1059, 190, 1053, 1056, 1053, 212, 1055, 1064, 1035, 205, 7283 1035, 1048, 1073, 1054, 1057, 1035, 1051, 1035, 1052, 1075, 7284 1058, 1060, 1061, 903, 1061, 1067, 1035, 1063, 1059, 1062, 7285 903, 1062, 1053, 1035, 1053, 1064, 1072, 904, 1074, 1048, 7286 905, 1073, 1079, 1054, 1068, 205, 1052, 1066, 1075, 1080, 7287 1081, 1071, 1131, 1067, 1078, 903, 1078, 190, 212, 1083, 7288 1131, 1086, 904, 1131, 1072, 905, 1074, 1087, 1131, 1090, 7289 7290 1079, 190, 205, 1068, 190, 1066, 1131, 1080, 1081, 1071, 7291 1076, 903, 1076, 205, 1131, 1077, 1077, 1083, 1077, 1086, 7292 1097, 1084, 1077, 1077, 1091, 1087, 1077, 1090, 1098, 1077, 7293 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1082, 1085, 7294 1076, 903, 1076, 902, 903, 902, 1131, 1100, 1097, 1084, 7295 1103, 904, 212, 1091, 905, 1099, 1108, 1098, 1101, 205, 7296 212, 205, 1113, 1131, 190, 1131, 1082, 1085, 902, 903, 7297 902, 1104, 205, 1088, 1088, 1100, 1089, 190, 1103, 905, 7298 1088, 1088, 212, 1099, 1088, 1108, 1101, 1088, 1088, 1088, 7299 1088, 1088, 1088, 1088, 1088, 1088, 902, 903, 902, 1104, 7300 7301 955, 956, 955, 1102, 904, 1105, 190, 905, 957, 1106, 7302 1112, 958, 1109, 1107, 212, 1115, 1116, 212, 1110, 1119, 7303 1120, 1119, 205, 1117, 1121, 1122, 1121, 1124, 1125, 1124, 7304 205, 1102, 205, 1105, 1119, 1120, 1119, 1106, 1111, 1112, 7305 1109, 205, 1107, 1115, 1116, 1131, 1114, 1110, 1121, 1122, 7306 1121, 1117, 1124, 1125, 1124, 1129, 1130, 1129, 1129, 1130, 7307 1129, 1131, 1131, 1131, 1127, 1131, 1126, 1111, 1118, 1131, 7308 1131, 1123, 1131, 1131, 1131, 1114, 1131, 1131, 1131, 1131, 7309 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7310 1131, 1131, 1128, 1127, 1131, 1126, 1118, 1131, 1131, 1123, 7311 7312 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7313 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7314 1128, 66, 66, 66, 66, 66, 66, 66, 66, 66, 7315 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 7316 67, 67, 67, 67, 67, 67, 67, 79, 1131, 79, 7317 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 7318 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 7319 82, 82, 82, 86, 86, 86, 86, 86, 86, 86, 7320 86, 86, 86, 86, 86, 86, 90, 90, 90, 90, 7321 90, 90, 90, 90, 90, 90, 90, 90, 90, 113, 7322 7323 113, 113, 113, 113, 113, 113, 113, 113, 189, 189, 7324 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 7325 189, 204, 204, 204, 204, 204, 204, 204, 204, 204, 7326 204, 204, 204, 204, 210, 210, 210, 210, 210, 1131, 7327 210, 210, 210, 1131, 210, 1131, 210, 231, 231, 231, 7328 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 7329 99, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 99, 249, 7330 249, 1131, 249, 249, 1131, 249, 1131, 1131, 249, 249, 7331 1131, 249, 336, 336, 336, 336, 340, 340, 340, 340, 7332 340, 340, 340, 340, 340, 340, 340, 340, 340, 365, 7333 7334 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 7335 365, 365, 371, 371, 371, 371, 371, 371, 371, 371, 7336 371, 371, 371, 371, 371, 601, 601, 601, 1131, 601, 7337 601, 601, 601, 601, 601, 601, 601, 601, 685, 1131, 7338 685, 685, 685, 685, 685, 685, 685, 685, 685, 685, 7339 685, 688, 1131, 688, 688, 688, 688, 688, 688, 688, 7340 688, 688, 688, 688, 690, 690, 690, 690, 690, 690, 7341 690, 690, 690, 690, 690, 690, 690, 693, 693, 693, 7342 693, 693, 693, 693, 693, 693, 693, 693, 693, 693, 7343 695, 695, 695, 695, 695, 695, 695, 695, 695, 695, 7344 7345 695, 695, 695, 702, 1131, 702, 702, 702, 702, 702, 7346 702, 702, 702, 702, 702, 702, 778, 778, 778, 778, 7347 778, 778, 778, 778, 778, 778, 778, 778, 778, 786, 7348 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 7349 786, 786, 789, 789, 789, 789, 789, 789, 789, 789, 7350 789, 789, 789, 789, 789, 790, 1131, 790, 790, 790, 7351 790, 790, 790, 790, 790, 790, 790, 790, 793, 1131, 7352 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 7353 793, 794, 794, 794, 794, 794, 794, 794, 794, 794, 7354 794, 794, 794, 794, 796, 796, 796, 796, 796, 796, 7355 7356 796, 796, 796, 796, 796, 796, 796, 797, 797, 797, 7357 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 7358 800, 1131, 800, 800, 800, 800, 800, 800, 800, 800, 7359 800, 800, 800, 861, 861, 861, 861, 861, 861, 861, 7360 861, 861, 861, 861, 861, 861, 868, 868, 868, 868, 7361 868, 868, 868, 868, 868, 868, 868, 868, 868, 870, 7362 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 7363 870, 870, 901, 901, 901, 901, 901, 901, 901, 901, 7364 901, 901, 901, 901, 901, 954, 954, 954, 954, 954, 7365 954, 954, 954, 954, 954, 954, 954, 954, 1069, 1069, 7366 7367 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 7368 1069, 13, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7369 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7370 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7371 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7372 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7373 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7374 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7375 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7376 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7377 7378 1131 7379 } ; 7380 7381 static yyconst flex_int16_t yy_chk[4102] = 9173 static yyconst flex_int16_t yy_chk[9689] = 7382 9174 { 0, 7383 9175 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 7389 9181 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7390 9182 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7391 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 7392 2, 2, 2, 74, 8, 8, 8, 8, 10, 15, 7393 7394 15, 15, 1083, 14, 16, 16, 16, 2, 2, 2, 7395 2, 2, 2, 2, 2, 2, 2, 14, 70, 17, 7396 1081, 10, 74, 70, 2, 2, 71, 75, 2, 8, 7397 2, 8, 14, 17, 18, 19, 21, 15, 20, 22, 7398 551, 2, 2, 551, 1069, 14, 22, 22, 17, 19, 7399 10, 15, 20, 2, 2, 75, 80, 2, 8, 2, 7400 8, 17, 84, 23, 19, 30, 15, 20, 18, 2, 7401 2, 71, 24, 21, 26, 30, 22, 19, 81, 15, 7402 20, 25, 18, 116, 23, 80, 24, 21, 26, 30, 7403 22, 84, 28, 85, 100, 31, 1051, 18, 23, 71, 7404 7405 624, 24, 21, 26, 30, 22, 81, 25, 624, 31, 7406 18, 32, 116, 23, 24, 21, 26, 30, 22, 28, 7407 84, 25, 100, 1047, 31, 32, 23, 56, 56, 56, 7408 76, 76, 76, 28, 101, 105, 25, 31, 106, 85, 7409 32, 179, 69, 69, 69, 33, 1006, 179, 28, 25, 7410 27, 33, 27, 32, 77, 77, 77, 78, 78, 78, 7411 1000, 28, 101, 105, 914, 33, 106, 85, 27, 27, 7412 27, 27, 27, 27, 27, 27, 27, 27, 34, 69, 7413 33, 35, 35, 27, 120, 35, 41, 27, 27, 27, 7414 868, 35, 34, 33, 27, 41, 27, 27, 35, 35, 7415 7416 41, 862, 27, 123, 89, 861, 27, 34, 69, 796, 7417 35, 35, 27, 120, 35, 41, 27, 27, 27, 35, 7418 34, 114, 27, 41, 27, 27, 35, 35, 41, 88, 7419 27, 36, 123, 42, 27, 29, 36, 29, 29, 29, 7420 29, 29, 29, 29, 29, 29, 29, 42, 794, 114, 7421 36, 90, 337, 89, 337, 29, 29, 29, 90, 90, 7422 36, 88, 42, 115, 117, 36, 104, 786, 29, 121, 7423 122, 29, 126, 44, 109, 42, 104, 54, 36, 38, 7424 38, 89, 44, 38, 29, 29, 29, 44, 109, 38, 7425 88, 115, 117, 38, 38, 104, 29, 121, 122, 29, 7426 7427 37, 126, 44, 109, 104, 37, 54, 37, 38, 38, 7428 44, 37, 38, 785, 37, 44, 109, 38, 92, 37, 7429 54, 38, 38, 778, 37, 92, 92, 660, 777, 37, 7430 186, 186, 186, 660, 37, 54, 37, 43, 693, 37, 7431 132, 45, 37, 692, 43, 43, 45, 37, 54, 45, 7432 690, 43, 37, 39, 625, 45, 72, 72, 72, 39, 7433 45, 39, 39, 625, 39, 39, 43, 39, 72, 132, 7434 45, 39, 43, 43, 124, 45, 102, 689, 45, 43, 7435 689, 678, 39, 45, 211, 211, 211, 39, 45, 39, 7436 39, 102, 39, 39, 72, 39, 119, 49, 49, 39, 7437 7438 40, 664, 124, 40, 635, 102, 40, 40, 72, 40, 7439 46, 753, 49, 119, 40, 40, 128, 143, 46, 102, 7440 753, 46, 46, 72, 46, 119, 49, 49, 118, 40, 7441 46, 558, 40, 103, 40, 40, 72, 40, 118, 46, 7442 49, 119, 40, 40, 128, 47, 143, 46, 103, 46, 7443 46, 48, 46, 47, 129, 47, 48, 118, 46, 47, 7444 47, 52, 103, 130, 131, 48, 118, 133, 48, 52, 7445 48, 48, 661, 553, 47, 52, 103, 534, 661, 134, 7446 48, 47, 129, 47, 519, 48, 135, 47, 47, 137, 7447 52, 130, 131, 48, 95, 133, 48, 52, 48, 48, 7448 7449 50, 95, 95, 52, 50, 50, 51, 134, 50, 496, 7450 53, 51, 53, 51, 135, 487, 50, 137, 139, 50, 7451 50, 140, 53, 51, 53, 51, 224, 224, 224, 50, 7452 401, 399, 146, 50, 50, 51, 141, 50, 144, 53, 7453 51, 53, 51, 95, 50, 60, 139, 50, 50, 140, 7454 53, 51, 53, 51, 55, 55, 55, 55, 57, 57, 7455 58, 146, 55, 392, 141, 58, 144, 338, 138, 338, 7456 147, 95, 60, 390, 138, 57, 57, 57, 57, 57, 7457 57, 57, 57, 57, 57, 148, 60, 149, 159, 55, 7458 55, 65, 55, 55, 62, 55, 138, 58, 147, 65, 7459 7460 62, 60, 138, 62, 65, 65, 55, 55, 62, 365, 7461 150, 58, 362, 148, 60, 340, 149, 159, 55, 55, 7462 65, 55, 55, 62, 55, 151, 58, 65, 62, 336, 7463 247, 62, 65, 65, 55, 55, 62, 63, 150, 58, 7464 59, 91, 91, 91, 63, 63, 59, 244, 243, 91, 7465 91, 63, 242, 151, 59, 241, 59, 59, 59, 59, 7466 59, 59, 59, 59, 59, 59, 63, 99, 99, 142, 7467 94, 142, 63, 63, 59, 59, 59, 94, 94, 63, 7468 99, 152, 125, 125, 153, 154, 155, 59, 125, 157, 7469 59, 161, 213, 511, 163, 511, 99, 99, 164, 210, 7470 7471 166, 127, 94, 59, 59, 59, 127, 170, 99, 152, 7472 125, 125, 153, 154, 155, 59, 125, 157, 59, 61, 7473 161, 142, 163, 61, 61, 204, 164, 61, 166, 860, 7474 127, 94, 189, 61, 182, 127, 170, 61, 61, 158, 7475 64, 178, 158, 136, 165, 64, 145, 64, 61, 142, 7476 136, 165, 61, 61, 136, 171, 61, 64, 145, 64, 7477 145, 61, 182, 145, 64, 61, 61, 158, 87, 64, 7478 158, 86, 136, 165, 64, 145, 64, 82, 136, 165, 7479 67, 512, 136, 512, 171, 64, 145, 64, 145, 860, 7480 13, 145, 64, 73, 73, 73, 73, 73, 73, 73, 7481 7482 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7483 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7484 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7485 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7486 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7487 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7488 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7489 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 7490 73, 73, 98, 110, 98, 110, 7, 156, 110, 110, 7491 110, 110, 110, 110, 110, 110, 110, 110, 160, 366, 7492 7493 366, 366, 156, 183, 160, 172, 528, 168, 528, 169, 7494 173, 174, 0, 169, 173, 98, 156, 185, 168, 98, 7495 181, 98, 866, 530, 196, 530, 98, 160, 98, 98, 7496 156, 183, 160, 162, 172, 162, 168, 169, 98, 173, 7497 174, 169, 0, 173, 98, 185, 168, 0, 98, 181, 7498 98, 162, 162, 196, 98, 162, 98, 98, 176, 199, 7499 176, 0, 162, 191, 162, 0, 98, 108, 108, 108, 7500 108, 108, 108, 108, 108, 108, 108, 167, 180, 162, 7501 162, 184, 866, 162, 203, 108, 108, 199, 184, 192, 7502 200, 167, 180, 193, 167, 191, 176, 231, 108, 202, 7503 7504 0, 207, 215, 0, 231, 231, 167, 180, 0, 184, 7505 176, 187, 187, 203, 108, 108, 184, 208, 200, 167, 7506 180, 192, 167, 0, 191, 176, 108, 202, 187, 187, 7507 187, 187, 187, 187, 187, 187, 187, 187, 176, 188, 7508 197, 651, 193, 651, 239, 188, 207, 197, 222, 208, 7509 192, 215, 223, 0, 0, 188, 188, 188, 188, 188, 7510 188, 188, 188, 188, 188, 194, 198, 198, 197, 214, 7511 193, 194, 198, 239, 207, 197, 222, 0, 208, 215, 7512 223, 194, 194, 194, 194, 194, 194, 194, 194, 194, 7513 194, 195, 209, 225, 198, 198, 216, 195, 0, 240, 7514 7515 198, 214, 206, 206, 206, 195, 201, 195, 195, 195, 7516 195, 195, 195, 195, 195, 195, 195, 226, 201, 246, 7517 201, 225, 227, 201, 229, 195, 195, 209, 216, 221, 7518 214, 221, 0, 0, 258, 201, 234, 240, 195, 206, 7519 230, 0, 228, 234, 234, 226, 201, 246, 201, 0, 7520 652, 201, 652, 0, 195, 195, 209, 216, 221, 0, 7521 221, 245, 227, 258, 0, 240, 195, 229, 206, 217, 7522 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 7523 217, 217, 217, 217, 217, 217, 217, 217, 220, 219, 7524 227, 228, 230, 248, 245, 229, 254, 255, 217, 217, 7525 7526 217, 217, 217, 219, 237, 220, 232, 232, 232, 256, 7527 257, 237, 237, 259, 232, 232, 0, 220, 219, 228, 7528 230, 248, 245, 0, 254, 255, 233, 233, 233, 217, 7529 217, 219, 0, 220, 233, 233, 236, 256, 257, 0, 7530 238, 259, 238, 236, 236, 238, 238, 238, 238, 238, 7531 238, 238, 238, 238, 238, 260, 237, 217, 218, 218, 7532 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 7533 218, 218, 218, 218, 218, 218, 218, 261, 262, 236, 7534 378, 378, 378, 260, 237, 0, 0, 218, 218, 218, 7535 218, 218, 218, 251, 251, 251, 251, 251, 251, 251, 7536 7537 251, 251, 251, 263, 264, 261, 262, 236, 252, 252, 7538 252, 252, 252, 252, 252, 252, 252, 252, 218, 218, 7539 253, 218, 253, 547, 547, 547, 0, 0, 266, 267, 7540 253, 263, 264, 265, 268, 269, 265, 0, 270, 271, 7541 272, 273, 274, 0, 0, 266, 218, 250, 250, 250, 7542 250, 250, 250, 250, 250, 250, 250, 266, 267, 277, 7543 281, 265, 268, 269, 265, 250, 250, 270, 271, 272, 7544 273, 274, 276, 266, 276, 282, 283, 278, 250, 278, 7545 0, 0, 279, 279, 284, 285, 286, 285, 277, 281, 7546 287, 0, 289, 290, 250, 250, 291, 292, 288, 293, 7547 7548 288, 295, 0, 276, 282, 283, 250, 275, 278, 275, 7549 279, 279, 284, 294, 286, 299, 285, 0, 298, 287, 7550 289, 290, 0, 300, 291, 292, 294, 293, 302, 0, 7551 295, 296, 301, 296, 301, 0, 303, 297, 275, 297, 7552 304, 296, 294, 275, 299, 275, 298, 297, 275, 0, 7553 288, 300, 275, 306, 294, 275, 305, 302, 275, 275, 7554 308, 0, 275, 301, 303, 309, 310, 312, 304, 313, 7555 315, 311, 275, 316, 275, 296, 317, 275, 288, 311, 7556 275, 297, 306, 275, 305, 296, 275, 275, 318, 308, 7557 275, 297, 314, 309, 310, 319, 312, 313, 315, 311, 7558 7559 314, 316, 320, 296, 317, 321, 322, 311, 323, 297, 7560 324, 325, 326, 296, 328, 329, 327, 318, 327, 297, 7561 330, 314, 331, 332, 319, 333, 327, 334, 314, 335, 7562 339, 320, 341, 321, 342, 322, 323, 343, 324, 325, 7563 326, 344, 345, 328, 329, 346, 347, 352, 330, 0, 7564 331, 332, 0, 333, 351, 334, 363, 335, 339, 348, 7565 341, 348, 342, 353, 0, 343, 355, 356, 358, 344, 7566 345, 357, 359, 346, 376, 347, 369, 348, 348, 348, 7567 348, 348, 348, 348, 348, 348, 348, 349, 357, 869, 7568 352, 361, 351, 349, 363, 355, 356, 358, 371, 0, 7569 7570 357, 359, 376, 349, 349, 349, 349, 349, 349, 349, 7571 349, 349, 349, 350, 368, 353, 357, 370, 352, 350, 7572 361, 351, 377, 363, 379, 383, 0, 371, 369, 350, 7573 350, 350, 350, 350, 350, 350, 350, 350, 350, 1005, 7574 0, 360, 372, 353, 354, 364, 364, 364, 381, 869, 7575 354, 377, 379, 372, 360, 370, 369, 368, 354, 373, 7576 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 7577 360, 372, 374, 380, 384, 383, 382, 373, 354, 354, 7578 0, 372, 360, 375, 370, 368, 364, 406, 373, 385, 7579 398, 354, 374, 405, 375, 381, 385, 385, 653, 1005, 7580 7581 653, 374, 380, 383, 0, 373, 386, 354, 354, 382, 7582 384, 0, 375, 386, 386, 364, 406, 387, 398, 354, 7583 374, 405, 375, 381, 387, 387, 388, 388, 388, 388, 7584 388, 388, 388, 388, 388, 388, 408, 410, 382, 384, 7585 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 7586 402, 411, 402, 387, 413, 0, 386, 414, 0, 415, 7587 402, 416, 417, 418, 420, 408, 410, 421, 422, 423, 7588 424, 425, 426, 429, 426, 430, 431, 0, 432, 411, 7589 433, 435, 387, 413, 386, 436, 414, 415, 434, 416, 7590 417, 439, 418, 420, 442, 421, 422, 423, 424, 425, 7591 7592 437, 429, 437, 430, 434, 431, 432, 444, 433, 435, 7593 440, 446, 440, 426, 436, 447, 445, 434, 445, 439, 7594 450, 448, 442, 448, 1009, 451, 452, 426, 454, 0, 7595 457, 437, 434, 455, 456, 444, 458, 459, 460, 446, 7596 464, 440, 426, 458, 447, 463, 468, 445, 467, 450, 7597 0, 469, 448, 451, 452, 426, 427, 454, 427, 457, 7598 470, 455, 456, 0, 480, 458, 459, 460, 461, 464, 7599 461, 458, 465, 463, 465, 468, 467, 478, 461, 469, 7600 483, 472, 465, 472, 1009, 479, 481, 427, 470, 482, 7601 484, 475, 427, 480, 427, 485, 493, 427, 503, 475, 7602 7603 488, 427, 0, 489, 427, 478, 490, 427, 427, 483, 7604 491, 427, 472, 479, 481, 0, 0, 482, 484, 0, 7605 506, 427, 506, 427, 485, 493, 427, 503, 488, 427, 7606 475, 489, 427, 499, 490, 427, 427, 0, 491, 427, 7607 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 7608 443, 506, 443, 443, 443, 443, 443, 443, 443, 475, 7609 507, 499, 508, 509, 494, 500, 494, 500, 513, 443, 7610 443, 443, 443, 443, 494, 500, 514, 515, 516, 517, 7611 518, 523, 524, 655, 535, 655, 525, 0, 667, 507, 7612 667, 508, 509, 520, 529, 520, 527, 513, 563, 1031, 7613 7614 443, 443, 529, 540, 514, 531, 515, 516, 517, 518, 7615 537, 520, 520, 520, 520, 520, 520, 520, 520, 520, 7616 520, 521, 525, 529, 527, 545, 563, 521, 443, 565, 7617 523, 529, 524, 535, 531, 0, 0, 521, 521, 521, 7618 521, 521, 521, 521, 521, 521, 521, 522, 0, 538, 7619 539, 525, 540, 522, 545, 537, 568, 565, 523, 1031, 7620 524, 535, 0, 522, 522, 522, 522, 522, 522, 522, 7621 522, 522, 522, 526, 532, 536, 536, 536, 0, 526, 7622 540, 532, 548, 537, 568, 532, 539, 526, 541, 526, 7623 526, 526, 526, 526, 526, 526, 526, 526, 526, 538, 7624 7625 533, 0, 533, 532, 552, 550, 541, 526, 526, 532, 7626 533, 548, 561, 532, 533, 539, 536, 541, 542, 0, 7627 526, 543, 542, 554, 544, 543, 562, 538, 544, 566, 7628 554, 554, 569, 576, 541, 555, 526, 526, 550, 577, 7629 552, 561, 555, 555, 570, 536, 571, 542, 526, 573, 7630 543, 542, 574, 544, 543, 562, 575, 544, 566, 554, 7631 0, 569, 576, 581, 659, 659, 659, 550, 577, 552, 7632 0, 578, 570, 578, 571, 0, 641, 573, 641, 579, 7633 574, 580, 0, 582, 575, 583, 641, 584, 554, 564, 7634 564, 581, 564, 564, 564, 564, 564, 564, 564, 564, 7635 7636 564, 564, 564, 564, 564, 564, 564, 564, 579, 585, 7637 580, 582, 578, 586, 583, 584, 587, 588, 564, 564, 7638 564, 564, 564, 590, 592, 0, 578, 593, 594, 586, 7639 595, 0, 596, 597, 598, 608, 599, 585, 599, 0, 7640 602, 578, 586, 603, 587, 603, 588, 607, 613, 564, 7641 564, 590, 610, 592, 578, 593, 594, 586, 611, 595, 7642 596, 614, 597, 598, 608, 615, 616, 599, 602, 617, 7643 618, 0, 619, 620, 603, 607, 613, 564, 621, 622, 7644 623, 610, 626, 0, 627, 628, 630, 611, 632, 633, 7645 614, 634, 639, 615, 616, 636, 637, 638, 617, 618, 7646 7647 619, 640, 620, 644, 645, 646, 621, 646, 622, 623, 7648 654, 626, 627, 656, 628, 630, 632, 657, 633, 662, 7649 634, 639, 663, 636, 637, 638, 666, 668, 669, 640, 7650 669, 644, 645, 658, 670, 658, 646, 671, 672, 654, 7651 672, 676, 656, 658, 681, 657, 675, 658, 672, 674, 7652 683, 674, 672, 679, 677, 666, 668, 700, 663, 662, 7653 694, 0, 670, 674, 695, 680, 671, 694, 694, 680, 7654 696, 695, 695, 681, 701, 703, 0, 696, 696, 683, 7655 771, 738, 771, 738, 1082, 700, 675, 663, 662, 665, 7656 677, 738, 676, 679, 680, 665, 0, 704, 680, 706, 7657 7658 707, 708, 701, 665, 703, 665, 665, 665, 665, 665, 7659 665, 665, 665, 665, 665, 675, 709, 0, 710, 677, 7660 676, 711, 679, 665, 665, 704, 714, 706, 707, 708, 7661 715, 717, 0, 719, 721, 0, 665, 762, 0, 762, 7662 770, 781, 770, 781, 1082, 709, 710, 762, 770, 858, 7663 711, 858, 665, 665, 712, 714, 712, 722, 723, 715, 7664 717, 719, 724, 721, 665, 682, 682, 682, 682, 682, 7665 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 7666 682, 682, 682, 682, 725, 722, 723, 726, 727, 712, 7667 729, 724, 728, 730, 682, 682, 682, 682, 682, 731, 7668 7669 732, 0, 712, 733, 734, 735, 737, 735, 1084, 739, 7670 740, 741, 725, 742, 0, 743, 726, 727, 712, 729, 7671 728, 745, 730, 746, 752, 682, 682, 731, 756, 732, 7672 712, 733, 734, 0, 0, 737, 735, 739, 0, 740, 7673 741, 755, 742, 743, 757, 775, 775, 775, 833, 745, 7674 833, 746, 752, 682, 686, 686, 686, 756, 833, 686, 7675 686, 751, 686, 751, 0, 0, 686, 686, 1084, 755, 7676 686, 0, 757, 686, 686, 686, 686, 686, 686, 686, 7677 686, 686, 699, 699, 776, 699, 699, 699, 699, 699, 7678 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 7679 7680 699, 758, 759, 783, 760, 763, 0, 768, 773, 751, 7681 772, 699, 699, 699, 699, 699, 767, 774, 767, 779, 7682 782, 776, 784, 787, 780, 789, 791, 791, 791, 758, 7683 802, 759, 760, 810, 763, 768, 773, 751, 803, 772, 7684 783, 0, 699, 699, 804, 806, 774, 807, 779, 782, 7685 776, 767, 780, 808, 789, 797, 812, 798, 784, 802, 7686 787, 810, 797, 797, 798, 798, 864, 803, 864, 783, 7687 699, 0, 0, 804, 806, 0, 807, 811, 0, 811, 7688 767, 801, 808, 813, 812, 801, 815, 784, 816, 787, 7689 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 7690 7691 788, 788, 788, 788, 788, 788, 788, 788, 788, 817, 7692 801, 813, 811, 819, 801, 815, 816, 818, 820, 788, 7693 788, 788, 788, 788, 821, 811, 822, 0, 823, 824, 7694 825, 826, 827, 0, 828, 830, 831, 840, 817, 832, 7695 1085, 811, 819, 835, 836, 818, 842, 820, 842, 843, 7696 788, 788, 821, 811, 844, 822, 823, 824, 825, 826, 7697 846, 827, 828, 847, 830, 831, 840, 832, 834, 834, 7698 834, 835, 836, 851, 852, 851, 834, 843, 788, 834, 7699 853, 855, 844, 851, 854, 856, 854, 857, 846, 859, 7700 867, 865, 847, 863, 842, 870, 871, 0, 873, 874, 7701 7702 1085, 875, 876, 852, 878, 879, 880, 881, 853, 882, 7703 855, 883, 0, 884, 856, 857, 885, 889, 859, 854, 7704 865, 863, 842, 886, 870, 871, 873, 887, 874, 875, 7705 876, 888, 878, 879, 880, 881, 890, 882, 896, 867, 7706 883, 884, 892, 893, 894, 885, 889, 895, 854, 897, 7707 899, 886, 901, 901, 901, 887, 903, 903, 903, 888, 7708 901, 909, 0, 901, 890, 910, 896, 867, 0, 908, 7709 915, 892, 893, 894, 913, 916, 895, 897, 899, 902, 7710 902, 902, 917, 904, 904, 904, 918, 902, 919, 909, 7711 902, 904, 920, 910, 904, 905, 905, 905, 908, 915, 7712 7713 921, 922, 913, 905, 916, 924, 905, 925, 926, 927, 7714 917, 928, 929, 932, 918, 0, 919, 933, 0, 935, 7715 936, 920, 937, 938, 939, 941, 940, 942, 940, 943, 7716 922, 944, 945, 947, 924, 921, 940, 949, 951, 928, 7717 929, 932, 952, 925, 927, 926, 933, 935, 0, 936, 7718 937, 0, 938, 939, 941, 961, 942, 960, 943, 944, 7719 945, 947, 0, 0, 921, 949, 951, 953, 953, 953, 7720 965, 952, 925, 927, 926, 954, 954, 954, 970, 955, 7721 955, 955, 963, 954, 961, 960, 954, 955, 966, 973, 7722 955, 956, 956, 956, 967, 957, 957, 957, 965, 956, 7723 7724 969, 975, 956, 957, 971, 974, 957, 958, 958, 958, 7725 976, 963, 977, 980, 977, 958, 981, 966, 958, 0, 7726 982, 983, 977, 967, 970, 984, 985, 984, 985, 969, 7727 987, 989, 971, 991, 973, 984, 985, 974, 994, 976, 7728 992, 980, 995, 1008, 1007, 981, 0, 975, 982, 998, 7729 983, 0, 970, 996, 996, 996, 999, 1001, 987, 989, 7730 1013, 991, 973, 1016, 1014, 1015, 974, 994, 992, 1017, 7731 1019, 995, 997, 997, 997, 975, 1021, 1008, 998, 1007, 7732 997, 1032, 1011, 997, 1011, 999, 1001, 1012, 1013, 1012, 7733 1025, 1016, 1011, 1014, 1015, 1026, 1029, 1017, 1027, 1019, 7734 7735 1012, 1030, 1012, 1033, 1021, 1037, 1008, 1036, 1007, 1023, 7736 1023, 1023, 1024, 1024, 1024, 0, 1038, 1032, 1012, 1025, 7737 1024, 1039, 1042, 1024, 1026, 1034, 1027, 1034, 1045, 1030, 7738 1041, 1048, 1035, 1037, 1035, 1052, 1036, 1046, 1034, 1050, 7739 1034, 1029, 1056, 1035, 1038, 1035, 1032, 1035, 1033, 1059, 7740 1039, 1042, 1043, 1043, 1043, 1049, 1034, 1045, 1041, 1044, 7741 1044, 1044, 1053, 1035, 1053, 1046, 1055, 1044, 1058, 1029, 7742 1044, 1056, 1063, 1053, 1050, 1068, 1033, 1048, 1059, 1064, 7743 1065, 1052, 0, 1049, 1062, 1062, 1062, 1066, 1071, 1067, 7744 0, 1073, 1062, 0, 1055, 1062, 1058, 1074, 0, 1079, 7745 7746 1063, 1099, 1109, 1050, 1093, 1048, 0, 1064, 1065, 1052, 7747 1061, 1061, 1061, 1095, 0, 1061, 1061, 1067, 1061, 1073, 7748 1086, 1068, 1061, 1061, 1080, 1074, 1061, 1079, 1090, 1061, 7749 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1066, 1071, 7750 1076, 1076, 1076, 1077, 1077, 1077, 0, 1094, 1086, 1068, 7751 1099, 1077, 1096, 1080, 1077, 1093, 1104, 1090, 1095, 1101, 7752 1102, 1105, 1109, 0, 1111, 0, 1066, 1071, 1078, 1078, 7753 1078, 1100, 1113, 1078, 1078, 1094, 1078, 1103, 1099, 1078, 7754 1078, 1078, 1106, 1093, 1078, 1104, 1095, 1078, 1078, 1078, 7755 1078, 1078, 1078, 1078, 1078, 1078, 1088, 1088, 1088, 1100, 7756 7757 1089, 1089, 1089, 1096, 1088, 1101, 1107, 1088, 1089, 1102, 7758 1108, 1089, 1105, 1103, 1110, 1111, 1112, 1114, 1106, 1115, 7759 1115, 1115, 1117, 1113, 1116, 1116, 1116, 1118, 1118, 1118, 7760 1123, 1096, 1126, 1101, 1119, 1119, 1119, 1102, 1107, 1108, 7761 1105, 1127, 1103, 1111, 1112, 0, 1110, 1106, 1121, 1121, 7762 1121, 1113, 1124, 1124, 1124, 1128, 1128, 1128, 1129, 1129, 7763 1129, 0, 0, 0, 1126, 0, 1123, 1107, 1114, 0, 7764 0, 1117, 0, 0, 0, 1110, 0, 0, 0, 0, 7765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7766 0, 0, 1127, 1126, 0, 1123, 1114, 0, 0, 1117, 7767 9183 2, 2, 2, 2, 8, 1880, 8, 10, 10, 10, 9184 11, 11, 11, 12, 12, 12, 71, 1905, 1905, 11, 9185 9186 18, 71, 12, 19, 75, 19, 2, 2, 21, 8, 9187 2, 76, 2, 76, 18, 10, 23, 1878, 22, 106, 9188 24, 1877, 21, 2, 61, 61, 61, 61, 108, 18, 9189 23, 114, 19, 114, 24, 2, 2, 21, 8, 2, 9190 75, 2, 18, 22, 10, 23, 19, 320, 106, 24, 9191 21, 2, 6, 6, 6, 6, 108, 22, 23, 28, 9192 29, 19, 24, 320, 98, 34, 98, 30, 75, 98, 9193 113, 98, 22, 28, 19, 34, 35, 29, 6, 6, 9194 1874, 30, 6, 86, 6, 22, 112, 86, 28, 34, 9195 35, 29, 98, 86, 98, 6, 30, 98, 113, 98, 9196 9197 248, 28, 248, 1869, 34, 35, 29, 6, 6, 30, 9198 1867, 6, 86, 6, 1864, 112, 86, 34, 35, 29, 9199 776, 86, 776, 6, 13, 13, 13, 13, 13, 13, 9200 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9201 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9202 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9203 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9204 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9205 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9206 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9207 9208 13, 13, 13, 13, 14, 14, 14, 14, 36, 25, 9209 25, 25, 25, 26, 116, 36, 14, 102, 1861, 102, 9210 26, 26, 14, 117, 162, 37, 37, 121, 809, 36, 9211 14, 14, 37, 592, 14, 102, 14, 154, 25, 154, 9212 139, 26, 154, 116, 36, 809, 37, 14, 104, 592, 9213 104, 117, 25, 162, 1860, 26, 27, 36, 27, 14, 9214 14, 37, 140, 14, 121, 14, 104, 25, 139, 27, 9215 26, 27, 1857, 27, 37, 14, 16, 16, 16, 16, 9216 25, 40, 46, 26, 38, 27, 40, 32, 32, 32, 9217 140, 38, 121, 166, 16, 32, 46, 144, 32, 27, 9218 9219 40, 145, 16, 16, 32, 38, 16, 1853, 16, 32, 9220 40, 46, 45, 89, 27, 40, 32, 89, 1850, 16, 9221 38, 45, 166, 89, 46, 144, 45, 27, 40, 145, 9222 32, 16, 16, 38, 110, 16, 110, 16, 111, 1806, 9223 111, 45, 89, 1805, 1784, 32, 89, 16, 31, 45, 9224 31, 89, 110, 120, 45, 59, 111, 33, 32, 33, 9225 122, 122, 122, 122, 1760, 1758, 31, 111, 33, 33, 9226 33, 39, 31, 120, 39, 59, 31, 31, 31, 1734, 9227 39, 33, 163, 31, 33, 31, 31, 39, 39, 59, 9228 164, 31, 74, 74, 74, 31, 111, 33, 33, 33, 9229 9230 39, 31, 120, 39, 59, 31, 31, 31, 39, 33, 9231 163, 31, 33, 31, 31, 39, 39, 59, 164, 31, 9232 74, 1733, 165, 31, 41, 48, 42, 42, 48, 41, 9233 42, 41, 49, 49, 905, 41, 42, 905, 41, 48, 9234 62, 42, 49, 41, 124, 62, 1727, 49, 41, 74, 9235 165, 124, 124, 41, 48, 42, 42, 48, 41, 42, 9236 41, 49, 49, 41, 42, 47, 41, 48, 62, 42, 9237 49, 41, 47, 47, 47, 49, 41, 43, 778, 47, 9238 778, 167, 62, 43, 1141, 43, 43, 1141, 43, 43, 9239 63, 43, 169, 1708, 47, 43, 126, 62, 1707, 1702, 9240 9241 47, 47, 47, 126, 126, 1699, 43, 47, 63, 167, 9242 62, 43, 50, 43, 43, 168, 43, 43, 173, 43, 9243 169, 50, 63, 43, 44, 1683, 50, 44, 128, 1671, 9244 44, 44, 130, 44, 130, 128, 128, 63, 44, 44, 9245 171, 50, 176, 51, 168, 130, 173, 130, 51, 50, 9246 63, 128, 1670, 44, 50, 51, 44, 51, 44, 44, 9247 52, 44, 51, 51, 53, 161, 44, 44, 52, 171, 9248 52, 176, 51, 1410, 52, 52, 53, 51, 53, 175, 9249 128, 53, 161, 51, 53, 51, 54, 54, 1665, 52, 9250 51, 51, 56, 53, 161, 177, 52, 56, 52, 56, 9251 9252 1664, 54, 52, 52, 53, 141, 53, 175, 1659, 53, 9253 161, 56, 53, 55, 1638, 54, 54, 55, 55, 1631, 9254 141, 56, 57, 177, 1410, 178, 56, 55, 56, 54, 9255 57, 87, 55, 55, 141, 57, 57, 129, 58, 56, 9256 58, 131, 55, 131, 129, 129, 55, 55, 141, 1623, 9257 58, 57, 58, 178, 131, 55, 131, 1622, 57, 87, 9258 55, 55, 193, 57, 57, 143, 1620, 58, 179, 58, 9259 181, 1618, 1614, 87, 81, 143, 1611, 129, 58, 1416, 9260 58, 60, 60, 60, 60, 64, 65, 1610, 87, 64, 9261 64, 193, 65, 64, 143, 65, 179, 81, 181, 64, 9262 9263 65, 87, 81, 143, 64, 129, 182, 60, 60, 1465, 9264 60, 60, 1548, 60, 64, 65, 81, 205, 64, 64, 9265 65, 1547, 64, 65, 60, 183, 81, 64, 65, 1543, 9266 1416, 81, 64, 184, 182, 1542, 60, 60, 67, 60, 9267 60, 66, 60, 67, 81, 67, 205, 1541, 66, 66, 9268 66, 211, 60, 183, 80, 66, 88, 67, 170, 170, 9269 1465, 184, 67, 79, 79, 79, 79, 67, 1563, 185, 9270 66, 1563, 67, 83, 67, 79, 66, 66, 66, 80, 9271 211, 1539, 80, 66, 88, 67, 170, 170, 80, 79, 9272 67, 88, 88, 88, 188, 80, 80, 185, 88, 90, 9273 9274 83, 83, 91, 90, 83, 213, 91, 1532, 80, 90, 9275 83, 80, 91, 88, 191, 83, 80, 192, 79, 88, 9276 88, 88, 188, 80, 80, 82, 88, 214, 90, 83, 9277 83, 91, 90, 83, 213, 91, 195, 90, 83, 1527, 9278 91, 196, 191, 83, 215, 192, 142, 172, 82, 1464, 9279 85, 94, 172, 82, 85, 82, 214, 85, 85, 82, 9280 85, 142, 82, 94, 195, 94, 85, 82, 94, 196, 9281 100, 94, 82, 215, 174, 142, 172, 82, 100, 85, 9282 94, 172, 82, 85, 82, 85, 85, 82, 85, 142, 9283 82, 94, 1462, 94, 85, 82, 94, 217, 100, 94, 9284 9285 82, 84, 186, 223, 186, 84, 1632, 197, 84, 1632, 9286 84, 84, 100, 84, 84, 174, 174, 92, 95, 1457, 9287 84, 92, 95, 1456, 93, 92, 217, 100, 95, 92, 9288 84, 92, 223, 1454, 84, 197, 84, 92, 84, 84, 9289 100, 84, 84, 174, 174, 186, 92, 95, 84, 198, 9290 92, 95, 93, 194, 92, 1451, 95, 92, 103, 92, 9291 93, 194, 93, 199, 96, 92, 93, 93, 96, 103, 9292 138, 201, 96, 186, 99, 97, 1448, 198, 96, 138, 9293 138, 93, 194, 96, 96, 418, 103, 418, 93, 194, 9294 93, 199, 138, 96, 93, 93, 1445, 96, 97, 201, 9295 9296 103, 96, 99, 97, 99, 97, 96, 418, 138, 138, 9297 202, 96, 96, 202, 99, 103, 99, 97, 180, 251, 9298 138, 251, 251, 101, 101, 101, 101, 97, 103, 180, 9299 1444, 99, 97, 99, 97, 101, 107, 233, 202, 207, 9300 107, 202, 99, 107, 99, 97, 107, 180, 208, 101, 9301 125, 125, 125, 146, 146, 146, 1443, 180, 125, 125, 9302 253, 146, 253, 253, 1437, 107, 233, 207, 1431, 107, 9303 146, 107, 1427, 1021, 107, 1021, 208, 1422, 101, 105, 9304 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 9305 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 9306 9307 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 9308 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 9309 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 9310 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 9311 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 9312 105, 105, 105, 105, 105, 105, 105, 105, 105, 109, 9313 357, 133, 187, 133, 187, 1412, 109, 357, 357, 209, 9314 109, 1411, 187, 109, 133, 133, 133, 133, 134, 133, 9315 134, 212, 224, 109, 1338, 1023, 187, 1023, 109, 1331, 9316 152, 134, 134, 134, 134, 109, 134, 209, 109, 152, 9317 9318 152, 109, 134, 135, 137, 135, 137, 247, 1328, 212, 9319 224, 109, 152, 133, 225, 187, 135, 135, 135, 135, 9320 1327, 135, 147, 147, 147, 147, 1312, 1311, 152, 152, 9321 134, 134, 137, 247, 147, 148, 148, 148, 148, 204, 9322 152, 137, 225, 148, 135, 204, 1307, 153, 147, 153, 9323 1658, 137, 148, 189, 203, 135, 190, 190, 153, 153, 9324 200, 137, 247, 190, 203, 189, 1302, 189, 204, 137, 9325 189, 153, 135, 204, 232, 200, 373, 147, 206, 137, 9326 206, 1301, 189, 203, 190, 190, 216, 153, 153, 200, 9327 216, 190, 203, 189, 210, 189, 206, 206, 189, 153, 9328 9329 206, 1658, 219, 200, 230, 373, 231, 206, 210, 206, 9330 226, 210, 222, 1300, 232, 216, 219, 226, 1634, 216, 9331 242, 1634, 1298, 210, 206, 206, 222, 230, 206, 231, 9332 246, 219, 220, 220, 220, 220, 210, 236, 226, 210, 9333 237, 222, 232, 242, 219, 226, 227, 227, 227, 227, 9334 229, 229, 229, 229, 222, 234, 230, 238, 231, 235, 9335 235, 239, 234, 1283, 349, 236, 246, 1270, 237, 238, 9336 1262, 238, 242, 350, 238, 245, 245, 245, 1259, 252, 9337 252, 252, 252, 234, 1243, 1242, 238, 235, 235, 239, 9338 234, 252, 349, 259, 246, 259, 319, 238, 319, 238, 9339 9340 263, 350, 238, 245, 1202, 252, 257, 256, 256, 256, 9341 256, 1157, 259, 257, 257, 257, 1147, 263, 326, 256, 9342 257, 351, 259, 1676, 259, 319, 354, 258, 325, 263, 9343 258, 375, 245, 256, 252, 257, 352, 258, 258, 258, 9344 259, 257, 257, 257, 258, 263, 260, 1697, 257, 351, 9345 1143, 325, 261, 1142, 319, 260, 258, 354, 326, 258, 9346 375, 262, 256, 260, 352, 258, 258, 258, 261, 261, 9347 264, 321, 258, 321, 1676, 260, 262, 1120, 262, 264, 9348 325, 261, 265, 260, 265, 354, 326, 264, 266, 321, 9349 262, 260, 267, 268, 1110, 331, 261, 261, 1697, 264, 9350 9351 266, 265, 267, 267, 262, 266, 262, 264, 1109, 267, 9352 268, 265, 360, 265, 355, 264, 271, 266, 331, 360, 9353 360, 267, 268, 315, 315, 315, 315, 272, 266, 265, 9354 267, 267, 270, 266, 269, 274, 269, 267, 268, 269, 9355 271, 1096, 270, 272, 272, 273, 273, 331, 1093, 270, 9356 274, 372, 274, 269, 355, 1078, 272, 271, 271, 348, 9357 1074, 270, 273, 269, 274, 269, 275, 1066, 269, 271, 9358 270, 272, 272, 348, 273, 273, 276, 270, 274, 372, 9359 274, 269, 355, 275, 275, 271, 271, 382, 348, 278, 9360 273, 276, 344, 276, 344, 275, 277, 1065, 278, 279, 9361 9362 1058, 348, 277, 280, 1053, 276, 278, 281, 1029, 1783, 9363 344, 275, 275, 277, 384, 382, 279, 279, 278, 276, 9364 280, 276, 281, 925, 281, 277, 278, 918, 279, 282, 9365 912, 277, 280, 283, 278, 283, 281, 284, 285, 284, 9366 282, 277, 384, 399, 279, 279, 282, 284, 280, 868, 9367 281, 285, 281, 400, 865, 285, 287, 861, 282, 283, 9368 1783, 284, 366, 284, 366, 287, 287, 285, 282, 298, 9369 286, 399, 287, 287, 282, 366, 283, 366, 288, 285, 9370 284, 400, 286, 285, 286, 287, 298, 286, 283, 288, 9371 284, 855, 284, 287, 287, 288, 402, 1785, 298, 286, 9372 9373 287, 287, 289, 397, 283, 290, 843, 288, 284, 290, 9374 286, 841, 286, 289, 298, 286, 293, 288, 826, 289, 9375 292, 622, 290, 288, 402, 293, 291, 291, 622, 622, 9376 292, 289, 397, 293, 290, 291, 1797, 292, 290, 336, 9377 294, 289, 336, 291, 403, 293, 336, 289, 1785, 292, 9378 290, 294, 365, 293, 365, 291, 291, 294, 292, 295, 9379 297, 293, 297, 291, 296, 292, 365, 336, 295, 294, 9380 336, 291, 403, 296, 336, 820, 295, 297, 300, 294, 9381 404, 296, 299, 398, 300, 294, 301, 1797, 295, 297, 9382 401, 297, 301, 296, 300, 300, 295, 299, 301, 299, 9383 9384 299, 296, 798, 301, 295, 297, 790, 300, 404, 296, 9385 405, 299, 398, 300, 406, 301, 302, 302, 303, 401, 9386 303, 301, 300, 300, 304, 299, 301, 299, 299, 411, 9387 374, 301, 374, 789, 302, 374, 303, 303, 405, 711, 9388 303, 304, 406, 304, 710, 302, 302, 303, 412, 303, 9389 305, 682, 593, 304, 593, 306, 308, 308, 411, 305, 9390 415, 307, 302, 307, 303, 303, 681, 305, 303, 304, 9391 593, 304, 306, 306, 308, 307, 309, 412, 307, 305, 9392 307, 310, 311, 310, 306, 308, 308, 305, 311, 415, 9393 307, 309, 307, 309, 385, 305, 385, 385, 310, 311, 9394 9395 306, 306, 308, 307, 661, 309, 307, 312, 307, 312, 9396 310, 311, 310, 327, 313, 327, 313, 311, 416, 309, 9397 313, 309, 314, 1031, 312, 1031, 310, 311, 314, 660, 9398 656, 313, 316, 316, 316, 316, 312, 409, 312, 314, 9399 655, 410, 327, 313, 316, 313, 328, 416, 328, 313, 9400 424, 314, 312, 317, 317, 317, 317, 314, 316, 313, 9401 652, 329, 426, 329, 328, 409, 650, 314, 345, 410, 9402 345, 327, 1033, 334, 1033, 328, 419, 329, 424, 329, 9403 330, 330, 330, 330, 334, 335, 345, 316, 329, 329, 9404 426, 334, 330, 337, 337, 337, 335, 345, 642, 639, 9405 9406 337, 329, 334, 335, 328, 419, 330, 358, 358, 358, 9407 638, 632, 334, 632, 335, 358, 358, 329, 329, 334, 9408 637, 337, 337, 337, 335, 632, 345, 338, 337, 329, 9409 1116, 335, 1116, 338, 338, 330, 332, 332, 332, 332, 9410 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 9411 332, 332, 332, 332, 332, 338, 332, 332, 332, 332, 9412 332, 338, 338, 339, 340, 341, 342, 359, 359, 359, 9413 422, 387, 339, 387, 387, 359, 359, 341, 342, 339, 9414 342, 340, 341, 342, 346, 423, 346, 332, 332, 623, 9415 624, 588, 339, 340, 341, 342, 623, 623, 582, 422, 9416 9417 339, 1246, 430, 1246, 430, 341, 342, 339, 342, 340, 9418 341, 342, 430, 346, 423, 332, 333, 333, 333, 333, 9419 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 9420 333, 333, 333, 333, 333, 427, 333, 333, 333, 333, 9421 333, 343, 346, 363, 347, 560, 347, 367, 364, 367, 9422 363, 363, 333, 508, 343, 364, 364, 429, 343, 333, 9423 347, 367, 347, 367, 427, 367, 407, 333, 333, 407, 9424 343, 347, 347, 347, 368, 507, 368, 363, 503, 502, 9425 333, 425, 343, 425, 347, 429, 343, 333, 368, 432, 9426 368, 364, 368, 499, 407, 333, 1250, 407, 1250, 367, 9427 9428 347, 347, 347, 425, 370, 363, 370, 371, 376, 371, 9429 376, 480, 347, 420, 381, 420, 381, 432, 370, 364, 9430 370, 371, 370, 371, 376, 371, 368, 431, 478, 437, 9431 381, 386, 386, 386, 386, 420, 431, 431, 396, 370, 9432 421, 421, 395, 386, 390, 390, 390, 390, 428, 420, 9433 428, 371, 390, 376, 381, 1837, 370, 386, 437, 371, 9434 413, 390, 414, 391, 391, 391, 391, 370, 421, 421, 9435 408, 391, 433, 440, 394, 391, 413, 420, 414, 371, 9436 391, 376, 381, 394, 394, 436, 386, 408, 434, 391, 9437 392, 428, 435, 438, 439, 441, 394, 441, 436, 408, 9438 9439 433, 413, 440, 414, 442, 389, 1837, 443, 444, 445, 9440 447, 451, 394, 394, 436, 408, 434, 441, 391, 428, 9441 435, 438, 439, 446, 394, 446, 436, 448, 449, 413, 9442 450, 414, 417, 442, 417, 443, 453, 444, 445, 447, 9443 451, 454, 455, 456, 458, 446, 388, 383, 459, 457, 9444 380, 379, 462, 460, 417, 448, 449, 457, 450, 417, 9445 378, 460, 463, 464, 417, 453, 465, 466, 471, 454, 9446 455, 467, 456, 458, 417, 417, 459, 457, 417, 461, 9447 462, 461, 460, 468, 469, 457, 488, 470, 417, 460, 9448 463, 472, 464, 417, 473, 465, 466, 471, 475, 467, 9449 9450 476, 461, 417, 417, 477, 479, 417, 481, 482, 483, 9451 484, 468, 469, 485, 461, 470, 486, 487, 489, 472, 9452 488, 490, 473, 461, 491, 493, 475, 591, 476, 494, 9453 495, 496, 477, 479, 497, 481, 482, 483, 484, 492, 9454 377, 485, 461, 495, 486, 509, 487, 514, 488, 369, 9455 490, 461, 510, 491, 493, 591, 492, 362, 494, 495, 9456 496, 489, 512, 497, 498, 498, 498, 500, 492, 500, 9457 500, 495, 509, 511, 501, 487, 501, 501, 504, 513, 9458 504, 504, 515, 510, 492, 505, 505, 505, 505, 489, 9459 514, 506, 497, 506, 506, 516, 498, 505, 517, 512, 9460 9461 518, 509, 521, 522, 361, 524, 520, 511, 356, 519, 9462 513, 505, 510, 525, 525, 515, 907, 539, 514, 523, 9463 353, 526, 527, 907, 907, 498, 532, 512, 530, 516, 9464 525, 520, 524, 538, 324, 511, 521, 522, 517, 513, 9465 505, 518, 523, 515, 519, 526, 322, 519, 520, 527, 9466 318, 529, 529, 529, 539, 525, 535, 516, 538, 530, 9467 520, 524, 533, 534, 521, 522, 517, 532, 532, 518, 9468 537, 523, 519, 529, 526, 519, 520, 542, 527, 531, 9469 531, 531, 539, 525, 528, 528, 528, 538, 530, 533, 9470 534, 536, 536, 536, 540, 532, 532, 535, 541, 543, 9471 9472 546, 531, 547, 551, 255, 537, 528, 544, 545, 254, 9473 548, 528, 250, 536, 557, 531, 528, 249, 533, 534, 9474 542, 550, 243, 552, 553, 535, 528, 528, 540, 240, 9475 528, 559, 541, 537, 544, 545, 548, 549, 549, 549, 9476 528, 546, 543, 531, 547, 528, 551, 544, 542, 552, 9477 555, 553, 550, 556, 528, 528, 540, 558, 528, 549, 9478 541, 557, 559, 544, 545, 548, 554, 554, 554, 546, 9479 543, 561, 547, 562, 551, 544, 563, 555, 552, 564, 9480 553, 550, 565, 567, 570, 571, 228, 556, 554, 557, 9481 566, 559, 614, 558, 561, 576, 568, 573, 577, 221, 9482 9483 572, 575, 127, 569, 569, 569, 555, 574, 580, 578, 9484 564, 1251, 563, 1251, 562, 556, 584, 567, 565, 566, 9485 614, 558, 568, 561, 573, 569, 565, 570, 571, 581, 9486 568, 572, 579, 583, 574, 123, 577, 576, 569, 564, 9487 563, 575, 562, 585, 580, 567, 565, 569, 566, 578, 9488 584, 568, 596, 573, 565, 570, 571, 119, 568, 611, 9489 572, 579, 118, 574, 577, 576, 569, 78, 595, 575, 9490 72, 581, 580, 583, 69, 569, 600, 578, 584, 586, 9491 586, 586, 586, 611, 17, 585, 587, 587, 587, 587, 9492 579, 589, 589, 589, 589, 596, 594, 9, 594, 581, 9493 9494 603, 583, 595, 589, 597, 600, 597, 603, 598, 609, 9495 598, 604, 611, 585, 594, 7, 609, 589, 653, 0, 9496 653, 653, 605, 596, 604, 594, 598, 0, 0, 603, 9497 595, 606, 0, 597, 600, 603, 605, 598, 609, 606, 9498 604, 599, 606, 599, 609, 612, 589, 590, 590, 590, 9499 590, 605, 604, 617, 594, 608, 613, 599, 619, 599, 9500 606, 615, 597, 610, 605, 616, 598, 606, 599, 599, 9501 606, 608, 612, 590, 590, 666, 590, 590, 631, 590, 9502 631, 599, 617, 613, 608, 612, 610, 619, 618, 615, 9503 590, 0, 631, 616, 0, 0, 631, 599, 599, 608, 9504 9505 620, 612, 590, 590, 666, 590, 590, 1627, 590, 599, 9506 0, 0, 613, 612, 1627, 610, 618, 1627, 590, 601, 9507 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 9508 601, 601, 601, 601, 601, 601, 601, 601, 620, 601, 9509 601, 601, 601, 601, 607, 627, 607, 627, 649, 625, 9510 628, 635, 628, 635, 0, 601, 625, 625, 627, 663, 9511 627, 607, 636, 628, 636, 628, 620, 635, 0, 0, 9512 601, 601, 621, 607, 0, 607, 649, 0, 636, 630, 9513 0, 630, 654, 601, 654, 654, 1339, 663, 1339, 607, 9514 625, 0, 1340, 630, 1340, 667, 621, 630, 601, 602, 9515 9516 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 9517 602, 602, 602, 602, 602, 602, 602, 602, 625, 602, 9518 602, 602, 602, 602, 667, 621, 626, 629, 602, 629, 9519 668, 630, 0, 626, 626, 0, 664, 671, 629, 640, 9520 629, 640, 629, 629, 633, 629, 633, 634, 665, 634, 9521 602, 602, 647, 626, 647, 640, 669, 602, 633, 668, 9522 633, 634, 633, 634, 664, 634, 671, 673, 647, 672, 9523 744, 692, 744, 692, 0, 634, 665, 674, 602, 629, 9524 744, 675, 626, 678, 669, 679, 633, 676, 0, 657, 9525 657, 657, 657, 692, 677, 673, 633, 657, 672, 634, 9526 9527 658, 658, 658, 658, 634, 674, 657, 680, 658, 675, 9528 683, 678, 658, 679, 633, 687, 676, 658, 688, 659, 9529 659, 659, 659, 677, 689, 691, 658, 659, 690, 662, 9530 662, 662, 662, 694, 702, 680, 659, 662, 683, 684, 9531 695, 684, 695, 687, 697, 698, 662, 688, 700, 706, 9532 707, 0, 0, 689, 691, 658, 690, 701, 703, 701, 9533 703, 694, 695, 702, 705, 709, 705, 714, 713, 0, 9534 715, 684, 697, 698, 709, 709, 700, 706, 707, 701, 9535 703, 712, 712, 712, 719, 684, 705, 726, 716, 718, 9536 720, 712, 712, 721, 712, 714, 712, 713, 715, 717, 9537 9538 684, 725, 722, 712, 722, 723, 717, 723, 732, 727, 9539 734, 727, 719, 684, 685, 726, 685, 716, 718, 720, 9540 735, 736, 721, 728, 722, 728, 738, 723, 717, 0, 9541 725, 727, 737, 729, 717, 729, 685, 732, 739, 734, 9542 740, 685, 741, 0, 742, 728, 685, 743, 735, 736, 9543 749, 746, 750, 746, 738, 729, 685, 685, 728, 712, 9544 685, 737, 751, 752, 754, 748, 739, 748, 740, 755, 9545 685, 741, 742, 746, 756, 685, 743, 758, 749, 759, 9546 750, 761, 762, 761, 685, 685, 728, 748, 685, 763, 9547 751, 752, 764, 754, 766, 772, 767, 768, 755, 769, 9548 9549 770, 771, 756, 761, 773, 758, 774, 777, 759, 775, 9550 779, 762, 782, 791, 784, 777, 792, 0, 763, 795, 9551 780, 764, 794, 766, 767, 0, 768, 780, 769, 770, 9552 771, 780, 781, 774, 781, 772, 777, 775, 785, 779, 9553 785, 785, 781, 793, 777, 773, 781, 794, 795, 780, 9554 784, 781, 782, 792, 791, 780, 783, 783, 783, 780, 9555 796, 797, 774, 772, 786, 802, 786, 786, 787, 799, 9556 787, 787, 788, 773, 788, 788, 794, 795, 784, 800, 9557 782, 792, 791, 801, 793, 803, 805, 796, 783, 807, 9558 806, 804, 799, 808, 811, 811, 811, 810, 814, 802, 9559 9560 812, 817, 797, 815, 816, 813, 800, 821, 818, 0, 9561 900, 819, 793, 805, 0, 828, 796, 783, 875, 825, 9562 801, 799, 804, 0, 806, 814, 811, 802, 803, 808, 9563 797, 810, 807, 813, 816, 800, 823, 812, 829, 900, 9564 811, 827, 805, 830, 0, 817, 875, 821, 801, 818, 9565 815, 804, 806, 819, 814, 811, 803, 808, 828, 810, 9566 807, 825, 813, 816, 831, 812, 823, 832, 811, 822, 9567 822, 822, 827, 817, 830, 821, 833, 818, 815, 835, 9568 829, 819, 824, 824, 824, 834, 828, 838, 837, 825, 9569 0, 822, 844, 831, 846, 823, 848, 0, 832, 842, 9570 9571 831, 827, 835, 830, 824, 849, 852, 845, 829, 847, 9572 850, 857, 833, 837, 834, 836, 836, 836, 851, 844, 9573 860, 838, 831, 839, 839, 839, 858, 832, 831, 846, 9574 842, 835, 840, 840, 840, 0, 847, 836, 848, 0, 9575 833, 851, 837, 834, 845, 839, 852, 849, 844, 838, 9576 853, 857, 850, 859, 840, 866, 860, 846, 862, 842, 9577 858, 854, 854, 854, 863, 847, 848, 840, 864, 867, 9578 851, 854, 845, 870, 852, 849, 856, 856, 856, 857, 9579 850, 853, 871, 862, 860, 869, 869, 869, 858, 863, 9580 872, 880, 866, 859, 899, 840, 867, 960, 856, 960, 9581 9582 870, 873, 873, 873, 873, 0, 877, 869, 877, 871, 9583 853, 864, 862, 874, 874, 874, 874, 872, 863, 960, 9584 866, 859, 899, 0, 877, 867, 878, 881, 878, 870, 9585 0, 883, 880, 879, 887, 879, 887, 902, 871, 864, 9586 886, 882, 886, 882, 878, 0, 872, 876, 876, 876, 9587 876, 879, 896, 0, 881, 878, 0, 882, 887, 882, 9588 880, 904, 879, 0, 927, 876, 902, 928, 882, 882, 9589 0, 883, 929, 876, 876, 896, 876, 876, 889, 876, 9590 889, 882, 886, 881, 878, 904, 913, 887, 913, 931, 9591 876, 879, 927, 0, 891, 928, 891, 882, 882, 883, 9592 9593 913, 929, 876, 876, 896, 876, 876, 0, 876, 882, 9594 886, 890, 0, 890, 904, 0, 889, 931, 876, 884, 9595 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 9596 884, 884, 884, 884, 884, 884, 884, 884, 891, 884, 9597 884, 884, 884, 884, 889, 0, 890, 895, 895, 895, 9598 898, 898, 898, 930, 908, 921, 908, 921, 921, 933, 9599 898, 888, 934, 888, 898, 908, 891, 936, 937, 898, 9600 884, 884, 0, 922, 890, 922, 922, 923, 923, 923, 9601 923, 1041, 930, 1041, 1041, 923, 1003, 933, 1003, 888, 9602 1042, 934, 1042, 1042, 923, 936, 1003, 937, 884, 885, 9603 9604 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 9605 885, 885, 885, 885, 885, 885, 885, 885, 888, 885, 9606 885, 885, 885, 885, 892, 893, 892, 893, 906, 894, 9607 897, 894, 938, 939, 941, 906, 906, 924, 924, 924, 9608 924, 942, 0, 943, 948, 924, 951, 910, 892, 910, 9609 885, 885, 0, 893, 924, 906, 892, 894, 910, 897, 9610 938, 939, 941, 910, 944, 910, 897, 946, 0, 942, 9611 897, 943, 948, 914, 951, 914, 0, 892, 885, 911, 9612 947, 911, 893, 949, 906, 892, 894, 914, 897, 914, 9613 911, 914, 950, 944, 897, 911, 946, 911, 897, 910, 9614 9615 0, 914, 926, 926, 926, 926, 1020, 0, 1020, 947, 9616 926, 1153, 949, 1153, 926, 1043, 1020, 1043, 1043, 926, 9617 1044, 950, 1044, 1044, 1153, 914, 1153, 945, 926, 945, 9618 914, 911, 915, 915, 952, 915, 915, 915, 915, 915, 9619 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 9620 915, 915, 915, 915, 915, 915, 915, 926, 955, 945, 9621 0, 956, 957, 952, 958, 959, 0, 961, 962, 967, 9622 962, 973, 0, 945, 965, 974, 965, 976, 977, 0, 9623 978, 979, 982, 915, 915, 915, 955, 0, 945, 956, 9624 962, 957, 0, 958, 959, 961, 965, 1408, 967, 1408, 9625 9626 973, 945, 980, 0, 974, 976, 0, 977, 978, 979, 9627 982, 915, 932, 932, 985, 932, 932, 932, 932, 932, 9628 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, 9629 932, 980, 932, 932, 932, 932, 932, 969, 970, 969, 9630 970, 0, 0, 985, 1236, 981, 1236, 981, 969, 970, 9631 969, 970, 969, 970, 1236, 971, 971, 971, 986, 969, 9632 970, 991, 972, 932, 932, 971, 971, 981, 971, 992, 9633 971, 972, 972, 983, 972, 983, 972, 971, 987, 989, 9634 987, 989, 993, 972, 994, 995, 0, 986, 997, 998, 9635 991, 932, 1000, 1001, 1002, 983, 1007, 1005, 992, 1005, 9636 9637 987, 989, 1008, 1009, 1011, 1010, 1012, 0, 1013, 1014, 9638 1015, 993, 994, 1022, 995, 969, 970, 997, 998, 1005, 9639 1000, 1024, 1001, 1002, 1007, 1016, 1025, 1016, 1027, 1028, 9640 1008, 1009, 1011, 971, 1010, 1012, 1013, 1014, 1015, 972, 9641 1030, 1026, 1022, 1026, 1032, 1040, 1034, 1016, 1035, 1045, 9642 1024, 1026, 1039, 1046, 1025, 1026, 1028, 1047, 1049, 1027, 9643 1026, 1036, 1038, 1036, 1038, 1114, 0, 1052, 1048, 1030, 9644 1414, 1036, 1414, 1032, 1034, 1036, 1038, 1035, 0, 0, 9645 1036, 1038, 1166, 1039, 1047, 1028, 0, 1040, 1027, 1046, 9646 1045, 1048, 1052, 1114, 1049, 1111, 1111, 1111, 1112, 1112, 9647 9648 1112, 1112, 0, 0, 1051, 1111, 1113, 1113, 1113, 1113, 9649 1166, 1056, 1039, 1047, 1054, 1040, 1057, 1046, 1045, 1059, 9650 1048, 1052, 1049, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 9651 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 9652 1050, 1050, 1051, 1050, 1050, 1050, 1050, 1050, 1060, 1055, 9653 1054, 1056, 1057, 1061, 1068, 1063, 1059, 1064, 1062, 1067, 9654 1071, 1069, 1126, 1070, 1073, 1075, 0, 1081, 1079, 1077, 9655 1051, 1085, 1083, 0, 1050, 1050, 1055, 1080, 1054, 1056, 9656 1057, 1076, 1060, 1063, 1059, 1062, 1070, 1064, 1069, 1071, 9657 1082, 1126, 1068, 1067, 1061, 1077, 1075, 1072, 1072, 1072, 9658 9659 1073, 1083, 1050, 0, 1080, 1055, 1076, 1091, 1079, 1081, 9660 1060, 1086, 1063, 1085, 1062, 1070, 1064, 1069, 1071, 1072, 9661 1068, 1067, 1061, 1087, 1077, 1075, 1082, 1088, 1073, 1089, 9662 1083, 1095, 1092, 1080, 1086, 1076, 1079, 1081, 1084, 1084, 9663 1084, 1085, 1090, 1091, 1098, 1094, 1102, 1097, 1099, 1100, 9664 1087, 1101, 1103, 1104, 1082, 1107, 1105, 1089, 1088, 1092, 9665 1084, 1108, 1095, 1086, 1106, 1129, 0, 1098, 1090, 1122, 9666 1133, 1091, 1094, 1099, 1123, 1123, 1123, 1136, 1103, 1087, 9667 1129, 0, 1102, 1105, 0, 0, 1089, 1088, 1092, 1097, 9668 1100, 1095, 1119, 1101, 1129, 1104, 1098, 1090, 1107, 1133, 9669 9670 1122, 1094, 1099, 1108, 0, 1106, 1136, 1103, 1129, 1117, 9671 1102, 1117, 1105, 1118, 1127, 1118, 1134, 1097, 1100, 1119, 9672 1128, 1101, 1128, 1104, 1135, 1127, 1107, 0, 1121, 1122, 9673 1121, 1108, 1144, 1106, 1115, 1115, 1115, 1115, 1117, 1144, 9674 1144, 1130, 1118, 1127, 1121, 1169, 1121, 1130, 1119, 1128, 9675 1134, 1128, 1135, 1127, 0, 1121, 1121, 1163, 1131, 1163, 9676 1115, 1115, 1175, 1115, 1115, 1145, 1115, 1117, 1121, 1131, 9677 1130, 1118, 1145, 1145, 1169, 1146, 1130, 1115, 1134, 1163, 9678 0, 1135, 1146, 1146, 1121, 1121, 1152, 1131, 1152, 1115, 9679 1115, 1175, 1115, 1115, 1201, 1115, 1121, 1131, 0, 1159, 9680 9681 1152, 1159, 1159, 1201, 1201, 1115, 1124, 1124, 1124, 1124, 9682 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 9683 1124, 1124, 1124, 1124, 1124, 0, 1124, 1124, 1124, 1124, 9684 1124, 1148, 1149, 1148, 1149, 1124, 1150, 1160, 1150, 1160, 9685 1160, 1177, 1148, 1149, 1164, 0, 1164, 1150, 0, 1148, 9686 1149, 1167, 1170, 1154, 1172, 1154, 1173, 1124, 1124, 1155, 9687 1156, 1155, 1156, 1420, 1124, 1420, 1164, 1154, 0, 1154, 9688 1177, 1154, 0, 1155, 1156, 1155, 1156, 1155, 1156, 1167, 9689 1170, 0, 1172, 1148, 1173, 1124, 1125, 1125, 1125, 1125, 9690 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 9691 9692 1125, 1125, 1125, 1125, 1125, 1154, 1125, 1125, 1125, 1125, 9693 1125, 1155, 1156, 1125, 1161, 1161, 1161, 1161, 1162, 1162, 9694 1162, 1162, 1161, 1174, 1176, 1179, 1162, 1180, 1182, 0, 9695 1185, 1161, 1186, 1187, 1188, 1162, 0, 1125, 1125, 1198, 9696 0, 1198, 1125, 1198, 1252, 0, 1252, 1252, 0, 0, 9697 1198, 1174, 1176, 1421, 1179, 1421, 1180, 1182, 1185, 1178, 9698 1186, 1178, 1187, 1188, 1189, 1125, 1132, 1132, 1132, 1132, 9699 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 9700 1132, 1132, 1132, 1132, 1132, 1178, 1132, 1132, 1132, 1132, 9701 1132, 1190, 1191, 1189, 1192, 1195, 1192, 1196, 1178, 1193, 9702 9703 1197, 1193, 1197, 1205, 1206, 1207, 1198, 1208, 1210, 1211, 9704 1220, 1197, 1215, 1197, 1178, 1197, 1192, 1132, 1132, 1190, 9705 1191, 1193, 1197, 0, 1195, 1196, 1178, 1200, 1807, 1200, 9706 1807, 1200, 1205, 1206, 1207, 1208, 1210, 1211, 1200, 1220, 9707 1215, 0, 1216, 1217, 1216, 1132, 1151, 1151, 1224, 1151, 9708 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 9709 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 9710 1151, 1217, 0, 1199, 1212, 1199, 1212, 1224, 1197, 1227, 9711 1214, 1216, 1214, 1218, 1199, 1221, 1199, 1222, 1199, 1238, 9712 1203, 1203, 1203, 1240, 1200, 1199, 1212, 1151, 1151, 1151, 9713 9714 1203, 1203, 1214, 1203, 1473, 1203, 1473, 1204, 1227, 1216, 9715 0, 1218, 1203, 1221, 1473, 1222, 1204, 1204, 1238, 1204, 9716 0, 1204, 1240, 0, 0, 1151, 1165, 1165, 1204, 1165, 9717 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 9718 1165, 1165, 1165, 1165, 1165, 1223, 1165, 1165, 1165, 1165, 9719 1165, 1199, 1219, 1225, 1219, 1257, 1231, 1232, 1231, 1232, 9720 1234, 1233, 1239, 1233, 1241, 1244, 1249, 1245, 1203, 1247, 9721 0, 1248, 1310, 1223, 1219, 0, 0, 1165, 1165, 1232, 9722 0, 1225, 1231, 1233, 1204, 1254, 1254, 1254, 1234, 1264, 9723 1239, 1317, 1241, 1249, 1244, 1245, 1318, 1257, 1247, 1248, 9724 9725 1253, 1310, 1253, 1253, 1260, 1165, 0, 1254, 1255, 1255, 9726 1255, 1231, 1332, 1263, 1332, 1258, 1261, 1265, 0, 1317, 9727 1267, 1241, 1249, 1332, 1318, 1257, 0, 1260, 1248, 1264, 9728 1255, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 9729 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 9730 1258, 1256, 1256, 1256, 1256, 1256, 1260, 1264, 1261, 1263, 9731 1265, 1268, 1267, 1274, 1266, 1269, 1269, 1269, 1271, 1272, 9732 1273, 1275, 1276, 1276, 1276, 1277, 1278, 1279, 1258, 1280, 9733 1281, 1284, 1256, 1256, 0, 1287, 1261, 1263, 1265, 1266, 9734 1267, 1269, 1268, 1289, 1276, 1271, 1272, 1273, 1277, 1282, 9735 9736 1285, 1290, 1296, 1274, 1269, 1275, 1280, 1281, 1279, 1293, 9737 1256, 1297, 1294, 1278, 1288, 1288, 1288, 1292, 1266, 1287, 9738 1269, 1268, 1284, 1295, 1271, 1272, 1273, 1277, 0, 1296, 9739 1299, 1274, 1269, 1275, 1289, 1280, 1281, 1279, 1319, 1282, 9740 1292, 1278, 1285, 1286, 1286, 1286, 1297, 1287, 1290, 1306, 9741 1284, 1293, 1294, 1288, 0, 1291, 1291, 1291, 1296, 0, 9742 1295, 1299, 1289, 0, 0, 1286, 1319, 1282, 1313, 1292, 9743 1285, 1303, 1303, 1303, 1297, 1320, 1290, 1291, 1324, 1293, 9744 1294, 1288, 1304, 1304, 1304, 1305, 1305, 1305, 1295, 1349, 9745 1299, 1306, 1308, 1308, 1308, 1308, 1313, 1303, 1309, 1309, 9746 9747 1309, 1309, 0, 1320, 1304, 1329, 1324, 1305, 1322, 1322, 9748 1322, 0, 1329, 1329, 1330, 0, 0, 0, 1349, 1306, 9749 0, 1330, 1330, 1323, 1350, 1313, 1303, 1314, 1314, 1314, 9750 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 9751 1314, 1314, 1314, 1314, 1314, 1314, 1323, 1314, 1314, 1314, 9752 1314, 1314, 1333, 1350, 1333, 1334, 0, 1334, 1351, 1555, 9753 1353, 1555, 1343, 1345, 1343, 1345, 1333, 0, 1334, 1555, 9754 1334, 1354, 1355, 1362, 1335, 1323, 1335, 1357, 1314, 1314, 9755 1336, 1337, 1336, 1337, 1343, 1345, 0, 1351, 1335, 1353, 9756 1335, 0, 1335, 0, 1336, 1337, 1336, 1337, 1336, 1337, 9757 9758 1354, 1355, 1362, 0, 0, 1357, 1314, 1315, 1315, 1315, 9759 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 9760 1315, 1315, 1315, 1315, 1315, 1315, 1335, 1315, 1315, 1315, 9761 1315, 1315, 1336, 1337, 1359, 1341, 1341, 1341, 1341, 1342, 9762 1342, 1342, 1342, 1341, 1348, 0, 1360, 1342, 1348, 0, 9763 1363, 1315, 1341, 1366, 1364, 1365, 1342, 0, 1315, 1315, 9764 0, 1376, 1359, 1376, 1418, 1376, 1418, 1418, 1461, 1461, 9765 1461, 1461, 1376, 1348, 1360, 0, 0, 1348, 1363, 1315, 9766 1358, 1366, 1358, 1364, 1365, 1367, 1315, 1316, 1316, 1316, 9767 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 9768 9769 1316, 1316, 1316, 1316, 1316, 1316, 1358, 1316, 1316, 1316, 9770 1316, 1316, 1369, 1370, 1367, 1371, 1373, 1371, 1374, 1358, 9771 0, 1375, 1382, 1375, 1378, 1383, 0, 1474, 1376, 1474, 9772 1474, 1384, 1375, 1384, 1375, 1358, 1375, 1371, 1316, 1316, 9773 1388, 1369, 1370, 1375, 1373, 1389, 1374, 1358, 1377, 1377, 9774 1377, 1382, 1378, 1384, 1383, 1387, 1393, 1387, 1377, 1377, 9775 1391, 1377, 1391, 1377, 1394, 1424, 1316, 1396, 1388, 1399, 9776 1377, 1401, 1400, 1389, 1400, 1406, 0, 1417, 1407, 1402, 9777 1409, 1402, 1391, 1404, 1393, 1404, 1413, 1415, 1423, 1430, 9778 0, 1426, 1424, 1394, 1387, 1396, 1428, 1399, 1400, 1375, 9779 9780 1401, 1402, 1429, 1425, 1406, 1404, 1407, 1436, 1434, 1409, 9781 1438, 1423, 1430, 1432, 1413, 1423, 1415, 1417, 1426, 1433, 9782 1435, 1424, 1387, 1428, 1439, 1440, 1377, 1400, 1425, 1429, 9783 1442, 1441, 1436, 1446, 1449, 1447, 1452, 1438, 0, 1450, 9784 1423, 1430, 1458, 1455, 1423, 1417, 1467, 1426, 1434, 0, 9785 1432, 1439, 1428, 0, 1459, 1453, 1433, 1425, 1429, 1440, 9786 1435, 1436, 1463, 1469, 1446, 1447, 1438, 1441, 1460, 1470, 9787 1452, 1472, 1442, 0, 1449, 1467, 1434, 1459, 1432, 1455, 9788 1439, 1450, 1453, 1471, 1433, 1480, 1458, 1440, 1435, 0, 9789 1463, 0, 1469, 1446, 1447, 1441, 1472, 1470, 1452, 1460, 9790 9791 1442, 1478, 1449, 1482, 1481, 0, 1459, 1455, 0, 1450, 9792 0, 1453, 1471, 1480, 1458, 1475, 1475, 1475, 1476, 1476, 9793 1476, 1476, 1483, 1475, 1485, 1472, 1476, 1486, 1460, 1487, 9794 1478, 1482, 1475, 1481, 1488, 1476, 1477, 1477, 1477, 1477, 9795 1489, 1490, 0, 1491, 1477, 1492, 1493, 1495, 0, 1496, 9796 1483, 1498, 1485, 1477, 1503, 1486, 1505, 1487, 1506, 1504, 9797 1509, 1504, 1488, 1510, 1511, 1510, 1512, 1501, 1489, 1501, 9798 1490, 1491, 1513, 1514, 1492, 1493, 1495, 1496, 1501, 1498, 9799 1501, 1504, 1501, 1503, 1505, 1510, 1506, 1515, 1509, 1501, 9800 1516, 1517, 1518, 1511, 1520, 1512, 1526, 1521, 1522, 1528, 9801 9802 1513, 1514, 1523, 1529, 1523, 1523, 1524, 1530, 1524, 1524, 9803 1533, 1536, 1531, 1537, 1534, 1515, 1535, 1517, 1538, 1516, 9804 1526, 1518, 1540, 1520, 1521, 1546, 1522, 0, 1549, 1544, 9805 1529, 0, 1552, 1557, 0, 1528, 0, 1558, 1536, 1551, 9806 1537, 1553, 1545, 1545, 1545, 1501, 1517, 1530, 1531, 1526, 9807 1534, 1535, 1533, 1521, 1544, 1522, 1556, 1561, 1540, 1529, 9808 1538, 1557, 1546, 1528, 1545, 1558, 1551, 1536, 1549, 1537, 9809 1550, 1550, 1550, 1552, 1575, 1530, 1531, 1553, 1534, 1535, 9810 1533, 1570, 1556, 1544, 1561, 1588, 1540, 1588, 1538, 0, 9811 1546, 1564, 1550, 1564, 1564, 1551, 1549, 1554, 1554, 1554, 9812 9813 1554, 1552, 1562, 1575, 1562, 1553, 1565, 1588, 1565, 1570, 9814 0, 1556, 1562, 1561, 1566, 1566, 1566, 1566, 1567, 1567, 9815 1567, 1578, 1566, 1565, 1571, 1580, 1567, 1574, 1577, 1579, 9816 1581, 1566, 1569, 1569, 1569, 1567, 1568, 1568, 1568, 1568, 9817 1569, 1582, 1583, 1582, 1568, 1586, 1601, 1590, 1591, 1569, 9818 1578, 1582, 1571, 1568, 1580, 1574, 1577, 1579, 1593, 1581, 9819 1593, 1596, 1597, 1598, 1600, 1604, 1602, 1605, 1608, 1606, 9820 1583, 1606, 1606, 1609, 1586, 1590, 1612, 1591, 1613, 1615, 9821 1593, 1616, 1619, 1601, 1621, 1617, 1617, 1617, 1630, 1596, 9822 1605, 1597, 1598, 1600, 1602, 1617, 1624, 1625, 1626, 0, 9823 9824 1626, 1604, 1608, 1628, 1643, 1613, 1616, 1619, 1626, 1621, 9825 1639, 1601, 1644, 0, 0, 1609, 1630, 1615, 1612, 1605, 9826 1636, 1636, 1636, 1624, 1625, 1635, 1635, 1635, 1635, 1604, 9827 1608, 0, 1643, 1635, 1613, 1616, 1619, 1636, 1621, 1639, 9828 1628, 1644, 1635, 1609, 1645, 1615, 1612, 1633, 1633, 1633, 9829 1633, 1646, 1624, 1625, 1640, 1633, 1640, 1651, 1633, 1637, 9830 1637, 1637, 1637, 1647, 1640, 1647, 1652, 1637, 1628, 1648, 9831 1653, 1648, 1645, 1647, 1654, 1660, 1637, 1661, 1662, 1648, 9832 1646, 1663, 1663, 1663, 1666, 1667, 1651, 1668, 1669, 1687, 9833 1672, 1663, 1690, 0, 1685, 1652, 1685, 1672, 1688, 1653, 9834 9835 1672, 1660, 1661, 1654, 1685, 1662, 0, 1673, 1673, 1673, 9836 1673, 0, 0, 0, 1668, 1669, 1667, 1687, 1666, 1673, 9837 1690, 1674, 1674, 1674, 1674, 0, 0, 1688, 1675, 1674, 9838 1660, 1661, 1674, 1673, 1662, 1675, 0, 0, 1675, 1678, 9839 1678, 1678, 1678, 1668, 1669, 1667, 1666, 1678, 1689, 1680, 9840 1678, 1696, 1679, 1679, 1679, 1679, 1680, 1695, 1692, 1680, 9841 1679, 1693, 1673, 1679, 1681, 1681, 1681, 1681, 1682, 1682, 9842 1682, 1682, 1681, 1686, 1698, 1686, 1682, 1689, 1700, 1696, 9843 1682, 1681, 1703, 1701, 0, 1682, 1686, 1692, 1686, 1704, 9844 1693, 1704, 1704, 1695, 1682, 1686, 1706, 1711, 1706, 1706, 9845 9846 1718, 1698, 0, 1719, 1711, 1700, 1712, 1711, 1703, 0, 9847 1705, 1705, 1705, 1705, 0, 1720, 1721, 1709, 1709, 1709, 9848 1709, 1695, 1705, 1682, 1701, 1709, 0, 0, 1709, 1718, 9849 1698, 1719, 1724, 1726, 1700, 1730, 1705, 1703, 1710, 1710, 9850 1710, 1710, 1712, 1720, 1713, 1721, 1710, 1722, 1729, 1710, 9851 1710, 1713, 1701, 1723, 1713, 1714, 1714, 1714, 1714, 1726, 9852 1716, 1715, 1716, 1714, 1710, 1705, 1714, 1725, 1715, 1724, 9853 1712, 1715, 1717, 1716, 1717, 1716, 1722, 1728, 1730, 1729, 9854 0, 1723, 1716, 1717, 0, 1717, 0, 1717, 1726, 1731, 9855 1749, 1731, 1731, 1710, 1717, 1725, 1732, 1724, 1732, 1732, 9856 9857 1738, 1735, 1735, 1735, 1735, 1743, 1730, 1738, 1729, 1735, 9858 1738, 0, 1735, 1736, 1736, 1736, 1736, 0, 1749, 1750, 9859 0, 1736, 0, 1728, 1736, 1736, 1737, 1737, 1737, 1737, 9860 1752, 1739, 0, 1740, 1737, 0, 1755, 1737, 1739, 1736, 9861 1740, 1739, 1743, 1740, 1741, 1741, 1741, 1741, 1750, 1742, 9862 1746, 1728, 1741, 1757, 1753, 1741, 1742, 1746, 1752, 1742, 9863 1746, 1744, 1744, 1744, 1744, 1754, 1756, 1761, 1736, 1744, 9864 1743, 1762, 1744, 1745, 1745, 1745, 1745, 1747, 1755, 1747, 9865 1777, 1745, 1753, 1763, 1745, 1763, 1763, 0, 1747, 1764, 9866 1757, 1764, 1764, 1754, 1756, 0, 0, 1765, 1765, 1765, 9867 9868 1765, 1779, 0, 0, 1761, 1765, 1755, 1780, 1765, 1767, 9869 1781, 1762, 1766, 1766, 1766, 1766, 1767, 0, 1757, 1767, 9870 1766, 0, 1777, 1766, 1769, 1768, 1768, 1768, 1768, 1779, 9871 1770, 1769, 1761, 1768, 1769, 1780, 1768, 1770, 1781, 1762, 9872 1770, 1771, 1771, 1771, 1771, 1773, 1772, 1772, 1772, 1772, 9873 1777, 1782, 1773, 1771, 1772, 1773, 1786, 1772, 1774, 1774, 9874 1774, 1774, 1775, 1775, 1775, 1775, 1774, 1771, 1776, 1774, 9875 1775, 1787, 0, 1775, 1775, 1776, 0, 1794, 1776, 1788, 9876 1782, 1788, 1788, 1789, 1794, 1789, 1789, 1794, 1775, 1804, 9877 0, 1798, 1786, 0, 0, 1802, 1771, 1800, 1787, 1790, 9878 9879 1790, 1790, 1790, 1791, 1791, 1791, 1791, 1790, 1796, 1827, 9880 1790, 1791, 1803, 1819, 1791, 1796, 1814, 1775, 1796, 1798, 9881 1786, 1792, 1792, 1792, 1792, 1804, 1800, 1787, 1818, 1792, 9882 1817, 0, 1792, 1793, 1793, 1793, 1793, 1802, 1827, 0, 9883 1803, 1793, 1825, 0, 1793, 1793, 1795, 1795, 1795, 1795, 9884 1819, 0, 0, 1804, 1795, 0, 1818, 1795, 1814, 1793, 9885 1809, 1809, 1809, 1809, 1820, 1802, 1820, 1820, 1809, 1811, 9886 1817, 1809, 1810, 1810, 1810, 1810, 1811, 1813, 1819, 1811, 9887 1810, 1828, 1825, 1810, 1813, 0, 1814, 1813, 1793, 1808, 9888 1808, 1808, 1808, 0, 1808, 1836, 1824, 1808, 1817, 1808, 9889 9890 1808, 1808, 0, 1824, 1808, 1808, 1824, 1826, 0, 1808, 9891 1825, 1808, 1808, 1808, 1812, 1812, 1812, 1812, 1821, 1821, 9892 1821, 1821, 1812, 1828, 1836, 1812, 1821, 0, 1829, 1821, 9893 1829, 1829, 1841, 1840, 1826, 1823, 1823, 1823, 1823, 0, 9894 1808, 1808, 1808, 1823, 1842, 1843, 1823, 1830, 1830, 1830, 9895 1830, 1828, 1831, 0, 1832, 1830, 1834, 0, 1830, 1831, 9896 1841, 1832, 1831, 1826, 1832, 1835, 0, 1839, 1808, 1822, 9897 1822, 1822, 1822, 1822, 1822, 1840, 1846, 1822, 1822, 1822, 9898 1822, 1822, 0, 1834, 1822, 1822, 1842, 1843, 1835, 1822, 9899 1839, 1822, 1822, 1822, 1833, 1833, 1833, 1833, 1838, 1838, 9900 9901 1838, 1838, 1833, 1840, 0, 1833, 1838, 0, 0, 1838, 9902 0, 0, 1834, 0, 1842, 1843, 1846, 1835, 1854, 1839, 9903 1822, 1822, 1822, 1844, 1844, 1844, 1844, 1845, 1845, 1845, 9904 1845, 1847, 1847, 1847, 1847, 1848, 1848, 1848, 1848, 1849, 9905 1849, 1849, 1849, 0, 1846, 1854, 0, 0, 1822, 1851, 9906 1851, 1851, 1851, 1852, 1852, 1852, 1852, 1855, 1855, 1855, 9907 1855, 1856, 1856, 1856, 1856, 1858, 1858, 1858, 1858, 1859, 9908 1859, 1859, 1859, 1866, 1854, 1862, 1862, 1862, 1862, 1863, 9909 1863, 1863, 1863, 1865, 1865, 1865, 1865, 1868, 1868, 1868, 9910 1868, 1870, 1871, 1871, 1871, 1871, 1866, 1872, 1872, 1872, 9911 9912 1872, 1873, 1873, 1873, 1873, 1875, 1875, 1875, 1875, 1876, 9913 1876, 1876, 1876, 1879, 1879, 1879, 1879, 1881, 1881, 1881, 9914 1881, 0, 0, 0, 0, 1866, 0, 0, 0, 0, 9915 0, 0, 0, 1870, 0, 0, 0, 0, 0, 0, 7768 9916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7769 9917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7770 1127, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 7771 1132, 1132, 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 7772 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, 0, 1134, 7773 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 7774 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 7775 1135, 1135, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 7776 1136, 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1137, 1137, 7777 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 7778 7779 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1139, 1139, 7780 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 7781 1139, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 7782 1140, 1140, 1140, 1140, 1141, 1141, 1141, 1141, 1141, 0, 7783 1141, 1141, 1141, 0, 1141, 0, 1141, 1142, 1142, 1142, 7784 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 7785 1143, 0, 0, 0, 0, 0, 0, 0, 1143, 1144, 7786 1144, 0, 1144, 1144, 0, 1144, 0, 0, 1144, 1144, 7787 0, 1144, 1145, 1145, 1145, 1145, 1146, 1146, 1146, 1146, 7788 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, 7789 7790 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 7791 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 7792 1148, 1148, 1148, 1148, 1148, 1149, 1149, 1149, 0, 1149, 7793 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150, 0, 7794 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 7795 1150, 1151, 0, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 7796 1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1152, 7797 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153, 7798 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 7799 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 7800 7801 1154, 1154, 1154, 1155, 0, 1155, 1155, 1155, 1155, 1155, 7802 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 1156, 1156, 7803 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 7804 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 7805 1157, 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 7806 1158, 1158, 1158, 1158, 1158, 1159, 0, 1159, 1159, 1159, 7807 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1160, 0, 7808 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 7809 1160, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7810 1161, 1161, 1161, 1161, 1162, 1162, 1162, 1162, 1162, 1162, 7811 7812 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1163, 1163, 1163, 7813 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 7814 1164, 0, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 7815 1164, 1164, 1164, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 7816 1165, 1165, 1165, 1165, 1165, 1165, 1166, 1166, 1166, 1166, 7817 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 7818 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 7819 1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 7820 1168, 1168, 1168, 1168, 1168, 1169, 1169, 1169, 1169, 1169, 7821 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1170, 7822 7823 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 7824 1170, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7825 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7826 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7827 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7828 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7829 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7830 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7831 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7832 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7833 7834 1131 9918 0, 1870, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 9919 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 9920 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 9921 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1885, 1885, 9922 9923 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 9924 1885, 1885, 1885, 1885, 1885, 1885, 1886, 1886, 0, 1886, 9925 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 9926 1886, 1886, 1886, 1886, 1887, 1887, 1887, 1887, 1887, 1887, 9927 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 9928 1887, 1887, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 9929 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 9930 1889, 0, 0, 0, 0, 0, 0, 1889, 0, 1889, 9931 0, 1889, 1889, 1889, 1889, 1889, 1890, 1890, 1890, 1890, 9932 1890, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 9933 9934 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1892, 9935 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 9936 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1893, 1893, 1893, 9937 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 9938 1893, 1893, 1893, 1893, 1893, 1894, 1894, 1894, 1894, 1894, 9939 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 9940 1894, 1894, 1894, 1895, 0, 0, 0, 0, 0, 0, 9941 0, 0, 0, 0, 1895, 1895, 1895, 1895, 1895, 1896, 9942 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 9943 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1897, 1897, 0, 9944 9945 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 9946 1897, 1897, 1897, 1897, 1897, 1898, 1898, 1898, 1898, 1898, 9947 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 9948 1898, 1898, 1898, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 9949 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 9950 1899, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 9951 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1901, 9952 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 9953 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1902, 0, 0, 9954 0, 0, 0, 0, 1902, 0, 1902, 0, 0, 1902, 9955 9956 1902, 1902, 1902, 1903, 1903, 1903, 1903, 0, 1903, 1903, 9957 1903, 1903, 1903, 1903, 0, 1903, 1903, 0, 0, 1903, 9958 1903, 1904, 1904, 1904, 1904, 1904, 1906, 1906, 1906, 1906, 9959 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 9960 1906, 1906, 1906, 1906, 1907, 1907, 1907, 1907, 1907, 1907, 9961 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 9962 1907, 1907, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 9963 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 9964 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 9965 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1910, 1910, 9966 9967 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 9968 1910, 1910, 1910, 1910, 1910, 1910, 1911, 1911, 1911, 1911, 9969 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 9970 1911, 1911, 1911, 1911, 1912, 1912, 1912, 1912, 1912, 1912, 9971 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 9972 1912, 1912, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 9973 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 9974 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 9975 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1915, 1915, 9976 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 9977 9978 1915, 1915, 1915, 1915, 1915, 1915, 1916, 1916, 0, 1916, 9979 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 9980 1916, 1916, 1916, 1916, 1917, 1917, 1917, 1917, 1917, 1917, 9981 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 9982 1917, 1917, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 9983 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 9984 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 9985 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1920, 1920, 9986 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 9987 1920, 1920, 1920, 1920, 1920, 1920, 1921, 1921, 1921, 1921, 9988 9989 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 9990 1921, 1921, 1921, 1921, 1922, 0, 0, 0, 0, 0, 9991 0, 1922, 0, 1922, 0, 0, 1922, 1922, 1922, 1922, 9992 1923, 0, 0, 0, 0, 0, 0, 0, 1923, 0, 9993 1923, 0, 1923, 1923, 1923, 1923, 1923, 1924, 1924, 1924, 9994 1924, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 9995 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1926, 9996 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 9997 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1927, 1927, 1927, 9998 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 9999 10000 1927, 1927, 1927, 1927, 1927, 1928, 1928, 1928, 1928, 0, 10001 1928, 1928, 1928, 1928, 1928, 1928, 0, 1928, 1928, 0, 10002 0, 1928, 1928, 1929, 1929, 1929, 1929, 1929, 1930, 1930, 10003 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 10004 1930, 1930, 1930, 1930, 1930, 1930, 1931, 0, 0, 0, 10005 0, 0, 0, 0, 1931, 1931, 1932, 1932, 1932, 1932, 10006 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 10007 1932, 1932, 1932, 1932, 1933, 1933, 1933, 1933, 1933, 1933, 10008 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 10009 1933, 1933, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 10010 10011 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 10012 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 10013 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1936, 1936, 10014 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 10015 1936, 1936, 1936, 1936, 1936, 1936, 1937, 1937, 1937, 1937, 10016 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 10017 1937, 1937, 1937, 1937, 1938, 1938, 1938, 1938, 1938, 1938, 10018 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 10019 1938, 1938, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 10020 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 10021 10022 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 10023 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1941, 0, 10024 0, 0, 0, 0, 0, 0, 0, 0, 0, 1941, 10025 1941, 1941, 1941, 1941, 1942, 1942, 1942, 1942, 1942, 1942, 10026 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 10027 1942, 1942, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 10028 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 10029 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 10030 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1945, 1945, 10031 0, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 10032 10033 1945, 1945, 1945, 1945, 1945, 1945, 1946, 1946, 1946, 1946, 10034 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 10035 1946, 1946, 1946, 1946, 1947, 1947, 1947, 1947, 1947, 1947, 10036 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 10037 1947, 1947, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 10038 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 10039 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 10040 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1950, 0, 10041 0, 0, 0, 0, 0, 1950, 0, 1950, 0, 0, 10042 1950, 1950, 1950, 1950, 1951, 0, 0, 0, 0, 0, 10043 10044 0, 0, 1951, 0, 0, 0, 1951, 1951, 1951, 1951, 10045 1951, 1952, 0, 0, 0, 0, 0, 0, 0, 1952, 10046 0, 1952, 0, 1952, 1952, 1952, 1952, 1952, 1953, 1953, 10047 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 10048 1953, 1953, 1953, 1953, 1953, 1953, 1954, 1954, 1954, 1954, 10049 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 10050 1954, 1954, 1954, 1954, 1955, 1955, 1955, 1955, 1955, 1955, 10051 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 10052 1955, 1955, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 10053 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 10054 10055 1957, 1957, 1957, 1957, 1957, 1958, 1958, 1958, 1958, 1958, 10056 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 10057 1958, 1958, 1958, 1959, 1959, 1959, 1959, 1959, 1959, 0, 10058 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 10059 1959, 1960, 1960, 0, 1960, 1960, 1960, 1960, 1960, 1960, 10060 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1961, 10061 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 10062 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1962, 1962, 1962, 10063 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 10064 1962, 1962, 1962, 1962, 1962, 1963, 1963, 1963, 1963, 1963, 10065 10066 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 10067 1963, 1963, 1963, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 10068 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 10069 1964, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 10070 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1966, 10071 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 10072 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1967, 1967, 1967, 10073 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 10074 1967, 1967, 1967, 1967, 1967, 1968, 1968, 0, 1968, 1968, 10075 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 10076 10077 1968, 1968, 1968, 1969, 1969, 0, 1969, 1969, 1969, 1969, 10078 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 10079 1969, 1970, 1970, 0, 1970, 1970, 1970, 1970, 1970, 1970, 10080 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1971, 10081 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 10082 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1972, 1972, 1972, 10083 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 10084 1972, 1972, 1972, 1972, 1972, 1973, 1973, 1973, 1973, 1973, 10085 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 10086 1973, 1973, 1973, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 10087 10088 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 10089 1974, 1975, 0, 0, 0, 0, 0, 1975, 0, 0, 10090 0, 1975, 0, 1975, 1975, 1975, 1975, 1975, 1976, 1976, 10091 1976, 1976, 1977, 0, 0, 0, 0, 0, 0, 0, 10092 1977, 0, 0, 0, 1977, 1977, 1977, 1977, 1977, 1978, 10093 0, 0, 0, 0, 0, 0, 0, 1978, 0, 1978, 10094 0, 1978, 1978, 1978, 1978, 1978, 1979, 1979, 0, 1979, 10095 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 10096 1979, 1979, 1979, 1979, 1980, 1980, 1980, 1980, 1980, 1980, 10097 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 10098 10099 1980, 1980, 1981, 1981, 0, 1981, 1981, 1981, 1981, 1981, 10100 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 10101 1982, 1982, 1982, 1982, 1982, 1982, 0, 1982, 1982, 1982, 10102 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 10103 0, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 10104 1983, 1983, 1983, 1983, 1983, 1983, 1984, 1984, 1984, 1984, 10105 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 10106 1984, 1984, 1984, 1984, 1985, 1985, 1985, 1985, 1985, 1985, 10107 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 10108 1985, 1985, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 10109 10110 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 10111 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 10112 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1988, 1988, 10113 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 10114 1988, 1988, 1988, 1988, 1988, 1988, 1989, 1989, 1989, 1989, 10115 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 10116 1989, 1989, 1989, 1989, 1990, 1990, 1990, 1990, 1990, 1990, 10117 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 10118 1990, 1990, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 10119 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 10120 10121 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 10122 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1993, 1993, 10123 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 10124 1993, 1993, 1993, 1993, 1993, 1993, 1994, 1994, 1994, 1994, 10125 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 10126 1994, 1994, 1994, 1994, 1995, 1995, 0, 1995, 1995, 1995, 10127 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 10128 1995, 1995, 1996, 1996, 0, 1996, 1996, 1996, 1996, 1996, 10129 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 10130 1997, 1997, 0, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 10131 10132 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1998, 1998, 10133 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 10134 1998, 1998, 1998, 1998, 1998, 1998, 1999, 1999, 1999, 1999, 10135 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 10136 1999, 1999, 1999, 1999, 2000, 2000, 2000, 2000, 2000, 2000, 10137 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 10138 2000, 2000, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 10139 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 10140 2002, 0, 0, 0, 0, 0, 2002, 0, 0, 0, 10141 0, 0, 2002, 2002, 2002, 2002, 2002, 2003, 2003, 0, 10142 10143 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 10144 2003, 2003, 2003, 2003, 2003, 2004, 0, 0, 0, 0, 10145 0, 0, 2004, 0, 2004, 0, 0, 2004, 2004, 2004, 10146 2004, 2005, 0, 0, 0, 0, 0, 0, 0, 2005, 10147 0, 2005, 0, 2005, 2005, 2005, 2005, 2005, 2006, 2006, 10148 2006, 2006, 2007, 2007, 0, 2007, 2007, 2007, 2007, 2007, 10149 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 10150 2008, 2008, 2008, 2008, 2008, 2008, 0, 2008, 2008, 2008, 10151 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, 2009, 10152 0, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 10153 10154 2009, 2009, 2009, 2009, 2009, 2009, 2010, 2010, 0, 2010, 10155 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 10156 2010, 2010, 2010, 2010, 2011, 2011, 2011, 2011, 2011, 2011, 10157 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 10158 2011, 2011, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 10159 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 10160 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 10161 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2014, 2014, 10162 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 10163 2014, 2014, 2014, 2014, 2014, 2014, 2015, 2015, 2015, 2015, 10164 10165 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 10166 2015, 2015, 2015, 2015, 2016, 0, 2016, 0, 0, 0, 10167 0, 2016, 0, 0, 2016, 2016, 2016, 2016, 2016, 2016, 10168 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 10169 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2018, 2018, 10170 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 10171 2018, 2018, 2018, 2018, 2018, 2018, 2019, 2019, 2019, 2019, 10172 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 10173 2019, 2019, 2019, 2019, 2020, 2020, 2020, 2020, 2020, 2020, 10174 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 10175 10176 2020, 2020, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 10177 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 10178 2022, 2022, 0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 10179 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2023, 2023, 10180 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 10181 2023, 2023, 2023, 2023, 2023, 2023, 2024, 2024, 2024, 2024, 10182 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 10183 2024, 2024, 2024, 2024, 2025, 0, 0, 0, 0, 0, 10184 2025, 0, 0, 0, 0, 0, 2025, 2025, 2025, 2025, 10185 2025, 2026, 0, 0, 0, 0, 0, 0, 2026, 0, 10186 10187 2026, 0, 0, 2026, 2026, 2026, 2026, 2027, 0, 0, 10188 0, 0, 0, 0, 0, 2027, 0, 2027, 0, 2027, 10189 2027, 2027, 2027, 2027, 2028, 2028, 2028, 2028, 2029, 0, 10190 2029, 0, 0, 0, 0, 2029, 0, 0, 2029, 2029, 10191 2029, 2029, 2029, 2029, 2030, 0, 2030, 0, 0, 0, 10192 0, 2030, 0, 0, 2030, 2030, 2030, 2030, 2030, 2030, 10193 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 10194 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2032, 2032, 10195 2032, 2032, 2032, 2033, 2033, 0, 2033, 2033, 2033, 2033, 10196 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 10197 10198 2033, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 10199 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2035, 10200 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 10201 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2036, 2036, 2036, 10202 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 10203 2036, 2036, 2036, 2036, 2036, 2037, 2037, 2037, 2037, 2037, 10204 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 10205 2037, 2037, 2037, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 10206 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 10207 2038, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 10208 10209 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 10210 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 10211 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 10212 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 10213 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042, 10214 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 10215 2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 10216 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 10217 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 10218 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2045, 10219 10220 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 10221 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2046, 2046, 2046, 10222 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 10223 2046, 2046, 2046, 2046, 2046, 2047, 2047, 2047, 2047, 2047, 10224 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 10225 2047, 2047, 2047, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 10226 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 10227 2048, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 10228 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 10229 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 10230 10231 2050, 2050, 2050, 2050, 2050, 2050, 2050, 1882, 1882, 1882, 10232 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 10233 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 10234 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 10235 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 10236 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 10237 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 10238 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 10239 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882 7835 10240 } ; 7836 7837 static yy_state_type yy_last_accepting_state;7838 static char *yy_last_accepting_cpos;7839 10241 7840 10242 extern int fortran__flex_debug; 7841 10243 int fortran__flex_debug = 0; 7842 10244 7843 /* The intent behind this definition is that it'll catch 7844 * any uses of REJECT which flex missed. 7845 */ 7846 #define REJECT reject_used_but_not_detected 10245 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; 10246 static char *yy_full_match; 10247 static int yy_lp; 10248 static int yy_looking_for_trail_begin = 0; 10249 static int yy_full_lp; 10250 static int *yy_full_state; 10251 #define YY_TRAILING_MASK 0x2000 10252 #define YY_TRAILING_HEAD_MASK 0x4000 10253 #define REJECT \ 10254 { \ 10255 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ \ 10256 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ 10257 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \ 10258 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \ 10259 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \ 10260 ++(yy_lp); \ 10261 goto find_rule; \ 10262 } 10263 7847 10264 #define yymore() yymore_used_but_not_detected 7848 10265 #define YY_MORE_ADJ 0 … … 7889 10306 7890 10307 7891 #line 44 "fortran.lex" 10308 10309 10310 #line 46 "fortran.lex" 7892 10311 #include <math.h> 7893 10312 #include <stdlib.h> … … 7895 10314 extern FILE * fortran_in; 7896 10315 #define MAX_INCLUDE_DEPTH 30 10316 #define YY_BUF_SIZE 64000 7897 10317 YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; 7898 int line_num_input = 1;10318 int line_num_input = 0; 7899 10319 int newlinef90 = 0; 7900 char tmpc; 7901 #define PRINT_LINE_NUM() // { fprintf(stderr,"== Parsing l.%4d...\n", line_num_input); } 7902 #define INCREMENT_LINE_NUM() { line_num_input++; PRINT_LINE_NUM(); } 7903 7904 /******************************************************************************/ 7905 /**************PETITS PB NON PREVUS *******************************************/ 7906 /******************************************************************************/ 7907 /* NEXTLINF77 un ligne fortran 77 peut commencer par - &a=b or on */ 7908 /* a prevu seulement & a=b avec l'espace entre le symbole */ 7909 /* de la 7eme et le debut de la ligne de commande */ 7910 /* le ! est aussi interdit comme symbole de la 7 eme colonne */ 7911 /* Normalement NEXTLINEF77 \n+[ ]{5}[^ ] */ 7912 /******************************************************************************/ 7913 #define YY_USER_ACTION if (firstpass == 0) ECHO; 10320 int tmpc; 10321 10322 int lastwasendofstmt = 1; 10323 10324 extern char linebuf1[1024]; 10325 extern char linebuf2[1024]; 10326 10327 int count_newlines(const char* str_in) 10328 { 10329 int k, i = 0; 10330 for( k=0 ; k<strlen(str_in) ; k++) 10331 if (str_in[k] == '\n') i++; 10332 return i; 10333 } 10334 10335 #define PRINT_LINE_NUM() // { fprintf(stderr,"== Parsing l.%4d...\n", line_num_input); } 10336 #define INCREMENT_LINE_NUM() { line_num_input+=count_newlines(fortran_text) ; PRINT_LINE_NUM(); } 10337 #define YY_USER_ACTION { if (increment_nbtokens !=0) token_since_endofstmt++; increment_nbtokens = 1; if (token_since_endofstmt>=1) lastwasendofstmt=0; /*printf("VALLIJSDFLSD = %d %d %s \n",lastwasendofstmt,token_since_endofstmt,fortran_text); */ if (firstpass) { strcpy(linebuf1, linebuf2); strncpy(linebuf2, fortran_text,80);} \ 10338 else {my_position_before=setposcur();/*printf("muposition = %d\n",my_position_before);*/ECHO;} } 10339 #define YY_BREAK {/*printf("VALL = %d %d\n",lastwasendofstmt,token_since_endofstmt);*/if (token_since_endofstmt>=1) lastwasendofstmt=0; break;} 7914 10340 7915 10341 void out_of_donottreat(void); 7916 10342 7917 #line 1825"fortran.yy.c"10343 #line 3526 "fortran.yy.c" 7918 10344 7919 10345 #define INITIAL 0 … … 7921 10347 #define character 2 7922 10348 #define donottreat 3 7923 #define fortran77style 4 7924 #define fortran90style 5 10349 #define donottreat_interface 4 10350 #define includestate 5 10351 #define fortran77style 6 10352 #define fortran90style 7 7925 10353 7926 10354 #ifndef YY_NO_UNISTD_H … … 7959 10387 void fortran_set_out (FILE * out_str ); 7960 10388 7961 int fortran_get_leng (void );10389 yy_size_t fortran_get_leng (void ); 7962 10390 7963 10391 char *fortran_get_text (void ); … … 8009 10437 * we now use fwrite(). 8010 10438 */ 8011 #define ECHO do { if (fwrite( fortran_text, fortran_leng, 1, fortran_out )) {} } while (0)10439 #define ECHO fwrite( fortran_text, fortran_leng, 1, fortran_out ) 8012 10440 #endif 8013 10441 … … 8020 10448 { \ 8021 10449 int c = '*'; \ 8022 unsignedn; \10450 yy_size_t n; \ 8023 10451 for ( n = 0; n < max_size && \ 8024 10452 (c = getc( fortran_in )) != EOF && c != '\n'; ++n ) \ … … 8105 10533 register int yy_act; 8106 10534 8107 #line 97"fortran.lex"10535 #line 101 "fortran.lex" 8108 10536 8109 10537 if (infixed) BEGIN(fortran77style) ; 8110 10538 if (infree) BEGIN(fortran90style) ; 8111 10539 8112 #line 2020"fortran.yy.c"10540 #line 3723 "fortran.yy.c" 8113 10541 8114 10542 if ( !(yy_init) ) … … 8119 10547 YY_USER_INIT; 8120 10548 #endif 10549 10550 /* Create the reject buffer large enough to save one state per allowed character. */ 10551 if ( ! (yy_state_buf) ) 10552 (yy_state_buf) = (yy_state_type *)fortran_alloc(YY_STATE_BUF_SIZE ); 10553 if ( ! (yy_state_buf) ) 10554 YY_FATAL_ERROR( "out of dynamic memory in fortran_lex()" ); 8121 10555 8122 10556 if ( ! (yy_start) ) … … 8152 10586 yy_current_state = (yy_start); 8153 10587 yy_current_state += YY_AT_BOL(); 10588 10589 (yy_state_ptr) = (yy_state_buf); 10590 *(yy_state_ptr)++ = yy_current_state; 10591 8154 10592 yy_match: 8155 10593 do 8156 10594 { 8157 10595 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 8158 if ( yy_accept[yy_current_state] )8159 {8160 (yy_last_accepting_state) = yy_current_state;8161 (yy_last_accepting_cpos) = yy_cp;8162 }8163 10596 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 8164 10597 { 8165 10598 yy_current_state = (int) yy_def[yy_current_state]; 8166 if ( yy_current_state >= 1 132)10599 if ( yy_current_state >= 1883 ) 8167 10600 yy_c = yy_meta[(unsigned int) yy_c]; 8168 10601 } 8169 10602 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 10603 *(yy_state_ptr)++ = yy_current_state; 8170 10604 ++yy_cp; 8171 10605 } 8172 while ( yy_base[yy_current_state] != 4012);10606 while ( yy_base[yy_current_state] != 9608 ); 8173 10607 8174 10608 yy_find_action: 8175 yy_act = yy_accept[yy_current_state]; 8176 if ( yy_act == 0 ) 8177 { /* have to back up */ 8178 yy_cp = (yy_last_accepting_cpos); 8179 yy_current_state = (yy_last_accepting_state); 8180 yy_act = yy_accept[yy_current_state]; 10609 yy_current_state = *--(yy_state_ptr); 10610 (yy_lp) = yy_accept[yy_current_state]; 10611 goto find_rule; /* Shut up GCC warning -Wall */ 10612 find_rule: /* we branch to this label when backing up */ 10613 for ( ; ; ) /* until we find what rule we matched */ 10614 { 10615 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) 10616 { 10617 yy_act = yy_acclist[(yy_lp)]; 10618 if ( yy_act & YY_TRAILING_HEAD_MASK || 10619 (yy_looking_for_trail_begin) ) 10620 { 10621 if ( yy_act == (yy_looking_for_trail_begin) ) 10622 { 10623 (yy_looking_for_trail_begin) = 0; 10624 yy_act &= ~YY_TRAILING_HEAD_MASK; 10625 break; 10626 } 10627 } 10628 else if ( yy_act & YY_TRAILING_MASK ) 10629 { 10630 (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK; 10631 (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK; 10632 } 10633 else 10634 { 10635 (yy_full_match) = yy_cp; 10636 (yy_full_state) = (yy_state_ptr); 10637 (yy_full_lp) = (yy_lp); 10638 break; 10639 } 10640 ++(yy_lp); 10641 goto find_rule; 10642 } 10643 --yy_cp; 10644 yy_current_state = *--(yy_state_ptr); 10645 (yy_lp) = yy_accept[yy_current_state]; 8181 10646 } 8182 10647 … … 8187 10652 switch ( yy_act ) 8188 10653 { /* beginning of action switch */ 8189 case 0: /* must back up */8190 /* undo the effects of YY_DO_BEFORE_ACTION */8191 *yy_cp = (yy_hold_char);8192 yy_cp = (yy_last_accepting_cpos);8193 yy_current_state = (yy_last_accepting_state);8194 goto yy_find_action;8195 8196 10654 case 1: 8197 10655 YY_RULE_SETUP 8198 #line 10 1"fortran.lex"8199 { return TOK_ REAL8; }10656 #line 105 "fortran.lex" 10657 { return TOK_SUBROUTINE; } 8200 10658 YY_BREAK 8201 10659 case 2: 8202 10660 YY_RULE_SETUP 8203 #line 10 2"fortran.lex"8204 { return TOK_ SUBROUTINE; }10661 #line 106 "fortran.lex" 10662 { return TOK_PROGRAM; } 8205 10663 YY_BREAK 8206 10664 case 3: 8207 10665 YY_RULE_SETUP 8208 #line 10 3"fortran.lex"8209 { return TOK_PROGRAM; }10666 #line 107 "fortran.lex" 10667 { inallocate = 1; return TOK_ALLOCATE; } 8210 10668 YY_BREAK 8211 10669 case 4: 8212 10670 YY_RULE_SETUP 8213 #line 10 4"fortran.lex"8214 { inallocate = 1; return TOK_ALLOCATE; }10671 #line 108 "fortran.lex" 10672 { return TOK_CONTINUE; } 8215 10673 YY_BREAK 8216 10674 case 5: 8217 10675 YY_RULE_SETUP 8218 #line 10 5"fortran.lex"10676 #line 109 "fortran.lex" 8219 10677 { return TOK_NULLIFY; } 8220 10678 YY_BREAK 8221 10679 case 6: 8222 10680 YY_RULE_SETUP 8223 #line 1 06"fortran.lex"8224 { return TOK_NULL_PTR; }10681 #line 110 "fortran.lex" 10682 { inallocate = 1; return TOK_DEALLOCATE; } 8225 10683 YY_BREAK 8226 10684 case 7: 8227 10685 YY_RULE_SETUP 8228 #line 1 07"fortran.lex"8229 { inallocate = 1; return TOK_DEALLOCATE; }10686 #line 111 "fortran.lex" 10687 { return TOK_RESULT; } 8230 10688 YY_BREAK 8231 10689 case 8: 8232 10690 YY_RULE_SETUP 8233 #line 1 08"fortran.lex"8234 { return TOK_ RESULT; }10691 #line 112 "fortran.lex" 10692 { return TOK_FUNCTION; } 8235 10693 YY_BREAK 8236 10694 case 9: 8237 10695 YY_RULE_SETUP 8238 #line 1 09"fortran.lex"8239 { return TOK_FUNCTION;}10696 #line 113 "fortran.lex" 10697 { strcpy(yylval.na,fortran_text); return TOK_ENDUNIT;} 8240 10698 YY_BREAK 8241 10699 case 10: 8242 10700 YY_RULE_SETUP 8243 #line 11 0"fortran.lex"8244 { strcpy(yylval.na,fortran_text); return TOK_ENDPROGRAM;}10701 #line 114 "fortran.lex" 10702 { pos_curinclude = setposcur()-9; BEGIN(includestate); } 8245 10703 YY_BREAK 8246 10704 case 11: 8247 10705 YY_RULE_SETUP 8248 #line 11 1"fortran.lex"8249 { strcpy(yylval.na,fortran_text); return TOK_ENDMODULE;}10706 #line 115 "fortran.lex" 10707 { return TOK_USE;} 8250 10708 YY_BREAK 8251 10709 case 12: 8252 10710 YY_RULE_SETUP 8253 #line 11 2"fortran.lex"8254 { strcpy(yylval.na,fortran_text); return TOK_ENDSUBROUTINE;}10711 #line 116 "fortran.lex" 10712 { return TOK_REWIND; } 8255 10713 YY_BREAK 8256 10714 case 13: 8257 10715 YY_RULE_SETUP 8258 #line 11 3"fortran.lex"8259 { strcpy(yylval.na,fortran_text); return TOK_ENDFUNCTION;}10716 #line 117 "fortran.lex" 10717 { return TOK_IMPLICIT; } 8260 10718 YY_BREAK 8261 10719 case 14: 8262 10720 YY_RULE_SETUP 8263 #line 11 4"fortran.lex"8264 { strcpy(yylval.na,fortran_text); return TOK_ENDUNIT;}10721 #line 118 "fortran.lex" 10722 { return TOK_NONE; } 8265 10723 YY_BREAK 8266 10724 case 15: 8267 10725 YY_RULE_SETUP 8268 #line 11 5"fortran.lex"8269 { pos_curinclude = setposcur()-9; return TOK_INCLUDE;}10726 #line 119 "fortran.lex" 10727 { return TOK_CALL; } 8270 10728 YY_BREAK 8271 10729 case 16: 8272 10730 YY_RULE_SETUP 8273 #line 116 "fortran.lex" 10731 #line 120 "fortran.lex" 10732 { strcpy(yylval.na,fortran_text); return TOK_TRUE; } 10733 YY_BREAK 10734 case 17: 10735 YY_RULE_SETUP 10736 #line 121 "fortran.lex" 10737 { strcpy(yylval.na,fortran_text); return TOK_FALSE; } 10738 YY_BREAK 10739 case 18: 10740 YY_RULE_SETUP 10741 #line 122 "fortran.lex" 10742 { return TOK_POINT_TO; } 10743 YY_BREAK 10744 case 19: 10745 YY_RULE_SETUP 10746 #line 123 "fortran.lex" 10747 { strcpy(yylval.na,fortran_text); return TOK_ASSIGNTYPE;} 10748 YY_BREAK 10749 case 20: 10750 YY_RULE_SETUP 10751 #line 124 "fortran.lex" 10752 { strcpy(yylval.na,fortran_text); return TOK_DASTER; } 10753 YY_BREAK 10754 case 21: 10755 YY_RULE_SETUP 10756 #line 125 "fortran.lex" 10757 { strcpy(yylval.na,fortran_text); return TOK_EQV; } 10758 YY_BREAK 10759 case 22: 10760 YY_RULE_SETUP 10761 #line 126 "fortran.lex" 10762 { strcpy(yylval.na,fortran_text); return TOK_EQ; } 10763 YY_BREAK 10764 case 23: 10765 YY_RULE_SETUP 10766 #line 127 "fortran.lex" 10767 { strcpy(yylval.na,fortran_text); return TOK_GT; } 10768 YY_BREAK 10769 case 24: 10770 YY_RULE_SETUP 10771 #line 128 "fortran.lex" 10772 { strcpy(yylval.na,fortran_text); return TOK_GE; } 10773 YY_BREAK 10774 case 25: 10775 YY_RULE_SETUP 10776 #line 129 "fortran.lex" 10777 { strcpy(yylval.na,fortran_text); return TOK_LT; } 10778 YY_BREAK 10779 case 26: 10780 YY_RULE_SETUP 10781 #line 130 "fortran.lex" 10782 { strcpy(yylval.na,fortran_text); return TOK_LE; } 10783 YY_BREAK 10784 case 27: 10785 YY_RULE_SETUP 10786 #line 131 "fortran.lex" 10787 { strcpy(yylval.na,fortran_text); return TOK_NEQV;} 10788 YY_BREAK 10789 case 28: 10790 YY_RULE_SETUP 10791 #line 132 "fortran.lex" 10792 { strcpy(yylval.na,fortran_text); return TOK_NE; } 10793 YY_BREAK 10794 case 29: 10795 YY_RULE_SETUP 10796 #line 133 "fortran.lex" 10797 { strcpy(yylval.na,fortran_text); return TOK_NOT; } 10798 YY_BREAK 10799 case 30: 10800 YY_RULE_SETUP 10801 #line 134 "fortran.lex" 10802 { strcpy(yylval.na,fortran_text); return TOK_OR; } 10803 YY_BREAK 10804 case 31: 10805 YY_RULE_SETUP 10806 #line 135 "fortran.lex" 10807 { strcpy(yylval.na,fortran_text); return TOK_XOR; } 10808 YY_BREAK 10809 case 32: 10810 YY_RULE_SETUP 10811 #line 136 "fortran.lex" 10812 { strcpy(yylval.na,fortran_text); return TOK_AND; } 10813 YY_BREAK 10814 case 33: 10815 YY_RULE_SETUP 10816 #line 137 "fortran.lex" 10817 { strcpy(yylval.na,fortran_text); return TOK_EQUALEQUAL; } 10818 YY_BREAK 10819 case 34: 10820 YY_RULE_SETUP 10821 #line 138 "fortran.lex" 10822 { strcpy(yylval.na,fortran_text); return TOK_SLASHEQUAL; } 10823 YY_BREAK 10824 case 35: 10825 YY_RULE_SETUP 10826 #line 139 "fortran.lex" 10827 { strcpy(yylval.na,fortran_text); return TOK_INFEQUAL; } 10828 YY_BREAK 10829 case 36: 10830 YY_RULE_SETUP 10831 #line 140 "fortran.lex" 10832 { strcpy(yylval.na,fortran_text); return TOK_SUPEQUAL; } 10833 YY_BREAK 10834 case 37: 10835 YY_RULE_SETUP 10836 #line 141 "fortran.lex" 10837 { return TOK_MODULE; } 10838 YY_BREAK 10839 case 38: 10840 YY_RULE_SETUP 10841 #line 142 "fortran.lex" 10842 { return TOK_WHILE; } 10843 YY_BREAK 10844 case 39: 10845 YY_RULE_SETUP 10846 #line 143 "fortran.lex" 10847 { return TOK_CONCURRENT; } 10848 YY_BREAK 10849 case 40: 10850 YY_RULE_SETUP 10851 #line 144 "fortran.lex" 10852 { return TOK_ENDDO; } 10853 YY_BREAK 10854 case 41: 10855 YY_RULE_SETUP 10856 #line 145 "fortran.lex" 10857 { strcpy(yylval.na,&fortran_text[2]); 10858 if (testandextractfromlist(&List_Do_labels,&fortran_text[2]) == 1) 10859 { 10860 return TOK_PLAINDO_LABEL_DJVIEW; 10861 } 10862 else 10863 { 10864 List_Do_labels=Insertname(List_Do_labels,yylval.na,1); 10865 return TOK_PLAINDO_LABEL; 10866 } 10867 } 10868 YY_BREAK 10869 case 42: 10870 YY_RULE_SETUP 10871 #line 156 "fortran.lex" 10872 { increment_nbtokens = 0; return TOK_PLAINDO;} 10873 YY_BREAK 10874 case 43: 10875 YY_RULE_SETUP 10876 #line 157 "fortran.lex" 10877 { strcpy(yylval.na,fortran_text); return TOK_REAL; } 10878 YY_BREAK 10879 case 44: 10880 YY_RULE_SETUP 10881 #line 158 "fortran.lex" 10882 { strcpy(yylval.na,fortran_text); return TOK_INTEGER; } 10883 YY_BREAK 10884 case 45: 10885 YY_RULE_SETUP 10886 #line 159 "fortran.lex" 10887 { strcpy(yylval.na,fortran_text); return TOK_LOGICAL; } 10888 YY_BREAK 10889 case 46: 10890 YY_RULE_SETUP 10891 #line 160 "fortran.lex" 10892 { strcpy(yylval.na,fortran_text); return TOK_CHARACTER; } 10893 YY_BREAK 10894 case 47: 10895 YY_RULE_SETUP 10896 #line 161 "fortran.lex" 10897 { strcpy(yylval.na,fortran_text); return TOK_HEXA;} 10898 YY_BREAK 10899 case 48: 10900 YY_RULE_SETUP 10901 #line 162 "fortran.lex" 10902 { strcpy(yylval.na,fortran_text); return TOK_DOUBLEPRECISION; } 10903 YY_BREAK 10904 case 49: 10905 YY_RULE_SETUP 10906 #line 163 "fortran.lex" 10907 { strcpy(yylval.na,fortran_text); return TOK_DOUBLECOMPLEX; } 10908 YY_BREAK 10909 case 50: 10910 YY_RULE_SETUP 10911 #line 164 "fortran.lex" 10912 { strcpy(yylval.na,fortran_text); return TOK_COMPLEX; } 10913 YY_BREAK 10914 case 51: 10915 YY_RULE_SETUP 10916 #line 165 "fortran.lex" 10917 { return TOK_ALLOCATABLE; } 10918 YY_BREAK 10919 case 52: 10920 YY_RULE_SETUP 10921 #line 166 "fortran.lex" 10922 { return TOK_CLOSE; } 10923 YY_BREAK 10924 case 53: 10925 YY_RULE_SETUP 10926 #line 167 "fortran.lex" 10927 { return TOK_INQUIRE; } 10928 YY_BREAK 10929 case 54: 10930 YY_RULE_SETUP 10931 #line 168 "fortran.lex" 10932 { return TOK_DIMENSION; } 10933 YY_BREAK 10934 case 55: 10935 YY_RULE_SETUP 10936 #line 169 "fortran.lex" 10937 { return TOK_PAUSE; } 10938 YY_BREAK 10939 case 56: 10940 YY_RULE_SETUP 10941 #line 170 "fortran.lex" 10942 { return TOK_EQUIVALENCE; } 10943 YY_BREAK 10944 case 57: 10945 YY_RULE_SETUP 10946 #line 171 "fortran.lex" 10947 { return TOK_STOP; } 10948 YY_BREAK 10949 case 58: 10950 YY_RULE_SETUP 10951 #line 172 "fortran.lex" 10952 { return TOK_WHERE; } 10953 YY_BREAK 10954 case 59: 10955 YY_RULE_SETUP 10956 #line 173 "fortran.lex" 10957 { return TOK_ENDWHERE; } 10958 YY_BREAK 10959 case 60: 10960 YY_RULE_SETUP 10961 #line 174 "fortran.lex" 10962 { return TOK_ELSEWHEREPAR; } 10963 YY_BREAK 10964 case 61: 10965 YY_RULE_SETUP 10966 #line 175 "fortran.lex" 10967 { return TOK_ELSEWHERE; } 10968 YY_BREAK 10969 case 62: 10970 YY_RULE_SETUP 10971 #line 176 "fortran.lex" 10972 { return TOK_CONTAINS; } 10973 YY_BREAK 10974 case 63: 10975 YY_RULE_SETUP 10976 #line 177 "fortran.lex" 10977 { return TOK_ONLY; } 10978 YY_BREAK 10979 case 64: 10980 YY_RULE_SETUP 10981 #line 178 "fortran.lex" 10982 { return TOK_PARAMETER; } 10983 YY_BREAK 10984 case 65: 10985 YY_RULE_SETUP 10986 #line 179 "fortran.lex" 10987 { return TOK_RECURSIVE; } 10988 YY_BREAK 10989 case 66: 10990 YY_RULE_SETUP 10991 #line 180 "fortran.lex" 10992 { return TOK_COMMON; } 10993 YY_BREAK 10994 case 67: 10995 YY_RULE_SETUP 10996 #line 181 "fortran.lex" 10997 { return TOK_GLOBAL; } 10998 YY_BREAK 10999 case 68: 11000 YY_RULE_SETUP 11001 #line 182 "fortran.lex" 11002 { return TOK_EXTERNAL; } 11003 YY_BREAK 11004 case 69: 11005 YY_RULE_SETUP 11006 #line 183 "fortran.lex" 11007 { intent_spec = 1; return TOK_INTENT; } 11008 YY_BREAK 11009 case 70: 11010 YY_RULE_SETUP 11011 #line 184 "fortran.lex" 11012 { return TOK_POINTER; } 11013 YY_BREAK 11014 case 71: 11015 YY_RULE_SETUP 11016 #line 185 "fortran.lex" 11017 { return TOK_OPTIONAL; } 11018 YY_BREAK 11019 case 72: 11020 YY_RULE_SETUP 11021 #line 186 "fortran.lex" 11022 { return TOK_SAVE; } 11023 YY_BREAK 11024 case 73: 11025 YY_RULE_SETUP 11026 #line 187 "fortran.lex" 11027 { pos_cur_decl = setposcur()-strlen(fortran_text); return TOK_TYPEPAR; } 11028 YY_BREAK 11029 case 74: 11030 YY_RULE_SETUP 11031 #line 188 "fortran.lex" 11032 { return TOK_TYPE; } 11033 YY_BREAK 11034 case 75: 11035 YY_RULE_SETUP 11036 #line 189 "fortran.lex" 11037 { return TOK_ENDTYPE; } 11038 YY_BREAK 11039 case 76: 11040 YY_RULE_SETUP 11041 #line 190 "fortran.lex" 11042 { if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } } 11043 YY_BREAK 11044 case 77: 11045 YY_RULE_SETUP 11046 #line 191 "fortran.lex" 11047 { return TOK_OPEN; } 11048 YY_BREAK 11049 case 78: 11050 YY_RULE_SETUP 11051 #line 192 "fortran.lex" 11052 { return TOK_RETURN; } 11053 YY_BREAK 11054 case 79: 11055 YY_RULE_SETUP 11056 #line 193 "fortran.lex" 11057 { return TOK_EXIT; } 11058 YY_BREAK 11059 case 80: 11060 YY_RULE_SETUP 11061 #line 194 "fortran.lex" 11062 { return TOK_PRINT; } 11063 YY_BREAK 11064 case 81: 11065 YY_RULE_SETUP 11066 #line 195 "fortran.lex" 11067 { return TOK_PROCEDURE; } 11068 YY_BREAK 11069 case 82: 11070 YY_RULE_SETUP 11071 #line 196 "fortran.lex" 11072 { in_io_control_spec = 1; return TOK_READ_PAR; } 11073 YY_BREAK 11074 case 83: 11075 YY_RULE_SETUP 11076 #line 197 "fortran.lex" 11077 { return TOK_READ; } 11078 YY_BREAK 11079 case 84: 11080 YY_RULE_SETUP 11081 #line 198 "fortran.lex" 11082 { return TOK_NAMELIST; } 11083 YY_BREAK 11084 case 85: 11085 YY_RULE_SETUP 11086 #line 199 "fortran.lex" 11087 { in_io_control_spec = 1; return TOK_WRITE_PAR; } 11088 YY_BREAK 11089 case 86: 11090 YY_RULE_SETUP 11091 #line 200 "fortran.lex" 11092 { return TOK_WRITE; } 11093 YY_BREAK 11094 case 87: 11095 YY_RULE_SETUP 11096 #line 201 "fortran.lex" 11097 { strcpy(yylval.na,fortran_text); return TOK_FLUSH; } 11098 YY_BREAK 11099 case 88: 11100 YY_RULE_SETUP 11101 #line 202 "fortran.lex" 11102 { return TOK_TARGET; } 11103 YY_BREAK 11104 case 89: 11105 YY_RULE_SETUP 11106 #line 203 "fortran.lex" 11107 { return TOK_PUBLIC; } 11108 YY_BREAK 11109 case 90: 11110 YY_RULE_SETUP 11111 #line 204 "fortran.lex" 11112 { return TOK_PRIVATE; } 11113 YY_BREAK 11114 case 91: 11115 YY_RULE_SETUP 11116 #line 205 "fortran.lex" 8274 11117 { strcpy(yylval.na,fortran_text); 8275 tmpc = (char) input(); unput(tmpc); 8276 if ( ( tmpc >= 'a' && tmpc <= 'z' ) || 8277 ( tmpc >= 'A' && tmpc <= 'Z' ) ) return TOK_USE; 8278 else return TOK_NAME; 11118 if (intent_spec==1) 11119 {return TOK_IN; } 11120 else 11121 { 11122 return TOK_NAME; 11123 } 8279 11124 } 8280 11125 YY_BREAK 8281 case 17:8282 YY_RULE_SETUP8283 #line 122 "fortran.lex"8284 { return TOK_REWIND; }8285 YY_BREAK8286 case 18:8287 YY_RULE_SETUP8288 #line 123 "fortran.lex"8289 { return TOK_IMPLICIT; }8290 YY_BREAK8291 case 19:8292 YY_RULE_SETUP8293 #line 124 "fortran.lex"8294 { return TOK_NONE; }8295 YY_BREAK8296 case 20:8297 YY_RULE_SETUP8298 #line 125 "fortran.lex"8299 { return TOK_CALL; }8300 YY_BREAK8301 case 21:8302 YY_RULE_SETUP8303 #line 126 "fortran.lex"8304 { return TOK_TRUE; }8305 YY_BREAK8306 case 22:8307 YY_RULE_SETUP8308 #line 127 "fortran.lex"8309 { return TOK_FALSE; }8310 YY_BREAK8311 case 23:8312 YY_RULE_SETUP8313 #line 128 "fortran.lex"8314 { return TOK_POINT_TO; }8315 YY_BREAK8316 case 24:8317 YY_RULE_SETUP8318 #line 129 "fortran.lex"8319 { strcpy(yylval.na,fortran_text); return TOK_ASSIGNTYPE;}8320 YY_BREAK8321 case 25:8322 YY_RULE_SETUP8323 #line 130 "fortran.lex"8324 { strcpy(yylval.na,fortran_text); return TOK_DASTER; }8325 YY_BREAK8326 case 26:8327 YY_RULE_SETUP8328 #line 131 "fortran.lex"8329 { strcpy(yylval.na,fortran_text); return TOK_EQV; }8330 YY_BREAK8331 case 27:8332 YY_RULE_SETUP8333 #line 132 "fortran.lex"8334 { strcpy(yylval.na,fortran_text); return TOK_EQ; }8335 YY_BREAK8336 case 28:8337 YY_RULE_SETUP8338 #line 133 "fortran.lex"8339 { strcpy(yylval.na,fortran_text); return TOK_GT; }8340 YY_BREAK8341 case 29:8342 YY_RULE_SETUP8343 #line 134 "fortran.lex"8344 { strcpy(yylval.na,fortran_text); return TOK_GE; }8345 YY_BREAK8346 case 30:8347 YY_RULE_SETUP8348 #line 135 "fortran.lex"8349 { strcpy(yylval.na,fortran_text); return TOK_LT; }8350 YY_BREAK8351 case 31:8352 YY_RULE_SETUP8353 #line 136 "fortran.lex"8354 { strcpy(yylval.na,fortran_text); return TOK_LE; }8355 YY_BREAK8356 case 32:8357 YY_RULE_SETUP8358 #line 137 "fortran.lex"8359 { strcpy(yylval.na,fortran_text); return TOK_NEQV;}8360 YY_BREAK8361 case 33:8362 YY_RULE_SETUP8363 #line 138 "fortran.lex"8364 { strcpy(yylval.na,fortran_text); return TOK_NE; }8365 YY_BREAK8366 case 34:8367 YY_RULE_SETUP8368 #line 139 "fortran.lex"8369 { strcpy(yylval.na,fortran_text); return TOK_NOT; }8370 YY_BREAK8371 case 35:8372 YY_RULE_SETUP8373 #line 140 "fortran.lex"8374 { strcpy(yylval.na,fortran_text); return TOK_OR; }8375 YY_BREAK8376 case 36:8377 YY_RULE_SETUP8378 #line 141 "fortran.lex"8379 { strcpy(yylval.na,fortran_text); return TOK_XOR; }8380 YY_BREAK8381 case 37:8382 YY_RULE_SETUP8383 #line 142 "fortran.lex"8384 { strcpy(yylval.na,fortran_text); return TOK_AND; }8385 YY_BREAK8386 case 38:8387 YY_RULE_SETUP8388 #line 143 "fortran.lex"8389 { return TOK_MODULE; }8390 YY_BREAK8391 case 39:8392 YY_RULE_SETUP8393 #line 144 "fortran.lex"8394 { return TOK_WHILE; }8395 YY_BREAK8396 case 40:8397 YY_RULE_SETUP8398 #line 145 "fortran.lex"8399 { return TOK_CONCURRENT; }8400 YY_BREAK8401 case 41:8402 YY_RULE_SETUP8403 #line 146 "fortran.lex"8404 { return TOK_ENDDO; }8405 YY_BREAK8406 case 42:8407 YY_RULE_SETUP8408 #line 147 "fortran.lex"8409 { return TOK_PLAINDO;}8410 YY_BREAK8411 case 43:8412 YY_RULE_SETUP8413 #line 148 "fortran.lex"8414 { strcpy(yylval.na,fortran_text); return TOK_REAL; }8415 YY_BREAK8416 case 44:8417 YY_RULE_SETUP8418 #line 149 "fortran.lex"8419 { strcpy(yylval.na,fortran_text); return TOK_INTEGER; }8420 YY_BREAK8421 case 45:8422 YY_RULE_SETUP8423 #line 150 "fortran.lex"8424 { strcpy(yylval.na,fortran_text); return TOK_LOGICAL; }8425 YY_BREAK8426 case 46:8427 YY_RULE_SETUP8428 #line 151 "fortran.lex"8429 { strcpy(yylval.na,fortran_text); return TOK_CHARACTER; }8430 YY_BREAK8431 case 47:8432 YY_RULE_SETUP8433 #line 152 "fortran.lex"8434 { strcpy(yylval.na,fortran_text); return TOK_HEXA;}8435 YY_BREAK8436 case 48:8437 YY_RULE_SETUP8438 #line 153 "fortran.lex"8439 { strcpy(yylval.na,fortran_text); return TOK_DOUBLEPRECISION; }8440 YY_BREAK8441 case 49:8442 YY_RULE_SETUP8443 #line 154 "fortran.lex"8444 { strcpy(yylval.na,fortran_text); return TOK_DOUBLECOMPLEX; }8445 YY_BREAK8446 case 50:8447 YY_RULE_SETUP8448 #line 155 "fortran.lex"8449 { return TOK_COMPLEX; }8450 YY_BREAK8451 case 51:8452 YY_RULE_SETUP8453 #line 156 "fortran.lex"8454 { return TOK_ALLOCATABLE; }8455 YY_BREAK8456 case 52:8457 YY_RULE_SETUP8458 #line 157 "fortran.lex"8459 { return TOK_CLOSE; }8460 YY_BREAK8461 case 53:8462 YY_RULE_SETUP8463 #line 158 "fortran.lex"8464 { return TOK_INQUIRE; }8465 YY_BREAK8466 case 54:8467 YY_RULE_SETUP8468 #line 159 "fortran.lex"8469 { return TOK_DIMENSION; }8470 YY_BREAK8471 case 55:8472 YY_RULE_SETUP8473 #line 160 "fortran.lex"8474 { return TOK_PAUSE; }8475 YY_BREAK8476 case 56:8477 YY_RULE_SETUP8478 #line 161 "fortran.lex"8479 { return TOK_EQUIVALENCE; }8480 YY_BREAK8481 case 57:8482 YY_RULE_SETUP8483 #line 162 "fortran.lex"8484 { return TOK_STOP; }8485 YY_BREAK8486 case 58:8487 YY_RULE_SETUP8488 #line 163 "fortran.lex"8489 { return TOK_WHERE; }8490 YY_BREAK8491 case 59:8492 YY_RULE_SETUP8493 #line 164 "fortran.lex"8494 { return TOK_ENDWHERE; }8495 YY_BREAK8496 case 60:8497 YY_RULE_SETUP8498 #line 165 "fortran.lex"8499 { return TOK_ELSEWHEREPAR; }8500 YY_BREAK8501 case 61:8502 YY_RULE_SETUP8503 #line 166 "fortran.lex"8504 { return TOK_ELSEWHERE; }8505 YY_BREAK8506 case 62:8507 YY_RULE_SETUP8508 #line 167 "fortran.lex"8509 { return TOK_CONTAINS; }8510 YY_BREAK8511 case 63:8512 YY_RULE_SETUP8513 #line 168 "fortran.lex"8514 { return TOK_ONLY; }8515 YY_BREAK8516 case 64:8517 YY_RULE_SETUP8518 #line 169 "fortran.lex"8519 { return TOK_PARAMETER; }8520 YY_BREAK8521 case 65:8522 YY_RULE_SETUP8523 #line 170 "fortran.lex"8524 { return TOK_RECURSIVE; }8525 YY_BREAK8526 case 66:8527 YY_RULE_SETUP8528 #line 171 "fortran.lex"8529 { return TOK_COMMON; }8530 YY_BREAK8531 case 67:8532 YY_RULE_SETUP8533 #line 172 "fortran.lex"8534 { return TOK_GLOBAL; }8535 YY_BREAK8536 case 68:8537 YY_RULE_SETUP8538 #line 173 "fortran.lex"8539 { return TOK_EXTERNAL; }8540 YY_BREAK8541 case 69:8542 YY_RULE_SETUP8543 #line 174 "fortran.lex"8544 { return TOK_INTENT; }8545 YY_BREAK8546 case 70:8547 YY_RULE_SETUP8548 #line 175 "fortran.lex"8549 { return TOK_POINTER; }8550 YY_BREAK8551 case 71:8552 YY_RULE_SETUP8553 #line 176 "fortran.lex"8554 { return TOK_OPTIONAL; }8555 YY_BREAK8556 case 72:8557 YY_RULE_SETUP8558 #line 177 "fortran.lex"8559 { return TOK_SAVE; }8560 YY_BREAK8561 case 73:8562 YY_RULE_SETUP8563 #line 178 "fortran.lex"8564 { pos_cur_decl = setposcur()-5; return TOK_TYPEPAR; }8565 YY_BREAK8566 case 74:8567 YY_RULE_SETUP8568 #line 179 "fortran.lex"8569 { return TOK_TYPE; }8570 YY_BREAK8571 case 75:8572 YY_RULE_SETUP8573 #line 180 "fortran.lex"8574 { return TOK_ENDTYPE; }8575 YY_BREAK8576 case 76:8577 YY_RULE_SETUP8578 #line 181 "fortran.lex"8579 { if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } }8580 YY_BREAK8581 case 77:8582 YY_RULE_SETUP8583 #line 182 "fortran.lex"8584 { return TOK_OPEN; }8585 YY_BREAK8586 case 78:8587 YY_RULE_SETUP8588 #line 183 "fortran.lex"8589 { return TOK_RETURN; }8590 YY_BREAK8591 case 79:8592 /* rule 79 can match eol */8593 YY_RULE_SETUP8594 #line 184 "fortran.lex"8595 { return TOK_EXIT; }8596 YY_BREAK8597 case 80:8598 YY_RULE_SETUP8599 #line 185 "fortran.lex"8600 { return TOK_PRINT; }8601 YY_BREAK8602 case 81:8603 YY_RULE_SETUP8604 #line 186 "fortran.lex"8605 { return TOK_PROCEDURE; }8606 YY_BREAK8607 case 82:8608 YY_RULE_SETUP8609 #line 187 "fortran.lex"8610 { return TOK_READ; }8611 YY_BREAK8612 case 83:8613 YY_RULE_SETUP8614 #line 188 "fortran.lex"8615 { return TOK_NAMELIST; }8616 YY_BREAK8617 case 84:8618 YY_RULE_SETUP8619 #line 189 "fortran.lex"8620 { return TOK_WRITE; }8621 YY_BREAK8622 case 85:8623 YY_RULE_SETUP8624 #line 190 "fortran.lex"8625 { return TOK_FLUSH; }8626 YY_BREAK8627 case 86:8628 YY_RULE_SETUP8629 #line 191 "fortran.lex"8630 { return TOK_TARGET; }8631 YY_BREAK8632 case 87:8633 YY_RULE_SETUP8634 #line 192 "fortran.lex"8635 { return TOK_PUBLIC; }8636 YY_BREAK8637 case 88:8638 YY_RULE_SETUP8639 #line 193 "fortran.lex"8640 { return TOK_PRIVATE; }8641 YY_BREAK8642 case 89:8643 YY_RULE_SETUP8644 #line 194 "fortran.lex"8645 { strcpy(yylval.na,fortran_text); return TOK_IN; }8646 YY_BREAK8647 case 90:8648 YY_RULE_SETUP8649 #line 195 "fortran.lex"8650 { pos_curdata = setposcur()-strlen(fortran_text); Init_List_Data_Var(); return TOK_DATA; }8651 YY_BREAK8652 case 91:8653 YY_RULE_SETUP8654 #line 196 "fortran.lex"8655 { return TOK_CONTINUE; }8656 YY_BREAK8657 11126 case 92: 8658 11127 YY_RULE_SETUP 8659 #line 197 "fortran.lex" 11128 #line 213 "fortran.lex" 11129 { pos_curdata = setposcur()-strlen(fortran_text); /*Init_List_Data_Var();*/ return TOK_DATA; } 11130 YY_BREAK 11131 case 93: 11132 YY_RULE_SETUP 11133 #line 214 "fortran.lex" 8660 11134 { return TOK_PLAINGOTO; } 8661 11135 YY_BREAK 8662 case 93:8663 YY_RULE_SETUP8664 #line 198 "fortran.lex"8665 { strcpy(yylval.na,fortran_text); return TOK_OUT; }8666 YY_BREAK8667 11136 case 94: 8668 11137 YY_RULE_SETUP 8669 #line 199 "fortran.lex" 8670 { strcpy(yylval.na,fortran_text); return TOK_INOUT; } 11138 #line 215 "fortran.lex" 11139 { strcpy(yylval.na,fortran_text); 11140 if (intent_spec==1) 11141 {return TOK_OUT; } 11142 else 11143 { 11144 return TOK_NAME; 11145 } 11146 } 8671 11147 YY_BREAK 8672 11148 case 95: 8673 11149 YY_RULE_SETUP 8674 #line 200 "fortran.lex" 11150 #line 223 "fortran.lex" 11151 { strcpy(yylval.na,fortran_text); 11152 if (intent_spec==1) 11153 {return TOK_IN; } 11154 else 11155 { 11156 return TOK_INOUT; 11157 } 11158 } 11159 YY_BREAK 11160 case 96: 11161 YY_RULE_SETUP 11162 #line 231 "fortran.lex" 8675 11163 { return TOK_INTRINSIC; } 8676 11164 YY_BREAK 8677 case 9 6:8678 YY_RULE_SETUP 8679 #line 2 01"fortran.lex"11165 case 97: 11166 YY_RULE_SETUP 11167 #line 232 "fortran.lex" 8680 11168 { return TOK_THEN; } 8681 11169 YY_BREAK 8682 case 9 7:8683 YY_RULE_SETUP 8684 #line 2 02"fortran.lex"11170 case 98: 11171 YY_RULE_SETUP 11172 #line 233 "fortran.lex" 8685 11173 { return TOK_ELSEIF; } 8686 11174 YY_BREAK 8687 case 9 8:8688 YY_RULE_SETUP 8689 #line 2 03"fortran.lex"11175 case 99: 11176 YY_RULE_SETUP 11177 #line 234 "fortran.lex" 8690 11178 { return TOK_ELSE; } 8691 11179 YY_BREAK 8692 case 99:8693 YY_RULE_SETUP 8694 #line 2 04"fortran.lex"11180 case 100: 11181 YY_RULE_SETUP 11182 #line 235 "fortran.lex" 8695 11183 { return TOK_ENDIF; } 8696 11184 YY_BREAK 8697 case 100:8698 YY_RULE_SETUP8699 #line 205 "fortran.lex"8700 { return TOK_LOGICALIF; }8701 YY_BREAK8702 11185 case 101: 8703 11186 YY_RULE_SETUP 8704 #line 206 "fortran.lex" 8705 { return TOK_SUM; } 11187 #line 236 "fortran.lex" 11188 {strcpy(yylval.na,fortran_text); 11189 return TOK_LOGICALIF_PAR; 11190 } 8706 11191 YY_BREAK 8707 11192 case 102: 8708 YY_RULE_SETUP 8709 #line 207 "fortran.lex" 8710 { return TOK_MAX; } 11193 /* rule 102 can match eol */ 11194 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11195 (yy_c_buf_p) = yy_cp = yy_bp + 2; 11196 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11197 YY_RULE_SETUP 11198 #line 239 "fortran.lex" 11199 {strcpy(yylval.na,fortran_text); 11200 return TOK_NAME; 11201 } 8711 11202 YY_BREAK 8712 11203 case 103: 8713 11204 YY_RULE_SETUP 8714 #line 208 "fortran.lex" 8715 { return TOK_TANH; } 11205 #line 242 "fortran.lex" 11206 {strcpy(yylval.na,fortran_text); 11207 return TOK_LOGICALIF_PAR; 11208 } 8716 11209 YY_BREAK 8717 11210 case 104: 8718 11211 YY_RULE_SETUP 8719 #line 2 09"fortran.lex"8720 { return TOK_ MAXVAL; }11212 #line 245 "fortran.lex" 11213 { return TOK_SELECTCASE; } 8721 11214 YY_BREAK 8722 11215 case 105: 8723 11216 YY_RULE_SETUP 8724 #line 2 10"fortran.lex"8725 { return TOK_TRIM;}11217 #line 246 "fortran.lex" 11218 { if (in_select_case_stmt > 0) return TOK_CASE ; else return TOK_NAME;} 8726 11219 YY_BREAK 8727 11220 case 106: 8728 11221 YY_RULE_SETUP 8729 #line 2 11"fortran.lex"8730 { return TOK_ SQRT; }11222 #line 247 "fortran.lex" 11223 { return TOK_DEFAULT; } 8731 11224 YY_BREAK 8732 11225 case 107: 8733 11226 YY_RULE_SETUP 8734 #line 2 12"fortran.lex"8735 { return TOK_ SELECTCASE; }11227 #line 248 "fortran.lex" 11228 { return TOK_ENDSELECT; } 8736 11229 YY_BREAK 8737 11230 case 108: 8738 11231 YY_RULE_SETUP 8739 #line 2 13"fortran.lex"8740 { return TOK_ CASE; }11232 #line 249 "fortran.lex" 11233 { return TOK_FILE; } 8741 11234 YY_BREAK 8742 11235 case 109: 8743 11236 YY_RULE_SETUP 8744 #line 2 14"fortran.lex"8745 { return TOK_ DEFAULT; }11237 #line 250 "fortran.lex" 11238 { return TOK_ACCESS; } 8746 11239 YY_BREAK 8747 11240 case 110: 8748 11241 YY_RULE_SETUP 8749 #line 2 15"fortran.lex"8750 { return TOK_ ENDSELECT; }11242 #line 251 "fortran.lex" 11243 { return TOK_ACTION; } 8751 11244 YY_BREAK 8752 11245 case 111: 8753 11246 YY_RULE_SETUP 8754 #line 2 16"fortran.lex"8755 { return TOK_ FILE; }11247 #line 252 "fortran.lex" 11248 { return TOK_IOLENGTH; } 8756 11249 YY_BREAK 8757 11250 case 112: 8758 11251 YY_RULE_SETUP 8759 #line 2 17"fortran.lex"11252 #line 253 "fortran.lex" 8760 11253 { return TOK_UNIT; } 8761 11254 YY_BREAK 8762 11255 case 113: 8763 11256 YY_RULE_SETUP 8764 #line 218 "fortran.lex" 11257 #line 254 "fortran.lex" 11258 { return TOK_OPENED; } 11259 YY_BREAK 11260 case 114: 11261 YY_RULE_SETUP 11262 #line 255 "fortran.lex" 8765 11263 { return TOK_FMT; } 8766 11264 YY_BREAK 8767 case 11 4:8768 YY_RULE_SETUP 8769 #line 2 19"fortran.lex"11265 case 115: 11266 YY_RULE_SETUP 11267 #line 256 "fortran.lex" 8770 11268 { return TOK_NML; } 8771 11269 YY_BREAK 8772 case 11 5:8773 YY_RULE_SETUP 8774 #line 2 20"fortran.lex"11270 case 116: 11271 YY_RULE_SETUP 11272 #line 257 "fortran.lex" 8775 11273 { return TOK_END; } 8776 11274 YY_BREAK 8777 case 11 6:8778 YY_RULE_SETUP 8779 #line 2 21"fortran.lex"11275 case 117: 11276 YY_RULE_SETUP 11277 #line 258 "fortran.lex" 8780 11278 { return TOK_EOR; } 8781 11279 YY_BREAK 8782 case 117: 8783 YY_RULE_SETUP 8784 #line 222 "fortran.lex" 11280 case 118: 11281 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11282 (yy_c_buf_p) = yy_cp = yy_bp + 3; 11283 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11284 YY_RULE_SETUP 11285 #line 259 "fortran.lex" 11286 { 11287 if (in_char_selector ==1) 11288 return TOK_LEN; 11289 else 11290 { 11291 strcpy(yylval.na,fortran_text); return TOK_NAME; 11292 } 11293 } 11294 YY_BREAK 11295 case 119: 11296 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11297 (yy_c_buf_p) = yy_cp = yy_bp + 4; 11298 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11299 YY_RULE_SETUP 11300 #line 267 "fortran.lex" 11301 { 11302 if ((in_char_selector==1) || (in_kind_selector == 1)) 11303 return TOK_KIND; 11304 else 11305 { 11306 strcpy(yylval.na,fortran_text); return TOK_NAME; 11307 } 11308 } 11309 YY_BREAK 11310 case 120: 11311 YY_RULE_SETUP 11312 #line 275 "fortran.lex" 11313 { return TOK_ERRMSG; } 11314 YY_BREAK 11315 case 121: 11316 YY_RULE_SETUP 11317 #line 276 "fortran.lex" 11318 { return TOK_MOLD; } 11319 YY_BREAK 11320 case 122: 11321 YY_RULE_SETUP 11322 #line 277 "fortran.lex" 11323 { return TOK_SOURCE; } 11324 YY_BREAK 11325 case 123: 11326 YY_RULE_SETUP 11327 #line 278 "fortran.lex" 11328 { return TOK_POSITION; } 11329 YY_BREAK 11330 case 124: 11331 YY_RULE_SETUP 11332 #line 279 "fortran.lex" 11333 { return TOK_IOMSG; } 11334 YY_BREAK 11335 case 125: 11336 YY_RULE_SETUP 11337 #line 280 "fortran.lex" 11338 { return TOK_IOSTAT; } 11339 YY_BREAK 11340 case 126: 11341 YY_RULE_SETUP 11342 #line 281 "fortran.lex" 8785 11343 { return TOK_ERR; } 8786 11344 YY_BREAK 8787 case 118: 8788 YY_RULE_SETUP 8789 #line 223 "fortran.lex" 11345 case 127: 11346 YY_RULE_SETUP 11347 #line 282 "fortran.lex" 11348 { return TOK_FORM; } 11349 YY_BREAK 11350 case 128: 11351 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11352 (yy_c_buf_p) = yy_cp = yy_bp + 4; 11353 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11354 YY_RULE_SETUP 11355 #line 283 "fortran.lex" 11356 { 11357 if (in_inquire==1) 11358 return TOK_NAME_EQ; 11359 else 11360 { 11361 strcpy(yylval.na,fortran_text); return TOK_NAME; 11362 } 11363 } 11364 YY_BREAK 11365 case 129: 11366 YY_RULE_SETUP 11367 #line 291 "fortran.lex" 11368 { return TOK_RECL; } 11369 YY_BREAK 11370 case 130: 11371 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11372 (yy_c_buf_p) = yy_cp = yy_bp + 3; 11373 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11374 YY_RULE_SETUP 11375 #line 292 "fortran.lex" 11376 { if (in_io_control_spec == 1) 11377 return TOK_REC; 11378 else 11379 { 11380 strcpy(yylval.na,fortran_text); return TOK_NAME; 11381 } 11382 } 11383 YY_BREAK 11384 case 131: 11385 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11386 (yy_c_buf_p) = yy_cp = yy_bp + 6; 11387 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11388 YY_RULE_SETUP 11389 #line 299 "fortran.lex" 11390 { if (close_or_connect == 1) 11391 return TOK_STATUS; 11392 else 11393 { 11394 strcpy(yylval.na,fortran_text); return TOK_NAME; 11395 } 11396 } 11397 YY_BREAK 11398 case 132: 11399 YY_RULE_SETUP 11400 #line 306 "fortran.lex" 11401 { strcpy(yylval.na,fortran_text); return TOK_NAME;} 11402 YY_BREAK 11403 case 133: 11404 YY_RULE_SETUP 11405 #line 307 "fortran.lex" 8790 11406 { return TOK_EXIST; } 8791 11407 YY_BREAK 8792 case 119: 8793 YY_RULE_SETUP 8794 #line 224 "fortran.lex" 8795 { return TOK_MIN; } 8796 YY_BREAK 8797 case 120: 8798 YY_RULE_SETUP 8799 #line 225 "fortran.lex" 8800 { return TOK_NINT; } 8801 YY_BREAK 8802 case 121: 8803 YY_RULE_SETUP 8804 #line 226 "fortran.lex" 8805 { return TOK_FLOAT; } 8806 YY_BREAK 8807 case 122: 8808 YY_RULE_SETUP 8809 #line 227 "fortran.lex" 8810 { return TOK_EXP; } 8811 YY_BREAK 8812 case 123: 8813 YY_RULE_SETUP 8814 #line 228 "fortran.lex" 8815 { return TOK_COS; } 8816 YY_BREAK 8817 case 124: 8818 YY_RULE_SETUP 8819 #line 229 "fortran.lex" 8820 { return TOK_COSH; } 8821 YY_BREAK 8822 case 125: 8823 YY_RULE_SETUP 8824 #line 230 "fortran.lex" 8825 { return TOK_ACOS; } 8826 YY_BREAK 8827 case 126: 8828 YY_RULE_SETUP 8829 #line 231 "fortran.lex" 8830 { return TOK_SIN; } 8831 YY_BREAK 8832 case 127: 8833 YY_RULE_SETUP 8834 #line 232 "fortran.lex" 8835 { return TOK_SINH; } 8836 YY_BREAK 8837 case 128: 8838 YY_RULE_SETUP 8839 #line 233 "fortran.lex" 8840 { return TOK_ASIN; } 8841 YY_BREAK 8842 case 129: 8843 YY_RULE_SETUP 8844 #line 234 "fortran.lex" 8845 { return TOK_LOG; } 8846 YY_BREAK 8847 case 130: 8848 YY_RULE_SETUP 8849 #line 235 "fortran.lex" 8850 { return TOK_TAN; } 8851 YY_BREAK 8852 case 131: 8853 YY_RULE_SETUP 8854 #line 236 "fortran.lex" 8855 { return TOK_ATAN; } 8856 YY_BREAK 8857 case 132: 8858 YY_RULE_SETUP 8859 #line 237 "fortran.lex" 11408 case 134: 11409 YY_RULE_SETUP 11410 #line 308 "fortran.lex" 8860 11411 { return TOK_CYCLE; } 8861 11412 YY_BREAK 8862 case 133:8863 YY_RULE_SETUP8864 #line 238 "fortran.lex"8865 { return TOK_ABS; }8866 YY_BREAK8867 case 134:8868 YY_RULE_SETUP8869 #line 239 "fortran.lex"8870 { return TOK_MOD; }8871 YY_BREAK8872 11413 case 135: 8873 11414 YY_RULE_SETUP 8874 #line 240"fortran.lex"8875 { return TOK_ SIGN; }11415 #line 309 "fortran.lex" 11416 { return TOK_BACKSPACE; } 8876 11417 YY_BREAK 8877 11418 case 136: 8878 11419 YY_RULE_SETUP 8879 #line 241"fortran.lex"8880 { return TOK_ MINLOC;}11420 #line 310 "fortran.lex" 11421 { return TOK_FOURDOTS; } 8881 11422 YY_BREAK 8882 11423 case 137: 8883 YY_RULE_SETUP 8884 #line 242 "fortran.lex" 8885 { return TOK_MAXLOC; } 11424 /* rule 137 can match eol */ 11425 YY_RULE_SETUP 11426 #line 311 "fortran.lex" 11427 { strcpy(yylval.na,fortran_text); return TOK_DSLASH; } 8886 11428 YY_BREAK 8887 11429 case 138: 8888 11430 YY_RULE_SETUP 8889 #line 243"fortran.lex"8890 { return TOK_ MINVAL; }11431 #line 312 "fortran.lex" 11432 { return TOK_LEFTAB; } 8891 11433 YY_BREAK 8892 11434 case 139: 8893 11435 YY_RULE_SETUP 8894 #line 244"fortran.lex"8895 { return TOK_ BACKSPACE; }11436 #line 313 "fortran.lex" 11437 { return TOK_RIGHTAB; } 8896 11438 YY_BREAK 8897 11439 case 140: 8898 11440 YY_RULE_SETUP 8899 #line 245"fortran.lex"8900 { return TOK_FOURDOTS;}11441 #line 314 "fortran.lex" 11442 { strcpy(yylval.na,fortran_text); return TOK_SLASH; } 8901 11443 YY_BREAK 8902 11444 case 141: 8903 YY_RULE_SETUP 8904 #line 246 "fortran.lex" 8905 { return TOK_LEFTAB; } 11445 /* rule 141 can match eol */ 11446 YY_RULE_SETUP 11447 #line 315 "fortran.lex" 11448 { 11449 INCREMENT_LINE_NUM() ; strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } 8906 11450 YY_BREAK 8907 11451 case 142: 8908 YY_RULE_SETUP 8909 #line 247 "fortran.lex" 8910 { return TOK_RIGHTAB; } 11452 /* rule 142 can match eol */ 11453 YY_RULE_SETUP 11454 #line 317 "fortran.lex" 11455 {Add_Include_1(fortran_text);} 8911 11456 YY_BREAK 8912 11457 case 143: 8913 /* rule 143 can match eol */ 8914 YY_RULE_SETUP 8915 #line 248 "fortran.lex" 11458 YY_RULE_SETUP 11459 #line 318 "fortran.lex" 11460 {} 11461 YY_BREAK 11462 case 144: 11463 /* rule 144 can match eol */ 11464 YY_RULE_SETUP 11465 #line 319 "fortran.lex" 8916 11466 { 8917 return TOK_FORMAT; } 8918 YY_BREAK 8919 case 144: 8920 YY_RULE_SETUP 8921 #line 250 "fortran.lex" 8922 { strcpy(yylval.na,fortran_text); return TOK_SLASH; } 11467 if (inmoduledeclare == 0 ) 11468 { 11469 pos_end=setposcur(); 11470 RemoveWordSET_0(fortran_out,pos_curinclude,pos_end-pos_curinclude); 11471 } 11472 out_of_donottreat(); 11473 } 8923 11474 YY_BREAK 8924 11475 case 145: 8925 YY_RULE_SETUP 8926 #line 251 "fortran.lex" 8927 { strcpy(yylval.na,fortran_text); return TOK_DSLASH; } 11476 /* rule 145 can match eol */ 11477 YY_RULE_SETUP 11478 #line 327 "fortran.lex" 11479 { strcpy(yylval.na,fortran_text);return TOK_CHAR_CONSTANT; } 8928 11480 YY_BREAK 8929 11481 case 146: 8930 11482 /* rule 146 can match eol */ 8931 11483 YY_RULE_SETUP 8932 #line 252 "fortran.lex" 8933 { 8934 strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } 11484 #line 328 "fortran.lex" 11485 { strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; } 8935 11486 YY_BREAK 8936 11487 case 147: 8937 /* rule 147 can match eol */ 8938 YY_RULE_SETUP 8939 #line 254 "fortran.lex" 8940 { strcpy(yylval.na,fortran_text);return TOK_CHAR_CONSTANT; } 11488 YY_RULE_SETUP 11489 #line 329 "fortran.lex" 11490 { BEGIN(donottreat_interface); } 8941 11491 YY_BREAK 8942 11492 case 148: 8943 11493 /* rule 148 can match eol */ 8944 11494 YY_RULE_SETUP 8945 #line 255"fortran.lex"8946 { strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; }11495 #line 330 "fortran.lex" 11496 { out_of_donottreat(); return '\n'; } 8947 11497 YY_BREAK 8948 11498 case 149: 8949 YY_RULE_SETUP 8950 #line 256 "fortran.lex" 8951 { BEGIN(donottreat); } 11499 /* rule 149 can match eol */ 11500 YY_RULE_SETUP 11501 #line 331 "fortran.lex" 11502 {INCREMENT_LINE_NUM() ; } 8952 11503 YY_BREAK 8953 11504 case 150: 8954 11505 /* rule 150 can match eol */ 8955 11506 YY_RULE_SETUP 8956 #line 257 "fortran.lex" 8957 { out_of_donottreat(); return '\n'; } 11507 #line 332 "fortran.lex" 11508 {strcpy(yylval.na,fortran_text); removenewline(yylval.na); 11509 return TOK_NAME; } 8958 11510 YY_BREAK 8959 11511 case 151: 8960 11512 YY_RULE_SETUP 8961 #line 258"fortran.lex"11513 #line 334 "fortran.lex" 8962 11514 { strcpy(yylval.na,fortran_text); return TOK_NAME; } 8963 11515 YY_BREAK 8964 11516 case 152: 8965 /* rule 152 can match eol */ 11517 YY_RULE_SETUP 11518 #line 335 "fortran.lex" 11519 {strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 11520 YY_BREAK 11521 case 153: 11522 /* rule 153 can match eol */ 8966 11523 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 8967 11524 (yy_c_buf_p) = yy_cp -= 1; 8968 11525 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 8969 11526 YY_RULE_SETUP 8970 #line 259"fortran.lex"11527 #line 336 "fortran.lex" 8971 11528 { // REAL1 8972 11529 strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 8973 11530 YY_BREAK 8974 case 15 3:8975 YY_RULE_SETUP 8976 #line 261"fortran.lex"11531 case 154: 11532 YY_RULE_SETUP 11533 #line 338 "fortran.lex" 8977 11534 { // REAL2 8978 11535 strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 8979 11536 YY_BREAK 8980 case 154:8981 YY_RULE_SETUP8982 #line 263 "fortran.lex"8983 { strcpy(yylval.na,fortran_text); return TOK_CSTINT; }8984 YY_BREAK8985 11537 case 155: 8986 11538 YY_RULE_SETUP 8987 #line 264 "fortran.lex" 11539 #line 340 "fortran.lex" 11540 { strcpy(yylval.na,fortran_text); 11541 if (lastwasendofstmt == 0) 11542 return TOK_CSTINT; 11543 else 11544 if (testandextractfromlist(&List_Do_labels,fortran_text) == 1) 11545 { 11546 removefromlist(&List_Do_labels,yylval.na); 11547 return TOK_LABEL_DJVIEW; 11548 } 11549 else 11550 { 11551 return TOK_LABEL; 11552 } 11553 } 11554 YY_BREAK 11555 case 156: 11556 YY_RULE_SETUP 11557 #line 354 "fortran.lex" 8988 11558 {} 8989 11559 YY_BREAK 8990 case 15 6:8991 YY_RULE_SETUP 8992 #line 265 "fortran.lex"11560 case 157: 11561 YY_RULE_SETUP 11562 #line 355 "fortran.lex" 8993 11563 {} 8994 11564 YY_BREAK 8995 case 157: 8996 YY_RULE_SETUP 8997 #line 266 "fortran.lex" 11565 case 158: 11566 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 11567 (yy_c_buf_p) = yy_cp = yy_bp + 1; 11568 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 11569 YY_RULE_SETUP 11570 #line 356 "fortran.lex" 11571 { 11572 in_complex_literal = -1; 11573 return (int) *fortran_text; 11574 } 11575 YY_BREAK 11576 case 159: 11577 YY_RULE_SETUP 11578 #line 360 "fortran.lex" 8998 11579 { strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 8999 11580 YY_BREAK 9000 case 1 58:9001 YY_RULE_SETUP 9002 #line 267"fortran.lex"11581 case 160: 11582 YY_RULE_SETUP 11583 #line 361 "fortran.lex" 9003 11584 { strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 9004 11585 YY_BREAK 9005 case 159: 9006 YY_RULE_SETUP 9007 #line 268 "fortran.lex" 9008 { return TOK_SEMICOLON; } 9009 YY_BREAK 9010 case 160: 9011 YY_RULE_SETUP 9012 #line 269 "fortran.lex" 11586 case 161: 11587 YY_RULE_SETUP 11588 #line 362 "fortran.lex" 11589 { lastwasendofstmt=1; token_since_endofstmt = 0; return TOK_SEMICOLON; } 11590 YY_BREAK 11591 case 162: 11592 YY_RULE_SETUP 11593 #line 363 "fortran.lex" 11594 { if (in_complex_literal==-1) {return TOK_COMMACOMPLEX; in_complex_literal=0;} else; return (int) *fortran_text; } 11595 YY_BREAK 11596 case 163: 11597 YY_RULE_SETUP 11598 #line 364 "fortran.lex" 9013 11599 { return (int) *fortran_text; } 9014 11600 YY_BREAK 9015 case 16 1:9016 YY_RULE_SETUP 9017 #line 270"fortran.lex"11601 case 164: 11602 YY_RULE_SETUP 11603 #line 365 "fortran.lex" 9018 11604 { return (int) *fortran_text; } 9019 11605 YY_BREAK 9020 case 16 2:9021 YY_RULE_SETUP 9022 #line 271"fortran.lex"11606 case 165: 11607 YY_RULE_SETUP 11608 #line 366 "fortran.lex" 9023 11609 { return (int) *fortran_text; } 9024 11610 YY_BREAK 9025 case 163:9026 YY_RULE_SETUP9027 #line 272 "fortran.lex"9028 { return (int) *fortran_text; }9029 YY_BREAK9030 case 164:9031 /* rule 164 can match eol */9032 YY_RULE_SETUP9033 #line 273 "fortran.lex"9034 { INCREMENT_LINE_NUM() ; return '\n'; }9035 YY_BREAK9036 case 165:9037 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */9038 (yy_c_buf_p) = yy_cp -= 1;9039 YY_DO_BEFORE_ACTION; /* set up fortran_text again */9040 YY_RULE_SETUP9041 #line 274 "fortran.lex"9042 {}9043 YY_BREAK9044 11611 case 166: 9045 YY_RULE_SETUP 9046 #line 275 "fortran.lex" 9047 {} 11612 /* rule 166 can match eol */ 11613 YY_RULE_SETUP 11614 #line 367 "fortran.lex" 11615 { INCREMENT_LINE_NUM() ; lastwasendofstmt=1; token_since_endofstmt = 0; increment_nbtokens = 0; return '\n'; } 9048 11616 YY_BREAK 9049 11617 case 167: 9050 11618 YY_RULE_SETUP 9051 #line 276"fortran.lex"9052 { if (newlinef90 == 0) return TOK_LABEL; else newlinef90 = 0;}11619 #line 368 "fortran.lex" 11620 {increment_nbtokens = 0;} 9053 11621 YY_BREAK 9054 11622 case 168: 9055 11623 /* rule 168 can match eol */ 9056 11624 YY_RULE_SETUP 9057 #line 277 "fortran.lex" 9058 { INCREMENT_LINE_NUM() ; newlinef90=1; } 11625 #line 369 "fortran.lex" 11626 { 11627 return TOK_LABEL_FORMAT; } 9059 11628 YY_BREAK 9060 11629 case 169: 9061 11630 /* rule 169 can match eol */ 9062 11631 YY_RULE_SETUP 9063 #line 278"fortran.lex"9064 { INCREMENT_LINE_NUM(); }11632 #line 371 "fortran.lex" 11633 {return TOK_LABEL_FORMAT; } 9065 11634 YY_BREAK 9066 11635 case 170: 9067 11636 /* rule 170 can match eol */ 9068 11637 YY_RULE_SETUP 9069 #line 280"fortran.lex"9070 { INCREMENT_LINE_NUM() ; BEGIN(donottreat); }11638 #line 372 "fortran.lex" 11639 { INCREMENT_LINE_NUM() ; newlinef90=1; } 9071 11640 YY_BREAK 9072 11641 case 171: 9073 11642 /* rule 171 can match eol */ 9074 11643 YY_RULE_SETUP 9075 #line 281"fortran.lex"9076 { out_of_donottreat(); return '\n';}11644 #line 373 "fortran.lex" 11645 { INCREMENT_LINE_NUM() ;} 9077 11646 YY_BREAK 9078 11647 case 172: 9079 11648 /* rule 172 can match eol */ 9080 11649 YY_RULE_SETUP 9081 #line 282"fortran.lex"9082 { INCREMENT_LINE_NUM(); }11650 #line 375 "fortran.lex" 11651 {INCREMENT_LINE_NUM() ; BEGIN(donottreat); } 9083 11652 YY_BREAK 9084 11653 case 173: 9085 11654 /* rule 173 can match eol */ 9086 11655 YY_RULE_SETUP 9087 #line 283"fortran.lex"9088 { INCREMENT_LINE_NUM(); }11656 #line 376 "fortran.lex" 11657 {out_of_donottreat(); return '\n'; } 9089 11658 YY_BREAK 9090 11659 case 174: 9091 11660 /* rule 174 can match eol */ 9092 11661 YY_RULE_SETUP 9093 #line 284"fortran.lex"9094 { 11662 #line 377 "fortran.lex" 11663 {INCREMENT_LINE_NUM() ; } 9095 11664 YY_BREAK 9096 11665 case 175: 9097 YY_RULE_SETUP 9098 #line 285 "fortran.lex" 9099 {} 11666 /* rule 175 can match eol */ 11667 YY_RULE_SETUP 11668 #line 378 "fortran.lex" 11669 {INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} 9100 11670 YY_BREAK 9101 11671 case 176: 9102 YY_RULE_SETUP 9103 #line 286 "fortran.lex" 9104 ECHO; 9105 YY_BREAK 9106 #line 3014 "fortran.yy.c" 11672 /* rule 176 can match eol */ 11673 YY_RULE_SETUP 11674 #line 379 "fortran.lex" 11675 {INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} 11676 YY_BREAK 11677 case 177: 11678 YY_RULE_SETUP 11679 #line 380 "fortran.lex" 11680 {increment_nbtokens = 0;} 11681 YY_BREAK 9107 11682 case YY_STATE_EOF(INITIAL): 9108 11683 case YY_STATE_EOF(parameter): 9109 11684 case YY_STATE_EOF(character): 9110 11685 case YY_STATE_EOF(donottreat): 11686 case YY_STATE_EOF(donottreat_interface): 11687 case YY_STATE_EOF(includestate): 9111 11688 case YY_STATE_EOF(fortran77style): 9112 11689 case YY_STATE_EOF(fortran90style): 9113 yyterminate(); 11690 #line 381 "fortran.lex" 11691 {endoffile = 1; yyterminate();} 11692 YY_BREAK 11693 case 178: 11694 YY_RULE_SETUP 11695 #line 382 "fortran.lex" 11696 ECHO; 11697 YY_BREAK 11698 #line 4881 "fortran.yy.c" 9114 11699 9115 11700 case YY_END_OF_BUFFER: … … 9295 11880 else 9296 11881 { 9297 int num_to_read =11882 yy_size_t num_to_read = 9298 11883 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 9299 11884 … … 9301 11886 { /* Not enough room in the buffer - grow it. */ 9302 11887 9303 /* just a shorter name for the current buffer */ 9304 YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 9305 9306 int yy_c_buf_p_offset = 9307 (int) ((yy_c_buf_p) - b->yy_ch_buf); 9308 9309 if ( b->yy_is_our_buffer ) 9310 { 9311 int new_size = b->yy_buf_size * 2; 9312 9313 if ( new_size <= 0 ) 9314 b->yy_buf_size += b->yy_buf_size / 8; 9315 else 9316 b->yy_buf_size *= 2; 9317 9318 b->yy_ch_buf = (char *) 9319 /* Include room in for 2 EOB chars. */ 9320 fortran_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 9321 } 9322 else 9323 /* Can't grow it, we don't own it. */ 9324 b->yy_ch_buf = 0; 9325 9326 if ( ! b->yy_ch_buf ) 9327 YY_FATAL_ERROR( 9328 "fatal error - scanner input buffer overflow" ); 9329 9330 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 9331 9332 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 9333 number_to_move - 1; 11888 YY_FATAL_ERROR( 11889 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 9334 11890 9335 11891 } … … 9340 11896 /* Read in more data. */ 9341 11897 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 9342 (yy_n_chars), (size_t)num_to_read );11898 (yy_n_chars), num_to_read ); 9343 11899 9344 11900 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); … … 9391 11947 yy_current_state += YY_AT_BOL(); 9392 11948 11949 (yy_state_ptr) = (yy_state_buf); 11950 *(yy_state_ptr)++ = yy_current_state; 11951 9393 11952 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 9394 11953 { 9395 11954 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 9396 if ( yy_accept[yy_current_state] )9397 {9398 (yy_last_accepting_state) = yy_current_state;9399 (yy_last_accepting_cpos) = yy_cp;9400 }9401 11955 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 9402 11956 { 9403 11957 yy_current_state = (int) yy_def[yy_current_state]; 9404 if ( yy_current_state >= 1 132)11958 if ( yy_current_state >= 1883 ) 9405 11959 yy_c = yy_meta[(unsigned int) yy_c]; 9406 11960 } 9407 11961 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 11962 *(yy_state_ptr)++ = yy_current_state; 9408 11963 } 9409 11964 … … 9419 11974 { 9420 11975 register int yy_is_jam; 9421 register char *yy_cp = (yy_c_buf_p); 9422 11976 9423 11977 register YY_CHAR yy_c = 1; 9424 if ( yy_accept[yy_current_state] )9425 {9426 (yy_last_accepting_state) = yy_current_state;9427 (yy_last_accepting_cpos) = yy_cp;9428 }9429 11978 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 9430 11979 { 9431 11980 yy_current_state = (int) yy_def[yy_current_state]; 9432 if ( yy_current_state >= 1 132)11981 if ( yy_current_state >= 1883 ) 9433 11982 yy_c = yy_meta[(unsigned int) yy_c]; 9434 11983 } 9435 11984 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 9436 yy_is_jam = (yy_current_state == 1131); 11985 yy_is_jam = (yy_current_state == 1882); 11986 if ( ! yy_is_jam ) 11987 *(yy_state_ptr)++ = yy_current_state; 9437 11988 9438 11989 return yy_is_jam ? 0 : yy_current_state; … … 9451 12002 { /* need to shift things up to make room */ 9452 12003 /* +2 for EOB chars. */ 9453 register int number_to_move = (yy_n_chars) + 2;12004 register yy_size_t number_to_move = (yy_n_chars) + 2; 9454 12005 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 9455 12006 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; … … 9500 12051 else 9501 12052 { /* need more input */ 9502 int offset = (yy_c_buf_p) - (yytext_ptr);12053 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); 9503 12054 ++(yy_c_buf_p); 9504 12055 … … 9524 12075 { 9525 12076 if ( fortran_wrap( ) ) 9526 return EOF;12077 return 0; 9527 12078 9528 12079 if ( ! (yy_did_buffer_switch_on_eof) ) … … 9778 12329 static void fortran_ensure_buffer_stack (void) 9779 12330 { 9780 int num_to_alloc;12331 yy_size_t num_to_alloc; 9781 12332 9782 12333 if (!(yy_buffer_stack)) { … … 9875 12426 * @return the newly allocated buffer state object. 9876 12427 */ 9877 YY_BUFFER_STATE fortran__scan_bytes (yyconst char * yybytes, int _yybytes_len )12428 YY_BUFFER_STATE fortran__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) 9878 12429 { 9879 12430 YY_BUFFER_STATE b; 9880 12431 char *buf; 9881 yy_size_t n; 9882 int i; 12432 yy_size_t n, i; 9883 12433 9884 12434 /* Get memory for full buffer, including space for trailing EOB's. */ … … 9962 12512 * 9963 12513 */ 9964 int fortran_get_leng (void)12514 yy_size_t fortran_get_leng (void) 9965 12515 { 9966 12516 return fortran_leng; … … 10025 12575 (yy_start) = 0; 10026 12576 12577 (yy_state_buf) = 0; 12578 (yy_state_ptr) = 0; 12579 (yy_full_match) = 0; 12580 (yy_lp) = 0; 12581 10027 12582 /* Defined in main.c */ 10028 12583 #ifdef YY_STDINIT … … 10054 12609 fortran_free((yy_buffer_stack) ); 10055 12610 (yy_buffer_stack) = NULL; 12611 12612 fortran_free ( (yy_state_buf) ); 12613 (yy_state_buf) = NULL; 10056 12614 10057 12615 /* Reset the globals. This is important in a non-reentrant scanner so the next time … … 10110 12668 #define YYTABLES_NAME "yytables" 10111 12669 10112 #line 286"fortran.lex"12670 #line 382 "fortran.lex" 10113 12671 10114 12672
Note: See TracChangeset
for help on using the changeset viewer.