1 #ifndef EUC 2 #define EUC 3 #endif 4 #include <stdio.h> 5 #include <stdlib.h> 6 #include <inttypes.h> 7 #include <widec.h> 8 #define YYTEXT yytext 9 #define YYLENG yyleng 10 #ifndef __cplusplus 11 #define YYINPUT input 12 #define YYOUTPUT output 13 #else 14 #define YYINPUT lex_input 15 #define YYOUTPUT lex_output 16 #endif 17 #define YYUNPUT unput 18 # define U(x) x 19 # define NLSTATE yyprevious=YYNEWLINE 20 # define BEGIN yybgin = yysvec + 1 + 21 # define INITIAL 0 22 # define YYLERR yysvec 23 # define YYSTATE (yyestate-yysvec-1) 24 # define YYOPTIM 1 25 # ifndef YYLMAX 26 # define YYLMAX BUFSIZ 27 # endif 28 #ifndef __cplusplus 29 # define output(c) (void)putwc(c,yyout) 30 #else 31 # define lex_output(c) (void)putwc(c,yyout) 32 #endif 33 34 #if defined(__cplusplus) || defined(__STDC__) 35 36 #if defined(__cplusplus) && defined(__EXTERN_C__) 37 extern "C" { 38 #endif 39 int yyback(int *, int); 40 int yyinput(void); 41 int yylook(void); 42 void yyoutput(int); 43 int yyracc(int); 44 int yyreject(void); 45 void yyunput(int); 46 int yylex(void); 47 #ifdef YYLEX_E 48 void yywoutput(wchar_t); 49 wchar_t yywinput(void); 50 void yywunput(wchar_t); 51 #endif 52 #ifndef yyless 53 int yyless(int); 54 #endif 55 #ifndef yywrap 56 int yywrap(void); 57 #endif 58 #ifdef LEXDEBUG 59 void allprint(char); 60 void sprint(char *); 61 #endif 62 #if defined(__cplusplus) && defined(__EXTERN_C__) 63 } 64 #endif 65 66 #ifdef __cplusplus 67 extern "C" { 68 #endif 69 void exit(int); 70 #ifdef __cplusplus 71 } 72 #endif 73 74 #endif 75 # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;} 76 # define yymore() (yymorfg=1) 77 #ifndef __cplusplus 78 # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getwc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) 79 #else 80 # define lex_input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getwc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) 81 #endif 82 # define ECHO (void)fprintf(yyout, "%ws",yytext) 83 # define REJECT { nstr = yyreject_w(); goto yyfussy;} 84 #define yyless yyless_w 85 int yyleng; 86 #define YYISARRAY 87 wchar_t yytext[YYLMAX]; 88 int yymorfg; 89 extern wchar_t *yysptr, yysbuf[]; 90 int yytchar; 91 FILE *yyin = {stdin}, *yyout = {stdout}; 92 extern int yylineno; 93 struct yysvf { 94 struct yywork *yystoff; 95 struct yysvf *yyother; 96 int *yystops;}; 97 struct yysvf *yyestate; 98 extern struct yysvf yysvec[], *yybgin; 99 100 # line 3 "awk.lx.l" 101 /* 102 * CDDL HEADER START 103 * 104 * The contents of this file are subject to the terms of the 105 * Common Development and Distribution License, Version 1.0 only 106 * (the "License"). You may not use this file except in compliance 107 * with the License. 108 * 109 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 110 * or http://www.opensolaris.org/os/licensing. 111 * See the License for the specific language governing permissions 112 * and limitations under the License. 113 * 114 * When distributing Covered Code, include this CDDL HEADER in each 115 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 116 * If applicable, add the following below this CDDL HEADER, with the 117 * fields enclosed by brackets "[]" replaced with your own identifying 118 * information: Portions Copyright [yyyy] [name of copyright owner] 119 * 120 * CDDL HEADER END 121 */ 122 123 # line 24 "awk.lx.l" 124 /* 125 * Copyright 1996 Sun Microsystems, Inc. All rights reserved. 126 * Use is subject to license terms. 127 */ 128 129 # line 30 "awk.lx.l" 130 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 131 132 # line 33 "awk.lx.l" 133 /* All Rights Reserved */ 134 #pragma ident "%Z%%M% %I% %E% SMI" 135 # define A 2 136 # define str 4 137 # define chc 6 138 # define sc 8 139 # define reg 10 140 # define comment 12 141 #include "awk.h" 142 #include "awk.def" 143 #undef input /* defeat lex */ 144 extern int yylval; 145 extern int mustfld; 146 147 long long lineno = 1; 148 #ifdef DEBUG 149 # define RETURN(x) {if (dbg) ptoken(x); return (x); } 150 #else 151 # define RETURN(x) return (x) 152 #endif 153 #define CADD { cbuf[clen++]=yytext[0]; if (clen>=CBUFLEN-1) { yyerror(\ 154 "string too long", cbuf); BEGIN A; } } 155 #define CBUFLEN 150 156 wchar_t cbuf[CBUFLEN]; 157 int clen, cflag; 158 # define YYNEWLINE 10 159 int yylex(){ 160 int nstr; extern int yyprevious; 161 162 # line 69 "awk.lx.l" 163 switch (yybgin-yysvec-1) { /* witchcraft */ 164 case 0: 165 BEGIN A; 166 break; 167 case sc: 168 BEGIN A; 169 RETURN('}'); 170 } 171 #ifdef __cplusplus 172 /* to avoid CC and lint complaining yyfussy not being used ...*/ 173 static int __lex_hack = 0; 174 if (__lex_hack) goto yyfussy; 175 #endif 176 while((nstr = yylook()) >= 0) 177 yyfussy: switch(nstr){ 178 case 0: 179 if(yywrap()) return(0); break; 180 case 1: 181 182 # line 78 "awk.lx.l" 183 lineno++; 184 break; 185 case 2: 186 187 # line 79 "awk.lx.l" 188 lineno++; 189 break; 190 case 3: 191 192 # line 80 "awk.lx.l" 193 /* dummy for cstyle */; 194 break; 195 case 4: 196 197 # line 81 "awk.lx.l" 198 lineno++; 199 break; 200 case 5: 201 202 # line 82 "awk.lx.l" 203 lineno++; 204 break; 205 case 6: 206 207 # line 83 "awk.lx.l" 208 RETURN(BOR); 209 break; 210 case 7: 211 212 # line 84 "awk.lx.l" 213 RETURN(XBEGIN); 214 break; 215 case 8: 216 217 # line 85 "awk.lx.l" 218 RETURN(XEND); 219 break; 220 case 9: 221 222 # line 86 "awk.lx.l" 223 RETURN(EOF); 224 break; 225 case 10: 226 227 # line 87 "awk.lx.l" 228 RETURN(AND); 229 break; 230 case 11: 231 232 # line 88 "awk.lx.l" 233 RETURN(NOT); 234 break; 235 case 12: 236 237 # line 89 "awk.lx.l" 238 { yylval = NE; RETURN(RELOP); } 239 break; 240 case 13: 241 242 # line 90 "awk.lx.l" 243 { yylval = MATCH; RETURN(MATCHOP); } 244 break; 245 case 14: 246 247 # line 91 "awk.lx.l" 248 { yylval = NOTMATCH; RETURN(MATCHOP); } 249 break; 250 case 15: 251 252 # line 92 "awk.lx.l" 253 { yylval = LT; RETURN(RELOP); } 254 break; 255 case 16: 256 257 # line 93 "awk.lx.l" 258 { yylval = LE; RETURN(RELOP); } 259 break; 260 case 17: 261 262 # line 94 "awk.lx.l" 263 { yylval = EQ; RETURN(RELOP); } 264 break; 265 case 18: 266 267 # line 95 "awk.lx.l" 268 { yylval = GE; RETURN(RELOP); } 269 break; 270 case 19: 271 272 # line 96 "awk.lx.l" 273 { yylval = GT; RETURN(RELOP); } 274 break; 275 case 20: 276 277 # line 97 "awk.lx.l" 278 { yylval = APPEND; RETURN(RELOP); } 279 break; 280 case 21: 281 282 # line 98 "awk.lx.l" 283 { yylval = INCR; RETURN(INCR); } 284 break; 285 case 22: 286 287 # line 99 "awk.lx.l" 288 { yylval = DECR; RETURN(DECR); } 289 break; 290 case 23: 291 292 # line 100 "awk.lx.l" 293 { yylval = ADDEQ; RETURN(ASGNOP); } 294 break; 295 case 24: 296 297 # line 101 "awk.lx.l" 298 { yylval = SUBEQ; RETURN(ASGNOP); } 299 break; 300 case 25: 301 302 # line 102 "awk.lx.l" 303 { yylval = MULTEQ; RETURN(ASGNOP); } 304 break; 305 case 26: 306 307 # line 103 "awk.lx.l" 308 { yylval = DIVEQ; RETURN(ASGNOP); } 309 break; 310 case 27: 311 312 # line 104 "awk.lx.l" 313 { yylval = MODEQ; RETURN(ASGNOP); } 314 break; 315 case 28: 316 317 # line 105 "awk.lx.l" 318 { yylval = ASSIGN; RETURN(ASGNOP); } 319 break; 320 case 29: 321 322 # line 107 "awk.lx.l" 323 { 324 static wchar_t L_record[] = L"$record"; 325 if (watoi(yytext+1)==0) { 326 yylval = (int)lookup(L_record, symtab, 0); 327 RETURN(STRING); 328 } else { 329 yylval = fieldadr(watoi(yytext+1)); 330 RETURN(FIELD); 331 } 332 } 333 break; 334 case 30: 335 336 # line 117 "awk.lx.l" 337 { RETURN(INDIRECT); } 338 break; 339 case 31: 340 341 # line 118 "awk.lx.l" 342 { mustfld=1; 343 yylval = (int)setsymtab(yytext, NULL, 0.0, NUM, symtab); 344 RETURN(VAR); } 345 break; 346 case 32: 347 348 # line 121 "awk.lx.l" 349 { 350 yylval = (int)setsymtab(yytext, NULL, watof(yytext), 351 CON|NUM, symtab); RETURN(NUMBER); } 352 break; 353 case 33: 354 355 # line 124 "awk.lx.l" 356 { BEGIN sc; lineno++; RETURN(';'); } 357 break; 358 case 34: 359 360 # line 125 "awk.lx.l" 361 { BEGIN sc; RETURN(';'); } 362 break; 363 case 35: 364 365 # line 126 "awk.lx.l" 366 { lineno++; RETURN(';'); } 367 break; 368 case 36: 369 370 # line 127 "awk.lx.l" 371 { lineno++; RETURN(NL); } 372 break; 373 case 37: 374 375 # line 128 "awk.lx.l" 376 RETURN(WHILE); 377 break; 378 case 38: 379 380 # line 129 "awk.lx.l" 381 RETURN(FOR); 382 break; 383 case 39: 384 385 # line 130 "awk.lx.l" 386 RETURN(IF); 387 break; 388 case 40: 389 390 # line 131 "awk.lx.l" 391 RETURN(ELSE); 392 break; 393 case 41: 394 395 # line 132 "awk.lx.l" 396 RETURN(NEXT); 397 break; 398 case 42: 399 400 # line 133 "awk.lx.l" 401 RETURN(EXIT); 402 break; 403 case 43: 404 405 # line 134 "awk.lx.l" 406 RETURN(BREAK); 407 break; 408 case 44: 409 410 # line 135 "awk.lx.l" 411 RETURN(CONTINUE); 412 break; 413 case 45: 414 415 # line 136 "awk.lx.l" 416 { yylval = PRINT; RETURN(PRINT); } 417 break; 418 case 46: 419 420 # line 137 "awk.lx.l" 421 { yylval = PRINTF; RETURN(PRINTF); } 422 break; 423 case 47: 424 425 # line 138 "awk.lx.l" 426 { yylval = SPRINTF; RETURN(SPRINTF); } 427 break; 428 case 48: 429 430 # line 139 "awk.lx.l" 431 { yylval = SPLIT; RETURN(SPLIT); } 432 break; 433 case 49: 434 435 # line 140 "awk.lx.l" 436 RETURN(SUBSTR); 437 break; 438 case 50: 439 440 # line 141 "awk.lx.l" 441 RETURN(INDEX); 442 break; 443 case 51: 444 445 # line 142 "awk.lx.l" 446 RETURN(IN); 447 break; 448 case 52: 449 450 # line 143 "awk.lx.l" 451 RETURN(GETLINE); 452 break; 453 case 53: 454 455 # line 144 "awk.lx.l" 456 { yylval = FLENGTH; RETURN(FNCN); } 457 break; 458 case 54: 459 460 # line 145 "awk.lx.l" 461 { yylval = FLOG; RETURN(FNCN); } 462 break; 463 case 55: 464 465 # line 146 "awk.lx.l" 466 { yylval = FINT; RETURN(FNCN); } 467 break; 468 case 56: 469 470 # line 147 "awk.lx.l" 471 { yylval = FEXP; RETURN(FNCN); } 472 break; 473 case 57: 474 475 # line 148 "awk.lx.l" 476 { yylval = FSQRT; RETURN(FNCN); } 477 break; 478 case 58: 479 480 # line 149 "awk.lx.l" 481 { 482 static wchar_t L_0[] = { 0 }; 483 yylval = (int)setsymtab(yytext, tostring(L_0), 0.0, STR|NUM, 484 symtab); 485 RETURN(VAR); 486 } 487 break; 488 case 59: 489 490 # line 155 "awk.lx.l" 491 { BEGIN str; clen=0; } 492 break; 493 case 60: 494 495 # line 157 "awk.lx.l" 496 { BEGIN comment; } 497 break; 498 case 61: 499 500 # line 158 "awk.lx.l" 501 { BEGIN A; lineno++; RETURN(NL); } 502 break; 503 case 62: 504 505 # line 159 "awk.lx.l" 506 /* dummy */; 507 break; 508 case 63: 509 510 # line 161 "awk.lx.l" 511 { yylval = yytext[0]; RETURN(yytext[0]); } 512 break; 513 case 64: 514 515 # line 163 "awk.lx.l" 516 { BEGIN chc; clen=0; cflag=0; } 517 break; 518 case 65: 519 520 # line 164 "awk.lx.l" 521 { BEGIN chc; clen=0; cflag=1; } 522 break; 523 case 66: 524 525 # line 166 "awk.lx.l" 526 RETURN(QUEST); 527 break; 528 case 67: 529 530 # line 167 "awk.lx.l" 531 RETURN(PLUS); 532 break; 533 case 68: 534 535 # line 168 "awk.lx.l" 536 RETURN(STAR); 537 break; 538 case 69: 539 540 # line 169 "awk.lx.l" 541 RETURN(OR); 542 break; 543 case 70: 544 545 # line 170 "awk.lx.l" 546 RETURN(DOT); 547 break; 548 case 71: 549 550 # line 171 "awk.lx.l" 551 RETURN('('); 552 break; 553 case 72: 554 555 # line 172 "awk.lx.l" 556 RETURN(')'); 557 break; 558 case 73: 559 560 # line 173 "awk.lx.l" 561 RETURN('^'); 562 break; 563 case 74: 564 565 # line 174 "awk.lx.l" 566 RETURN('$'); 567 break; 568 case 75: 569 570 # line 175 "awk.lx.l" 571 { wsscanf(yytext+1, "%o", &yylval); RETURN(CHAR); } 572 break; 573 case 76: 574 575 # line 176 "awk.lx.l" 576 { if (yytext[1]=='n') yylval = '\n'; 577 else if (yytext[1] == 't') yylval = '\t'; 578 else if (yytext[1] == 'b') yylval = '\b'; 579 else if (yytext[1] == 'r') yylval = '\r'; 580 else if (yytext[1] == 'f') yylval = '\f'; 581 else yylval = yytext[1]; 582 RETURN(CHAR); 583 } 584 break; 585 case 77: 586 587 # line 184 "awk.lx.l" 588 { BEGIN A; unput('/'); } 589 break; 590 case 78: 591 592 # line 185 "awk.lx.l" 593 { yyerror("newline in regular expression"); lineno++; BEGIN A; } 594 break; 595 case 79: 596 597 # line 186 "awk.lx.l" 598 { yylval = yytext[0]; RETURN(CHAR); } 599 break; 600 case 80: 601 602 # line 188 "awk.lx.l" 603 { wchar_t *s; BEGIN A; cbuf[clen]=0; s = tostring(cbuf); 604 cbuf[clen] = ' '; cbuf[++clen] = 0; 605 yylval = (int)setsymtab(cbuf, s, 0.0, CON|STR, symtab); 606 RETURN(STRING); } 607 break; 608 case 81: 609 610 # line 192 "awk.lx.l" 611 { yyerror("newline in string"); lineno++; BEGIN A; } 612 break; 613 case 82: 614 615 # line 193 "awk.lx.l" 616 { cbuf[clen++]='"'; } 617 break; 618 case 83: 619 620 # line 194 "awk.lx.l" 621 { cbuf[clen++]='\n'; } 622 break; 623 case 84: 624 625 # line 195 "awk.lx.l" 626 { cbuf[clen++]='\n'; } 627 break; 628 case 85: 629 630 # line 196 "awk.lx.l" 631 { cbuf[clen++]='\t'; } 632 break; 633 case 86: 634 635 # line 197 "awk.lx.l" 636 { cbuf[clen++]='\t'; } 637 break; 638 case 87: 639 640 # line 198 "awk.lx.l" 641 { cbuf[clen++]='\b'; } 642 break; 643 case 88: 644 645 # line 199 "awk.lx.l" 646 { cbuf[clen++]='\b'; } 647 break; 648 case 89: 649 650 # line 200 "awk.lx.l" 651 { cbuf[clen++]='\r'; } 652 break; 653 case 90: 654 655 # line 201 "awk.lx.l" 656 { cbuf[clen++]='\r'; } 657 break; 658 case 91: 659 660 # line 202 "awk.lx.l" 661 { cbuf[clen++]='\f'; } 662 break; 663 case 92: 664 665 # line 203 "awk.lx.l" 666 { cbuf[clen++]='\f'; } 667 break; 668 case 93: 669 670 # line 204 "awk.lx.l" 671 { cbuf[clen++]='\\'; } 672 break; 673 case 94: 674 675 # line 205 "awk.lx.l" 676 { cbuf[clen++]='\\'; } 677 break; 678 case 95: 679 680 # line 206 "awk.lx.l" 681 { CADD; } 682 break; 683 case 96: 684 685 # line 208 "awk.lx.l" 686 { cbuf[clen++]=']'; } 687 break; 688 case 97: 689 690 # line 209 "awk.lx.l" 691 { BEGIN reg; cbuf[clen]=0; yylval = (int)tostring(cbuf); 692 if (cflag==0) { RETURN(CCL); } 693 else { RETURN(NCCL); } } 694 break; 695 case 98: 696 697 # line 212 "awk.lx.l" 698 { yyerror("newline in character class"); lineno++; BEGIN A; } 699 break; 700 case 99: 701 702 # line 213 "awk.lx.l" 703 { CADD; } 704 break; 705 case -1: 706 break; 707 default: 708 (void)fprintf(yyout,"bad switch yylook %d",nstr); 709 } return(0); } 710 /* end of yylex */ 711 712 # line 216 "awk.lx.l" 713 714 int 715 input() 716 { 717 int c; 718 extern wchar_t *lexprog; 719 720 if (yysptr > yysbuf) 721 c = U(*--yysptr); 722 else if (yyin == NULL) 723 c = *lexprog++; 724 else 725 c = getwc(yyin); 726 if (c == '\n') 727 yylineno++; 728 else if (c == EOF) 729 c = 0; 730 return (c); 731 } 732 733 void 734 startreg() 735 { 736 BEGIN reg; 737 } 738 int yyvstop[] = { 739 0, 740 741 63, 742 0, 743 744 3, 745 63, 746 0, 747 748 36, 749 0, 750 751 11, 752 63, 753 0, 754 755 59, 756 63, 757 0, 758 759 60, 760 63, 761 0, 762 763 30, 764 63, 765 0, 766 767 63, 768 0, 769 770 63, 771 0, 772 773 63, 774 0, 775 776 63, 777 0, 778 779 63, 780 0, 781 782 63, 783 0, 784 785 63, 786 0, 787 788 32, 789 63, 790 0, 791 792 63, 793 0, 794 795 15, 796 63, 797 0, 798 799 28, 800 63, 801 0, 802 803 19, 804 63, 805 0, 806 807 58, 808 63, 809 0, 810 811 58, 812 63, 813 0, 814 815 58, 816 63, 817 0, 818 819 58, 820 63, 821 0, 822 823 58, 824 63, 825 0, 826 827 63, 828 0, 829 830 58, 831 63, 832 0, 833 834 58, 835 63, 836 0, 837 838 58, 839 63, 840 0, 841 842 58, 843 63, 844 0, 845 846 58, 847 63, 848 0, 849 850 58, 851 63, 852 0, 853 854 58, 855 63, 856 0, 857 858 58, 859 63, 860 0, 861 862 58, 863 63, 864 0, 865 866 58, 867 63, 868 0, 869 870 58, 871 63, 872 0, 873 874 63, 875 0, 876 877 34, 878 63, 879 0, 880 881 13, 882 63, 883 0, 884 885 3, 886 63, 887 0, 888 889 1, 890 36, 891 0, 892 893 60, 894 63, 895 0, 896 897 95, 898 0, 899 900 81, 901 0, 902 903 80, 904 95, 905 0, 906 907 95, 908 0, 909 910 99, 911 0, 912 913 98, 914 0, 915 916 99, 917 0, 918 919 97, 920 99, 921 0, 922 923 79, 924 0, 925 926 78, 927 0, 928 929 74, 930 79, 931 0, 932 933 71, 934 79, 935 0, 936 937 72, 938 79, 939 0, 940 941 68, 942 79, 943 0, 944 945 67, 946 79, 947 0, 948 949 70, 950 79, 951 0, 952 953 77, 954 79, 955 0, 956 957 66, 958 79, 959 0, 960 961 64, 962 79, 963 0, 964 965 79, 966 0, 967 968 73, 969 79, 970 0, 971 972 69, 973 79, 974 0, 975 976 62, 977 0, 978 979 61, 980 0, 981 982 12, 983 0, 984 985 14, 986 0, 987 988 30, 989 0, 990 991 29, 992 0, 993 994 27, 995 0, 996 997 10, 998 0, 999 1000 25, 1001 0, 1002 1003 21, 1004 0, 1005 1006 23, 1007 0, 1008 1009 22, 1010 0, 1011 1012 24, 1013 0, 1014 1015 32, 1016 0, 1017 1018 26, 1019 0, 1020 1021 32, 1022 0, 1023 1024 32, 1025 0, 1026 1027 35, 1028 0, 1029 1030 16, 1031 0, 1032 1033 17, 1034 0, 1035 1036 18, 1037 0, 1038 1039 20, 1040 0, 1041 1042 58, 1043 0, 1044 1045 58, 1046 0, 1047 1048 58, 1049 0, 1050 1051 31, 1052 58, 1053 0, 1054 1055 58, 1056 0, 1057 1058 4, 1059 0, 1060 1061 58, 1062 0, 1063 1064 58, 1065 0, 1066 1067 58, 1068 0, 1069 1070 58, 1071 0, 1072 1073 58, 1074 0, 1075 1076 58, 1077 0, 1078 1079 39, 1080 58, 1081 0, 1082 1083 51, 1084 58, 1085 0, 1086 1087 58, 1088 0, 1089 1090 58, 1091 0, 1092 1093 58, 1094 0, 1095 1096 58, 1097 0, 1098 1099 58, 1100 0, 1101 1102 58, 1103 0, 1104 1105 58, 1106 0, 1107 1108 58, 1109 0, 1110 1111 6, 1112 0, 1113 1114 33, 1115 0, 1116 1117 2, 1118 0, 1119 1120 82, 1121 0, 1122 1123 93, 1124 0, 1125 1126 87, 1127 0, 1128 1129 91, 1130 0, 1131 1132 83, 1133 0, 1134 1135 89, 1136 0, 1137 1138 85, 1139 0, 1140 1141 94, 1142 0, 1143 1144 96, 1145 0, 1146 1147 88, 1148 0, 1149 1150 92, 1151 0, 1152 1153 84, 1154 0, 1155 1156 90, 1157 0, 1158 1159 86, 1160 0, 1161 1162 65, 1163 0, 1164 1165 76, 1166 0, 1167 1168 5, 1169 0, 1170 1171 76, 1172 0, 1173 1174 32, 1175 0, 1176 1177 58, 1178 0, 1179 1180 8, 1181 58, 1182 0, 1183 1184 58, 1185 0, 1186 1187 58, 1188 0, 1189 1190 58, 1191 0, 1192 1193 58, 1194 0, 1195 1196 58, 1197 0, 1198 1199 56, 1200 58, 1201 0, 1202 1203 38, 1204 58, 1205 0, 1206 1207 58, 1208 0, 1209 1210 58, 1211 0, 1212 1213 55, 1214 58, 1215 0, 1216 1217 58, 1218 0, 1219 1220 54, 1221 58, 1222 0, 1223 1224 58, 1225 0, 1226 1227 58, 1228 0, 1229 1230 58, 1231 0, 1232 1233 58, 1234 0, 1235 1236 58, 1237 0, 1238 1239 58, 1240 0, 1241 1242 58, 1243 0, 1244 1245 58, 1246 0, 1247 1248 58, 1249 0, 1250 1251 58, 1252 0, 1253 1254 58, 1255 0, 1256 1257 40, 1258 58, 1259 0, 1260 1261 42, 1262 58, 1263 0, 1264 1265 58, 1266 0, 1267 1268 58, 1269 0, 1270 1271 58, 1272 0, 1273 1274 41, 1275 58, 1276 0, 1277 1278 58, 1279 0, 1280 1281 58, 1282 0, 1283 1284 58, 1285 0, 1286 1287 57, 1288 58, 1289 0, 1290 1291 58, 1292 0, 1293 1294 58, 1295 0, 1296 1297 75, 1298 0, 1299 1300 7, 1301 58, 1302 0, 1303 1304 58, 1305 0, 1306 1307 43, 1308 58, 1309 0, 1310 1311 58, 1312 0, 1313 1314 58, 1315 0, 1316 1317 50, 1318 58, 1319 0, 1320 1321 58, 1322 0, 1323 1324 45, 1325 58, 1326 0, 1327 1328 48, 1329 58, 1330 0, 1331 1332 58, 1333 0, 1334 1335 58, 1336 0, 1337 1338 37, 1339 58, 1340 0, 1341 1342 58, 1343 0, 1344 1345 58, 1346 0, 1347 1348 58, 1349 0, 1350 1351 53, 1352 58, 1353 0, 1354 1355 46, 1356 58, 1357 0, 1358 1359 58, 1360 0, 1361 1362 49, 1363 58, 1364 0, 1365 1366 9, 1367 58, 1368 0, 1369 1370 58, 1371 0, 1372 1373 52, 1374 58, 1375 0, 1376 1377 47, 1378 58, 1379 0, 1380 1381 44, 1382 58, 1383 0, 1384 0}; 1385 # define YYTYPE unsigned char 1386 struct yywork { YYTYPE verify, advance; } yycrank[] = { 1387 0,0, 0,0, 3,15, 3,16, 1388 4,54, 3,17, 4,55, 30,97, 1389 39,107, 3,18, 4,18, 3,19, 1390 4,19, 3,20, 4,56, 3,21, 1391 4,21, 3,22, 4,22, 3,23, 1392 4,23, 23,86, 0,0, 0,0, 1393 0,0, 3,24, 4,24, 3,25, 1394 4,25, 3,26, 4,26, 3,27, 1395 4,27, 3,28, 4,28, 3,29, 1396 0,0, 6,59, 0,0, 3,30, 1397 4,30, 3,31, 4,31, 3,32, 1398 4,32, 3,33, 4,33, 22,85, 1399 18,81, 3,34, 21,83, 3,35, 1400 4,35, 24,87, 21,83, 3,36, 1401 4,36, 25,88, 26,90, 27,92, 1402 27,92, 27,92, 28,93, 3,37, 1403 4,37, 29,94, 31,98, 3,38, 1404 4,38, 29,95, 29,95, 29,95, 1405 26,91, 25,89, 32,99, 3,39, 1406 4,39, 8,63, 33,100, 8,64, 1407 33,101, 41,102, 21,84, 21,84, 1408 21,84, 3,40, 4,40, 3,41, 1409 4,41, 29,96, 36,102, 3,42, 1410 4,42, 3,43, 4,43, 3,44, 1411 4,44, 43,102, 36,104, 3,45, 1412 4,45, 6,60, 40,102, 3,46, 1413 4,46, 3,47, 4,47, 44,102, 1414 48,102, 3,48, 4,48, 5,57, 1415 5,57, 75,144, 5,58, 3,49, 1416 4,49, 37,102, 173,190, 37,105, 1417 5,59, 3,50, 4,50, 7,61, 1418 7,61, 29,96, 7,62, 3,51, 1419 4,51, 3,52, 4,52, 3,53, 1420 4,53, 41,109, 11,65, 11,65, 1421 18,82, 11,66, 38,102, 13,79, 1422 13,79, 51,124, 13,80, 44,113, 1423 5,57, 0,0, 42,102, 11,67, 1424 49,102, 43,112, 45,102, 60,130, 1425 38,106, 11,68, 46,102, 11,69, 1426 7,61, 11,70, 5,57, 11,71, 1427 40,108, 47,102, 104,151, 11,72, 1428 104,102, 11,73, 48,119, 11,65, 1429 50,102, 52,125, 7,61, 52,126, 1430 13,79, 52,125, 109,102, 56,128, 1431 56,128, 12,67, 56,129, 11,74, 1432 112,102, 11,65, 106,102, 12,68, 1433 5,60, 12,69, 13,79, 12,70, 1434 45,114, 12,71, 46,116, 110,102, 1435 106,152, 12,72, 42,110, 12,73, 1436 7,63, 47,118, 7,64, 83,83, 1437 45,115, 113,102, 49,120, 83,83, 1438 49,121, 11,75, 46,117, 11,76, 1439 56,128, 12,74, 50,123, 11,77, 1440 49,122, 54,127, 42,111, 60,131, 1441 63,137, 54,127, 63,138, 84,84, 1442 84,84, 84,84, 56,128, 54,128, 1443 109,154, 60,132, 63,139, 76,145, 1444 76,145, 92,96, 76,146, 108,102, 1445 103,102, 60,133, 63,140, 12,75, 1446 103,150, 12,76, 112,158, 117,102, 1447 96,148, 12,77, 96,148, 119,102, 1448 0,0, 60,134, 63,141, 122,102, 1449 96,149, 96,149, 96,149, 110,155, 1450 152,102, 60,135, 63,142, 150,102, 1451 152,173, 60,136, 63,143, 11,78, 1452 76,147, 150,172, 201,208, 113,159, 1453 201,102, 92,96, 0,0, 108,153, 1454 94,94, 94,94, 94,94, 0,0, 1455 118,102, 0,0, 76,145, 0,0, 1456 0,0, 122,169, 0,0, 117,163, 1457 147,171, 147,171, 147,171, 121,102, 1458 148,149, 148,149, 148,149, 119,165, 1459 94,96, 12,78, 34,0, 34,0, 1460 34,0, 34,0, 34,0, 34,0, 1461 34,0, 34,0, 34,0, 34,0, 1462 34,0, 34,0, 34,0, 34,0, 1463 34,0, 34,0, 34,0, 34,0, 1464 34,0, 34,0, 34,0, 34,0, 1465 34,0, 34,0, 34,0, 34,0, 1466 34,0, 34,0, 34,0, 34,0, 1467 34,0, 34,0, 34,0, 34,102, 1468 94,96, 111,102, 34,0, 34,0, 1469 34,0, 34,0, 34,0, 34,0, 1470 34,0, 34,0, 34,0, 34,0, 1471 34,0, 34,102, 115,102, 116,102, 1472 118,164, 121,168, 123,102, 120,102, 1473 154,102, 153,102, 155,102, 156,102, 1474 159,102, 160,102, 162,102, 164,102, 1475 165,102, 166,102, 167,102, 170,102, 1476 171,188, 171,188, 171,188, 174,102, 1477 34,0, 34,0, 34,0, 34,0, 1478 34,0, 34,0, 34,0, 34,0, 1479 34,0, 111,156, 34,0, 168,102, 1480 115,160, 153,174, 169,102, 172,102, 1481 180,102, 182,102, 183,102, 111,157, 1482 184,102, 0,0, 155,176, 172,189, 1483 190,102, 160,179, 123,170, 175,102, 1484 178,102, 116,162, 162,180, 120,166, 1485 190,201, 0,0, 195,102, 0,0, 1486 159,178, 166,183, 167,184, 179,102, 1487 115,161, 120,167, 165,182, 170,187, 1488 186,102, 174,191, 154,175, 198,102, 1489 202,102, 156,177, 199,102, 0,0, 1490 0,0, 164,181, 34,0, 34,0, 1491 34,0, 34,0, 34,0, 34,0, 1492 34,0, 34,0, 34,0, 34,0, 1493 34,0, 34,0, 34,0, 35,102, 1494 35,102, 35,102, 184,198, 175,192, 1495 178,193, 168,185, 169,186, 187,102, 1496 195,204, 0,0, 180,195, 182,196, 1497 183,197, 35,102, 35,102, 35,102, 1498 35,102, 35,102, 35,102, 35,103, 1499 35,102, 35,102, 35,102, 35,102, 1500 35,102, 35,102, 35,102, 35,102, 1501 35,102, 35,102, 35,102, 35,102, 1502 35,102, 35,102, 35,102, 35,102, 1503 0,0, 0,0, 186,199, 179,194, 1504 199,207, 198,206, 0,0, 187,200, 1505 202,209, 35,102, 0,0, 35,102, 1506 35,102, 35,102, 35,102, 35,102, 1507 35,102, 35,102, 35,102, 35,102, 1508 35,102, 35,102, 35,102, 35,102, 1509 35,102, 35,102, 35,102, 35,102, 1510 35,102, 35,102, 35,102, 35,102, 1511 35,102, 35,102, 35,102, 35,102, 1512 35,102, 35,102, 35,102, 35,102, 1513 35,102, 35,102, 35,102, 35,102, 1514 35,102, 35,102, 35,102, 35,102, 1515 35,102, 35,102, 35,102, 35,102, 1516 35,102, 35,102, 102,0, 102,0, 1517 102,0, 102,0, 102,0, 102,0, 1518 102,0, 102,0, 102,0, 102,0, 1519 102,0, 102,0, 102,0, 102,0, 1520 102,0, 102,0, 102,0, 102,0, 1521 102,0, 102,0, 102,0, 102,0, 1522 102,0, 102,0, 102,0, 102,0, 1523 102,0, 102,0, 102,0, 102,0, 1524 102,0, 102,0, 102,0, 192,102, 1525 193,102, 0,0, 102,0, 102,0, 1526 102,0, 102,0, 102,0, 102,0, 1527 102,0, 102,0, 102,0, 102,0, 1528 102,0, 196,102, 0,0, 206,102, 1529 203,102, 0,0, 209,102, 0,0, 1530 0,0, 0,0, 0,0, 0,0, 1531 0,0, 0,0, 0,0, 0,0, 1532 0,0, 0,0, 0,0, 0,0, 1533 0,0, 0,0, 0,0, 0,0, 1534 102,0, 102,0, 102,0, 102,0, 1535 102,0, 102,0, 102,0, 102,0, 1536 102,0, 0,0, 102,0, 0,0, 1537 0,0, 192,202, 193,203, 196,205, 1538 203,210, 206,211, 209,212, 0,0, 1539 0,0, 0,0, 0,0, 0,0, 1540 0,0, 0,0, 0,0, 0,0, 1541 0,0, 0,0, 0,0, 0,0, 1542 0,0, 0,0, 0,0, 0,0, 1543 0,0, 0,0, 0,0, 0,0, 1544 0,0, 0,0, 0,0, 0,0, 1545 0,0, 0,0, 0,0, 0,0, 1546 0,0, 0,0, 0,0, 0,0, 1547 0,0, 0,0, 102,0, 102,0, 1548 102,0, 102,0, 102,0, 102,0, 1549 102,0, 102,0, 102,0, 102,0, 1550 102,0, 102,0, 102,0, 105,0, 1551 105,0, 105,0, 105,0, 105,0, 1552 105,0, 105,0, 105,0, 105,0, 1553 105,0, 105,0, 105,0, 105,0, 1554 105,0, 105,0, 105,0, 105,0, 1555 105,0, 105,0, 105,0, 105,0, 1556 105,0, 105,0, 105,0, 105,0, 1557 105,0, 105,0, 105,0, 105,0, 1558 105,0, 105,0, 105,0, 105,0, 1559 0,0, 0,0, 0,0, 105,0, 1560 105,0, 105,0, 105,0, 105,0, 1561 105,0, 105,0, 105,0, 105,0, 1562 105,0, 105,0, 0,0, 0,0, 1563 0,0, 0,0, 0,0, 0,0, 1564 0,0, 0,0, 0,0, 0,0, 1565 0,0, 0,0, 0,0, 0,0, 1566 0,0, 0,0, 0,0, 0,0, 1567 0,0, 0,0, 0,0, 0,0, 1568 0,0, 105,0, 105,0, 105,0, 1569 105,0, 105,0, 105,0, 105,0, 1570 105,0, 105,0, 0,0, 105,0, 1571 0,0, 0,0, 0,0, 0,0, 1572 0,0, 0,0, 0,0, 0,0, 1573 0,0, 0,0, 0,0, 0,0, 1574 0,0, 0,0, 0,0, 0,0, 1575 0,0, 0,0, 0,0, 0,0, 1576 0,0, 0,0, 0,0, 0,0, 1577 0,0, 0,0, 0,0, 0,0, 1578 0,0, 0,0, 0,0, 0,0, 1579 0,0, 0,0, 0,0, 0,0, 1580 0,0, 0,0, 0,0, 0,0, 1581 0,0, 0,0, 0,0, 105,0, 1582 105,0, 105,0, 105,0, 105,0, 1583 105,0, 105,0, 105,0, 105,0, 1584 105,0, 105,0, 105,0, 105,0, 1585 114,0, 114,0, 114,0, 114,0, 1586 114,0, 114,0, 114,0, 114,0, 1587 114,0, 114,0, 114,0, 114,0, 1588 114,0, 114,0, 114,0, 114,0, 1589 114,0, 114,0, 114,0, 114,0, 1590 114,0, 114,0, 114,0, 114,0, 1591 114,0, 114,0, 114,0, 114,0, 1592 114,0, 114,0, 114,0, 114,0, 1593 114,0, 0,0, 0,0, 0,0, 1594 114,0, 114,0, 114,0, 114,0, 1595 114,0, 114,0, 114,0, 114,0, 1596 114,0, 114,0, 114,0, 0,0, 1597 0,0, 0,0, 0,0, 0,0, 1598 0,0, 0,0, 0,0, 0,0, 1599 0,0, 0,0, 0,0, 0,0, 1600 0,0, 0,0, 0,0, 0,0, 1601 0,0, 0,0, 0,0, 0,0, 1602 0,0, 0,0, 114,0, 114,0, 1603 114,0, 114,0, 114,0, 114,0, 1604 114,0, 114,0, 114,0, 0,0, 1605 114,0, 0,0, 0,0, 0,0, 1606 0,0, 0,0, 0,0, 0,0, 1607 0,0, 0,0, 0,0, 0,0, 1608 0,0, 0,0, 0,0, 0,0, 1609 0,0, 0,0, 0,0, 0,0, 1610 0,0, 0,0, 0,0, 0,0, 1611 0,0, 0,0, 0,0, 0,0, 1612 0,0, 0,0, 0,0, 0,0, 1613 0,0, 0,0, 0,0, 0,0, 1614 0,0, 0,0, 0,0, 0,0, 1615 0,0, 0,0, 0,0, 0,0, 1616 114,0, 114,0, 114,0, 114,0, 1617 114,0, 114,0, 114,0, 114,0, 1618 114,0, 114,0, 114,0, 114,0, 1619 114,0, 151,0, 151,0, 151,0, 1620 151,0, 151,0, 151,0, 151,0, 1621 151,0, 151,0, 151,0, 151,0, 1622 151,0, 151,0, 151,0, 151,0, 1623 151,0, 151,0, 151,0, 151,0, 1624 151,0, 151,0, 151,0, 151,0, 1625 151,0, 151,0, 151,0, 151,0, 1626 151,0, 151,0, 151,0, 151,0, 1627 151,0, 151,0, 0,0, 0,0, 1628 0,0, 151,0, 151,0, 151,0, 1629 151,0, 151,0, 151,0, 151,0, 1630 151,0, 151,0, 151,0, 151,0, 1631 0,0, 0,0, 0,0, 0,0, 1632 0,0, 0,0, 0,0, 0,0, 1633 0,0, 0,0, 0,0, 0,0, 1634 0,0, 0,0, 0,0, 0,0, 1635 0,0, 0,0, 0,0, 0,0, 1636 0,0, 0,0, 0,0, 151,0, 1637 151,0, 151,0, 151,0, 151,0, 1638 151,0, 151,0, 151,0, 151,0, 1639 0,0, 151,0, 0,0, 0,0, 1640 0,0, 0,0, 0,0, 0,0, 1641 0,0, 0,0, 0,0, 0,0, 1642 0,0, 0,0, 0,0, 0,0, 1643 0,0, 0,0, 0,0, 0,0, 1644 0,0, 0,0, 0,0, 0,0, 1645 0,0, 0,0, 0,0, 0,0, 1646 0,0, 0,0, 0,0, 0,0, 1647 0,0, 0,0, 0,0, 0,0, 1648 0,0, 0,0, 0,0, 0,0, 1649 0,0, 0,0, 0,0, 0,0, 1650 0,0, 151,0, 151,0, 151,0, 1651 151,0, 151,0, 151,0, 151,0, 1652 151,0, 151,0, 151,0, 151,0, 1653 151,0, 151,0, 157,0, 157,0, 1654 157,0, 157,0, 157,0, 157,0, 1655 157,0, 157,0, 157,0, 157,0, 1656 157,0, 157,0, 157,0, 157,0, 1657 157,0, 157,0, 157,0, 157,0, 1658 157,0, 157,0, 157,0, 157,0, 1659 157,0, 157,0, 157,0, 157,0, 1660 157,0, 157,0, 157,0, 157,0, 1661 157,0, 157,0, 157,0, 0,0, 1662 0,0, 0,0, 157,0, 157,0, 1663 157,0, 157,0, 157,0, 157,0, 1664 157,0, 157,0, 157,0, 157,0, 1665 157,0, 0,0, 0,0, 0,0, 1666 0,0, 0,0, 0,0, 0,0, 1667 0,0, 0,0, 0,0, 0,0, 1668 0,0, 0,0, 0,0, 0,0, 1669 0,0, 0,0, 0,0, 0,0, 1670 0,0, 0,0, 0,0, 0,0, 1671 157,0, 157,0, 157,0, 157,0, 1672 157,0, 157,0, 157,0, 157,0, 1673 157,0, 0,0, 157,0, 0,0, 1674 0,0, 0,0, 0,0, 0,0, 1675 0,0, 0,0, 0,0, 0,0, 1676 0,0, 0,0, 0,0, 0,0, 1677 0,0, 0,0, 0,0, 0,0, 1678 0,0, 0,0, 0,0, 0,0, 1679 0,0, 0,0, 0,0, 0,0, 1680 0,0, 0,0, 0,0, 0,0, 1681 0,0, 0,0, 0,0, 0,0, 1682 0,0, 0,0, 0,0, 0,0, 1683 0,0, 0,0, 0,0, 0,0, 1684 0,0, 0,0, 157,0, 157,0, 1685 157,0, 157,0, 157,0, 157,0, 1686 157,0, 157,0, 157,0, 157,0, 1687 157,0, 157,0, 157,0, 158,0, 1688 158,0, 158,0, 158,0, 158,0, 1689 158,0, 158,0, 158,0, 158,0, 1690 158,0, 158,0, 158,0, 158,0, 1691 158,0, 158,0, 158,0, 158,0, 1692 158,0, 158,0, 158,0, 158,0, 1693 158,0, 158,0, 158,0, 158,0, 1694 158,0, 158,0, 158,0, 158,0, 1695 158,0, 158,0, 158,0, 158,0, 1696 0,0, 0,0, 0,0, 158,0, 1697 158,0, 158,0, 158,0, 158,0, 1698 158,0, 158,0, 158,0, 158,0, 1699 158,0, 158,0, 0,0, 0,0, 1700 0,0, 0,0, 0,0, 0,0, 1701 0,0, 0,0, 0,0, 0,0, 1702 0,0, 0,0, 0,0, 0,0, 1703 0,0, 0,0, 0,0, 0,0, 1704 0,0, 0,0, 0,0, 0,0, 1705 0,0, 158,0, 158,0, 158,0, 1706 158,0, 158,0, 158,0, 158,0, 1707 158,0, 158,0, 0,0, 158,0, 1708 0,0, 0,0, 0,0, 0,0, 1709 0,0, 0,0, 0,0, 0,0, 1710 0,0, 0,0, 0,0, 0,0, 1711 0,0, 0,0, 0,0, 0,0, 1712 0,0, 0,0, 0,0, 0,0, 1713 0,0, 0,0, 0,0, 0,0, 1714 0,0, 0,0, 0,0, 0,0, 1715 0,0, 0,0, 0,0, 0,0, 1716 0,0, 0,0, 0,0, 0,0, 1717 0,0, 0,0, 0,0, 0,0, 1718 0,0, 0,0, 0,0, 158,0, 1719 158,0, 158,0, 158,0, 158,0, 1720 158,0, 158,0, 158,0, 158,0, 1721 158,0, 158,0, 158,0, 158,0, 1722 161,0, 161,0, 161,0, 161,0, 1723 161,0, 161,0, 161,0, 161,0, 1724 161,0, 161,0, 161,0, 161,0, 1725 161,0, 161,0, 161,0, 161,0, 1726 161,0, 161,0, 161,0, 161,0, 1727 161,0, 161,0, 161,0, 161,0, 1728 161,0, 161,0, 161,0, 161,0, 1729 161,0, 161,0, 161,0, 161,0, 1730 161,0, 0,0, 0,0, 0,0, 1731 161,0, 161,0, 161,0, 161,0, 1732 161,0, 161,0, 161,0, 161,0, 1733 161,0, 161,0, 161,0, 0,0, 1734 0,0, 0,0, 0,0, 0,0, 1735 0,0, 0,0, 0,0, 0,0, 1736 0,0, 0,0, 0,0, 0,0, 1737 0,0, 0,0, 0,0, 0,0, 1738 0,0, 0,0, 0,0, 0,0, 1739 0,0, 0,0, 161,0, 161,0, 1740 161,0, 161,0, 161,0, 161,0, 1741 161,0, 161,0, 161,0, 0,0, 1742 161,0, 0,0, 0,0, 0,0, 1743 0,0, 0,0, 0,0, 0,0, 1744 0,0, 0,0, 0,0, 0,0, 1745 0,0, 0,0, 0,0, 0,0, 1746 0,0, 0,0, 0,0, 0,0, 1747 0,0, 0,0, 0,0, 0,0, 1748 0,0, 0,0, 0,0, 0,0, 1749 0,0, 0,0, 0,0, 0,0, 1750 0,0, 0,0, 0,0, 0,0, 1751 0,0, 0,0, 0,0, 0,0, 1752 0,0, 0,0, 0,0, 0,0, 1753 161,0, 161,0, 161,0, 161,0, 1754 161,0, 161,0, 161,0, 161,0, 1755 161,0, 161,0, 161,0, 161,0, 1756 161,0, 163,0, 163,0, 163,0, 1757 163,0, 163,0, 163,0, 163,0, 1758 163,0, 163,0, 163,0, 163,0, 1759 163,0, 163,0, 163,0, 163,0, 1760 163,0, 163,0, 163,0, 163,0, 1761 163,0, 163,0, 163,0, 163,0, 1762 163,0, 163,0, 163,0, 163,0, 1763 163,0, 163,0, 163,0, 163,0, 1764 163,0, 163,0, 0,0, 0,0, 1765 0,0, 163,0, 163,0, 163,0, 1766 163,0, 163,0, 163,0, 163,0, 1767 163,0, 163,0, 163,0, 163,0, 1768 0,0, 0,0, 0,0, 0,0, 1769 0,0, 0,0, 0,0, 0,0, 1770 0,0, 0,0, 0,0, 0,0, 1771 0,0, 0,0, 0,0, 0,0, 1772 0,0, 0,0, 0,0, 0,0, 1773 0,0, 0,0, 0,0, 163,0, 1774 163,0, 163,0, 163,0, 163,0, 1775 163,0, 163,0, 163,0, 163,0, 1776 0,0, 163,0, 0,0, 0,0, 1777 0,0, 0,0, 0,0, 0,0, 1778 0,0, 0,0, 0,0, 0,0, 1779 0,0, 0,0, 0,0, 0,0, 1780 0,0, 0,0, 0,0, 0,0, 1781 0,0, 0,0, 0,0, 0,0, 1782 0,0, 0,0, 0,0, 0,0, 1783 0,0, 0,0, 0,0, 0,0, 1784 0,0, 0,0, 0,0, 0,0, 1785 0,0, 0,0, 0,0, 0,0, 1786 0,0, 0,0, 0,0, 0,0, 1787 0,0, 163,0, 163,0, 163,0, 1788 163,0, 163,0, 163,0, 163,0, 1789 163,0, 163,0, 163,0, 163,0, 1790 163,0, 163,0, 176,0, 176,0, 1791 176,0, 176,0, 176,0, 176,0, 1792 176,0, 176,0, 176,0, 176,0, 1793 176,0, 176,0, 176,0, 176,0, 1794 176,0, 176,0, 176,0, 176,0, 1795 176,0, 176,0, 176,0, 176,0, 1796 176,0, 176,0, 176,0, 176,0, 1797 176,0, 176,0, 176,0, 176,0, 1798 176,0, 176,0, 176,0, 0,0, 1799 0,0, 0,0, 176,0, 176,0, 1800 176,0, 176,0, 176,0, 176,0, 1801 176,0, 176,0, 176,0, 176,0, 1802 176,0, 0,0, 0,0, 0,0, 1803 0,0, 0,0, 0,0, 0,0, 1804 0,0, 0,0, 0,0, 0,0, 1805 0,0, 0,0, 0,0, 0,0, 1806 0,0, 0,0, 0,0, 0,0, 1807 0,0, 0,0, 0,0, 0,0, 1808 176,0, 176,0, 176,0, 176,0, 1809 176,0, 176,0, 176,0, 176,0, 1810 176,0, 0,0, 176,0, 0,0, 1811 0,0, 0,0, 0,0, 0,0, 1812 0,0, 0,0, 0,0, 0,0, 1813 0,0, 0,0, 0,0, 0,0, 1814 0,0, 0,0, 0,0, 0,0, 1815 0,0, 0,0, 0,0, 0,0, 1816 0,0, 0,0, 0,0, 0,0, 1817 0,0, 0,0, 0,0, 0,0, 1818 0,0, 0,0, 0,0, 0,0, 1819 0,0, 0,0, 0,0, 0,0, 1820 0,0, 0,0, 0,0, 0,0, 1821 0,0, 0,0, 176,0, 176,0, 1822 176,0, 176,0, 176,0, 176,0, 1823 176,0, 176,0, 176,0, 176,0, 1824 176,0, 176,0, 176,0, 177,0, 1825 177,0, 177,0, 177,0, 177,0, 1826 177,0, 177,0, 177,0, 177,0, 1827 177,0, 177,0, 177,0, 177,0, 1828 177,0, 177,0, 177,0, 177,0, 1829 177,0, 177,0, 177,0, 177,0, 1830 177,0, 177,0, 177,0, 177,0, 1831 177,0, 177,0, 177,0, 177,0, 1832 177,0, 177,0, 177,0, 177,0, 1833 0,0, 0,0, 0,0, 177,0, 1834 177,0, 177,0, 177,0, 177,0, 1835 177,0, 177,0, 177,0, 177,0, 1836 177,0, 177,0, 0,0, 0,0, 1837 0,0, 0,0, 0,0, 0,0, 1838 0,0, 0,0, 0,0, 0,0, 1839 0,0, 0,0, 0,0, 0,0, 1840 0,0, 0,0, 0,0, 0,0, 1841 0,0, 0,0, 0,0, 0,0, 1842 0,0, 177,0, 177,0, 177,0, 1843 177,0, 177,0, 177,0, 177,0, 1844 177,0, 177,0, 0,0, 177,0, 1845 0,0, 0,0, 0,0, 0,0, 1846 0,0, 0,0, 0,0, 0,0, 1847 0,0, 0,0, 0,0, 0,0, 1848 0,0, 0,0, 0,0, 0,0, 1849 0,0, 0,0, 0,0, 0,0, 1850 0,0, 0,0, 0,0, 0,0, 1851 0,0, 0,0, 0,0, 0,0, 1852 0,0, 0,0, 0,0, 0,0, 1853 0,0, 0,0, 0,0, 0,0, 1854 0,0, 0,0, 0,0, 0,0, 1855 0,0, 0,0, 0,0, 177,0, 1856 177,0, 177,0, 177,0, 177,0, 1857 177,0, 177,0, 177,0, 177,0, 1858 177,0, 177,0, 177,0, 177,0, 1859 181,0, 181,0, 181,0, 181,0, 1860 181,0, 181,0, 181,0, 181,0, 1861 181,0, 181,0, 181,0, 181,0, 1862 181,0, 181,0, 181,0, 181,0, 1863 181,0, 181,0, 181,0, 181,0, 1864 181,0, 181,0, 181,0, 181,0, 1865 181,0, 181,0, 181,0, 181,0, 1866 181,0, 181,0, 181,0, 181,0, 1867 181,0, 0,0, 0,0, 0,0, 1868 181,0, 181,0, 181,0, 181,0, 1869 181,0, 181,0, 181,0, 181,0, 1870 181,0, 181,0, 181,0, 0,0, 1871 0,0, 0,0, 0,0, 0,0, 1872 0,0, 0,0, 0,0, 0,0, 1873 0,0, 0,0, 0,0, 0,0, 1874 0,0, 0,0, 0,0, 0,0, 1875 0,0, 0,0, 0,0, 0,0, 1876 0,0, 0,0, 181,0, 181,0, 1877 181,0, 181,0, 181,0, 181,0, 1878 181,0, 181,0, 181,0, 0,0, 1879 181,0, 0,0, 0,0, 0,0, 1880 0,0, 0,0, 0,0, 0,0, 1881 0,0, 0,0, 0,0, 0,0, 1882 0,0, 0,0, 0,0, 0,0, 1883 0,0, 0,0, 0,0, 0,0, 1884 0,0, 0,0, 0,0, 0,0, 1885 0,0, 0,0, 0,0, 0,0, 1886 0,0, 0,0, 0,0, 0,0, 1887 0,0, 0,0, 0,0, 0,0, 1888 0,0, 0,0, 0,0, 0,0, 1889 0,0, 0,0, 0,0, 0,0, 1890 181,0, 181,0, 181,0, 181,0, 1891 181,0, 181,0, 181,0, 181,0, 1892 181,0, 181,0, 181,0, 181,0, 1893 181,0, 185,0, 185,0, 185,0, 1894 185,0, 185,0, 185,0, 185,0, 1895 185,0, 185,0, 185,0, 185,0, 1896 185,0, 185,0, 185,0, 185,0, 1897 185,0, 185,0, 185,0, 185,0, 1898 185,0, 185,0, 185,0, 185,0, 1899 185,0, 185,0, 185,0, 185,0, 1900 185,0, 185,0, 185,0, 185,0, 1901 185,0, 185,0, 0,0, 0,0, 1902 0,0, 185,0, 185,0, 185,0, 1903 185,0, 185,0, 185,0, 185,0, 1904 185,0, 185,0, 185,0, 185,0, 1905 0,0, 0,0, 0,0, 0,0, 1906 0,0, 0,0, 0,0, 0,0, 1907 0,0, 0,0, 0,0, 0,0, 1908 0,0, 0,0, 0,0, 0,0, 1909 0,0, 0,0, 0,0, 0,0, 1910 0,0, 0,0, 0,0, 185,0, 1911 185,0, 185,0, 185,0, 185,0, 1912 185,0, 185,0, 185,0, 185,0, 1913 0,0, 185,0, 0,0, 0,0, 1914 0,0, 0,0, 0,0, 0,0, 1915 0,0, 0,0, 0,0, 0,0, 1916 0,0, 0,0, 0,0, 0,0, 1917 0,0, 0,0, 0,0, 0,0, 1918 0,0, 0,0, 0,0, 0,0, 1919 0,0, 0,0, 0,0, 0,0, 1920 0,0, 0,0, 0,0, 0,0, 1921 0,0, 0,0, 0,0, 0,0, 1922 0,0, 0,0, 0,0, 0,0, 1923 0,0, 0,0, 0,0, 0,0, 1924 0,0, 185,0, 185,0, 185,0, 1925 185,0, 185,0, 185,0, 185,0, 1926 185,0, 185,0, 185,0, 185,0, 1927 185,0, 185,0, 189,0, 189,0, 1928 189,0, 189,0, 189,0, 189,0, 1929 189,0, 189,0, 189,0, 189,0, 1930 189,0, 189,0, 189,0, 189,0, 1931 189,0, 189,0, 189,0, 189,0, 1932 189,0, 189,0, 189,0, 189,0, 1933 189,0, 189,0, 189,0, 189,0, 1934 189,0, 189,0, 189,0, 189,0, 1935 189,0, 189,0, 189,0, 0,0, 1936 0,0, 0,0, 189,0, 189,0, 1937 189,0, 189,0, 189,0, 189,0, 1938 189,0, 189,0, 189,0, 189,0, 1939 189,0, 0,0, 0,0, 0,0, 1940 0,0, 0,0, 0,0, 0,0, 1941 0,0, 0,0, 0,0, 0,0, 1942 0,0, 0,0, 0,0, 0,0, 1943 0,0, 0,0, 0,0, 0,0, 1944 0,0, 0,0, 0,0, 0,0, 1945 189,0, 189,0, 189,0, 189,0, 1946 189,0, 189,0, 189,0, 189,0, 1947 189,0, 0,0, 189,0, 0,0, 1948 0,0, 0,0, 0,0, 0,0, 1949 0,0, 0,0, 0,0, 0,0, 1950 0,0, 0,0, 0,0, 0,0, 1951 0,0, 0,0, 0,0, 0,0, 1952 0,0, 0,0, 0,0, 0,0, 1953 0,0, 0,0, 0,0, 0,0, 1954 0,0, 0,0, 0,0, 0,0, 1955 0,0, 0,0, 0,0, 0,0, 1956 0,0, 0,0, 0,0, 0,0, 1957 0,0, 0,0, 0,0, 0,0, 1958 0,0, 0,0, 189,0, 189,0, 1959 189,0, 189,0, 189,0, 189,0, 1960 189,0, 189,0, 189,0, 189,0, 1961 189,0, 189,0, 189,0, 191,0, 1962 191,0, 191,0, 191,0, 191,0, 1963 191,0, 191,0, 191,0, 191,0, 1964 191,0, 191,0, 191,0, 191,0, 1965 191,0, 191,0, 191,0, 191,0, 1966 191,0, 191,0, 191,0, 191,0, 1967 191,0, 191,0, 191,0, 191,0, 1968 191,0, 191,0, 191,0, 191,0, 1969 191,0, 191,0, 191,0, 191,0, 1970 0,0, 0,0, 0,0, 191,0, 1971 191,0, 191,0, 191,0, 191,0, 1972 191,0, 191,0, 191,0, 191,0, 1973 191,0, 191,0, 0,0, 0,0, 1974 0,0, 0,0, 0,0, 0,0, 1975 0,0, 0,0, 0,0, 0,0, 1976 0,0, 0,0, 0,0, 0,0, 1977 0,0, 0,0, 0,0, 0,0, 1978 0,0, 0,0, 0,0, 0,0, 1979 0,0, 191,0, 191,0, 191,0, 1980 191,0, 191,0, 191,0, 191,0, 1981 191,0, 191,0, 0,0, 191,0, 1982 0,0, 0,0, 0,0, 0,0, 1983 0,0, 0,0, 0,0, 0,0, 1984 0,0, 0,0, 0,0, 0,0, 1985 0,0, 0,0, 0,0, 0,0, 1986 0,0, 0,0, 0,0, 0,0, 1987 0,0, 0,0, 0,0, 0,0, 1988 0,0, 0,0, 0,0, 0,0, 1989 0,0, 0,0, 0,0, 0,0, 1990 0,0, 0,0, 0,0, 0,0, 1991 0,0, 0,0, 0,0, 0,0, 1992 0,0, 0,0, 0,0, 191,0, 1993 191,0, 191,0, 191,0, 191,0, 1994 191,0, 191,0, 191,0, 191,0, 1995 191,0, 191,0, 191,0, 191,0, 1996 194,0, 194,0, 194,0, 194,0, 1997 194,0, 194,0, 194,0, 194,0, 1998 194,0, 194,0, 194,0, 194,0, 1999 194,0, 194,0, 194,0, 194,0, 2000 194,0, 194,0, 194,0, 194,0, 2001 194,0, 194,0, 194,0, 194,0, 2002 194,0, 194,0, 194,0, 194,0, 2003 194,0, 194,0, 194,0, 194,0, 2004 194,0, 0,0, 0,0, 0,0, 2005 194,0, 194,0, 194,0, 194,0, 2006 194,0, 194,0, 194,0, 194,0, 2007 194,0, 194,0, 194,0, 0,0, 2008 0,0, 0,0, 0,0, 0,0, 2009 0,0, 0,0, 0,0, 0,0, 2010 0,0, 0,0, 0,0, 0,0, 2011 0,0, 0,0, 0,0, 0,0, 2012 0,0, 0,0, 0,0, 0,0, 2013 0,0, 0,0, 194,0, 194,0, 2014 194,0, 194,0, 194,0, 194,0, 2015 194,0, 194,0, 194,0, 0,0, 2016 194,0, 0,0, 0,0, 0,0, 2017 0,0, 0,0, 0,0, 0,0, 2018 0,0, 0,0, 0,0, 0,0, 2019 0,0, 0,0, 0,0, 0,0, 2020 0,0, 0,0, 0,0, 0,0, 2021 0,0, 0,0, 0,0, 0,0, 2022 0,0, 0,0, 0,0, 0,0, 2023 0,0, 0,0, 0,0, 0,0, 2024 0,0, 0,0, 0,0, 0,0, 2025 0,0, 0,0, 0,0, 0,0, 2026 0,0, 0,0, 0,0, 0,0, 2027 194,0, 194,0, 194,0, 194,0, 2028 194,0, 194,0, 194,0, 194,0, 2029 194,0, 194,0, 194,0, 194,0, 2030 194,0, 197,0, 197,0, 197,0, 2031 197,0, 197,0, 197,0, 197,0, 2032 197,0, 197,0, 197,0, 197,0, 2033 197,0, 197,0, 197,0, 197,0, 2034 197,0, 197,0, 197,0, 197,0, 2035 197,0, 197,0, 197,0, 197,0, 2036 197,0, 197,0, 197,0, 197,0, 2037 197,0, 197,0, 197,0, 197,0, 2038 197,0, 197,0, 0,0, 0,0, 2039 0,0, 197,0, 197,0, 197,0, 2040 197,0, 197,0, 197,0, 197,0, 2041 197,0, 197,0, 197,0, 197,0, 2042 0,0, 0,0, 0,0, 0,0, 2043 0,0, 0,0, 0,0, 0,0, 2044 0,0, 0,0, 0,0, 0,0, 2045 0,0, 0,0, 0,0, 0,0, 2046 0,0, 0,0, 0,0, 0,0, 2047 0,0, 0,0, 0,0, 197,0, 2048 197,0, 197,0, 197,0, 197,0, 2049 197,0, 197,0, 197,0, 197,0, 2050 0,0, 197,0, 0,0, 0,0, 2051 0,0, 0,0, 0,0, 0,0, 2052 0,0, 0,0, 0,0, 0,0, 2053 0,0, 0,0, 0,0, 0,0, 2054 0,0, 0,0, 0,0, 0,0, 2055 0,0, 0,0, 0,0, 0,0, 2056 0,0, 0,0, 0,0, 0,0, 2057 0,0, 0,0, 0,0, 0,0, 2058 0,0, 0,0, 0,0, 0,0, 2059 0,0, 0,0, 0,0, 0,0, 2060 0,0, 0,0, 0,0, 0,0, 2061 0,0, 197,0, 197,0, 197,0, 2062 197,0, 197,0, 197,0, 197,0, 2063 197,0, 197,0, 197,0, 197,0, 2064 197,0, 197,0, 200,0, 200,0, 2065 200,0, 200,0, 200,0, 200,0, 2066 200,0, 200,0, 200,0, 200,0, 2067 200,0, 200,0, 200,0, 200,0, 2068 200,0, 200,0, 200,0, 200,0, 2069 200,0, 200,0, 200,0, 200,0, 2070 200,0, 200,0, 200,0, 200,0, 2071 200,0, 200,0, 200,0, 200,0, 2072 200,0, 200,0, 200,0, 0,0, 2073 0,0, 0,0, 200,0, 200,0, 2074 200,0, 200,0, 200,0, 200,0, 2075 200,0, 200,0, 200,0, 200,0, 2076 200,0, 0,0, 0,0, 0,0, 2077 0,0, 0,0, 0,0, 0,0, 2078 0,0, 0,0, 0,0, 0,0, 2079 0,0, 0,0, 0,0, 0,0, 2080 0,0, 0,0, 0,0, 0,0, 2081 0,0, 0,0, 0,0, 0,0, 2082 200,0, 200,0, 200,0, 200,0, 2083 200,0, 200,0, 200,0, 200,0, 2084 200,0, 0,0, 200,0, 0,0, 2085 0,0, 0,0, 0,0, 0,0, 2086 0,0, 0,0, 0,0, 0,0, 2087 0,0, 0,0, 0,0, 0,0, 2088 0,0, 0,0, 0,0, 0,0, 2089 0,0, 0,0, 0,0, 0,0, 2090 0,0, 0,0, 0,0, 0,0, 2091 0,0, 0,0, 0,0, 0,0, 2092 0,0, 0,0, 0,0, 0,0, 2093 0,0, 0,0, 0,0, 0,0, 2094 0,0, 0,0, 0,0, 0,0, 2095 0,0, 0,0, 200,0, 200,0, 2096 200,0, 200,0, 200,0, 200,0, 2097 200,0, 200,0, 200,0, 200,0, 2098 200,0, 200,0, 200,0, 204,0, 2099 204,0, 204,0, 204,0, 204,0, 2100 204,0, 204,0, 204,0, 204,0, 2101 204,0, 204,0, 204,0, 204,0, 2102 204,0, 204,0, 204,0, 204,0, 2103 204,0, 204,0, 204,0, 204,0, 2104 204,0, 204,0, 204,0, 204,0, 2105 204,0, 204,0, 204,0, 204,0, 2106 204,0, 204,0, 204,0, 204,0, 2107 0,0, 0,0, 0,0, 204,0, 2108 204,0, 204,0, 204,0, 204,0, 2109 204,0, 204,0, 204,0, 204,0, 2110 204,0, 204,0, 0,0, 0,0, 2111 0,0, 0,0, 0,0, 0,0, 2112 0,0, 0,0, 0,0, 0,0, 2113 0,0, 0,0, 0,0, 0,0, 2114 0,0, 0,0, 0,0, 0,0, 2115 0,0, 0,0, 0,0, 0,0, 2116 0,0, 204,0, 204,0, 204,0, 2117 204,0, 204,0, 204,0, 204,0, 2118 204,0, 204,0, 0,0, 204,0, 2119 0,0, 0,0, 0,0, 0,0, 2120 0,0, 0,0, 0,0, 0,0, 2121 0,0, 0,0, 0,0, 0,0, 2122 0,0, 0,0, 0,0, 0,0, 2123 0,0, 0,0, 0,0, 0,0, 2124 0,0, 0,0, 0,0, 0,0, 2125 0,0, 0,0, 0,0, 0,0, 2126 0,0, 0,0, 0,0, 0,0, 2127 0,0, 0,0, 0,0, 0,0, 2128 0,0, 0,0, 0,0, 0,0, 2129 0,0, 0,0, 0,0, 204,0, 2130 204,0, 204,0, 204,0, 204,0, 2131 204,0, 204,0, 204,0, 204,0, 2132 204,0, 204,0, 204,0, 204,0, 2133 205,0, 205,0, 205,0, 205,0, 2134 205,0, 205,0, 205,0, 205,0, 2135 205,0, 205,0, 205,0, 205,0, 2136 205,0, 205,0, 205,0, 205,0, 2137 205,0, 205,0, 205,0, 205,0, 2138 205,0, 205,0, 205,0, 205,0, 2139 205,0, 205,0, 205,0, 205,0, 2140 205,0, 205,0, 205,0, 205,0, 2141 205,0, 0,0, 0,0, 0,0, 2142 205,0, 205,0, 205,0, 205,0, 2143 205,0, 205,0, 205,0, 205,0, 2144 205,0, 205,0, 205,0, 0,0, 2145 0,0, 0,0, 0,0, 0,0, 2146 0,0, 0,0, 0,0, 0,0, 2147 0,0, 0,0, 0,0, 0,0, 2148 0,0, 0,0, 0,0, 0,0, 2149 0,0, 0,0, 0,0, 0,0, 2150 0,0, 0,0, 205,0, 205,0, 2151 205,0, 205,0, 205,0, 205,0, 2152 205,0, 205,0, 205,0, 0,0, 2153 205,0, 0,0, 0,0, 0,0, 2154 0,0, 0,0, 0,0, 0,0, 2155 0,0, 0,0, 0,0, 0,0, 2156 0,0, 0,0, 0,0, 0,0, 2157 0,0, 0,0, 0,0, 0,0, 2158 0,0, 0,0, 0,0, 0,0, 2159 0,0, 0,0, 0,0, 0,0, 2160 0,0, 0,0, 0,0, 0,0, 2161 0,0, 0,0, 0,0, 0,0, 2162 0,0, 0,0, 0,0, 0,0, 2163 0,0, 0,0, 0,0, 0,0, 2164 205,0, 205,0, 205,0, 205,0, 2165 205,0, 205,0, 205,0, 205,0, 2166 205,0, 205,0, 205,0, 205,0, 2167 205,0, 207,0, 207,0, 207,0, 2168 207,0, 207,0, 207,0, 207,0, 2169 207,0, 207,0, 207,0, 207,0, 2170 207,0, 207,0, 207,0, 207,0, 2171 207,0, 207,0, 207,0, 207,0, 2172 207,0, 207,0, 207,0, 207,0, 2173 207,0, 207,0, 207,0, 207,0, 2174 207,0, 207,0, 207,0, 207,0, 2175 207,0, 207,0, 0,0, 0,0, 2176 0,0, 207,0, 207,0, 207,0, 2177 207,0, 207,0, 207,0, 207,0, 2178 207,0, 207,0, 207,0, 207,0, 2179 0,0, 0,0, 0,0, 0,0, 2180 0,0, 0,0, 0,0, 0,0, 2181 0,0, 0,0, 0,0, 0,0, 2182 0,0, 0,0, 0,0, 0,0, 2183 0,0, 0,0, 0,0, 0,0, 2184 0,0, 0,0, 0,0, 207,0, 2185 207,0, 207,0, 207,0, 207,0, 2186 207,0, 207,0, 207,0, 207,0, 2187 0,0, 207,0, 0,0, 0,0, 2188 0,0, 0,0, 0,0, 0,0, 2189 0,0, 0,0, 0,0, 0,0, 2190 0,0, 0,0, 0,0, 0,0, 2191 0,0, 0,0, 0,0, 0,0, 2192 0,0, 0,0, 0,0, 0,0, 2193 0,0, 0,0, 0,0, 0,0, 2194 0,0, 0,0, 0,0, 0,0, 2195 0,0, 0,0, 0,0, 0,0, 2196 0,0, 0,0, 0,0, 0,0, 2197 0,0, 0,0, 0,0, 0,0, 2198 0,0, 207,0, 207,0, 207,0, 2199 207,0, 207,0, 207,0, 207,0, 2200 207,0, 207,0, 207,0, 207,0, 2201 207,0, 207,0, 208,0, 208,0, 2202 208,0, 208,0, 208,0, 208,0, 2203 208,0, 208,0, 208,0, 208,0, 2204 208,0, 208,0, 208,0, 208,0, 2205 208,0, 208,0, 208,0, 208,0, 2206 208,0, 208,0, 208,0, 208,0, 2207 208,0, 208,0, 208,0, 208,0, 2208 208,0, 208,0, 208,0, 208,0, 2209 208,0, 208,0, 208,0, 0,0, 2210 0,0, 0,0, 208,0, 208,0, 2211 208,0, 208,0, 208,0, 208,0, 2212 208,0, 208,0, 208,0, 208,0, 2213 208,0, 0,0, 0,0, 0,0, 2214 0,0, 0,0, 0,0, 0,0, 2215 0,0, 0,0, 0,0, 0,0, 2216 0,0, 0,0, 0,0, 0,0, 2217 0,0, 0,0, 0,0, 0,0, 2218 0,0, 0,0, 0,0, 0,0, 2219 208,0, 208,0, 208,0, 208,0, 2220 208,0, 208,0, 208,0, 208,0, 2221 208,0, 0,0, 208,0, 0,0, 2222 0,0, 0,0, 0,0, 0,0, 2223 0,0, 0,0, 0,0, 0,0, 2224 0,0, 0,0, 0,0, 0,0, 2225 0,0, 0,0, 0,0, 0,0, 2226 0,0, 0,0, 0,0, 0,0, 2227 0,0, 0,0, 0,0, 0,0, 2228 0,0, 0,0, 0,0, 0,0, 2229 0,0, 0,0, 0,0, 0,0, 2230 0,0, 0,0, 0,0, 0,0, 2231 0,0, 0,0, 0,0, 0,0, 2232 0,0, 0,0, 208,0, 208,0, 2233 208,0, 208,0, 208,0, 208,0, 2234 208,0, 208,0, 208,0, 208,0, 2235 208,0, 208,0, 208,0, 210,0, 2236 210,0, 210,0, 210,0, 210,0, 2237 210,0, 210,0, 210,0, 210,0, 2238 210,0, 210,0, 210,0, 210,0, 2239 210,0, 210,0, 210,0, 210,0, 2240 210,0, 210,0, 210,0, 210,0, 2241 210,0, 210,0, 210,0, 210,0, 2242 210,0, 210,0, 210,0, 210,0, 2243 210,0, 210,0, 210,0, 210,0, 2244 0,0, 0,0, 0,0, 210,0, 2245 210,0, 210,0, 210,0, 210,0, 2246 210,0, 210,0, 210,0, 210,0, 2247 210,0, 210,0, 0,0, 0,0, 2248 0,0, 0,0, 0,0, 0,0, 2249 0,0, 0,0, 0,0, 0,0, 2250 0,0, 0,0, 0,0, 0,0, 2251 0,0, 0,0, 0,0, 0,0, 2252 0,0, 0,0, 0,0, 0,0, 2253 0,0, 210,0, 210,0, 210,0, 2254 210,0, 210,0, 210,0, 210,0, 2255 210,0, 210,0, 0,0, 210,0, 2256 0,0, 0,0, 0,0, 0,0, 2257 0,0, 0,0, 0,0, 0,0, 2258 0,0, 0,0, 0,0, 0,0, 2259 0,0, 0,0, 0,0, 0,0, 2260 0,0, 0,0, 0,0, 0,0, 2261 0,0, 0,0, 0,0, 0,0, 2262 0,0, 0,0, 0,0, 0,0, 2263 0,0, 0,0, 0,0, 0,0, 2264 0,0, 0,0, 0,0, 0,0, 2265 0,0, 0,0, 0,0, 0,0, 2266 0,0, 0,0, 0,0, 210,0, 2267 210,0, 210,0, 210,0, 210,0, 2268 210,0, 210,0, 210,0, 210,0, 2269 210,0, 210,0, 210,0, 210,0, 2270 211,0, 211,0, 211,0, 211,0, 2271 211,0, 211,0, 211,0, 211,0, 2272 211,0, 211,0, 211,0, 211,0, 2273 211,0, 211,0, 211,0, 211,0, 2274 211,0, 211,0, 211,0, 211,0, 2275 211,0, 211,0, 211,0, 211,0, 2276 211,0, 211,0, 211,0, 211,0, 2277 211,0, 211,0, 211,0, 211,0, 2278 211,0, 0,0, 0,0, 0,0, 2279 211,0, 211,0, 211,0, 211,0, 2280 211,0, 211,0, 211,0, 211,0, 2281 211,0, 211,0, 211,0, 0,0, 2282 0,0, 0,0, 0,0, 0,0, 2283 0,0, 0,0, 0,0, 0,0, 2284 0,0, 0,0, 0,0, 0,0, 2285 0,0, 0,0, 0,0, 0,0, 2286 0,0, 0,0, 0,0, 0,0, 2287 0,0, 0,0, 211,0, 211,0, 2288 211,0, 211,0, 211,0, 211,0, 2289 211,0, 211,0, 211,0, 0,0, 2290 211,0, 0,0, 0,0, 0,0, 2291 0,0, 0,0, 0,0, 0,0, 2292 0,0, 0,0, 0,0, 0,0, 2293 0,0, 0,0, 0,0, 0,0, 2294 0,0, 0,0, 0,0, 0,0, 2295 0,0, 0,0, 0,0, 0,0, 2296 0,0, 0,0, 0,0, 0,0, 2297 0,0, 0,0, 0,0, 0,0, 2298 0,0, 0,0, 0,0, 0,0, 2299 0,0, 0,0, 0,0, 0,0, 2300 0,0, 0,0, 0,0, 0,0, 2301 211,0, 211,0, 211,0, 211,0, 2302 211,0, 211,0, 211,0, 211,0, 2303 211,0, 211,0, 211,0, 211,0, 2304 211,0, 212,0, 212,0, 212,0, 2305 212,0, 212,0, 212,0, 212,0, 2306 212,0, 212,0, 212,0, 212,0, 2307 212,0, 212,0, 212,0, 212,0, 2308 212,0, 212,0, 212,0, 212,0, 2309 212,0, 212,0, 212,0, 212,0, 2310 212,0, 212,0, 212,0, 212,0, 2311 212,0, 212,0, 212,0, 212,0, 2312 212,0, 212,0, 0,0, 0,0, 2313 0,0, 212,0, 212,0, 212,0, 2314 212,0, 212,0, 212,0, 212,0, 2315 212,0, 212,0, 212,0, 212,0, 2316 0,0, 0,0, 0,0, 0,0, 2317 0,0, 0,0, 0,0, 0,0, 2318 0,0, 0,0, 0,0, 0,0, 2319 0,0, 0,0, 0,0, 0,0, 2320 0,0, 0,0, 0,0, 0,0, 2321 0,0, 0,0, 0,0, 212,0, 2322 212,0, 212,0, 212,0, 212,0, 2323 212,0, 212,0, 212,0, 212,0, 2324 0,0, 212,0, 0,0, 0,0, 2325 0,0, 0,0, 0,0, 0,0, 2326 0,0, 0,0, 0,0, 0,0, 2327 0,0, 0,0, 0,0, 0,0, 2328 0,0, 0,0, 0,0, 0,0, 2329 0,0, 0,0, 0,0, 0,0, 2330 0,0, 0,0, 0,0, 0,0, 2331 0,0, 0,0, 0,0, 0,0, 2332 0,0, 0,0, 0,0, 0,0, 2333 0,0, 0,0, 0,0, 0,0, 2334 0,0, 0,0, 0,0, 0,0, 2335 0,0, 212,0, 212,0, 212,0, 2336 212,0, 212,0, 212,0, 212,0, 2337 212,0, 212,0, 212,0, 212,0, 2338 212,0, 212,0, 0,0, 0,0, 2339 0,0}; 2340 struct yysvf yysvec[] = { 2341 0, 0, 0, 2342 yycrank+0, 0, 0, 2343 yycrank+0, 0, 0, 2344 yycrank+-1, 0, 0, 2345 yycrank+-2, yysvec+3, 0, 2346 yycrank+-110, 0, 0, 2347 yycrank+-27, yysvec+5, 0, 2348 yycrank+-122, 0, 0, 2349 yycrank+-3, yysvec+7, 0, 2350 yycrank+0, 0, 0, 2351 yycrank+0, 0, 0, 2352 yycrank+-133, 0, 0, 2353 yycrank+-163, yysvec+11, 0, 2354 yycrank+-138, 0, 0, 2355 yycrank+0, yysvec+13, 0, 2356 yycrank+0, 0, yyvstop+1, 2357 yycrank+0, 0, yyvstop+3, 2358 yycrank+0, 0, yyvstop+6, 2359 yycrank+6, 0, yyvstop+8, 2360 yycrank+0, 0, yyvstop+11, 2361 yycrank+0, 0, yyvstop+14, 2362 yycrank+48, 0, yyvstop+17, 2363 yycrank+5, 0, yyvstop+20, 2364 yycrank+3, 0, yyvstop+22, 2365 yycrank+11, 0, yyvstop+24, 2366 yycrank+31, 0, yyvstop+26, 2367 yycrank+30, 0, yyvstop+28, 2368 yycrank+25, 0, yyvstop+30, 2369 yycrank+20, 0, yyvstop+32, 2370 yycrank+35, 0, yyvstop+34, 2371 yycrank+3, 0, yyvstop+37, 2372 yycrank+24, 0, yyvstop+39, 2373 yycrank+32, 0, yyvstop+42, 2374 yycrank+36, 0, yyvstop+45, 2375 yycrank+-289, 0, yyvstop+48, 2376 yycrank+393, 0, yyvstop+51, 2377 yycrank+36, yysvec+35, yyvstop+54, 2378 yycrank+63, yysvec+35, yyvstop+57, 2379 yycrank+84, yysvec+35, yyvstop+60, 2380 yycrank+4, 0, yyvstop+63, 2381 yycrank+48, yysvec+35, yyvstop+65, 2382 yycrank+27, yysvec+35, yyvstop+68, 2383 yycrank+92, yysvec+35, yyvstop+71, 2384 yycrank+43, yysvec+35, yyvstop+74, 2385 yycrank+53, yysvec+35, yyvstop+77, 2386 yycrank+96, yysvec+35, yyvstop+80, 2387 yycrank+100, yysvec+35, yyvstop+83, 2388 yycrank+107, yysvec+35, yyvstop+86, 2389 yycrank+54, yysvec+35, yyvstop+89, 2390 yycrank+94, yysvec+35, yyvstop+92, 2391 yycrank+114, yysvec+35, yyvstop+95, 2392 yycrank+15, 0, yyvstop+98, 2393 yycrank+167, 0, yyvstop+100, 2394 yycrank+0, 0, yyvstop+103, 2395 yycrank+211, 0, yyvstop+106, 2396 yycrank+0, 0, yyvstop+109, 2397 yycrank+-174, 0, yyvstop+112, 2398 yycrank+0, 0, yyvstop+115, 2399 yycrank+0, 0, yyvstop+117, 2400 yycrank+0, 0, yyvstop+119, 2401 yycrank+141, 0, yyvstop+122, 2402 yycrank+0, 0, yyvstop+124, 2403 yycrank+0, 0, yyvstop+126, 2404 yycrank+142, 0, yyvstop+128, 2405 yycrank+0, 0, yyvstop+130, 2406 yycrank+0, 0, yyvstop+133, 2407 yycrank+0, 0, yyvstop+135, 2408 yycrank+0, 0, yyvstop+137, 2409 yycrank+0, 0, yyvstop+140, 2410 yycrank+0, 0, yyvstop+143, 2411 yycrank+0, 0, yyvstop+146, 2412 yycrank+0, 0, yyvstop+149, 2413 yycrank+0, 0, yyvstop+152, 2414 yycrank+0, 0, yyvstop+155, 2415 yycrank+0, 0, yyvstop+158, 2416 yycrank+35, 0, yyvstop+161, 2417 yycrank+-226, 0, yyvstop+164, 2418 yycrank+0, 0, yyvstop+166, 2419 yycrank+0, 0, yyvstop+169, 2420 yycrank+0, 0, yyvstop+172, 2421 yycrank+0, 0, yyvstop+174, 2422 yycrank+0, 0, yyvstop+176, 2423 yycrank+0, 0, yyvstop+178, 2424 yycrank+197, 0, yyvstop+180, 2425 yycrank+185, 0, yyvstop+182, 2426 yycrank+0, 0, yyvstop+184, 2427 yycrank+0, 0, yyvstop+186, 2428 yycrank+0, 0, yyvstop+188, 2429 yycrank+0, 0, yyvstop+190, 2430 yycrank+0, 0, yyvstop+192, 2431 yycrank+0, 0, yyvstop+194, 2432 yycrank+0, 0, yyvstop+196, 2433 yycrank+175, yysvec+27, yyvstop+198, 2434 yycrank+0, 0, yyvstop+200, 2435 yycrank+234, 0, yyvstop+202, 2436 yycrank+0, yysvec+29, yyvstop+204, 2437 yycrank+214, 0, 0, 2438 yycrank+0, 0, yyvstop+206, 2439 yycrank+0, 0, yyvstop+208, 2440 yycrank+0, 0, yyvstop+210, 2441 yycrank+0, 0, yyvstop+212, 2442 yycrank+0, 0, yyvstop+214, 2443 yycrank+-517, yysvec+34, yyvstop+216, 2444 yycrank+178, yysvec+35, yyvstop+218, 2445 yycrank+110, yysvec+35, yyvstop+220, 2446 yycrank+-654, yysvec+34, yyvstop+222, 2447 yycrank+128, yysvec+35, yyvstop+225, 2448 yycrank+0, 0, yyvstop+227, 2449 yycrank+177, yysvec+35, yyvstop+229, 2450 yycrank+120, yysvec+35, yyvstop+231, 2451 yycrank+137, yysvec+35, yyvstop+233, 2452 yycrank+271, yysvec+35, yyvstop+235, 2453 yycrank+126, yysvec+35, yyvstop+237, 2454 yycrank+147, yysvec+35, yyvstop+239, 2455 yycrank+-791, yysvec+34, yyvstop+241, 2456 yycrank+284, yysvec+35, yyvstop+244, 2457 yycrank+285, yysvec+35, yyvstop+247, 2458 yycrank+185, yysvec+35, yyvstop+249, 2459 yycrank+218, yysvec+35, yyvstop+251, 2460 yycrank+189, yysvec+35, yyvstop+253, 2461 yycrank+289, yysvec+35, yyvstop+255, 2462 yycrank+229, yysvec+35, yyvstop+257, 2463 yycrank+193, yysvec+35, yyvstop+259, 2464 yycrank+288, yysvec+35, yyvstop+261, 2465 yycrank+0, 0, yyvstop+263, 2466 yycrank+0, yysvec+52, 0, 2467 yycrank+0, 0, yyvstop+265, 2468 yycrank+0, yysvec+54, 0, 2469 yycrank+0, yysvec+56, 0, 2470 yycrank+0, 0, yyvstop+267, 2471 yycrank+0, 0, yyvstop+269, 2472 yycrank+0, 0, yyvstop+271, 2473 yycrank+0, 0, yyvstop+273, 2474 yycrank+0, 0, yyvstop+275, 2475 yycrank+0, 0, yyvstop+277, 2476 yycrank+0, 0, yyvstop+279, 2477 yycrank+0, 0, yyvstop+281, 2478 yycrank+0, 0, yyvstop+283, 2479 yycrank+0, 0, yyvstop+285, 2480 yycrank+0, 0, yyvstop+287, 2481 yycrank+0, 0, yyvstop+289, 2482 yycrank+0, 0, yyvstop+291, 2483 yycrank+0, 0, yyvstop+293, 2484 yycrank+0, 0, yyvstop+295, 2485 yycrank+0, 0, yyvstop+297, 2486 yycrank+0, 0, yyvstop+299, 2487 yycrank+0, 0, yyvstop+301, 2488 yycrank+246, 0, yyvstop+303, 2489 yycrank+250, 0, 0, 2490 yycrank+0, yysvec+148, yyvstop+305, 2491 yycrank+201, yysvec+35, yyvstop+307, 2492 yycrank+-928, yysvec+34, yyvstop+309, 2493 yycrank+198, yysvec+35, yyvstop+312, 2494 yycrank+291, yysvec+35, yyvstop+314, 2495 yycrank+290, yysvec+35, yyvstop+316, 2496 yycrank+292, yysvec+35, yyvstop+318, 2497 yycrank+293, yysvec+35, yyvstop+320, 2498 yycrank+-1065, yysvec+34, yyvstop+322, 2499 yycrank+-1202, yysvec+34, yyvstop+325, 2500 yycrank+294, yysvec+35, yyvstop+328, 2501 yycrank+295, yysvec+35, yyvstop+330, 2502 yycrank+-1339, yysvec+34, yyvstop+332, 2503 yycrank+296, yysvec+35, yyvstop+335, 2504 yycrank+-1476, yysvec+34, yyvstop+337, 2505 yycrank+297, yysvec+35, yyvstop+340, 2506 yycrank+298, yysvec+35, yyvstop+342, 2507 yycrank+299, yysvec+35, yyvstop+344, 2508 yycrank+300, yysvec+35, yyvstop+346, 2509 yycrank+317, yysvec+35, yyvstop+348, 2510 yycrank+320, yysvec+35, yyvstop+350, 2511 yycrank+301, yysvec+35, yyvstop+352, 2512 yycrank+322, 0, 0, 2513 yycrank+321, yysvec+35, yyvstop+354, 2514 yycrank+64, yysvec+35, yyvstop+356, 2515 yycrank+305, yysvec+35, yyvstop+358, 2516 yycrank+333, yysvec+35, yyvstop+360, 2517 yycrank+-1613, yysvec+34, yyvstop+362, 2518 yycrank+-1750, yysvec+34, yyvstop+365, 2519 yycrank+334, yysvec+35, yyvstop+368, 2520 yycrank+345, yysvec+35, yyvstop+370, 2521 yycrank+322, yysvec+35, yyvstop+372, 2522 yycrank+-1887, yysvec+34, yyvstop+374, 2523 yycrank+323, yysvec+35, yyvstop+377, 2524 yycrank+324, yysvec+35, yyvstop+379, 2525 yycrank+326, yysvec+35, yyvstop+381, 2526 yycrank+-2024, yysvec+34, yyvstop+383, 2527 yycrank+350, yysvec+35, yyvstop+386, 2528 yycrank+381, yysvec+35, yyvstop+388, 2529 yycrank+0, 0, yyvstop+390, 2530 yycrank+-2161, yysvec+34, yyvstop+392, 2531 yycrank+330, yysvec+35, yyvstop+395, 2532 yycrank+-2298, yysvec+34, yyvstop+397, 2533 yycrank+497, yysvec+35, yyvstop+400, 2534 yycrank+498, yysvec+35, yyvstop+402, 2535 yycrank+-2435, yysvec+34, yyvstop+404, 2536 yycrank+340, yysvec+35, yyvstop+407, 2537 yycrank+511, yysvec+35, yyvstop+409, 2538 yycrank+-2572, yysvec+34, yyvstop+412, 2539 yycrank+353, yysvec+35, yyvstop+415, 2540 yycrank+356, yysvec+35, yyvstop+417, 2541 yycrank+-2709, yysvec+34, yyvstop+419, 2542 yycrank+210, yysvec+35, yyvstop+422, 2543 yycrank+354, yysvec+35, yyvstop+424, 2544 yycrank+514, yysvec+35, yyvstop+426, 2545 yycrank+-2846, yysvec+34, yyvstop+428, 2546 yycrank+-2983, yysvec+34, yyvstop+431, 2547 yycrank+513, yysvec+35, yyvstop+434, 2548 yycrank+-3120, yysvec+34, yyvstop+436, 2549 yycrank+-3257, yysvec+34, yyvstop+439, 2550 yycrank+516, yysvec+35, yyvstop+442, 2551 yycrank+-3394, yysvec+34, yyvstop+444, 2552 yycrank+-3531, yysvec+34, yyvstop+447, 2553 yycrank+-3668, yysvec+34, yyvstop+450, 2554 0, 0, 0}; 2555 struct yywork *yytop = yycrank+3805; 2556 struct yysvf *yybgin = yysvec+1; 2557 int yymatch[] = { 2558 0, 1, 2, 1, 4, 1, 2, 1, 2559 1, 1, 1, 1, 1, 1, 1, 1, 2560 1, 1, 1, 1, 1, 1, 1, 1, 2561 1, 1, 1, 1, 1, 1, 1, 1, 2562 1, 1, 34, 34, 34, 1, 1, 1, 2563 1, 1, 1, 1, 1, 1, 1, 1, 2564 48, 48, 48, 48, 48, 48, 48, 48, 2565 48, 48, 48, 48, 48, 48, 48, 48, 2566 48, 48, 48, 48, 48, 48, 48, 1, 2567 1, 1, 1, 1, 1, 1, 1, 1, 2568 48, 1, 48, 48, 48, 48, 48, 48, 2569 48, 48, 48, 48, 48, 48, 48, 48, 2570 48, 48, 48, 48, 48, 48, 48, 48, 2571 48, 48, 48, 48, 48, 48, 48, 48, 2572 48, 48, 48, 48, 48, 48, 48, 48, 2573 48, 48, 48, 48, 48, 1, 1, 1, 2574 1, 1, 1, 1, 1, 1, 1, 1, 2575 1, 1, 0, 0, 0, 0, 0, 0, 2576 0}; 2577 char yyextra[] = { 2578 0,0,0,0,0,0,0,0, 2579 0,0,0,0,0,0,0,0, 2580 0,0,0,0,0,0,0,0, 2581 0,0,0,0,0,0,0,0, 2582 0,0,0,0,0,0,0,0, 2583 0,0,0,0,0,0,0,0, 2584 0,0,0,0,0,0,0,0, 2585 0,0,0,0,0,0,0,0, 2586 0,0,0,0,0,0,0,0, 2587 0,0,0,0,0,0,0,0, 2588 0,0,0,0,0,0,0,0, 2589 0,0,0,0,0,0,0,0, 2590 0,0,0,0,0,0,0,0, 2591 0}; 2592 #define YYNCGIDTBL 69 2593 unsigned long yycgidtbl[]={ 2594 0x00000000, 0x00000009, 0x0000000a, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024, 2595 0x00000025, 0x00000026, 0x00000028, 0x00000029, 0x0000002a, 0x0000002b, 0x0000002d, 0x0000002e, 2596 0x0000002f, 0x00000030, 0x00000039, 0x0000003b, 0x0000003c, 0x0000003d, 0x0000003e, 0x0000003f, 2597 0x00000041, 0x00000042, 0x00000044, 0x00000045, 0x00000046, 0x00000047, 0x00000049, 0x0000004e, 2598 0x0000004f, 0x00000050, 0x00000052, 0x0000005a, 0x0000005b, 0x0000005c, 0x0000005d, 0x0000005e, 2599 0x0000005f, 0x00000061, 0x00000062, 0x00000063, 0x00000064, 0x00000065, 0x00000066, 0x00000067, 2600 0x00000068, 0x00000069, 0x0000006b, 0x0000006c, 0x0000006e, 0x0000006f, 0x00000070, 0x00000071, 2601 0x00000072, 0x00000073, 0x00000074, 0x00000075, 0x00000077, 0x00000078, 0x0000007a, 0x0000007c, 2602 0x0000007d, 0x0000007e, 0x000000ff, 0x20ffffff, 0x40ffffff, 2603 0}; 2604 /* 2605 * CDDL HEADER START 2606 * 2607 * The contents of this file are subject to the terms of the 2608 * Common Development and Distribution License, Version 1.0 only 2609 * (the "License"). You may not use this file except in compliance 2610 * with the License. 2611 * 2612 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2613 * or http://www.opensolaris.org/os/licensing. 2614 * See the License for the specific language governing permissions 2615 * and limitations under the License. 2616 * 2617 * When distributing Covered Code, include this CDDL HEADER in each 2618 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2619 * If applicable, add the following below this CDDL HEADER, with the 2620 * fields enclosed by brackets "[]" replaced with your own identifying 2621 * information: Portions Copyright [yyyy] [name of copyright owner] 2622 * 2623 * CDDL HEADER END 2624 */ 2625 /* 2626 * Copyright 2005 Sun Microsystems, Inc. 2627 * All rights reserved. 2628 * Use is subject to license terms. 2629 */ 2630 2631 /* Copyright (c) 1989 AT&T */ 2632 /* All Rights Reserved */ 2633 2634 2635 #pragma ident "%Z%%M% %I% %E% SMI" 2636 2637 int yylineno =1; 2638 int yygid; 2639 #define LONG_WCHAR_T 1 2640 # define YYU(x) x 2641 # define NLSTATE yyprevious=YYNEWLINE 2642 wchar_t yysbuf[YYLMAX]; 2643 wchar_t *yysptr = yysbuf; 2644 struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; 2645 int *yyfnd; 2646 extern struct yysvf *yyestate; 2647 int yyprevious = YYNEWLINE; 2648 #if defined(__cplusplus) || defined(__STDC__) 2649 int yylook(void) 2650 #else 2651 yylook() 2652 #endif 2653 { 2654 struct yysvf *yystate, **lsp; 2655 struct yywork *yyt; 2656 struct yysvf *yyz; 2657 int yych, yyfirst; 2658 struct yywork *yyr; 2659 # ifdef LEXDEBUG 2660 int debug; 2661 # endif 2662 wchar_t *yylastch; 2663 /* start off machines */ 2664 # ifdef LEXDEBUG 2665 debug = 0; 2666 # endif 2667 yyfirst=1; 2668 if (!yymorfg) 2669 yylastch = YYTEXT; 2670 else { 2671 yymorfg=0; 2672 yylastch = YYTEXT+YYLENG; 2673 } 2674 for(;;){ 2675 lsp = yylstate; 2676 yyestate = yystate = yybgin; 2677 if (yyprevious==YYNEWLINE) yystate++; 2678 for (;;){ 2679 # ifdef LEXDEBUG 2680 if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1); 2681 # endif 2682 yyt = yystate->yystoff; 2683 if(yyt == yycrank && !yyfirst){ /* may not be any transitions */ 2684 yyz = yystate->yyother; 2685 if(yyz == 0)break; 2686 if(yyz->yystoff == yycrank)break; 2687 } 2688 *yylastch++ = yych = YYINPUT(); 2689 #ifdef YYISARRAY 2690 if(yylastch > &YYTEXT[YYLMAX]) { 2691 fprintf(yyout,"Input string too long, limit %d\n",YYLMAX); 2692 exit(1); 2693 } 2694 #else 2695 if (yylastch >= &YYTEXT[ yytextsz ]) { 2696 int x = yylastch - YYTEXT; 2697 2698 yytextsz += YYTEXTSZINC; 2699 #ifdef YYLEX_E /* -e */ 2700 if (YYTEXT == yy_twbuf) { 2701 YYTEXT = (wchar_t *) 2702 malloc(yytextsz * 2703 sizeof (wchar_t)); 2704 memcpy(YYTEXT, yy_twbuf, 2705 sizeof (yy_twbuf)); 2706 yytext = (wchar_t *) 2707 malloc(yytextsz * 2708 sizeof (wchar_t)); 2709 memcpy(yytext, yy_tbuf, 2710 sizeof (yy_tbuf)); 2711 #else 2712 if (YYTEXT == yy_tbuf) { 2713 YYTEXT = (wchar_t *) 2714 malloc(yytextsz * 2715 sizeof (wchar_t)); 2716 memcpy(YYTEXT, yy_tbuf, 2717 sizeof (yy_tbuf)); 2718 #endif 2719 } 2720 else { 2721 YYTEXT = (wchar_t *) 2722 realloc(YYTEXT, yytextsz); 2723 #ifdef YYLEX_E /* -e */ 2724 yytext = (wchar_t *) 2725 realloc(yytext, 2726 yytextsz * sizeof (wchar_t)); 2727 #endif 2728 } 2729 if (!YYTEXT) { 2730 fprintf(yyout, 2731 "Cannot realloc YYTEXT\n"); 2732 exit(1); 2733 } 2734 yylastch = YYTEXT + x; 2735 } 2736 #endif 2737 yygid = yycgid(yych); 2738 yyfirst=0; 2739 tryagain: 2740 # ifdef LEXDEBUG 2741 if(debug){ 2742 fprintf(yyout,"wchar_t "); 2743 allprint(yych); 2744 fprintf(yyout," gid %d\n", yygid); 2745 } 2746 # endif 2747 yyr = yyt; 2748 if ( (uintptr_t)yyt > (uintptr_t)yycrank){ 2749 yyt = yyr + yygid; 2750 if (yyt <= yytop && yyt->verify+yysvec == yystate){ 2751 if(yyt->advance+yysvec == YYLERR) /* error transitions */ 2752 {YYUNPUT(*--yylastch);break;} 2753 *lsp++ = yystate = yyt->advance+yysvec; 2754 if(lsp > &yylstate[YYLMAX]) { 2755 fprintf(yyout,"Input string too long, limit %d\n",YYLMAX); 2756 exit(1); 2757 } 2758 goto contin; 2759 } 2760 } 2761 # ifdef YYOPTIM 2762 else if((uintptr_t)yyt < (uintptr_t)yycrank) { /* r < yycrank */ 2763 yyt = yyr = yycrank+(yycrank-yyt); 2764 # ifdef LEXDEBUG 2765 if(debug)fprintf(yyout,"compressed state\n"); 2766 # endif 2767 yyt = yyt + yygid; 2768 if(yyt <= yytop && yyt->verify+yysvec == yystate){ 2769 if(yyt->advance+yysvec == YYLERR) /* error transitions */ 2770 {YYUNPUT(*--yylastch);break;} 2771 *lsp++ = yystate = yyt->advance+yysvec; 2772 if(lsp > &yylstate[YYLMAX]) { 2773 fprintf(yyout,"Input string too long, limit %d\n",YYLMAX); 2774 exit(1); 2775 } 2776 goto contin; 2777 } 2778 yyt = yyr + YYU(yymatch[yygid]); 2779 # ifdef LEXDEBUG 2780 if(debug){ 2781 fprintf(yyout,"try fall back character "); 2782 allprint_w(YYU(yymatch[yygid])); 2783 fprintf(yyout," gid %d\n", yygid); 2784 } 2785 # endif 2786 if(yyt <= yytop && yyt->verify+yysvec == yystate){ 2787 if(yyt->advance+yysvec == YYLERR) /* error transition */ 2788 {YYUNPUT(*--yylastch);break;} 2789 *lsp++ = yystate = yyt->advance+yysvec; 2790 if(lsp > &yylstate[YYLMAX]) { 2791 fprintf(yyout,"Input string too long, limit %d\n",YYLMAX); 2792 exit(1); 2793 } 2794 goto contin; 2795 } 2796 } 2797 if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){ 2798 # ifdef LEXDEBUG 2799 if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1); 2800 # endif 2801 goto tryagain; 2802 } 2803 # endif 2804 else 2805 {YYUNPUT(*--yylastch);break;} 2806 contin: 2807 # ifdef LEXDEBUG 2808 if(debug){ 2809 fprintf(yyout,"state %d wchar_t ",yystate-yysvec-1); 2810 allprint_w(yych); 2811 fprintf(yyout," gid %d\n", yygid); 2812 } 2813 # endif 2814 ; 2815 } 2816 # ifdef LEXDEBUG 2817 if(debug){ 2818 fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1); 2819 allprint_w(yych); 2820 fprintf(yyout," gid %d\n", yygid); 2821 } 2822 # endif 2823 while (lsp-- > yylstate){ 2824 *yylastch-- = 0; 2825 if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){ 2826 yyolsp = lsp; 2827 if(yyextra[*yyfnd]){ /* must backup */ 2828 while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){ 2829 lsp--; 2830 YYUNPUT(*yylastch--); 2831 } 2832 } 2833 yyprevious = YYU(*yylastch); 2834 yylsp = lsp; 2835 YYLENG = yylastch-YYTEXT+1; 2836 YYTEXT[YYLENG] = 0; 2837 # ifdef LEXDEBUG 2838 if(debug){ 2839 fprintf(yyout,"\nmatch "); 2840 sprint_w(YYTEXT); 2841 fprintf(yyout," action %d\n",*yyfnd); 2842 } 2843 # endif 2844 #ifdef YYLEX_E /* -e */ 2845 yyleng=wcstombs((char *)yytext, YYTEXT, sizeof(yytext)-1); 2846 #ifdef LEXDEBUG 2847 if(yyleng>=sizeof(yytext)-1) 2848 fprintf(yyout, "yytext[] too short\n"); 2849 #endif 2850 #endif 2851 return(*yyfnd++); 2852 } 2853 YYUNPUT(*yylastch); 2854 } 2855 if (YYTEXT[0] == 0 /* && feof(yyin) */) 2856 { 2857 yysptr=yysbuf; 2858 return(0); 2859 } 2860 yyprevious = YYTEXT[0] = YYINPUT(); 2861 if (yyprevious>0) 2862 YYOUTPUT(yyprevious); 2863 yylastch=YYTEXT; 2864 # ifdef LEXDEBUG 2865 if(debug)putchar('\n'); 2866 # endif 2867 } 2868 } 2869 int 2870 #if defined(__cplusplus) || defined(__STDC__) 2871 yyback(int *p, int m) 2872 #else 2873 yyback(p, m) 2874 int *p; 2875 int m; 2876 #endif 2877 { 2878 if (p==0) return(0); 2879 while (*p) { 2880 if (*p++ == m) 2881 return(1); 2882 } 2883 return(0); 2884 } 2885 2886 #ifdef YYLEX_E /* -e */ 2887 wchar_t 2888 #if defined(__cplusplus) || defined(__STDC__) 2889 yywinput(void){ 2890 #else 2891 yywinput(){ 2892 #endif 2893 unsigned char eucbuf[MB_LEN_MAX]; 2894 wchar_t wc; 2895 unsigned char *p=eucbuf; 2896 int n; 2897 2898 #ifndef __cplusplus 2899 *p++=input(); 2900 n=euclen(eucbuf); 2901 while(--n>0) *p++=input(); 2902 #else 2903 *p++=lex_input(); 2904 n=euclen(eucbuf); 2905 while(--n>0) *p++=lex_input(); 2906 #endif 2907 *p=0; 2908 2909 mbtowc( &wc, (char *)eucbuf, MB_LEN_MAX ); 2910 return wc; 2911 } 2912 2913 #if defined(__cplusplus) || defined(__STDC__) 2914 void 2915 yywoutput(wchar_t wc) 2916 #else 2917 yywoutput(wc) 2918 wchar_t wc; 2919 #endif 2920 { 2921 unsigned char eucbuf[MB_LEN_MAX]; 2922 int n; 2923 unsigned char *p=eucbuf; 2924 2925 n=wctomb( (char *)eucbuf, wc ); 2926 #ifndef __cplusplus 2927 while(n-->0) output(*p++); 2928 #else 2929 while(n-->0) lex_output(*p++); 2930 #endif 2931 } 2932 2933 #if defined(__cplusplus) || defined(__STDC__) 2934 void 2935 yywunput(wchar_t wc) 2936 #else 2937 yywunput(wc) 2938 wchar_t wc; 2939 #endif 2940 { 2941 unsigned char eucbuf[MB_LEN_MAX]; 2942 int n; 2943 unsigned char *p; 2944 2945 n=wctomb( (char *)eucbuf, wc ); 2946 p=eucbuf+n; 2947 while(n-->0) unput(*--p); 2948 } 2949 #endif 2950 2951 #ifdef LONG_WCHAR_T 2952 #define yylinearize(lc) lc 2953 #else/*!LONG_WCHAR_T*/ 2954 unsigned long 2955 yylinearize(wc) 2956 wchar_t wc; 2957 { 2958 unsigned long prefix; 2959 switch(wc&0x8080){ 2960 case 0x0000: prefix=0x00000000; break; 2961 case 0x0080: prefix=0x20000000; break; 2962 case 0x8000: prefix=0x40000000; break; 2963 case 0x8080: prefix=0x60000000; break; 2964 } 2965 return prefix|wc; 2966 } 2967 #endif/*!LONG_WCHAR_T*/ 2968 int 2969 yycgid(c) 2970 wchar_t c; 2971 { 2972 int first = 0; 2973 int last = YYNCGIDTBL - 1; 2974 unsigned long lc=yylinearize(c); 2975 2976 if( yycgidtbl[YYNCGIDTBL-1] < lc ) return YYNCGIDTBL*2-1; 2977 2978 while (last >= 0) { 2979 int i = (first+last)/2; 2980 if (lc == yycgidtbl[i]) 2981 return (2*i); 2982 else if ( yycgidtbl[i]<lc) { 2983 if (lc<yycgidtbl[i+1]) 2984 return (2*i+1); 2985 else 2986 first = i + 1; 2987 }else 2988 last = i - 1; 2989 } 2990 return 0; /*Error*/ 2991 } 2992 2993 2994 2995 2996 2997 /* the following are only used in the lex library */ 2998 int 2999 #if defined(__cplusplus) || defined(__STDC__) 3000 yyinput(void) 3001 #else 3002 yyinput() 3003 #endif 3004 { 3005 #ifndef __cplusplus 3006 return(input()); 3007 #else 3008 return(lex_input()); 3009 #endif 3010 } 3011 #if defined(__cplusplus) || defined(__STDC__) 3012 void 3013 yyoutput(int c) 3014 #else 3015 yyoutput(c) 3016 int c; 3017 #endif 3018 { 3019 #ifndef __cplusplus 3020 output(c); 3021 #else 3022 lex_output(c); 3023 #endif 3024 } 3025 #if defined(__cplusplus) || defined(__STDC__) 3026 void 3027 yyunput(int c) 3028 #else 3029 yyunput(c) 3030 int c; 3031 #endif 3032 { 3033 unput(c); 3034 } 3035