Changeset f51aefb
- Timestamp:
- Nov 1, 2016, 3:18:59 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 84118d8
- Parents:
- 40744af8 (diff), 0afffee (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 10 added
- 41 edited
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r40744af8 rf51aefb 12 12 libcfa/Makefile 13 13 src/Makefile 14 version 14 15 15 16 # genereted by premake -
config.h.in
r40744af8 rf51aefb 18 18 /* Location of cfa install. */ 19 19 #undef CFA_PREFIX 20 21 /* Major.Minor */ 22 #undef CFA_VERSION 23 24 /* Build version number. */ 25 #undef CFA_VERSION_BUILD 26 27 /* Major.Minor.Patch.Build */ 28 #undef CFA_VERSION_FULL 29 30 /* Major.Minor.Patch */ 31 #undef CFA_VERSION_LONG 32 33 /* Major version number. */ 34 #undef CFA_VERSION_MAJOR 35 36 /* Minor version number. */ 37 #undef CFA_VERSION_MINOR 38 39 /* Patch version number. */ 40 #undef CFA_VERSION_PATCH 41 42 /* Major */ 43 #undef CFA_VERSION_SHORT 20 44 21 45 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP -
configure
r40744af8 rf51aefb 1 1 #! /bin/sh 2 2 # Guess values for system-dependent variables and create Makefiles. 3 # Generated by GNU Autoconf 2.68 for cfa-cc 1.0.0. 3 # Generated by GNU Autoconf 2.68 for cfa-cc 1.0.0.0. 4 4 # 5 5 # Report bugs to <cforall@plg.uwaterloo.ca>. … … 561 561 PACKAGE_NAME='cfa-cc' 562 562 PACKAGE_TARNAME='cfa-cc' 563 PACKAGE_VERSION='1.0.0 '564 PACKAGE_STRING='cfa-cc 1.0.0 '563 PACKAGE_VERSION='1.0.0.0' 564 PACKAGE_STRING='cfa-cc 1.0.0.0' 565 565 PACKAGE_BUGREPORT='cforall@plg.uwaterloo.ca' 566 566 PACKAGE_URL='' … … 1278 1278 # This message is too long to be a string in the A/UX 3.1 sh. 1279 1279 cat <<_ACEOF 1280 \`configure' configures cfa-cc 1.0.0 to adapt to many kinds of systems.1280 \`configure' configures cfa-cc 1.0.0.0 to adapt to many kinds of systems. 1281 1281 1282 1282 Usage: $0 [OPTION]... [VAR=VALUE]... … … 1344 1344 if test -n "$ac_init_help"; then 1345 1345 case $ac_init_help in 1346 short | recursive ) echo "Configuration of cfa-cc 1.0.0 :";;1346 short | recursive ) echo "Configuration of cfa-cc 1.0.0.0:";; 1347 1347 esac 1348 1348 cat <<\_ACEOF … … 1448 1448 if $ac_init_version; then 1449 1449 cat <<\_ACEOF 1450 cfa-cc configure 1.0.0 1450 cfa-cc configure 1.0.0.0 1451 1451 generated by GNU Autoconf 2.68 1452 1452 … … 2036 2036 running configure, to aid debugging if configure makes a mistake. 2037 2037 2038 It was created by cfa-cc $as_me 1.0.0 , which was2038 It was created by cfa-cc $as_me 1.0.0.0, which was 2039 2039 generated by GNU Autoconf 2.68. Invocation command line was 2040 2040 … … 2900 2900 # Define the identity of the package. 2901 2901 PACKAGE='cfa-cc' 2902 VERSION='1.0.0 '2902 VERSION='1.0.0.0' 2903 2903 2904 2904 … … 2963 2963 2964 2964 # may require auto* software to be installed 2965 2966 rm -f version 2967 echo ${PACKAGE_VERSION} > version # file containing version number for other tools 2968 chmod ugo-w version 2969 ver_major=`cut -d '.' -f1 version` # subdivide version number into components at periods 2970 ver_minor=`cut -d '.' -f2 version` 2971 ver_patch=`cut -d '.' -f3 version` 2972 ver_build=`cut -d '.' -f4 version` 2973 2974 # AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/version']) 2975 2976 cat >>confdefs.h <<_ACEOF 2977 #define CFA_VERSION_MAJOR ${ver_major} 2978 _ACEOF 2979 2980 2981 cat >>confdefs.h <<_ACEOF 2982 #define CFA_VERSION_MINOR ${ver_minor} 2983 _ACEOF 2984 2985 2986 cat >>confdefs.h <<_ACEOF 2987 #define CFA_VERSION_PATCH ${ver_patch} 2988 _ACEOF 2989 2990 2991 cat >>confdefs.h <<_ACEOF 2992 #define CFA_VERSION_BUILD ${ver_build} 2993 _ACEOF 2994 2995 2996 cat >>confdefs.h <<_ACEOF 2997 #define CFA_VERSION_SHORT "${ver_major}" 2998 _ACEOF 2999 3000 3001 cat >>confdefs.h <<_ACEOF 3002 #define CFA_VERSION "${ver_major}.${ver_minor}" 3003 _ACEOF 3004 3005 3006 cat >>confdefs.h <<_ACEOF 3007 #define CFA_VERSION_LONG "${ver_major}.${ver_minor}.${ver_patch}" 3008 _ACEOF 3009 3010 3011 cat >>confdefs.h <<_ACEOF 3012 #define CFA_VERSION_FULL "${ver_major}.${ver_minor}.${ver_patch}.${ver_build}" 3013 _ACEOF 3014 2965 3015 2966 3016 # Installation paths … … 6351 6401 # values after options handling. 6352 6402 ac_log=" 6353 This file was extended by cfa-cc $as_me 1.0.0 , which was6403 This file was extended by cfa-cc $as_me 1.0.0.0, which was 6354 6404 generated by GNU Autoconf 2.68. Invocation command line was 6355 6405 … … 6417 6467 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 6418 6468 ac_cs_version="\\ 6419 cfa-cc config.status 1.0.0 6469 cfa-cc config.status 1.0.0.0 6420 6470 configured by $0, generated by GNU Autoconf 2.68, 6421 6471 with options \\"\$ac_cs_config\\" -
configure.ac
r40744af8 rf51aefb 3 3 4 4 AC_PREREQ([2.68]) 5 AC_INIT([cfa-cc],[1.0.0 ],[cforall@plg.uwaterloo.ca])5 AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca]) 6 6 AC_CONFIG_AUX_DIR([automake]) 7 7 #AC_CONFIG_SRCDIR([src/main.cc]) … … 17 17 AM_INIT_AUTOMAKE 18 18 AM_MAINTAINER_MODE(enable) # may require auto* software to be installed 19 20 rm -f version 21 echo ${PACKAGE_VERSION} > version # file containing version number for other tools 22 chmod ugo-w version 23 ver_major=`cut -d '.' -f1 version` # subdivide version number into components at periods 24 ver_minor=`cut -d '.' -f2 version` 25 ver_patch=`cut -d '.' -f3 version` 26 ver_build=`cut -d '.' -f4 version` 27 28 # AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/version']) 29 AC_DEFINE_UNQUOTED(CFA_VERSION_MAJOR, ${ver_major}, [Major version number.]) 30 AC_DEFINE_UNQUOTED(CFA_VERSION_MINOR, ${ver_minor}, [Minor version number.]) 31 AC_DEFINE_UNQUOTED(CFA_VERSION_PATCH, ${ver_patch}, [Patch version number.]) 32 AC_DEFINE_UNQUOTED(CFA_VERSION_BUILD, ${ver_build}, [Build version number.]) 33 AC_DEFINE_UNQUOTED(CFA_VERSION_SHORT, ["${ver_major}"], [Major]) 34 AC_DEFINE_UNQUOTED(CFA_VERSION, ["${ver_major}.${ver_minor}"], [Major.Minor]) 35 AC_DEFINE_UNQUOTED(CFA_VERSION_LONG, ["${ver_major}.${ver_minor}.${ver_patch}"], [Major.Minor.Patch]) 36 AC_DEFINE_UNQUOTED(CFA_VERSION_FULL, ["${ver_major}.${ver_minor}.${ver_patch}.${ver_build}"], [Major.Minor.Patch.Build]) 19 37 20 38 # Installation paths -
doc/LaTeXmacros/common.tex
r40744af8 rf51aefb 1 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 %% 2 %% 3 3 %% Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo 4 4 %% 5 5 %% The contents of this file are covered under the licence agreement in the 6 6 %% file "LICENCE" distributed with Cforall. 7 %% 8 %% common.tex -- 9 %% 7 %% 8 %% common.tex -- 9 %% 10 10 %% Author : Peter A. Buhr 11 11 %% Created On : Sat Apr 9 10:06:17 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Sun Aug 14 08:27:29 201614 %% Update Count : 23 113 %% Last Modified On : Tue Oct 25 22:04:19 2016 14 %% Update Count : 234 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 41 41 \newcommand{\CCeleven}{\rm C\kern-.1em\hbox{+\kern-.25em+}11\xspace} % C++11 symbolic name 42 42 \newcommand{\Celeven}{C11\xspace} % C11 symbolic name 43 \newcommand{\Csharp}{C\raisebox{0.4ex}{\#}\xspace} % C# symbolic name 43 44 44 45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 226 227 227 228 % CFA programming language, based on ANSI C (with some gcc additions) 229 \lstdefinelanguage{Pseudo}{ 230 morekeywords={string,uint,int,bool,float},% 231 sensitive=true,% 232 morecomment=[l]{//},% 233 morecomment=[s]{/*}{*/},% 234 morestring=[b]',% 235 morestring=[b]",% 236 morestring=[s]{`}{`},% 237 }% 238 239 \lstset{ 240 language=Pseudo, 241 columns=fullflexible, 242 basicstyle=\linespread{0.9}\tt\small, % reduce line spacing and use typewriter font 243 stringstyle=\sf\color{Mahogany}, % use sanserif font 244 commentstyle=\itshape\color{OliveGreen}, % green and italic comments 245 tabsize=4, % 4 space tabbing 246 xleftmargin=\parindentlnth, % indent code to paragraph indentation 247 extendedchars=true, % allow ASCII characters in the range 128-255 248 escapechar=§, % escape to latex in CFA code 249 mathescape=true, % allow $...$ LaTeX math escapes in code 250 %keepspaces=true, % 251 showstringspaces=false, % do not show spaces with cup 252 showlines=true, % show blank lines at end of code 253 aboveskip=4pt, % spacing above/below code block 254 belowskip=3pt, 255 moredelim=**[is][\color{red}]{®}{®}, % red highlighting 256 moredelim=**[is][\color{blue}]{ß}{ß}, % blue highlighting 257 moredelim=**[is][\color{OliveGreen}]{¢}{¢}, % green highlighting 258 moredelim=[is][\lstset{keywords={}}]{¶}{¶}, % temporarily turn off keywords 259 % replace/adjust listing characters that look bad in sanserif 260 literate={-}{\raisebox{-0.15ex}{\texttt{-}}}1 {^}{\raisebox{0.6ex}{$\scriptscriptstyle\land\,$}}1 {©}{{\"u}}1 261 {~}{\raisebox{0.3ex}{$\scriptstyle\sim\,$}}1 {_}{\makebox[1.2ex][c]{\rule{1ex}{0.1ex}}}1 {`}{\ttfamily\upshape\hspace*{-0.1ex}`}1 262 {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2, 263 }% 264 265 % CFA programming language, based on ANSI C (with some gcc additions) 228 266 \lstdefinelanguage{CFA}[ANSI]{C}{ 229 267 morekeywords={_Alignas,_Alignof,__alignof,__alignof__,asm,__asm,__asm__,_At,_Atomic,__attribute,__attribute__,auto, … … 260 298 \lstMakeShortInline© % single-character for \lstinline 261 299 300 262 301 \let\Oldthebibliography\thebibliography 263 302 \renewcommand\thebibliography[1]{ -
doc/bibliography/cfa.bib
r40744af8 rf51aefb 21 21 % tcs: Theoretical Computer Science 22 22 @string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"} 23 % @string{ieeepds="IEEE Trans. Parallel Distrib. Syst."} 23 24 @string{ieeese="IEEE Transactions on Software Engineering"} 25 % @string{ieeese="IEEE Trans. Softw. Eng."} 24 26 @string{spe="Software---\-Practice and Experience"} 27 % @string{spe="Softw. Pract. Exp."} 28 @string{ccpe="Concurrency and Computation: Practice and Experience"} 29 % @string{ccpe="Concurrency Comput. Pract. Exp."} 25 30 @string{sigplan="SIGPLAN Notices"} 31 % @string{sigplan="SIGPLAN Not."} 26 32 @string{joop="Journal of Object-Oriented Programming"} 33 % @string{joop="J. of Object-Oriented Program."} 27 34 @string{popl="Conference Record of the ACM Symposium on Principles of Programming Languages"} 28 35 @string{osr="Operating Systems Review"} 29 36 @string{pldi="Programming Language Design and Implementation"} 37 @string{mathann="Mathematische Annalen"} 38 % @string{mathann="Math. Ann."} 30 39 31 40 % A … … 39 48 booktitle = {Parallel Programming in {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 40 49 publisher = {MIT Press}, 50 address = {New York}, 41 51 series = {Scientific and Engineering Computation Series}, 42 52 year = 1996, … … 120 130 year = 1996, 121 131 pages = {483-499}, 122 publisher = {Addison-Wesley Longman Publishing Co., Inc.},123 address = {Boston , MA, USA},132 publisher = {Addison-Wesley Longman Publishing}, 133 address = {Boston}, 124 134 } 125 135 … … 161 171 author = {Gul A. Agha}, 162 172 title = {Actors: A Model of Concurrent Computation in Distributed Systems}, 163 publisher = {MIT Press, Cambridge , Mass.},173 publisher = {MIT Press, Cambridge}, 164 174 year = 1986 165 175 } … … 311 321 publisher = {Microsoft Press}, 312 322 year = 1997, 313 edition = { third},323 edition = {3rd}, 314 324 } 315 325 … … 325 335 year = 1977, 326 336 pages = {604-605}, 337 } 338 339 @manual{Akka, 340 keywords = {Akka actor model}, 341 contributer = {pabuhr@plg}, 342 title = {{A}kka {S}cala Documentation, Release 2.4.11}, 343 organization= {Lightbend Inc.}, 344 month = sep, 345 year = 2016, 346 note = {\href{http://doc.akka.io/docs/akka/2.4/AkkaScala.pdf}{http://\-doc.akka.io/\-docs/\-akka/\-2.4/\-AkkaScala.pdf}}, 327 347 } 328 348 … … 378 398 author = {M. Raynal}, 379 399 title = {Algorithms for Mutual Exclusion}, 380 publisher = { TheMIT Press},381 address = {Cambridge , Massachusetts},400 publisher = {MIT Press}, 401 address = {Cambridge}, 382 402 series = {Scientific Computation Series}, 383 403 year = 1986, … … 394 414 pages = {329-342}, 395 415 publisher = {Springer}, 416 address = {New York}, 396 417 year = 2005, 397 418 volume = 3669, … … 404 425 editor = {Richard L. Sites}, 405 426 title = {Alpha Architecture Reference Manual}, 406 publisher = {Digital Press, One Burlington Woods Drive, Burlington, MA, U. S. A., 01803},427 publisher = {Digital Press, Burlington}, 407 428 year = 1992, 408 429 } … … 413 434 editor = {Mary Shaw}, 414 435 title = {{ALPHARD}: Form and Content}, 415 publisher = {Springer-Verlag}, 436 publisher = {Springer}, 437 address = {New York}, 416 438 year = 1981, 417 439 comment = {Collection of papers about Alphard.} … … 470 492 editor = {Gul Agha and Peter Wegner and Akinori Yonezawa}, 471 493 publisher = {MIT Press}, 494 address = {New York}, 472 495 year = 1993, 473 496 pages = {107-150}, … … 495 518 location = {Toulouse, France}, 496 519 doi = {http://doi.acm.org/10.1145/318773.319251}, 497 publisher = {Springer -Verlag},520 publisher = {Springer}, 498 521 address = {London, UK}, 499 522 } … … 504 527 title = {The Annotated {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Reference Manual}, 505 528 publisher = {Addison-Wesley}, 529 address = {Boston}, 506 530 year = 1990, 507 edition = { first},531 edition = {1st}, 508 532 } 509 533 … … 567 591 year = 2008, 568 592 isbn = {0123705916, 9780123705914}, 569 publisher = {Morgan Kaufmann Publishers Inc.},570 address = {San Francisco , CA, USA},593 publisher = {Morgan Kaufmann Publishers}, 594 address = {San Francisco}, 571 595 } 572 596 … … 747 771 } 748 772 773 @misc{BoostCoroutines15, 774 keywords = {Boost Coroutine Library}, 775 contributer = {pabuhr@plg}, 776 author = {Oliver Kowalke}, 777 title = {Boost Coroutine Library}, 778 year = 2015, 779 note = {\href{http://www.boost.org/doc/libs/1_61_0/libs/coroutine/doc/html/index.html} 780 {{http://www.boost.org/\-doc/\-libs/1\_61\_0/\-libs/\-coroutine/\-doc/\-html/\-index.html}} [Accessed September 2016]}, 781 } 782 749 783 @mastersthesis{Krischer02, 750 784 author = {Roy Krischer }, … … 779 813 editor = {C. Dony and J. L. Knudsen and A. Romanovsky and A. Tripathi}, 780 814 booktitle = {Advanced Topics in Exception Handling Techniques}, 781 publisher = {Springer -Verlag},815 publisher = {Springer}, 782 816 series = {Lecture Notes in Computer Science}, 783 817 volume = 4119, … … 793 827 author = {Brian W. Kernighan and Dennis M. Ritchie}, 794 828 title = {The {C} Programming Language}, 795 publisher = {Prentice Hall}, 829 publisher = {Prentice-Hall}, 830 address = {Englewood Cliffs}, 796 831 year = 1988, 797 edition = { second},798 series = {Prentice 832 edition = {2nd}, 833 series = {Prentice-Hall Software Series}, 799 834 comment = { 800 835 based on draft-proposed ANSI C … … 807 842 author = {Brian W. Kernighan and Dennis M. Ritchie}, 808 843 title = {The {C} Programming Language}, 809 publisher = {Prentice Hall}, 844 publisher = {Prentice-Hall}, 845 address = {Englewood Cliffs}, 810 846 year = 1978, 811 edition = { first},847 edition = {1st}, 812 848 } 813 849 … … 835 871 836 872 @manual{C++Concepts, 837 keywords= {ISO/IEC TS 19217:2015},838 contributer= {a3moss@uwaterloo.ca},839 key= {C++ Concepts},840 title= {Information technology -- Programming languages -- {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Extensions for concepts},841 organization= {International Standard ISO/IEC TS 19217:2015},842 publisher= {International Standard Organization},843 address= {http://www.iso.org},844 year= 2015873 keywords = {ISO/IEC TS 19217:2015}, 874 contributer = {a3moss@uwaterloo.ca}, 875 key = {C++ Concepts}, 876 title = {Information technology -- Programming languages -- {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Extensions for concepts}, 877 organization= {International Standard ISO/IEC TS 19217:2015}, 878 publisher = {International Standard Organization}, 879 address = {http://www.iso.org}, 880 year = 2015 845 881 } 846 882 … … 914 950 title = {{C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Primer}, 915 951 publisher = {Addison-Wesley}, 952 address = {Boston}, 916 953 year = 1991, 917 edition = { second},954 edition = {2nd}, 918 955 note = {QA76.73.C15L57}, 919 956 } … … 925 962 title = {The {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Programming Language}, 926 963 publisher = {Addison-Wesley}, 964 address = {Boston}, 927 965 year = 1986, 928 edition = { first},966 edition = {1st}, 929 967 series = {Addison-Wesley Series in Computer Science} 930 968 } … … 936 974 title = {The {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Programming Language}, 937 975 publisher = {Addison-Wesley}, 976 address = {Boston}, 938 977 year = 1991, 939 edition = { second},978 edition = {2nd}, 940 979 } 941 980 … … 945 984 author = {Bjarne Stroustrup}, 946 985 title = {The {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Programming Language}, 947 publisher = {Addison -Wesley},986 publisher = {Addison Wesley Longman}, 948 987 year = 1997, 949 edition = { third},988 edition = {3rd}, 950 989 } 951 990 … … 1002 1041 title = {Classics in Software Engineering}, 1003 1042 publisher = {Yourdon Press}, 1043 address = {New York}, 1004 1044 year = 1979, 1005 1045 } … … 1042 1082 Moss and J. Craig Schaffert and Robert Scheifler and Alan Snyder}, 1043 1083 title = {CLU Reference Manual}, 1044 publisher = {Springer-Verlag}, 1084 publisher = {Springer}, 1085 address = {New York}, 1045 1086 year = 1981, 1046 1087 volume = 114, … … 1053 1094 key = {Cobol14}, 1054 1095 title = {Programming Languages -- {Cobol}}, 1055 edition = { second},1096 edition = {2nd}, 1056 1097 organization= {International Standard ISO/IEC 1989:2014}, 1057 1098 publisher = {International Standard Organization}, … … 1106 1147 title = {Commentary on Standard {ML}}, 1107 1148 publisher = {MIT Press}, 1108 address = {Cambridge , Massachusetts, U.S.A.},1149 address = {Cambridge}, 1109 1150 year = 1991 1110 1151 } … … 1132 1173 year = 1987, 1133 1174 pages = {151-170}, 1134 publisher = {Springer -Verlag}1175 publisher = {Springer} 1135 1176 } 1136 1177 … … 1138 1179 keywords = {common lisp}, 1139 1180 contributer = {pabuhr@plg}, 1140 author = {G .Steele},1181 author = {Guy Steele}, 1141 1182 title = {COMMON LISP: The Language}, 1142 1183 publisher = {Digital Press}, 1184 address = {New York}, 1143 1185 year = 1984 1144 1186 } … … 1183 1225 year = 1985, 1184 1226 isbn = {0-13-153271-5}, 1185 publisher = {Prentice-Hall , Inc.},1227 publisher = {Prentice-Hall}, 1186 1228 address = {Upper Saddle River, NJ, USA}, 1187 1229 note = {\href{http://www.usingcsp.com/cspbook.pdf}{http://\-www.usingcsp.com/\-cspbook.pdf}}, … … 1202 1244 author = {Alfred V. Aho and Monica S. Lam and Ravi Sethi and Jeffrey D. Ullman}, 1203 1245 title = {Compilers: Principles, Techniques, and Tools}, 1204 edition = { second},1246 edition = {2nd}, 1205 1247 year = {2006}, 1206 publisher = {Addison-Wesley Longman Publishing Co., Inc.},1248 publisher = {Addison-Wesley Longman Publishing}, 1207 1249 address = {Boston, MA, USA}, 1208 1250 } … … 1212 1254 contributer = {pabuhr@plg}, 1213 1255 author = {David F. Bacon and Susan L. Graham and Oliver J. Sharp}, 1214 title = {Compiler Transformations for High-Performance Com puting},1256 title = {Compiler Transformations for High-Performance Com\-puting}, 1215 1257 journal = acmcs, 1216 1258 volume = 26, … … 1250 1292 month = sep, 1251 1293 address = {Waterloo, Ontario, Canada, N2L 3G1}, 1252 note = { {\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-theses/\-MokThesis.ps.gz}}},1294 note = {\href{http://plg.uwaterloo.ca/theses/MokThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-MokThesis.pdf}}, 1253 1295 } 1254 1296 … … 1328 1370 editor = {P. E. Lauer}, 1329 1371 pages = {165-198}, 1330 publisher = {Springer -Verlag},1372 publisher = {Springer}, 1331 1373 address = {Berlin, DE}, 1332 1374 year = 1993, … … 1393 1435 month = jul, 1394 1436 year = 2015, 1395 note = {\href{http://plg.uwaterloo.ca/~usystem/pub/uSystem/u++-6.1.0.sh}{\textsf{http:// plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/\-u++-6.1.0.sh}}},1437 note = {\href{http://plg.uwaterloo.ca/~usystem/pub/uSystem/u++-6.1.0.sh}{\textsf{http://\-plg.\-uwaterloo.\-ca/\-$\sim$usystem/\-pub/\-uSystem/\-u++-6.1.0.sh}}}, 1396 1438 } 1397 1439 … … 1401 1443 author = {Alan Burns and Geoff Davies}, 1402 1444 title = {Concurrent Programming}, 1403 publisher = {Addison -Wesley},1445 publisher = {Addison Wesley Longman}, 1404 1446 year = 1993, 1405 1447 } … … 1424 1466 title = {Concurrent Programming in {J}ava: Design Principles and Patterns}, 1425 1467 publisher = {Addison-Wesley}, 1468 address = {Boston}, 1426 1469 year = 1997, 1427 edition = { first},1470 edition = {1st}, 1428 1471 } 1429 1472 … … 1435 1478 publisher = {Oxford University Press}, 1436 1479 year = 1998, 1437 edition = { first},1480 edition = {1st}, 1438 1481 } 1439 1482 … … 1444 1487 title = {Concurrent Programming in {J}ava: Design Principles and Patterns}, 1445 1488 publisher = {Addison-Wesley}, 1489 address = {Boston}, 1446 1490 year = 2000, 1447 edition = { second},1491 edition = {2nd}, 1448 1492 } 1449 1493 … … 1453 1497 author = {N. H. Gehani and W. D. Roome}, 1454 1498 title = {The {Concurrent C} Programming Language}, 1455 publisher = {Silicon Press, NJ}, 1499 publisher = {Silicon Press}, 1500 address = {Summit}, 1456 1501 year = 1989, 1457 1502 } … … 1462 1507 author = {Gregory R. Andrews}, 1463 1508 title = {Concurrent Programming: Principles and Practice}, 1464 publisher = {Benjamin/Cummings Publishing Company, Inc., Redwood City, California}, 1509 publisher = {Benjamin/Cummings Publish\-ing}, 1510 address = {Redwood City}, 1465 1511 year = 1991, 1466 1512 } … … 1471 1517 author = {Peter A. Buhr and Ashif S. Harji}, 1472 1518 title = {Concurrent Urban Legends}, 1473 journal = {Concurrency and Computation: Practice and Experience},1519 journal = ccpe, 1474 1520 month = aug, 1475 1521 year = 2005, … … 1497 1543 publisher = {Cambridge University Press}, 1498 1544 year = 1998, 1499 edition = { second},1545 edition = {2nd}, 1500 1546 } 1501 1547 … … 1514 1560 title = {Condition Handling in the Lisp Language Family}, 1515 1561 booktitle = {Exception Handling}, 1516 publisher = {Springer -Verlag},1562 publisher = {Springer}, 1517 1563 volume = 2022, 1518 1564 series = {LNCS}, … … 1527 1573 title = {Conformace, Genericity, Inheritance and Enhancement}, 1528 1574 pages = {223-233}, 1529 publisher = {Springer -Verlag},1575 publisher = {Springer}, 1530 1576 year = 1987, 1531 1577 volume = 276, … … 1636 1682 1637 1683 @unpublished{Ditchfield:conversions, 1638 contributer = {a3moss@uwaterloo.ca}, 1639 author = {Glen Ditchfield}, 1640 title = {Conversions for {Cforall}}, 1641 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-\textasciitilde cforall/\-Conversions/\-index.html}}, 1642 month = {Nov}, 1643 year = {2002}, 1644 urldate = {28 July 2016}, 1645 } 1646 1684 contributer = {a3moss@uwaterloo.ca}, 1685 author = {Glen Ditchfield}, 1686 title = {Conversions for {Cforall}}, 1687 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-\textasciitilde cforall/\-Conversions/\-index.html}}, 1688 month = {Nov}, 1689 year = {2002}, 1690 urldate = {28 July 2016}, 1691 } 1647 1692 1648 1693 @techreport{Dijkstra65, … … 1662 1707 author = {Christopher D. Marlin}, 1663 1708 title = {Coroutines: A Programming Methodology, a Language Design and an Implementation}, 1664 publisher = {Springer-Verlag}, 1709 publisher = {Springer}, 1710 address = {New York}, 1665 1711 year = 1980, 1666 1712 volume = 95, … … 1699 1745 publisher = {Benjamin Cummings}, 1700 1746 year = 1991, 1747 } 1748 1749 @article{Moore75, 1750 keywords = {approximation methods, integrated circuits}, 1751 contributer = {pabuhr@plg}, 1752 author = {Gordon E. Moore}, 1753 title = {Progress in Digital Integrated Electronics}, 1754 journal = {Technical Digest, International Electron Devices Meeting, IEEE}, 1755 year = 1975, 1756 pages = {11-13}, 1701 1757 } 1702 1758 … … 1840 1896 title = {The Definition of Standard {ML}}, 1841 1897 publisher = {MIT Press}, 1842 address = {Cambridge , Massachusetts, U.S.A.},1898 address = {Cambridge}, 1843 1899 year = 1990 1844 1900 } … … 1870 1926 author = {Peter A. Buhr and David Dice and Wim H. Hesselink}, 1871 1927 title = {Dekker's Mutual Exclusion Algorithm Made RW-Safe}, 1872 journal = {Concurrency and Computation: Practice and Experience},1928 journal = ccpe, 1873 1929 volume = 28, 1874 1930 number = 1, … … 1920 1976 title = {The Design and Evolution of {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 1921 1977 publisher = {Addison-Wesley}, 1978 address = {Boston}, 1922 1979 year = 1994 1923 1980 } … … 1977 2034 author = {G. Motet and A. Mapinard and J. C. Geoffroy}, 1978 2035 title = {Design of Dependable {A}da Software}, 1979 publisher = {Prentice Hall}, 2036 publisher = {Prentice-Hall}, 2037 address = {Englewood Cliffs}, 1980 2038 year = 1996, 1981 2039 } … … 2012 2070 title = {Design Patterns: Elements of Reusable Object-Oriented Software}, 2013 2071 publisher = {Addison-Wesley}, 2072 address = {Boston}, 2014 2073 year = 1995, 2015 2074 series = {Professional Computing Series}, … … 2054 2113 author = {Ralph E. Johnson and Brian Foote}, 2055 2114 title = {Designing Reusable Classes}, 2056 journal = {Journal of Object-Oriented Programming},2115 journal = joop, 2057 2116 year = 1988, 2058 2117 volume = 1, number = 2, pages = {22-35}, … … 2109 2168 title = {A Discipline of Programming}, 2110 2169 publisher = {Prentice-Hall}, 2170 address = {Englewood Cliffs}, 2111 2171 year = 1976, 2112 2172 } … … 2125 2185 title = {Distributed Systems: Principles and Paradigms}, 2126 2186 publisher = {Prentice-Hall}, 2187 address = {Englewood Cliffs}, 2127 2188 year = 2002, 2128 2189 } … … 2253 2314 title = {Eiffel: The Language}, 2254 2315 publisher = {Prentice-Hall}, 2316 address = {Englewood Cliffs}, 2255 2317 year = 1992, 2256 series = {Prentice 2318 series = {Prentice-Hall Object-Oriented Series}, 2257 2319 } 2258 2320 … … 2388 2450 month = jun, 2389 2451 year = 2015, 2390 note = {\href{http://www.erlang.org/doc/pdf/otp-system-documentation.pdf}{\textsf{http://www.erlang.org/\-doc/\-pdf/\-otp-system- documentation.pdf}}},2452 note = {\href{http://www.erlang.org/doc/pdf/otp-system-documentation.pdf}{\textsf{http://www.erlang.org/\-doc/\-pdf/\-otp-system-\-documentation.pdf}}}, 2391 2453 } 2392 2454 … … 2467 2529 booktitle = {Advances in COMPUTERS}, 2468 2530 publisher = {Academic Press}, 2531 address = {London}, 2469 2532 volume = 56, 2470 2533 year = 2002, … … 2561 2624 title = {Exception Handling in Parallel Computations}, 2562 2625 journal = sigplan, 2626 publisher = {ACM}, 2627 address = {New York, NY, USA}, 2563 2628 volume = 20, 2564 2629 number = 10, 2565 2630 month = oct, 2566 2631 year = 1985, 2567 issn = {0362-1340},2568 2632 pages = {95-104}, 2569 url = {http://doi.acm.org/10.1145/382286.382385},2570 doi = {http://doi.acm.org/10.1145/382286.382385},2571 acmid = {382385},2572 publisher = {ACM},2573 address = {New York, NY, USA},2574 2633 } 2575 2634 … … 2680 2739 title = {Fault Tolerance and Exception Handling in {BETA}}, 2681 2740 booktitle = {Exception Handling}, 2682 publisher = {Springer -Verlag},2741 publisher = {Springer}, 2683 2742 volume = 2022, 2684 2743 series = {Lecture Notes in Computer Science}, … … 2839 2898 title = {A Fully Object-Oriented Exception Handling System: Rationale and Smalltalk Implementation}, 2840 2899 booktitle = {Exception Handling}, 2841 publisher = {Springer -Verlag},2900 publisher = {Springer}, 2842 2901 volume = 2022, 2843 2902 series = {Lecture Notes in Computer Science}, … … 2859 2918 series = {The Art of Computer Programming}, 2860 2919 publisher = {Addison-Wesley}, 2920 address = {Boston}, 2861 2921 year = 1973, 2862 2922 volume = 1, 2863 edition = { second},2923 edition = {2nd}, 2864 2924 } 2865 2925 … … 2912 2972 author = {Richard M. Stallman}, 2913 2973 organization= {Free Software Foundation}, 2914 address = {Cambridge , MA}2974 address = {Cambridge} 2915 2975 } 2916 2976 … … 2952 3012 } 2953 3013 2954 2955 3014 @article{Haskell, 2956 3015 keywords = {lazy evaluation, type class}, … … 2973 3032 organization= {Google}, 2974 3033 year = 2009, 2975 note = {\href{http://golang.org/ref/spec}{http:// golang.org/\-ref/\-spec}},3034 note = {\href{http://golang.org/ref/spec}{http://\-golang.org/\-ref/\-spec}}, 2976 3035 } 2977 3036 … … 3090 3149 author = {Robert E. Strom and David F. Bacon and Arthur P. Goldberg and Andy Lowry and Daniel M. Yellin and Shaula Alexander Yemini}, 3091 3150 title = {Hermes: A Language for Distributed Computing}, 3092 publisher = {Prentice Hall}, 3151 publisher = {Prentice-Hall}, 3152 address = {Englewood Cliffs}, 3093 3153 series = {Innovative Technology}, 3094 3154 year = 1991, … … 3134 3194 author = {Peter A. Buhr and David Dice and Wim H. Hesselink}, 3135 3195 title = {High-Performance {$N$}-Thread Software Solutions for Mutual Exclusion}, 3136 journal = {Concurrency and Computation: Practice and Experience},3196 journal = ccpe, 3137 3197 volume = 27, 3138 3198 number = 3, … … 3148 3208 title = {Zum Hilbertschen Aufbau der reellen Zahlen}, 3149 3209 publisher = {Springer}, 3150 journal = {Mathematische Annalen},3210 journal = mathann, 3151 3211 number = 1, 3152 3212 volume = 99, … … 3187 3247 title = {The Icon Programming Language}, 3188 3248 publisher = {Prentice-Hall}, 3249 address = {Englewood Cliffs}, 3189 3250 year = 1983, 3190 3251 } … … 3262 3323 issn = {0164-0925}, 3263 3324 pages = {1270--1343}, 3264 doi = {http://doi.acm.org/10.1145/1108970.1108975},3265 3325 publisher = {ACM Press}, 3266 3326 address = {New York, NY, USA}, … … 3277 3337 pages = {55-59}, 3278 3338 issn = {0163-5719}, 3279 doi = {http://doi.acm.org/10.1145/872736.806932}, 3280 } 3339 } 3281 3340 3282 3341 @book{Algol68, … … 3361 3420 title = {Interacting Processes: A Multiparty Approach to Coordinated Distributed Programming}, 3362 3421 publisher = {Addison-Wesley}, 3422 address = {Boston}, 3363 3423 series = {ACM Press Books}, 3364 3424 year = 1996, … … 3434 3494 title = {Introduction to Algorithms}, 3435 3495 publisher = {MIT Press/McGraw-Hill}, 3496 address = {Cambridge}, 3436 3497 series = {Electrical Engineering and Computer Science Series}, 3437 3498 year = 1992, … … 3444 3505 title = {Introduction to Automata Theory, Languages and Computation}, 3445 3506 publisher = {Addison-Wesley}, 3507 address = {Boston}, 3446 3508 year = 1979, 3447 3509 } … … 3476 3538 title = {An Introduction to Operating Systems}, 3477 3539 publisher = {Addison-Wesley}, 3540 address = {Boston}, 3478 3541 year = 1990, 3479 edition = { second},3542 edition = {2nd}, 3480 3543 } 3481 3544 … … 3525 3588 title = {Issues with Exception Hnadling in Object-Oriented Systems}, 3526 3589 booktitle = {ECOOP'97}, 3527 publisher = {Springer -Verlag},3590 publisher = {Springer}, 3528 3591 volume = 1241, 3529 3592 series = {Lecture Notes in Computer Science}, … … 3553 3616 title = {The {Java} Language Specification}, 3554 3617 publisher = {Addison-Wesley}, 3618 address = {Reading}, 3555 3619 year = 2000, 3556 edition = { second},3620 edition = {2nd}, 3557 3621 } 3558 3622 … … 3597 3661 title = {Konstruktion nichtrekursiver Funktionen}, 3598 3662 publisher = {Springer}, 3599 journal = {Mathematische Annalen},3663 journal = mathann, 3600 3664 number = 111, 3601 3665 volume = 1, … … 3740 3804 title = {Lisp 1.5 Primer}, 3741 3805 publisher = {Dickenson Publishing}, 3806 address = {Belmont}, 3742 3807 year = 1967, 3743 3808 } … … 3937 4002 booktitle = {Proceedings of the European Conference on Object Oriented Programming}, 3938 4003 organization= {ECOOP'88}, 3939 publisher = {Springer -Verlag},4004 publisher = {Springer}, 3940 4005 volume = 322, 3941 4006 editor = {S. Gjessing and K. Nygaard}, … … 3979 4044 title = {Modern C++ Design: Generic Programming and Design Patterns Applied}, 3980 4045 publisher = {Addison-Wesley Professional}, 4046 address = {Boston}, 3981 4047 month = feb, 3982 4048 year = 2001, … … 3990 4056 title = {Modern Operating Systems}, 3991 4057 publisher = {Prentice-Hall}, 4058 address = {Englewood Cliffs}, 3992 4059 year = 1992, 3993 4060 } … … 4310 4377 title = {Nesting in an Object Oriented Language is NOT for the Birds}, 4311 4378 booktitle = {Proceedings of the European Conference on Object Oriented Programming}, 4312 publisher = {Springer -Verlag},4379 publisher = {Springer}, 4313 4380 volume = 322, 4314 4381 editor = {S. Gjessing and K. Nygaard}, … … 4437 4504 editor = {S. Gjessing and K. Nygaard}, 4438 4505 organization= {DND, The Norwegian Computer Society}, 4439 publisher = {Springer -Verlag},4506 publisher = {Springer}, 4440 4507 comment = { 4441 4508 Objectives: … … 4472 4539 title = {Object-oriented programming; an evolutionary approach}, 4473 4540 publisher = {Addison-Wesley}, 4541 address = {Boston}, 4474 4542 year = 1986 4475 4543 } … … 4481 4549 title = {Object-oriented Programming in the {BETA} Programming Language}, 4482 4550 publisher = {Addison-Wesley}, 4551 address = {Boston}, 4483 4552 year = 1993, 4484 4553 } … … 4512 4581 author = {Bertrand Meyer}, 4513 4582 title = {Object-oriented Software Construction}, 4514 publisher = {Prentice Hall}, 4583 publisher = {Prentice-Hall}, 4584 address = {Englewood Cliffs}, 4515 4585 year = {1988}, 4516 series = {Prentice 4586 series = {Prentice-Hall International Series in Computer Science}, 4517 4587 } 4518 4588 … … 4541 4611 author = {John Galletly}, 4542 4612 title = {{OCCAM} 2: Including {OCCAM} 2.1}, 4543 publisher = {{UCL} (University College London) Press Ltd.}, 4544 edition = {second}, 4613 publisher = {{UCL} (University College London) Press}, 4614 address = {London}, 4615 edition = {2nd}, 4545 4616 year = 1996, 4546 4617 } … … 4602 4673 month = jul, 4603 4674 year = 2013, 4604 note = {\href{http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf}{\textsf{http:// www.openmp.org/mp-documents/OpenMP4.0.0.pdf}}},4675 note = {\href{http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf}{\textsf{http://\-www.openmp.org/\-mp-documents/\-OpenMP4.0.0.pdf}}}, 4605 4676 } 4606 4677 … … 4611 4682 title = {Operating Systems}, 4612 4683 publisher = {Pearson Prentice-Hall}, 4684 address = {Englewood Cliffs}, 4613 4685 year = 2004, 4614 edition = { third},4686 edition = {3rd}, 4615 4687 } 4616 4688 … … 4621 4693 title = {Operating Systems: Internals and Design Principles}, 4622 4694 publisher = {Prentice-Hall}, 4695 address = {Englewood Cliffs}, 4623 4696 year = 1998, 4624 edition = { third},4697 edition = {3rd}, 4625 4698 } 4626 4699 … … 4631 4704 title = {Operating Systems: Internals and Design Principles}, 4632 4705 publisher = {Prentice-Hall}, 4706 address = {Englewood Cliffs}, 4633 4707 year = 2001, 4634 edition = { fourth},4708 edition = {4th}, 4635 4709 } 4636 4710 … … 4641 4715 title = {Operating System Concepts}, 4642 4716 publisher = {Addision-Wesley}, 4717 address = {Boston}, 4643 4718 year = 1991, 4644 edition = { third},4719 edition = {3rd}, 4645 4720 } 4646 4721 … … 4651 4726 title = {Operating Systems : Design and Implementation}, 4652 4727 publisher = {Prentice-Hall}, 4728 address = {Englewood Cliffs}, 4653 4729 series = {Software Series}, 4654 4730 year = 1987, … … 4661 4737 title = {Operating System Principles}, 4662 4738 publisher = {Prentice-Hall}, 4739 address = {Englewood Cliffs}, 4663 4740 year = 1973, 4664 4741 } … … 4670 4747 title = {Operating System Principles}, 4671 4748 publisher = {Prentice-Hall}, 4749 address = {Englewood Cliffs}, 4672 4750 year = 2003, 4673 4751 } … … 4686 4764 4687 4765 @article{Ganzinger80, 4688 contributer= {a3moss@uwaterloo.ca},4689 author= {Ganzinger, Harald and Ripken, Knut},4690 title= {Operator Identification in {ADA}: Formal Specification, Complexity, and Concrete Implementation},4691 journal= {SIGPLAN Notices},4692 issue_date= {February 1980},4693 volume= {15},4694 number= {2},4695 month= feb,4696 year= {1980},4697 issn= {0362-1340},4698 pages= {30--42},4699 numpages= {13},4700 url= {http://doi.acm.org/10.1145/947586.947589},4701 doi= {10.1145/947586.947589},4702 publisher= {ACM},4703 address= {New York, NY, USA}4766 contributer = {a3moss@uwaterloo.ca}, 4767 author = {Ganzinger, Harald and Ripken, Knut}, 4768 title = {Operator Identification in {ADA}: Formal Specification, Complexity, and Concrete Implementation}, 4769 journal = {SIGPLAN Notices}, 4770 issue_date = {February 1980}, 4771 volume = {15}, 4772 number = {2}, 4773 month = feb, 4774 year = {1980}, 4775 issn = {0362-1340}, 4776 pages = {30--42}, 4777 numpages = {13}, 4778 url = {http://doi.acm.org/10.1145/947586.947589}, 4779 doi = {10.1145/947586.947589}, 4780 publisher = {ACM}, 4781 address = {New York, NY, USA} 4704 4782 } 4705 4783 … … 4723 4801 title = {{OS} and {DOS} {PL/I} Reference Manual}, 4724 4802 organization= {International Business Machines}, 4725 edition = { first},4803 edition = {1st}, 4726 4804 month = sep, 4727 4805 year = 1981, … … 4843 4921 booktitle = {Parallel Programming in {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 4844 4922 publisher = {MIT Press}, 4845 address = {Cambridge , MA, USA},4923 address = {Cambridge}, 4846 4924 series = {Scientific and Engineering Computation Series}, 4847 4925 pages = {507-546}, … … 4922 5000 publisher = {Springer--Verlag}, 4923 5001 year = 1985, 4924 edition = { third},5002 edition = {3rd}, 4925 5003 note = {Revised by Andrew B. Mickel and James F. Miner, ISO Pascal Standard} 4926 5004 } … … 4933 5011 publisher = {Springer--Verlag}, 4934 5012 year = 1975, 4935 edition = { first},5013 edition = {1st}, 4936 5014 } 4937 5015 … … 4955 5033 title = {{P}ascal/{VS} Language Reference Manual}, 4956 5034 organization= {International Business Machines}, 4957 edition = { first},5035 edition = {1st}, 4958 5036 year = 1981, 4959 5037 note = {Manual SH20-6168-1}, … … 5107 5185 title = {Principles of Concurrent Programming}, 5108 5186 publisher = {Prentice-Hall International}, 5187 address = {Englewood Cliffs}, 5109 5188 year = 1982, 5110 5189 } … … 5114 5193 title = {Principles of Programming Languages}, 5115 5194 publisher = {Prentice-Hall International}, 5195 address = {Englewood Cliffs}, 5116 5196 year = 1981, 5117 5197 series = {Series in Computer Science} … … 5185 5265 title = {Programming with {POSIX} Threads}, 5186 5266 publisher = {Addison-Wesley}, 5267 address = {Boston}, 5187 5268 series = {Professional Computing}, 5188 5269 year = 1997, … … 5194 5275 author = {J. T. Schwartz and R. B. K. Dewar and E. Dubinsky and E. Schonberg}, 5195 5276 title = {Programming with Sets: An Introduction to {SETL}}, 5196 publisher = {Springer -Verlag},5277 publisher = {Springer}, 5197 5278 year = 1986, 5198 5279 } … … 5235 5316 key = {C++14}, 5236 5317 title = {Programming Languages -- {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 5237 edition = { fourth},5318 edition = {4th}, 5238 5319 organization= {International Standard ISO/IEC 14882:2014 (E)}, 5239 5320 publisher = {International Standard Organization}, … … 5329 5410 author = {Niklaus Wirth}, 5330 5411 title = {Programming in Modula-2}, 5331 publisher = {Springer-Verlag}, 5412 publisher = {Springer}, 5413 address = {New York}, 5332 5414 year = 1988, 5333 edition = { fourth},5415 edition = {4th}, 5334 5416 series = {Texts and Monographs in Computer Science}, 5335 5417 } … … 5343 5425 month = feb, 5344 5426 year = 1983, 5345 note = { Published by Springer-Verlag}5427 note = {Springer, New York}, 5346 5428 } 5347 5429 … … 5351 5433 title = {The Programming Language {Ada}: Reference Manual}, 5352 5434 organization= {United States Department of Defense}, 5353 publisher = {Springer -Verlag},5435 publisher = {Springer}, 5354 5436 year = 1981 5355 5437 } … … 5505 5587 5506 5588 @article{Grossman06, 5507 keywords= {Cyclone, existential types, polymorphism, type variables},5508 contributer= {a3moss@plg},5509 author= {Grossman, Dan},5510 title= {Quantified Types in an Imperative Language},5511 journal= toplas,5512 issue_date= {May 2006},5513 volume= {28},5514 number= {3},5515 month= may,5516 year= {2006},5517 issn= {0164-0925},5518 pages= {429--475},5519 numpages= {47},5520 url= {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653},5521 doi= {10.1145/1133651.1133653},5522 acmid= {1133653},5523 publisher= {ACM},5524 address= {New York, NY, USA},5589 keywords = {Cyclone, existential types, polymorphism, type variables}, 5590 contributer = {a3moss@plg}, 5591 author = {Grossman, Dan}, 5592 title = {Quantified Types in an Imperative Language}, 5593 journal = toplas, 5594 issue_date = {May 2006}, 5595 volume = {28}, 5596 number = {3}, 5597 month = may, 5598 year = {2006}, 5599 issn = {0164-0925}, 5600 pages = {429--475}, 5601 numpages = {47}, 5602 url = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653}, 5603 doi = {10.1145/1133651.1133653}, 5604 acmid = {1133653}, 5605 publisher = {ACM}, 5606 address = {New York, NY, USA}, 5525 5607 } 5526 5608 … … 5569 5651 title = {{A}da Reference Manual}, 5570 5652 edition = {International Standard {ISO}/{IEC} {8652:1995(E)} with {COR.1:2000}}, 5571 organization 5653 organization= {Intermetrics, Inc.}, 5572 5654 month = dec, 5573 5655 year = 1995, … … 5579 5661 contributer = {pabuhr@plg}, 5580 5662 title = {Programming languages -- {Ada}}, 5581 edition = { third},5663 edition = {3rd}, 5582 5664 organization= {International Standard ISO/IEC 1989:2014}, 5583 5665 publisher = {International Standard Organization}, … … 5604 5686 series = {The Real-Time for Java Expert Group, {\small\textsf{http://\-www.rtj.org}}}, 5605 5687 publisher = {Addison-Wesley}, 5688 address = {Boston}, 5606 5689 year = 2000, 5607 5690 } … … 5755 5838 % S 5756 5839 5840 @manual{Scala, 5841 keywords = {Scala programming language}, 5842 contributer = {pabuhr@plg}, 5843 title = {{Scala} Language Specification, Version 2.11}, 5844 organization= {\'{E}cole Polytechnique F\'{e}d\'{e}rale de Lausanne}, 5845 year = 2016, 5846 note = {\href{http://www.scala-lang.org/files/archive/spec/2.11}{http://\-www.scala-lang.org/\-files/\-archive/\-spec/\-2.11}}, 5847 } 5848 5757 5849 @inproceedings{Michael04, 5758 5850 keywords = {lock free, dynamic memory allocation}, … … 5802 5894 pages = {51-67}, 5803 5895 editor = {G. Kahn and D. B. MacQueen and G. D. Plotkin}, 5804 publisher = {Springer -Verlag},5896 publisher = {Springer}, 5805 5897 note = {Lecture Notes in Computer Science v. 173}, 5806 5898 } … … 5852 5944 month = may, 5853 5945 year = 2001, 5854 note = { {\small\textsf{http://www.python.org/peps/pep-0255.html}}},5946 note = {\href{http://www.python.org/peps/pep-0255.html}{http://\-www.python.org/\-peps/\-pep-0255.html}}, 5855 5947 } 5856 5948 … … 5871 5963 5872 5964 @article{Pennello80, 5873 contributer= {a3moss@uwaterloo.ca},5874 author= {Pennello, Tom and DeRemer, Frank and Meyers, Richard},5875 title= {A Simplified Operator Identification Scheme for {Ada}},5876 journal= {SIGPLAN Notices},5877 issue_date= {July-August 1980},5878 volume= {15},5879 number= {7 and 8},5880 month= jul,5881 year= {1980},5882 issn= {0362-1340},5883 pages= {82--87},5884 numpages= {6},5885 url= {http://doi.acm.org/10.1145/947680.947688},5886 doi= {10.1145/947680.947688},5887 publisher= {ACM},5888 address= {New York, NY, USA},5965 contributer = {a3moss@uwaterloo.ca}, 5966 author = {Pennello, Tom and DeRemer, Frank and Meyers, Richard}, 5967 title = {A Simplified Operator Identification Scheme for {Ada}}, 5968 journal = {SIGPLAN Notices}, 5969 issue_date = {July-August 1980}, 5970 volume = {15}, 5971 number = {7 and 8}, 5972 month = jul, 5973 year = {1980}, 5974 issn = {0362-1340}, 5975 pages = {82--87}, 5976 numpages = {6}, 5977 url = {http://doi.acm.org/10.1145/947680.947688}, 5978 doi = {10.1145/947680.947688}, 5979 publisher = {ACM}, 5980 address = {New York, NY, USA}, 5889 5981 } 5890 5982 … … 5927 6019 year = {1980}, 5928 6020 address = {Lund, Sweden}, 5929 edition = { second},6021 edition = {2nd}, 5930 6022 } 5931 6023 5932 6024 @book{Simula67, 5933 author = "O-J Dahl and B. Myhrhaug and K. Nygaard",5934 address = "Oslo Norway",6025 author = {O-J Dahl and B. Myhrhaug and K. Nygaard}, 6026 title = {Simula67 Common Base Language}, 5935 6027 month = oct, 5936 6028 year = 1970, 5937 publisher = "Norwegian Computing Center",5938 title = "Simula67 Common Base Language"6029 publisher = {Norwegian Com\-puting Center}, 6030 address = {Oslo Norway}, 5939 6031 } 5940 6032 … … 5945 6037 title = {Smalltalk-80: The Language and its Implementation}, 5946 6038 publisher = {Addison-Wesley}, 6039 address = {Reading}, 5947 6040 year = 1983 5948 6041 } … … 5966 6059 author = {R. E. Griswold and J. F. Poage and I. P. Polonsky}, 5967 6060 title = {The SNOBOL4 Programming Language}, 5968 edition = { second},6061 edition = {2nd}, 5969 6062 publisher = {Prentice-Hall}, 6063 address = {Englewood Cliffs}, 5970 6064 year = 1971, 5971 6065 } … … 6073 6167 author = {R. H. Campbell and A. N. Habermann}, 6074 6168 title = {The Specification of Process Synchronization by Path Expressions}, 6075 publisher = {Springer -Verlag},6169 publisher = {Springer}, 6076 6170 year = 1974, 6077 6171 volume = 16, … … 6117 6211 title = {A Standard {ML} Compiler}, 6118 6212 booktitle = {Functional Programming Languages and Computer Architecture}, 6119 publisher = {Springer -Verlag},6213 publisher = {Springer}, 6120 6214 series = {Lecture Notes in Computer Science}, 6121 6215 volume = 274, … … 6172 6266 title = {Structured Concurrent Programming with Operating System Applications}, 6173 6267 publisher = {Addison-Wesley}, 6268 address = {Boston}, 6174 6269 year = 1978, 6175 6270 } … … 6320 6415 author = {Gadi Taubenfeld}, 6321 6416 title = {Synchronization Algorithms and Concurrent Programming}, 6322 publisher = {Pearson/Prentice Hall}, 6417 publisher = {Pearson/Prentice-Hall}, 6418 address = {Harlow, England}, 6323 6419 year = 2006, 6324 6420 } … … 6380 6476 author = {Andrew Birrell and Mark R. Brown and Luca Cardelli and Jim Donahue and Lucille Glassman and John Gutag and Jim Harning and Bill Kalsow and Roy Levin and Greg Nelson}, 6381 6477 title = {Systems Programming with Modula-3}, 6382 publisher = {Prentice-Hall, Inc.}, 6478 publisher = {Prentice-Hall}, 6479 address = {Englewood Cliffs}, 6383 6480 year = 1991, 6384 series = {Prentice 6481 series = {Prentice-Hall Series in Innovative Technology} 6385 6482 } 6386 6483 … … 6464 6561 pages = {408-423}, 6465 6562 editor = {B. Robinet}, 6466 publisher = {Springer -Verlag},6563 publisher = {Springer}, 6467 6564 note = {Lecture Notes in Computer Science, v. 19}, 6468 6565 abstract = { … … 6546 6643 publisher = {Holt Software Associates Inc.}, 6547 6644 year = 1992, 6548 edition = { third},6645 edition = {3rd}, 6549 6646 } 6550 6647 … … 6566 6663 title = {Tutorial: Programming Language Design}, 6567 6664 publisher = {Computer Society Press}, 6665 address = {Los Alamitos}, 6568 6666 year = 1980 6569 6667 } … … 6635 6733 % U 6636 6734 6637 @ unpublished{uC++book,6638 keywords = {control structure, concurrency },6735 @book{uC++book, 6736 keywords = {control structure, concurrency, uC++}, 6639 6737 contributer = {pabuhr@plg}, 6640 6738 author = {Peter A. Buhr}, 6641 title = {Understanding Control Flow with Concurrent Programming using $\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 6642 year = 1999, 6643 note = {Textbook in preparation} 6739 title = {Understanding Control Flow: Concurrent Programming using $\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 6740 publisher = {Springer}, 6741 address = {Switzerland}, 6742 year = 2016, 6644 6743 } 6645 6744 … … 6664 6763 booktitle = {Proceedings of the International Workshop on Memory Management}, 6665 6764 location = {St. Malo, France}, 6666 publisher = {Springer -Verlag},6765 publisher = {Springer}, 6667 6766 series = {Lecture Notes in Computer Science}, 6668 6767 volume = 637, … … 6788 6887 title = {VAX-11 Architecture Reference Manual}, 6789 6888 publisher = {Digital Press}, 6889 address = {Bedford}, 6790 6890 month = may, 6791 6891 year = 1982, … … 6796 6896 title = {{VAX/VMS} Internals and Data Structures Version 4.4}, 6797 6897 publisher = {Digital Press}, 6898 address = {Bedford}, 6798 6899 year = 1988, 6799 6900 } … … 6805 6906 title = {Verifying a Simplification of Mutual Exclusion by {L}ycklama--{H}adzilacos}, 6806 6907 journal = {Acta Informatica}, 6807 publisher = {Springer-Verlag}, 6908 publisher = {Springer}, 6909 address = {New York}, 6808 6910 year = {2013}, 6809 6911 volume = {50}, … … 6871 6973 month = jun, 6872 6974 year = 1985, 6873 note = {\ textsf{http://www.hpl.hp.com/\-techreports/\-tandem/\-TR-85.7.pdf}},6975 note = {\href{http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf}{http://www.hpl.hp.com/\-techreports/\-tandem/\-TR-85.7.pdf}}, 6874 6976 } 6875 6977 -
doc/user/user.tex
r40744af8 rf51aefb 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Sun Aug 14 08:23:06201614 %% Update Count : 13 2313 %% Last Modified On : Tue Oct 25 23:03:59 2016 14 %% Update Count : 1357 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 33 33 \usepackage{textcomp} 34 34 \usepackage[latin1]{inputenc} 35 35 36 \usepackage{fullpage,times,comment} 36 37 \usepackage{epic,eepic} … … 325 326 \begin{description} 326 327 \item 327 \Indexc{__CFA_ _}\index{preprocessor variables!__CFA__@{©__CFA__©}}328 is a lways available during preprocessing and its value is the currentmajor \Index{version number} of \CFA.\footnote{328 \Indexc{__CFA_MAJOR__}\index{preprocessor variables!__CFA__@{©__CFA__©}} 329 is available during preprocessing and its value is the major \Index{version number} of \CFA.\footnote{ 329 330 The C preprocessor allows only integer values in a preprocessor variable so a value like ``\Version'' is not allowed. 330 331 Hence, the need to have three variables for the major, minor and patch version number.} … … 332 333 \item 333 334 \Indexc{__CFA_MINOR__}\index{preprocessor variables!__CFA_MINOR__@{©__CFA_MINOR__©}} 334 is a lways available during preprocessing and its value is the currentminor \Index{version number} of \CFA.335 is available during preprocessing and its value is the minor \Index{version number} of \CFA. 335 336 336 337 \item 337 338 \Indexc{__CFA_PATCH__}\index{preprocessor variables!__CFA_PATCH__@©__CFA_PATCH__©} 338 is always available during preprocessing and its value is the current patch \Index{version number} of \CFA. 339 340 \item 339 is available during preprocessing and its value is the patch \Index{level number} of \CFA. 340 341 \item 342 \Indexc{__CFA__}\index{preprocessor variables!__CFA__@©__CFA__©} and 341 343 \Indexc{__CFORALL__}\index{preprocessor variables!__CFORALL__@©__CFORALL__©} 342 is always available during preprocessing and hasno value.344 are always available during preprocessing and have no value. 343 345 \end{description} 344 346 These preprocessor variables allow conditional compilation of programs that must work differently in these situations. … … 1853 1855 case 1: case 2: case 3: ... 1854 1856 \end{lstlisting} 1855 still work .1857 still works. 1856 1858 Nevertheless, reversing the default action would have a non-trivial effect on case actions that compound, such as the above example of processing shell arguments. 1857 <<<<<<< HEAD1858 Therefore, to preserve backwards compatibility, it is necessary to introduce a new kind of ©switch© statement, called ©choose©, with no implicit fall-through semantics and an explicit fall-through if the last statement of a case-clause ends with the new keyword ©fallthru©, \eg:1859 =======1860 1859 Therefore, to preserve backwards compatibility, it is necessary to introduce a new kind of ©switch© statement, called ©choose©, with no implicit fall-through semantics and an explicit fall-through if the last statement of a case-clause ends with the new keyword ©fallthrough©/©fallthru©, e.g.: 1861 >>>>>>> 080615890f586cb9954c252b55cab47f52c257581862 1860 \begin{lstlisting} 1863 1861 ®choose® ( i ) { -
src/ControlStruct/LabelFixer.h
r40744af8 rf51aefb 26 26 namespace ControlStruct { 27 27 /// normalizes label definitions and generates multi-level exit labels 28 class LabelFixer : public Visitor {28 class LabelFixer final : public Visitor { 29 29 typedef Visitor Parent; 30 30 public: … … 33 33 std::map < Label, Statement * > *resolveJumps() throw ( SemanticError ); 34 34 35 using Visitor::visit; 36 35 37 // Declarations 36 virtual void visit( FunctionDecl *functionDecl ) ;38 virtual void visit( FunctionDecl *functionDecl ) override; 37 39 38 40 // Statements 39 41 void visit( Statement *stmt ); 40 42 41 virtual void visit( CompoundStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }42 virtual void visit( NullStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }43 virtual void visit( ExprStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }44 virtual void visit( IfStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }45 virtual void visit( WhileStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }46 virtual void visit( ForStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }47 virtual void visit( SwitchStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }48 virtual void visit( CaseStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }49 virtual void visit( ReturnStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }50 virtual void visit( TryStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }51 virtual void visit( CatchStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }52 virtual void visit( DeclStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }53 virtual void visit( BranchStmt *branchStmt ) ;54 virtual void visit( UntypedExpr *untyped ) ;43 virtual void visit( CompoundStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 44 virtual void visit( NullStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 45 virtual void visit( ExprStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 46 virtual void visit( IfStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 47 virtual void visit( WhileStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 48 virtual void visit( ForStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 49 virtual void visit( SwitchStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 50 virtual void visit( CaseStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 51 virtual void visit( ReturnStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 52 virtual void visit( TryStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 53 virtual void visit( CatchStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 54 virtual void visit( DeclStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 55 virtual void visit( BranchStmt *branchStmt ) override; 56 virtual void visit( UntypedExpr *untyped ) override; 55 57 56 58 Label setLabelsDef( std::list< Label > &, Statement *definition ); -
src/ControlStruct/LabelTypeChecker.cc
r40744af8 rf51aefb 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // LabelTypeChecker.cc -- 7 // LabelTypeChecker.cc -- 8 8 // 9 9 // Author : Rodolfo G. Esteves … … 28 28 assert( untypedExpr != 0 ); 29 29 NameExpr *fname; 30 if ( ((fname = dynamic_cast<NameExpr *>(untypedExpr->get_function())) != 0) 30 if ( ((fname = dynamic_cast<NameExpr *>(untypedExpr->get_function())) != 0) 31 31 && fname->get_name() == std::string("&&") ) 32 32 std::cerr << "Taking the label of an address." << std::endl; … … 58 58 59 59 NameExpr *name; 60 if ( ( (name = dynamic_cast<NameExpr *>(target)) == 0))60 if ( (name = dynamic_cast<NameExpr *>(target)) == 0 ) 61 61 return; // Not a name expression 62 62 63 63 std::list< DeclarationWithType * > interps; 64 64 index.lookupId(name->get_name(), interps); -
src/GenPoly/Box.cc
r40744af8 rf51aefb 64 64 65 65 /// Adds layout-generation functions to polymorphic types 66 class LayoutFunctionBuilder : public DeclMutator {66 class LayoutFunctionBuilder final : public DeclMutator { 67 67 unsigned int functionNesting; // current level of nested functions 68 68 public: 69 69 LayoutFunctionBuilder() : functionNesting( 0 ) {} 70 70 71 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ); 72 virtual Declaration *mutate( StructDecl *structDecl ); 73 virtual Declaration *mutate( UnionDecl *unionDecl ); 71 using DeclMutator::mutate; 72 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 73 virtual Declaration *mutate( StructDecl *structDecl ) override; 74 virtual Declaration *mutate( UnionDecl *unionDecl ) override; 74 75 }; 75 76 76 77 /// Replaces polymorphic return types with out-parameters, replaces calls to polymorphic functions with adapter calls as needed, and adds appropriate type variables to the function call 77 class Pass1 : public PolyMutator {78 class Pass1 final : public PolyMutator { 78 79 public: 79 80 Pass1(); 80 virtual Expression *mutate( ApplicationExpr *appExpr ); 81 virtual Expression *mutate( AddressExpr *addrExpr ); 82 virtual Expression *mutate( UntypedExpr *expr ); 83 virtual DeclarationWithType* mutate( FunctionDecl *functionDecl ); 84 virtual TypeDecl *mutate( TypeDecl *typeDecl ); 85 virtual Expression *mutate( CommaExpr *commaExpr ); 86 virtual Expression *mutate( ConditionalExpr *condExpr ); 87 virtual Statement * mutate( ReturnStmt *returnStmt ); 88 virtual Type *mutate( PointerType *pointerType ); 89 virtual Type * mutate( FunctionType *functionType ); 90 91 virtual void doBeginScope(); 92 virtual void doEndScope(); 81 82 using PolyMutator::mutate; 83 virtual Expression *mutate( ApplicationExpr *appExpr ) override; 84 virtual Expression *mutate( AddressExpr *addrExpr ) override; 85 virtual Expression *mutate( UntypedExpr *expr ) override; 86 virtual DeclarationWithType* mutate( FunctionDecl *functionDecl ) override; 87 virtual TypeDecl *mutate( TypeDecl *typeDecl ) override; 88 virtual Expression *mutate( CommaExpr *commaExpr ) override; 89 virtual Expression *mutate( ConditionalExpr *condExpr ) override; 90 virtual Statement * mutate( ReturnStmt *returnStmt ) override; 91 virtual Type *mutate( PointerType *pointerType ) override; 92 virtual Type * mutate( FunctionType *functionType ) override; 93 94 virtual void doBeginScope() override; 95 virtual void doEndScope() override; 93 96 private: 94 97 /// Pass the extra type parameters from polymorphic generic arguments or return types into a function application … … 135 138 /// * Moves polymorphic returns in function types to pointer-type parameters 136 139 /// * adds type size and assertion parameters to parameter lists 137 class Pass2 : public PolyMutator {140 class Pass2 final : public PolyMutator { 138 141 public: 139 142 template< typename DeclClass > 140 143 DeclClass *handleDecl( DeclClass *decl, Type *type ); 141 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ); 142 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ); 143 virtual TypeDecl *mutate( TypeDecl *typeDecl ); 144 virtual TypedefDecl *mutate( TypedefDecl *typedefDecl ); 145 virtual Type *mutate( PointerType *pointerType ); 146 virtual Type *mutate( FunctionType *funcType ); 144 145 using PolyMutator::mutate; 146 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 147 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) override; 148 virtual TypeDecl *mutate( TypeDecl *typeDecl ) override; 149 virtual TypedefDecl *mutate( TypedefDecl *typedefDecl ) override; 150 virtual Type *mutate( PointerType *pointerType ) override; 151 virtual Type *mutate( FunctionType *funcType ) override; 147 152 148 153 private: … … 156 161 /// * Calculates polymorphic offsetof expressions from offset array 157 162 /// * Inserts dynamic calculation of polymorphic type layouts where needed 158 class PolyGenericCalculator : public PolyMutator {163 class PolyGenericCalculator final : public PolyMutator { 159 164 public: 160 165 typedef PolyMutator Parent; … … 163 168 template< typename DeclClass > 164 169 DeclClass *handleDecl( DeclClass *decl, Type *type ); 165 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) ;166 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) ;167 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ) ;168 virtual TypeDecl *mutate( TypeDecl *objectDecl ) ;169 virtual Statement *mutate( DeclStmt *declStmt ) ;170 virtual Type *mutate( PointerType *pointerType ) ;171 virtual Type *mutate( FunctionType *funcType ) ;172 virtual Expression *mutate( MemberExpr *memberExpr ) ;173 virtual Expression *mutate( SizeofExpr *sizeofExpr ) ;174 virtual Expression *mutate( AlignofExpr *alignofExpr ) ;175 virtual Expression *mutate( OffsetofExpr *offsetofExpr ) ;176 virtual Expression *mutate( OffsetPackExpr *offsetPackExpr ) ;177 178 virtual void doBeginScope() ;179 virtual void doEndScope() ;170 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 171 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) override; 172 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ) override; 173 virtual TypeDecl *mutate( TypeDecl *objectDecl ) override; 174 virtual Statement *mutate( DeclStmt *declStmt ) override; 175 virtual Type *mutate( PointerType *pointerType ) override; 176 virtual Type *mutate( FunctionType *funcType ) override; 177 virtual Expression *mutate( MemberExpr *memberExpr ) override; 178 virtual Expression *mutate( SizeofExpr *sizeofExpr ) override; 179 virtual Expression *mutate( AlignofExpr *alignofExpr ) override; 180 virtual Expression *mutate( OffsetofExpr *offsetofExpr ) override; 181 virtual Expression *mutate( OffsetPackExpr *offsetPackExpr ) override; 182 183 virtual void doBeginScope() override; 184 virtual void doEndScope() override; 180 185 181 186 private: … … 197 202 198 203 /// Replaces initialization of polymorphic values with alloca, declaration of dtype/ftype with appropriate void expression, and sizeof expressions of polymorphic types with the proper variable 199 class Pass3 : public PolyMutator {204 class Pass3 final : public PolyMutator { 200 205 public: 201 206 template< typename DeclClass > 202 207 DeclClass *handleDecl( DeclClass *decl, Type *type ); 203 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ); 204 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ); 205 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ); 206 virtual TypeDecl *mutate( TypeDecl *objectDecl ); 207 virtual Type *mutate( PointerType *pointerType ); 208 virtual Type *mutate( FunctionType *funcType ); 208 209 using PolyMutator::mutate; 210 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 211 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) override; 212 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ) override; 213 virtual TypeDecl *mutate( TypeDecl *objectDecl ) override; 214 virtual Type *mutate( PointerType *pointerType ) override; 215 virtual Type *mutate( FunctionType *funcType ) override; 209 216 private: 210 217 }; -
src/GenPoly/InstantiateGeneric.cc
r40744af8 rf51aefb 147 147 148 148 /// Mutator pass that replaces concrete instantiations of generic types with actual struct declarations, scoped appropriately 149 class GenericInstantiator : public DeclMutator {149 class GenericInstantiator final : public DeclMutator { 150 150 /// Map of (generic type, parameter list) pairs to concrete type instantiations 151 151 InstantiationMap< AggregateDecl, AggregateDecl > instantiations; … … 158 158 GenericInstantiator() : DeclMutator(), instantiations(), dtypeStatics(), typeNamer("_conc_") {} 159 159 160 virtual Type* mutate( StructInstType *inst ); 161 virtual Type* mutate( UnionInstType *inst ); 162 163 virtual void doBeginScope(); 164 virtual void doEndScope(); 160 using DeclMutator::mutate; 161 virtual Type* mutate( StructInstType *inst ) override; 162 virtual Type* mutate( UnionInstType *inst ) override; 163 164 virtual void doBeginScope() override; 165 virtual void doEndScope() override; 165 166 private: 166 167 /// Wrap instantiation lookup for structs -
src/GenPoly/Specialize.cc
r40744af8 rf51aefb 36 36 const std::list<Label> noLabels; 37 37 38 class Specialize : public PolyMutator {38 class Specialize final : public PolyMutator { 39 39 public: 40 40 Specialize( std::string paramPrefix = "_p" ); 41 41 42 virtual Expression * mutate( ApplicationExpr *applicationExpr ); 43 virtual Expression * mutate( AddressExpr *castExpr ); 44 virtual Expression * mutate( CastExpr *castExpr ); 42 using PolyMutator::mutate; 43 virtual Expression * mutate( ApplicationExpr *applicationExpr ) override; 44 virtual Expression * mutate( AddressExpr *castExpr ) override; 45 virtual Expression * mutate( CastExpr *castExpr ) override; 45 46 // virtual Expression * mutate( LogicalExpr *logicalExpr ); 46 47 // virtual Expression * mutate( ConditionalExpr *conditionalExpr ); -
src/InitTweak/FixInit.cc
r40744af8 rf51aefb 50 50 const std::list<Expression*> noDesignators; 51 51 52 class InsertImplicitCalls : public GenPoly::PolyMutator {52 class InsertImplicitCalls final : public GenPoly::PolyMutator { 53 53 public: 54 54 /// wrap function application expressions as ImplicitCopyCtorExpr nodes so that it is easy to identify which … … 56 56 static void insert( std::list< Declaration * > & translationUnit ); 57 57 58 virtual Expression * mutate( ApplicationExpr * appExpr ); 59 }; 60 61 class ResolveCopyCtors : public SymTab::Indexer { 58 using GenPoly::PolyMutator::mutate; 59 virtual Expression * mutate( ApplicationExpr * appExpr ) override; 60 }; 61 62 class ResolveCopyCtors final : public SymTab::Indexer { 62 63 public: 63 64 /// generate temporary ObjectDecls for each argument and return value of each ImplicitCopyCtorExpr, … … 66 67 static void resolveImplicitCalls( std::list< Declaration * > & translationUnit ); 67 68 68 virtual void visit( ImplicitCopyCtorExpr * impCpCtorExpr ); 69 using SymTab::Indexer::visit; 70 virtual void visit( ImplicitCopyCtorExpr * impCpCtorExpr ) override; 69 71 70 72 /// create and resolve ctor/dtor expression: fname(var, [cpArg]) … … 82 84 using Parent::visit; 83 85 typedef std::set< ObjectDecl * > ObjectSet; 84 virtual void visit( CompoundStmt *compoundStmt ) ;85 virtual void visit( DeclStmt *stmt ) ;86 virtual void visit( CompoundStmt *compoundStmt ) override; 87 virtual void visit( DeclStmt *stmt ) override; 86 88 protected: 87 89 ObjectSet curVars; … … 103 105 } 104 106 105 class LabelFinder : public ObjDeclCollector {107 class LabelFinder final : public ObjDeclCollector { 106 108 public: 107 109 typedef ObjDeclCollector Parent; … … 117 119 // subclasses are added, there is only one place that the code has to be updated, rather than ensure that 118 120 // every specialized class knows about every new kind of statement that might be added. 119 virtual void visit( CompoundStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 120 virtual void visit( ExprStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 121 virtual void visit( AsmStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 122 virtual void visit( IfStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 123 virtual void visit( WhileStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 124 virtual void visit( ForStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 125 virtual void visit( SwitchStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 126 virtual void visit( CaseStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 127 virtual void visit( BranchStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 128 virtual void visit( ReturnStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 129 virtual void visit( TryStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 130 virtual void visit( CatchStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 131 virtual void visit( FinallyStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 132 virtual void visit( NullStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 133 virtual void visit( DeclStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 134 virtual void visit( ImplicitCtorDtorStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 135 }; 136 137 class InsertDtors : public ObjDeclCollector { 121 using Parent::visit; 122 virtual void visit( CompoundStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 123 virtual void visit( ExprStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 124 virtual void visit( AsmStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 125 virtual void visit( IfStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 126 virtual void visit( WhileStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 127 virtual void visit( ForStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 128 virtual void visit( SwitchStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 129 virtual void visit( CaseStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 130 virtual void visit( BranchStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 131 virtual void visit( ReturnStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 132 virtual void visit( TryStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 133 virtual void visit( CatchStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 134 virtual void visit( FinallyStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 135 virtual void visit( NullStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 136 virtual void visit( DeclStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 137 virtual void visit( ImplicitCtorDtorStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 138 }; 139 140 class InsertDtors final : public ObjDeclCollector { 138 141 public: 139 142 /// insert destructor calls at the appropriate places. must happen before CtorInit nodes are removed … … 147 150 InsertDtors( LabelFinder & finder ) : labelVars( finder.vars ) {} 148 151 149 virtual void visit( ObjectDecl * objDecl ); 150 151 virtual void visit( CompoundStmt * compoundStmt ); 152 virtual void visit( ReturnStmt * returnStmt ); 153 virtual void visit( BranchStmt * stmt ); 152 using Parent::visit; 153 154 virtual void visit( ObjectDecl * objDecl ) override; 155 156 virtual void visit( CompoundStmt * compoundStmt ) override; 157 virtual void visit( ReturnStmt * returnStmt ) override; 158 virtual void visit( BranchStmt * stmt ) override; 154 159 private: 155 160 void handleGoto( BranchStmt * stmt ); … … 159 164 }; 160 165 161 class FixInit : public GenPoly::PolyMutator {166 class FixInit final : public GenPoly::PolyMutator { 162 167 public: 163 168 /// expand each object declaration to use its constructor after it is declared. 164 169 static void fixInitializers( std::list< Declaration * > &translationUnit ); 165 170 166 virtual DeclarationWithType * mutate( ObjectDecl *objDecl ); 171 using GenPoly::PolyMutator::mutate; 172 virtual DeclarationWithType * mutate( ObjectDecl *objDecl ) override; 167 173 168 174 std::list< Declaration * > staticDtorDecls; 169 175 }; 170 176 171 class FixCopyCtors : public GenPoly::PolyMutator {177 class FixCopyCtors final : public GenPoly::PolyMutator { 172 178 public: 173 179 /// expand ImplicitCopyCtorExpr nodes into the temporary declarations, copy constructors, call expression, … … 175 181 static void fixCopyCtors( std::list< Declaration * > &translationUnit ); 176 182 177 virtual Expression * mutate( ImplicitCopyCtorExpr * impCpCtorExpr ); 178 }; 179 180 class GenStructMemberCalls : public SymTab::Indexer { 183 using GenPoly::PolyMutator::mutate; 184 virtual Expression * mutate( ImplicitCopyCtorExpr * impCpCtorExpr ) override; 185 }; 186 187 class GenStructMemberCalls final : public SymTab::Indexer { 181 188 public: 182 189 typedef Indexer Parent; … … 186 193 static void generate( std::list< Declaration * > & translationUnit ); 187 194 188 virtual void visit( FunctionDecl * funcDecl ); 189 190 virtual void visit( MemberExpr * memberExpr ); 191 virtual void visit( ApplicationExpr * appExpr ); 195 using Parent::visit; 196 197 virtual void visit( FunctionDecl * funcDecl ) override; 198 199 virtual void visit( MemberExpr * memberExpr ) override; 200 virtual void visit( ApplicationExpr * appExpr ) override; 192 201 193 202 SemanticError errors; … … 207 216 // resolve UntypedExprs that are found within newly 208 217 // generated constructor/destructor calls 209 class MutatingResolver : public Mutator {218 class MutatingResolver final : public Mutator { 210 219 public: 211 220 MutatingResolver( SymTab::Indexer & indexer ) : indexer( indexer ) {} 212 221 213 virtual DeclarationWithType* mutate( ObjectDecl *objectDecl ); 214 215 virtual Expression* mutate( UntypedExpr *untypedExpr ); 216 private: 222 using Mutator::mutate; 223 virtual DeclarationWithType* mutate( ObjectDecl *objectDecl ) override; 224 virtual Expression* mutate( UntypedExpr *untypedExpr ) override; 225 226 private: 217 227 SymTab::Indexer & indexer; 218 228 }; 219 229 220 class FixCtorExprs : public GenPoly::DeclMutator {230 class FixCtorExprs final : public GenPoly::DeclMutator { 221 231 public: 222 232 /// expands ConstructorExpr nodes into comma expressions, using a temporary for the first argument 223 233 static void fix( std::list< Declaration * > & translationUnit ); 224 234 225 virtual Expression * mutate( ConstructorExpr * ctorExpr ); 235 using GenPoly::DeclMutator::mutate; 236 virtual Expression * mutate( ConstructorExpr * ctorExpr ) override; 226 237 }; 227 238 } // namespace -
src/InitTweak/GenInit.cc
r40744af8 rf51aefb 36 36 } 37 37 38 class ReturnFixer : public GenPoly::PolyMutator {38 class ReturnFixer final : public GenPoly::PolyMutator { 39 39 public: 40 40 /// consistently allocates a temporary variable for the return value … … 45 45 ReturnFixer(); 46 46 47 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl );48 49 virtual Statement * mutate( ReturnStmt * returnStmt ) ;47 using GenPoly::PolyMutator::mutate; 48 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override; 49 virtual Statement * mutate( ReturnStmt * returnStmt ) override; 50 50 51 51 protected: … … 55 55 }; 56 56 57 class CtorDtor : public GenPoly::PolyMutator {57 class CtorDtor final : public GenPoly::PolyMutator { 58 58 public: 59 59 typedef GenPoly::PolyMutator Parent; … … 65 65 static void generateCtorDtor( std::list< Declaration * > &translationUnit ); 66 66 67 virtual DeclarationWithType * mutate( ObjectDecl * ) ;68 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) ;67 virtual DeclarationWithType * mutate( ObjectDecl * ) override; 68 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override; 69 69 // should not traverse into any of these declarations to find objects 70 70 // that need to be constructed or destructed 71 virtual Declaration* mutate( StructDecl *aggregateDecl ) ;72 virtual Declaration* mutate( UnionDecl *aggregateDecl ) { return aggregateDecl; }73 virtual Declaration* mutate( EnumDecl *aggregateDecl ) { return aggregateDecl; }74 virtual Declaration* mutate( TraitDecl *aggregateDecl ) { return aggregateDecl; }75 virtual TypeDecl* mutate( TypeDecl *typeDecl ) { return typeDecl; }76 virtual Declaration* mutate( TypedefDecl *typeDecl ) { return typeDecl; }77 78 virtual Type * mutate( FunctionType *funcType ) { return funcType; }79 80 virtual CompoundStmt * mutate( CompoundStmt * compoundStmt ) ;71 virtual Declaration* mutate( StructDecl *aggregateDecl ) override; 72 virtual Declaration* mutate( UnionDecl *aggregateDecl ) override { return aggregateDecl; } 73 virtual Declaration* mutate( EnumDecl *aggregateDecl ) override { return aggregateDecl; } 74 virtual Declaration* mutate( TraitDecl *aggregateDecl ) override { return aggregateDecl; } 75 virtual TypeDecl* mutate( TypeDecl *typeDecl ) override { return typeDecl; } 76 virtual Declaration* mutate( TypedefDecl *typeDecl ) override { return typeDecl; } 77 78 virtual Type * mutate( FunctionType *funcType ) override { return funcType; } 79 80 virtual CompoundStmt * mutate( CompoundStmt * compoundStmt ) override; 81 81 82 82 private: … … 91 91 }; 92 92 93 class HoistArrayDimension : public GenPoly::DeclMutator {93 class HoistArrayDimension final : public GenPoly::DeclMutator { 94 94 public: 95 95 typedef GenPoly::DeclMutator Parent; … … 101 101 102 102 private: 103 virtual DeclarationWithType * mutate( ObjectDecl * objectDecl ); 104 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ); 103 using Parent::mutate; 104 105 virtual DeclarationWithType * mutate( ObjectDecl * objectDecl ) override; 106 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override; 105 107 // should not traverse into any of these declarations to find objects 106 108 // that need to be constructed or destructed 107 virtual Declaration* mutate( StructDecl *aggregateDecl ) { return aggregateDecl; }108 virtual Declaration* mutate( UnionDecl *aggregateDecl ) { return aggregateDecl; }109 virtual Declaration* mutate( EnumDecl *aggregateDecl ) { return aggregateDecl; }110 virtual Declaration* mutate( TraitDecl *aggregateDecl ) { return aggregateDecl; }111 virtual TypeDecl* mutate( TypeDecl *typeDecl ) { return typeDecl; }112 virtual Declaration* mutate( TypedefDecl *typeDecl ) { return typeDecl; }113 114 virtual Type* mutate( FunctionType *funcType ) { return funcType; }109 virtual Declaration* mutate( StructDecl *aggregateDecl ) override { return aggregateDecl; } 110 virtual Declaration* mutate( UnionDecl *aggregateDecl ) override { return aggregateDecl; } 111 virtual Declaration* mutate( EnumDecl *aggregateDecl ) override { return aggregateDecl; } 112 virtual Declaration* mutate( TraitDecl *aggregateDecl ) override { return aggregateDecl; } 113 virtual TypeDecl* mutate( TypeDecl *typeDecl ) override { return typeDecl; } 114 virtual Declaration* mutate( TypedefDecl *typeDecl ) override { return typeDecl; } 115 116 virtual Type* mutate( FunctionType *funcType ) override { return funcType; } 115 117 116 118 void hoist( Type * type ); -
src/InitTweak/InitTweak.h
r40744af8 rf51aefb 100 100 101 101 class ExpanderImpl; 102 typedef std::list< Expression * > IndexList; 102 103 private: 103 104 std::shared_ptr< ExpanderImpl > expander; … … 105 106 106 107 // invariant: list of size 2N (elements come in pairs [index, dimension]) 107 typedef std::list< Expression * > IndexList;108 108 IndexList indices; 109 109 }; -
src/Makefile.am
r40744af8 rf51aefb 6 6 ## file "LICENCE" distributed with Cforall. 7 7 ## 8 ## Makefile.am -- 8 ## Makefile.am -- 9 9 ## 10 10 ## Author : Peter A. Buhr 11 11 ## Created On : Sun May 31 08:51:46 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Sat Sep 24 15:03:52201614 ## Update Count : 7 313 ## Last Modified On : Thu Oct 27 20:41:25 2016 14 ## Update Count : 75 15 15 ############################################################################### 16 16 … … 41 41 driver_cfa_cpp_SOURCES = ${SRC} 42 42 driver_cfa_cpp_LDADD = ${LEXLIB} -ldl # yywrap 43 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -rdynamic -I${abs_top_srcdir}/src/include 43 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${abs_top_srcdir}/src/include -DYY_NO_INPUT 44 driver_cfa_cpp_LDFLAGS = -Xlinker -export-dynamic 44 45 45 46 MAINTAINERCLEANFILES += ${libdir}/${notdir ${cfa_cpplib_PROGRAMS}} -
src/Makefile.in
r40744af8 rf51aefb 197 197 driver_cfa_cpp_DEPENDENCIES = $(am__DEPENDENCIES_1) 198 198 driver_cfa_cpp_LINK = $(CXXLD) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) \ 199 $( AM_LDFLAGS) $(LDFLAGS) -o $@199 $(driver_cfa_cpp_LDFLAGS) $(LDFLAGS) -o $@ 200 200 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 201 201 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp … … 417 417 driver_cfa_cpp_SOURCES = ${SRC} 418 418 driver_cfa_cpp_LDADD = ${LEXLIB} -ldl # yywrap 419 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -rdynamic -I${abs_top_srcdir}/src/include 419 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${abs_top_srcdir}/src/include -DYY_NO_INPUT 420 driver_cfa_cpp_LDFLAGS = -Xlinker -export-dynamic 420 421 all: $(BUILT_SOURCES) 421 422 $(MAKE) $(AM_MAKEFLAGS) all-am -
src/Parser/DeclarationNode.cc
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 26 22:18:40201613 // Update Count : 6 4012 // Last Modified On : Mon Oct 3 18:03:08 2016 13 // Update Count : 651 14 14 // 15 15 … … 56 56 extension( false ) { 57 57 58 variable.name = nullptr;59 variable.tyClass = DeclarationNode::Otype;58 // variable.name = nullptr; 59 variable.tyClass = NoTypeClass; 60 60 variable.assertions = nullptr; 61 61 62 attr.name = nullptr;62 // attr.name = nullptr; 63 63 attr.expr = nullptr; 64 64 attr.type = nullptr; … … 66 66 67 67 DeclarationNode::~DeclarationNode() { 68 delete attr.name;68 // delete attr.name; 69 69 delete attr.expr; 70 70 delete attr.type; 71 71 72 delete variable.name;72 // delete variable.name; 73 73 delete variable.assertions; 74 74 … … 91 91 newnode->linkage = linkage; 92 92 93 newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr;93 // newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr; 94 94 newnode->variable.tyClass = variable.tyClass; 95 95 newnode->variable.assertions = maybeClone( variable.assertions ); 96 96 97 newnode->attr.name = attr.name ? new string( *attr.name ) : nullptr;97 // newnode->attr.name = attr.name ? new string( *attr.name ) : nullptr; 98 98 newnode->attr.expr = maybeClone( attr.expr ); 99 99 newnode->attr.type = maybeClone( attr.type ); … … 114 114 115 115 if ( linkage != LinkageSpec::Cforall ) { 116 os << LinkageSpec:: toString( linkage ) << " ";116 os << LinkageSpec::linkageName( linkage ) << " "; 117 117 } // if 118 118 … … 283 283 DeclarationNode * newnode = new DeclarationNode; 284 284 newnode->type = nullptr; 285 assert( ! newnode->name ); 286 // newnode->variable.name = name; 287 newnode->name = name; 285 288 newnode->variable.tyClass = tc; 286 newnode->variable. name = name;289 newnode->variable.assertions = nullptr; 287 290 return newnode; 288 291 } // DeclarationNode::newTypeParam … … 375 378 DeclarationNode * newnode = new DeclarationNode; 376 379 newnode->type = nullptr; 377 newnode->attr.name = name; 380 // newnode->attr.name = name; 381 newnode->name = name; 378 382 newnode->attr.expr = expr; 379 383 return newnode; … … 383 387 DeclarationNode * newnode = new DeclarationNode; 384 388 newnode->type = nullptr; 385 newnode->attr.name = name; 389 // newnode->attr.name = name; 390 newnode->name = name; 386 391 newnode->attr.type = type; 387 392 return newnode; … … 604 609 605 610 DeclarationNode * DeclarationNode::addAssertions( DeclarationNode * assertions ) { 606 if ( variable. name) {611 if ( variable.tyClass != NoTypeClass ) { 607 612 if ( variable.assertions ) { 608 613 variable.assertions->appendList( assertions ); … … 622 627 } // if 623 628 break; 624 // case TypeData::Variable:625 // if ( variable.assertions ) {626 // variable.assertions->appendList( assertions );627 // } else {628 // variable.assertions = assertions;629 // } // if630 // break;631 629 default: 632 630 assert( false ); … … 938 936 if ( ! error.empty() ) throw SemanticError( error + " in declaration of ", this ); 939 937 940 if ( variable.name ) { 938 // if ( variable.name ) { 939 if ( variable.tyClass != NoTypeClass ) { 941 940 static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Ftype, TypeDecl::Dtype }; 942 TypeDecl * ret = new TypeDecl( *variable.name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] ); 941 // TypeDecl * ret = new TypeDecl( *variable.name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] ); 942 TypeDecl * ret = new TypeDecl( *name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] ); 943 943 buildList( variable.assertions, ret->get_assertions() ); 944 944 return ret; … … 960 960 assert( type ); 961 961 962 if ( attr.name ) { 963 AttrType * ret; 964 if ( attr.expr ) { 965 ret = new AttrType( buildQualifiers( type ), *attr.name, attr.expr->build() ); 966 } else { 967 assert( attr.type ); 968 ret = new AttrType( buildQualifiers( type ), *attr.name, attr.type->buildType() ); 969 } // if 970 return ret; 962 if ( attr.expr ) { 963 // return new AttrType( buildQualifiers( type ), *attr.name, attr.expr->build() ); 964 return new AttrType( buildQualifiers( type ), *name, attr.expr->build() ); 965 } else if ( attr.type ) { 966 // return new AttrType( buildQualifiers( type ), *attr.name, attr.type->buildType() ); 967 return new AttrType( buildQualifiers( type ), *name, attr.type->buildType() ); 971 968 } // if 972 969 -
src/Parser/InitializerNode.cc
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:20:24 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 15 18:27:02201613 // Update Count : 2 012 // Last Modified On : Sat Oct 1 23:09:51 2016 13 // Update Count : 21 14 14 // 15 15 … … 23 23 24 24 InitializerNode::InitializerNode( ExpressionNode *_expr, bool aggrp, ExpressionNode *des ) 25 : expr( _expr ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) {25 : expr( _expr ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) { 26 26 if ( aggrp ) 27 27 kids = dynamic_cast< InitializerNode * >( get_next() ); … … 32 32 33 33 InitializerNode::InitializerNode( InitializerNode *init, bool aggrp, ExpressionNode *des ) 34 : expr( 0 ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) {34 : expr( 0 ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) { 35 35 if ( init != 0 ) 36 36 set_last( init ); … … 79 79 80 80 Initializer *InitializerNode::build() const { 81 // if ( get_expression() == 0 ) return 0; // XXX (?)82 83 81 if ( aggregate ) { 84 //assert( next_init() != 0 );85 86 82 std::list< Initializer * > initlist; 87 83 buildList< Initializer, InitializerNode >( next_init(), initlist ); -
src/Parser/LinkageSpec.cc
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:22:09 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Aug 21 12:32:53201613 // Update Count : 1712 // Last Modified On : Sun Oct 2 23:16:21 2016 13 // Update Count : 23 14 14 // 15 15 … … 17 17 #include <string> 18 18 #include <cassert> 19 using namespace std; 19 20 20 21 #include "LinkageSpec.h" 21 22 #include "Common/SemanticError.h" 22 23 23 LinkageSpec::Spec LinkageSpec:: fromString( const std::string &spec ) {24 std::unique_ptr<const std::string> guard(&spec);// allocated by lexer25 if ( spec == "\"Cforall\"" ) {24 LinkageSpec::Spec LinkageSpec::linkageCheck( const string * spec ) { 25 unique_ptr<const string> guard( spec ); // allocated by lexer 26 if ( *spec == "\"Cforall\"" ) { 26 27 return Cforall; 27 } else if ( spec == "\"C\"" ) {28 } else if ( *spec == "\"C\"" ) { 28 29 return C; 29 30 } else { 30 throw SemanticError( "Invalid linkage specifier " + spec );31 throw SemanticError( "Invalid linkage specifier " + *spec ); 31 32 } // if 32 33 } 33 34 34 st d::string LinkageSpec::toString( LinkageSpec::Spec linkage ) {35 assert( linkage >= 0&& linkage < LinkageSpec::NoOfSpecs );35 string LinkageSpec::linkageName( LinkageSpec::Spec linkage ) { 36 assert( 0 <= linkage && linkage < LinkageSpec::NoOfSpecs ); 36 37 static const char *linkageKinds[LinkageSpec::NoOfSpecs] = { 37 38 "intrinsic", "Cforall", "C", "automatically generated", "compiler built-in", … … 41 42 42 43 bool LinkageSpec::isDecoratable( Spec spec ) { 43 assert( spec >= 0&& spec < LinkageSpec::NoOfSpecs );44 assert( 0 <= spec && spec < LinkageSpec::NoOfSpecs ); 44 45 static bool decoratable[LinkageSpec::NoOfSpecs] = { 45 46 // Intrinsic, Cforall, C, AutoGen, Compiler … … 50 51 51 52 bool LinkageSpec::isGeneratable( Spec spec ) { 52 assert( spec >= 0&& spec < LinkageSpec::NoOfSpecs );53 assert( 0 <= spec && spec < LinkageSpec::NoOfSpecs ); 53 54 static bool generatable[LinkageSpec::NoOfSpecs] = { 54 55 // Intrinsic, Cforall, C, AutoGen, Compiler -
src/Parser/LinkageSpec.h
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:24:28 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 20 19:22:23201613 // Update Count : 812 // Last Modified On : Sat Oct 1 23:03:17 2016 13 // Update Count : 11 14 14 // 15 15 … … 29 29 }; 30 30 31 static Spec fromString( const std::string &);32 static std::string toString( Spec );31 static Spec linkageCheck( const std::string * ); 32 static std::string linkageName( Spec ); 33 33 34 34 static bool isDecoratable( Spec ); -
src/Parser/ParseNode.cc
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:26:29 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 23:14:16201613 // Update Count : 12 612 // Last Modified On : Sat Oct 1 23:10:43 2016 13 // Update Count : 127 14 14 // 15 15 … … 20 20 21 21 std::ostream & operator<<( std::ostream & out, const ParseNode * node ) { 22 23 22 node->print( out ); 23 return out; 24 24 } 25 25 -
src/Parser/ParseNode.h
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 24 11:12:04201613 // Update Count : 63 312 // Last Modified On : Mon Oct 3 18:03:08 2016 13 // Update Count : 636 14 14 // 15 15 … … 109 109 ExpressionNode * set_extension( bool exten ) { extension = exten; return this; } 110 110 111 v oid print( std::ostream &os, int indent = 0 ) const{}111 virtual void print( std::ostream &os, int indent = 0 ) const override {} 112 112 void printOneLine( std::ostream &os, int indent = 0 ) const {} 113 113 … … 187 187 //############################################################################## 188 188 189 classTypeData;189 struct TypeData; 190 190 191 191 class DeclarationNode : public ParseNode { … … 198 198 enum Signedness { Signed, Unsigned, NoSignedness }; 199 199 enum Length { Short, Long, LongLong, NoLength }; 200 enum Aggregate { Struct, Union, Trait };201 enum TypeClass { Otype, Dtype, Ftype };200 enum Aggregate { Struct, Union, Trait, NoAggregate }; 201 enum TypeClass { Otype, Dtype, Ftype, NoTypeClass }; 202 202 enum BuiltinType { Valist }; 203 203 … … 271 271 } 272 272 273 v oid print( std::ostream &os, int indent = 0 ) const;274 v oid printList( std::ostream &os, int indent = 0 ) const;273 virtual void print( std::ostream &os, int indent = 0 ) const override; 274 virtual void printList( std::ostream &os, int indent = 0 ) const override; 275 275 276 276 Declaration * build() const; … … 287 287 public: 288 288 struct Variable_t { 289 const std::string * name;289 // const std::string * name; 290 290 DeclarationNode::TypeClass tyClass; 291 291 DeclarationNode * assertions; … … 294 294 295 295 struct Attr_t { 296 const std::string * name;296 // const std::string * name; 297 297 ExpressionNode * expr; 298 298 DeclarationNode * type; … … 345 345 virtual StatementNode * append_last_case( StatementNode * ); 346 346 347 virtual void print( std::ostream &os, int indent = 0 ) {}348 virtual void printList( std::ostream &os, int indent = 0 ) {}347 virtual void print( std::ostream &os, int indent = 0 ) const override {} 348 virtual void printList( std::ostream &os, int indent = 0 ) const override {} 349 349 private: 350 350 std::unique_ptr<Statement> stmt; -
src/Parser/TypeData.h
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 24 11:10:38 201613 // Update Count : 14 112 // Last Modified On : Mon Oct 3 12:34:08 2016 13 // Update Count : 142 14 14 // 15 15 … … 23 23 24 24 struct TypeData { 25 enum Kind { Unknown, Basic, Pointer, Array, Function, Aggregate, AggregateInst,26 Enum, EnumConstant, Symbolic, SymbolicInst, Tuple, Typeof, Builtin };25 enum Kind { Basic, Pointer, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic, 26 SymbolicInst, Tuple, Typeof, Builtin, Unknown }; 27 27 28 28 struct Aggregate_t { -
src/Parser/lex.cc
r40744af8 rf51aefb 382 382 (yy_c_buf_p) = yy_cp; 383 383 384 #define YY_NUM_RULES 18 1385 #define YY_END_OF_BUFFER 18 2384 #define YY_NUM_RULES 183 385 #define YY_END_OF_BUFFER 184 386 386 /* This struct is not used in this scanner, 387 387 but its presence is necessary. */ … … 391 391 flex_int32_t yy_nxt; 392 392 }; 393 static yyconst flex_int16_t yy_accept[89 2] =393 static yyconst flex_int16_t yy_accept[895] = 394 394 { 0, 395 0, 0, 0, 0, 0, 0, 11 6, 116, 119, 119,396 18 2, 180, 7, 9, 8, 139, 118, 103, 144, 147,397 11 5, 126, 127, 142, 140, 130, 141, 133, 143, 108,398 109, 110, 13 1, 132, 149, 151, 150, 152, 180, 103,399 12 4, 180, 125, 145, 103, 105, 103, 103, 103, 103,395 0, 0, 0, 0, 0, 0, 118, 118, 121, 121, 396 184, 182, 7, 9, 8, 141, 120, 103, 146, 149, 397 117, 128, 129, 144, 142, 132, 143, 135, 145, 108, 398 109, 110, 133, 134, 151, 153, 152, 154, 182, 103, 399 126, 182, 127, 147, 103, 105, 103, 103, 103, 103, 400 400 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 401 103, 103, 1 28, 148, 129, 146, 7, 180, 4, 4,402 18 1, 106, 181, 107, 116, 117, 123, 119, 120, 7,403 9, 0, 8, 15 6, 175, 103, 0, 168, 138, 161,404 1 69, 166, 153, 164, 154, 165, 163, 0, 113, 3,405 406 0, 16 7, 113, 111, 0, 0, 111, 111, 0, 0,407 111, 110, 110, 110, 0, 110, 13 6, 137, 135, 157,408 1 59, 155, 160, 158, 0, 0, 0, 0, 0, 0,401 103, 103, 130, 150, 131, 148, 7, 182, 4, 4, 402 183, 106, 183, 107, 118, 119, 125, 121, 122, 7, 403 9, 0, 8, 158, 177, 103, 0, 170, 140, 163, 404 171, 168, 155, 166, 156, 167, 165, 0, 114, 3, 405 406 0, 169, 113, 111, 0, 0, 111, 111, 0, 0, 407 111, 110, 110, 110, 0, 110, 138, 139, 137, 159, 408 161, 157, 162, 160, 0, 0, 0, 0, 0, 0, 409 409 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 410 17 4, 0, 118, 115, 103, 0, 0, 171, 0, 103,410 176, 0, 120, 117, 103, 0, 0, 173, 0, 103, 411 411 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 412 412 103, 103, 103, 103, 103, 103, 38, 103, 103, 103, 413 413 103, 103, 103, 103, 103, 103, 103, 57, 103, 103, 414 414 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 415 103, 103, 103, 103, 17 0, 162, 7, 0, 0, 0,416 417 2, 0, 5, 106, 0, 0, 0, 11 6, 0, 122,418 12 1, 121, 0, 0, 0, 119, 0, 0, 0, 0,415 103, 103, 103, 103, 172, 164, 7, 0, 0, 0, 416 417 2, 0, 5, 106, 0, 0, 0, 118, 0, 124, 418 123, 123, 0, 0, 0, 121, 0, 0, 0, 0, 419 419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420 0, 13 4, 113, 113, 0, 113, 113, 0, 0, 6,421 0, 111, 0, 0, 0, 113, 0, 111, 111, 111,420 0, 136, 114, 115, 0, 115, 115, 0, 0, 6, 421 115, 111, 0, 0, 0, 115, 0, 111, 111, 111, 422 422 111, 0, 112, 0, 0, 110, 110, 110, 110, 0, 423 17 2, 173, 0, 178, 176, 0, 0, 0, 104, 0,423 174, 175, 0, 180, 178, 0, 0, 0, 104, 0, 424 424 0, 0, 0, 0, 0, 0, 0, 103, 17, 103, 425 425 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, … … 431 431 103, 103, 103, 103, 103, 90, 103, 103, 103, 103, 432 432 103, 103, 103, 0, 0, 0, 0, 0, 0, 0, 433 0, 121, 0, 0, 0, 0, 0, 121, 0, 0, 434 179, 0, 0, 0, 0, 0, 0, 0, 113, 0, 435 113, 0, 113, 0, 0, 113, 0, 111, 111, 0, 436 0, 112, 112, 0, 112, 0, 112, 110, 110, 0, 437 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 438 433 0, 123, 0, 0, 0, 0, 0, 123, 0, 0, 434 181, 0, 0, 0, 0, 0, 0, 0, 115, 0, 435 115, 0, 115, 0, 115, 0, 0, 115, 0, 111, 436 111, 0, 0, 112, 112, 0, 112, 0, 112, 110, 437 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438 439 0, 179, 103, 103, 103, 103, 103, 103, 103, 103, 439 440 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 441 103, 103, 103, 103, 103, 21, 103, 24, 103, 27, 442 103, 103, 103, 103, 103, 103, 103, 41, 103, 43, 443 103, 103, 103, 103, 103, 103, 103, 56, 103, 67, 440 444 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 441 103, 103, 103, 21, 103, 24, 103, 27, 103, 103, 442 103, 103, 103, 103, 103, 41, 103, 43, 103, 103, 443 103, 103, 103, 103, 103, 56, 103, 67, 103, 103, 445 103, 103, 103, 103, 103, 103, 98, 103, 103, 0, 446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447 0, 0, 0, 123, 0, 0, 0, 0, 0, 115, 448 0, 0, 0, 0, 0, 0, 0, 112, 112, 0, 449 450 116, 0, 112, 112, 0, 0, 0, 0, 0, 0, 451 0, 0, 0, 0, 0, 0, 0, 103, 103, 22, 452 103, 103, 103, 103, 103, 103, 103, 15, 103, 103, 444 453 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 445 103, 103, 103, 103, 98, 103, 103, 0, 0, 0, 454 103, 103, 23, 25, 103, 32, 103, 103, 103, 103, 455 40, 103, 103, 103, 103, 49, 103, 103, 54, 103, 456 103, 71, 103, 103, 103, 77, 103, 103, 103, 103, 457 103, 87, 89, 103, 103, 95, 103, 103, 102, 0, 446 458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447 0, 121, 0, 0, 0, 0, 0, 113, 0, 0, 448 0, 0, 0, 0, 112, 112, 0, 114, 0, 112, 449 450 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451 0, 0, 0, 0, 103, 103, 22, 103, 103, 103, 452 103, 103, 103, 103, 15, 103, 103, 103, 103, 103, 453 103, 103, 103, 103, 103, 103, 103, 103, 103, 23, 454 25, 103, 32, 103, 103, 103, 103, 40, 103, 103, 455 103, 103, 49, 103, 103, 54, 103, 103, 71, 103, 456 103, 103, 77, 103, 103, 103, 103, 103, 87, 89, 457 103, 103, 95, 103, 103, 102, 0, 0, 0, 0, 459 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 460 461 0, 112, 116, 116, 116, 116, 0, 112, 0, 0, 462 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 463 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 464 103, 103, 103, 103, 103, 103, 59, 103, 103, 103, 465 103, 103, 103, 103, 103, 28, 103, 103, 103, 39, 466 42, 45, 103, 103, 52, 103, 61, 68, 103, 103, 467 76, 78, 81, 82, 84, 85, 103, 103, 92, 103, 468 103, 0, 1, 0, 0, 0, 0, 0, 0, 106, 469 0, 0, 0, 123, 0, 0, 0, 0, 116, 0, 470 116, 116, 0, 0, 0, 0, 0, 0, 0, 0, 471 472 0, 103, 103, 18, 103, 103, 103, 103, 103, 103, 473 103, 16, 103, 103, 103, 33, 103, 103, 103, 103, 474 103, 103, 103, 103, 103, 103, 103, 103, 36, 37, 475 103, 48, 53, 103, 103, 103, 91, 103, 103, 0, 458 476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459 0, 0, 0, 0, 0, 114, 0, 0, 112, 114, 460 461 114, 114, 114, 0, 112, 0, 0, 0, 0, 0, 462 0, 0, 0, 0, 0, 103, 0, 103, 103, 103, 463 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 464 103, 103, 103, 59, 103, 103, 103, 103, 103, 103, 465 103, 103, 28, 103, 103, 103, 39, 42, 45, 103, 466 103, 52, 103, 61, 68, 103, 103, 76, 78, 81, 467 82, 84, 85, 103, 103, 92, 103, 103, 0, 1, 468 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 469 121, 0, 0, 0, 0, 114, 0, 114, 114, 0, 470 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 471 472 18, 103, 103, 103, 103, 103, 103, 103, 16, 103, 473 103, 103, 33, 103, 103, 103, 103, 103, 103, 103, 474 103, 103, 103, 103, 103, 36, 37, 103, 48, 53, 475 103, 103, 103, 91, 103, 103, 0, 0, 0, 0, 476 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 477 11, 29, 55, 103, 103, 103, 103, 103, 103, 103, 478 103, 103, 103, 103, 60, 62, 65, 103, 103, 79, 479 93, 103, 103, 35, 103, 47, 72, 73, 103, 96, 480 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481 0, 0, 0, 103, 69, 103, 103, 12, 103, 103, 482 483 30, 34, 103, 103, 103, 66, 103, 103, 103, 103, 484 103, 103, 103, 0, 0, 0, 0, 0, 0, 0, 485 0, 0, 0, 0, 0, 0, 58, 103, 103, 103, 486 103, 103, 103, 103, 50, 63, 74, 80, 94, 100, 487 103, 103, 103, 0, 0, 0, 0, 0, 0, 0, 488 0, 103, 103, 13, 19, 103, 103, 31, 103, 103, 489 103, 26, 46, 88, 0, 0, 103, 103, 103, 103, 490 103, 103, 75, 101, 103, 86, 20, 103, 103, 44, 491 83, 103, 103, 103, 103, 103, 103, 103, 97, 70, 492 0 477 0, 0, 10, 11, 29, 55, 103, 103, 103, 103, 478 103, 103, 103, 103, 103, 103, 103, 60, 62, 65, 479 103, 103, 79, 93, 103, 103, 35, 103, 47, 72, 480 73, 103, 96, 99, 0, 0, 0, 0, 0, 0, 481 0, 0, 0, 0, 0, 0, 103, 69, 103, 103, 482 483 12, 103, 103, 30, 34, 103, 103, 103, 66, 103, 484 103, 103, 103, 103, 103, 103, 0, 0, 0, 0, 485 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 486 103, 103, 103, 103, 103, 103, 103, 50, 63, 74, 487 80, 94, 100, 103, 103, 103, 0, 0, 0, 0, 488 0, 0, 0, 0, 103, 103, 13, 19, 103, 103, 489 31, 103, 103, 103, 26, 46, 88, 0, 0, 103, 490 103, 103, 103, 103, 103, 75, 101, 103, 86, 20, 491 103, 103, 44, 83, 103, 103, 103, 103, 103, 103, 492 103, 97, 70, 0 493 493 494 494 } ; … … 539 539 } ; 540 540 541 static yyconst flex_int16_t yy_base[106 6] =541 static yyconst flex_int16_t yy_base[1069] = 542 542 { 0, 543 0, 84, 2 285, 2282, 94, 0, 177, 178, 179, 180,544 2 298, 2825, 191, 2825, 197, 55, 2825, 2244, 60, 173,545 28 25, 2825, 2825, 56, 188, 2825, 191, 189, 204, 216,546 275, 0, 22 62, 2825, 216, 2260, 152, 344, 155, 220,547 28 25, 159, 2825, 217, 226, 2825, 185, 154, 212, 251,543 0, 84, 2307, 2305, 94, 0, 177, 178, 179, 180, 544 2319, 2845, 191, 2845, 197, 55, 2845, 2265, 60, 173, 545 2845, 2845, 2845, 56, 188, 2845, 191, 189, 204, 216, 546 275, 0, 2284, 2845, 216, 2283, 152, 344, 155, 220, 547 2845, 159, 2845, 217, 226, 2845, 185, 154, 212, 251, 548 548 237, 270, 235, 257, 241, 205, 193, 305, 314, 333, 549 238, 228, 28 25, 225, 2825, 2255, 402, 390, 2825, 2266,550 28 25, 2234, 235, 2825, 0, 2825, 426, 0, 2825, 417,551 28 25, 439, 451, 2825, 498, 2232, 264, 2825, 2825, 2825,552 28 25, 2825, 2248, 2825, 2245, 2825, 2825, 2257, 559, 2825,553 554 22 74, 2825, 438, 444, 511, 534, 289, 253, 197, 380,555 305, 0, 319, 280, 198, 322, 28 25, 2825, 2825, 2243,556 28 25, 2825, 2825, 2240, 2237, 218, 255, 2252, 298, 350,557 368, 312, 440, 398, 405, 22 33, 441, 2181, 446, 2209,558 28 25, 335, 2825, 2825, 468, 2203, 2202, 2825, 2175, 439,549 238, 228, 2845, 225, 2845, 2278, 402, 390, 2845, 2287, 550 2845, 2255, 235, 2845, 0, 2845, 426, 0, 2845, 417, 551 2845, 439, 451, 2845, 498, 2254, 264, 2845, 2845, 2845, 552 2845, 2845, 2271, 2845, 2268, 2845, 2845, 2278, 559, 2845, 553 554 2295, 2845, 438, 444, 511, 534, 289, 253, 197, 380, 555 305, 0, 319, 280, 198, 322, 2845, 2845, 2845, 2265, 556 2845, 2845, 2845, 2263, 2260, 218, 255, 2273, 298, 350, 557 368, 312, 440, 398, 405, 2254, 441, 2203, 446, 2232, 558 2845, 335, 2845, 2845, 468, 2226, 2223, 2845, 2196, 439, 559 559 282, 433, 372, 281, 437, 434, 428, 570, 444, 466, 560 560 464, 469, 475, 321, 492, 438, 471, 445, 474, 512, 561 489, 503, 496, 521, 276, 515, 516, 22 02, 526, 510,561 489, 503, 496, 521, 276, 515, 516, 2224, 526, 510, 562 562 519, 525, 543, 522, 560, 553, 523, 561, 551, 544, 563 599, 582, 593, 584, 28 25, 2825, 660, 651, 2249, 666,564 565 28 25, 678, 2825, 2196, 607, 2192, 2191, 0, 693, 2825,566 28 25, 684, 2189, 2186, 2183, 0, 2206, 578, 608, 617,567 654, 679, 650, 683, 684, 687, 22 03, 690, 691, 2179,568 21 59, 2825, 0, 683, 710, 686, 700, 2157, 2209, 2825,569 7 14, 0, 427, 746, 764, 786, 808, 621, 2825, 2165,570 21 38, 0, 794, 2184, 795, 709, 2825, 2160, 2134, 832,571 28 25, 2825, 2165, 2825, 2825, 711, 714, 2142, 2142, 717,572 21 38, 2136, 2133, 0, 2130, 0, 2101, 694, 679, 712,573 7 09, 711, 698, 566, 726, 743, 771, 741, 790, 784,574 800, 795, 742, 744, 814, 816, 818, 2131, 819, 745,575 576 8 20, 821, 822, 823, 824, 746, 825, 748, 659, 831,577 8 26, 833, 838, 839, 848, 850, 851, 844, 834, 857,578 21 29, 858, 859, 860, 862, 861, 864, 865, 867, 868,579 8 66, 871, 876, 872, 878, 2126, 880, 689, 881, 882,580 89 2, 896, 893, 953, 954, 2120, 2119, 2118, 0, 2116,581 0, 94 1, 945, 2113, 0, 2112, 0, 2111, 0, 2131,582 28 25, 940, 941, 2108, 2105, 0, 2104, 0, 2825, 953,583 97 5, 964, 2825, 981, 997, 1021, 2102, 2825, 2825, 939,584 940, 1006, 982, 1041, 310, 1039, 1004, 2825, 2825, 2099,585 2 095, 2091, 0, 2089, 0, 2087, 0, 2084, 0, 2825,586 587 886, 941, 960, 962, 977, 976, 980, 982, 1017, 1010,588 10 02, 998, 1022, 1031, 1028, 1033, 1034, 1037, 1040, 1043,589 10 38, 1041, 1053, 2085, 1055, 2083, 1045, 2080, 1056, 1061,590 10 63, 1065, 1066, 1067, 1070, 2077, 1071, 2076, 1073, 1074,591 10 75, 1078, 1080, 1081, 1085, 2075, 1087, 2073, 1084, 1089,592 1 091, 1097, 1099, 1092, 1102, 1103, 1105, 1106, 1108, 905,593 11 09, 1116, 1110, 1122, 2070, 1120, 1123, 1179, 2064, 0,594 20 63, 0, 2062, 0, 2060, 0, 1166, 2057, 0, 2054,595 0, 20 53, 2052, 2050, 0, 2047, 0, 1173, 2044, 1179,596 1137, 1195, 1181, 1178, 1176, 2825, 1219, 1231, 1253, 2055,597 598 2030, 2040, 2037, 0, 2034, 0, 2033, 0, 2032, 0,599 2030, 0, 2027, 0, 1141, 1172, 2027, 1180, 1155, 1196,600 11 57, 1216, 1207, 1231, 1125, 1210, 1232, 1214, 1187, 1236,601 12 35, 1237, 1238, 1272, 1249, 1252, 1250, 1253, 1254, 2026,602 12 61, 1256, 2025, 1260, 1263, 1264, 1257, 2023, 1271, 1268,603 1269, 1273, 2020, 1275, 1282, 2017, 1283, 1284, 2016, 1276,604 1 286, 1289, 2015, 1294, 1291, 1296, 1295, 1297, 1310, 2013,605 13 05, 1308, 2010, 1307, 1300, 2009, 2058, 2003, 0, 2000,606 0, 1999, 0, 1998, 0, 1996, 0, 1963, 0, 1961,607 0, 1960, 0, 1355, 1361, 1389, 1372, 1957, 2825, 1378,608 609 1 325, 1365, 1379, 1954, 2825, 1953, 0, 1952, 0, 1950,610 0, 1947, 0, 0, 0, 1947, 0, 1366, 1312, 1311,611 13 41, 1323, 1368, 1369, 1374, 1356, 1383, 1372, 1388, 1390,612 1 393, 1395, 1396, 1398, 1400, 1431, 1406, 1407, 1411, 1408,613 14 13, 1414, 1946, 1409, 1416, 1419, 1945, 1943, 1940, 1422,614 1 424, 1939, 1429, 1938, 1936, 1425, 1430, 1933, 1932, 1931,615 19 29, 1926, 1922, 1436, 1433, 1918, 1439, 1440, 1964, 2825,616 1 895, 0, 1894, 0, 0, 0, 1896, 0, 0, 0,617 2825, 0, 0, 0, 0, 1486, 1891, 2825, 2825, 1492,618 1888, 0, 1887, 0, 0, 0, 0, 1886, 1447, 1444,619 620 1 887, 1449, 1471, 1479, 1450, 1480, 1482, 1469, 1884, 1486,621 149 0, 1488, 1502, 1452, 1510, 1504, 1491, 1519, 1506, 1498,622 15 08, 1512, 1513, 1514, 1515, 1883, 1882, 1518, 1880, 1877,623 15 17, 1520, 1523, 1876, 1521, 1525, 0, 0, 0, 1872,624 1870, 1867, 1575, 0, 1866, 1865, 1863, 1860, 1859, 1861,625 18 59, 1856, 1855, 1531, 1538, 1527, 1528, 1530, 1533, 1552,626 15 39, 1554, 1553, 1586, 1854, 1559, 1852, 1560, 1561, 1564,627 15 70, 1572, 1571, 1849, 1574, 1848, 1847, 1845, 1575, 1842,628 18 41, 1837, 1835, 1828, 1826, 1825, 1822, 1821, 1820, 1818,629 18 01, 1792, 1791, 1576, 1791, 1579, 1577, 1580, 1582, 1581,630 631 1 585, 1784, 1589, 1616, 1593, 1781, 1591, 1599, 1605, 1592,632 16 06, 1609, 1610, 1771, 1769, 1768, 1747, 1746, 1745, 1738,633 17 36, 1735, 1693, 1689, 1688, 1687, 1689, 1611, 1612, 1614,634 16 15, 1618, 1625, 1621, 1686, 1683, 1627, 1682, 1681, 1631,635 1 635, 1441, 1637, 1677, 1674, 1354, 1319, 1318, 1267, 1212,636 1 210, 1639, 1640, 1211, 1647, 1623, 1649, 1178, 1652, 1653,637 1 657, 1177, 1126, 964, 937, 903, 1641, 1643, 1659, 1663,638 16 64, 1665, 788, 752, 1629, 607, 487, 1666, 1669, 394,639 357, 1670, 1672, 1671, 1674, 1676, 1675, 1678, 233, 137,640 2825, 1750, 1763, 1776, 1786, 1796, 1809, 1819, 1832, 1845,641 642 18 58, 1866, 1876, 1883, 1890, 1897, 1904, 1911, 1918, 1925,643 193 2, 1939, 1952, 1959, 1963, 1971, 1974, 1981, 1988, 1995,644 1998, 2005, 2011, 2024, 2037, 2044, 2051, 2058, 2065, 2068,645 207 5, 2078, 2085, 2088, 2095, 2098, 2105, 2108, 2115, 2118,646 212 5, 2128, 2135, 2143, 2150, 2157, 2164, 2171, 2174, 2181,647 21 84, 2191, 2194, 2201, 2207, 2220, 2227, 2234, 2237, 2244,648 22 47, 2254, 2257, 2264, 2267, 2274, 2277, 2284, 2287, 2294,649 230 1, 2304, 2311, 2314, 2321, 2328, 2335, 2338, 2345, 2348,650 235 5, 2358, 2365, 2368, 2375, 2378, 2385, 2391, 2404, 2411,651 241 8, 2421, 2428, 2431, 2438, 2441, 2448, 2451, 2458, 2461,652 653 24 68, 2471, 2478, 2481, 2488, 2491, 2498, 2505, 2508, 2515,654 25 18, 2525, 2528, 2535, 2538, 2541, 2547, 2554, 2563, 2570,655 257 7, 2580, 2587, 2590, 2593, 2599, 2606, 2609, 2612, 2615,656 26 18, 2621, 2624, 2627, 2634, 2637, 2644, 2647, 2650, 2653,657 26 56, 2666, 2673, 2676, 2679, 2682, 2689, 2696, 2703, 2706,658 271 3, 2720, 2727, 2734, 2741, 2748, 2755, 2762, 2769, 2776,659 278 3, 2790, 2797, 2804, 2811563 599, 582, 593, 584, 2845, 2845, 660, 651, 2272, 666, 564 565 2845, 678, 2845, 2219, 607, 2213, 2212, 0, 693, 2845, 566 2845, 684, 2211, 2209, 2206, 0, 2227, 578, 608, 617, 567 654, 679, 650, 683, 684, 687, 2224, 690, 691, 2201, 568 2199, 2845, 0, 683, 710, 686, 700, 2179, 2230, 2845, 569 730, 722, 427, 747, 756, 787, 770, 621, 2845, 2188, 570 2161, 0, 795, 2205, 796, 700, 2845, 2181, 2156, 809, 571 2845, 2845, 2188, 2845, 2845, 728, 733, 2165, 2163, 701, 572 2159, 2158, 2156, 0, 2153, 0, 2122, 736, 746, 747, 573 716, 689, 748, 566, 789, 659, 801, 751, 754, 785, 574 776, 787, 808, 796, 739, 711, 806, 2152, 807, 815, 575 576 817, 821, 809, 819, 827, 830, 831, 832, 833, 834, 577 839, 840, 841, 842, 846, 853, 854, 844, 847, 855, 578 2151, 860, 862, 861, 866, 864, 867, 869, 870, 872, 579 873, 874, 878, 875, 883, 2149, 882, 928, 885, 888, 580 894, 899, 892, 956, 958, 2143, 2140, 2139, 0, 2138, 581 0, 945, 949, 2136, 0, 2133, 0, 2132, 0, 2153, 582 2845, 930, 944, 2131, 2126, 0, 2125, 0, 2845, 959, 583 979, 970, 2845, 985, 1025, 2124, 1001, 1047, 2122, 2845, 584 2845, 943, 987, 1033, 986, 1072, 310, 1064, 987, 2845, 585 2845, 2119, 2115, 2111, 0, 2109, 0, 2107, 0, 2104, 586 587 0, 2845, 913, 947, 964, 966, 1005, 927, 1049, 939, 588 1051, 968, 991, 986, 1041, 1053, 1003, 1059, 1063, 1066, 589 1023, 1064, 1062, 1065, 978, 2105, 1072, 2103, 1078, 2100, 590 1071, 1074, 1076, 1080, 1091, 1093, 1095, 2097, 1094, 2096, 591 1082, 1098, 1099, 1100, 1101, 1105, 1106, 2095, 1107, 2093, 592 1110, 1112, 1111, 1117, 1118, 1113, 1119, 1123, 1126, 1127, 593 1129, 1130, 1131, 1140, 1142, 1143, 2090, 1144, 1147, 1195, 594 2084, 0, 2083, 0, 2082, 0, 2080, 0, 1190, 2077, 595 0, 2074, 0, 2073, 2072, 2070, 0, 2067, 0, 1197, 596 2064, 1203, 1219, 1205, 1244, 1210, 1202, 1200, 2845, 1260, 597 598 1278, 1271, 2075, 2050, 2060, 2057, 0, 2054, 0, 2053, 599 0, 2052, 0, 2050, 0, 2047, 0, 1164, 1152, 2047, 600 1184, 1182, 1226, 1157, 1227, 1196, 1254, 1146, 1237, 1255, 601 1256, 1204, 1258, 1271, 1261, 1260, 1292, 1274, 1262, 1277, 602 1278, 1280, 2046, 1186, 1289, 2045, 1279, 1282, 1290, 1295, 603 2043, 1299, 1300, 1301, 1303, 2040, 1306, 1302, 2037, 1310, 604 1311, 2036, 1309, 1312, 1315, 2035, 1220, 1314, 1316, 1322, 605 1326, 1333, 2033, 1328, 1329, 2030, 1330, 1335, 2029, 2078, 606 2023, 0, 2020, 0, 2019, 0, 2018, 0, 2016, 0, 607 1983, 0, 1981, 0, 1980, 0, 1379, 1385, 1413, 1396, 608 609 1977, 2845, 1402, 1351, 1389, 1403, 1974, 2845, 1973, 0, 610 1972, 0, 1970, 0, 1967, 0, 0, 0, 1967, 0, 611 1390, 1336, 1397, 1365, 1345, 1392, 1393, 1409, 1381, 1407, 612 1412, 1414, 1419, 1420, 1422, 1424, 1427, 1431, 926, 1429, 613 1432, 1438, 1433, 1435, 1440, 1966, 1437, 1441, 1445, 1965, 614 1963, 1960, 1450, 1453, 1959, 1455, 1958, 1956, 1456, 1459, 615 1953, 1952, 1951, 1949, 1942, 1940, 1458, 1461, 1939, 1464, 616 1462, 1986, 2845, 1929, 0, 1925, 0, 0, 0, 1924, 617 0, 0, 0, 2845, 0, 0, 0, 0, 1511, 1918, 618 2845, 2845, 1517, 1917, 0, 1916, 0, 0, 0, 0, 619 620 1914, 1474, 1468, 1914, 1443, 1493, 1498, 1476, 1504, 1505, 621 1494, 1913, 1334, 1509, 1506, 1510, 1511, 1545, 1525, 1518, 622 1543, 1530, 1523, 1529, 1531, 1534, 1535, 1539, 1912, 1910, 623 1540, 1907, 1906, 1542, 1538, 1544, 1905, 1546, 1550, 0, 624 0, 0, 1900, 1897, 1896, 1596, 0, 1895, 1893, 1890, 625 1889, 1888, 1889, 1886, 1885, 1884, 1552, 1557, 1573, 1549, 626 1551, 1553, 1575, 1555, 1577, 1582, 1607, 1882, 1583, 1879, 627 1584, 1589, 1585, 1590, 1591, 1594, 1878, 1597, 1877, 1875, 628 1872, 1598, 1871, 1870, 1865, 1862, 1861, 1860, 1858, 1851, 629 1849, 1848, 1845, 1844, 1843, 1841, 1600, 1827, 1601, 1605, 630 631 1608, 1602, 1609, 1610, 1818, 1614, 1629, 1615, 1817, 1604, 632 1616, 1625, 1630, 1380, 1631, 1633, 1811, 1804, 1801, 1794, 633 1792, 1791, 1770, 1769, 1768, 1761, 1759, 1758, 1716, 1716, 634 1634, 1636, 1635, 1637, 1640, 1641, 1645, 1715, 1713, 1647, 635 1712, 1711, 1648, 1652, 1653, 1654, 1703, 1701, 1700, 1698, 636 1696, 1476, 1472, 1343, 1657, 1667, 1259, 1656, 1660, 1668, 637 1150, 1671, 1675, 1676, 1031, 1027, 793, 752, 675, 1669, 638 1677, 1680, 1681, 1682, 1684, 645, 607, 1686, 487, 441, 639 1688, 1690, 394, 357, 1693, 1694, 1695, 1697, 1696, 1698, 640 1700, 233, 137, 2845, 1773, 1786, 1799, 1809, 1819, 1832, 641 642 1842, 1855, 1868, 1881, 1889, 1899, 1906, 1913, 1920, 1927, 643 1934, 1941, 1948, 1955, 1962, 1969, 1973, 1981, 1987, 1994, 644 2001, 2008, 2015, 2018, 2025, 2031, 2044, 2057, 2064, 2071, 645 2078, 2085, 2088, 2095, 2098, 2105, 2108, 2115, 2118, 2125, 646 2128, 2135, 2138, 2145, 2148, 2155, 2163, 2170, 2177, 2184, 647 2191, 2194, 2201, 2204, 2211, 2214, 2221, 2227, 2240, 2247, 648 2254, 2257, 2264, 2267, 2274, 2277, 2284, 2287, 2294, 2297, 649 2304, 2307, 2314, 2321, 2324, 2331, 2334, 2341, 2348, 2355, 650 2358, 2365, 2368, 2375, 2378, 2385, 2388, 2395, 2398, 2405, 651 2411, 2424, 2431, 2438, 2441, 2448, 2451, 2458, 2461, 2468, 652 653 2471, 2478, 2481, 2488, 2491, 2498, 2501, 2508, 2511, 2518, 654 2525, 2528, 2535, 2538, 2545, 2548, 2555, 2558, 2561, 2567, 655 2574, 2583, 2590, 2597, 2600, 2607, 2610, 2613, 2619, 2626, 656 2629, 2632, 2635, 2638, 2641, 2644, 2647, 2654, 2657, 2664, 657 2667, 2670, 2673, 2676, 2686, 2693, 2696, 2699, 2702, 2709, 658 2716, 2723, 2726, 2733, 2740, 2747, 2754, 2761, 2768, 2775, 659 2782, 2789, 2796, 2803, 2810, 2817, 2824, 2831 660 660 } ; 661 661 662 static yyconst flex_int16_t yy_def[106 6] =662 static yyconst flex_int16_t yy_def[1069] = 663 663 { 0, 664 89 1, 1, 892, 892, 891, 5, 893, 893, 894, 894,665 89 1, 891, 891, 891, 891, 891, 891, 895, 891, 891,666 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,667 89 1, 31, 891, 891, 891, 891, 891, 891, 896, 895,668 89 1, 891, 891, 891, 895, 891, 895, 895, 895, 895,669 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,670 89 5, 895, 891, 891, 891, 891, 891, 897, 891, 891,671 89 1, 898, 891, 891, 899, 891, 891, 900, 891, 891,672 89 1, 891, 891, 891, 891, 895, 891, 891, 891, 891,673 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,674 675 90 1, 891, 99, 30, 891, 891, 891, 891, 902, 30,676 89 1, 31, 891, 891, 31, 891, 891, 891, 891, 891,677 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,678 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 903,679 89 1, 891, 891, 891, 895, 904, 905, 891, 891, 895,680 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,681 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,682 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,683 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,684 89 5, 895, 895, 895, 891, 891, 891, 897, 897, 897,685 686 89 1, 897, 891, 898, 891, 906, 907, 899, 891, 891,687 89 1, 891, 908, 909, 910, 900, 891, 891, 891, 891,688 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 911,689 91 2, 891, 99, 891, 891, 891, 891, 99, 913, 891,690 891, 104, 104, 891, 891, 891, 891, 891, 891, 891,691 89 1, 914, 915, 916, 891, 891, 891, 891, 891, 891,692 89 1, 891, 891, 891, 891, 891, 891, 891, 903, 891,693 9 17, 918, 919, 920, 921, 922, 891, 923, 923, 923,694 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,695 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,696 697 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,698 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,699 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,700 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,701 92 3, 923, 923, 924, 925, 926, 927, 928, 929, 930,702 93 1, 891, 891, 932, 933, 934, 935, 936, 937, 891,703 89 1, 891, 891, 891, 938, 939, 940, 941, 891, 891,704 89 1, 891, 891, 891, 891, 371, 376, 891, 891, 942,705 943, 944, 891, 891, 891, 944, 891, 891, 891, 945,706 946, 947, 948, 949, 950, 951, 952, 953, 954, 891,707 708 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,709 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,710 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,711 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,712 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,713 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,714 95 5, 955, 955, 955, 955, 955, 955, 956, 957, 958,715 9 59, 960, 961, 962, 963, 964, 891, 965, 966, 967,716 96 8, 969, 969, 970, 971, 972, 973, 891, 488, 891,717 974, 891, 974, 891, 891, 891, 891, 891, 891, 891,718 719 89 1, 975, 976, 977, 978, 979, 980, 981, 982, 983,720 984, 985, 986, 987, 988, 98 8, 988, 988, 988, 988,721 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,722 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,723 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,724 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,725 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,726 9 88, 988, 988, 988, 988, 988, 989, 990, 991, 992,664 894, 1, 895, 895, 894, 5, 896, 896, 897, 897, 665 894, 894, 894, 894, 894, 894, 894, 898, 894, 894, 666 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 667 894, 31, 894, 894, 894, 894, 894, 894, 899, 898, 668 894, 894, 894, 894, 898, 894, 898, 898, 898, 898, 669 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 670 898, 898, 894, 894, 894, 894, 894, 900, 894, 894, 671 894, 901, 894, 894, 902, 894, 894, 903, 894, 894, 672 894, 894, 894, 894, 894, 898, 894, 894, 894, 894, 673 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 674 675 904, 894, 894, 30, 894, 894, 894, 894, 905, 30, 676 894, 31, 894, 894, 31, 894, 894, 894, 894, 894, 677 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 678 894, 894, 894, 894, 894, 894, 894, 894, 894, 906, 679 894, 894, 894, 894, 898, 907, 908, 894, 894, 898, 680 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 681 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 682 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 683 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 684 898, 898, 898, 898, 894, 894, 894, 900, 900, 900, 685 686 894, 900, 894, 901, 894, 909, 910, 902, 894, 894, 687 894, 894, 911, 912, 913, 903, 894, 894, 894, 894, 688 894, 894, 894, 894, 894, 894, 894, 894, 894, 914, 689 915, 894, 99, 894, 894, 894, 894, 99, 904, 894, 690 99, 110, 242, 894, 894, 894, 894, 894, 894, 894, 691 894, 916, 917, 918, 894, 894, 894, 894, 894, 894, 692 894, 894, 894, 894, 894, 894, 894, 894, 919, 894, 693 920, 921, 922, 923, 924, 925, 894, 926, 926, 926, 694 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 695 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 696 697 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 698 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 699 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 700 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 701 926, 926, 926, 927, 928, 929, 930, 931, 932, 933, 702 934, 894, 894, 935, 936, 937, 938, 939, 940, 894, 703 894, 894, 894, 894, 941, 942, 943, 944, 894, 894, 704 894, 894, 894, 894, 894, 375, 894, 371, 378, 894, 705 894, 945, 946, 947, 894, 894, 894, 947, 894, 894, 706 894, 948, 949, 950, 951, 952, 953, 954, 955, 956, 707 708 957, 894, 958, 958, 958, 958, 958, 958, 958, 958, 709 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 710 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 711 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 712 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 713 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 714 958, 958, 958, 958, 958, 958, 958, 958, 958, 959, 715 960, 961, 962, 963, 964, 965, 966, 967, 894, 968, 716 969, 970, 971, 972, 972, 973, 974, 975, 976, 894, 717 490, 894, 894, 977, 894, 977, 894, 894, 894, 894, 718 719 894, 894, 894, 894, 978, 979, 980, 981, 982, 983, 720 984, 985, 986, 987, 988, 989, 990, 991, 991, 991, 721 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 722 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 723 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 724 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 725 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 726 991, 991, 991, 991, 991, 991, 991, 991, 991, 992, 727 727 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 728 1003, 1004, 1005, 891, 891, 891, 891, 1006, 891, 596,729 730 891, 891, 891, 600, 891, 1007, 1008, 1009, 1010, 1011,731 1012, 1013, 1014, 1015, 1016, 1017, 1018, 101 7, 1017, 1017,732 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,733 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,734 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,735 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,736 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1019, 891,737 1020, 102 1, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,738 891, 1030, 1031, 1032, 1033, 891, 686, 891, 891, 891,739 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1042,740 741 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,742 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,743 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,744 104 2, 1042, 1042, 1042, 1042, 1042, 1043, 1044, 1045, 1046,745 1047, 1048, 891, 1049, 1034, 1036, 1050, 1051, 1041, 1042,746 10 42, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,747 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,748 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,749 104 2, 1052, 1053, 1046, 1054, 1047, 1055, 1048, 1056, 1057,750 105 0, 1058, 1051, 1042, 1042, 1042, 1042, 1042, 1042, 1042,751 752 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,753 104 2, 1042, 1042, 1059, 1052, 1060, 1053, 1061, 1054, 1062,754 10 55, 1063, 1056, 1064, 1057, 1058, 1042, 1042, 1042, 1042,755 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,756 104 2, 1042, 1042, 1065, 1059, 1060, 1061, 1062, 1036, 1063,757 106 4, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,758 104 2, 1042, 1042, 1042, 1065, 1036, 1042, 1042, 1042, 1042,759 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,760 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,761 0, 891, 891, 891, 891, 891, 891, 891, 891, 891,762 763 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,764 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,765 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,766 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,767 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,768 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,769 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,770 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,771 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,772 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,773 774 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,775 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,776 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,777 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,778 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,779 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,780 89 1, 891, 891, 891, 891728 1003, 1004, 1005, 1006, 1007, 1008, 894, 894, 894, 894, 729 730 1009, 894, 599, 894, 894, 894, 603, 894, 1010, 1011, 731 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 732 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 733 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 734 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 735 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 736 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 737 1020, 1022, 894, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 738 1030, 1031, 1032, 894, 1033, 1034, 1035, 1036, 894, 689, 739 894, 894, 894, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 740 741 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 742 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 743 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 744 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046, 745 1047, 1048, 1049, 1050, 1051, 894, 1052, 1037, 1039, 1053, 746 1054, 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 747 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 748 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 749 1045, 1045, 1045, 1045, 1055, 1056, 1049, 1057, 1050, 1058, 750 1051, 1059, 1060, 1053, 1061, 1054, 1045, 1045, 1045, 1045, 751 752 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 753 1045, 1045, 1045, 1045, 1045, 1045, 1062, 1055, 1063, 1056, 754 1064, 1057, 1065, 1058, 1066, 1059, 1067, 1060, 1061, 1045, 755 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 756 1045, 1045, 1045, 1045, 1045, 1045, 1068, 1062, 1063, 1064, 757 1065, 1039, 1066, 1067, 1045, 1045, 1045, 1045, 1045, 1045, 758 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1068, 1039, 1045, 759 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 760 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 761 1045, 1045, 1045, 0, 894, 894, 894, 894, 894, 894, 762 763 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 764 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 765 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 766 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 767 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 768 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 769 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 770 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 771 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 772 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 773 774 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 775 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 776 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 777 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 778 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 779 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 780 894, 894, 894, 894, 894, 894, 894, 894 781 781 } ; 782 782 783 static yyconst flex_int16_t yy_nxt[29 11] =783 static yyconst flex_int16_t yy_nxt[2931] = 784 784 { 0, 785 785 12, 13, 14, 15, 15, 15, 13, 16, 17, 12, … … 806 806 807 807 83, 83, 83, 82, 91, 93, 87, 142, 146, 98, 808 95, 99, 99, 99, 99, 99, 99, 252, 89 1, 94,808 95, 99, 99, 99, 99, 99, 99, 252, 894, 94, 809 809 100, 85, 96, 97, 85, 101, 161, 118, 143, 77, 810 810 77, 77, 77, 144, 147, 102, 103, 87, 104, 104, … … 821 821 115, 264, 248, 87, 87, 173, 106, 174, 249, 231, 822 822 175, 143, 116, 263, 176, 264, 144, 259, 317, 283, 823 114, 125, 280, 50 0, 249, 126, 127, 87, 128, 191,823 114, 125, 280, 503, 249, 126, 127, 87, 128, 191, 824 824 129, 130, 256, 131, 249, 132, 87, 265, 257, 184, 825 185, 257, 248, 87, 133, 134, 135, 50 1, 188, 186,825 185, 257, 248, 87, 133, 134, 135, 504, 188, 186, 826 826 249, 263, 187, 264, 271, 87, 189, 265, 145, 256, 827 827 305, 200, 201, 190, 257, 136, 200, 257, 137, 263, 828 828 829 89 1, 264, 192, 197, 81, 82, 82, 82, 197, 87,829 894, 264, 192, 197, 81, 82, 82, 82, 197, 87, 830 830 272, 198, 202, 202, 202, 202, 202, 202, 80, 81, 831 831 82, 82, 82, 80, 87, 138, 139, 209, 210, 263, 832 89 1, 264, 209, 282, 211, 255, 263, 267, 264, 211,833 82, 81, 82, 82, 82, 82, 87, 89 1, 212, 212,834 212, 212, 82, 81, 83, 83, 83, 82, 89 1, 211,835 99, 99, 99, 99, 99, 99, 242, 242, 242, 242,832 894, 264, 209, 282, 211, 255, 263, 267, 264, 211, 833 82, 81, 82, 82, 82, 82, 87, 894, 212, 212, 834 212, 212, 82, 81, 83, 83, 83, 82, 894, 211, 835 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 836 836 266, 263, 263, 264, 264, 213, 143, 263, 211, 264, 837 87, 144, 37 5, 211, 211, 87, 87, 211, 211, 87,838 87, 87, 286, 241, 891, 211, 87, 87, 211, 243,837 87, 144, 377, 211, 211, 87, 87, 211, 211, 87, 838 87, 87, 286, 87, 894, 211, 87, 87, 211, 243, 839 839 840 840 211, 214, 211, 281, 215, 217, 278, 284, 285, 218, 841 841 219, 307, 298, 279, 220, 221, 87, 222, 87, 223, 842 87, 87, 89 1, 87, 309, 300, 87, 87, 224, 225,842 87, 87, 894, 87, 309, 300, 87, 87, 224, 225, 843 843 226, 103, 303, 105, 105, 105, 105, 105, 105, 87, 844 844 299, 87, 301, 302, 87, 304, 308, 310, 87, 227, … … 852 852 331, 361, 87, 87, 238, 337, 326, 327, 87, 236, 853 853 235, 236, 87, 329, 237, 332, 236, 287, 288, 289, 854 336, 290, 291, 334, 87, 292, 87, 293, 40 7, 360,854 336, 290, 291, 334, 87, 292, 87, 293, 409, 360, 855 855 330, 361, 294, 295, 296, 87, 297, 339, 360, 343, 856 856 361, 87, 200, 201, 338, 340, 346, 200, 341, 87, 857 857 342, 197, 81, 82, 82, 82, 197, 200, 201, 198, 858 3 78, 361, 200, 202, 202, 202, 202, 202, 202, 344,858 380, 361, 200, 202, 202, 202, 202, 202, 202, 344, 859 859 201, 360, 347, 361, 344, 360, 345, 361, 202, 202, 860 202, 202, 202, 202, 209, 210, 3 78, 143, 361, 209,860 202, 202, 202, 202, 209, 210, 380, 87, 361, 209, 861 861 862 862 202, 202, 202, 202, 202, 202, 352, 352, 352, 352, 863 863 360, 87, 361, 362, 360, 360, 361, 361, 360, 363, 864 864 361, 360, 360, 361, 361, 369, 369, 370, 369, 370, 865 435, 87, 371, 371, 371, 371, 371, 371, 373, 353, 866 373, 87, 263, 373, 264, 263, 87, 264, 369, 402, 867 87, 369, 234, 235, 236, 406, 237, 236, 388, 401, 868 373, 87, 373, 87, 87, 372, 390, 373, 105, 105, 869 105, 105, 105, 105, 236, 235, 236, 404, 87, 237, 870 405, 236, 403, 408, 388, 106, 246, 246, 246, 246, 871 246, 246, 391, 87, 87, 87, 87, 87, 87, 419, 872 873 87, 255, 425, 432, 87, 420, 434, 106, 376, 376, 874 376, 376, 376, 376, 381, 409, 413, 105, 105, 105, 875 105, 105, 105, 87, 234, 245, 236, 245, 237, 236, 876 246, 246, 246, 246, 246, 246, 87, 383, 410, 384, 877 87, 377, 87, 385, 411, 412, 236, 87, 236, 386, 878 255, 237, 87, 236, 112, 112, 112, 112, 112, 112, 879 414, 387, 415, 417, 418, 384, 87, 416, 87, 385, 880 87, 87, 87, 87, 87, 87, 87, 87, 87, 421, 881 427, 426, 433, 87, 437, 87, 87, 260, 423, 424, 882 87, 87, 436, 429, 428, 422, 87, 430, 431, 439, 883 884 87, 438, 87, 87, 446, 441, 440, 442, 443, 87, 885 87, 87, 87, 87, 87, 445, 87, 87, 87, 87, 886 87, 448, 447, 87, 87, 444, 449, 451, 87, 456, 887 87, 450, 87, 87, 87, 452, 455, 454, 87, 453, 888 457, 462, 460, 461, 87, 87, 458, 464, 87, 515, 889 459, 463, 465, 466, 344, 201, 201, 87, 891, 344, 890 467, 345, 199, 211, 211, 211, 211, 352, 352, 352, 891 352, 360, 360, 361, 361, 371, 371, 371, 371, 371, 892 371, 370, 569, 370, 492, 492, 371, 371, 371, 371, 893 371, 371, 891, 87, 493, 494, 477, 488, 488, 488, 894 895 488, 488, 488, 233, 233, 233, 233, 233, 233, 516, 896 492, 492, 87, 234, 87, 236, 87, 237, 236, 242, 897 242, 242, 242, 105, 105, 495, 381, 517, 87, 87, 898 489, 496, 87, 518, 87, 236, 374, 236, 519, 520, 899 237, 521, 236, 376, 376, 376, 376, 376, 376, 383, 900 87, 384, 375, 496, 87, 385, 522, 496, 497, 891, 901 497, 386, 87, 498, 498, 498, 498, 498, 498, 87, 902 525, 495, 526, 387, 87, 524, 377, 384, 523, 496, 903 87, 385, 383, 87, 384, 87, 87, 527, 385, 87, 904 87, 532, 87, 87, 502, 87, 499, 87, 535, 528, 905 906 529, 537, 530, 531, 533, 87, 387, 87, 87, 541, 907 384, 534, 538, 87, 385, 87, 536, 87, 87, 87, 908 539, 540, 87, 87, 546, 87, 87, 87, 544, 542, 909 87, 548, 87, 87, 547, 543, 87, 87, 549, 87, 910 545, 87, 552, 87, 87, 550, 556, 554, 551, 87, 911 559, 87, 553, 555, 87, 87, 557, 87, 87, 558, 912 87, 87, 87, 564, 560, 567, 563, 568, 87, 561, 913 566, 562, 87, 565, 87, 87, 571, 87, 87, 573, 914 627, 201, 492, 570, 576, 574, 572, 577, 211, 211, 915 211, 211, 493, 87, 575, 488, 488, 488, 488, 488, 916 917 488, 376, 376, 376, 376, 376, 376, 87, 492, 87, 918 618, 234, 595, 236, 595, 237, 236, 596, 596, 596, 919 596, 596, 596, 492, 87, 599, 492, 621, 489, 87, 920 87, 623, 87, 236, 490, 236, 598, 619, 237, 87, 921 236, 498, 498, 498, 498, 498, 498, 620, 87, 492, 922 597, 599, 492, 600, 600, 600, 600, 600, 600, 87, 923 631, 622, 87, 87, 625, 891, 87, 891, 87, 601, 924 497, 602, 497, 603, 602, 498, 498, 498, 498, 498, 925 498, 624, 628, 87, 87, 630, 604, 87, 87, 87, 926 87, 602, 633, 602, 626, 636, 603, 632, 602, 629, 927 928 634, 87, 87, 635, 87, 87, 87, 642, 87, 87, 929 637, 641, 87, 87, 640, 87, 87, 643, 647, 639, 930 87, 87, 866, 87, 87, 87, 638, 87, 87, 644, 931 645, 646, 648, 650, 87, 87, 87, 649, 87, 653, 932 651, 87, 652, 87, 654, 655, 87, 87, 87, 87, 933 656, 657, 87, 660, 659, 661, 664, 87, 658, 87, 934 87, 663, 87, 87, 87, 668, 665, 688, 688, 662, 935 666, 701, 702, 891, 891, 87, 667, 488, 488, 488, 936 488, 488, 488, 596, 596, 596, 596, 596, 596, 595, 937 688, 595, 704, 87, 596, 596, 596, 596, 596, 596, 938 939 600, 600, 600, 600, 600, 600, 703, 688, 87, 891, 940 594, 686, 686, 686, 686, 686, 686, 689, 87, 689, 941 87, 87, 689, 699, 87, 708, 87, 601, 706, 602, 942 688, 603, 602, 604, 707, 87, 700, 710, 709, 689, 943 87, 689, 87, 705, 687, 87, 689, 87, 87, 602, 944 87, 602, 87, 716, 603, 718, 602, 712, 87, 87, 945 87, 87, 711, 87, 714, 87, 87, 713, 87, 717, 946 715, 87, 721, 719, 87, 724, 87, 87, 722, 720, 947 727, 87, 87, 87, 725, 87, 731, 723, 87, 732, 948 726, 87, 87, 87, 728, 734, 87, 733, 730, 87, 949 950 735, 87, 87, 729, 87, 863, 751, 736, 686, 686, 951 686, 686, 686, 686, 600, 600, 600, 600, 600, 600, 952 750, 87, 755, 87, 601, 763, 602, 752, 603, 602, 953 753, 87, 87, 764, 87, 756, 754, 757, 87, 758, 954 87, 687, 87, 87, 759, 767, 602, 690, 602, 761, 955 87, 603, 766, 602, 87, 760, 87, 762, 87, 765, 956 87, 768, 87, 769, 87, 87, 87, 87, 770, 87, 957 87, 87, 87, 87, 771, 87, 774, 87, 772, 87, 958 87, 780, 87, 87, 796, 87, 781, 773, 775, 777, 959 87, 87, 798, 776, 778, 797, 779, 686, 686, 686, 960 961 686, 686, 686, 794, 87, 87, 87, 795, 799, 802, 962 804, 87, 87, 87, 805, 806, 87, 801, 803, 808, 963 807, 800, 87, 87, 87, 809, 87, 87, 87, 87, 964 743, 87, 87, 87, 87, 830, 832, 87, 87, 810, 965 833, 87, 835, 87, 87, 87, 811, 829, 836, 812, 966 813, 87, 828, 840, 838, 827, 831, 87, 87, 834, 967 839, 87, 87, 87, 87, 837, 87, 87, 87, 854, 968 87, 853, 842, 87, 841, 87, 855, 87, 843, 87, 969 858, 87, 860, 87, 852, 870, 861, 87, 856, 87, 970 859, 87, 87, 87, 857, 87, 862, 868, 864, 87, 971 972 867, 87, 869, 881, 87, 87, 871, 872, 873, 87, 973 876, 87, 874, 875, 877, 87, 87, 87, 87, 879, 974 880, 87, 87, 87, 87, 878, 87, 87, 87, 891, 975 87, 884, 865, 87, 87, 87, 883, 885, 87, 882, 976 890, 87, 891, 891, 851, 886, 888, 887, 891, 889, 977 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 978 69, 69, 69, 75, 75, 75, 75, 75, 75, 75, 979 75, 75, 75, 75, 75, 75, 78, 78, 78, 78, 980 78, 78, 78, 78, 78, 78, 78, 78, 78, 86, 981 850, 891, 86, 848, 86, 86, 86, 86, 86, 140, 982 983 891, 847, 891, 140, 140, 140, 140, 140, 140, 199, 984 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 985 199, 199, 204, 846, 891, 204, 845, 204, 204, 204, 986 204, 204, 208, 87, 208, 208, 87, 208, 208, 208, 987 208, 208, 208, 87, 208, 216, 891, 826, 216, 216, 988 216, 216, 216, 216, 216, 216, 891, 216, 239, 239, 989 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 990 239, 253, 253, 825, 253, 823, 891, 821, 253, 269, 991 891, 819, 269, 891, 269, 269, 269, 269, 269, 273, 992 817, 273, 815, 87, 87, 273, 275, 87, 275, 87, 993 994 87, 87, 275, 348, 87, 348, 87, 87, 87, 348, 995 350, 87, 350, 87, 891, 793, 350, 354, 791, 354, 996 891, 891, 788, 354, 356, 786, 356, 784, 87, 87, 997 356, 358, 87, 358, 87, 87, 87, 358, 365, 87, 998 365, 749, 746, 745, 365, 367, 743, 367, 205, 739, 999 738, 367, 239, 239, 239, 239, 239, 239, 239, 239, 1000 239, 239, 239, 239, 239, 380, 670, 380, 382, 382, 1001 87, 382, 382, 382, 87, 382, 253, 253, 87, 253, 1002 392, 87, 392, 87, 87, 87, 392, 394, 87, 394, 1003 87, 87, 87, 394, 396, 87, 396, 87, 87, 87, 1004 1005 396, 273, 697, 273, 398, 696, 398, 694, 692, 690, 1006 398, 275, 598, 275, 86, 685, 684, 86, 682, 86, 865 894, 411, 371, 371, 371, 371, 371, 371, 373, 353, 866 373, 87, 103, 373, 242, 242, 242, 242, 369, 390, 867 392, 369, 375, 375, 375, 375, 375, 375, 407, 263, 868 373, 264, 373, 87, 263, 372, 264, 373, 87, 105, 869 105, 105, 105, 105, 105, 390, 393, 243, 246, 246, 870 246, 246, 246, 246, 406, 376, 106, 245, 87, 245, 871 424, 87, 246, 246, 246, 246, 246, 246, 87, 87, 872 873 87, 403, 255, 87, 423, 408, 87, 894, 106, 378, 874 378, 378, 378, 378, 378, 383, 404, 405, 105, 105, 875 105, 105, 105, 105, 416, 234, 415, 236, 87, 237, 876 236, 112, 112, 112, 112, 112, 112, 87, 385, 87, 877 386, 87, 379, 418, 387, 87, 410, 236, 87, 236, 878 388, 255, 237, 87, 236, 419, 420, 422, 87, 87, 879 87, 87, 389, 417, 260, 421, 386, 87, 412, 87, 880 387, 87, 427, 87, 413, 414, 425, 426, 428, 87, 881 429, 430, 87, 87, 87, 87, 87, 434, 435, 431, 882 436, 87, 87, 87, 87, 438, 87, 439, 87, 87, 883 884 432, 433, 441, 443, 437, 87, 87, 87, 440, 442, 885 444, 445, 87, 87, 87, 447, 87, 448, 87, 87, 886 449, 87, 87, 450, 87, 87, 87, 87, 446, 451, 887 87, 453, 452, 458, 87, 87, 143, 87, 454, 457, 888 87, 456, 455, 464, 87, 462, 87, 459, 463, 460, 889 721, 87, 461, 466, 467, 465, 468, 344, 201, 469, 890 201, 360, 344, 361, 345, 87, 199, 211, 211, 211, 891 211, 352, 352, 352, 352, 360, 518, 361, 87, 87, 892 87, 371, 371, 371, 371, 371, 371, 370, 495, 370, 893 523, 87, 371, 371, 371, 371, 371, 371, 496, 87, 894 895 479, 490, 490, 490, 490, 490, 490, 233, 233, 233, 896 233, 233, 233, 525, 495, 519, 87, 234, 87, 236, 897 87, 237, 236, 242, 242, 242, 242, 105, 105, 498, 898 87, 520, 495, 527, 491, 499, 499, 521, 87, 236, 899 374, 236, 497, 87, 237, 542, 236, 375, 375, 375, 900 375, 375, 375, 383, 498, 87, 377, 87, 495, 528, 901 529, 499, 499, 234, 235, 236, 522, 237, 236, 378, 902 378, 378, 378, 378, 378, 87, 385, 533, 386, 87, 903 376, 538, 387, 87, 894, 236, 235, 236, 388, 500, 904 237, 500, 236, 87, 501, 501, 501, 501, 501, 501, 905 906 389, 87, 379, 87, 386, 87, 530, 385, 387, 386, 907 524, 87, 526, 387, 87, 87, 87, 87, 87, 505, 908 535, 531, 532, 87, 87, 540, 87, 502, 87, 534, 909 87, 389, 87, 536, 87, 386, 541, 539, 543, 387, 910 537, 547, 544, 87, 545, 87, 87, 87, 546, 549, 911 87, 87, 87, 87, 553, 548, 551, 87, 87, 87, 912 550, 552, 87, 87, 87, 87, 555, 559, 557, 87, 913 87, 87, 554, 562, 556, 87, 560, 558, 87, 87, 914 567, 87, 87, 87, 563, 561, 570, 566, 571, 564, 915 565, 569, 87, 568, 87, 87, 87, 201, 87, 87, 916 917 574, 630, 87, 580, 87, 573, 577, 572, 579, 87, 918 575, 576, 211, 211, 211, 211, 87, 622, 578, 490, 919 490, 490, 490, 490, 490, 375, 375, 375, 375, 375, 920 375, 626, 645, 621, 87, 234, 87, 236, 87, 237, 921 236, 378, 378, 378, 378, 378, 378, 495, 87, 602, 922 495, 623, 491, 628, 624, 495, 87, 236, 492, 236, 923 496, 598, 237, 598, 236, 601, 599, 599, 599, 599, 924 599, 599, 87, 495, 493, 602, 495, 634, 87, 87, 925 662, 495, 501, 501, 501, 501, 501, 501, 500, 87, 926 500, 625, 627, 501, 501, 501, 501, 501, 501, 600, 927 928 603, 603, 603, 603, 603, 603, 87, 87, 87, 631, 929 87, 87, 87, 87, 87, 639, 604, 629, 605, 635, 930 606, 605, 632, 87, 637, 638, 87, 633, 636, 87, 931 87, 87, 87, 607, 87, 640, 641, 644, 605, 643, 932 605, 87, 87, 606, 87, 605, 642, 87, 647, 648, 933 646, 87, 87, 87, 87, 87, 650, 649, 87, 656, 934 651, 87, 87, 87, 87, 653, 87, 87, 87, 652, 935 654, 657, 658, 655, 87, 664, 663, 660, 87, 667, 936 87, 87, 87, 659, 661, 87, 87, 87, 87, 668, 937 666, 669, 762, 691, 691, 704, 665, 87, 894, 670, 938 939 671, 490, 490, 490, 490, 490, 490, 599, 599, 599, 940 599, 599, 599, 598, 707, 598, 691, 87, 599, 599, 941 599, 599, 599, 599, 603, 603, 603, 603, 603, 603, 942 706, 691, 87, 87, 597, 689, 689, 689, 689, 689, 943 689, 692, 87, 692, 87, 87, 692, 702, 844, 87, 944 711, 604, 709, 605, 691, 606, 605, 607, 705, 87, 945 703, 87, 712, 692, 87, 692, 87, 708, 690, 710, 946 692, 87, 87, 605, 87, 605, 87, 713, 606, 87, 947 605, 87, 719, 87, 87, 87, 715, 87, 714, 87, 948 87, 717, 87, 87, 716, 87, 722, 87, 718, 724, 949 950 720, 727, 87, 725, 723, 87, 730, 87, 87, 726, 951 87, 87, 728, 87, 87, 729, 87, 734, 735, 736, 952 87, 755, 731, 737, 733, 738, 87, 894, 87, 739, 953 754, 869, 732, 689, 689, 689, 689, 689, 689, 603, 954 603, 603, 603, 603, 603, 87, 87, 753, 758, 604, 955 87, 605, 756, 606, 605, 757, 87, 87, 87, 759, 956 760, 87, 87, 87, 761, 765, 690, 764, 767, 770, 957 87, 605, 693, 605, 763, 87, 606, 87, 605, 769, 958 768, 87, 87, 87, 766, 771, 87, 87, 772, 773, 959 87, 87, 87, 774, 87, 87, 87, 87, 87, 775, 960 961 777, 87, 87, 87, 87, 87, 783, 87, 776, 87, 962 778, 784, 781, 801, 780, 779, 800, 782, 689, 689, 963 689, 689, 689, 689, 797, 87, 798, 87, 802, 87, 964 799, 807, 805, 804, 87, 87, 87, 87, 808, 809, 965 811, 87, 87, 87, 803, 812, 87, 806, 810, 87, 966 87, 746, 87, 87, 87, 838, 87, 87, 813, 87, 967 87, 87, 87, 833, 835, 836, 87, 87, 87, 814, 968 839, 841, 815, 816, 831, 832, 834, 87, 840, 830, 969 842, 87, 87, 87, 837, 87, 87, 87, 87, 87, 970 857, 843, 87, 87, 845, 856, 861, 87, 858, 87, 971 972 87, 846, 863, 864, 87, 87, 87, 855, 87, 87, 973 859, 872, 87, 865, 862, 867, 860, 866, 870, 87, 974 87, 87, 873, 87, 871, 874, 875, 87, 87, 87, 975 876, 877, 87, 87, 87, 880, 87, 882, 87, 883, 976 87, 878, 87, 881, 879, 87, 87, 87, 87, 87, 977 87, 894, 87, 894, 887, 894, 894, 886, 868, 888, 978 884, 885, 893, 87, 87, 87, 891, 87, 87, 889, 979 890, 894, 892, 69, 69, 69, 69, 69, 69, 69, 980 69, 69, 69, 69, 69, 69, 75, 75, 75, 75, 981 75, 75, 75, 75, 75, 75, 75, 75, 75, 78, 982 983 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 984 78, 78, 86, 894, 854, 86, 894, 86, 86, 86, 985 86, 86, 140, 853, 894, 851, 140, 140, 140, 140, 986 140, 140, 199, 199, 199, 199, 199, 199, 199, 199, 987 199, 199, 199, 199, 199, 204, 894, 850, 204, 894, 988 204, 204, 204, 204, 204, 208, 849, 208, 208, 894, 989 208, 208, 208, 208, 208, 208, 848, 208, 216, 87, 990 87, 216, 216, 216, 216, 216, 216, 216, 216, 87, 991 216, 239, 239, 239, 239, 239, 239, 239, 239, 239, 992 239, 239, 239, 239, 253, 253, 894, 253, 829, 894, 993 994 828, 253, 269, 826, 894, 269, 824, 269, 269, 269, 995 269, 269, 273, 894, 273, 822, 894, 820, 273, 275, 996 818, 275, 87, 87, 87, 275, 348, 87, 348, 87, 997 87, 87, 348, 350, 87, 350, 87, 87, 87, 350, 998 354, 87, 354, 894, 796, 794, 354, 356, 894, 356, 999 894, 791, 789, 356, 358, 787, 358, 87, 87, 87, 1000 358, 365, 87, 365, 87, 87, 87, 365, 367, 752, 1001 367, 749, 748, 746, 367, 382, 205, 382, 384, 384, 1002 742, 384, 384, 384, 741, 384, 253, 253, 673, 253, 1003 269, 87, 87, 269, 87, 269, 269, 269, 269, 269, 1004 1005 394, 87, 394, 87, 87, 87, 394, 396, 87, 396, 1006 87, 87, 87, 396, 398, 87, 398, 87, 87, 87, 1007 398, 273, 700, 273, 400, 699, 400, 697, 695, 693, 1008 400, 275, 601, 275, 86, 688, 687, 86, 685, 86, 1007 1009 86, 86, 86, 86, 199, 199, 199, 199, 199, 199, 1008 199, 199, 199, 199, 199, 199, 199, 4 68, 468, 468,1009 4 68, 468, 468, 468, 468, 468, 468, 468, 468, 468,1010 4 69, 680, 469, 678, 676, 674, 469, 471, 672, 471,1011 67 0, 87, 87, 471, 473, 87, 473, 87, 87, 87,1012 47 3, 348, 87, 348, 475, 87, 475, 87, 87, 87,1013 475, 350, 617, 350, 478, 615, 478, 613, 611, 609, 1014 47 8, 354, 607, 354, 480, 502, 480, 605, 605, 594,1015 1016 48 0, 356, 593, 356, 482, 591, 482, 483, 483, 589,1017 48 2, 358, 587, 358, 484, 585, 484, 583, 581, 579,1018 48 4, 365, 87, 365, 486, 87, 486, 87, 87, 87,1019 48 6, 367, 87, 367, 491, 87, 491, 87, 491, 514,1020 49 1, 380, 512, 380, 510, 380, 508, 380, 382, 382,1021 50 6, 382, 382, 382, 504, 382, 503, 490, 503, 487,1022 48 5, 361, 503, 505, 361, 505, 483, 481, 479, 505,1023 5 07, 476, 507, 474, 472, 470, 507, 392, 87, 392,1024 509, 87, 509, 87, 400, 399, 509, 394, 397, 394, 1025 51 1, 395, 511, 393, 270, 265, 511, 396, 264, 396,1026 1027 51 3, 389, 513, 389, 252, 379, 513, 398, 379, 398,1028 86, 240, 374, 86, 368, 86, 86, 86, 86, 86,1029 4 68, 468, 468, 468, 468, 468, 468, 468, 468, 468,1030 4 68, 468, 468, 578, 366, 578, 364, 360, 359, 578,1031 4 69, 357, 469, 580, 355, 580, 351, 349, 205, 580,1032 47 1, 201, 471, 582, 87, 582, 277, 276, 274, 582,1033 47 3, 270, 473, 584, 265, 584, 268, 265, 263, 584,1034 47 5, 262, 475, 586, 261, 586, 240, 232, 85, 586,1035 478, 85, 478, 588, 87, 588, 205, 203, 85, 588, 1036 480, 122, 480, 482, 117, 482, 87, 891, 70, 482,1037 1038 59 0, 70, 590, 891, 891, 891, 590, 484, 891, 484,1039 59 2, 891, 592, 891, 891, 891, 592, 486, 891, 486,1040 49 1, 891, 491, 891, 491, 891, 491, 382, 891, 382,1041 89 1, 891, 891, 382, 606, 891, 606, 891, 891, 891,1042 60 6, 503, 891, 503, 608, 891, 608, 891, 891, 891,1043 6 08, 505, 891, 505, 610, 891, 610, 891, 891, 891,1044 61 0, 507, 891, 507, 612, 891, 612, 891, 891, 891,1045 61 2, 509, 891, 509, 614, 891, 614, 891, 891, 891,1046 614, 511, 891, 511, 616, 891, 616, 891, 891, 891, 1047 61 6, 513, 891, 513, 86, 891, 891, 86, 891, 86,1048 1049 86, 86, 86, 86, 6 69, 669, 669, 669, 669, 669,1050 6 69, 669, 669, 669, 669, 669, 669, 671, 891, 671,1051 89 1, 891, 891, 671, 578, 891, 578, 673, 891, 673,1052 89 1, 891, 891, 673, 580, 891, 580, 675, 891, 675,1053 89 1, 891, 891, 675, 582, 891, 582, 677, 891, 677,1054 89 1, 891, 891, 677, 584, 891, 584, 679, 891, 679,1055 89 1, 891, 891, 679, 586, 891, 586, 681, 891, 681,1056 89 1, 891, 891, 681, 588, 891, 588, 683, 891, 683,1057 891, 891, 891, 683, 590, 891, 590, 86, 891, 86, 1058 89 1, 891, 891, 86, 592, 891, 592, 491, 891, 491,1059 1060 89 1, 891, 891, 491, 691, 891, 691, 891, 891, 891,1061 69 1, 606, 891, 606, 693, 891, 693, 891, 891, 891,1062 69 3, 608, 891, 608, 695, 891, 695, 891, 891, 891,1063 69 5, 610, 891, 610, 140, 891, 140, 891, 891, 891,1064 140, 61 2, 891, 612, 698, 891, 698, 614, 891, 614,1065 86, 89 1, 891, 86, 891, 86, 86, 86, 86, 86,1066 61 6, 891, 616, 669, 669, 669, 669, 669, 669, 669,1067 6 69, 669, 669, 669, 669, 669, 737, 891, 737, 891,1068 891, 891, 737, 671, 891, 671, 204, 891, 204, 891, 1069 89 1, 891, 204, 673, 891, 673, 740, 891, 740, 675,1070 1071 89 1, 675, 204, 891, 891, 204, 891, 204, 204, 204,1072 204, 204, 6 77, 891, 677, 741, 891, 741, 679, 891,1073 6 79, 681, 891, 681, 742, 891, 742, 683, 891, 683,1074 86, 89 1, 86, 744, 891, 744, 891, 891, 891, 744,1075 69 1, 891, 691, 269, 891, 269, 891, 891, 891, 269,1076 69 3, 891, 693, 747, 891, 747, 695, 891, 695, 140,1077 89 1, 140, 748, 891, 748, 891, 891, 891, 748, 86,1078 89 1, 891, 86, 891, 86, 86, 86, 86, 86, 782,1079 891, 782, 737, 891, 737, 204, 891, 204, 783, 891, 1080 783, 891, 891, 891, 783, 785, 891, 785, 891, 891,1081 1082 89 1, 785, 787, 891, 787, 891, 891, 891, 787, 789,1083 89 1, 789, 790, 891, 790, 891, 891, 891, 790, 792,1084 89 1, 792, 891, 891, 891, 792, 814, 891, 814, 891,1085 89 1, 891, 814, 816, 891, 816, 891, 891, 891, 816,1086 8 18, 891, 818, 891, 891, 891, 818, 820, 891, 820,1087 89 1, 891, 891, 820, 822, 891, 822, 891, 891, 891,1088 82 2, 824, 891, 824, 891, 891, 891, 824, 616, 891,1089 61 6, 891, 891, 891, 616, 844, 891, 844, 891, 891,1090 891, 844, 677, 891, 677, 891, 891, 891, 677, 681, 1091 89 1, 681, 891, 891, 891, 681, 86, 891, 86, 891,1092 1093 89 1, 891, 86, 849, 891, 849, 891, 891, 891, 849,1094 140, 89 1, 140, 891, 891, 891, 140, 204, 891, 204,1095 89 1, 891, 891, 204, 11, 891, 891, 891, 891, 891,1096 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1097 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1098 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1099 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1100 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1101 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1102 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1103 1104 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 8911010 199, 199, 199, 199, 199, 199, 199, 470, 470, 470, 1011 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 1012 471, 683, 471, 681, 679, 677, 471, 473, 675, 473, 1013 673, 87, 87, 473, 475, 87, 475, 87, 87, 87, 1014 475, 348, 87, 348, 477, 87, 477, 87, 87, 87, 1015 1016 477, 350, 620, 350, 480, 618, 480, 616, 614, 612, 1017 480, 354, 610, 354, 482, 505, 482, 608, 608, 597, 1018 482, 356, 596, 356, 484, 594, 484, 485, 485, 592, 1019 484, 358, 590, 358, 486, 588, 486, 586, 584, 582, 1020 486, 365, 87, 365, 488, 87, 488, 87, 87, 87, 1021 488, 367, 87, 367, 494, 87, 494, 87, 494, 517, 1022 494, 382, 515, 382, 513, 382, 511, 382, 384, 384, 1023 509, 384, 384, 384, 507, 384, 506, 493, 506, 492, 1024 489, 487, 506, 508, 361, 508, 361, 485, 483, 508, 1025 510, 481, 510, 478, 476, 474, 510, 394, 472, 394, 1026 1027 512, 87, 512, 87, 87, 402, 512, 396, 401, 396, 1028 514, 399, 514, 397, 395, 270, 514, 398, 265, 398, 1029 516, 264, 516, 391, 391, 252, 516, 400, 381, 400, 1030 86, 381, 240, 86, 374, 86, 86, 86, 86, 86, 1031 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 1032 470, 470, 470, 581, 368, 581, 366, 364, 360, 581, 1033 471, 359, 471, 583, 357, 583, 355, 351, 349, 583, 1034 473, 205, 473, 585, 201, 585, 87, 277, 276, 585, 1035 475, 274, 475, 587, 270, 587, 265, 268, 265, 587, 1036 477, 263, 477, 589, 262, 589, 261, 240, 232, 589, 1037 1038 480, 85, 480, 591, 85, 591, 87, 205, 203, 591, 1039 482, 85, 482, 484, 122, 484, 117, 87, 894, 484, 1040 593, 70, 593, 70, 894, 894, 593, 486, 894, 486, 1041 595, 894, 595, 894, 894, 894, 595, 488, 894, 488, 1042 494, 894, 494, 894, 494, 894, 494, 384, 894, 384, 1043 894, 894, 894, 384, 609, 894, 609, 894, 894, 894, 1044 609, 506, 894, 506, 611, 894, 611, 894, 894, 894, 1045 611, 508, 894, 508, 613, 894, 613, 894, 894, 894, 1046 613, 510, 894, 510, 615, 894, 615, 894, 894, 894, 1047 615, 512, 894, 512, 617, 894, 617, 894, 894, 894, 1048 1049 617, 514, 894, 514, 619, 894, 619, 894, 894, 894, 1050 619, 516, 894, 516, 86, 894, 894, 86, 894, 86, 1051 86, 86, 86, 86, 672, 672, 672, 672, 672, 672, 1052 672, 672, 672, 672, 672, 672, 672, 674, 894, 674, 1053 894, 894, 894, 674, 581, 894, 581, 676, 894, 676, 1054 894, 894, 894, 676, 583, 894, 583, 678, 894, 678, 1055 894, 894, 894, 678, 585, 894, 585, 680, 894, 680, 1056 894, 894, 894, 680, 587, 894, 587, 682, 894, 682, 1057 894, 894, 894, 682, 589, 894, 589, 684, 894, 684, 1058 894, 894, 894, 684, 591, 894, 591, 686, 894, 686, 1059 1060 894, 894, 894, 686, 593, 894, 593, 86, 894, 86, 1061 894, 894, 894, 86, 595, 894, 595, 494, 894, 494, 1062 894, 894, 894, 494, 694, 894, 694, 894, 894, 894, 1063 694, 609, 894, 609, 696, 894, 696, 894, 894, 894, 1064 696, 611, 894, 611, 698, 894, 698, 894, 894, 894, 1065 698, 613, 894, 613, 140, 894, 140, 894, 894, 894, 1066 140, 615, 894, 615, 701, 894, 701, 617, 894, 617, 1067 86, 894, 894, 86, 894, 86, 86, 86, 86, 86, 1068 619, 894, 619, 672, 672, 672, 672, 672, 672, 672, 1069 672, 672, 672, 672, 672, 672, 740, 894, 740, 894, 1070 1071 894, 894, 740, 674, 894, 674, 204, 894, 204, 894, 1072 894, 894, 204, 676, 894, 676, 743, 894, 743, 678, 1073 894, 678, 204, 894, 894, 204, 894, 204, 204, 204, 1074 204, 204, 680, 894, 680, 744, 894, 744, 682, 894, 1075 682, 684, 894, 684, 745, 894, 745, 686, 894, 686, 1076 86, 894, 86, 747, 894, 747, 894, 894, 894, 747, 1077 694, 894, 694, 269, 894, 269, 894, 894, 894, 269, 1078 696, 894, 696, 750, 894, 750, 698, 894, 698, 140, 1079 894, 140, 751, 894, 751, 894, 894, 894, 751, 86, 1080 894, 894, 86, 894, 86, 86, 86, 86, 86, 785, 1081 1082 894, 785, 740, 894, 740, 204, 894, 204, 786, 894, 1083 786, 894, 894, 894, 786, 788, 894, 788, 894, 894, 1084 894, 788, 790, 894, 790, 894, 894, 894, 790, 792, 1085 894, 792, 793, 894, 793, 894, 894, 894, 793, 795, 1086 894, 795, 894, 894, 894, 795, 817, 894, 817, 894, 1087 894, 894, 817, 819, 894, 819, 894, 894, 894, 819, 1088 821, 894, 821, 894, 894, 894, 821, 823, 894, 823, 1089 894, 894, 894, 823, 825, 894, 825, 894, 894, 894, 1090 825, 827, 894, 827, 894, 894, 894, 827, 619, 894, 1091 619, 894, 894, 894, 619, 847, 894, 847, 894, 894, 1092 1093 894, 847, 680, 894, 680, 894, 894, 894, 680, 684, 1094 894, 684, 894, 894, 894, 684, 86, 894, 86, 894, 1095 894, 894, 86, 852, 894, 852, 894, 894, 894, 852, 1096 140, 894, 140, 894, 894, 894, 140, 204, 894, 204, 1097 894, 894, 894, 204, 11, 894, 894, 894, 894, 894, 1098 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1099 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1100 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1101 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1102 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1103 1104 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1105 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1106 894, 894, 894, 894, 894, 894, 894, 894, 894, 894 1105 1107 } ; 1106 1108 1107 static yyconst flex_int16_t yy_chk[29 11] =1109 static yyconst flex_int16_t yy_chk[2931] = 1108 1110 { 0, 1109 1111 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 1126 1128 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1127 1129 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 1128 8, 9, 10, 37, 37, 20, 39, 9, 10, 89 0,1130 8, 9, 10, 37, 37, 20, 39, 9, 10, 893, 1129 1131 7, 8, 13, 13, 13, 13, 13, 13, 15, 15, 1130 1132 … … 1137 1139 47, 45, 45, 45, 49, 30, 30, 45, 45, 49, 1138 1140 45, 30, 40, 45, 45, 40, 49, 30, 45, 56, 1139 62, 45, 49, 30, 73, 8 89, 127, 53, 127, 51,1141 62, 45, 49, 30, 73, 892, 127, 53, 127, 51, 1140 1142 61, 30, 62, 55, 30, 31, 108, 31, 31, 31, 1141 1143 … … 1145 1147 31, 129, 107, 154, 151, 52, 31, 52, 107, 87, 1146 1148 52, 60, 31, 132, 52, 132, 60, 114, 175, 154, 1147 31, 38, 151, 38 5, 111, 38, 38, 58, 38, 60,1149 31, 38, 151, 387, 111, 38, 38, 58, 38, 60, 1148 1150 38, 38, 113, 38, 107, 38, 59, 130, 113, 58, 1149 58, 116, 111, 164, 38, 38, 38, 38 5, 59, 58,1151 58, 116, 111, 164, 38, 38, 38, 387, 59, 58, 1150 1152 111, 130, 58, 130, 142, 60, 59, 131, 60, 116, 1151 1153 164, 68, 68, 59, 113, 38, 68, 116, 38, 131, 1152 1154 1153 110, 131, 60, 67, 67, 67, 67, 67, 67, 88 1,1155 110, 131, 60, 67, 67, 67, 67, 67, 67, 884, 1154 1156 142, 67, 68, 68, 68, 68, 68, 68, 80, 80, 1155 1157 80, 80, 80, 80, 153, 38, 38, 77, 77, 134, 1156 1158 110, 134, 77, 153, 77, 110, 135, 135, 135, 77, 1157 82, 82, 82, 82, 82, 82, 88 0, 243, 77, 77,1159 82, 82, 82, 82, 82, 82, 883, 243, 77, 77, 1158 1160 77, 77, 83, 83, 83, 83, 83, 83, 110, 77, 1159 1161 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 1160 1162 133, 133, 137, 133, 137, 77, 145, 139, 77, 139, 1161 1163 157, 145, 243, 77, 77, 152, 156, 77, 77, 155, 1162 166, 150, 157, 103, 104, 77, 159, 168, 77, 104,1164 166, 150, 157, 880, 104, 77, 159, 168, 77, 104, 1163 1165 1164 1166 77, 77, 77, 152, 77, 85, 150, 155, 156, 85, 1165 1167 85, 166, 159, 150, 85, 85, 161, 85, 160, 85, 1166 1168 145, 162, 104, 167, 168, 161, 169, 163, 85, 85, 1167 85, 105, 163, 105, 105, 105, 105, 105, 105, 87 7,1169 85, 105, 163, 105, 105, 105, 105, 105, 105, 879, 1168 1170 160, 171, 162, 162, 165, 163, 167, 169, 173, 85, 1169 1171 105, 106, 85, 106, 165, 172, 106, 106, 106, 106, … … 1178 1180 189, 158, 158, 188, 192, 158, 194, 158, 284, 219, 1179 1181 185, 219, 158, 158, 158, 193, 158, 192, 220, 194, 1180 220, 191, 198, 198, 191, 192, 205, 198, 193, 87 6,1182 220, 191, 198, 198, 191, 192, 205, 198, 193, 877, 1181 1183 193, 197, 197, 197, 197, 197, 197, 200, 200, 197, 1182 1184 248, 221, 200, 198, 198, 198, 198, 198, 198, 202, 1183 1185 202, 223, 205, 223, 202, 221, 202, 221, 200, 200, 1184 200, 200, 200, 200, 209, 209, 248, 338, 222, 209,1186 200, 200, 200, 200, 209, 209, 248, 876, 222, 209, 1185 1187 1186 1188 202, 202, 202, 202, 202, 202, 212, 212, 212, 212, 1187 222, 309, 222, 224, 224, 225, 224, 225, 226, 226,1189 222, 286, 222, 224, 224, 225, 224, 225, 226, 226, 1188 1190 226, 228, 229, 228, 229, 234, 234, 235, 236, 235, 1189 309, 279, 235, 235, 235, 235, 235, 235, 237, 212, 1190 237, 338, 266, 237, 266, 267, 278, 267, 234, 279, 1191 283, 236, 241, 241, 241, 283, 241, 241, 256, 278, 1192 237, 281, 237, 282, 280, 235, 270, 237, 244, 244, 1193 244, 244, 244, 244, 241, 241, 241, 281, 285, 241, 1194 282, 241, 280, 285, 256, 244, 245, 245, 245, 245, 1195 245, 245, 270, 288, 293, 286, 294, 300, 306, 293, 1196 1197 308, 244, 300, 306, 874, 294, 308, 244, 246, 246, 1198 246, 246, 246, 246, 253, 286, 288, 255, 255, 255, 1199 255, 255, 255, 287, 246, 247, 246, 247, 246, 246, 1200 247, 247, 247, 247, 247, 247, 290, 253, 287, 253, 1201 873, 246, 289, 253, 287, 287, 246, 292, 246, 253, 1202 255, 246, 291, 246, 260, 260, 260, 260, 260, 260, 1203 289, 253, 290, 292, 292, 253, 295, 291, 296, 253, 1204 297, 299, 301, 302, 303, 304, 305, 307, 311, 295, 1205 302, 301, 307, 310, 311, 312, 319, 260, 297, 299, 1206 313, 314, 310, 304, 303, 296, 318, 305, 305, 313, 1207 1208 315, 312, 316, 317, 319, 315, 314, 316, 317, 320, 1209 322, 323, 324, 326, 325, 318, 327, 328, 331, 329, 1210 330, 322, 320, 332, 334, 317, 323, 325, 333, 330, 1211 335, 324, 337, 339, 340, 326, 329, 328, 401, 327, 1212 331, 337, 334, 335, 341, 343, 332, 340, 342, 401, 1213 333, 339, 341, 342, 344, 344, 345, 460, 866, 344, 1214 343, 344, 345, 352, 352, 352, 352, 353, 353, 353, 1215 353, 362, 363, 362, 363, 370, 370, 370, 370, 370, 1216 370, 372, 460, 372, 380, 381, 372, 372, 372, 372, 1217 372, 372, 865, 402, 380, 381, 352, 371, 371, 371, 1218 1219 371, 371, 371, 374, 374, 374, 374, 374, 374, 402, 1220 380, 381, 403, 371, 404, 371, 864, 371, 371, 375, 1221 375, 375, 375, 375, 375, 383, 382, 403, 406, 405, 1222 371, 383, 407, 404, 408, 371, 374, 371, 405, 406, 1223 371, 407, 371, 376, 376, 376, 376, 376, 376, 382, 1224 412, 382, 375, 387, 411, 382, 408, 383, 384, 386, 1225 384, 382, 410, 384, 384, 384, 384, 384, 384, 409, 1226 411, 387, 412, 382, 413, 410, 376, 382, 409, 387, 1227 415, 382, 386, 414, 386, 416, 417, 413, 386, 418, 1228 421, 417, 419, 422, 386, 420, 384, 427, 419, 414, 1229 1230 414, 421, 415, 416, 418, 423, 386, 425, 429, 427, 1231 386, 418, 422, 430, 386, 431, 420, 432, 433, 434, 1232 423, 425, 435, 437, 433, 439, 440, 441, 431, 429, 1233 442, 435, 443, 444, 434, 430, 449, 445, 437, 447, 1234 432, 450, 441, 451, 454, 439, 445, 443, 440, 452, 1235 450, 453, 442, 444, 455, 456, 447, 457, 458, 449, 1236 459, 461, 463, 455, 451, 458, 454, 459, 462, 452, 1237 457, 453, 466, 456, 464, 467, 462, 525, 863, 463, 1238 525, 468, 491, 461, 467, 464, 462, 468, 477, 477, 1239 477, 477, 491, 515, 466, 488, 488, 488, 488, 488, 1240 1241 488, 490, 490, 490, 490, 490, 490, 519, 491, 521, 1242 515, 488, 492, 488, 492, 488, 488, 492, 492, 492, 1243 492, 492, 492, 494, 516, 495, 493, 519, 488, 862, 1244 858, 521, 518, 488, 490, 488, 493, 516, 488, 529, 1245 488, 497, 497, 497, 497, 497, 497, 518, 520, 494, 1246 492, 495, 493, 498, 498, 498, 498, 498, 498, 523, 1247 529, 520, 526, 854, 523, 851, 528, 850, 522, 498, 1248 499, 498, 499, 498, 498, 499, 499, 499, 499, 499, 1249 499, 522, 526, 524, 527, 528, 498, 531, 530, 532, 1250 533, 498, 531, 498, 524, 534, 498, 530, 498, 527, 1251 1252 532, 535, 537, 533, 536, 538, 539, 541, 542, 547, 1253 535, 539, 544, 541, 538, 545, 546, 542, 547, 537, 1254 550, 551, 849, 549, 534, 552, 536, 554, 560, 544, 1255 545, 546, 549, 551, 555, 557, 558, 550, 561, 555, 1256 552, 562, 554, 565, 557, 558, 564, 567, 566, 568, 1257 560, 561, 575, 565, 564, 566, 569, 571, 562, 574, 1258 572, 568, 569, 620, 619, 575, 571, 601, 601, 567, 1259 572, 619, 620, 848, 847, 622, 574, 594, 594, 594, 1260 594, 594, 594, 595, 595, 595, 595, 595, 595, 597, 1261 601, 597, 622, 621, 597, 597, 597, 597, 597, 597, 1262 1263 600, 600, 600, 600, 600, 600, 621, 602, 626, 846, 1264 594, 596, 596, 596, 596, 596, 596, 603, 618, 603, 1265 623, 624, 603, 618, 628, 626, 625, 596, 624, 596, 1266 602, 596, 596, 600, 625, 627, 618, 628, 627, 603, 1267 629, 603, 630, 623, 596, 631, 603, 632, 633, 596, 1268 634, 596, 635, 634, 596, 636, 596, 630, 637, 638, 1269 640, 644, 629, 639, 632, 641, 642, 631, 645, 635, 1270 633, 646, 639, 637, 650, 642, 651, 656, 640, 638, 1271 646, 653, 657, 636, 644, 665, 656, 641, 664, 657, 1272 645, 667, 668, 842, 650, 665, 700, 664, 653, 699, 1273 1274 667, 702, 705, 651, 714, 842, 700, 668, 686, 686, 1275 686, 686, 686, 686, 690, 690, 690, 690, 690, 690, 1276 699, 708, 705, 703, 686, 714, 686, 702, 686, 686, 1277 703, 704, 706, 715, 707, 706, 704, 707, 710, 708, 1278 712, 686, 711, 717, 710, 718, 686, 690, 686, 712, 1279 720, 686, 717, 686, 713, 711, 716, 713, 719, 716, 1280 721, 719, 715, 720, 722, 723, 724, 725, 721, 731, 1281 728, 718, 732, 735, 722, 733, 725, 736, 723, 756, 1282 757, 735, 758, 754, 756, 759, 736, 724, 728, 731, 1283 755, 761, 758, 728, 732, 757, 733, 743, 743, 743, 1284 1285 743, 743, 743, 754, 760, 763, 762, 755, 759, 762, 1286 764, 766, 768, 769, 766, 768, 770, 761, 763, 770, 1287 769, 760, 771, 773, 772, 771, 775, 779, 794, 797, 1288 743, 796, 798, 800, 799, 798, 800, 801, 764, 772, 1289 801, 803, 804, 807, 810, 805, 773, 797, 805, 775, 1290 779, 808, 796, 810, 808, 794, 799, 809, 811, 803, 1291 809, 812, 813, 828, 829, 807, 830, 831, 804, 830, 1292 832, 829, 812, 834, 811, 856, 831, 833, 813, 837, 1293 833, 875, 837, 840, 828, 856, 840, 841, 832, 843, 1294 834, 852, 853, 867, 832, 868, 841, 853, 843, 855, 1295 1296 852, 857, 855, 875, 859, 860, 857, 859, 860, 861, 1297 868, 869, 861, 867, 869, 870, 871, 872, 878, 871, 1298 872, 879, 882, 884, 883, 870, 885, 887, 886, 845, 1299 888, 882, 844, 839, 838, 836, 879, 883, 835, 878, 1300 888, 827, 826, 825, 824, 884, 886, 885, 823, 887, 1301 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 1302 892, 892, 892, 893, 893, 893, 893, 893, 893, 893, 1303 893, 893, 893, 893, 893, 893, 894, 894, 894, 894, 1304 894, 894, 894, 894, 894, 894, 894, 894, 894, 895, 1305 822, 821, 895, 820, 895, 895, 895, 895, 895, 896, 1306 1307 819, 818, 817, 896, 896, 896, 896, 896, 896, 897, 1191 869, 286, 235, 235, 235, 235, 235, 235, 237, 212, 1192 237, 282, 242, 237, 242, 242, 242, 242, 234, 256, 1193 270, 236, 241, 241, 241, 241, 241, 241, 282, 266, 1194 237, 266, 237, 296, 267, 235, 267, 237, 281, 244, 1195 244, 244, 244, 244, 244, 256, 270, 242, 245, 245, 1196 245, 245, 245, 245, 281, 241, 244, 247, 278, 247, 1197 296, 295, 247, 247, 247, 247, 247, 247, 279, 280, 1198 1199 283, 278, 244, 288, 295, 283, 289, 868, 244, 246, 1200 246, 246, 246, 246, 246, 253, 279, 280, 255, 255, 1201 255, 255, 255, 255, 289, 246, 288, 246, 291, 246, 1202 246, 260, 260, 260, 260, 260, 260, 290, 253, 292, 1203 253, 285, 246, 291, 253, 867, 285, 246, 294, 246, 1204 253, 255, 246, 287, 246, 292, 292, 294, 297, 299, 1205 293, 303, 253, 290, 260, 293, 253, 300, 287, 301, 1206 253, 304, 300, 302, 287, 287, 297, 299, 301, 305, 1207 302, 303, 306, 307, 308, 309, 310, 306, 307, 304, 1208 308, 311, 312, 313, 314, 310, 318, 311, 315, 319, 1209 1210 305, 305, 313, 315, 309, 316, 317, 320, 312, 314, 1211 316, 317, 322, 324, 323, 318, 326, 319, 325, 327, 1212 320, 328, 329, 322, 330, 331, 332, 334, 317, 323, 1213 333, 325, 324, 330, 337, 335, 338, 339, 326, 329, 1214 340, 328, 327, 337, 343, 334, 341, 331, 335, 332, 1215 639, 342, 333, 340, 341, 339, 342, 344, 344, 343, 1216 345, 362, 344, 362, 344, 403, 345, 352, 352, 352, 1217 352, 353, 353, 353, 353, 363, 403, 363, 639, 408, 1218 338, 370, 370, 370, 370, 370, 370, 372, 382, 372, 1219 408, 410, 372, 372, 372, 372, 372, 372, 382, 404, 1220 1221 352, 371, 371, 371, 371, 371, 371, 374, 374, 374, 1222 374, 374, 374, 410, 382, 404, 405, 371, 406, 371, 1223 412, 371, 371, 377, 377, 377, 377, 377, 377, 385, 1224 425, 405, 383, 412, 371, 385, 389, 406, 414, 371, 1225 374, 371, 383, 413, 371, 425, 371, 375, 375, 375, 1226 375, 375, 375, 384, 389, 417, 377, 407, 383, 413, 1227 414, 385, 389, 375, 375, 375, 407, 375, 375, 378, 1228 378, 378, 378, 378, 378, 421, 384, 417, 384, 866, 1229 375, 421, 384, 865, 388, 375, 375, 375, 384, 386, 1230 375, 386, 375, 415, 386, 386, 386, 386, 386, 386, 1231 1232 384, 409, 378, 411, 384, 416, 415, 388, 384, 388, 1233 409, 418, 411, 388, 423, 419, 422, 424, 420, 388, 1234 419, 416, 416, 431, 427, 423, 432, 386, 433, 418, 1235 429, 388, 434, 420, 441, 388, 424, 422, 427, 388, 1236 420, 433, 429, 435, 431, 436, 439, 437, 432, 435, 1237 442, 443, 444, 445, 441, 434, 437, 446, 447, 449, 1238 436, 439, 451, 453, 452, 456, 443, 447, 445, 454, 1239 455, 457, 442, 452, 444, 458, 449, 446, 459, 460, 1240 457, 461, 462, 463, 453, 451, 460, 456, 461, 454, 1241 455, 459, 464, 458, 465, 466, 468, 470, 528, 469, 1242 1243 464, 528, 861, 470, 519, 463, 466, 462, 469, 524, 1244 464, 465, 479, 479, 479, 479, 518, 519, 468, 490, 1245 490, 490, 490, 490, 490, 492, 492, 492, 492, 492, 1246 492, 524, 544, 518, 522, 490, 521, 490, 544, 490, 1247 490, 493, 493, 493, 493, 493, 493, 497, 526, 498, 1248 494, 521, 490, 526, 522, 496, 532, 490, 492, 490, 1249 494, 495, 490, 495, 490, 496, 495, 495, 495, 495, 1250 495, 495, 567, 497, 493, 498, 494, 532, 523, 525, 1251 567, 496, 500, 500, 500, 500, 500, 500, 502, 529, 1252 502, 523, 525, 502, 502, 502, 502, 502, 502, 495, 1253 1254 501, 501, 501, 501, 501, 501, 527, 530, 531, 529, 1255 533, 857, 536, 535, 539, 537, 501, 527, 501, 533, 1256 501, 501, 530, 534, 535, 536, 538, 531, 534, 540, 1257 541, 547, 542, 501, 548, 538, 539, 542, 501, 541, 1258 501, 545, 549, 501, 537, 501, 540, 550, 547, 548, 1259 545, 552, 553, 554, 558, 555, 550, 549, 557, 558, 1260 552, 563, 560, 561, 564, 554, 568, 565, 569, 553, 1261 555, 560, 561, 557, 570, 569, 568, 564, 571, 572, 1262 574, 575, 577, 563, 565, 572, 713, 578, 622, 574, 1263 571, 575, 713, 604, 604, 622, 570, 625, 854, 577, 1264 1265 578, 597, 597, 597, 597, 597, 597, 598, 598, 598, 1266 598, 598, 598, 600, 625, 600, 604, 624, 600, 600, 1267 600, 600, 600, 600, 603, 603, 603, 603, 603, 603, 1268 624, 605, 814, 629, 597, 599, 599, 599, 599, 599, 1269 599, 606, 621, 606, 626, 627, 606, 621, 814, 623, 1270 629, 599, 627, 599, 605, 599, 599, 603, 623, 630, 1271 621, 628, 630, 606, 631, 606, 632, 626, 599, 628, 1272 606, 633, 634, 599, 635, 599, 636, 631, 599, 637, 1273 599, 640, 637, 638, 641, 643, 633, 644, 632, 647, 1274 642, 635, 645, 648, 634, 705, 640, 649, 636, 642, 1275 1276 638, 645, 653, 643, 641, 654, 649, 656, 659, 644, 1277 667, 660, 647, 668, 671, 648, 670, 659, 660, 667, 1278 703, 705, 653, 668, 656, 670, 702, 853, 708, 671, 1279 703, 852, 654, 689, 689, 689, 689, 689, 689, 693, 1280 693, 693, 693, 693, 693, 706, 711, 702, 708, 689, 1281 707, 689, 706, 689, 689, 707, 709, 710, 715, 709, 1282 710, 714, 716, 717, 711, 716, 689, 715, 718, 721, 1283 720, 689, 693, 689, 714, 723, 689, 719, 689, 720, 1284 719, 724, 722, 725, 717, 722, 726, 727, 723, 724, 1285 735, 728, 731, 725, 734, 721, 736, 718, 738, 726, 1286 1287 728, 760, 739, 761, 757, 762, 738, 764, 727, 758, 1288 731, 739, 735, 761, 734, 731, 760, 736, 746, 746, 1289 746, 746, 746, 746, 757, 759, 758, 763, 762, 765, 1290 759, 767, 765, 764, 766, 769, 771, 773, 769, 771, 1291 773, 772, 774, 775, 763, 774, 776, 766, 772, 778, 1292 782, 746, 797, 799, 802, 807, 810, 800, 775, 767, 1293 801, 803, 804, 801, 803, 804, 806, 808, 811, 776, 1294 808, 811, 778, 782, 799, 800, 802, 812, 810, 797, 1295 812, 807, 813, 815, 806, 816, 831, 833, 832, 834, 1296 833, 813, 835, 836, 815, 832, 836, 837, 834, 840, 1297 1298 843, 816, 840, 843, 844, 845, 846, 831, 858, 855, 1299 835, 858, 859, 844, 837, 846, 835, 845, 855, 856, 1300 860, 870, 859, 862, 856, 860, 862, 863, 864, 871, 1301 863, 864, 872, 873, 874, 872, 875, 874, 878, 875, 1302 881, 870, 882, 873, 871, 885, 886, 887, 889, 888, 1303 890, 851, 891, 850, 885, 849, 848, 882, 847, 886, 1304 878, 881, 891, 842, 841, 839, 889, 838, 830, 887, 1305 888, 829, 890, 895, 895, 895, 895, 895, 895, 895, 1306 895, 895, 895, 895, 895, 895, 896, 896, 896, 896, 1307 896, 896, 896, 896, 896, 896, 896, 896, 896, 897, 1308 1308 1309 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 1309 897, 897, 898, 816, 815, 898, 814, 898, 898, 898, 1310 898, 898, 899, 806, 899, 899, 802, 899, 899, 899, 1311 899, 899, 899, 795, 899, 900, 793, 792, 900, 900, 1312 900, 900, 900, 900, 900, 900, 791, 900, 901, 901, 1313 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 1314 901, 902, 902, 790, 902, 789, 788, 787, 902, 903, 1315 786, 785, 903, 784, 903, 903, 903, 903, 903, 904, 1316 783, 904, 782, 781, 780, 904, 905, 778, 905, 777, 1317 1318 776, 774, 905, 906, 767, 906, 765, 753, 752, 906, 1319 907, 751, 907, 750, 749, 748, 907, 908, 747, 908, 1320 746, 745, 742, 908, 909, 741, 909, 740, 734, 730, 1321 909, 910, 729, 910, 727, 726, 709, 910, 911, 701, 1322 911, 698, 693, 691, 911, 912, 687, 912, 677, 673, 1323 671, 912, 913, 913, 913, 913, 913, 913, 913, 913, 1324 913, 913, 913, 913, 913, 914, 669, 914, 915, 915, 1325 666, 915, 915, 915, 663, 915, 916, 916, 662, 916, 1326 917, 661, 917, 660, 659, 658, 917, 918, 655, 918, 1327 654, 652, 649, 918, 919, 648, 919, 647, 643, 616, 1328 1329 919, 920, 612, 920, 921, 610, 921, 608, 606, 604, 1330 921, 922, 598, 922, 923, 592, 590, 923, 588, 923, 1331 923, 923, 923, 923, 924, 924, 924, 924, 924, 924, 1332 924, 924, 924, 924, 924, 924, 924, 925, 925, 925, 1333 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, 1334 926, 586, 926, 584, 582, 580, 926, 927, 578, 927, 1335 577, 576, 573, 927, 928, 570, 928, 563, 559, 556, 1336 928, 929, 553, 929, 930, 548, 930, 543, 540, 517, 1337 930, 931, 513, 931, 932, 511, 932, 509, 507, 505, 1338 932, 933, 503, 933, 934, 502, 934, 501, 500, 489, 1339 1340 934, 935, 486, 935, 936, 484, 936, 483, 482, 480, 1341 936, 937, 478, 937, 938, 475, 938, 473, 471, 469, 1342 938, 939, 465, 939, 940, 448, 940, 446, 438, 436, 1343 940, 941, 428, 941, 942, 426, 942, 424, 942, 398, 1344 942, 943, 396, 943, 394, 943, 392, 943, 944, 944, 1345 391, 944, 944, 944, 390, 944, 945, 377, 945, 367, 1346 365, 364, 945, 946, 360, 946, 358, 356, 354, 946, 1347 947, 350, 947, 348, 347, 346, 947, 948, 336, 948, 1348 949, 321, 949, 298, 277, 275, 949, 950, 273, 950, 1349 951, 272, 951, 271, 269, 268, 951, 952, 263, 952, 1350 1351 953, 259, 953, 258, 254, 251, 953, 954, 250, 954, 1352 955, 239, 238, 955, 231, 955, 955, 955, 955, 955, 1353 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 1354 956, 956, 956, 957, 230, 957, 227, 217, 215, 957, 1355 958, 214, 958, 959, 213, 959, 207, 206, 204, 959, 1356 960, 199, 960, 961, 178, 961, 149, 147, 146, 961, 1357 962, 140, 962, 963, 138, 963, 136, 128, 125, 963, 1358 964, 124, 964, 965, 120, 965, 101, 98, 95, 965, 1359 966, 93, 966, 967, 86, 967, 72, 70, 66, 967, 1360 968, 36, 968, 969, 33, 969, 18, 11, 4, 969, 1361 1362 970, 3, 970, 0, 0, 0, 970, 971, 0, 971, 1363 972, 0, 972, 0, 0, 0, 972, 973, 0, 973, 1364 974, 0, 974, 0, 974, 0, 974, 975, 0, 975, 1365 0, 0, 0, 975, 976, 0, 976, 0, 0, 0, 1366 976, 977, 0, 977, 978, 0, 978, 0, 0, 0, 1367 978, 979, 0, 979, 980, 0, 980, 0, 0, 0, 1368 980, 981, 0, 981, 982, 0, 982, 0, 0, 0, 1369 982, 983, 0, 983, 984, 0, 984, 0, 0, 0, 1370 984, 985, 0, 985, 986, 0, 986, 0, 0, 0, 1371 986, 987, 0, 987, 988, 0, 0, 988, 0, 988, 1372 1373 988, 988, 988, 988, 989, 989, 989, 989, 989, 989, 1374 989, 989, 989, 989, 989, 989, 989, 990, 0, 990, 1375 0, 0, 0, 990, 991, 0, 991, 992, 0, 992, 1376 0, 0, 0, 992, 993, 0, 993, 994, 0, 994, 1377 0, 0, 0, 994, 995, 0, 995, 996, 0, 996, 1378 0, 0, 0, 996, 997, 0, 997, 998, 0, 998, 1379 0, 0, 0, 998, 999, 0, 999, 1000, 0, 1000, 1380 0, 0, 0, 1000, 1001, 0, 1001, 1002, 0, 1002, 1381 0, 0, 0, 1002, 1003, 0, 1003, 1004, 0, 1004, 1382 0, 0, 0, 1004, 1005, 0, 1005, 1006, 0, 1006, 1383 1384 0, 0, 0, 1006, 1007, 0, 1007, 0, 0, 0, 1385 1007, 1008, 0, 1008, 1009, 0, 1009, 0, 0, 0, 1386 1009, 1010, 0, 1010, 1011, 0, 1011, 0, 0, 0, 1387 1011, 1012, 0, 1012, 1013, 0, 1013, 0, 0, 0, 1388 1013, 1014, 0, 1014, 1015, 0, 1015, 1016, 0, 1016, 1389 1017, 0, 0, 1017, 0, 1017, 1017, 1017, 1017, 1017, 1390 1018, 0, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1391 1019, 1019, 1019, 1019, 1019, 1019, 1020, 0, 1020, 0, 1392 0, 0, 1020, 1021, 0, 1021, 1022, 0, 1022, 0, 1393 0, 0, 1022, 1023, 0, 1023, 1024, 0, 1024, 1025, 1394 1395 0, 1025, 1026, 0, 0, 1026, 0, 1026, 1026, 1026, 1396 1026, 1026, 1027, 0, 1027, 1028, 0, 1028, 1029, 0, 1397 1029, 1030, 0, 1030, 1031, 0, 1031, 1032, 0, 1032, 1398 1033, 0, 1033, 1034, 0, 1034, 0, 0, 0, 1034, 1399 1035, 0, 1035, 1036, 0, 1036, 0, 0, 0, 1036, 1400 1037, 0, 1037, 1038, 0, 1038, 1039, 0, 1039, 1040, 1401 0, 1040, 1041, 0, 1041, 0, 0, 0, 1041, 1042, 1402 0, 0, 1042, 0, 1042, 1042, 1042, 1042, 1042, 1043, 1403 0, 1043, 1044, 0, 1044, 1045, 0, 1045, 1046, 0, 1404 1046, 0, 0, 0, 1046, 1047, 0, 1047, 0, 0, 1405 1406 0, 1047, 1048, 0, 1048, 0, 0, 0, 1048, 1049, 1407 0, 1049, 1050, 0, 1050, 0, 0, 0, 1050, 1051, 1408 0, 1051, 0, 0, 0, 1051, 1052, 0, 1052, 0, 1409 0, 0, 1052, 1053, 0, 1053, 0, 0, 0, 1053, 1410 1054, 0, 1054, 0, 0, 0, 1054, 1055, 0, 1055, 1411 0, 0, 0, 1055, 1056, 0, 1056, 0, 0, 0, 1412 1056, 1057, 0, 1057, 0, 0, 0, 1057, 1058, 0, 1413 1058, 0, 0, 0, 1058, 1059, 0, 1059, 0, 0, 1414 0, 1059, 1060, 0, 1060, 0, 0, 0, 1060, 1061, 1415 0, 1061, 0, 0, 0, 1061, 1062, 0, 1062, 0, 1416 1417 0, 0, 1062, 1063, 0, 1063, 0, 0, 0, 1063, 1418 1064, 0, 1064, 0, 0, 0, 1064, 1065, 0, 1065, 1419 0, 0, 0, 1065, 891, 891, 891, 891, 891, 891, 1420 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1421 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1422 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1423 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1424 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1425 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1426 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1427 1428 891, 891, 891, 891, 891, 891, 891, 891, 891, 891 1310 897, 897, 898, 828, 827, 898, 826, 898, 898, 898, 1311 898, 898, 899, 825, 824, 823, 899, 899, 899, 899, 1312 899, 899, 900, 900, 900, 900, 900, 900, 900, 900, 1313 900, 900, 900, 900, 900, 901, 822, 821, 901, 820, 1314 901, 901, 901, 901, 901, 902, 819, 902, 902, 818, 1315 902, 902, 902, 902, 902, 902, 817, 902, 903, 809, 1316 805, 903, 903, 903, 903, 903, 903, 903, 903, 798, 1317 903, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1318 904, 904, 904, 904, 905, 905, 796, 905, 795, 794, 1319 1320 793, 905, 906, 792, 791, 906, 790, 906, 906, 906, 1321 906, 906, 907, 789, 907, 788, 787, 786, 907, 908, 1322 785, 908, 784, 783, 781, 908, 909, 780, 909, 779, 1323 777, 770, 909, 910, 768, 910, 756, 755, 754, 910, 1324 911, 753, 911, 752, 751, 750, 911, 912, 749, 912, 1325 748, 745, 744, 912, 913, 743, 913, 737, 733, 732, 1326 913, 914, 730, 914, 729, 712, 704, 914, 915, 701, 1327 915, 696, 694, 690, 915, 916, 680, 916, 917, 917, 1328 676, 917, 917, 917, 674, 917, 918, 918, 672, 918, 1329 919, 669, 666, 919, 665, 919, 919, 919, 919, 919, 1330 1331 920, 664, 920, 663, 662, 661, 920, 921, 658, 921, 1332 657, 655, 652, 921, 922, 651, 922, 650, 646, 619, 1333 922, 923, 615, 923, 924, 613, 924, 611, 609, 607, 1334 924, 925, 601, 925, 926, 595, 593, 926, 591, 926, 1335 926, 926, 926, 926, 927, 927, 927, 927, 927, 927, 1336 927, 927, 927, 927, 927, 927, 927, 928, 928, 928, 1337 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 1338 929, 589, 929, 587, 585, 583, 929, 930, 581, 930, 1339 580, 579, 576, 930, 931, 573, 931, 566, 562, 559, 1340 931, 932, 556, 932, 933, 551, 933, 546, 543, 520, 1341 1342 933, 934, 516, 934, 935, 514, 935, 512, 510, 508, 1343 935, 936, 506, 936, 937, 505, 937, 504, 503, 491, 1344 937, 938, 488, 938, 939, 486, 939, 485, 484, 482, 1345 939, 940, 480, 940, 941, 477, 941, 475, 473, 471, 1346 941, 942, 467, 942, 943, 450, 943, 448, 440, 438, 1347 943, 944, 430, 944, 945, 428, 945, 426, 945, 400, 1348 945, 946, 398, 946, 396, 946, 394, 946, 947, 947, 1349 393, 947, 947, 947, 392, 947, 948, 379, 948, 376, 1350 367, 365, 948, 949, 364, 949, 360, 358, 356, 949, 1351 950, 354, 950, 350, 348, 347, 950, 951, 346, 951, 1352 1353 952, 336, 952, 321, 298, 277, 952, 953, 275, 953, 1354 954, 273, 954, 272, 271, 269, 954, 955, 268, 955, 1355 956, 263, 956, 259, 258, 254, 956, 957, 251, 957, 1356 958, 250, 239, 958, 238, 958, 958, 958, 958, 958, 1357 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 1358 959, 959, 959, 960, 231, 960, 230, 227, 217, 960, 1359 961, 215, 961, 962, 214, 962, 213, 207, 206, 962, 1360 963, 204, 963, 964, 199, 964, 178, 149, 147, 964, 1361 965, 146, 965, 966, 140, 966, 138, 136, 128, 966, 1362 967, 125, 967, 968, 124, 968, 120, 101, 98, 968, 1363 1364 969, 95, 969, 970, 93, 970, 86, 72, 70, 970, 1365 971, 66, 971, 972, 36, 972, 33, 18, 11, 972, 1366 973, 4, 973, 3, 0, 0, 973, 974, 0, 974, 1367 975, 0, 975, 0, 0, 0, 975, 976, 0, 976, 1368 977, 0, 977, 0, 977, 0, 977, 978, 0, 978, 1369 0, 0, 0, 978, 979, 0, 979, 0, 0, 0, 1370 979, 980, 0, 980, 981, 0, 981, 0, 0, 0, 1371 981, 982, 0, 982, 983, 0, 983, 0, 0, 0, 1372 983, 984, 0, 984, 985, 0, 985, 0, 0, 0, 1373 985, 986, 0, 986, 987, 0, 987, 0, 0, 0, 1374 1375 987, 988, 0, 988, 989, 0, 989, 0, 0, 0, 1376 989, 990, 0, 990, 991, 0, 0, 991, 0, 991, 1377 991, 991, 991, 991, 992, 992, 992, 992, 992, 992, 1378 992, 992, 992, 992, 992, 992, 992, 993, 0, 993, 1379 0, 0, 0, 993, 994, 0, 994, 995, 0, 995, 1380 0, 0, 0, 995, 996, 0, 996, 997, 0, 997, 1381 0, 0, 0, 997, 998, 0, 998, 999, 0, 999, 1382 0, 0, 0, 999, 1000, 0, 1000, 1001, 0, 1001, 1383 0, 0, 0, 1001, 1002, 0, 1002, 1003, 0, 1003, 1384 0, 0, 0, 1003, 1004, 0, 1004, 1005, 0, 1005, 1385 1386 0, 0, 0, 1005, 1006, 0, 1006, 1007, 0, 1007, 1387 0, 0, 0, 1007, 1008, 0, 1008, 1009, 0, 1009, 1388 0, 0, 0, 1009, 1010, 0, 1010, 0, 0, 0, 1389 1010, 1011, 0, 1011, 1012, 0, 1012, 0, 0, 0, 1390 1012, 1013, 0, 1013, 1014, 0, 1014, 0, 0, 0, 1391 1014, 1015, 0, 1015, 1016, 0, 1016, 0, 0, 0, 1392 1016, 1017, 0, 1017, 1018, 0, 1018, 1019, 0, 1019, 1393 1020, 0, 0, 1020, 0, 1020, 1020, 1020, 1020, 1020, 1394 1021, 0, 1021, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1395 1022, 1022, 1022, 1022, 1022, 1022, 1023, 0, 1023, 0, 1396 1397 0, 0, 1023, 1024, 0, 1024, 1025, 0, 1025, 0, 1398 0, 0, 1025, 1026, 0, 1026, 1027, 0, 1027, 1028, 1399 0, 1028, 1029, 0, 0, 1029, 0, 1029, 1029, 1029, 1400 1029, 1029, 1030, 0, 1030, 1031, 0, 1031, 1032, 0, 1401 1032, 1033, 0, 1033, 1034, 0, 1034, 1035, 0, 1035, 1402 1036, 0, 1036, 1037, 0, 1037, 0, 0, 0, 1037, 1403 1038, 0, 1038, 1039, 0, 1039, 0, 0, 0, 1039, 1404 1040, 0, 1040, 1041, 0, 1041, 1042, 0, 1042, 1043, 1405 0, 1043, 1044, 0, 1044, 0, 0, 0, 1044, 1045, 1406 0, 0, 1045, 0, 1045, 1045, 1045, 1045, 1045, 1046, 1407 1408 0, 1046, 1047, 0, 1047, 1048, 0, 1048, 1049, 0, 1409 1049, 0, 0, 0, 1049, 1050, 0, 1050, 0, 0, 1410 0, 1050, 1051, 0, 1051, 0, 0, 0, 1051, 1052, 1411 0, 1052, 1053, 0, 1053, 0, 0, 0, 1053, 1054, 1412 0, 1054, 0, 0, 0, 1054, 1055, 0, 1055, 0, 1413 0, 0, 1055, 1056, 0, 1056, 0, 0, 0, 1056, 1414 1057, 0, 1057, 0, 0, 0, 1057, 1058, 0, 1058, 1415 0, 0, 0, 1058, 1059, 0, 1059, 0, 0, 0, 1416 1059, 1060, 0, 1060, 0, 0, 0, 1060, 1061, 0, 1417 1061, 0, 0, 0, 1061, 1062, 0, 1062, 0, 0, 1418 1419 0, 1062, 1063, 0, 1063, 0, 0, 0, 1063, 1064, 1420 0, 1064, 0, 0, 0, 1064, 1065, 0, 1065, 0, 1421 0, 0, 1065, 1066, 0, 1066, 0, 0, 0, 1066, 1422 1067, 0, 1067, 0, 0, 0, 1067, 1068, 0, 1068, 1423 0, 0, 0, 1068, 894, 894, 894, 894, 894, 894, 1424 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1425 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1426 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1427 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1428 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1429 1430 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1431 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1432 894, 894, 894, 894, 894, 894, 894, 894, 894, 894 1429 1433 } ; 1430 1434 1431 1435 /* Table of booleans, true if rule could match eol. */ 1432 static yyconst flex_int32_t yy_rule_can_match_eol[18 2] =1436 static yyconst flex_int32_t yy_rule_can_match_eol[184] = 1433 1437 { 0, 1434 1438 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … … 1437 1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1438 1442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,1440 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1444 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441 1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1442 1446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1443 0, 0, };1447 0, 0, 0, 0, }; 1444 1448 1445 1449 static yy_state_type yy_last_accepting_state; … … 1469 1473 * Created On : Sat Sep 22 08:58:10 2001 1470 1474 * Last Modified By : Peter A. Buhr 1471 * Last Modified On : Wed Aug 24 13:27:0420161472 * Update Count : 4 871475 * Last Modified On : Wed Oct 26 17:32:30 2016 1476 * Update Count : 499 1473 1477 */ 1474 1478 #line 20 "lex.ll" … … 1517 1521 1518 1522 // identifier, GCC: $ in identifier 1519 // quoted identifier1520 1523 // attribute identifier, GCC: $ in identifier 1521 1524 // numeric constants, CFA: '_' in constant … … 1532 1535 1533 1536 1534 #line 153 5"Parser/lex.cc"1537 #line 1538 "Parser/lex.cc" 1535 1538 1536 1539 #define INITIAL 0 … … 1724 1727 register int yy_act; 1725 1728 1726 #line 13 9"lex.ll"1729 #line 138 "lex.ll" 1727 1730 1728 1731 /* line directives */ 1729 #line 173 0"Parser/lex.cc"1732 #line 1733 "Parser/lex.cc" 1730 1733 1731 1734 if ( !(yy_init) ) … … 1781 1784 { 1782 1785 yy_current_state = (int) yy_def[yy_current_state]; 1783 if ( yy_current_state >= 89 2)1786 if ( yy_current_state >= 895 ) 1784 1787 yy_c = yy_meta[(unsigned int) yy_c]; 1785 1788 } … … 1787 1790 ++yy_cp; 1788 1791 } 1789 while ( yy_base[yy_current_state] != 28 25 );1792 while ( yy_base[yy_current_state] != 2845 ); 1790 1793 1791 1794 yy_find_action: … … 1824 1827 /* rule 1 can match eol */ 1825 1828 YY_RULE_SETUP 1826 #line 14 1"lex.ll"1829 #line 140 "lex.ll" 1827 1830 { 1828 1831 /* " stop highlighting */ … … 1850 1853 /* rule 2 can match eol */ 1851 1854 YY_RULE_SETUP 1852 #line 16 3"lex.ll"1855 #line 162 "lex.ll" 1853 1856 ; 1854 1857 YY_BREAK … … 1856 1859 case 3: 1857 1860 YY_RULE_SETUP 1858 #line 16 6"lex.ll"1861 #line 165 "lex.ll" 1859 1862 { BEGIN COMMENT; } 1860 1863 YY_BREAK … … 1862 1865 /* rule 4 can match eol */ 1863 1866 YY_RULE_SETUP 1867 #line 166 "lex.ll" 1868 ; 1869 YY_BREAK 1870 case 5: 1871 YY_RULE_SETUP 1864 1872 #line 167 "lex.ll" 1865 ;1866 YY_BREAK1867 case 5:1868 YY_RULE_SETUP1869 #line 168 "lex.ll"1870 1873 { BEGIN 0; } 1871 1874 YY_BREAK … … 1874 1877 /* rule 6 can match eol */ 1875 1878 YY_RULE_SETUP 1876 #line 17 1"lex.ll"1879 #line 170 "lex.ll" 1877 1880 ; 1878 1881 YY_BREAK … … 1880 1883 case 7: 1881 1884 YY_RULE_SETUP 1885 #line 173 "lex.ll" 1886 { WHITE_RETURN(' '); } 1887 YY_BREAK 1888 case 8: 1889 YY_RULE_SETUP 1882 1890 #line 174 "lex.ll" 1883 1891 { WHITE_RETURN(' '); } 1884 1892 YY_BREAK 1885 case 8:1886 YY_RULE_SETUP1887 #line 175 "lex.ll"1888 { WHITE_RETURN(' '); }1889 YY_BREAK1890 1893 case 9: 1891 1894 /* rule 9 can match eol */ 1892 1895 YY_RULE_SETUP 1893 #line 17 6"lex.ll"1896 #line 175 "lex.ll" 1894 1897 { NEWLINE_RETURN(); } 1895 1898 YY_BREAK … … 1897 1900 case 10: 1898 1901 YY_RULE_SETUP 1902 #line 178 "lex.ll" 1903 { KEYWORD_RETURN(ALIGNAS); } // C11 1904 YY_BREAK 1905 case 11: 1906 YY_RULE_SETUP 1899 1907 #line 179 "lex.ll" 1900 { KEYWORD_RETURN(ALIGN AS); } // C111901 YY_BREAK 1902 case 1 1:1908 { KEYWORD_RETURN(ALIGNOF); } // C11 1909 YY_BREAK 1910 case 12: 1903 1911 YY_RULE_SETUP 1904 1912 #line 180 "lex.ll" 1905 { KEYWORD_RETURN(ALIGNOF); } // C111906 YY_BREAK 1907 case 1 2:1913 { KEYWORD_RETURN(ALIGNOF); } // GCC 1914 YY_BREAK 1915 case 13: 1908 1916 YY_RULE_SETUP 1909 1917 #line 181 "lex.ll" 1910 1918 { KEYWORD_RETURN(ALIGNOF); } // GCC 1911 1919 YY_BREAK 1912 case 1 3:1920 case 14: 1913 1921 YY_RULE_SETUP 1914 1922 #line 182 "lex.ll" 1915 { KEYWORD_RETURN(A LIGNOF); } // GCC1916 YY_BREAK 1917 case 1 4:1923 { KEYWORD_RETURN(ASM); } 1924 YY_BREAK 1925 case 15: 1918 1926 YY_RULE_SETUP 1919 1927 #line 183 "lex.ll" 1920 { KEYWORD_RETURN(ASM); } 1921 YY_BREAK 1922 case 1 5:1928 { KEYWORD_RETURN(ASM); } // GCC 1929 YY_BREAK 1930 case 16: 1923 1931 YY_RULE_SETUP 1924 1932 #line 184 "lex.ll" 1925 1933 { KEYWORD_RETURN(ASM); } // GCC 1926 1934 YY_BREAK 1927 case 1 6:1935 case 17: 1928 1936 YY_RULE_SETUP 1929 1937 #line 185 "lex.ll" 1930 { KEYWORD_RETURN(A SM); } // GCC1931 YY_BREAK 1932 case 1 7:1938 { KEYWORD_RETURN(AT); } // CFA 1939 YY_BREAK 1940 case 18: 1933 1941 YY_RULE_SETUP 1934 1942 #line 186 "lex.ll" 1935 { KEYWORD_RETURN(AT ); } // CFA1936 YY_BREAK 1937 case 1 8:1943 { KEYWORD_RETURN(ATOMIC); } // C11 1944 YY_BREAK 1945 case 19: 1938 1946 YY_RULE_SETUP 1939 1947 #line 187 "lex.ll" 1940 { KEYWORD_RETURN(AT OMIC); } // C111941 YY_BREAK 1942 case 19:1948 { KEYWORD_RETURN(ATTRIBUTE); } // GCC 1949 YY_BREAK 1950 case 20: 1943 1951 YY_RULE_SETUP 1944 1952 #line 188 "lex.ll" 1945 1953 { KEYWORD_RETURN(ATTRIBUTE); } // GCC 1946 1954 YY_BREAK 1947 case 2 0:1955 case 21: 1948 1956 YY_RULE_SETUP 1949 1957 #line 189 "lex.ll" 1950 { KEYWORD_RETURN(A TTRIBUTE); } // GCC1951 YY_BREAK 1952 case 2 1:1958 { KEYWORD_RETURN(AUTO); } 1959 YY_BREAK 1960 case 22: 1953 1961 YY_RULE_SETUP 1954 1962 #line 190 "lex.ll" 1955 { KEYWORD_RETURN( AUTO); }1956 YY_BREAK 1957 case 2 2:1963 { KEYWORD_RETURN(BOOL); } // C99 1964 YY_BREAK 1965 case 23: 1958 1966 YY_RULE_SETUP 1959 1967 #line 191 "lex.ll" 1960 { KEYWORD_RETURN(B OOL); } // C991961 YY_BREAK 1962 case 2 3:1968 { KEYWORD_RETURN(BREAK); } 1969 YY_BREAK 1970 case 24: 1963 1971 YY_RULE_SETUP 1964 1972 #line 192 "lex.ll" 1965 { KEYWORD_RETURN( BREAK); }1966 YY_BREAK 1967 case 2 4:1973 { KEYWORD_RETURN(CASE); } 1974 YY_BREAK 1975 case 25: 1968 1976 YY_RULE_SETUP 1969 1977 #line 193 "lex.ll" 1970 { KEYWORD_RETURN(CA SE); }1971 YY_BREAK 1972 case 2 5:1978 { KEYWORD_RETURN(CATCH); } // CFA 1979 YY_BREAK 1980 case 26: 1973 1981 YY_RULE_SETUP 1974 1982 #line 194 "lex.ll" 1975 { KEYWORD_RETURN(CATCH ); }// CFA1976 YY_BREAK 1977 case 2 6:1983 { KEYWORD_RETURN(CATCHRESUME); } // CFA 1984 YY_BREAK 1985 case 27: 1978 1986 YY_RULE_SETUP 1979 1987 #line 195 "lex.ll" 1980 { KEYWORD_RETURN(C ATCHRESUME); } // CFA1981 YY_BREAK 1982 case 2 7:1988 { KEYWORD_RETURN(CHAR); } 1989 YY_BREAK 1990 case 28: 1983 1991 YY_RULE_SETUP 1984 1992 #line 196 "lex.ll" 1985 { KEYWORD_RETURN(CH AR); }1986 YY_BREAK 1987 case 2 8:1993 { KEYWORD_RETURN(CHOOSE); } // CFA 1994 YY_BREAK 1995 case 29: 1988 1996 YY_RULE_SETUP 1989 1997 #line 197 "lex.ll" 1990 { KEYWORD_RETURN(C HOOSE); } // CFA1991 YY_BREAK 1992 case 29:1998 { KEYWORD_RETURN(COMPLEX); } // C99 1999 YY_BREAK 2000 case 30: 1993 2001 YY_RULE_SETUP 1994 2002 #line 198 "lex.ll" 1995 { KEYWORD_RETURN(COMPLEX); } // C991996 YY_BREAK 1997 case 3 0:2003 { KEYWORD_RETURN(COMPLEX); } // GCC 2004 YY_BREAK 2005 case 31: 1998 2006 YY_RULE_SETUP 1999 2007 #line 199 "lex.ll" 2000 2008 { KEYWORD_RETURN(COMPLEX); } // GCC 2001 2009 YY_BREAK 2002 case 3 1:2010 case 32: 2003 2011 YY_RULE_SETUP 2004 2012 #line 200 "lex.ll" 2005 { KEYWORD_RETURN(CO MPLEX); } // GCC2006 YY_BREAK 2007 case 3 2:2013 { KEYWORD_RETURN(CONST); } 2014 YY_BREAK 2015 case 33: 2008 2016 YY_RULE_SETUP 2009 2017 #line 201 "lex.ll" 2010 { KEYWORD_RETURN(CONST); } 2011 YY_BREAK 2012 case 3 3:2018 { KEYWORD_RETURN(CONST); } // GCC 2019 YY_BREAK 2020 case 34: 2013 2021 YY_RULE_SETUP 2014 2022 #line 202 "lex.ll" 2015 2023 { KEYWORD_RETURN(CONST); } // GCC 2016 2024 YY_BREAK 2017 case 3 4:2025 case 35: 2018 2026 YY_RULE_SETUP 2019 2027 #line 203 "lex.ll" 2020 { KEYWORD_RETURN(CON ST); } // GCC2021 YY_BREAK 2022 case 3 5:2028 { KEYWORD_RETURN(CONTINUE); } 2029 YY_BREAK 2030 case 36: 2023 2031 YY_RULE_SETUP 2024 2032 #line 204 "lex.ll" 2025 { KEYWORD_RETURN( CONTINUE); }2026 YY_BREAK 2027 case 3 6:2033 { KEYWORD_RETURN(DEFAULT); } 2034 YY_BREAK 2035 case 37: 2028 2036 YY_RULE_SETUP 2029 2037 #line 205 "lex.ll" 2030 { KEYWORD_RETURN(D EFAULT); }2031 YY_BREAK 2032 case 3 7:2038 { KEYWORD_RETURN(DISABLE); } // CFA 2039 YY_BREAK 2040 case 38: 2033 2041 YY_RULE_SETUP 2034 2042 #line 206 "lex.ll" 2035 { KEYWORD_RETURN(D ISABLE); } // CFA2036 YY_BREAK 2037 case 3 8:2043 { KEYWORD_RETURN(DO); } 2044 YY_BREAK 2045 case 39: 2038 2046 YY_RULE_SETUP 2039 2047 #line 207 "lex.ll" 2040 { KEYWORD_RETURN(DO ); }2041 YY_BREAK 2042 case 39:2048 { KEYWORD_RETURN(DOUBLE); } 2049 YY_BREAK 2050 case 40: 2043 2051 YY_RULE_SETUP 2044 2052 #line 208 "lex.ll" 2045 { KEYWORD_RETURN(D OUBLE); }2046 YY_BREAK 2047 case 4 0:2053 { KEYWORD_RETURN(DTYPE); } // CFA 2054 YY_BREAK 2055 case 41: 2048 2056 YY_RULE_SETUP 2049 2057 #line 209 "lex.ll" 2050 { KEYWORD_RETURN( DTYPE); } // CFA2051 YY_BREAK 2052 case 4 1:2058 { KEYWORD_RETURN(ELSE); } 2059 YY_BREAK 2060 case 42: 2053 2061 YY_RULE_SETUP 2054 2062 #line 210 "lex.ll" 2055 { KEYWORD_RETURN(E LSE); }2056 YY_BREAK 2057 case 4 2:2063 { KEYWORD_RETURN(ENABLE); } // CFA 2064 YY_BREAK 2065 case 43: 2058 2066 YY_RULE_SETUP 2059 2067 #line 211 "lex.ll" 2060 { KEYWORD_RETURN(EN ABLE); } // CFA2061 YY_BREAK 2062 case 4 3:2068 { KEYWORD_RETURN(ENUM); } 2069 YY_BREAK 2070 case 44: 2063 2071 YY_RULE_SETUP 2064 2072 #line 212 "lex.ll" 2065 { KEYWORD_RETURN(E NUM); }2066 YY_BREAK 2067 case 4 4:2073 { KEYWORD_RETURN(EXTENSION); } // GCC 2074 YY_BREAK 2075 case 45: 2068 2076 YY_RULE_SETUP 2069 2077 #line 213 "lex.ll" 2070 { KEYWORD_RETURN(EXTE NSION); } // GCC2071 YY_BREAK 2072 case 4 5:2078 { KEYWORD_RETURN(EXTERN); } 2079 YY_BREAK 2080 case 46: 2073 2081 YY_RULE_SETUP 2074 2082 #line 214 "lex.ll" 2075 { KEYWORD_RETURN( EXTERN); }2076 YY_BREAK 2077 case 4 6:2083 { KEYWORD_RETURN(FALLTHRU); } // CFA 2084 YY_BREAK 2085 case 47: 2078 2086 YY_RULE_SETUP 2079 2087 #line 215 "lex.ll" 2080 2088 { KEYWORD_RETURN(FALLTHRU); } // CFA 2081 2089 YY_BREAK 2082 case 4 7:2090 case 48: 2083 2091 YY_RULE_SETUP 2084 2092 #line 216 "lex.ll" 2085 { KEYWORD_RETURN(F ALLTHRU); } // CFA2086 YY_BREAK 2087 case 4 8:2093 { KEYWORD_RETURN(FINALLY); } // CFA 2094 YY_BREAK 2095 case 49: 2088 2096 YY_RULE_SETUP 2089 2097 #line 217 "lex.ll" 2090 { KEYWORD_RETURN(F INALLY); } // CFA2091 YY_BREAK 2092 case 49:2098 { KEYWORD_RETURN(FLOAT); } 2099 YY_BREAK 2100 case 50: 2093 2101 YY_RULE_SETUP 2094 2102 #line 218 "lex.ll" 2095 { KEYWORD_RETURN(FLOAT); } 2096 YY_BREAK 2097 case 5 0:2103 { KEYWORD_RETURN(FLOAT); } // GCC 2104 YY_BREAK 2105 case 51: 2098 2106 YY_RULE_SETUP 2099 2107 #line 219 "lex.ll" 2100 { KEYWORD_RETURN(F LOAT); } // GCC2101 YY_BREAK 2102 case 5 1:2108 { KEYWORD_RETURN(FOR); } 2109 YY_BREAK 2110 case 52: 2103 2111 YY_RULE_SETUP 2104 2112 #line 220 "lex.ll" 2105 { KEYWORD_RETURN(FOR ); }2106 YY_BREAK 2107 case 5 2:2113 { KEYWORD_RETURN(FORALL); } // CFA 2114 YY_BREAK 2115 case 53: 2108 2116 YY_RULE_SETUP 2109 2117 #line 221 "lex.ll" 2110 { KEYWORD_RETURN(FOR ALL); } // CFA2111 YY_BREAK 2112 case 5 3:2118 { KEYWORD_RETURN(FORTRAN); } 2119 YY_BREAK 2120 case 54: 2113 2121 YY_RULE_SETUP 2114 2122 #line 222 "lex.ll" 2115 { KEYWORD_RETURN(F ORTRAN); }2116 YY_BREAK 2117 case 5 4:2123 { KEYWORD_RETURN(FTYPE); } // CFA 2124 YY_BREAK 2125 case 55: 2118 2126 YY_RULE_SETUP 2119 2127 #line 223 "lex.ll" 2120 { KEYWORD_RETURN( FTYPE); } // CFA2121 YY_BREAK 2122 case 5 5:2128 { KEYWORD_RETURN(GENERIC); } // C11 2129 YY_BREAK 2130 case 56: 2123 2131 YY_RULE_SETUP 2124 2132 #line 224 "lex.ll" 2125 { KEYWORD_RETURN(G ENERIC); } // C112126 YY_BREAK 2127 case 5 6:2133 { KEYWORD_RETURN(GOTO); } 2134 YY_BREAK 2135 case 57: 2128 2136 YY_RULE_SETUP 2129 2137 #line 225 "lex.ll" 2130 { KEYWORD_RETURN( GOTO); }2131 YY_BREAK 2132 case 5 7:2138 { KEYWORD_RETURN(IF); } 2139 YY_BREAK 2140 case 58: 2133 2141 YY_RULE_SETUP 2134 2142 #line 226 "lex.ll" 2135 { KEYWORD_RETURN(I F); }2136 YY_BREAK 2137 case 5 8:2143 { KEYWORD_RETURN(IMAGINARY); } // C99 2144 YY_BREAK 2145 case 59: 2138 2146 YY_RULE_SETUP 2139 2147 #line 227 "lex.ll" 2140 { KEYWORD_RETURN(IMAGINARY); } // C992141 YY_BREAK 2142 case 59:2148 { KEYWORD_RETURN(IMAGINARY); } // GCC 2149 YY_BREAK 2150 case 60: 2143 2151 YY_RULE_SETUP 2144 2152 #line 228 "lex.ll" 2145 2153 { KEYWORD_RETURN(IMAGINARY); } // GCC 2146 2154 YY_BREAK 2147 case 6 0:2155 case 61: 2148 2156 YY_RULE_SETUP 2149 2157 #line 229 "lex.ll" 2150 { KEYWORD_RETURN(I MAGINARY); } // GCC2151 YY_BREAK 2152 case 6 1:2158 { KEYWORD_RETURN(INLINE); } // C99 2159 YY_BREAK 2160 case 62: 2153 2161 YY_RULE_SETUP 2154 2162 #line 230 "lex.ll" 2155 { KEYWORD_RETURN(INLINE); } // C992156 YY_BREAK 2157 case 6 2:2163 { KEYWORD_RETURN(INLINE); } // GCC 2164 YY_BREAK 2165 case 63: 2158 2166 YY_RULE_SETUP 2159 2167 #line 231 "lex.ll" 2160 2168 { KEYWORD_RETURN(INLINE); } // GCC 2161 2169 YY_BREAK 2162 case 6 3:2170 case 64: 2163 2171 YY_RULE_SETUP 2164 2172 #line 232 "lex.ll" 2165 { KEYWORD_RETURN(IN LINE); } // GCC2166 YY_BREAK 2167 case 6 4:2173 { KEYWORD_RETURN(INT); } 2174 YY_BREAK 2175 case 65: 2168 2176 YY_RULE_SETUP 2169 2177 #line 233 "lex.ll" 2170 { KEYWORD_RETURN(INT); } 2171 YY_BREAK 2172 case 6 5:2178 { KEYWORD_RETURN(INT); } // GCC 2179 YY_BREAK 2180 case 66: 2173 2181 YY_RULE_SETUP 2174 2182 #line 234 "lex.ll" 2175 { KEYWORD_RETURN( INT); } // GCC2176 YY_BREAK 2177 case 6 6:2183 { KEYWORD_RETURN(LABEL); } // GCC 2184 YY_BREAK 2185 case 67: 2178 2186 YY_RULE_SETUP 2179 2187 #line 235 "lex.ll" 2180 { KEYWORD_RETURN(L ABEL); } // GCC2181 YY_BREAK 2182 case 6 7:2188 { KEYWORD_RETURN(LONG); } 2189 YY_BREAK 2190 case 68: 2183 2191 YY_RULE_SETUP 2184 2192 #line 236 "lex.ll" 2185 { KEYWORD_RETURN(L ONG); }2186 YY_BREAK 2187 case 6 8:2193 { KEYWORD_RETURN(LVALUE); } // CFA 2194 YY_BREAK 2195 case 69: 2188 2196 YY_RULE_SETUP 2189 2197 #line 237 "lex.ll" 2190 { KEYWORD_RETURN( LVALUE); } // CFA2191 YY_BREAK 2192 case 69:2198 { KEYWORD_RETURN(NORETURN); } // C11 2199 YY_BREAK 2200 case 70: 2193 2201 YY_RULE_SETUP 2194 2202 #line 238 "lex.ll" 2195 { KEYWORD_RETURN( NORETURN); } // C112196 YY_BREAK 2197 case 7 0:2203 { KEYWORD_RETURN(OFFSETOF); } // GCC 2204 YY_BREAK 2205 case 71: 2198 2206 YY_RULE_SETUP 2199 2207 #line 239 "lex.ll" 2200 { KEYWORD_RETURN(O FFSETOF); } // GCC2201 YY_BREAK 2202 case 7 1:2208 { KEYWORD_RETURN(OTYPE); } // CFA 2209 YY_BREAK 2210 case 72: 2203 2211 YY_RULE_SETUP 2204 2212 #line 240 "lex.ll" 2205 { KEYWORD_RETURN( OTYPE); } // CFA2206 YY_BREAK 2207 case 7 2:2213 { KEYWORD_RETURN(REGISTER); } 2214 YY_BREAK 2215 case 73: 2208 2216 YY_RULE_SETUP 2209 2217 #line 241 "lex.ll" 2210 { KEYWORD_RETURN(RE GISTER); }2211 YY_BREAK 2212 case 7 3:2218 { KEYWORD_RETURN(RESTRICT); } // C99 2219 YY_BREAK 2220 case 74: 2213 2221 YY_RULE_SETUP 2214 2222 #line 242 "lex.ll" 2215 { KEYWORD_RETURN(RESTRICT); } // C992216 YY_BREAK 2217 case 7 4:2223 { KEYWORD_RETURN(RESTRICT); } // GCC 2224 YY_BREAK 2225 case 75: 2218 2226 YY_RULE_SETUP 2219 2227 #line 243 "lex.ll" 2220 2228 { KEYWORD_RETURN(RESTRICT); } // GCC 2221 2229 YY_BREAK 2222 case 7 5:2230 case 76: 2223 2231 YY_RULE_SETUP 2224 2232 #line 244 "lex.ll" 2225 { KEYWORD_RETURN(RE STRICT); } // GCC2226 YY_BREAK 2227 case 7 6:2233 { KEYWORD_RETURN(RETURN); } 2234 YY_BREAK 2235 case 77: 2228 2236 YY_RULE_SETUP 2229 2237 #line 245 "lex.ll" 2230 { KEYWORD_RETURN( RETURN); }2231 YY_BREAK 2232 case 7 7:2238 { KEYWORD_RETURN(SHORT); } 2239 YY_BREAK 2240 case 78: 2233 2241 YY_RULE_SETUP 2234 2242 #line 246 "lex.ll" 2235 { KEYWORD_RETURN(S HORT); }2236 YY_BREAK 2237 case 7 8:2243 { KEYWORD_RETURN(SIGNED); } 2244 YY_BREAK 2245 case 79: 2238 2246 YY_RULE_SETUP 2239 2247 #line 247 "lex.ll" 2240 { KEYWORD_RETURN(SIGNED); } 2241 YY_BREAK 2242 case 79:2248 { KEYWORD_RETURN(SIGNED); } // GCC 2249 YY_BREAK 2250 case 80: 2243 2251 YY_RULE_SETUP 2244 2252 #line 248 "lex.ll" 2245 2253 { KEYWORD_RETURN(SIGNED); } // GCC 2246 2254 YY_BREAK 2247 case 8 0:2255 case 81: 2248 2256 YY_RULE_SETUP 2249 2257 #line 249 "lex.ll" 2250 { KEYWORD_RETURN(SI GNED); } // GCC2251 YY_BREAK 2252 case 8 1:2258 { KEYWORD_RETURN(SIZEOF); } 2259 YY_BREAK 2260 case 82: 2253 2261 YY_RULE_SETUP 2254 2262 #line 250 "lex.ll" 2255 { KEYWORD_RETURN(S IZEOF); }2256 YY_BREAK 2257 case 8 2:2263 { KEYWORD_RETURN(STATIC); } 2264 YY_BREAK 2265 case 83: 2258 2266 YY_RULE_SETUP 2259 2267 #line 251 "lex.ll" 2260 { KEYWORD_RETURN(STATIC ); }2261 YY_BREAK 2262 case 8 3:2268 { KEYWORD_RETURN(STATICASSERT); } // C11 2269 YY_BREAK 2270 case 84: 2263 2271 YY_RULE_SETUP 2264 2272 #line 252 "lex.ll" 2265 { KEYWORD_RETURN(ST ATICASSERT); } // C112266 YY_BREAK 2267 case 8 4:2273 { KEYWORD_RETURN(STRUCT); } 2274 YY_BREAK 2275 case 85: 2268 2276 YY_RULE_SETUP 2269 2277 #line 253 "lex.ll" 2270 { KEYWORD_RETURN(S TRUCT); }2271 YY_BREAK 2272 case 8 5:2278 { KEYWORD_RETURN(SWITCH); } 2279 YY_BREAK 2280 case 86: 2273 2281 YY_RULE_SETUP 2274 2282 #line 254 "lex.ll" 2275 { KEYWORD_RETURN( SWITCH); }2276 YY_BREAK 2277 case 8 6:2283 { KEYWORD_RETURN(THREADLOCAL); } // C11 2284 YY_BREAK 2285 case 87: 2278 2286 YY_RULE_SETUP 2279 2287 #line 255 "lex.ll" 2280 { KEYWORD_RETURN(THR EADLOCAL); } // C112281 YY_BREAK 2282 case 8 7:2288 { KEYWORD_RETURN(THROW); } // CFA 2289 YY_BREAK 2290 case 88: 2283 2291 YY_RULE_SETUP 2284 2292 #line 256 "lex.ll" 2285 { KEYWORD_RETURN(THROW ); }// CFA2286 YY_BREAK 2287 case 8 8:2293 { KEYWORD_RETURN(THROWRESUME); } // CFA 2294 YY_BREAK 2295 case 89: 2288 2296 YY_RULE_SETUP 2289 2297 #line 257 "lex.ll" 2290 { KEYWORD_RETURN(T HROWRESUME); }// CFA2291 YY_BREAK 2292 case 89:2298 { KEYWORD_RETURN(TRAIT); } // CFA 2299 YY_BREAK 2300 case 90: 2293 2301 YY_RULE_SETUP 2294 2302 #line 258 "lex.ll" 2295 { KEYWORD_RETURN(TR AIT); } // CFA2296 YY_BREAK 2297 case 9 0:2303 { KEYWORD_RETURN(TRY); } // CFA 2304 YY_BREAK 2305 case 91: 2298 2306 YY_RULE_SETUP 2299 2307 #line 259 "lex.ll" 2300 { KEYWORD_RETURN(T RY); } // CFA2301 YY_BREAK 2302 case 9 1:2308 { KEYWORD_RETURN(TYPEDEF); } 2309 YY_BREAK 2310 case 92: 2303 2311 YY_RULE_SETUP 2304 2312 #line 260 "lex.ll" 2305 { KEYWORD_RETURN(TYPE DEF); }2306 YY_BREAK 2307 case 9 2:2313 { KEYWORD_RETURN(TYPEOF); } // GCC 2314 YY_BREAK 2315 case 93: 2308 2316 YY_RULE_SETUP 2309 2317 #line 261 "lex.ll" 2310 2318 { KEYWORD_RETURN(TYPEOF); } // GCC 2311 2319 YY_BREAK 2312 case 9 3:2320 case 94: 2313 2321 YY_RULE_SETUP 2314 2322 #line 262 "lex.ll" 2315 2323 { KEYWORD_RETURN(TYPEOF); } // GCC 2316 2324 YY_BREAK 2317 case 9 4:2325 case 95: 2318 2326 YY_RULE_SETUP 2319 2327 #line 263 "lex.ll" 2320 { KEYWORD_RETURN( TYPEOF); } // GCC2321 YY_BREAK 2322 case 9 5:2328 { KEYWORD_RETURN(UNION); } 2329 YY_BREAK 2330 case 96: 2323 2331 YY_RULE_SETUP 2324 2332 #line 264 "lex.ll" 2325 { KEYWORD_RETURN(UN ION); }2326 YY_BREAK 2327 case 9 6:2333 { KEYWORD_RETURN(UNSIGNED); } 2334 YY_BREAK 2335 case 97: 2328 2336 YY_RULE_SETUP 2329 2337 #line 265 "lex.ll" 2330 { KEYWORD_RETURN( UNSIGNED); }2331 YY_BREAK 2332 case 9 7:2338 { KEYWORD_RETURN(VALIST); } // GCC 2339 YY_BREAK 2340 case 98: 2333 2341 YY_RULE_SETUP 2334 2342 #line 266 "lex.ll" 2335 { KEYWORD_RETURN(V ALIST); } // GCC2336 YY_BREAK 2337 case 9 8:2343 { KEYWORD_RETURN(VOID); } 2344 YY_BREAK 2345 case 99: 2338 2346 YY_RULE_SETUP 2339 2347 #line 267 "lex.ll" 2340 { KEYWORD_RETURN(VO ID); }2341 YY_BREAK 2342 case 99:2348 { KEYWORD_RETURN(VOLATILE); } 2349 YY_BREAK 2350 case 100: 2343 2351 YY_RULE_SETUP 2344 2352 #line 268 "lex.ll" 2345 { KEYWORD_RETURN(VOLATILE); } 2346 YY_BREAK 2347 case 10 0:2353 { KEYWORD_RETURN(VOLATILE); } // GCC 2354 YY_BREAK 2355 case 101: 2348 2356 YY_RULE_SETUP 2349 2357 #line 269 "lex.ll" 2350 2358 { KEYWORD_RETURN(VOLATILE); } // GCC 2351 2359 YY_BREAK 2352 case 10 1:2360 case 102: 2353 2361 YY_RULE_SETUP 2354 2362 #line 270 "lex.ll" 2355 { KEYWORD_RETURN(VOLATILE); } // GCC2356 YY_BREAK2357 case 102:2358 YY_RULE_SETUP2359 #line 271 "lex.ll"2360 2363 { KEYWORD_RETURN(WHILE); } 2361 2364 YY_BREAK … … 2363 2366 case 103: 2364 2367 YY_RULE_SETUP 2368 #line 273 "lex.ll" 2369 { IDENTIFIER_RETURN(); } 2370 YY_BREAK 2371 case 104: 2372 YY_RULE_SETUP 2365 2373 #line 274 "lex.ll" 2374 { ATTRIBUTE_RETURN(); } 2375 YY_BREAK 2376 case 105: 2377 YY_RULE_SETUP 2378 #line 275 "lex.ll" 2379 { BEGIN BKQUOTE; } 2380 YY_BREAK 2381 case 106: 2382 YY_RULE_SETUP 2383 #line 276 "lex.ll" 2366 2384 { IDENTIFIER_RETURN(); } 2367 2385 YY_BREAK 2368 case 104: 2369 YY_RULE_SETUP 2370 #line 275 "lex.ll" 2371 { ATTRIBUTE_RETURN(); } 2372 YY_BREAK 2373 case 105: 2374 YY_RULE_SETUP 2375 #line 276 "lex.ll" 2376 { BEGIN BKQUOTE; } 2377 YY_BREAK 2378 case 106: 2386 case 107: 2379 2387 YY_RULE_SETUP 2380 2388 #line 277 "lex.ll" 2381 { IDENTIFIER_RETURN(); }2382 YY_BREAK2383 case 107:2384 YY_RULE_SETUP2385 #line 278 "lex.ll"2386 2389 { BEGIN 0; } 2387 2390 YY_BREAK … … 2389 2392 case 108: 2390 2393 YY_RULE_SETUP 2394 #line 280 "lex.ll" 2395 { NUMERIC_RETURN(ZERO); } // CFA 2396 YY_BREAK 2397 case 109: 2398 YY_RULE_SETUP 2391 2399 #line 281 "lex.ll" 2392 { NUMERIC_RETURN( ZERO); } // CFA2393 YY_BREAK 2394 case 1 09:2400 { NUMERIC_RETURN(ONE); } // CFA 2401 YY_BREAK 2402 case 110: 2395 2403 YY_RULE_SETUP 2396 2404 #line 282 "lex.ll" 2397 { NUMERIC_RETURN( ONE); } // CFA2398 YY_BREAK 2399 case 11 0:2405 { NUMERIC_RETURN(INTEGERconstant); } 2406 YY_BREAK 2407 case 111: 2400 2408 YY_RULE_SETUP 2401 2409 #line 283 "lex.ll" 2402 2410 { NUMERIC_RETURN(INTEGERconstant); } 2403 2411 YY_BREAK 2404 case 11 1:2412 case 112: 2405 2413 YY_RULE_SETUP 2406 2414 #line 284 "lex.ll" 2407 2415 { NUMERIC_RETURN(INTEGERconstant); } 2408 2416 YY_BREAK 2409 case 11 2:2417 case 113: 2410 2418 YY_RULE_SETUP 2411 2419 #line 285 "lex.ll" 2412 { NUMERIC_RETURN( INTEGERconstant); }2413 YY_BREAK 2414 case 11 3:2420 { NUMERIC_RETURN(REALDECIMALconstant); } // must appear before floating_constant 2421 YY_BREAK 2422 case 114: 2415 2423 YY_RULE_SETUP 2416 2424 #line 286 "lex.ll" 2417 { NUMERIC_RETURN( FLOATINGconstant); }2418 YY_BREAK 2419 case 11 4:2425 { NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant 2426 YY_BREAK 2427 case 115: 2420 2428 YY_RULE_SETUP 2421 2429 #line 287 "lex.ll" 2422 2430 { NUMERIC_RETURN(FLOATINGconstant); } 2423 2431 YY_BREAK 2432 case 116: 2433 YY_RULE_SETUP 2434 #line 288 "lex.ll" 2435 { NUMERIC_RETURN(FLOATINGconstant); } 2436 YY_BREAK 2424 2437 /* character constant, allows empty value */ 2425 case 11 5:2426 YY_RULE_SETUP 2427 #line 29 0"lex.ll"2438 case 117: 2439 YY_RULE_SETUP 2440 #line 291 "lex.ll" 2428 2441 { BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2429 2442 YY_BREAK 2430 case 11 6:2431 YY_RULE_SETUP 2432 #line 29 1"lex.ll"2443 case 118: 2444 YY_RULE_SETUP 2445 #line 292 "lex.ll" 2433 2446 { strtext->append( yytext, yyleng ); } 2434 2447 YY_BREAK 2435 case 11 7:2436 /* rule 11 7can match eol */2437 YY_RULE_SETUP 2438 #line 29 2"lex.ll"2448 case 119: 2449 /* rule 119 can match eol */ 2450 YY_RULE_SETUP 2451 #line 293 "lex.ll" 2439 2452 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(CHARACTERconstant); } 2440 2453 YY_BREAK 2441 2454 /* ' stop highlighting */ 2442 2455 /* string constant */ 2443 case 1 18:2444 YY_RULE_SETUP 2445 #line 29 6"lex.ll"2456 case 120: 2457 YY_RULE_SETUP 2458 #line 297 "lex.ll" 2446 2459 { BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2447 2460 YY_BREAK 2448 case 1 19:2449 YY_RULE_SETUP 2450 #line 29 7"lex.ll"2461 case 121: 2462 YY_RULE_SETUP 2463 #line 298 "lex.ll" 2451 2464 { strtext->append( yytext, yyleng ); } 2452 2465 YY_BREAK 2453 case 12 0:2454 /* rule 12 0can match eol */2455 YY_RULE_SETUP 2456 #line 29 8"lex.ll"2466 case 122: 2467 /* rule 122 can match eol */ 2468 YY_RULE_SETUP 2469 #line 299 "lex.ll" 2457 2470 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); } 2458 2471 YY_BREAK 2459 2472 /* " stop highlighting */ 2460 2473 /* common character/string constant */ 2461 case 12 1:2462 YY_RULE_SETUP 2463 #line 30 2"lex.ll"2474 case 123: 2475 YY_RULE_SETUP 2476 #line 303 "lex.ll" 2464 2477 { rm_underscore(); strtext->append( yytext, yyleng ); } 2465 2478 YY_BREAK 2466 case 12 2:2467 /* rule 12 2can match eol */2468 YY_RULE_SETUP 2469 #line 30 3"lex.ll"2479 case 124: 2480 /* rule 124 can match eol */ 2481 YY_RULE_SETUP 2482 #line 304 "lex.ll" 2470 2483 {} // continuation (ALSO HANDLED BY CPP) 2471 2484 YY_BREAK 2472 case 12 3:2473 YY_RULE_SETUP 2474 #line 30 4"lex.ll"2485 case 125: 2486 YY_RULE_SETUP 2487 #line 305 "lex.ll" 2475 2488 { strtext->append( yytext, yyleng ); } // unknown escape character 2476 2489 YY_BREAK 2477 2490 /* punctuation */ 2478 case 124: 2479 YY_RULE_SETUP 2480 #line 307 "lex.ll" 2481 { ASCIIOP_RETURN(); } 2482 YY_BREAK 2483 case 125: 2491 case 126: 2484 2492 YY_RULE_SETUP 2485 2493 #line 308 "lex.ll" 2486 2494 { ASCIIOP_RETURN(); } 2487 2495 YY_BREAK 2488 case 12 6:2496 case 127: 2489 2497 YY_RULE_SETUP 2490 2498 #line 309 "lex.ll" 2491 2499 { ASCIIOP_RETURN(); } 2492 2500 YY_BREAK 2493 case 12 7:2501 case 128: 2494 2502 YY_RULE_SETUP 2495 2503 #line 310 "lex.ll" 2496 2504 { ASCIIOP_RETURN(); } 2497 2505 YY_BREAK 2498 case 12 8:2506 case 129: 2499 2507 YY_RULE_SETUP 2500 2508 #line 311 "lex.ll" 2501 2509 { ASCIIOP_RETURN(); } 2502 2510 YY_BREAK 2503 case 1 29:2511 case 130: 2504 2512 YY_RULE_SETUP 2505 2513 #line 312 "lex.ll" 2506 2514 { ASCIIOP_RETURN(); } 2507 2515 YY_BREAK 2508 case 13 0:2516 case 131: 2509 2517 YY_RULE_SETUP 2510 2518 #line 313 "lex.ll" 2519 { ASCIIOP_RETURN(); } 2520 YY_BREAK 2521 case 132: 2522 YY_RULE_SETUP 2523 #line 314 "lex.ll" 2511 2524 { ASCIIOP_RETURN(); } // also operator 2512 2525 YY_BREAK 2513 case 131: 2514 YY_RULE_SETUP 2515 #line 314 "lex.ll" 2516 { ASCIIOP_RETURN(); } 2517 YY_BREAK 2518 case 132: 2526 case 133: 2519 2527 YY_RULE_SETUP 2520 2528 #line 315 "lex.ll" 2521 2529 { ASCIIOP_RETURN(); } 2522 2530 YY_BREAK 2523 case 13 3:2531 case 134: 2524 2532 YY_RULE_SETUP 2525 2533 #line 316 "lex.ll" 2534 { ASCIIOP_RETURN(); } 2535 YY_BREAK 2536 case 135: 2537 YY_RULE_SETUP 2538 #line 317 "lex.ll" 2526 2539 { ASCIIOP_RETURN(); } // also operator 2527 2540 YY_BREAK 2528 case 13 4:2529 YY_RULE_SETUP 2530 #line 31 7"lex.ll"2541 case 136: 2542 YY_RULE_SETUP 2543 #line 318 "lex.ll" 2531 2544 { NAMEDOP_RETURN(ELLIPSIS); } 2532 2545 YY_BREAK 2533 2546 /* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */ 2534 case 13 5:2535 YY_RULE_SETUP 2536 #line 32 0"lex.ll"2547 case 137: 2548 YY_RULE_SETUP 2549 #line 321 "lex.ll" 2537 2550 { RETURN_VAL('['); } 2538 2551 YY_BREAK 2539 case 13 6:2540 YY_RULE_SETUP 2541 #line 32 1"lex.ll"2552 case 138: 2553 YY_RULE_SETUP 2554 #line 322 "lex.ll" 2542 2555 { RETURN_VAL(']'); } 2543 2556 YY_BREAK 2544 case 13 7:2545 YY_RULE_SETUP 2546 #line 32 2"lex.ll"2557 case 139: 2558 YY_RULE_SETUP 2559 #line 323 "lex.ll" 2547 2560 { RETURN_VAL('{'); } 2548 2561 YY_BREAK 2549 case 1 38:2550 YY_RULE_SETUP 2551 #line 32 3"lex.ll"2562 case 140: 2563 YY_RULE_SETUP 2564 #line 324 "lex.ll" 2552 2565 { RETURN_VAL('}'); } 2553 2566 YY_BREAK 2554 2567 /* operators */ 2555 case 139: 2556 YY_RULE_SETUP 2557 #line 326 "lex.ll" 2558 { ASCIIOP_RETURN(); } 2559 YY_BREAK 2560 case 140: 2568 case 141: 2561 2569 YY_RULE_SETUP 2562 2570 #line 327 "lex.ll" 2563 2571 { ASCIIOP_RETURN(); } 2564 2572 YY_BREAK 2565 case 14 1:2573 case 142: 2566 2574 YY_RULE_SETUP 2567 2575 #line 328 "lex.ll" 2568 2576 { ASCIIOP_RETURN(); } 2569 2577 YY_BREAK 2570 case 14 2:2578 case 143: 2571 2579 YY_RULE_SETUP 2572 2580 #line 329 "lex.ll" 2573 2581 { ASCIIOP_RETURN(); } 2574 2582 YY_BREAK 2575 case 14 3:2583 case 144: 2576 2584 YY_RULE_SETUP 2577 2585 #line 330 "lex.ll" 2578 2586 { ASCIIOP_RETURN(); } 2579 2587 YY_BREAK 2580 case 14 4:2588 case 145: 2581 2589 YY_RULE_SETUP 2582 2590 #line 331 "lex.ll" 2583 2591 { ASCIIOP_RETURN(); } 2584 2592 YY_BREAK 2585 case 14 5:2593 case 146: 2586 2594 YY_RULE_SETUP 2587 2595 #line 332 "lex.ll" 2588 2596 { ASCIIOP_RETURN(); } 2589 2597 YY_BREAK 2590 case 14 6:2598 case 147: 2591 2599 YY_RULE_SETUP 2592 2600 #line 333 "lex.ll" 2593 2601 { ASCIIOP_RETURN(); } 2594 2602 YY_BREAK 2595 case 14 7:2603 case 148: 2596 2604 YY_RULE_SETUP 2597 2605 #line 334 "lex.ll" 2598 2606 { ASCIIOP_RETURN(); } 2599 2607 YY_BREAK 2600 case 14 8:2608 case 149: 2601 2609 YY_RULE_SETUP 2602 2610 #line 335 "lex.ll" 2603 2611 { ASCIIOP_RETURN(); } 2604 2612 YY_BREAK 2605 case 1 49:2613 case 150: 2606 2614 YY_RULE_SETUP 2607 2615 #line 336 "lex.ll" 2608 2616 { ASCIIOP_RETURN(); } 2609 2617 YY_BREAK 2610 case 15 0:2618 case 151: 2611 2619 YY_RULE_SETUP 2612 2620 #line 337 "lex.ll" 2613 2621 { ASCIIOP_RETURN(); } 2614 2622 YY_BREAK 2615 case 15 1:2623 case 152: 2616 2624 YY_RULE_SETUP 2617 2625 #line 338 "lex.ll" 2618 2626 { ASCIIOP_RETURN(); } 2619 2627 YY_BREAK 2620 case 15 2:2628 case 153: 2621 2629 YY_RULE_SETUP 2622 2630 #line 339 "lex.ll" 2623 2631 { ASCIIOP_RETURN(); } 2624 2632 YY_BREAK 2625 case 153: 2626 YY_RULE_SETUP 2627 #line 341 "lex.ll" 2633 case 154: 2634 YY_RULE_SETUP 2635 #line 340 "lex.ll" 2636 { ASCIIOP_RETURN(); } 2637 YY_BREAK 2638 case 155: 2639 YY_RULE_SETUP 2640 #line 342 "lex.ll" 2628 2641 { NAMEDOP_RETURN(ICR); } 2629 2642 YY_BREAK 2630 case 15 4:2631 YY_RULE_SETUP 2632 #line 34 2"lex.ll"2643 case 156: 2644 YY_RULE_SETUP 2645 #line 343 "lex.ll" 2633 2646 { NAMEDOP_RETURN(DECR); } 2634 2647 YY_BREAK 2635 case 15 5:2636 YY_RULE_SETUP 2637 #line 34 3"lex.ll"2648 case 157: 2649 YY_RULE_SETUP 2650 #line 344 "lex.ll" 2638 2651 { NAMEDOP_RETURN(EQ); } 2639 2652 YY_BREAK 2640 case 15 6:2641 YY_RULE_SETUP 2642 #line 34 4"lex.ll"2653 case 158: 2654 YY_RULE_SETUP 2655 #line 345 "lex.ll" 2643 2656 { NAMEDOP_RETURN(NE); } 2644 2657 YY_BREAK 2645 case 15 7:2646 YY_RULE_SETUP 2647 #line 34 5"lex.ll"2658 case 159: 2659 YY_RULE_SETUP 2660 #line 346 "lex.ll" 2648 2661 { NAMEDOP_RETURN(LS); } 2649 2662 YY_BREAK 2650 case 1 58:2651 YY_RULE_SETUP 2652 #line 34 6"lex.ll"2663 case 160: 2664 YY_RULE_SETUP 2665 #line 347 "lex.ll" 2653 2666 { NAMEDOP_RETURN(RS); } 2654 2667 YY_BREAK 2655 case 1 59:2656 YY_RULE_SETUP 2657 #line 34 7"lex.ll"2668 case 161: 2669 YY_RULE_SETUP 2670 #line 348 "lex.ll" 2658 2671 { NAMEDOP_RETURN(LE); } 2659 2672 YY_BREAK 2660 case 16 0:2661 YY_RULE_SETUP 2662 #line 34 8"lex.ll"2673 case 162: 2674 YY_RULE_SETUP 2675 #line 349 "lex.ll" 2663 2676 { NAMEDOP_RETURN(GE); } 2664 2677 YY_BREAK 2665 case 16 1:2666 YY_RULE_SETUP 2667 #line 3 49"lex.ll"2678 case 163: 2679 YY_RULE_SETUP 2680 #line 350 "lex.ll" 2668 2681 { NAMEDOP_RETURN(ANDAND); } 2669 2682 YY_BREAK 2670 case 16 2:2671 YY_RULE_SETUP 2672 #line 35 0"lex.ll"2683 case 164: 2684 YY_RULE_SETUP 2685 #line 351 "lex.ll" 2673 2686 { NAMEDOP_RETURN(OROR); } 2674 2687 YY_BREAK 2675 case 16 3:2676 YY_RULE_SETUP 2677 #line 35 1"lex.ll"2688 case 165: 2689 YY_RULE_SETUP 2690 #line 352 "lex.ll" 2678 2691 { NAMEDOP_RETURN(ARROW); } 2679 2692 YY_BREAK 2680 case 16 4:2681 YY_RULE_SETUP 2682 #line 35 2"lex.ll"2693 case 166: 2694 YY_RULE_SETUP 2695 #line 353 "lex.ll" 2683 2696 { NAMEDOP_RETURN(PLUSassign); } 2684 2697 YY_BREAK 2685 case 16 5:2686 YY_RULE_SETUP 2687 #line 35 3"lex.ll"2698 case 167: 2699 YY_RULE_SETUP 2700 #line 354 "lex.ll" 2688 2701 { NAMEDOP_RETURN(MINUSassign); } 2689 2702 YY_BREAK 2690 case 16 6:2691 YY_RULE_SETUP 2692 #line 35 4"lex.ll"2703 case 168: 2704 YY_RULE_SETUP 2705 #line 355 "lex.ll" 2693 2706 { NAMEDOP_RETURN(MULTassign); } 2694 2707 YY_BREAK 2695 case 16 7:2696 YY_RULE_SETUP 2697 #line 35 5"lex.ll"2708 case 169: 2709 YY_RULE_SETUP 2710 #line 356 "lex.ll" 2698 2711 { NAMEDOP_RETURN(DIVassign); } 2699 2712 YY_BREAK 2700 case 1 68:2701 YY_RULE_SETUP 2702 #line 35 6"lex.ll"2713 case 170: 2714 YY_RULE_SETUP 2715 #line 357 "lex.ll" 2703 2716 { NAMEDOP_RETURN(MODassign); } 2704 2717 YY_BREAK 2705 case 1 69:2706 YY_RULE_SETUP 2707 #line 35 7"lex.ll"2718 case 171: 2719 YY_RULE_SETUP 2720 #line 358 "lex.ll" 2708 2721 { NAMEDOP_RETURN(ANDassign); } 2709 2722 YY_BREAK 2710 case 17 0:2711 YY_RULE_SETUP 2712 #line 35 8"lex.ll"2723 case 172: 2724 YY_RULE_SETUP 2725 #line 359 "lex.ll" 2713 2726 { NAMEDOP_RETURN(ORassign); } 2714 2727 YY_BREAK 2715 case 17 1:2716 YY_RULE_SETUP 2717 #line 3 59"lex.ll"2728 case 173: 2729 YY_RULE_SETUP 2730 #line 360 "lex.ll" 2718 2731 { NAMEDOP_RETURN(ERassign); } 2719 2732 YY_BREAK 2720 case 17 2:2721 YY_RULE_SETUP 2722 #line 36 0"lex.ll"2733 case 174: 2734 YY_RULE_SETUP 2735 #line 361 "lex.ll" 2723 2736 { NAMEDOP_RETURN(LSassign); } 2724 2737 YY_BREAK 2725 case 17 3:2726 YY_RULE_SETUP 2727 #line 36 1"lex.ll"2738 case 175: 2739 YY_RULE_SETUP 2740 #line 362 "lex.ll" 2728 2741 { NAMEDOP_RETURN(RSassign); } 2729 2742 YY_BREAK 2730 case 17 4:2731 YY_RULE_SETUP 2732 #line 36 3"lex.ll"2743 case 176: 2744 YY_RULE_SETUP 2745 #line 364 "lex.ll" 2733 2746 { NAMEDOP_RETURN(ATassign); } // CFA 2734 2747 YY_BREAK 2735 2748 /* CFA, operator identifier */ 2736 case 17 5:2737 YY_RULE_SETUP 2738 #line 36 6"lex.ll"2749 case 177: 2750 YY_RULE_SETUP 2751 #line 367 "lex.ll" 2739 2752 { IDENTIFIER_RETURN(); } // unary 2740 2753 YY_BREAK 2741 case 176: 2742 YY_RULE_SETUP 2743 #line 367 "lex.ll" 2744 { IDENTIFIER_RETURN(); } 2745 YY_BREAK 2746 case 177: 2754 case 178: 2747 2755 YY_RULE_SETUP 2748 2756 #line 368 "lex.ll" 2749 2757 { IDENTIFIER_RETURN(); } 2750 2758 YY_BREAK 2751 case 17 8:2759 case 179: 2752 2760 YY_RULE_SETUP 2753 2761 #line 369 "lex.ll" 2762 { IDENTIFIER_RETURN(); } 2763 YY_BREAK 2764 case 180: 2765 YY_RULE_SETUP 2766 #line 370 "lex.ll" 2754 2767 { IDENTIFIER_RETURN(); } // binary 2755 2768 YY_BREAK … … 2780 2793 an argument list. 2781 2794 */ 2782 case 1 79:2783 YY_RULE_SETUP 2784 #line 39 6"lex.ll"2795 case 181: 2796 YY_RULE_SETUP 2797 #line 397 "lex.ll" 2785 2798 { 2786 2799 // 1 or 2 character unary operator ? … … 2795 2808 YY_BREAK 2796 2809 /* unknown characters */ 2797 case 18 0:2798 YY_RULE_SETUP 2799 #line 40 8"lex.ll"2810 case 182: 2811 YY_RULE_SETUP 2812 #line 409 "lex.ll" 2800 2813 { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); } 2801 2814 YY_BREAK 2802 case 18 1:2803 YY_RULE_SETUP 2804 #line 41 0"lex.ll"2815 case 183: 2816 YY_RULE_SETUP 2817 #line 411 "lex.ll" 2805 2818 ECHO; 2806 2819 YY_BREAK 2807 #line 28 08"Parser/lex.cc"2820 #line 2821 "Parser/lex.cc" 2808 2821 case YY_STATE_EOF(INITIAL): 2809 2822 case YY_STATE_EOF(COMMENT): … … 3102 3115 { 3103 3116 yy_current_state = (int) yy_def[yy_current_state]; 3104 if ( yy_current_state >= 89 2)3117 if ( yy_current_state >= 895 ) 3105 3118 yy_c = yy_meta[(unsigned int) yy_c]; 3106 3119 } … … 3130 3143 { 3131 3144 yy_current_state = (int) yy_def[yy_current_state]; 3132 if ( yy_current_state >= 89 2)3145 if ( yy_current_state >= 895 ) 3133 3146 yy_c = yy_meta[(unsigned int) yy_c]; 3134 3147 } 3135 3148 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3136 yy_is_jam = (yy_current_state == 89 1);3149 yy_is_jam = (yy_current_state == 894); 3137 3150 3138 3151 return yy_is_jam ? 0 : yy_current_state; … … 3780 3793 #define YYTABLES_NAME "yytables" 3781 3794 3782 #line 41 0"lex.ll"3795 #line 411 "lex.ll" 3783 3796 3784 3797 -
src/Parser/lex.ll
r40744af8 rf51aefb 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Wed Aug 24 13:27:04201613 * Update Count : 4 8712 * Last Modified On : Wed Oct 26 17:32:30 2016 13 * Update Count : 499 14 14 */ 15 15 … … 72 72 identifier ([a-zA-Z_$]|{universal_char})([0-9a-zA-Z_$]|{universal_char})* 73 73 74 // quoted identifier75 quoted_identifier "`"{identifier}"`"76 77 74 // attribute identifier, GCC: $ in identifier 78 75 attr_identifier "@"{identifier} … … 94 91 95 92 decimal_digits ({decimal})|({decimal}({decimal}|"_")*{decimal}) 96 fractional_constant ({decimal_digits}?"."{decimal_digits})|({decimal_digits}".") 93 real_decimal {decimal_digits}"." 94 real_fraction "."{decimal_digits} 95 real_constant {decimal_digits}?{real_fraction} 97 96 exponent "_"?[eE]"_"?[+-]?{decimal_digits} 98 97 // GCC: D (double), DL (long double) and iI (imaginary) suffixes 99 98 floating_suffix "_"?([fFdDlL][iI]?|"DL"|[iI][lLfFdD]?) 100 99 //floating_suffix "_"?([fFdD]|[lL]|[D][L])|([iI][lLfFdD])|([lLfFdD][iI])) 101 floating_constant (({ fractional_constant}{exponent}?)|({decimal_digits}{exponent})){floating_suffix}?100 floating_constant (({real_constant}{exponent}?)|({decimal_digits}{exponent})){floating_suffix}? 102 101 103 102 binary_exponent "_"?[pP]"_"?[+-]?{decimal_digits} … … 284 283 {octal_constant} { NUMERIC_RETURN(INTEGERconstant); } 285 284 {hex_constant} { NUMERIC_RETURN(INTEGERconstant); } 285 {real_decimal} { NUMERIC_RETURN(REALDECIMALconstant); } // must appear before floating_constant 286 {real_fraction} { NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant 286 287 {floating_constant} { NUMERIC_RETURN(FLOATINGconstant); } 287 288 {hex_floating_constant} { NUMERIC_RETURN(FLOATINGconstant); } -
src/Parser/parser.cc
r40744af8 rf51aefb 201 201 ATTR_TYPEGENname = 333, 202 202 INTEGERconstant = 334, 203 FLOATINGconstant = 335, 204 CHARACTERconstant = 336, 205 STRINGliteral = 337, 206 ZERO = 338, 207 ONE = 339, 208 ARROW = 340, 209 ICR = 341, 210 DECR = 342, 211 LS = 343, 212 RS = 344, 213 LE = 345, 214 GE = 346, 215 EQ = 347, 216 NE = 348, 217 ANDAND = 349, 218 OROR = 350, 219 ELLIPSIS = 351, 220 MULTassign = 352, 221 DIVassign = 353, 222 MODassign = 354, 223 PLUSassign = 355, 224 MINUSassign = 356, 225 LSassign = 357, 226 RSassign = 358, 227 ANDassign = 359, 228 ERassign = 360, 229 ORassign = 361, 230 ATassign = 362, 231 THEN = 363 203 CHARACTERconstant = 335, 204 STRINGliteral = 336, 205 REALDECIMALconstant = 337, 206 REALFRACTIONconstant = 338, 207 FLOATINGconstant = 339, 208 ZERO = 340, 209 ONE = 341, 210 ARROW = 342, 211 ICR = 343, 212 DECR = 344, 213 LS = 345, 214 RS = 346, 215 LE = 347, 216 GE = 348, 217 EQ = 349, 218 NE = 350, 219 ANDAND = 351, 220 OROR = 352, 221 ELLIPSIS = 353, 222 MULTassign = 354, 223 DIVassign = 355, 224 MODassign = 356, 225 PLUSassign = 357, 226 MINUSassign = 358, 227 LSassign = 359, 228 RSassign = 360, 229 ANDassign = 361, 230 ERassign = 362, 231 ORassign = 363, 232 ATassign = 364, 233 THEN = 365 232 234 }; 233 235 #endif … … 310 312 #define ATTR_TYPEGENname 333 311 313 #define INTEGERconstant 334 312 #define FLOATINGconstant 335 313 #define CHARACTERconstant 336 314 #define STRINGliteral 337 315 #define ZERO 338 316 #define ONE 339 317 #define ARROW 340 318 #define ICR 341 319 #define DECR 342 320 #define LS 343 321 #define RS 344 322 #define LE 345 323 #define GE 346 324 #define EQ 347 325 #define NE 348 326 #define ANDAND 349 327 #define OROR 350 328 #define ELLIPSIS 351 329 #define MULTassign 352 330 #define DIVassign 353 331 #define MODassign 354 332 #define PLUSassign 355 333 #define MINUSassign 356 334 #define LSassign 357 335 #define RSassign 358 336 #define ANDassign 359 337 #define ERassign 360 338 #define ORassign 361 339 #define ATassign 362 340 #define THEN 363 314 #define CHARACTERconstant 335 315 #define STRINGliteral 336 316 #define REALDECIMALconstant 337 317 #define REALFRACTIONconstant 338 318 #define FLOATINGconstant 339 319 #define ZERO 340 320 #define ONE 341 321 #define ARROW 342 322 #define ICR 343 323 #define DECR 344 324 #define LS 345 325 #define RS 346 326 #define LE 347 327 #define GE 348 328 #define EQ 349 329 #define NE 350 330 #define ANDAND 351 331 #define OROR 352 332 #define ELLIPSIS 353 333 #define MULTassign 354 334 #define DIVassign 355 335 #define MODassign 356 336 #define PLUSassign 357 337 #define MINUSassign 358 338 #define LSassign 359 339 #define RSassign 360 340 #define ANDassign 361 341 #define ERassign 362 342 #define ORassign 363 343 #define ATassign 364 344 #define THEN 365 341 345 342 346 … … 348 352 349 353 /* Line 293 of yacc.c */ 350 #line 1 16"parser.yy"354 #line 120 "parser.yy" 351 355 352 356 Token tok; … … 368 372 369 373 /* Line 293 of yacc.c */ 370 #line 37 1"Parser/parser.cc"374 #line 375 "Parser/parser.cc" 371 375 } YYSTYPE; 372 376 # define YYSTYPE_IS_TRIVIAL 1 … … 380 384 381 385 /* Line 343 of yacc.c */ 382 #line 38 3"Parser/parser.cc"386 #line 387 "Parser/parser.cc" 383 387 384 388 #ifdef short … … 597 601 598 602 /* YYFINAL -- State number of the termination state. */ 599 #define YYFINAL 2 50603 #define YYFINAL 249 600 604 /* YYLAST -- Last index in YYTABLE. */ 601 #define YYLAST 10 863605 #define YYLAST 10266 602 606 603 607 /* YYNTOKENS -- Number of terminals. */ 604 #define YYNTOKENS 13 3608 #define YYNTOKENS 135 605 609 /* YYNNTS -- Number of nonterminals. */ 606 #define YYNNTS 24 1610 #define YYNNTS 243 607 611 /* YYNRULES -- Number of rules. */ 608 #define YYNRULES 75 1612 #define YYNRULES 755 609 613 /* YYNRULES -- Number of states. */ 610 #define YYNSTATES 15 55614 #define YYNSTATES 1538 611 615 612 616 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 613 617 #define YYUNDEFTOK 2 614 #define YYMAXUTOK 36 3618 #define YYMAXUTOK 365 615 619 616 620 #define YYTRANSLATE(YYX) \ … … 623 627 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 624 628 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 625 2, 2, 2, 12 1, 2, 2, 2, 124, 118, 2,626 1 09, 110, 117, 119, 116, 120, 113, 123, 2, 2,627 2, 2, 2, 2, 2, 2, 2, 2, 13 0, 132,628 12 5, 131, 126, 129, 2, 2, 2, 2, 2, 2,629 2, 2, 2, 123, 2, 2, 2, 126, 120, 2, 630 111, 112, 119, 121, 118, 122, 115, 125, 2, 2, 631 2, 2, 2, 2, 2, 2, 2, 2, 132, 134, 632 127, 133, 128, 131, 2, 2, 2, 2, 2, 2, 629 633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 630 634 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 631 2, 11 1, 2, 112, 127, 2, 2, 2, 2, 2,635 2, 113, 2, 114, 129, 2, 2, 2, 2, 2, 632 636 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 633 637 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 634 2, 2, 2, 11 4, 128, 115, 122, 2, 2, 2,638 2, 2, 2, 116, 130, 117, 124, 2, 2, 2, 635 639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 636 640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 656 660 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 657 661 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 658 105, 106, 107, 108 662 105, 106, 107, 108, 109, 110 659 663 }; 660 664 … … 665 669 { 666 670 0, 0, 3, 4, 5, 7, 9, 11, 13, 15, 667 17, 19, 21, 23, 25, 27, 29, 31, 33, 3 6,668 3 8, 40, 44, 48, 50, 57, 62, 66, 74, 78,669 86, 89, 92, 100, 105, 107, 111, 112, 114, 116,670 120, 12 2, 126, 134, 138, 146, 148, 150, 152, 155,671 15 8, 161, 164, 167, 170, 175, 178, 183, 190, 192,672 1 97, 202, 204, 206, 208, 210, 212, 214, 216, 221,673 22 6, 228, 232, 236, 240, 242, 246, 250, 252, 256,674 2 60, 262, 266, 270, 274, 278, 280, 284, 288, 290,675 2 94, 296, 300, 302, 306, 308, 312, 314, 318, 320,676 32 6, 331, 337, 339, 341, 345, 348, 349, 351, 353,677 35 5, 357, 359, 361, 363, 365, 367, 369, 371, 373,678 37 5, 378, 384, 391, 399, 401, 405, 407, 411, 412,679 4 14, 416, 418, 420, 422, 424, 426, 428, 430, 437,680 4 42, 445, 453, 455, 459, 461, 464, 466, 469, 471,681 4 74, 477, 483, 491, 497, 507, 513, 523, 525, 529,682 5 31, 533, 537, 541, 544, 546, 549, 552, 553, 555,683 55 8, 562, 563, 565, 568, 572, 576, 581, 582, 584,684 5 86, 589, 595, 603, 610, 617, 622, 626, 631, 634,685 6 38, 641, 645, 649, 653, 657, 663, 667, 671, 676,686 6 78, 684, 691, 697, 704, 714, 725, 735, 746, 749,687 7 51, 754, 757, 760, 762, 769, 778, 789, 802, 817,688 818, 820, 821, 823, 825, 829, 834, 842, 843, 845,689 8 49, 851, 855, 857, 859, 861, 865, 867, 869, 871,690 8 75, 876, 878, 882, 887, 889, 893, 895, 897, 901,691 905, 909, 913, 917, 920, 924, 931, 935, 939, 944,692 9 46, 949, 952, 956, 962, 971, 979, 987, 993, 1003,693 1006, 1009, 1015, 1019, 1025, 1030, 1034, 1039, 1044, 1052,694 10 56, 1060, 1064, 1068, 1073, 1080, 1082, 1084, 1086, 1088,695 10 90, 1092, 1094, 1096, 1097, 1099, 1101, 1104, 1106, 1108,696 1 110, 1112, 1114, 1116, 1118, 1119, 1125, 1127, 1130, 1134,697 11 36, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155,698 11 57, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175,699 11 77, 1179, 1181, 1183, 1186, 1189, 1193, 1197, 1199, 1203,700 1 205, 1208, 1211, 1214, 1219, 1224, 1229, 1234, 1236, 1239,701 12 42, 1246, 1248, 1251, 1254, 1256, 1259, 1262, 1266, 1268,702 12 71, 1274, 1276, 1278, 1283, 1286, 1287, 1294, 1302, 1305,703 1 308, 1311, 1312, 1315, 1318, 1322, 1325, 1329, 1331, 1334,704 13 38, 1341, 1344, 1349, 1350, 1352, 1355, 1358, 1360, 1361,705 13 63, 1366, 1369, 1375, 1378, 1379, 1387, 1390, 1395, 1396,706 13 99, 1400, 1402, 1404, 1406, 1412, 1418, 1424, 1426, 1432,707 14 38, 1448, 1450, 1456, 1457, 1459, 1461, 1467, 1469, 1471,708 14 77, 1483, 1485, 1489, 1493, 1498, 1500, 1502, 1504, 1506,709 1 509, 1511, 1515, 1519, 1521, 1524, 1526, 1530, 1532, 1534,710 15 36, 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1552, 1555,711 15 57, 1559, 1561, 1564, 1565, 1568, 1571, 1573, 1578, 1579,712 15 81, 1584, 1588, 1593, 1596, 1599, 1601, 1604, 1607, 1613,713 1 619, 1627, 1634, 1636, 1639, 1642, 1646, 1648, 1651, 1654,714 16 59, 1662, 1667, 1668, 1673, 1676, 1678, 1680, 1682, 1683,715 16 86, 1692, 1698, 1712, 1714, 1716, 1720, 1724, 1727, 1731,716 17 35, 1738, 1743, 1745, 1752, 1762, 1763, 1775, 1777, 1781,717 17 85, 1789, 1791, 1793, 1799, 1802, 1808, 1809, 1811, 1813,718 18 17, 1818, 1820, 1822, 1824, 1826, 1827, 1834, 1837, 1839,719 18 42, 1847, 1850, 1854, 1858, 1862, 1867, 1873, 1879, 1885,720 18 92, 1894, 1896, 1898, 1902, 1903, 1909, 1910, 1912, 1914,721 19 17, 1924, 1926, 1930, 1931, 1933, 1938, 1940, 1942, 1944,722 19 46, 1949, 1951, 1954, 1957, 1959, 1963, 1966, 1970, 1974,723 19 77, 1982, 1987, 1991, 2000, 2004, 2007, 2009, 2012, 2019,724 20 28, 2032, 2035, 2039, 2043, 2048, 2053, 2057, 2059, 2061,725 20 63, 2068, 2075, 2079, 2082, 2086, 2090, 2095, 2100, 2104,726 2 107, 2109, 2112, 2115, 2117, 2121, 2124, 2128, 2132, 2135,727 21 40, 2145, 2149, 2156, 2165, 2169, 2172, 2174, 2177, 2180,728 21 83, 2187, 2191, 2194, 2199, 2204, 2208, 2215, 2224, 2228,729 22 31, 2233, 2236, 2239, 2241, 2243, 2246, 2250, 2254, 2257,730 22 62, 2269, 2278, 2280, 2283, 2286, 2288, 2291, 2294, 2298,731 2 302, 2304, 2309, 2314, 2318, 2324, 2333, 2337, 2340, 2344,732 23 46, 2352, 2358, 2365, 2372, 2374, 2377, 2380, 2382, 2385,733 23 88, 2392, 2396, 2398, 2403, 2408, 2412, 2418, 2427, 2431,734 24 33, 2436, 2438, 2441, 2448, 2454, 2461, 2469, 2477, 2479,735 24 82, 2485, 2487, 2490, 2493, 2497, 2501, 2503, 2508, 2513,736 2 517, 2526, 2530, 2532, 2534, 2537, 2539, 2541, 2544, 2548,737 25 51, 2555, 2558, 2562, 2566, 2569, 2574, 2578, 2581, 2585,738 25 88, 2593, 2597, 2600, 2607, 2614, 2621, 2629, 2631, 2634,739 26 36, 2638, 2640, 2643, 2647, 2650, 2654, 2657, 2661, 2665,740 26 70, 2673, 2677, 2682, 2685, 2691, 2697, 2704, 2711, 2712,741 2 714, 2715671 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 672 37, 40, 42, 44, 46, 50, 54, 56, 63, 68, 673 72, 80, 83, 87, 95, 98, 101, 109, 114, 116, 674 120, 121, 123, 125, 129, 131, 134, 141, 145, 153, 675 157, 165, 168, 171, 174, 175, 178, 180, 182, 184, 676 187, 190, 193, 196, 199, 202, 207, 210, 215, 222, 677 224, 229, 234, 236, 238, 240, 242, 244, 246, 248, 678 253, 255, 259, 263, 267, 269, 273, 277, 279, 283, 679 287, 289, 293, 297, 301, 305, 307, 311, 315, 317, 680 321, 323, 327, 329, 333, 335, 339, 341, 345, 347, 681 353, 358, 360, 362, 366, 367, 369, 371, 373, 375, 682 377, 379, 381, 383, 385, 387, 389, 391, 393, 400, 683 408, 410, 414, 416, 420, 421, 423, 425, 427, 429, 684 431, 433, 435, 437, 439, 446, 451, 454, 462, 464, 685 468, 470, 473, 475, 478, 480, 483, 486, 492, 500, 686 506, 516, 522, 532, 534, 538, 540, 542, 546, 550, 687 553, 555, 558, 561, 562, 564, 567, 571, 572, 574, 688 577, 581, 585, 590, 591, 593, 595, 598, 604, 612, 689 619, 626, 631, 635, 640, 643, 647, 650, 654, 658, 690 662, 666, 672, 676, 680, 685, 687, 693, 700, 706, 691 713, 723, 734, 744, 755, 758, 760, 763, 766, 769, 692 771, 778, 787, 798, 811, 826, 827, 829, 830, 832, 693 834, 838, 843, 851, 852, 854, 858, 860, 864, 866, 694 868, 870, 874, 876, 878, 880, 884, 885, 887, 891, 695 896, 898, 902, 904, 906, 910, 914, 918, 922, 926, 696 929, 933, 940, 944, 948, 953, 955, 958, 961, 965, 697 971, 979, 987, 993, 1003, 1006, 1009, 1015, 1019, 1025, 698 1030, 1034, 1039, 1044, 1052, 1056, 1060, 1064, 1068, 1073, 699 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1097, 700 1099, 1101, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 701 1119, 1125, 1127, 1130, 1134, 1136, 1139, 1141, 1143, 1145, 702 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 703 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1186, 704 1189, 1193, 1197, 1199, 1203, 1205, 1208, 1211, 1214, 1219, 705 1224, 1229, 1234, 1236, 1239, 1242, 1246, 1248, 1251, 1254, 706 1256, 1259, 1262, 1266, 1268, 1271, 1274, 1276, 1278, 1283, 707 1286, 1287, 1294, 1302, 1305, 1308, 1311, 1312, 1315, 1318, 708 1322, 1325, 1329, 1331, 1334, 1338, 1341, 1344, 1349, 1350, 709 1352, 1355, 1358, 1360, 1361, 1363, 1366, 1369, 1375, 1378, 710 1379, 1387, 1390, 1395, 1396, 1399, 1400, 1402, 1404, 1406, 711 1412, 1418, 1424, 1426, 1432, 1438, 1448, 1450, 1456, 1457, 712 1459, 1461, 1467, 1469, 1471, 1477, 1483, 1485, 1489, 1493, 713 1498, 1500, 1502, 1504, 1506, 1509, 1511, 1515, 1519, 1521, 714 1524, 1526, 1530, 1532, 1534, 1536, 1538, 1540, 1542, 1544, 715 1546, 1548, 1550, 1552, 1555, 1557, 1559, 1561, 1564, 1565, 716 1568, 1571, 1573, 1578, 1579, 1581, 1584, 1588, 1593, 1596, 717 1599, 1601, 1604, 1607, 1613, 1619, 1627, 1634, 1636, 1639, 718 1642, 1646, 1648, 1651, 1654, 1659, 1662, 1667, 1668, 1673, 719 1676, 1678, 1680, 1682, 1683, 1686, 1692, 1698, 1712, 1714, 720 1716, 1720, 1724, 1727, 1731, 1735, 1738, 1743, 1745, 1752, 721 1762, 1763, 1775, 1777, 1781, 1785, 1789, 1791, 1793, 1799, 722 1802, 1808, 1809, 1811, 1813, 1817, 1818, 1820, 1822, 1824, 723 1826, 1827, 1834, 1837, 1839, 1842, 1847, 1850, 1854, 1858, 724 1862, 1867, 1873, 1879, 1885, 1892, 1894, 1896, 1898, 1902, 725 1903, 1909, 1910, 1912, 1914, 1917, 1924, 1926, 1930, 1931, 726 1933, 1938, 1940, 1942, 1944, 1946, 1949, 1951, 1954, 1957, 727 1959, 1963, 1966, 1970, 1974, 1977, 1982, 1987, 1991, 2000, 728 2004, 2007, 2009, 2012, 2019, 2028, 2032, 2035, 2039, 2043, 729 2048, 2053, 2057, 2059, 2061, 2063, 2068, 2075, 2079, 2082, 730 2086, 2090, 2095, 2100, 2104, 2107, 2109, 2112, 2115, 2117, 731 2121, 2124, 2128, 2132, 2135, 2140, 2145, 2149, 2156, 2165, 732 2169, 2172, 2174, 2177, 2180, 2183, 2187, 2191, 2194, 2199, 733 2204, 2208, 2215, 2224, 2228, 2231, 2233, 2236, 2239, 2241, 734 2243, 2246, 2250, 2254, 2257, 2262, 2269, 2278, 2280, 2283, 735 2286, 2288, 2291, 2294, 2298, 2302, 2304, 2309, 2314, 2318, 736 2324, 2333, 2337, 2340, 2344, 2346, 2352, 2358, 2365, 2372, 737 2374, 2377, 2380, 2382, 2385, 2388, 2392, 2396, 2398, 2403, 738 2408, 2412, 2418, 2427, 2431, 2433, 2436, 2438, 2441, 2448, 739 2454, 2461, 2469, 2477, 2479, 2482, 2485, 2487, 2490, 2493, 740 2497, 2501, 2503, 2508, 2513, 2517, 2526, 2530, 2532, 2534, 741 2537, 2539, 2541, 2544, 2548, 2551, 2555, 2558, 2562, 2566, 742 2569, 2574, 2578, 2581, 2585, 2588, 2593, 2597, 2600, 2607, 743 2614, 2621, 2629, 2631, 2634, 2636, 2638, 2640, 2643, 2647, 744 2650, 2654, 2657, 2661, 2665, 2670, 2673, 2677, 2682, 2685, 745 2691, 2698, 2705, 2706, 2708, 2709 742 746 }; 743 747 … … 745 749 static const yytype_int16 yyrhs[] = 746 750 { 747 30 2, 0, -1, -1, -1, 79, -1, 80, -1, 81,748 -1, 72, -1, 76, -1, 140, -1, 72, -1, 76,749 -1, 72, -1, 140, -1, 83, -1, 84, -1, 142,750 -1, 8 2, -1, 142, 82, -1, 72, -1, 140, -1,751 109, 170, 110, -1, 109, 174, 110, -1, 143, -1,752 1 44, 111, 134, 165, 135, 112, -1, 144, 109, 145,753 1 10, -1, 144, 113, 139, -1, 144, 113, 111, 134,754 14 7, 135, 112, -1, 144, 85, 139, -1, 144, 85,755 1 11, 134, 147, 135, 112, -1, 144, 86, -1, 144,756 87, -1, 109, 275, 110, 114, 279, 372, 115, -1,757 144, 114, 145, 115, -1, 146, -1, 145, 116, 146,758 -1, -1, 165, -1, 148, -1, 147, 116, 148, -1,759 139, -1, 139, 113, 148, -1, 139, 113, 111, 134,760 147, 135, 112, -1, 139, 85, 148, -1, 139, 85,761 111, 134, 147, 135, 112, -1, 144, -1, 136, -1,762 1 41, -1, 40, 152, -1, 150, 152, -1, 151, 152,763 -1, 86, 149, -1, 87, 149, -1, 37, 149, -1,764 37, 109, 275, 110, -1, 66, 149, -1, 66, 109,765 275, 110, -1, 38, 109, 275, 116, 139, 110, -1,766 76, -1, 76, 109, 146, 110, -1, 76, 109, 276,767 1 10, -1, 117, -1, 118, -1, 119, -1, 120, -1,768 121, -1, 122, -1, 149, -1, 109, 275, 110, 152,769 -1, 109, 275, 110, 168, -1, 152, -1, 153, 117,770 1 52, -1, 153, 123, 152, -1, 153, 124, 152, -1,771 1 53, -1, 154, 119, 153, -1, 154, 120, 153, -1,772 1 54, -1, 155, 88, 154, -1, 155, 89, 154, -1,773 1 55, -1, 156, 125, 155, -1, 156, 126, 155, -1,774 1 56, 90, 155, -1, 156, 91, 155, -1, 156, -1,775 157, 92, 156, -1, 157, 93, 156, -1, 157, -1,776 1 58, 118, 157, -1, 158, -1, 159, 127, 158, -1,777 159, -1, 160, 128, 159, -1, 160, -1, 161, 94,778 160, -1, 161, -1, 162, 95, 161, -1, 162, -1,779 162, 129, 170, 130, 163, -1, 162, 129, 130, 163,780 -1, 162, 129, 170, 130, 168, -1, 163, -1, 163,781 -1, 1 49, 167, 165, -1, 168, 373, -1, -1, 165,782 -1, 131, -1, 107, -1, 97, -1, 98, -1, 99,783 -1, 100, -1, 101, -1, 102, -1, 103, -1, 104,784 -1, 10 5, -1, 106, -1, 111, 112, -1, 111, 134,785 165, 135, 112, -1, 111, 134, 116, 169, 135, 112,786 -1, 1 11, 134, 165, 116, 169, 135, 112, -1, 166,787 -1, 169, 116, 166, -1, 165, -1, 170, 116, 165,788 -1, -1, 170, -1, 173, -1, 174, -1, 178, -1,789 179, -1, 191, -1, 193, -1, 194, -1, 199, -1,790 127, 144, 114, 145, 115, 132, -1, 72, 130, 312,791 1 72, -1, 114, 115, -1, 114, 134, 134, 210, 175,792 135, 115, -1, 176, -1, 175, 134, 176, -1, 213,793 -1, 40, 213, -1, 308, -1, 172, 135, -1, 172,794 -1, 177, 172, -1, 171, 132, -1, 41, 109, 170,795 1 10, 172, -1, 41, 109, 170, 110, 172, 42, 172,796 -1, 43, 109, 170, 110, 184, -1, 43, 109, 170,797 110, 114, 134, 206, 185, 115, -1, 53, 109, 170,798 11 0, 184, -1, 53, 109, 170, 110, 114, 134, 206,799 18 7, 115, -1, 164, -1, 164, 96, 164, -1, 310,800 -1, 180, -1, 181, 116, 180, -1, 44, 181, 130,801 -1, 45, 130, -1, 182, -1, 183, 182, -1, 183,802 172, -1, -1, 186, -1, 183, 177, -1, 186, 183,803 177, -1, -1, 188, -1, 183, 190, -1, 183, 177,804 189, -1, 188, 183, 190, -1, 188, 183, 177, 189,805 -1, -1, 190, -1, 56, -1, 56, 132, -1, 47,806 109, 170, 110, 172, -1, 46, 172, 47, 109, 170,807 1 10, 132, -1, 48, 109, 134, 192, 110, 172, -1,808 1 71, 135, 132, 171, 132, 171, -1, 213, 171, 132,809 1 71, -1, 51, 72, 132, -1, 51, 117, 170, 132,810 -1, 5 0, 132, -1, 50, 72, 132, -1, 49, 132,811 -1, 49, 72, 132, -1, 52, 171, 132, -1, 61,812 166, 132, -1, 62, 166, 132, -1, 62, 166, 63,813 1 65, 132, -1, 57, 174, 195, -1, 57, 174, 197,814 -1, 57, 174, 195, 197, -1, 196, -1, 58, 109,815 96, 110, 174, -1, 196, 58, 109, 96, 110, 174,816 -1, 59, 109, 96, 110, 174, -1, 196, 59, 109,817 96, 110, 174, -1, 58, 109, 134, 134, 198, 135,818 11 0, 174, 135, -1, 196, 58, 109, 134, 134, 198,819 1 35, 110, 174, 135, -1, 59, 109, 134, 134, 198,820 1 35, 110, 174, 135, -1, 196, 59, 109, 134, 134,821 1 98, 135, 110, 174, 135, -1, 60, 174, -1, 226,822 -1, 226, 309, -1, 226, 357, -1, 366, 139, -1,823 366, -1, 64, 200, 109, 141, 110, 132, -1, 64,824 200, 109, 141, 130, 201, 110, 132, -1, 64, 200,825 1 09, 141, 130, 201, 130, 201, 110, 132, -1, 64,826 200, 109, 141, 130, 201, 130, 201, 130, 204, 110,827 1 32, -1, 64, 200, 51, 109, 141, 130, 130, 201,828 130, 204, 130, 205, 110, 132, -1, -1, 11, -1,829 -1, 202, -1, 203, -1, 202, 116, 203, -1, 141,830 109, 164, 110, -1, 111, 164, 112, 141, 109, 164,831 1 10, -1, -1, 141, -1, 204, 116, 141, -1, 139,832 -1, 205, 116, 139, -1, 135, -1, 207, -1, 213,833 -1, 207, 134, 213, -1, 135, -1, 209, -1, 223,834 -1, 209, 134, 223, -1, -1, 211, -1, 29, 212,835 132, -1, 211, 29, 212, 132, -1, 274, -1, 212,836 116, 274, -1, 214, -1, 223, -1, 215, 135, 132,837 -1, 220, 135, 132, -1, 217, 135, 132, -1, 293,838 135, 132, -1, 296, 135, 132, -1, 216, 277, -1,839 232, 216, 277, -1, 215, 135, 116, 134, 272, 277,840 -1, 367, 272, 311, -1, 370, 272, 311, -1, 228,841 37 0, 272, 311, -1, 218, -1, 228, 218, -1, 232,842 2 18, -1, 232, 228, 218, -1, 217, 135, 116, 134,843 272, -1, 111, 112, 272, 109, 134, 260, 135, 110,844 -1, 37 0, 272, 109, 134, 260, 135, 110, -1, 219,845 27 2, 109, 134, 260, 135, 110, -1, 111, 134, 262,846 13 5, 112, -1, 111, 134, 262, 135, 116, 134, 263,847 13 5, 112, -1, 3, 216, -1, 3, 218, -1, 220,848 13 5, 116, 134, 139, -1, 3, 226, 309, -1, 221,849 13 5, 116, 134, 309, -1, 228, 3, 226, 309, -1,850 2 26, 3, 309, -1, 226, 3, 228, 309, -1, 3,851 1 39, 131, 165, -1, 222, 135, 116, 134, 139, 131,852 16 5, -1, 224, 135, 132, -1, 221, 135, 132, -1,853 22 2, 135, 132, -1, 240, 135, 132, -1, 225, 309,854 31 1, 277, -1, 224, 116, 312, 309, 311, 277, -1,855 2 36, -1, 240, -1, 242, -1, 283, -1, 237, -1,856 24 1, -1, 243, -1, 284, -1, -1, 228, -1, 229,857 -1, 2 28, 229, -1, 230, -1, 314, -1, 10, -1,751 306, 0, -1, -1, -1, 79, -1, 82, -1, 83, 752 -1, 84, -1, 80, -1, 72, -1, 76, -1, 142, 753 -1, 72, -1, 76, -1, 72, -1, 142, -1, 85, 754 -1, 86, -1, 144, -1, 81, -1, 144, 81, -1, 755 72, -1, 142, -1, 172, -1, 111, 174, 112, -1, 756 111, 178, 112, -1, 145, -1, 146, 113, 136, 169, 757 137, 114, -1, 146, 111, 147, 112, -1, 146, 115, 758 141, -1, 146, 115, 113, 136, 149, 137, 114, -1, 759 146, 83, -1, 146, 87, 141, -1, 146, 87, 113, 760 136, 149, 137, 114, -1, 146, 88, -1, 146, 89, 761 -1, 111, 279, 112, 116, 283, 376, 117, -1, 146, 762 116, 147, 117, -1, 148, -1, 147, 118, 148, -1, 763 -1, 169, -1, 150, -1, 149, 118, 150, -1, 151, 764 -1, 82, 150, -1, 82, 113, 136, 149, 137, 114, 765 -1, 151, 115, 150, -1, 151, 115, 113, 136, 149, 766 137, 114, -1, 151, 87, 150, -1, 151, 87, 113, 767 136, 149, 137, 114, -1, 79, 152, -1, 84, 152, 768 -1, 141, 152, -1, -1, 152, 83, -1, 146, -1, 769 138, -1, 143, -1, 40, 156, -1, 154, 156, -1, 770 155, 156, -1, 88, 153, -1, 89, 153, -1, 37, 771 153, -1, 37, 111, 279, 112, -1, 66, 153, -1, 772 66, 111, 279, 112, -1, 38, 111, 279, 118, 141, 773 112, -1, 76, -1, 76, 111, 148, 112, -1, 76, 774 111, 280, 112, -1, 119, -1, 120, -1, 121, -1, 775 122, -1, 123, -1, 124, -1, 153, -1, 111, 279, 776 112, 156, -1, 156, -1, 157, 119, 156, -1, 157, 777 125, 156, -1, 157, 126, 156, -1, 157, -1, 158, 778 121, 157, -1, 158, 122, 157, -1, 158, -1, 159, 779 90, 158, -1, 159, 91, 158, -1, 159, -1, 160, 780 127, 159, -1, 160, 128, 159, -1, 160, 92, 159, 781 -1, 160, 93, 159, -1, 160, -1, 161, 94, 160, 782 -1, 161, 95, 160, -1, 161, -1, 162, 120, 161, 783 -1, 162, -1, 163, 129, 162, -1, 163, -1, 164, 784 130, 163, -1, 164, -1, 165, 96, 164, -1, 165, 785 -1, 166, 97, 165, -1, 166, -1, 166, 131, 174, 786 132, 167, -1, 166, 131, 132, 167, -1, 167, -1, 787 167, -1, 153, 171, 169, -1, -1, 169, -1, 133, 788 -1, 109, -1, 99, -1, 100, -1, 101, -1, 102, 789 -1, 103, -1, 104, -1, 105, -1, 106, -1, 107, 790 -1, 108, -1, 113, 136, 118, 173, 137, 114, -1, 791 113, 136, 169, 118, 173, 137, 114, -1, 170, -1, 792 173, 118, 170, -1, 169, -1, 174, 118, 169, -1, 793 -1, 174, -1, 177, -1, 178, -1, 182, -1, 183, 794 -1, 195, -1, 197, -1, 198, -1, 203, -1, 129, 795 146, 116, 147, 117, 134, -1, 72, 132, 316, 176, 796 -1, 116, 117, -1, 116, 136, 136, 214, 179, 137, 797 117, -1, 180, -1, 179, 136, 180, -1, 217, -1, 798 40, 217, -1, 312, -1, 176, 137, -1, 176, -1, 799 181, 176, -1, 175, 134, -1, 41, 111, 174, 112, 800 176, -1, 41, 111, 174, 112, 176, 42, 176, -1, 801 43, 111, 174, 112, 188, -1, 43, 111, 174, 112, 802 116, 136, 210, 189, 117, -1, 53, 111, 174, 112, 803 188, -1, 53, 111, 174, 112, 116, 136, 210, 191, 804 117, -1, 168, -1, 168, 98, 168, -1, 314, -1, 805 184, -1, 185, 118, 184, -1, 44, 185, 132, -1, 806 45, 132, -1, 186, -1, 187, 186, -1, 187, 176, 807 -1, -1, 190, -1, 187, 181, -1, 190, 187, 181, 808 -1, -1, 192, -1, 187, 194, -1, 187, 181, 193, 809 -1, 192, 187, 194, -1, 192, 187, 181, 193, -1, 810 -1, 194, -1, 56, -1, 56, 134, -1, 47, 111, 811 174, 112, 176, -1, 46, 176, 47, 111, 174, 112, 812 134, -1, 48, 111, 136, 196, 112, 176, -1, 175, 813 137, 134, 175, 134, 175, -1, 217, 175, 134, 175, 814 -1, 51, 72, 134, -1, 51, 119, 174, 134, -1, 815 50, 134, -1, 50, 72, 134, -1, 49, 134, -1, 816 49, 72, 134, -1, 52, 175, 134, -1, 61, 170, 817 134, -1, 62, 170, 134, -1, 62, 170, 63, 169, 818 134, -1, 57, 178, 199, -1, 57, 178, 201, -1, 819 57, 178, 199, 201, -1, 200, -1, 58, 111, 98, 820 112, 178, -1, 200, 58, 111, 98, 112, 178, -1, 821 59, 111, 98, 112, 178, -1, 200, 59, 111, 98, 822 112, 178, -1, 58, 111, 136, 136, 202, 137, 112, 823 178, 137, -1, 200, 58, 111, 136, 136, 202, 137, 824 112, 178, 137, -1, 59, 111, 136, 136, 202, 137, 825 112, 178, 137, -1, 200, 59, 111, 136, 136, 202, 826 137, 112, 178, 137, -1, 60, 178, -1, 230, -1, 827 230, 313, -1, 230, 361, -1, 370, 141, -1, 370, 828 -1, 64, 204, 111, 143, 112, 134, -1, 64, 204, 829 111, 143, 132, 205, 112, 134, -1, 64, 204, 111, 830 143, 132, 205, 132, 205, 112, 134, -1, 64, 204, 831 111, 143, 132, 205, 132, 205, 132, 208, 112, 134, 832 -1, 64, 204, 51, 111, 143, 132, 132, 205, 132, 833 208, 132, 209, 112, 134, -1, -1, 11, -1, -1, 834 206, -1, 207, -1, 206, 118, 207, -1, 143, 111, 835 168, 112, -1, 113, 168, 114, 143, 111, 168, 112, 836 -1, -1, 143, -1, 208, 118, 143, -1, 141, -1, 837 209, 118, 141, -1, 137, -1, 211, -1, 217, -1, 838 211, 136, 217, -1, 137, -1, 213, -1, 227, -1, 839 213, 136, 227, -1, -1, 215, -1, 29, 216, 134, 840 -1, 215, 29, 216, 134, -1, 278, -1, 216, 118, 841 278, -1, 218, -1, 227, -1, 219, 137, 134, -1, 842 224, 137, 134, -1, 221, 137, 134, -1, 297, 137, 843 134, -1, 300, 137, 134, -1, 220, 281, -1, 236, 844 220, 281, -1, 219, 137, 118, 136, 276, 281, -1, 845 371, 276, 315, -1, 374, 276, 315, -1, 232, 374, 846 276, 315, -1, 222, -1, 232, 222, -1, 236, 222, 847 -1, 236, 232, 222, -1, 221, 137, 118, 136, 276, 848 -1, 374, 276, 111, 136, 264, 137, 112, -1, 223, 849 276, 111, 136, 264, 137, 112, -1, 113, 136, 266, 850 137, 114, -1, 113, 136, 266, 137, 118, 136, 267, 851 137, 114, -1, 3, 220, -1, 3, 222, -1, 224, 852 137, 118, 136, 141, -1, 3, 230, 313, -1, 225, 853 137, 118, 136, 313, -1, 232, 3, 230, 313, -1, 854 230, 3, 313, -1, 230, 3, 232, 313, -1, 3, 855 141, 133, 169, -1, 226, 137, 118, 136, 141, 133, 856 169, -1, 228, 137, 134, -1, 225, 137, 134, -1, 857 226, 137, 134, -1, 244, 137, 134, -1, 229, 313, 858 315, 281, -1, 228, 118, 316, 313, 315, 281, -1, 859 240, -1, 244, -1, 246, -1, 287, -1, 241, -1, 860 245, -1, 247, -1, 288, -1, -1, 232, -1, 233, 861 -1, 232, 233, -1, 234, -1, 318, -1, 10, -1, 858 862 12, -1, 11, -1, 14, -1, 67, -1, -1, 13, 859 1 09, 231, 286, 110, -1, 233, -1, 228, 233, -1,860 23 2, 228, 233, -1, 234, -1, 233, 234, -1, 5,863 111, 235, 290, 112, -1, 237, -1, 232, 237, -1, 864 236, 232, 237, -1, 238, -1, 237, 238, -1, 5, 861 865 -1, 7, -1, 4, -1, 6, -1, 8, -1, 9, 862 866 -1, 69, -1, 71, -1, 16, -1, 21, -1, 20, 863 867 -1, 18, -1, 19, -1, 17, -1, 22, -1, 23, 864 868 -1, 15, -1, 25, -1, 26, -1, 27, -1, 24, 865 -1, 2 37, -1, 232, 237, -1, 236, 234, -1, 236,866 23 4, 228, -1, 236, 234, 237, -1, 238, -1, 227,867 2 39, 227, -1, 235, -1, 228, 235, -1, 238, 229,868 -1, 2 38, 235, -1, 28, 109, 276, 110, -1, 28,869 1 09, 170, 110, -1, 78, 109, 276, 110, -1, 78,870 1 09, 170, 110, -1, 241, -1, 232, 241, -1, 240,871 23 4, -1, 240, 234, 228, -1, 244, -1, 228, 244,872 -1, 24 1, 229, -1, 243, -1, 232, 243, -1, 242,873 23 4, -1, 242, 234, 228, -1, 74, -1, 228, 74,874 -1, 24 3, 229, -1, 245, -1, 256, -1, 247, 114,875 2 48, 115, -1, 247, 274, -1, -1, 247, 274, 246,876 11 4, 248, 115, -1, 247, 109, 292, 110, 114, 248,877 11 5, -1, 247, 285, -1, 31, 312, -1, 32, 312,878 -1, -1, 2 48, 249, -1, 250, 132, -1, 40, 250,879 13 2, -1, 251, 132, -1, 40, 251, 132, -1, 366,880 -1, 3 66, 274, -1, 250, 116, 274, -1, 250, 116,881 -1, 2 26, 252, -1, 251, 116, 312, 252, -1, -1,882 25 4, -1, 318, 253, -1, 331, 253, -1, 357, -1,883 -1, 25 4, -1, 130, 164, -1, 30, 312, -1, 255,884 11 4, 258, 372, 115, -1, 255, 274, -1, -1, 255,885 27 4, 257, 114, 258, 372, 115, -1, 274, 259, -1,886 2 58, 116, 274, 259, -1, -1, 131, 164, -1, -1,887 26 1, -1, 263, -1, 262, -1, 262, 135, 116, 134,888 26 3, -1, 263, 135, 116, 134, 96, -1, 262, 135,889 11 6, 134, 96, -1, 267, -1, 263, 135, 116, 134,890 2 67, -1, 262, 135, 116, 134, 267, -1, 262, 135,891 11 6, 134, 263, 135, 116, 134, 267, -1, 268, -1,892 26 3, 135, 116, 134, 268, -1, -1, 265, -1, 266,893 -1, 2 66, 135, 116, 134, 96, -1, 270, -1, 269,894 -1, 2 66, 135, 116, 134, 270, -1, 266, 135, 116,895 13 4, 269, -1, 269, -1, 362, 272, 373, -1, 370,896 27 2, 373, -1, 228, 370, 272, 373, -1, 218, -1,897 27 0, -1, 362, -1, 370, -1, 228, 370, -1, 371,898 -1, 22 5, 336, 373, -1, 225, 340, 373, -1, 225,899 -1, 22 5, 351, -1, 139, -1, 271, 116, 139, -1,900 13 7, -1, 74, -1, 75, -1, 138, -1, 74, -1,901 75, -1, 1 39, -1, 74, -1, 75, -1, 366, -1,902 2 26, -1, 226, 357, -1, 366, -1, 371, -1, 226,903 -1, 2 26, 345, -1, -1, 131, 278, -1, 107, 278,904 -1, 16 5, -1, 114, 279, 372, 115, -1, -1, 278,905 -1, 28 0, 278, -1, 279, 116, 278, -1, 279, 116,906 28 0, 278, -1, 281, 130, -1, 274, 130, -1, 282,907 -1, 28 1, 282, -1, 113, 274, -1, 111, 134, 165,908 13 5, 112, -1, 111, 134, 310, 135, 112, -1, 111,909 13 4, 164, 96, 164, 135, 112, -1, 113, 111, 134,910 14 7, 135, 112, -1, 284, -1, 232, 284, -1, 283,911 23 4, -1, 283, 234, 228, -1, 285, -1, 228, 285,912 -1, 28 4, 229, -1, 75, 109, 292, 110, -1, 287,913 37 3, -1, 286, 116, 287, 373, -1, -1, 289, 274,914 2 88, 290, -1, 226, 336, -1, 33, -1, 35, -1,915 34, -1, -1, 29 0, 291, -1, 128, 274, 109, 292,916 11 0, -1, 128, 114, 134, 298, 115, -1, 128, 109,917 13 4, 286, 135, 110, 114, 134, 298, 115, 109, 292,918 11 0, -1, 276, -1, 165, -1, 292, 116, 276, -1,919 29 2, 116, 165, -1, 33, 294, -1, 233, 33, 294,920 -1, 29 3, 116, 294, -1, 295, 290, -1, 295, 290,921 13 1, 276, -1, 274, -1, 273, 109, 134, 286, 135,922 11 0, -1, 36, 274, 109, 134, 286, 135, 110, 114,923 11 5, -1, -1, 36, 274, 109, 134, 286, 135, 110,924 11 4, 297, 298, 115, -1, 299, -1, 298, 134, 299,925 -1, 30 0, 135, 132, -1, 301, 135, 132, -1, 216,926 -1, 2 18, -1, 300, 135, 116, 134, 272, -1, 226,927 3 09, -1, 301, 135, 116, 134, 309, -1, -1, 303,928 -1, 30 5, -1, 303, 134, 305, -1, -1, 303, -1,929 21 3, -1, 307, -1, 199, -1, -1, 5, 82, 306,930 11 4, 304, 115, -1, 40, 305, -1, 308, -1, 323,931 17 4, -1, 327, 134, 208, 174, -1, 217, 174, -1,932 22 5, 323, 174, -1, 228, 323, 174, -1, 232, 323,933 17 4, -1, 232, 228, 323, 174, -1, 225, 327, 134,934 2 08, 174, -1, 228, 327, 134, 208, 174, -1, 232,935 3 27, 134, 208, 174, -1, 232, 228, 327, 134, 208,936 17 4, -1, 318, -1, 331, -1, 323, -1, 164, 122,937 16 4, -1, -1, 64, 109, 142, 110, 312, -1, -1,938 31 3, -1, 314, -1, 313, 314, -1, 39, 109, 109,939 31 5, 110, 110, -1, 316, -1, 315, 116, 316, -1,940 -1, 3 17, -1, 317, 109, 171, 110, -1, 272, -1,941 23 4, -1, 235, -1, 229, -1, 319, 312, -1, 320,942 -1, 32 1, 312, -1, 322, 312, -1, 137, -1, 109,943 3 19, 110, -1, 150, 318, -1, 150, 228, 318, -1,944 1 09, 320, 110, -1, 319, 349, -1, 109, 320, 110,945 3 49, -1, 109, 321, 110, 350, -1, 109, 321, 110,946 -1, 1 09, 320, 110, 109, 134, 264, 135, 110, -1,947 1 09, 322, 110, -1, 324, 312, -1, 325, -1, 326,948 31 2, -1, 319, 109, 134, 264, 135, 110, -1, 109,949 32 5, 110, 109, 134, 264, 135, 110, -1, 109, 324,950 11 0, -1, 150, 323, -1, 150, 228, 323, -1, 109,951 32 5, 110, -1, 109, 325, 110, 349, -1, 109, 326,952 11 0, 350, -1, 109, 326, 110, -1, 328, -1, 329,953 -1, 33 0, -1, 319, 109, 271, 110, -1, 109, 329,954 11 0, 109, 271, 110, -1, 109, 328, 110, -1, 150,955 3 27, -1, 150, 228, 327, -1, 109, 329, 110, -1,956 1 09, 329, 110, 349, -1, 109, 330, 110, 350, -1,957 1 09, 330, 110, -1, 332, 312, -1, 333, -1, 334,958 31 2, -1, 335, 312, -1, 341, -1, 109, 332, 110,959 -1, 15 0, 331, -1, 150, 228, 331, -1, 109, 333,960 11 0, -1, 332, 349, -1, 109, 333, 110, 349, -1,961 1 09, 334, 110, 350, -1, 109, 334, 110, -1, 332,962 1 09, 134, 264, 135, 110, -1, 109, 333, 110, 109,963 13 4, 264, 135, 110, -1, 109, 335, 110, -1, 319,964 31 2, -1, 337, -1, 338, 312, -1, 339, 312, -1,965 15 0, 336, -1, 150, 228, 336, -1, 109, 337, 110,966 -1, 3 19, 355, -1, 109, 337, 110, 349, -1, 109,967 3 38, 110, 350, -1, 109, 338, 110, -1, 319, 109,968 13 4, 264, 135, 110, -1, 109, 337, 110, 109, 134,969 26 4, 135, 110, -1, 109, 339, 110, -1, 341, 312,970 -1, 34 2, -1, 343, 312, -1, 344, 312, -1, 74,971 -1, 75, -1, 15 0, 340, -1, 150, 228, 340, -1,972 1 09, 342, 110, -1, 341, 355, -1, 109, 342, 110,973 35 5, -1, 341, 109, 134, 264, 135, 110, -1, 109,974 34 2, 110, 109, 134, 264, 135, 110, -1, 346, -1,975 3 47, 312, -1, 348, 312, -1, 150, -1, 150, 228,976 -1, 15 0, 345, -1, 150, 228, 345, -1, 109, 346,977 11 0, -1, 349, -1, 109, 346, 110, 349, -1, 109,978 3 47, 110, 350, -1, 109, 347, 110, -1, 109, 134,979 26 4, 135, 110, -1, 109, 346, 110, 109, 134, 264,980 13 5, 110, -1, 109, 348, 110, -1, 111, 112, -1,981 11 1, 112, 350, -1, 350, -1, 111, 134, 165, 135,982 11 2, -1, 111, 134, 117, 135, 112, -1, 350, 111,983 13 4, 165, 135, 112, -1, 350, 111, 134, 117, 135,984 11 2, -1, 352, -1, 353, 312, -1, 354, 312, -1,985 15 0, -1, 150, 228, -1, 150, 351, -1, 150, 228,986 35 1, -1, 109, 352, 110, -1, 355, -1, 109, 352,987 11 0, 355, -1, 109, 353, 110, 350, -1, 109, 353,988 11 0, -1, 109, 134, 264, 135, 110, -1, 109, 352,989 11 0, 109, 134, 264, 135, 110, -1, 109, 354, 110,990 -1, 3 56, -1, 356, 350, -1, 350, -1, 111, 112,991 -1, 11 1, 134, 228, 117, 135, 112, -1, 111, 134,992 2 28, 135, 112, -1, 111, 134, 228, 165, 135, 112,993 -1, 11 1, 134, 7, 227, 165, 135, 112, -1, 111,994 13 4, 228, 7, 165, 135, 112, -1, 358, -1, 359,995 31 2, -1, 360, 312, -1, 150, -1, 150, 228, -1,996 15 0, 357, -1, 150, 228, 357, -1, 109, 358, 110,997 -1, 3 49, -1, 109, 358, 110, 349, -1, 109, 359,998 11 0, 350, -1, 109, 359, 110, -1, 109, 358, 110,999 1 09, 134, 264, 135, 110, -1, 109, 360, 110, -1,1000 36 2, -1, 370, -1, 228, 370, -1, 363, -1, 364,1001 -1, 15 0, 226, -1, 228, 150, 226, -1, 150, 371,1002 -1, 2 28, 150, 371, -1, 150, 361, -1, 228, 150,1003 36 1, -1, 111, 112, 226, -1, 365, 226, -1, 111,1004 11 2, 350, 226, -1, 365, 350, 226, -1, 350, 226,1005 -1, 11 1, 112, 363, -1, 365, 363, -1, 111, 112,1006 35 0, 363, -1, 365, 350, 363, -1, 350, 363, -1,1007 11 1, 134, 228, 117, 135, 112, -1, 111, 134, 228,1008 16 5, 135, 112, -1, 111, 134, 232, 165, 135, 112,1009 -1, 11 1, 134, 232, 228, 165, 135, 112, -1, 370,1010 -1, 2 28, 370, -1, 367, -1, 368, -1, 369, -1,1011 15 0, 226, -1, 228, 150, 226, -1, 150, 371, -1,1012 2 28, 150, 371, -1, 150, 366, -1, 228, 150, 366,1013 -1, 11 1, 112, 226, -1, 111, 112, 350, 226, -1,1014 35 0, 226, -1, 111, 112, 368, -1, 111, 112, 350,1015 3 68, -1, 350, 368, -1, 111, 134, 263, 135, 112,1016 -1, 111, 112, 109, 260, 110, -1, 370, 109, 134,1017 260, 135, 110, -1, 219, 109, 134, 260, 135, 110,1018 -1, -1, 116, -1, -1, 131, 165, -1869 -1, 241, -1, 236, 241, -1, 240, 238, -1, 240, 870 238, 232, -1, 240, 238, 241, -1, 242, -1, 231, 871 243, 231, -1, 239, -1, 232, 239, -1, 242, 233, 872 -1, 242, 239, -1, 28, 111, 280, 112, -1, 28, 873 111, 174, 112, -1, 78, 111, 280, 112, -1, 78, 874 111, 174, 112, -1, 245, -1, 236, 245, -1, 244, 875 238, -1, 244, 238, 232, -1, 248, -1, 232, 248, 876 -1, 245, 233, -1, 247, -1, 236, 247, -1, 246, 877 238, -1, 246, 238, 232, -1, 74, -1, 232, 74, 878 -1, 247, 233, -1, 249, -1, 260, -1, 251, 116, 879 252, 117, -1, 251, 278, -1, -1, 251, 278, 250, 880 116, 252, 117, -1, 251, 111, 296, 112, 116, 252, 881 117, -1, 251, 289, -1, 31, 316, -1, 32, 316, 882 -1, -1, 252, 253, -1, 254, 134, -1, 40, 254, 883 134, -1, 255, 134, -1, 40, 255, 134, -1, 370, 884 -1, 370, 278, -1, 254, 118, 278, -1, 254, 118, 885 -1, 230, 256, -1, 255, 118, 316, 256, -1, -1, 886 258, -1, 322, 257, -1, 335, 257, -1, 361, -1, 887 -1, 258, -1, 132, 168, -1, 30, 316, -1, 259, 888 116, 262, 376, 117, -1, 259, 278, -1, -1, 259, 889 278, 261, 116, 262, 376, 117, -1, 278, 263, -1, 890 262, 118, 278, 263, -1, -1, 133, 168, -1, -1, 891 265, -1, 267, -1, 266, -1, 266, 137, 118, 136, 892 267, -1, 267, 137, 118, 136, 98, -1, 266, 137, 893 118, 136, 98, -1, 271, -1, 267, 137, 118, 136, 894 271, -1, 266, 137, 118, 136, 271, -1, 266, 137, 895 118, 136, 267, 137, 118, 136, 271, -1, 272, -1, 896 267, 137, 118, 136, 272, -1, -1, 269, -1, 270, 897 -1, 270, 137, 118, 136, 98, -1, 274, -1, 273, 898 -1, 270, 137, 118, 136, 274, -1, 270, 137, 118, 899 136, 273, -1, 273, -1, 366, 276, 377, -1, 374, 900 276, 377, -1, 232, 374, 276, 377, -1, 222, -1, 901 274, -1, 366, -1, 374, -1, 232, 374, -1, 375, 902 -1, 229, 340, 377, -1, 229, 344, 377, -1, 229, 903 -1, 229, 355, -1, 141, -1, 275, 118, 141, -1, 904 139, -1, 74, -1, 75, -1, 140, -1, 74, -1, 905 75, -1, 141, -1, 74, -1, 75, -1, 370, -1, 906 230, -1, 230, 361, -1, 370, -1, 375, -1, 230, 907 -1, 230, 349, -1, -1, 133, 282, -1, 109, 282, 908 -1, 169, -1, 116, 283, 376, 117, -1, -1, 282, 909 -1, 284, 282, -1, 283, 118, 282, -1, 283, 118, 910 284, 282, -1, 285, 132, -1, 278, 132, -1, 286, 911 -1, 285, 286, -1, 115, 278, -1, 113, 136, 169, 912 137, 114, -1, 113, 136, 314, 137, 114, -1, 113, 913 136, 168, 98, 168, 137, 114, -1, 115, 113, 136, 914 149, 137, 114, -1, 288, -1, 236, 288, -1, 287, 915 238, -1, 287, 238, 232, -1, 289, -1, 232, 289, 916 -1, 288, 233, -1, 75, 111, 296, 112, -1, 291, 917 377, -1, 290, 118, 291, 377, -1, -1, 293, 278, 918 292, 294, -1, 230, 340, -1, 33, -1, 35, -1, 919 34, -1, -1, 294, 295, -1, 130, 278, 111, 296, 920 112, -1, 130, 116, 136, 302, 117, -1, 130, 111, 921 136, 290, 137, 112, 116, 136, 302, 117, 111, 296, 922 112, -1, 280, -1, 169, -1, 296, 118, 280, -1, 923 296, 118, 169, -1, 33, 298, -1, 237, 33, 298, 924 -1, 297, 118, 298, -1, 299, 294, -1, 299, 294, 925 133, 280, -1, 278, -1, 277, 111, 136, 290, 137, 926 112, -1, 36, 278, 111, 136, 290, 137, 112, 116, 927 117, -1, -1, 36, 278, 111, 136, 290, 137, 112, 928 116, 301, 302, 117, -1, 303, -1, 302, 136, 303, 929 -1, 304, 137, 134, -1, 305, 137, 134, -1, 220, 930 -1, 222, -1, 304, 137, 118, 136, 276, -1, 230, 931 313, -1, 305, 137, 118, 136, 313, -1, -1, 307, 932 -1, 309, -1, 307, 136, 309, -1, -1, 307, -1, 933 217, -1, 311, -1, 203, -1, -1, 5, 81, 310, 934 116, 308, 117, -1, 40, 309, -1, 312, -1, 327, 935 178, -1, 331, 136, 212, 178, -1, 221, 178, -1, 936 229, 327, 178, -1, 232, 327, 178, -1, 236, 327, 937 178, -1, 236, 232, 327, 178, -1, 229, 331, 136, 938 212, 178, -1, 232, 331, 136, 212, 178, -1, 236, 939 331, 136, 212, 178, -1, 236, 232, 331, 136, 212, 940 178, -1, 322, -1, 335, -1, 327, -1, 168, 124, 941 168, -1, -1, 64, 111, 144, 112, 316, -1, -1, 942 317, -1, 318, -1, 317, 318, -1, 39, 111, 111, 943 319, 112, 112, -1, 320, -1, 319, 118, 320, -1, 944 -1, 321, -1, 321, 111, 175, 112, -1, 276, -1, 945 238, -1, 239, -1, 233, -1, 323, 316, -1, 324, 946 -1, 325, 316, -1, 326, 316, -1, 139, -1, 111, 947 323, 112, -1, 154, 322, -1, 154, 232, 322, -1, 948 111, 324, 112, -1, 323, 353, -1, 111, 324, 112, 949 353, -1, 111, 325, 112, 354, -1, 111, 325, 112, 950 -1, 111, 324, 112, 111, 136, 268, 137, 112, -1, 951 111, 326, 112, -1, 328, 316, -1, 329, -1, 330, 952 316, -1, 323, 111, 136, 268, 137, 112, -1, 111, 953 329, 112, 111, 136, 268, 137, 112, -1, 111, 328, 954 112, -1, 154, 327, -1, 154, 232, 327, -1, 111, 955 329, 112, -1, 111, 329, 112, 353, -1, 111, 330, 956 112, 354, -1, 111, 330, 112, -1, 332, -1, 333, 957 -1, 334, -1, 323, 111, 275, 112, -1, 111, 333, 958 112, 111, 275, 112, -1, 111, 332, 112, -1, 154, 959 331, -1, 154, 232, 331, -1, 111, 333, 112, -1, 960 111, 333, 112, 353, -1, 111, 334, 112, 354, -1, 961 111, 334, 112, -1, 336, 316, -1, 337, -1, 338, 962 316, -1, 339, 316, -1, 345, -1, 111, 336, 112, 963 -1, 154, 335, -1, 154, 232, 335, -1, 111, 337, 964 112, -1, 336, 353, -1, 111, 337, 112, 353, -1, 965 111, 338, 112, 354, -1, 111, 338, 112, -1, 336, 966 111, 136, 268, 137, 112, -1, 111, 337, 112, 111, 967 136, 268, 137, 112, -1, 111, 339, 112, -1, 323, 968 316, -1, 341, -1, 342, 316, -1, 343, 316, -1, 969 154, 340, -1, 154, 232, 340, -1, 111, 341, 112, 970 -1, 323, 359, -1, 111, 341, 112, 353, -1, 111, 971 342, 112, 354, -1, 111, 342, 112, -1, 323, 111, 972 136, 268, 137, 112, -1, 111, 341, 112, 111, 136, 973 268, 137, 112, -1, 111, 343, 112, -1, 345, 316, 974 -1, 346, -1, 347, 316, -1, 348, 316, -1, 74, 975 -1, 75, -1, 154, 344, -1, 154, 232, 344, -1, 976 111, 346, 112, -1, 345, 359, -1, 111, 346, 112, 977 359, -1, 345, 111, 136, 268, 137, 112, -1, 111, 978 346, 112, 111, 136, 268, 137, 112, -1, 350, -1, 979 351, 316, -1, 352, 316, -1, 154, -1, 154, 232, 980 -1, 154, 349, -1, 154, 232, 349, -1, 111, 350, 981 112, -1, 353, -1, 111, 350, 112, 353, -1, 111, 982 351, 112, 354, -1, 111, 351, 112, -1, 111, 136, 983 268, 137, 112, -1, 111, 350, 112, 111, 136, 268, 984 137, 112, -1, 111, 352, 112, -1, 113, 114, -1, 985 113, 114, 354, -1, 354, -1, 113, 136, 169, 137, 986 114, -1, 113, 136, 119, 137, 114, -1, 354, 113, 987 136, 169, 137, 114, -1, 354, 113, 136, 119, 137, 988 114, -1, 356, -1, 357, 316, -1, 358, 316, -1, 989 154, -1, 154, 232, -1, 154, 355, -1, 154, 232, 990 355, -1, 111, 356, 112, -1, 359, -1, 111, 356, 991 112, 359, -1, 111, 357, 112, 354, -1, 111, 357, 992 112, -1, 111, 136, 268, 137, 112, -1, 111, 356, 993 112, 111, 136, 268, 137, 112, -1, 111, 358, 112, 994 -1, 360, -1, 360, 354, -1, 354, -1, 113, 114, 995 -1, 113, 136, 232, 119, 137, 114, -1, 113, 136, 996 232, 137, 114, -1, 113, 136, 232, 169, 137, 114, 997 -1, 113, 136, 7, 231, 169, 137, 114, -1, 113, 998 136, 232, 7, 169, 137, 114, -1, 362, -1, 363, 999 316, -1, 364, 316, -1, 154, -1, 154, 232, -1, 1000 154, 361, -1, 154, 232, 361, -1, 111, 362, 112, 1001 -1, 353, -1, 111, 362, 112, 353, -1, 111, 363, 1002 112, 354, -1, 111, 363, 112, -1, 111, 362, 112, 1003 111, 136, 268, 137, 112, -1, 111, 364, 112, -1, 1004 366, -1, 374, -1, 232, 374, -1, 367, -1, 368, 1005 -1, 154, 230, -1, 232, 154, 230, -1, 154, 375, 1006 -1, 232, 154, 375, -1, 154, 365, -1, 232, 154, 1007 365, -1, 113, 114, 230, -1, 369, 230, -1, 113, 1008 114, 354, 230, -1, 369, 354, 230, -1, 354, 230, 1009 -1, 113, 114, 367, -1, 369, 367, -1, 113, 114, 1010 354, 367, -1, 369, 354, 367, -1, 354, 367, -1, 1011 113, 136, 232, 119, 137, 114, -1, 113, 136, 232, 1012 169, 137, 114, -1, 113, 136, 236, 169, 137, 114, 1013 -1, 113, 136, 236, 232, 169, 137, 114, -1, 374, 1014 -1, 232, 374, -1, 371, -1, 372, -1, 373, -1, 1015 154, 230, -1, 232, 154, 230, -1, 154, 375, -1, 1016 232, 154, 375, -1, 154, 370, -1, 232, 154, 370, 1017 -1, 113, 114, 230, -1, 113, 114, 354, 230, -1, 1018 354, 230, -1, 113, 114, 372, -1, 113, 114, 354, 1019 372, -1, 354, 372, -1, 113, 136, 267, 137, 114, 1020 -1, 374, 111, 136, 264, 137, 112, -1, 223, 111, 1021 136, 264, 137, 112, -1, -1, 118, -1, -1, 133, 1022 169, -1 1019 1023 }; 1020 1024 … … 1022 1026 static const yytype_uint16 yyrline[] = 1023 1027 { 1024 0, 30 1, 301, 305, 312, 313, 314, 318, 319, 320,1025 32 4, 325, 329, 330, 334, 335, 339, 343, 344, 355,1026 35 7, 359, 361, 366, 367, 373, 377, 379, 380, 382,1027 38 3, 385, 387, 389, 398, 399, 405, 406, 410, 411,1028 41 5, 419, 421, 423, 425, 430, 433, 435, 437, 442,1029 4 55, 457, 459, 461, 463, 465, 467, 469, 471, 473,1030 4 75, 482, 483, 489, 490, 491, 492, 496, 497, 499,1031 504, 505, 507, 509, 514, 515, 517, 522, 523, 525,1032 5 30, 531, 533, 535, 537, 542, 543, 545, 550, 551,1033 55 6, 557, 562, 563, 568, 569, 574, 575, 580, 581,1034 5 84, 586, 591, 596, 597, 599, 605, 606, 610, 611,1035 6 12, 613, 614, 615, 616, 617, 618, 619, 620, 621,1036 6 27, 629, 631, 633, 638, 639, 644, 645, 651, 652,1037 6 58, 659, 660, 661, 662, 663, 664, 665, 666, 676,1038 68 3, 685, 695, 696, 701, 703, 709, 711, 715, 716,1039 72 1, 726, 729, 731, 733, 743, 745, 756, 757, 759,1040 7 63, 765, 769, 770, 775, 776, 780, 785, 786, 790,1041 79 2, 798, 799, 803, 805, 807, 809, 815, 816, 820,1042 82 2, 827, 829, 831, 836, 838, 843, 845, 849, 852,1043 85 6, 859, 863, 865, 867, 869, 874, 876, 878, 883,1044 8 85, 887, 889, 891, 896, 898, 900, 902, 907, 919,1045 9 20, 925, 927, 932, 936, 938, 940, 942, 944, 950,1046 95 1, 957, 958, 962, 963, 968, 970, 976, 977, 979,1047 98 4, 989, 999, 1001, 1005, 1006, 1011, 1013, 1017, 1018,1048 102 2, 1024, 1028, 1029, 1033, 1034, 1038, 1039, 1054, 1055,1049 1056, 1057, 10 58, 1062, 1067, 1074, 1084, 1089, 1094, 1102,1050 1 107, 1112, 1117, 1122, 1130, 1152, 1157, 1164, 1166, 1173,1051 117 8, 1183, 1194, 1199, 1204, 1209, 1214, 1223, 1228, 1236,1052 123 7, 1238, 1239, 1245, 1250, 1258, 1259, 1260, 1261, 1265,1053 12 66, 1267, 1268, 1273, 1274, 1283, 1284, 1289, 1290, 1295,1054 1 297, 1299, 1301, 1303, 1306, 1305, 1317, 1318, 1320, 1330,1055 13 31, 1336, 1338, 1340, 1342, 1344, 1347, 1349, 1352, 1357,1056 13 59, 1361, 1363, 1365, 1367, 1369, 1371, 1373, 1375, 1377,1057 13 79, 1381, 1387, 1388, 1390, 1392, 1394, 1399, 1400, 1406,1058 14 07, 1409, 1411, 1416, 1418, 1420, 1422, 1427, 1428, 1430,1059 14 32, 1437, 1438, 1440, 1445, 1446, 1448, 1450, 1455, 1457,1060 14 59, 1464, 1465, 1469, 1471, 1477, 1476, 1480, 1482, 1487,1061 1 489, 1495, 1496, 1501, 1502, 1504, 1505, 1514, 1515, 1517,1062 15 19, 1524, 1526, 1532, 1533, 1535, 1538, 1541, 1546, 1547,1063 155 2, 1557, 1561, 1563, 1569, 1568, 1575, 1577, 1583, 1584,1064 159 2, 1593, 1597, 1598, 1599, 1601, 1603, 1610, 1611, 1613,1065 16 15, 1620, 1621, 1627, 1628, 1632, 1633, 1638, 1639, 1640,1066 16 42, 1650, 1651, 1653, 1656, 1658, 1662, 1663, 1664, 1666,1067 16 68, 1672, 1677, 1685, 1686, 1695, 1697, 1702, 1703, 1704,1068 17 08, 1709, 1710, 1714, 1715, 1716, 1720, 1721, 1722, 1727,1069 17 28, 1729, 1730, 1736, 1737, 1739, 1744, 1745, 1750, 1751,1070 17 52, 1753, 1754, 1769, 1770, 1775, 1776, 1782, 1784, 1787,1071 17 89, 1791, 1814, 1815, 1817, 1819, 1824, 1825, 1827, 1832,1072 18 37, 1838, 1844, 1843, 1847, 1851, 1853, 1855, 1861, 1862,1073 18 67, 1872, 1874, 1879, 1881, 1882, 1884, 1889, 1891, 1893,1074 1 898, 1900, 1905, 1910, 1918, 1924, 1923, 1937, 1938, 1943,1075 194 4, 1948, 1953, 1958, 1966, 1971, 1982, 1983, 1988, 1989,1076 199 5, 1996, 2000, 2001, 2002, 2005, 2004, 2015, 2024, 2030,1077 20 36, 2045, 2051, 2057, 2063, 2069, 2077, 2083, 2091, 2097,1078 2 106, 2107, 2108, 2112, 2116, 2118, 2123, 2124, 2128, 2129,1079 21 34, 2140, 2141, 2144, 2146, 2147, 2151, 2152, 2153, 2154,1080 21 88, 2190, 2191, 2193, 2198, 2203, 2208, 2210, 2212, 2217,1081 22 19, 2221, 2223, 2228, 2230, 2239, 2241, 2242, 2247, 2249,1082 22 51, 2256, 2258, 2260, 2265, 2267, 2269, 2278, 2279, 2280,1083 22 84, 2286, 2288, 2293, 2295, 2297, 2302, 2304, 2306, 2321,1084 232 3, 2324, 2326, 2331, 2332, 2337, 2339, 2341, 2346, 2348,1085 23 50, 2352, 2357, 2359, 2361, 2371, 2373, 2374, 2376, 2381,1086 23 83, 2385, 2390, 2392, 2394, 2396, 2401, 2403, 2405, 2436,1087 24 38, 2439, 2441, 2446, 2451, 2459, 2461, 2463, 2468, 2470,1088 24 75, 2477, 2491, 2492, 2494, 2499, 2501, 2503, 2505, 2507,1089 25 12, 2513, 2515, 2517, 2522, 2524, 2526, 2532, 2534, 2536,1090 254 0, 2542, 2544, 2546, 2560, 2561, 2563, 2568, 2570, 2572,1091 25 74, 2576, 2581, 2582, 2584, 2586, 2591, 2593, 2595, 2601,1092 260 2, 2604, 2613, 2616, 2618, 2621, 2623, 2625, 2638, 2639,1093 264 1, 2646, 2648, 2650, 2652, 2654, 2659, 2660, 2662, 2664,1094 26 69, 2671, 2679, 2680, 2681, 2686, 2687, 2691, 2693, 2695,1095 2 697, 2699, 2701, 2708, 2710, 2712, 2714, 2716, 2718, 2720,1096 27 22, 2724, 2726, 2731, 2733, 2735, 2740, 2766, 2767, 2769,1097 27 73, 2774, 2778, 2780, 2782, 2784, 2786, 2788, 2795, 2797,1098 2 799, 2801, 2803, 2805, 2810, 2815, 2817, 2819, 2837, 2839,1099 284 4, 28451028 0, 306, 306, 310, 317, 318, 319, 320, 321, 325, 1029 326, 327, 331, 332, 336, 337, 341, 342, 346, 350, 1030 351, 362, 364, 366, 367, 369, 374, 375, 381, 383, 1031 385, 386, 387, 389, 390, 392, 394, 396, 405, 406, 1032 412, 413, 417, 418, 422, 424, 426, 428, 430, 432, 1033 434, 439, 441, 443, 447, 449, 453, 456, 458, 460, 1034 465, 478, 480, 482, 484, 486, 488, 490, 492, 494, 1035 496, 498, 505, 506, 512, 513, 514, 515, 519, 520, 1036 527, 528, 530, 532, 537, 538, 540, 545, 546, 548, 1037 553, 554, 556, 558, 560, 565, 566, 568, 573, 574, 1038 579, 580, 585, 586, 591, 592, 597, 598, 603, 604, 1039 607, 614, 619, 620, 628, 629, 633, 634, 635, 636, 1040 637, 638, 639, 640, 641, 642, 643, 644, 654, 656, 1041 661, 662, 667, 668, 674, 675, 681, 682, 683, 684, 1042 685, 686, 687, 688, 689, 699, 706, 708, 718, 719, 1043 724, 726, 732, 734, 738, 739, 744, 749, 752, 754, 1044 756, 766, 768, 779, 780, 782, 786, 788, 792, 793, 1045 798, 799, 803, 808, 809, 813, 815, 821, 822, 826, 1046 828, 830, 832, 838, 839, 843, 845, 850, 852, 854, 1047 859, 861, 866, 868, 872, 875, 879, 882, 886, 888, 1048 890, 892, 897, 899, 901, 906, 908, 910, 912, 914, 1049 919, 921, 923, 925, 930, 942, 943, 948, 950, 955, 1050 959, 961, 963, 965, 967, 973, 974, 980, 981, 985, 1051 986, 991, 993, 999, 1000, 1002, 1007, 1012, 1022, 1024, 1052 1028, 1029, 1034, 1036, 1040, 1041, 1045, 1047, 1051, 1052, 1053 1056, 1057, 1061, 1062, 1077, 1078, 1079, 1080, 1081, 1085, 1054 1090, 1097, 1107, 1112, 1117, 1125, 1130, 1135, 1140, 1145, 1055 1175, 1180, 1187, 1189, 1196, 1201, 1206, 1217, 1222, 1227, 1056 1232, 1237, 1246, 1251, 1259, 1260, 1261, 1262, 1268, 1273, 1057 1281, 1282, 1283, 1284, 1288, 1289, 1290, 1291, 1296, 1297, 1058 1306, 1307, 1312, 1313, 1318, 1320, 1322, 1324, 1326, 1329, 1059 1328, 1340, 1341, 1343, 1353, 1354, 1359, 1361, 1363, 1365, 1060 1367, 1370, 1372, 1375, 1380, 1382, 1384, 1386, 1388, 1390, 1061 1392, 1394, 1396, 1398, 1400, 1402, 1404, 1410, 1411, 1413, 1062 1415, 1417, 1422, 1423, 1429, 1430, 1432, 1434, 1439, 1441, 1063 1443, 1445, 1450, 1451, 1453, 1455, 1460, 1461, 1463, 1468, 1064 1469, 1471, 1473, 1478, 1480, 1482, 1487, 1488, 1492, 1494, 1065 1500, 1499, 1503, 1505, 1510, 1512, 1518, 1519, 1524, 1525, 1066 1527, 1528, 1537, 1538, 1540, 1542, 1547, 1549, 1555, 1556, 1067 1558, 1561, 1564, 1569, 1570, 1575, 1580, 1584, 1586, 1592, 1068 1591, 1598, 1600, 1606, 1607, 1615, 1616, 1620, 1621, 1622, 1069 1624, 1626, 1633, 1634, 1636, 1638, 1643, 1644, 1650, 1651, 1070 1655, 1656, 1661, 1662, 1663, 1665, 1673, 1674, 1676, 1679, 1071 1681, 1685, 1686, 1687, 1689, 1691, 1695, 1700, 1708, 1709, 1072 1718, 1720, 1725, 1726, 1727, 1731, 1732, 1733, 1737, 1738, 1073 1739, 1743, 1744, 1745, 1750, 1751, 1752, 1753, 1759, 1760, 1074 1762, 1767, 1768, 1773, 1774, 1775, 1776, 1777, 1792, 1793, 1075 1798, 1799, 1805, 1807, 1810, 1812, 1814, 1837, 1838, 1840, 1076 1842, 1847, 1848, 1850, 1855, 1860, 1861, 1867, 1866, 1870, 1077 1874, 1876, 1878, 1884, 1885, 1890, 1895, 1897, 1902, 1904, 1078 1905, 1907, 1912, 1914, 1916, 1921, 1923, 1928, 1933, 1941, 1079 1947, 1946, 1960, 1961, 1966, 1967, 1971, 1976, 1981, 1989, 1080 1994, 2005, 2006, 2011, 2012, 2018, 2019, 2023, 2024, 2025, 1081 2028, 2027, 2038, 2047, 2053, 2059, 2068, 2074, 2080, 2086, 1082 2092, 2100, 2106, 2114, 2120, 2129, 2130, 2131, 2135, 2139, 1083 2141, 2146, 2147, 2151, 2152, 2157, 2163, 2164, 2167, 2169, 1084 2170, 2174, 2175, 2176, 2177, 2211, 2213, 2214, 2216, 2221, 1085 2226, 2231, 2233, 2235, 2240, 2242, 2244, 2246, 2251, 2253, 1086 2262, 2264, 2265, 2270, 2272, 2274, 2279, 2281, 2283, 2288, 1087 2290, 2292, 2301, 2302, 2303, 2307, 2309, 2311, 2316, 2318, 1088 2320, 2325, 2327, 2329, 2344, 2346, 2347, 2349, 2354, 2355, 1089 2360, 2362, 2364, 2369, 2371, 2373, 2375, 2380, 2382, 2384, 1090 2394, 2396, 2397, 2399, 2404, 2406, 2408, 2413, 2415, 2417, 1091 2419, 2424, 2426, 2428, 2459, 2461, 2462, 2464, 2469, 2474, 1092 2482, 2484, 2486, 2491, 2493, 2498, 2500, 2514, 2515, 2517, 1093 2522, 2524, 2526, 2528, 2530, 2535, 2536, 2538, 2540, 2545, 1094 2547, 2549, 2555, 2557, 2559, 2563, 2565, 2567, 2569, 2583, 1095 2584, 2586, 2591, 2593, 2595, 2597, 2599, 2604, 2605, 2607, 1096 2609, 2614, 2616, 2618, 2624, 2625, 2627, 2636, 2639, 2641, 1097 2644, 2646, 2648, 2661, 2662, 2664, 2669, 2671, 2673, 2675, 1098 2677, 2682, 2683, 2685, 2687, 2692, 2694, 2702, 2703, 2704, 1099 2709, 2710, 2714, 2716, 2718, 2720, 2722, 2724, 2731, 2733, 1100 2735, 2737, 2739, 2742, 2744, 2746, 2748, 2750, 2755, 2757, 1101 2759, 2764, 2790, 2791, 2793, 2797, 2798, 2802, 2804, 2806, 1102 2808, 2810, 2812, 2819, 2821, 2823, 2825, 2827, 2829, 2834, 1103 2841, 2843, 2861, 2863, 2868, 2869 1100 1104 }; 1101 1105 #endif … … 1118 1122 "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname", 1119 1123 "TYPEGENname", "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname", 1120 "INTEGERconstant", "FLOATINGconstant", "CHARACTERconstant", 1121 "STRINGliteral", "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE", 1122 "GE", "EQ", "NE", "ANDAND", "OROR", "ELLIPSIS", "MULTassign", 1123 "DIVassign", "MODassign", "PLUSassign", "MINUSassign", "LSassign", 1124 "RSassign", "ANDassign", "ERassign", "ORassign", "ATassign", "THEN", 1125 "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "'*'", "'&'", 1126 "'+'", "'-'", "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'", 1127 "'?'", "':'", "'='", "';'", "$accept", "push", "pop", "constant", 1128 "identifier", "no_01_identifier", "no_attr_identifier", "zero_one", 1129 "string_literal", "string_literal_list", "primary_expression", 1130 "postfix_expression", "argument_expression_list", "argument_expression", 1131 "field_list", "field", "unary_expression", "ptrref_operator", 1132 "unary_operator", "cast_expression", "multiplicative_expression", 1133 "additive_expression", "shift_expression", "relational_expression", 1134 "equality_expression", "AND_expression", "exclusive_OR_expression", 1135 "inclusive_OR_expression", "logical_AND_expression", 1136 "logical_OR_expression", "conditional_expression", "constant_expression", 1137 "assignment_expression", "assignment_expression_opt", 1138 "assignment_operator", "tuple", "tuple_expression_list", 1139 "comma_expression", "comma_expression_opt", "statement", 1140 "labeled_statement", "compound_statement", "block_item_list", 1141 "block_item", "statement_list", "expression_statement", 1142 "selection_statement", "case_value", "case_value_list", "case_label", 1143 "case_label_list", "case_clause", "switch_clause_list_opt", 1144 "switch_clause_list", "choose_clause_list_opt", "choose_clause_list", 1145 "fall_through_opt", "fall_through", "iteration_statement", 1146 "for_control_expression", "jump_statement", "exception_statement", 1147 "handler_list", "handler_clause", "finally_clause", 1148 "exception_declaration", "asm_statement", "asm_volatile_opt", 1149 "asm_operands_opt", "asm_operands_list", "asm_operand", 1150 "asm_clobbers_list_opt", "label_list", "declaration_list_opt", 1151 "declaration_list", "old_declaration_list_opt", "old_declaration_list", 1152 "local_label_declaration_opt", "local_label_declaration_list", 1153 "local_label_list", "declaration", "new_declaration", 1154 "new_variable_declaration", "new_variable_specifier", 1124 "INTEGERconstant", "CHARACTERconstant", "STRINGliteral", 1125 "REALDECIMALconstant", "REALFRACTIONconstant", "FLOATINGconstant", 1126 "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE", "GE", "EQ", 1127 "NE", "ANDAND", "OROR", "ELLIPSIS", "MULTassign", "DIVassign", 1128 "MODassign", "PLUSassign", "MINUSassign", "LSassign", "RSassign", 1129 "ANDassign", "ERassign", "ORassign", "ATassign", "THEN", "'('", "')'", 1130 "'['", "']'", "'.'", "'{'", "'}'", "','", "'*'", "'&'", "'+'", "'-'", 1131 "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'", "'?'", "':'", 1132 "'='", "';'", "$accept", "push", "pop", "constant", "identifier", 1133 "no_01_identifier", "no_attr_identifier", "zero_one", "string_literal", 1134 "string_literal_list", "primary_expression", "postfix_expression", 1135 "argument_expression_list", "argument_expression", "field_list", "field", 1136 "field_name", "fraction_constants", "unary_expression", 1137 "ptrref_operator", "unary_operator", "cast_expression", 1138 "multiplicative_expression", "additive_expression", "shift_expression", 1139 "relational_expression", "equality_expression", "AND_expression", 1140 "exclusive_OR_expression", "inclusive_OR_expression", 1141 "logical_AND_expression", "logical_OR_expression", 1142 "conditional_expression", "constant_expression", "assignment_expression", 1143 "assignment_expression_opt", "assignment_operator", "tuple", 1144 "tuple_expression_list", "comma_expression", "comma_expression_opt", 1145 "statement", "labeled_statement", "compound_statement", 1146 "block_item_list", "block_item", "statement_list", 1147 "expression_statement", "selection_statement", "case_value", 1148 "case_value_list", "case_label", "case_label_list", "case_clause", 1149 "switch_clause_list_opt", "switch_clause_list", "choose_clause_list_opt", 1150 "choose_clause_list", "fall_through_opt", "fall_through", 1151 "iteration_statement", "for_control_expression", "jump_statement", 1152 "exception_statement", "handler_list", "handler_clause", 1153 "finally_clause", "exception_declaration", "asm_statement", 1154 "asm_volatile_opt", "asm_operands_opt", "asm_operands_list", 1155 "asm_operand", "asm_clobbers_list_opt", "label_list", 1156 "declaration_list_opt", "declaration_list", "old_declaration_list_opt", 1157 "old_declaration_list", "local_label_declaration_opt", 1158 "local_label_declaration_list", "local_label_list", "declaration", 1159 "new_declaration", "new_variable_declaration", "new_variable_specifier", 1155 1160 "new_function_declaration", "new_function_specifier", 1156 1161 "new_function_return", "new_typedef_declaration", "typedef_declaration", … … 1229 1234 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 1230 1235 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 1231 355, 356, 357, 358, 359, 360, 361, 362, 363, 40,1232 41, 91, 93, 46, 123, 125, 44, 42, 38, 43,1233 45, 33, 126, 47, 37, 60, 62, 94, 124, 63,1234 58, 61, 591236 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 1237 365, 40, 41, 91, 93, 46, 123, 125, 44, 42, 1238 38, 43, 45, 33, 126, 47, 37, 60, 62, 94, 1239 124, 63, 58, 61, 59 1235 1240 }; 1236 1241 # endif … … 1239 1244 static const yytype_uint16 yyr1[] = 1240 1245 { 1241 0, 13 3, 134, 135, 136, 136, 136, 137, 137, 137,1242 13 8, 138, 139, 139, 140, 140, 141, 142, 142, 143,1243 14 3, 143, 143, 144, 144, 144, 144, 144, 144, 144,1244 14 4, 144, 144, 144, 145, 145, 146, 146, 147, 147,1245 148, 148, 14 8, 148, 148, 149, 149, 149, 149, 149,1246 1 49, 149, 149, 149, 149, 149, 149, 149, 149, 149,1247 1 49, 150, 150, 151, 151, 151, 151, 152, 152, 152,1248 153, 153, 15 3, 153, 154, 154, 154, 155, 155, 155,1249 15 6, 156, 156, 156, 156, 157, 157, 157, 158, 158,1250 1 59, 159, 160, 160, 161, 161, 162, 162, 163, 163,1251 163, 163, 164, 16 5, 165, 165, 166, 166, 167, 167,1252 167, 16 7, 167, 167, 167, 167, 167, 167, 167, 167,1253 1 68, 168, 168, 168, 169, 169, 170, 170, 171, 171,1254 17 2, 172, 172, 172, 172, 172, 172, 172, 172, 173,1255 17 4, 174, 175, 175, 176, 176, 176, 176, 177, 177,1256 1 78, 179, 179, 179, 179, 179, 179, 180, 180, 180,1257 18 1, 181, 182, 182, 183, 183, 184, 185, 185, 186,1258 18 6, 187, 187, 188, 188, 188, 188, 189, 189, 190,1259 19 0, 191, 191, 191, 192, 192, 193, 193, 193, 193,1260 19 3, 193, 193, 193, 193, 193, 194, 194, 194, 195,1261 19 5, 195, 195, 195, 196, 196, 196, 196, 197, 198,1262 198, 198, 198, 198, 199, 199, 199, 199, 199, 200,1263 20 0, 201, 201, 202, 202, 203, 203, 204, 204, 204,1264 20 5, 205, 206, 206, 207, 207, 208, 208, 209, 209,1265 21 0, 210, 211, 211, 212, 212, 213, 213, 214, 214,1266 21 4, 214, 214, 215, 215, 215, 216, 216, 216, 217,1267 21 7, 217, 217, 217, 218, 218, 218, 219, 219, 220,1268 22 0, 220, 221, 221, 221, 221, 221, 222, 222, 223,1269 22 3, 223, 223, 224, 224, 225, 225, 225, 225, 226,1270 22 6, 226, 226, 227, 227, 228, 228, 229, 229, 230,1271 23 0, 230, 230, 230, 231, 230, 232, 232, 232, 233,1272 23 3, 234, 234, 234, 234, 234, 234, 234, 234, 235,1273 23 5, 235, 235, 235, 235, 235, 235, 235, 235, 235,1274 23 5, 235, 236, 236, 236, 236, 236, 237, 237, 238,1275 2 38, 238, 238, 239, 239, 239, 239, 240, 240, 240,1276 24 0, 241, 241, 241, 242, 242, 242, 242, 243, 243,1277 24 3, 244, 244, 245, 245, 246, 245, 245, 245, 247,1278 2 47, 248, 248, 249, 249, 249, 249, 250, 250, 250,1279 25 0, 251, 251, 252, 252, 252, 252, 252, 253, 253,1280 25 4, 255, 256, 256, 257, 256, 258, 258, 259, 259,1281 260, 26 0, 261, 261, 261, 261, 261, 262, 262, 262,1282 26 2, 263, 263, 264, 264, 265, 265, 266, 266, 266,1283 26 6, 267, 267, 267, 267, 267, 268, 268, 268, 268,1284 2 68, 269, 269, 270, 270, 271, 271, 272, 272, 272,1285 27 3, 273, 273, 274, 274, 274, 275, 275, 275, 276,1286 27 6, 276, 276, 277, 277, 277, 278, 278, 279, 279,1287 2 79, 279, 279, 280, 280, 281, 281, 282, 282, 282,1288 28 2, 282, 283, 283, 283, 283, 284, 284, 284, 285,1289 28 6, 286, 288, 287, 287, 289, 289, 289, 290, 290,1290 29 1, 291, 291, 292, 292, 292, 292, 293, 293, 293,1291 29 4, 294, 295, 295, 296, 297, 296, 298, 298, 299,1292 299, 300, 300, 300, 301, 301, 302, 302, 303, 303,1293 30 4, 304, 305, 305, 305, 306, 305, 305, 307, 307,1294 3 07, 308, 308, 308, 308, 308, 308, 308, 308, 308,1295 3 09, 309, 309, 310, 311, 311, 312, 312, 313, 313,1296 31 4, 315, 315, 316, 316, 316, 317, 317, 317, 317,1297 3 18, 318, 318, 318, 319, 319, 320, 320, 320, 321,1298 32 1, 321, 321, 322, 322, 323, 323, 323, 324, 324,1299 32 4, 325, 325, 325, 326, 326, 326, 327, 327, 327,1300 3 28, 328, 328, 329, 329, 329, 330, 330, 330, 331,1301 33 1, 331, 331, 332, 332, 333, 333, 333, 334, 334,1302 33 4, 334, 335, 335, 335, 336, 336, 336, 336, 337,1303 3 37, 337, 338, 338, 338, 338, 339, 339, 339, 340,1304 34 0, 340, 340, 341, 341, 342, 342, 342, 343, 343,1305 34 4, 344, 345, 345, 345, 346, 346, 346, 346, 346,1306 3 47, 347, 347, 347, 348, 348, 348, 349, 349, 349,1307 35 0, 350, 350, 350, 351, 351, 351, 352, 352, 352,1308 35 2, 352, 353, 353, 353, 353, 354, 354, 354, 355,1309 35 5, 355, 356, 356, 356, 356, 356, 356, 357, 357,1310 3 57, 358, 358, 358, 358, 358, 359, 359, 359, 359,1311 36 0, 360, 361, 361, 361, 362, 362, 363, 363, 363,1312 36 3, 363, 363, 364, 364, 364, 364, 364, 364, 364,1313 36 4, 364, 364, 365, 365, 365, 365, 366, 366, 366,1314 36 7, 367, 368, 368, 368, 368, 368, 368, 369, 369,1315 3 69, 369, 369, 369, 370, 371, 371, 371, 372, 372,1316 37 3, 3731246 0, 135, 136, 137, 138, 138, 138, 138, 138, 139, 1247 139, 139, 140, 140, 141, 141, 142, 142, 143, 144, 1248 144, 145, 145, 145, 145, 145, 146, 146, 146, 146, 1249 146, 146, 146, 146, 146, 146, 146, 146, 147, 147, 1250 148, 148, 149, 149, 150, 150, 150, 150, 150, 150, 1251 150, 151, 151, 151, 152, 152, 153, 153, 153, 153, 1252 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 1253 153, 153, 154, 154, 155, 155, 155, 155, 156, 156, 1254 157, 157, 157, 157, 158, 158, 158, 159, 159, 159, 1255 160, 160, 160, 160, 160, 161, 161, 161, 162, 162, 1256 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 1257 167, 168, 169, 169, 170, 170, 171, 171, 171, 171, 1258 171, 171, 171, 171, 171, 171, 171, 171, 172, 172, 1259 173, 173, 174, 174, 175, 175, 176, 176, 176, 176, 1260 176, 176, 176, 176, 176, 177, 178, 178, 179, 179, 1261 180, 180, 180, 180, 181, 181, 182, 183, 183, 183, 1262 183, 183, 183, 184, 184, 184, 185, 185, 186, 186, 1263 187, 187, 188, 189, 189, 190, 190, 191, 191, 192, 1264 192, 192, 192, 193, 193, 194, 194, 195, 195, 195, 1265 196, 196, 197, 197, 197, 197, 197, 197, 197, 197, 1266 197, 197, 198, 198, 198, 199, 199, 199, 199, 199, 1267 200, 200, 200, 200, 201, 202, 202, 202, 202, 202, 1268 203, 203, 203, 203, 203, 204, 204, 205, 205, 206, 1269 206, 207, 207, 208, 208, 208, 209, 209, 210, 210, 1270 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, 1271 216, 216, 217, 217, 218, 218, 218, 218, 218, 219, 1272 219, 219, 220, 220, 220, 221, 221, 221, 221, 221, 1273 222, 222, 223, 223, 224, 224, 224, 225, 225, 225, 1274 225, 225, 226, 226, 227, 227, 227, 227, 228, 228, 1275 229, 229, 229, 229, 230, 230, 230, 230, 231, 231, 1276 232, 232, 233, 233, 234, 234, 234, 234, 234, 235, 1277 234, 236, 236, 236, 237, 237, 238, 238, 238, 238, 1278 238, 238, 238, 238, 239, 239, 239, 239, 239, 239, 1279 239, 239, 239, 239, 239, 239, 239, 240, 240, 240, 1280 240, 240, 241, 241, 242, 242, 242, 242, 243, 243, 1281 243, 243, 244, 244, 244, 244, 245, 245, 245, 246, 1282 246, 246, 246, 247, 247, 247, 248, 248, 249, 249, 1283 250, 249, 249, 249, 251, 251, 252, 252, 253, 253, 1284 253, 253, 254, 254, 254, 254, 255, 255, 256, 256, 1285 256, 256, 256, 257, 257, 258, 259, 260, 260, 261, 1286 260, 262, 262, 263, 263, 264, 264, 265, 265, 265, 1287 265, 265, 266, 266, 266, 266, 267, 267, 268, 268, 1288 269, 269, 270, 270, 270, 270, 271, 271, 271, 271, 1289 271, 272, 272, 272, 272, 272, 273, 273, 274, 274, 1290 275, 275, 276, 276, 276, 277, 277, 277, 278, 278, 1291 278, 279, 279, 279, 280, 280, 280, 280, 281, 281, 1292 281, 282, 282, 283, 283, 283, 283, 283, 284, 284, 1293 285, 285, 286, 286, 286, 286, 286, 287, 287, 287, 1294 287, 288, 288, 288, 289, 290, 290, 292, 291, 291, 1295 293, 293, 293, 294, 294, 295, 295, 295, 296, 296, 1296 296, 296, 297, 297, 297, 298, 298, 299, 299, 300, 1297 301, 300, 302, 302, 303, 303, 304, 304, 304, 305, 1298 305, 306, 306, 307, 307, 308, 308, 309, 309, 309, 1299 310, 309, 309, 311, 311, 311, 312, 312, 312, 312, 1300 312, 312, 312, 312, 312, 313, 313, 313, 314, 315, 1301 315, 316, 316, 317, 317, 318, 319, 319, 320, 320, 1302 320, 321, 321, 321, 321, 322, 322, 322, 322, 323, 1303 323, 324, 324, 324, 325, 325, 325, 325, 326, 326, 1304 327, 327, 327, 328, 328, 328, 329, 329, 329, 330, 1305 330, 330, 331, 331, 331, 332, 332, 332, 333, 333, 1306 333, 334, 334, 334, 335, 335, 335, 335, 336, 336, 1307 337, 337, 337, 338, 338, 338, 338, 339, 339, 339, 1308 340, 340, 340, 340, 341, 341, 341, 342, 342, 342, 1309 342, 343, 343, 343, 344, 344, 344, 344, 345, 345, 1310 346, 346, 346, 347, 347, 348, 348, 349, 349, 349, 1311 350, 350, 350, 350, 350, 351, 351, 351, 351, 352, 1312 352, 352, 353, 353, 353, 354, 354, 354, 354, 355, 1313 355, 355, 356, 356, 356, 356, 356, 357, 357, 357, 1314 357, 358, 358, 358, 359, 359, 359, 360, 360, 360, 1315 360, 360, 360, 361, 361, 361, 362, 362, 362, 362, 1316 362, 363, 363, 363, 363, 364, 364, 365, 365, 365, 1317 366, 366, 367, 367, 367, 367, 367, 367, 368, 368, 1318 368, 368, 368, 368, 368, 368, 368, 368, 369, 369, 1319 369, 369, 370, 370, 370, 371, 371, 372, 372, 372, 1320 372, 372, 372, 373, 373, 373, 373, 373, 373, 374, 1321 375, 375, 376, 376, 377, 377 1317 1322 }; 1318 1323 … … 1321 1326 { 1322 1327 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1323 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1324 1, 3, 3, 1, 6, 4, 3, 7, 3, 7, 1325 2, 2, 7, 4, 1, 3, 0, 1, 1, 3, 1326 1, 3, 7, 3, 7, 1, 1, 1, 2, 2, 1327 2, 2, 2, 2, 4, 2, 4, 6, 1, 4, 1328 4, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1329 2, 1, 1, 1, 3, 3, 1, 6, 4, 3, 1330 7, 2, 3, 7, 2, 2, 7, 4, 1, 3, 1331 0, 1, 1, 3, 1, 2, 6, 3, 7, 3, 1332 7, 2, 2, 2, 0, 2, 1, 1, 1, 2, 1333 2, 2, 2, 2, 2, 4, 2, 4, 6, 1, 1334 4, 4, 1, 1, 1, 1, 1, 1, 1, 4, 1329 1335 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1330 1336 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1331 1337 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1332 4, 5, 1, 1, 3, 2, 0, 1, 1, 1, 1338 4, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1339 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 1340 1, 3, 1, 3, 0, 1, 1, 1, 1, 1, 1341 1, 1, 1, 1, 6, 4, 2, 7, 1, 3, 1342 1, 2, 1, 2, 1, 2, 2, 5, 7, 5, 1343 9, 5, 9, 1, 3, 1, 1, 3, 3, 2, 1344 1, 2, 2, 0, 1, 2, 3, 0, 1, 2, 1345 3, 3, 4, 0, 1, 1, 2, 5, 7, 6, 1346 6, 4, 3, 4, 2, 3, 2, 3, 3, 3, 1347 3, 5, 3, 3, 4, 1, 5, 6, 5, 6, 1348 9, 10, 9, 10, 2, 1, 2, 2, 2, 1, 1349 6, 8, 10, 12, 14, 0, 1, 0, 1, 1, 1350 3, 4, 7, 0, 1, 3, 1, 3, 1, 1, 1351 1, 3, 1, 1, 1, 3, 0, 1, 3, 4, 1352 1, 3, 1, 1, 3, 3, 3, 3, 3, 2, 1353 3, 6, 3, 3, 4, 1, 2, 2, 3, 5, 1354 7, 7, 5, 9, 2, 2, 5, 3, 5, 4, 1355 3, 4, 4, 7, 3, 3, 3, 3, 4, 6, 1356 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1357 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1358 5, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1333 1359 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1334 2, 5, 6, 7, 1, 3, 1, 3, 0, 1, 1335 1, 1, 1, 1, 1, 1, 1, 1, 6, 4, 1336 2, 7, 1, 3, 1, 2, 1, 2, 1, 2, 1337 2, 5, 7, 5, 9, 5, 9, 1, 3, 1, 1338 1, 3, 3, 2, 1, 2, 2, 0, 1, 2, 1339 3, 0, 1, 2, 3, 3, 4, 0, 1, 1, 1340 2, 5, 7, 6, 6, 4, 3, 4, 2, 3, 1341 2, 3, 3, 3, 3, 5, 3, 3, 4, 1, 1342 5, 6, 5, 6, 9, 10, 9, 10, 2, 1, 1343 2, 2, 2, 1, 6, 8, 10, 12, 14, 0, 1344 1, 0, 1, 1, 3, 4, 7, 0, 1, 3, 1345 1, 3, 1, 1, 1, 3, 1, 1, 1, 3, 1346 0, 1, 3, 4, 1, 3, 1, 1, 3, 3, 1347 3, 3, 3, 2, 3, 6, 3, 3, 4, 1, 1348 2, 2, 3, 5, 8, 7, 7, 5, 9, 2, 1349 2, 5, 3, 5, 4, 3, 4, 4, 7, 3, 1350 3, 3, 3, 4, 6, 1, 1, 1, 1, 1, 1351 1, 1, 1, 0, 1, 1, 2, 1, 1, 1, 1352 1, 1, 1, 1, 0, 5, 1, 2, 3, 1, 1353 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1354 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1355 1, 1, 1, 2, 2, 3, 3, 1, 3, 1, 1356 2, 2, 2, 4, 4, 4, 4, 1, 2, 2, 1357 3, 1, 2, 2, 1, 2, 2, 3, 1, 2, 1358 2, 1, 1, 4, 2, 0, 6, 7, 2, 2, 1359 2, 0, 2, 2, 3, 2, 3, 1, 2, 3, 1360 2, 2, 4, 0, 1, 2, 2, 1, 0, 1, 1361 2, 2, 5, 2, 0, 7, 2, 4, 0, 2, 1362 0, 1, 1, 1, 5, 5, 5, 1, 5, 5, 1363 9, 1, 5, 0, 1, 1, 5, 1, 1, 5, 1364 5, 1, 3, 3, 4, 1, 1, 1, 1, 2, 1365 1, 3, 3, 1, 2, 1, 3, 1, 1, 1, 1366 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1367 1, 1, 2, 0, 2, 2, 1, 4, 0, 1, 1368 2, 3, 4, 2, 2, 1, 2, 2, 5, 5, 1369 7, 6, 1, 2, 2, 3, 1, 2, 2, 4, 1370 2, 4, 0, 4, 2, 1, 1, 1, 0, 2, 1371 5, 5, 13, 1, 1, 3, 3, 2, 3, 3, 1372 2, 4, 1, 6, 9, 0, 11, 1, 3, 3, 1373 3, 1, 1, 5, 2, 5, 0, 1, 1, 3, 1374 0, 1, 1, 1, 1, 0, 6, 2, 1, 2, 1375 4, 2, 3, 3, 3, 4, 5, 5, 5, 6, 1376 1, 1, 1, 3, 0, 5, 0, 1, 1, 2, 1377 6, 1, 3, 0, 1, 4, 1, 1, 1, 1, 1378 2, 1, 2, 2, 1, 3, 2, 3, 3, 2, 1379 4, 4, 3, 8, 3, 2, 1, 2, 6, 8, 1380 3, 2, 3, 3, 4, 4, 3, 1, 1, 1, 1381 4, 6, 3, 2, 3, 3, 4, 4, 3, 2, 1382 1, 2, 2, 1, 3, 2, 3, 3, 2, 4, 1383 4, 3, 6, 8, 3, 2, 1, 2, 2, 2, 1384 3, 3, 2, 4, 4, 3, 6, 8, 3, 2, 1385 1, 2, 2, 1, 1, 2, 3, 3, 2, 4, 1386 6, 8, 1, 2, 2, 1, 2, 2, 3, 3, 1387 1, 4, 4, 3, 5, 8, 3, 2, 3, 1, 1388 5, 5, 6, 6, 1, 2, 2, 1, 2, 2, 1389 3, 3, 1, 4, 4, 3, 5, 8, 3, 1, 1390 2, 1, 2, 6, 5, 6, 7, 7, 1, 2, 1391 2, 1, 2, 2, 3, 3, 1, 4, 4, 3, 1392 8, 3, 1, 1, 2, 1, 1, 2, 3, 2, 1393 3, 2, 3, 3, 2, 4, 3, 2, 3, 2, 1394 4, 3, 2, 6, 6, 6, 7, 1, 2, 1, 1395 1, 1, 2, 3, 2, 3, 2, 3, 3, 4, 1396 2, 3, 4, 2, 5, 5, 6, 6, 0, 1, 1397 0, 2 1360 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1361 3, 3, 1, 3, 1, 2, 2, 2, 4, 4, 1362 4, 4, 1, 2, 2, 3, 1, 2, 2, 1, 1363 2, 2, 3, 1, 2, 2, 1, 1, 4, 2, 1364 0, 6, 7, 2, 2, 2, 0, 2, 2, 3, 1365 2, 3, 1, 2, 3, 2, 2, 4, 0, 1, 1366 2, 2, 1, 0, 1, 2, 2, 5, 2, 0, 1367 7, 2, 4, 0, 2, 0, 1, 1, 1, 5, 1368 5, 5, 1, 5, 5, 9, 1, 5, 0, 1, 1369 1, 5, 1, 1, 5, 5, 1, 3, 3, 4, 1370 1, 1, 1, 1, 2, 1, 3, 3, 1, 2, 1371 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1372 1, 1, 1, 2, 1, 1, 1, 2, 0, 2, 1373 2, 1, 4, 0, 1, 2, 3, 4, 2, 2, 1374 1, 2, 2, 5, 5, 7, 6, 1, 2, 2, 1375 3, 1, 2, 2, 4, 2, 4, 0, 4, 2, 1376 1, 1, 1, 0, 2, 5, 5, 13, 1, 1, 1377 3, 3, 2, 3, 3, 2, 4, 1, 6, 9, 1378 0, 11, 1, 3, 3, 3, 1, 1, 5, 2, 1379 5, 0, 1, 1, 3, 0, 1, 1, 1, 1, 1380 0, 6, 2, 1, 2, 4, 2, 3, 3, 3, 1381 4, 5, 5, 5, 6, 1, 1, 1, 3, 0, 1382 5, 0, 1, 1, 2, 6, 1, 3, 0, 1, 1383 4, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1384 3, 2, 3, 3, 2, 4, 4, 3, 8, 3, 1385 2, 1, 2, 6, 8, 3, 2, 3, 3, 4, 1386 4, 3, 1, 1, 1, 4, 6, 3, 2, 3, 1387 3, 4, 4, 3, 2, 1, 2, 2, 1, 3, 1388 2, 3, 3, 2, 4, 4, 3, 6, 8, 3, 1389 2, 1, 2, 2, 2, 3, 3, 2, 4, 4, 1390 3, 6, 8, 3, 2, 1, 2, 2, 1, 1, 1391 2, 3, 3, 2, 4, 6, 8, 1, 2, 2, 1392 1, 2, 2, 3, 3, 1, 4, 4, 3, 5, 1393 8, 3, 2, 3, 1, 5, 5, 6, 6, 1, 1394 2, 2, 1, 2, 2, 3, 3, 1, 4, 4, 1395 3, 5, 8, 3, 1, 2, 1, 2, 6, 5, 1396 6, 7, 7, 1, 2, 2, 1, 2, 2, 3, 1397 3, 1, 4, 4, 3, 8, 3, 1, 1, 2, 1398 1, 1, 2, 3, 2, 3, 2, 3, 3, 2, 1399 4, 3, 2, 3, 2, 4, 3, 2, 6, 6, 1400 6, 7, 1, 2, 1, 1, 1, 2, 3, 2, 1401 3, 2, 3, 3, 4, 2, 3, 4, 2, 5, 1402 6, 6, 0, 1, 0, 2 1398 1403 }; 1399 1404 … … 1403 1408 static const yytype_uint16 yydefact[] = 1404 1409 { 1405 29 3, 293, 313, 311, 314, 312, 315, 316, 299, 301,1406 30 0, 0, 302, 327, 319, 324, 322, 323, 321, 320,1407 3 25, 326, 331, 328, 329, 330, 546, 546, 546, 0,1408 0, 0, 29 3, 219, 303, 317, 318, 7, 358, 0,1409 8, 14, 15, 0, 2, 61, 62, 564, 9, 293,1410 52 4, 522, 246, 3, 453, 3, 259, 0, 3, 3,1411 3, 2 47, 3, 0, 0, 0, 294, 295, 297, 293,1412 3 06, 309, 339, 285, 332, 337, 286, 347, 287, 354,1413 35 1, 361, 0, 0, 362, 288, 472, 476, 3, 3,1414 0, 2, 5 18, 523, 528, 298, 0, 0, 546, 576,1415 5 46, 2, 587, 588, 589, 293, 0, 730, 731, 0,1416 1 2, 0, 13, 293, 269, 270, 0, 294, 289, 290,1417 29 1, 292, 525, 304, 391, 547, 548, 369, 370, 12,1418 44 4, 445, 11, 440, 443, 0, 502, 497, 488, 444,1419 4 45, 0, 0, 527, 220, 0, 293, 0, 0, 0,1420 0, 0, 0, 0, 0, 29 3, 293, 2, 0, 732,1421 294, 581, 593, 736, 729, 727, 734, 0, 0, 0,1422 253, 2, 0, 531, 438, 439, 437, 0, 0, 0,1423 0, 546, 0, 633, 634, 0, 0, 544, 540, 546,1424 5 61, 546, 546, 542, 2, 541, 546, 600, 546, 546,1425 603, 0, 0, 0, 293, 293, 311, 359, 2, 293,1426 260, 296, 307, 340, 352, 477, 0, 2, 0, 453,1427 2 61, 294, 333, 348, 355, 473, 0, 2, 0, 310,1428 3 34, 341, 342, 0, 349, 353, 356, 360, 445, 293,1429 3 71, 364, 368, 0, 393, 474, 478, 0, 0, 0,1430 1, 293, 2, 529, 575, 577, 293, 2, 740, 294,1431 743, 544, 544, 0, 294, 0, 0, 272, 546, 542,1432 2, 293, 0, 0, 293, 549, 2, 500, 2, 553,1433 0, 0, 0, 0, 0, 0, 19, 58, 4, 5,1434 6, 17, 0, 0, 293, 2, 63, 64, 65, 66,1435 46, 20, 47, 16, 23, 45, 67, 293, 0, 70,1436 74, 77, 80, 85, 88, 90, 92, 94, 96, 98,1437 10 3, 494, 750, 451, 493, 0, 449, 450, 0, 565,1438 5 80, 583, 586, 592, 595, 598, 358, 0, 2, 738,1439 0, 293, 741, 2, 61, 293, 3, 425, 0, 433,1440 294, 293, 306, 332, 286, 347, 354, 3, 3, 407,1441 4 11, 421, 426, 472, 293, 427, 705, 706, 293, 428,1442 430, 293, 2, 582, 594, 728, 2, 2, 248, 2,1443 4 58, 0, 456, 455, 454, 140, 2, 2, 250, 2,1444 2, 249, 2, 280, 2, 281, 0, 279, 0, 0,1445 0, 0, 0, 0, 0, 0, 0, 566, 605, 0,1446 453, 2, 560, 569, 659, 562, 563, 532, 293, 2,1447 599, 608, 601, 602, 0, 275, 293, 293, 338, 294,1448 0, 294, 0, 293, 733, 737, 735, 533, 293, 544,1449 254, 262, 308, 0, 2, 534, 293, 498, 335, 336,1450 2 82, 350, 357, 0, 293, 0, 748, 398, 0, 475,1451 499, 251, 252, 519, 293, 435, 0, 293, 236, 0,1452 2, 238, 0, 294, 0, 256, 2, 257, 277, 0,1453 0, 2, 293, 544, 293, 485, 487, 486, 0, 0,1454 750, 0, 293, 0, 293, 489, 293, 559, 557, 558,1455 556, 0, 551, 554, 0, 0, 293, 53, 293, 67,1456 48, 293, 55, 293, 293, 51, 52, 2, 126, 0,1457 0, 447, 0, 446, 727, 120, 293, 18, 0, 30,1458 31, 36, 2, 0, 36, 110, 111, 112, 113, 114,1459 1 15, 116, 117, 118, 119, 109, 108, 0, 49, 50,1410 298, 298, 318, 316, 319, 317, 320, 321, 304, 306, 1411 305, 0, 307, 332, 324, 329, 327, 328, 326, 325, 1412 330, 331, 336, 333, 334, 335, 551, 551, 551, 0, 1413 0, 0, 298, 225, 308, 322, 323, 9, 363, 0, 1414 10, 16, 17, 0, 2, 72, 73, 569, 11, 298, 1415 529, 527, 252, 3, 458, 3, 265, 0, 3, 3, 1416 3, 253, 3, 0, 0, 0, 299, 300, 302, 298, 1417 311, 314, 344, 290, 337, 342, 291, 352, 292, 359, 1418 356, 366, 0, 0, 367, 293, 477, 481, 3, 3, 1419 0, 2, 523, 528, 533, 303, 0, 0, 551, 581, 1420 551, 2, 592, 593, 594, 298, 0, 735, 736, 0, 1421 14, 0, 15, 298, 274, 275, 0, 299, 294, 295, 1422 296, 297, 530, 309, 396, 552, 553, 374, 375, 14, 1423 449, 450, 13, 445, 448, 0, 507, 502, 493, 449, 1424 450, 0, 0, 532, 226, 0, 298, 0, 0, 0, 1425 0, 0, 0, 0, 0, 298, 298, 0, 737, 299, 1426 586, 598, 741, 734, 732, 739, 0, 0, 0, 259, 1427 2, 0, 536, 443, 444, 442, 0, 0, 0, 0, 1428 551, 0, 638, 639, 0, 0, 549, 545, 551, 566, 1429 551, 551, 547, 2, 546, 551, 605, 551, 551, 608, 1430 0, 0, 0, 298, 298, 316, 364, 2, 298, 266, 1431 301, 312, 345, 357, 482, 0, 2, 0, 458, 267, 1432 299, 338, 353, 360, 478, 0, 2, 0, 315, 339, 1433 346, 347, 0, 354, 358, 361, 365, 450, 298, 376, 1434 369, 373, 0, 398, 479, 483, 0, 0, 0, 1, 1435 298, 2, 534, 580, 582, 298, 2, 745, 299, 748, 1436 549, 549, 0, 299, 0, 0, 277, 551, 547, 2, 1437 298, 0, 0, 298, 554, 2, 505, 2, 558, 0, 1438 0, 0, 0, 0, 0, 21, 69, 4, 8, 19, 1439 5, 6, 7, 0, 0, 298, 2, 74, 75, 76, 1440 77, 57, 22, 58, 18, 26, 56, 78, 298, 0, 1441 80, 84, 87, 90, 95, 98, 100, 102, 104, 106, 1442 108, 112, 499, 23, 456, 498, 0, 454, 455, 0, 1443 570, 585, 588, 591, 597, 600, 603, 2, 743, 298, 1444 746, 2, 72, 298, 3, 430, 0, 438, 299, 298, 1445 311, 337, 291, 352, 359, 3, 3, 412, 416, 426, 1446 431, 477, 298, 432, 710, 711, 298, 433, 435, 2, 1447 587, 599, 733, 2, 2, 254, 2, 463, 0, 461, 1448 460, 459, 146, 2, 2, 256, 2, 2, 255, 2, 1449 285, 2, 286, 0, 284, 0, 0, 0, 0, 0, 1450 0, 0, 0, 0, 571, 610, 0, 458, 2, 565, 1451 574, 664, 567, 568, 537, 298, 2, 604, 613, 606, 1452 607, 0, 280, 298, 298, 343, 299, 0, 299, 298, 1453 738, 742, 740, 538, 298, 549, 260, 268, 313, 0, 1454 2, 539, 298, 503, 340, 341, 287, 355, 362, 0, 1455 298, 0, 752, 403, 0, 480, 504, 257, 258, 524, 1456 298, 440, 0, 298, 242, 0, 2, 244, 0, 299, 1457 0, 262, 2, 263, 282, 0, 0, 2, 298, 549, 1458 298, 490, 492, 491, 0, 0, 754, 0, 298, 0, 1459 298, 494, 298, 564, 562, 563, 561, 0, 556, 559, 1460 0, 0, 298, 64, 298, 78, 59, 298, 66, 298, 1461 298, 62, 63, 2, 132, 0, 0, 452, 0, 451, 1462 732, 298, 20, 31, 0, 34, 35, 40, 2, 0, 1463 40, 118, 119, 120, 121, 122, 123, 124, 125, 126, 1464 127, 117, 116, 0, 60, 61, 0, 0, 0, 0, 1460 1465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1462 105, 2, 645, 452, 642, 546, 546, 650, 479, 293, 1463 2, 584, 585, 0, 596, 597, 0, 2, 739, 742, 1464 120, 293, 0, 2, 707, 294, 711, 702, 703, 709, 1465 0, 2, 2, 667, 546, 750, 616, 546, 546, 750, 1466 546, 630, 546, 546, 681, 434, 664, 546, 546, 672, 1467 679, 293, 429, 294, 0, 0, 293, 717, 294, 722, 1468 750, 714, 293, 719, 750, 293, 293, 293, 0, 120, 1469 0, 19, 2, 0, 20, 0, 459, 748, 0, 0, 1470 465, 240, 0, 293, 0, 0, 0, 544, 568, 572, 1471 574, 604, 607, 611, 614, 567, 606, 0, 283, 657, 1472 0, 293, 276, 0, 0, 0, 0, 274, 2, 0, 1473 258, 535, 293, 0, 0, 293, 2, 363, 383, 372, 1474 0, 0, 377, 371, 749, 0, 0, 396, 0, 294, 1475 3, 414, 3, 418, 417, 590, 0, 530, 293, 61, 1476 3, 293, 433, 294, 3, 427, 428, 2, 0, 0, 1477 0, 484, 305, 293, 480, 482, 3, 2, 2, 0, 1478 501, 3, 0, 553, 128, 0, 0, 221, 0, 0, 1479 0, 0, 37, 0, 0, 120, 293, 21, 0, 22, 1480 0, 691, 696, 448, 688, 546, 546, 0, 106, 3, 1481 2, 28, 0, 34, 0, 2, 26, 0, 104, 71, 1482 72, 73, 75, 76, 78, 79, 83, 84, 81, 82, 1483 86, 87, 89, 91, 93, 95, 97, 0, 0, 751, 1484 293, 0, 0, 0, 646, 647, 643, 644, 496, 495, 1485 293, 0, 293, 713, 293, 718, 294, 293, 661, 293, 1486 293, 704, 660, 2, 293, 0, 0, 0, 0, 0, 1487 0, 0, 0, 682, 0, 668, 619, 635, 669, 2, 1488 615, 622, 431, 617, 618, 432, 2, 629, 638, 631, 1489 632, 665, 666, 680, 708, 712, 710, 750, 267, 2, 1490 744, 2, 422, 716, 721, 423, 0, 401, 3, 3, 1491 3, 3, 453, 3, 0, 2, 467, 464, 749, 0, 1492 460, 2, 463, 466, 0, 293, 241, 263, 3, 271, 1493 273, 0, 453, 2, 570, 571, 2, 609, 610, 0, 1494 658, 536, 3, 344, 343, 346, 345, 293, 537, 0, 1495 538, 371, 0, 0, 293, 293, 0, 0, 691, 381, 1496 384, 388, 546, 388, 387, 380, 373, 546, 375, 378, 1497 293, 398, 392, 102, 399, 748, 0, 0, 436, 239, 1498 0, 0, 3, 2, 667, 429, 0, 526, 0, 750, 1499 488, 0, 293, 293, 293, 0, 550, 552, 129, 0, 1500 0, 214, 0, 0, 0, 222, 223, 54, 0, 56, 1501 59, 60, 0, 2, 127, 0, 0, 0, 692, 693, 1502 689, 690, 458, 68, 69, 107, 124, 3, 106, 0, 1503 0, 25, 36, 3, 0, 33, 100, 0, 3, 649, 1504 653, 656, 648, 3, 591, 3, 715, 720, 2, 61, 1505 293, 3, 3, 294, 0, 3, 621, 625, 628, 637, 1506 671, 675, 678, 293, 3, 620, 636, 670, 293, 293, 1507 424, 293, 293, 745, 0, 0, 0, 0, 255, 0, 1508 102, 0, 3, 3, 0, 461, 0, 457, 0, 0, 1509 244, 293, 0, 0, 128, 0, 0, 0, 0, 0, 1510 128, 0, 0, 106, 106, 19, 2, 0, 0, 3, 1511 130, 131, 2, 142, 132, 133, 134, 135, 136, 137, 1512 144, 146, 0, 0, 0, 284, 293, 293, 546, 0, 1513 539, 293, 374, 376, 0, 390, 692, 385, 389, 386, 1514 379, 383, 366, 397, 0, 578, 2, 663, 662, 0, 1515 668, 2, 481, 483, 503, 3, 511, 512, 0, 2, 1516 507, 3, 3, 0, 0, 555, 221, 0, 0, 0, 1517 221, 0, 0, 120, 695, 699, 701, 694, 748, 106, 1518 0, 3, 660, 40, 3, 38, 35, 0, 3, 99, 1519 101, 0, 2, 651, 652, 0, 0, 293, 0, 0, 1520 0, 3, 637, 0, 2, 623, 624, 2, 639, 2, 1521 673, 674, 0, 0, 61, 0, 3, 3, 3, 3, 1522 409, 408, 412, 2, 2, 747, 746, 121, 0, 0, 1523 0, 0, 3, 462, 3, 0, 242, 145, 3, 294, 1524 293, 0, 0, 0, 0, 2, 0, 190, 0, 188, 1525 0, 0, 0, 0, 0, 0, 0, 546, 120, 0, 1526 150, 147, 293, 0, 0, 266, 278, 3, 3, 545, 1527 612, 367, 382, 395, 293, 265, 293, 0, 514, 491, 1528 293, 0, 0, 490, 505, 0, 0, 0, 215, 0, 1529 224, 57, 2, 697, 698, 0, 125, 122, 0, 0, 1530 0, 0, 0, 24, 0, 654, 293, 579, 264, 723, 1531 724, 725, 0, 676, 293, 293, 293, 3, 3, 0, 1532 684, 0, 0, 0, 0, 293, 293, 3, 543, 121, 1533 469, 0, 0, 245, 294, 0, 0, 0, 0, 293, 1534 191, 189, 186, 0, 192, 0, 0, 0, 0, 196, 1535 199, 197, 193, 0, 194, 128, 36, 143, 141, 243, 1536 0, 0, 416, 420, 419, 0, 508, 2, 509, 2, 1537 510, 504, 293, 227, 0, 225, 0, 227, 293, 32, 1538 123, 2, 43, 2, 41, 39, 29, 27, 3, 726, 1539 3, 3, 3, 0, 0, 683, 685, 626, 640, 268, 1540 2, 406, 3, 405, 0, 471, 468, 128, 0, 0, 1541 128, 3, 0, 128, 187, 0, 2, 2, 208, 198, 1542 0, 0, 0, 139, 0, 573, 613, 2, 0, 0, 1543 2, 228, 0, 0, 216, 0, 3, 0, 0, 0, 1544 0, 0, 0, 686, 687, 293, 0, 470, 151, 0, 1545 0, 2, 164, 128, 153, 0, 181, 0, 128, 0, 1546 2, 155, 0, 2, 0, 2, 2, 2, 195, 33, 1547 293, 513, 515, 506, 0, 0, 0, 0, 0, 3, 1548 3, 655, 627, 641, 677, 410, 128, 157, 160, 0, 1549 159, 163, 3, 166, 165, 0, 128, 183, 128, 3, 1550 0, 293, 0, 293, 0, 2, 0, 2, 138, 2, 1551 229, 230, 0, 226, 217, 700, 0, 0, 152, 0, 1552 0, 162, 232, 167, 2, 234, 182, 0, 185, 171, 1553 200, 3, 209, 213, 202, 3, 0, 293, 0, 293, 1554 0, 0, 0, 44, 42, 158, 161, 128, 0, 168, 1555 293, 128, 128, 0, 172, 0, 0, 691, 210, 211, 1556 212, 0, 201, 3, 203, 3, 293, 218, 231, 148, 1557 169, 154, 128, 235, 184, 179, 177, 173, 156, 128, 1558 0, 692, 0, 0, 0, 0, 149, 170, 180, 174, 1559 178, 177, 175, 3, 3, 0, 0, 492, 176, 204, 1560 206, 3, 3, 205, 207 1466 0, 0, 0, 0, 0, 2, 650, 457, 647, 551, 1467 551, 655, 484, 298, 2, 589, 590, 0, 601, 602, 1468 0, 744, 747, 298, 298, 0, 712, 299, 716, 707, 1469 708, 714, 0, 2, 2, 672, 551, 754, 621, 551, 1470 551, 754, 551, 635, 551, 551, 686, 439, 669, 551, 1471 551, 677, 684, 298, 434, 299, 0, 0, 298, 722, 1472 299, 727, 754, 719, 298, 724, 754, 298, 298, 0, 1473 0, 21, 2, 0, 22, 0, 464, 752, 0, 0, 1474 470, 246, 0, 298, 0, 0, 0, 549, 573, 577, 1475 579, 609, 612, 616, 619, 572, 611, 0, 288, 662, 1476 0, 298, 281, 0, 0, 0, 0, 279, 2, 0, 1477 264, 540, 298, 0, 0, 298, 2, 368, 388, 377, 1478 0, 0, 382, 376, 753, 0, 0, 401, 0, 299, 1479 3, 419, 3, 423, 422, 595, 0, 535, 298, 72, 1480 3, 298, 438, 299, 3, 432, 433, 2, 0, 0, 1481 0, 489, 310, 298, 0, 485, 487, 3, 2, 2, 1482 0, 506, 3, 0, 558, 134, 0, 0, 227, 0, 1483 0, 0, 0, 41, 0, 0, 298, 24, 0, 25, 1484 0, 696, 701, 453, 693, 551, 551, 0, 114, 3, 1485 2, 32, 0, 38, 0, 2, 29, 0, 113, 81, 1486 82, 83, 85, 86, 88, 89, 93, 94, 91, 92, 1487 96, 97, 99, 101, 103, 105, 107, 0, 0, 298, 1488 0, 0, 0, 651, 652, 648, 649, 501, 500, 298, 1489 0, 718, 298, 723, 299, 298, 666, 709, 665, 2, 1490 298, 0, 0, 0, 0, 0, 0, 0, 0, 687, 1491 0, 673, 624, 640, 674, 2, 620, 627, 436, 622, 1492 623, 437, 2, 634, 643, 636, 637, 670, 671, 685, 1493 713, 717, 715, 754, 272, 2, 749, 2, 427, 721, 1494 726, 428, 3, 406, 3, 3, 3, 458, 0, 0, 1495 2, 472, 469, 753, 0, 465, 2, 468, 471, 0, 1496 298, 247, 269, 3, 276, 278, 0, 458, 2, 575, 1497 576, 2, 614, 615, 0, 663, 541, 3, 349, 348, 1498 351, 350, 298, 542, 0, 543, 376, 0, 0, 298, 1499 0, 0, 696, 386, 389, 393, 551, 393, 392, 385, 1500 378, 551, 380, 383, 298, 403, 397, 111, 404, 752, 1501 0, 0, 441, 245, 0, 0, 3, 2, 672, 434, 1502 0, 531, 0, 754, 755, 493, 0, 298, 298, 298, 1503 0, 555, 557, 135, 0, 0, 220, 0, 0, 0, 1504 228, 229, 65, 0, 67, 70, 71, 0, 133, 0, 1505 0, 0, 697, 698, 694, 695, 463, 79, 115, 130, 1506 3, 114, 0, 28, 40, 3, 0, 37, 110, 0, 1507 3, 654, 658, 661, 653, 3, 596, 720, 725, 2, 1508 72, 298, 3, 3, 299, 0, 3, 626, 630, 633, 1509 642, 676, 680, 683, 298, 3, 625, 641, 675, 298, 1510 298, 429, 298, 298, 0, 0, 0, 0, 261, 111, 1511 0, 3, 3, 0, 466, 0, 462, 0, 0, 250, 1512 298, 0, 0, 134, 0, 0, 0, 0, 0, 134, 1513 0, 0, 114, 114, 21, 0, 0, 3, 136, 137, 1514 2, 148, 138, 139, 140, 141, 142, 143, 150, 152, 1515 0, 0, 0, 289, 298, 298, 551, 0, 544, 298, 1516 379, 381, 0, 395, 697, 390, 394, 391, 384, 388, 1517 371, 402, 0, 583, 2, 668, 667, 0, 673, 2, 1518 486, 488, 508, 3, 516, 517, 0, 2, 512, 3, 1519 3, 0, 0, 560, 227, 0, 0, 0, 227, 0, 1520 0, 700, 704, 706, 699, 752, 114, 0, 3, 54, 1521 0, 54, 54, 3, 42, 44, 39, 0, 3, 109, 1522 0, 2, 656, 657, 0, 298, 0, 0, 0, 3, 1523 642, 0, 2, 628, 629, 2, 644, 2, 678, 679, 1524 0, 0, 72, 0, 3, 3, 3, 3, 414, 413, 1525 417, 751, 2, 2, 750, 0, 0, 0, 0, 3, 1526 467, 3, 0, 248, 151, 3, 299, 298, 0, 0, 1527 0, 0, 2, 0, 196, 0, 194, 0, 0, 0, 1528 0, 0, 0, 0, 551, 0, 156, 153, 298, 0, 1529 0, 271, 283, 3, 3, 550, 617, 372, 387, 400, 1530 298, 270, 298, 0, 519, 496, 298, 0, 0, 495, 1531 510, 0, 0, 0, 221, 0, 230, 68, 2, 702, 1532 703, 0, 131, 128, 0, 51, 2, 45, 52, 53, 1533 0, 0, 0, 0, 27, 0, 659, 298, 584, 728, 1534 729, 730, 0, 681, 298, 298, 298, 3, 3, 0, 1535 689, 0, 0, 0, 0, 298, 298, 3, 548, 473, 1536 474, 0, 251, 299, 0, 0, 0, 0, 298, 197, 1537 195, 192, 0, 198, 0, 0, 0, 0, 202, 205, 1538 203, 199, 0, 200, 134, 40, 149, 147, 249, 0, 1539 0, 421, 425, 424, 0, 513, 2, 514, 2, 515, 1540 509, 298, 233, 0, 231, 0, 233, 298, 36, 129, 1541 55, 0, 43, 33, 2, 49, 2, 47, 30, 3, 1542 731, 3, 3, 3, 0, 0, 688, 690, 631, 645, 1543 273, 2, 411, 3, 410, 0, 476, 134, 0, 0, 1544 134, 3, 0, 134, 193, 0, 2, 2, 214, 204, 1545 0, 0, 0, 145, 0, 578, 618, 2, 0, 0, 1546 2, 234, 0, 0, 222, 0, 3, 3, 0, 0, 1547 0, 0, 0, 0, 691, 692, 298, 0, 475, 157, 1548 0, 0, 2, 170, 134, 159, 0, 187, 0, 134, 1549 0, 2, 161, 0, 2, 0, 2, 2, 2, 201, 1550 37, 298, 518, 520, 511, 0, 0, 0, 0, 0, 1551 0, 3, 3, 660, 632, 646, 682, 415, 134, 163, 1552 166, 0, 165, 169, 3, 172, 171, 0, 134, 189, 1553 134, 3, 0, 298, 0, 298, 0, 2, 0, 2, 1554 144, 2, 235, 236, 0, 232, 223, 705, 46, 0, 1555 0, 158, 0, 0, 168, 238, 173, 2, 240, 188, 1556 0, 191, 177, 206, 3, 215, 219, 208, 3, 0, 1557 298, 0, 298, 0, 0, 0, 50, 48, 164, 167, 1558 134, 0, 174, 298, 134, 134, 0, 178, 0, 0, 1559 696, 216, 217, 218, 0, 207, 3, 209, 3, 298, 1560 224, 237, 154, 175, 160, 134, 241, 190, 185, 183, 1561 179, 162, 134, 0, 697, 0, 0, 0, 0, 155, 1562 176, 186, 180, 184, 183, 181, 3, 3, 0, 0, 1563 497, 182, 210, 212, 3, 3, 211, 213 1561 1564 }; 1562 1565 … … 1564 1567 static const yytype_int16 yydefgoto[] = 1565 1568 { 1566 -1, 8 14, 468, 300, 47, 133, 134, 301, 302, 303,1567 30 4, 305, 762, 763, 1134, 1135, 306, 381, 308, 309,1568 3 10, 311, 312, 313, 314, 315, 316, 317, 318, 319,1569 3 20, 1031, 518, 976, 547, 322, 977, 948, 1058, 1519,1570 10 60, 1061, 1062, 1063, 1520, 1064, 1065, 1438, 1439, 1402,1571 14 03, 1404, 1498, 1499, 1503, 1504, 1539, 1540, 1066, 1362,1572 10 67, 1068, 1299, 1300, 1301, 1481, 1069, 145, 954, 955,1573 9 56, 1382, 1462, 1473, 1474, 469, 470, 875, 876, 1039,1574 51, 52, 53, 54, 55, 347, 158, 58, 59, 60,1575 61, 62, 349, 64, 65, 264, 67, 68, 274, 351,1576 352, 71, 72, 73, 118, 75, 204, 354, 119, 78,1577 1 20, 80, 81, 455, 82, 454, 689, 690, 691, 909,1578 1087, 910, 83, 84, 458, 456, 697, 856, 857, 858,1579 8 59, 700, 701, 702, 359, 360, 361, 362, 466, 340,1580 135, 136, 522, 324, 170, 646, 647, 648, 649, 650,1581 85, 121, 87, 489, 490, 940, 491, 277, 495, 325,1582 88, 137, 138, 89, 1322, 1109, 1110, 1111, 1112, 90,1583 91, 718, 92, 273, 93, 94, 187, 1033, 680, 412,1584 125, 95, 501, 502, 503, 188, 268, 190, 191, 192,1585 269, 98, 99, 100, 101, 102, 103, 104, 195, 196,1586 19 7, 198, 199, 826, 606, 607, 608, 609, 200, 611,1587 612, 613, 573, 574, 575, 576, 752, 105, 615, 616,1588 6 17, 618, 619, 620, 969, 754, 755, 756, 596, 365,1589 366, 367, 368, 326, 164, 107, 108, 109, 370, 695,1590 5701569 -1, 800, 464, 301, 47, 133, 134, 302, 303, 304, 1570 305, 306, 752, 753, 1113, 1114, 1115, 1225, 307, 378, 1571 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 1572 319, 320, 321, 1010, 514, 959, 543, 323, 960, 933, 1573 1036, 1502, 1038, 1039, 1040, 1041, 1503, 1042, 1043, 1420, 1574 1421, 1383, 1384, 1385, 1481, 1482, 1486, 1487, 1522, 1523, 1575 1044, 1342, 1045, 1046, 1278, 1279, 1280, 1464, 1047, 145, 1576 939, 940, 941, 1362, 1444, 1456, 1457, 465, 466, 860, 1577 861, 1018, 51, 52, 53, 54, 55, 345, 157, 58, 1578 59, 60, 61, 62, 347, 64, 65, 263, 67, 68, 1579 273, 349, 350, 71, 72, 73, 118, 75, 203, 352, 1580 119, 78, 120, 80, 81, 451, 82, 450, 679, 680, 1581 681, 893, 1065, 894, 83, 84, 454, 452, 687, 842, 1582 843, 355, 356, 690, 691, 692, 357, 358, 359, 360, 1583 462, 176, 135, 136, 518, 325, 169, 636, 637, 638, 1584 639, 640, 85, 121, 87, 485, 486, 925, 487, 276, 1585 491, 326, 88, 137, 138, 89, 1301, 1087, 1088, 1089, 1586 1090, 90, 91, 708, 92, 272, 93, 94, 186, 1012, 1587 670, 409, 125, 95, 497, 498, 499, 187, 267, 189, 1588 190, 191, 268, 98, 99, 100, 101, 102, 103, 104, 1589 194, 195, 196, 197, 198, 812, 598, 599, 600, 601, 1590 199, 603, 604, 605, 567, 568, 569, 570, 742, 105, 1591 607, 608, 609, 610, 611, 612, 953, 744, 745, 746, 1592 588, 363, 364, 365, 366, 327, 163, 107, 108, 109, 1593 368, 685, 715 1591 1594 }; 1592 1595 1593 1596 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1594 1597 STATE-NUM. */ 1595 #define YYPACT_NINF -13 231598 #define YYPACT_NINF -1333 1596 1599 static const yytype_int16 yypact[] = 1597 1600 { 1598 7329, 8828, -1323, 37, -1323, -1323, -1323, -1323, -1323, -1323, 1599 -1323, 109, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1600 -1323, -1323, -1323, -1323, -1323, -1323, 85, 85, 85, 873, 1601 733, 178, 7561, 370, -1323, -1323, -1323, -1323, -1323, 191, 1602 -1323, -1323, -1323, 614, 225, -1323, -1323, -1323, -1323, 4615, 1603 -1323, -1323, -1323, -1323, 229, 285, -1323, 934, -1323, -1323, 1604 -1323, -1323, 435, 1196, 579, 110, 7677, -1323, -1323, 4858, 1605 1038, -1323, -1323, 580, 596, 6761, 1021, 875, 580, 1103, 1606 -1323, -1323, 1317, 308, -1323, 580, 1224, -1323, 495, -1323, 1607 616, 623, -1323, -1323, -1323, -1323, 547, 285, 85, -1323, 1608 85, -1323, -1323, -1323, -1323, 9174, 934, -1323, -1323, 934, 1609 -1323, 551, -1323, 9403, -1323, -1323, 1899, 9436, -1323, 844, 1610 844, 844, -1323, -1323, -1323, 85, -1323, -1323, -1323, 584, 1611 608, 632, -1323, -1323, -1323, 646, -1323, -1323, -1323, -1323, 1612 -1323, 664, 687, -1323, -1323, -28, 8797, 2908, 117, 701, 1613 717, 726, 771, 786, 799, 8715, 6849, 731, 757, -1323, 1614 5600, -1323, -1323, -1323, -1323, 804, -1323, 223, 5225, 5225, 1615 -1323, 802, 365, -1323, -1323, -1323, -1323, 816, 443, 480, 1616 534, 85, 827, -1323, -1323, 1196, 4341, 868, -1323, 50, 1617 -1323, 85, 85, 285, -1323, -1323, 61, -1323, 85, 85, 1618 -1323, 4647, 857, 864, 844, 6523, -1323, -1323, 869, 4615, 1619 -1323, -1323, 580, -1323, -1323, -1323, 285, -1323, 934, 229, 1620 -1323, 7868, -1323, 844, 844, 844, 285, -1323, 873, -1323, 1621 5676, -1323, -1323, 852, 844, -1323, 844, -1323, 191, 8797, 1622 -1323, 884, -1323, 733, 890, 844, -1323, 873, 888, 892, 1623 -1323, 7561, 631, -1323, -1323, -1323, 9256, -1323, -1323, 9621, 1624 -1323, 868, 151, 10214, 9436, 1899, 4647, -1323, 88, -1323, 1625 -1323, 9403, 934, 891, 7708, -1323, -1323, 347, -1323, 10561, 1626 922, 956, 10347, 945, 10366, 10423, -1323, 954, -1323, -1323, 1627 -1323, -1323, 10442, 10442, 8571, 952, -1323, -1323, -1323, -1323, 1628 -1323, -1323, -1323, 988, -1323, 966, 1946, 8910, 10366, -1323, 1629 756, 338, 485, 411, 635, 955, 947, 957, 984, 237, 1630 -1323, -1323, 962, 647, -1323, 302, -1323, -1323, 2908, -1323, 1631 -1323, 235, 985, -1323, 312, 985, 989, 191, -1323, -1323, 1632 990, 9174, -1323, 999, 1006, 9023, -1323, -1323, 1335, 2030, 1633 8286, 6523, 580, -1323, 580, 844, 844, -1323, -1323, -1323, 1634 -1323, -1323, -1323, 844, 9174, 934, -1323, -1323, 9474, 1575, 1635 -1323, 8017, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1008, 1636 5958, 10366, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1637 -1323, -1323, -1323, -1323, -1323, -1323, 1899, -1323, 973, 991, 1638 992, 1012, 978, 1017, 1018, 1020, 4341, -1323, -1323, 1029, 1639 229, 1031, -1323, -1323, 1033, -1323, -1323, -1323, 9256, -1323, 1640 -1323, -1323, -1323, -1323, 4647, -1323, 8797, 8797, -1323, 844, 1641 1899, 6642, 934, 8359, -1323, -1323, -1323, -1323, 9256, 151, 1642 -1323, -1323, 580, 285, -1323, -1323, 9256, -1323, 5770, -1323, 1643 -1323, 844, 844, 337, 8204, 1032, 1036, 1023, 1042, 844, 1644 -1323, -1323, -1323, -1323, 9660, -1323, 367, 6404, -1323, 285, 1645 1044, -1323, 1899, 10643, 10271, -1323, -1323, -1323, -1323, 1015, 1646 4647, -1323, 8432, 868, 7445, -1323, -1323, -1323, 843, 436, 1647 962, 733, 7708, 1341, 9403, -1323, 7708, -1323, -1323, -1323, 1648 -1323, 508, -1323, 1051, 956, 248, 8571, -1323, 9512, -1323, 1649 -1323, 8571, -1323, 8684, 8571, -1323, -1323, 1049, -1323, 606, 1650 1057, 682, 1059, -1323, -1323, 3527, 6492, -1323, 362, -1323, 1651 -1323, 10214, -1323, 368, 10214, -1323, -1323, -1323, -1323, -1323, 1652 -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10214, -1323, -1323, 1653 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 1654 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 3593, 10214, 1655 -1323, 647, 1677, -1323, -1323, 85, 85, -1323, -1323, 8797, 1656 -1323, -1323, 1033, 631, -1323, 1033, 10290, -1323, -1323, -1323, 1657 5046, 6492, 1060, 1063, -1323, 9436, -1323, -1323, 804, -1323, 1658 1067, 750, 1068, 2627, 125, 962, -1323, 85, 85, 962, 1659 132, -1323, 85, 85, 1033, -1323, -1323, 85, 85, -1323, 1660 985, 9545, 934, 10788, 532, 656, 9545, -1323, 9621, -1323, 1661 962, -1323, 9174, -1323, 238, 7983, 7983, 7983, 934, -1323, 1662 5791, 1047, 1008, 493, 1058, 1061, -1323, 1076, 5225, 528, 1663 -1323, 1165, 934, 7983, 631, 1899, 631, 868, 430, 985, 1664 -1323, -1323, 536, 985, -1323, -1323, -1323, 956, -1323, 985, 1665 285, 9660, -1323, 619, 1086, 633, 1088, -1323, 1087, 285, 1666 -1323, -1323, 9256, 285, 1089, 9512, 1092, -1323, 1065, -1323, 1667 538, 552, 733, -1323, 733, 1085, 10366, -1323, 733, 10788, 1668 -1323, -1323, 1096, -1323, -1323, -1323, 631, -1323, 10716, 1006, 1669 -1323, 7983, 703, 8286, -1323, -1323, 804, 1095, 1098, 843, 1670 5016, -1323, -1323, 7708, -1323, -1323, 1091, -1323, -1323, 1102, 1671 -1323, 1091, 1104, 10561, 10214, 1090, 1093, 94, 1109, 1107, 1672 1111, 1114, -1323, 1118, 1129, 9365, 6611, -1323, 10214, -1323, 1673 682, 1717, -1323, -1323, -1323, 85, 85, 10157, 10214, 1125, 1674 -1323, -1323, 653, -1323, 10214, -1323, -1323, 736, -1323, -1323, 1675 -1323, -1323, 756, 756, 338, 338, 485, 485, 485, 485, 1676 411, 411, 635, 955, 947, 957, 984, 10366, 260, -1323, 1677 9660, 1132, 1136, 1137, 1677, -1323, -1323, -1323, -1323, -1323, 1678 9660, 708, 7983, -1323, 9174, -1323, 6968, 9136, -1323, 8017, 1679 6849, -1323, -1323, 750, 9660, 1022, 1140, 1141, 1142, 1143, 1680 1146, 1149, 1154, -1323, 3715, 2627, -1323, -1323, -1323, -1323, 1681 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1682 -1323, -1323, -1323, 1033, -1323, -1323, -1323, 962, -1323, -1323, 1683 -1323, -1323, -1323, -1323, -1323, -1323, 1155, -1323, 1157, 1159, 1684 -1323, -1323, 229, 1125, 5791, -1323, -1323, -1323, 5958, 1158, 1685 -1323, -1323, -1323, -1323, 733, 6174, 1248, -1323, -1323, -1323, 1686 -1323, 1151, 229, -1323, -1323, 1033, -1323, -1323, 1033, 84, 1687 1033, -1323, -1323, -1323, -1323, -1323, -1323, 9327, -1323, 285, 1688 -1323, -1323, 559, 562, 9474, 7087, 2137, 10366, 3114, -1323, 1689 -1323, 1156, 51, 1156, -1323, 733, -1323, 85, -1323, -1323, 1690 8941, 1023, -1323, -1323, -1323, 1036, 1175, 1171, -1323, -1323, 1691 1178, 1181, -1323, 703, 1901, -1323, 672, -1323, 5016, 962, 1692 -1323, 1184, 7708, 9583, 8797, 1185, -1323, -1323, 1180, 1187, 1693 1170, -1323, 10366, 1197, 326, 1194, -1323, 1202, 631, 1202, 1694 -1323, -1323, 1202, 1199, -1323, 1208, 1210, 1211, 1717, -1323, 1695 -1323, -1323, 5958, -1323, -1323, -1323, -1323, 1209, 10214, 1212, 1696 631, -1323, 10214, -1323, 631, -1323, -1323, 10214, -1323, 558, 1697 985, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1008, 1006, 1698 9023, -1323, -1323, 7206, 1218, -1323, 674, 985, -1323, 813, 1699 861, 985, -1323, 844, 4029, -1323, -1323, -1323, 9660, 9660, 1700 -1323, 8359, 8359, -1323, 1215, 1216, 1225, 1230, -1323, 1232, 1701 685, 82, 1125, -1323, 631, -1323, 5225, -1323, 10214, 564, 1702 -1323, 6373, 1236, 1240, 10100, 1242, 1243, 70, 79, 96, 1703 10214, 1244, 285, 10214, 10214, 1227, 1249, 522, 1222, -1323, 1704 -1323, -1323, 1250, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1705 -1323, -1323, 733, 1254, 10214, -1323, 9660, 9660, 85, 1257, 1706 -1323, 9054, -1323, -1323, 752, -1323, 3114, -1323, -1323, -1323, 1707 -1323, 1065, -1323, -1323, 1255, -1323, -1323, -1323, -1323, 1258, 1708 1901, -1323, -1323, 1245, -1323, 1091, -1323, -1323, 1899, 1260, 1709 -1323, -1323, -1323, 713, 1264, -1323, 94, 1269, 10366, 1252, 1710 94, 94, 1262, 3527, 879, 985, -1323, -1323, 1076, 10214, 1711 1273, 1209, 358, 204, 1270, -1323, -1323, 1275, 1270, -1323, 1712 -1323, 1278, -1323, -1323, 1033, 1280, 1284, 6730, 1285, 1290, 1713 1291, -1323, -1323, 1286, -1323, -1323, 1033, -1323, -1323, -1323, 1714 -1323, 1033, 10214, 10214, 1006, 1294, -1323, -1323, -1323, -1323, 1715 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10366, 10366, 1716 1300, 1302, 1270, -1323, -1323, 733, -1323, -1323, -1323, 5213, 1717 9583, 10214, 10214, 1374, 10214, -1323, 1295, -1323, 1296, -1323, 1718 1297, 10214, 1301, 10214, 1105, 1304, 12, 85, 9289, 1625, 1719 -1323, -1323, 6174, 1322, 573, -1323, -1323, -1323, -1323, -1323, 1720 -1323, -1323, -1323, -1323, 9920, -1323, 8432, 1330, -1323, -1323, 1721 9583, 576, 602, -1323, 1331, 1315, 956, 1337, -1323, 329, 1722 -1323, -1323, -1323, -1323, 1033, 1339, -1323, -1323, 1320, 486, 1723 509, 631, 1340, -1323, 1344, -1323, 9660, -1323, -1323, -1323, 1724 -1323, -1323, 1347, -1323, 9660, 9660, 9660, -1323, -1323, 1348, 1725 -1323, 1351, 1354, 1355, 716, 8056, 8171, -1323, -1323, 529, 1726 -1323, 1357, 1362, -1323, 8505, 721, 730, 1358, 761, 3837, 1727 -1323, -1323, -1323, 605, -1323, 766, 1366, 1367, 285, 1419, 1728 834, -1323, -1323, 10214, -1323, 10100, 10214, -1323, -1323, -1323, 1729 1370, 1375, -1323, -1323, -1323, 1372, -1323, -1323, -1323, -1323, 1730 -1323, -1323, 9583, 956, 1379, -1323, 1352, 956, 9660, -1323, 1731 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1732 -1323, -1323, -1323, 1378, 1382, -1323, -1323, -1323, -1323, -1323, 1733 -1323, -1323, 1387, -1323, 1386, -1323, -1323, 10100, 289, 10214, 1734 10100, -1323, 1389, 10214, -1323, 318, 1405, 1406, -1323, -1323, 1735 1399, 1400, 1380, -1323, 821, -1323, -1323, -1323, 934, 1899, 1736 1396, -1323, 402, 10366, -1323, 785, -1323, 631, 631, 1407, 1737 1408, 1413, 1415, -1323, -1323, 8359, 1414, -1323, 1490, 10366, 1738 1385, -1323, -1323, 10012, -1323, 800, -1323, 1402, 10100, 1403, 1739 -1323, -1323, 1426, -1323, 1427, -1323, 1445, 1446, -1323, 1411, 1740 9583, -1323, -1323, -1323, 956, 631, 1434, 1417, 1435, 1270, 1741 1270, -1323, -1323, -1323, -1323, -1323, 10100, 107, -1323, 433, 1742 -1323, -1323, 7793, -1323, -1323, 1418, 10214, -1323, 10214, 7793, 1743 285, 9512, 285, 9512, 1436, -1323, 1442, -1323, -1323, 1440, 1744 -1323, -1323, 825, -1323, -1323, -1323, 1444, 1449, -1323, 10366, 1745 10366, -1323, -1323, 909, 211, -1323, -1323, 1425, -1323, 909, 1746 -1323, -1323, 2166, 631, -1323, -1323, 285, 9512, 285, 9512, 1747 1453, 1431, 631, -1323, -1323, -1323, -1323, 10012, 1443, 909, 1748 6091, 10214, 9924, 1452, 909, 1454, 2166, 3344, -1323, -1323, 1749 -1323, 1458, -1323, -1323, -1323, -1323, 8797, -1323, -1323, -1323, 1750 9791, -1323, 10012, -1323, -1323, 1438, 9703, -1323, -1323, 9924, 1751 285, 3344, 285, 1464, 1466, 853, -1323, 9791, -1323, -1323, 1752 -1323, 9703, -1323, -1323, -1323, 285, 285, -1323, -1323, -1323, 1753 -1323, -1323, -1323, -1323, -1323 1601 6694, 7975, -1333, -14, -1333, -1333, -1333, -1333, -1333, -1333, 1602 -1333, 26, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1603 -1333, -1333, -1333, -1333, -1333, -1333, 109, 109, 109, 759, 1604 860, 66, 6930, 241, -1333, -1333, -1333, -1333, -1333, 199, 1605 -1333, -1333, -1333, 1264, 207, -1333, -1333, -1333, -1333, 8320, 1606 -1333, -1333, -1333, -1333, 3, 216, -1333, 1096, -1333, -1333, 1607 -1333, -1333, 265, 1996, 389, 54, 5394, -1333, -1333, 8320, 1608 780, -1333, -1333, 554, 416, 3688, 749, 995, 554, 1130, 1609 -1333, -1333, 768, 826, -1333, 554, 1144, -1333, 313, -1333, 1610 443, 462, -1333, -1333, -1333, -1333, 358, 216, 109, -1333, 1611 109, -1333, -1333, -1333, -1333, 8461, 1096, -1333, -1333, 1096, 1612 -1333, 414, -1333, 8545, -1333, -1333, 2376, 8575, -1333, 1138, 1613 1138, 1138, -1333, -1333, -1333, 109, -1333, -1333, -1333, 370, 1614 444, 488, -1333, -1333, -1333, 518, -1333, -1333, -1333, -1333, 1615 -1333, 525, 576, -1333, -1333, 50, 8059, 1902, 238, 538, 1616 578, 604, 613, 618, 635, 8659, 6327, 649, -1333, 8431, 1617 -1333, -1333, -1333, -1333, 661, -1333, -10, 9338, 9338, -1333, 1618 662, 181, -1333, -1333, -1333, -1333, 680, 348, 393, 400, 1619 109, 685, -1333, -1333, 1996, 2098, 801, -1333, 51, -1333, 1620 109, 109, 216, -1333, -1333, 180, -1333, 109, 109, -1333, 1621 2242, 712, 751, 1138, 6116, -1333, -1333, -1333, 8320, -1333, 1622 -1333, 554, -1333, -1333, -1333, 216, -1333, 1096, 3, -1333, 1623 7196, -1333, 1138, 1138, 1138, 216, -1333, 759, -1333, 4572, 1624 -1333, -1333, 739, 1138, -1333, 1138, -1333, 199, 8059, -1333, 1625 775, -1333, 860, 777, 1138, -1333, 759, 771, 804, -1333, 1626 6930, 594, -1333, -1333, -1333, 4461, -1333, -1333, 5315, -1333, 1627 801, 101, 9515, 8575, 2376, 2242, -1333, 187, -1333, -1333, 1628 8545, 1096, 786, 10191, -1333, -1333, 434, -1333, 9931, 803, 1629 866, 9574, 842, 9515, 9633, -1333, 845, -1333, -1333, -1333, 1630 -1333, -1333, -1333, 9692, 9692, 7829, 207, -1333, -1333, -1333, 1631 -1333, -1333, -1333, -1333, 885, -1333, 1691, 2462, 8059, 9515, 1632 -1333, 558, 367, 614, 669, 742, 852, 846, 858, 883, 1633 -13, -1333, -1333, -1333, 737, -1333, 269, -1333, -1333, 1902, 1634 -1333, -1333, 465, 880, -1333, 586, 880, -1333, -1333, 8461, 1635 -1333, 890, 897, 8174, -1333, -1333, 1514, 1088, 7619, 6116, 1636 554, -1333, 554, 1138, 1138, -1333, -1333, -1333, -1333, -1333, 1637 -1333, 1138, 8461, 1096, -1333, -1333, 8659, 1872, -1333, -1333, 1638 -1333, -1333, -1333, -1333, -1333, -1333, -1333, 9279, 9515, -1333, 1639 -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1640 -1333, -1333, -1333, 2376, -1333, 105, 903, 926, 928, 796, 1641 931, 941, 943, 2098, -1333, -1333, 952, 3, 954, -1333, 1642 -1333, 961, -1333, -1333, -1333, 4461, -1333, -1333, -1333, -1333, 1643 -1333, 2242, -1333, 8059, 8059, -1333, 1138, 2376, 6237, 7691, 1644 -1333, -1333, -1333, -1333, 4461, 101, -1333, -1333, 554, 216, 1645 -1333, -1333, 4461, -1333, 5995, -1333, -1333, 1138, 1138, 394, 1646 7535, 966, 959, 955, 974, 1138, -1333, -1333, -1333, -1333, 1647 5606, -1333, 424, 5852, -1333, 216, 977, -1333, 2376, 10015, 1648 9751, -1333, -1333, -1333, -1333, 884, 2242, -1333, 7691, 801, 1649 6812, -1333, -1333, -1333, 1296, 456, 986, 860, 10191, 1468, 1650 8545, -1333, 10191, -1333, -1333, -1333, -1333, 473, -1333, 988, 1651 866, 242, 7829, -1333, 8689, -1333, -1333, 7829, -1333, 7944, 1652 7829, -1333, -1333, 207, -1333, 485, 1009, 881, 1014, -1333, 1653 -1333, 6085, -1333, -1333, 360, -1333, -1333, 9515, -1333, 362, 1654 9515, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1655 -1333, -1333, -1333, 9515, -1333, -1333, 9515, 9515, 9515, 9515, 1656 9515, 9515, 9515, 9515, 9515, 9515, 9515, 9515, 9515, 9515, 1657 9515, 9515, 9515, 9515, 3091, 737, 1207, -1333, -1333, 109, 1658 109, -1333, -1333, 8059, -1333, -1333, 961, 594, -1333, 961, 1659 9810, -1333, -1333, 8659, 6085, 993, -1333, 8575, -1333, -1333, 1660 661, -1333, 1039, 587, 1045, 2359, 209, 986, -1333, 109, 1661 109, 986, 212, -1333, 109, 109, 961, -1333, -1333, 109, 1662 109, -1333, 880, 8773, 1096, 10160, 415, 496, 8773, -1333, 1663 5315, -1333, 986, -1333, 8461, -1333, 126, 7313, 7313, 1096, 1664 9397, 1029, -1333, 1354, 1033, 1043, -1333, 1060, 9338, 407, 1665 -1333, 1151, 1096, 7313, 594, 2376, 594, 801, 631, 880, 1666 -1333, -1333, 692, 880, -1333, -1333, -1333, 866, -1333, 880, 1667 216, 5606, -1333, 494, 1073, 520, 1074, -1333, 890, 216, 1668 -1333, -1333, 4461, 216, 1071, 8689, 207, -1333, 972, -1333, 1669 401, 438, 860, -1333, 860, 1075, 9515, -1333, 860, 10160, 1670 -1333, -1333, 1079, -1333, -1333, -1333, 594, -1333, 10088, 897, 1671 -1333, 7313, 960, 7619, -1333, -1333, 661, 1076, 1081, 1296, 1672 2130, -1333, -1333, 10191, 9515, -1333, -1333, 1085, -1333, -1333, 1673 1093, -1333, 1085, 1098, 9931, 9515, 1097, 1094, 38, 1119, 1674 1115, 1124, 1125, -1333, 1126, 1127, 6085, -1333, 9515, -1333, 1675 881, 1631, -1333, -1333, -1333, 109, 109, 9456, 9515, 1132, 1676 -1333, -1333, 577, -1333, 9515, -1333, -1333, 843, -1333, -1333, 1677 -1333, -1333, 558, 558, 367, 367, 614, 614, 614, 614, 1678 669, 669, 742, 852, 846, 858, 883, 9515, 296, 5606, 1679 1131, 1133, 1136, 1207, -1333, -1333, -1333, -1333, -1333, 5606, 1680 616, -1333, 8461, -1333, 6448, 8289, -1333, -1333, -1333, 587, 1681 5606, 990, 1140, 1141, 1142, 1145, 1146, 1147, 1149, -1333, 1682 2845, 2359, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1683 -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 961, 1684 -1333, -1333, -1333, 986, -1333, -1333, -1333, -1333, -1333, -1333, 1685 -1333, -1333, -1333, -1333, 1150, 1152, -1333, 3, 1132, 9397, 1686 -1333, -1333, -1333, 9279, 1154, -1333, -1333, -1333, -1333, 860, 1687 5689, 1243, -1333, -1333, -1333, -1333, 1143, 3, -1333, -1333, 1688 961, -1333, -1333, 961, 14, 961, -1333, -1333, -1333, -1333, 1689 -1333, -1333, 6327, -1333, 216, -1333, -1333, 452, 487, 6327, 1690 1790, 9515, 2983, -1333, -1333, 1153, 20, 1153, -1333, 860, 1691 -1333, 109, -1333, -1333, 8090, 955, -1333, -1333, -1333, 959, 1692 1161, 1157, -1333, -1333, 1163, 1164, -1333, 960, 1700, -1333, 1693 539, -1333, 2130, 986, -1333, -1333, 1167, 10191, 8545, 8059, 1694 1169, -1333, -1333, 1165, 1170, 1171, -1333, 9515, 1173, 310, 1695 1177, -1333, 1180, 594, 1180, -1333, -1333, 1180, -1333, 1195, 1696 1197, 1201, 1631, -1333, -1333, -1333, 9279, -1333, -1333, -1333, 1697 1196, 9515, 730, -1333, 9515, -1333, 730, -1333, -1333, 9515, 1698 -1333, 748, 880, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1699 897, 8174, -1333, -1333, 6569, 1203, -1333, 758, 880, -1333, 1700 763, 830, 880, -1333, 1138, 4995, -1333, -1333, -1333, 5606, 1701 5606, -1333, 7691, 7691, 1205, 1210, 1223, 1209, -1333, 551, 1702 162, 1132, -1333, 730, -1333, 9338, -1333, 9515, 513, -1333, 1703 5964, 1214, 1227, 9220, 1234, 1235, 42, 160, 163, 9515, 1704 1237, 216, 9515, 9515, 1226, 304, 1229, -1333, -1333, -1333, 1705 1244, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1706 860, 1248, 9515, -1333, 5606, 5606, 109, 1254, -1333, 8205, 1707 -1333, -1333, 773, -1333, 2983, -1333, -1333, -1333, -1333, 972, 1708 -1333, -1333, 1250, -1333, -1333, -1333, -1333, 1257, 1700, -1333, 1709 -1333, 1241, -1333, 1085, -1333, -1333, 2376, 1256, -1333, -1333, 1710 -1333, 617, 1258, -1333, 38, 1266, 9515, 1245, 38, 38, 1711 1274, 878, 880, -1333, -1333, 1060, 9515, 1276, 1196, -1333, 1712 841, -1333, -1333, 1270, -1333, 215, -1333, 1279, 1270, -1333, 1713 1282, -1333, -1333, 961, 1283, 6206, 1284, 1285, 1286, -1333, 1714 -1333, 1290, -1333, -1333, 961, -1333, -1333, -1333, -1333, 961, 1715 9515, 9515, 897, 1291, -1333, -1333, -1333, -1333, -1333, -1333, 1716 -1333, -1333, -1333, -1333, -1333, 9515, 9515, 1295, 1297, 1270, 1717 -1333, -1333, 860, -1333, -1333, -1333, 7124, 8545, 9515, 9515, 1718 1350, 9515, -1333, 1278, -1333, 1280, -1333, 1288, 9515, 1293, 1719 9515, 1056, 1298, 72, 109, 2402, -1333, -1333, 5689, 1287, 1720 521, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1721 9036, -1333, 7691, 1305, -1333, -1333, 8545, 522, 524, -1333, 1722 1308, 1302, 866, 1318, -1333, 325, -1333, -1333, -1333, -1333, 1723 961, 1324, -1333, -1333, 1328, 1363, -1333, -1333, 1363, 1363, 1724 730, 1333, 1026, 1220, -1333, 1339, -1333, 5606, -1333, -1333, 1725 -1333, -1333, 1340, -1333, 5606, 5606, 5606, -1333, -1333, 1341, 1726 -1333, 1342, 1345, 1347, 600, 7385, 7502, -1333, -1333, -1333, 1727 -1333, 1352, -1333, 7763, 633, 634, 1353, 658, 5821, -1333, 1728 -1333, -1333, 528, -1333, 659, 1362, 1364, 216, 1401, 965, 1729 -1333, -1333, 9515, -1333, 9220, 9515, -1333, -1333, -1333, 1365, 1730 1367, -1333, -1333, -1333, 1358, -1333, -1333, -1333, -1333, -1333, 1731 -1333, 8545, 866, 1373, -1333, 1368, 866, 5606, -1333, -1333, 1732 -1333, 730, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1733 -1333, -1333, -1333, -1333, 1384, 1391, -1333, -1333, -1333, -1333, 1734 -1333, -1333, -1333, 1404, -1333, 1408, -1333, 9220, 198, 9515, 1735 9220, -1333, 1406, 9515, -1333, 323, 1378, 1427, -1333, -1333, 1736 1416, 1417, 1395, -1333, 910, -1333, -1333, -1333, 1096, 2376, 1737 1413, -1333, 326, 9515, -1333, 663, -1333, 1270, 730, 730, 1738 1420, 1424, 1425, 1434, -1333, -1333, 7691, 1429, -1333, 1489, 1739 9515, 1426, -1333, -1333, 9130, -1333, 689, -1333, 1414, 9220, 1740 1418, -1333, -1333, 1445, -1333, 1449, -1333, 1467, 1469, -1333, 1741 1435, 8545, -1333, -1333, -1333, 866, 594, 1456, 1436, 1460, 1742 1466, 1270, 1270, -1333, -1333, -1333, -1333, -1333, 9220, 194, 1743 -1333, 376, -1333, -1333, 7048, -1333, -1333, 1447, 9515, -1333, 1744 9515, 7048, 216, 8689, 216, 8689, 1470, -1333, 1471, -1333, 1745 -1333, 1477, -1333, -1333, 720, -1333, -1333, -1333, -1333, 1473, 1746 1481, -1333, 9515, 9515, -1333, -1333, 991, 94, -1333, -1333, 1747 1462, -1333, 991, -1333, -1333, 2158, 594, -1333, -1333, 216, 1748 8689, 216, 8689, 1487, 1463, 594, -1333, -1333, -1333, -1333, 1749 9130, 1484, 991, 5522, 9515, 9040, 1485, 991, 1493, 2158, 1750 3005, -1333, -1333, -1333, 1494, -1333, -1333, -1333, -1333, 8059, 1751 -1333, -1333, -1333, 8905, -1333, 9130, -1333, -1333, 1474, 8815, 1752 -1333, -1333, 9040, 216, 3005, 216, 1498, 1500, 729, -1333, 1753 8905, -1333, -1333, -1333, 8815, -1333, -1333, -1333, 216, 216, 1754 -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333 1754 1755 }; 1755 1756 … … 1757 1758 static const yytype_int16 yypgoto[] = 1758 1759 { 1759 -13 23, 4572, 3263, -1323, 197, -1323, 601, 950, -251, 910,1760 -13 23, 521, -520, -467, -853, -64, 3183, 0, -1323, -150,1761 423, 446, 477, 450, 1016, 1025, 1019, 1026, 1028, -1323,1762 -622, -408, 5012, -745, -1323, -735, 604, 472, -656, 413,1763 -1323, 1279, -1323, 374, -1058, -1323, -1323, 126, -1323, -823,1764 -1 106, 222, -1323, -1323, -1323, -1323, 58, -1209, -1323, -1323,1765 -13 23, -1323, -1323, -1323, 301, -1149, 35, -1323, -933, -1323,1766 482, 274, -1323, 159, -1323, -303, -1323, -1323, -1323, 535,1767 -827, -1323, -1323, 15, -1007, 71, 28, -1323, -1323, -1323,1768 -21, -1323, 357, 1253, -198, 1636, 4113, -1323, -1323, 80,1769 54, 422, 1473, -1323, 1886, -1323, -1323, 192, 2183, -1323,1770 2495, 898, -1323, -1323, -1323, -638, -1323, 924, 925, 524,1771 699, 83, -1323, -1323, -1323, 915, 695, -339, -1323, -106,1772 34, 1281, -1323, -1323, -847, -986, 1046, 1127, 1039, 5,1773 -1323, 1536, 481, -165, -210, -124, 651, 758, -1323, 979,1774 -13 23, 2789, 1548, -413, 904, -1323, -1323, 689, -1323, -235,1775 -13 23, 158, -1323, -1323, -1323, -1257, 401, -1323, -1323, -1323,1776 1148, -1323, 21, -1323, -1323, -858, -105, -1322, -129, 2267,1777 -1323, 2391, -1323, 906, -1323, -184, 59, -180, -173, -170,1778 7, -40, -35, -33, 60, -6, 25, 93, -168, -164,1779 -158, -147, -144, -292, -471, -462, -452, -551, -302, -537,1780 -1323, -1323, -511, 1069, 1072, 1074, 2608, 4844, -578, -514,1781 -5 02, -495, -500, -1323, -508, -724, -717, -708, -590, -305,1782 - 195, -1323, -1323, 246, 19, 36, -1323, 3865, 104, -623,1783 -3971760 -1333, 3826, 2645, -1333, 849, -1333, 762, 867, -112, 956, 1761 -1333, 580, -517, -490, -904, -999, -1333, -62, 4003, 0, 1762 -1333, 676, 547, 572, 581, 571, 1057, 1058, 1059, 1055, 1763 1061, -1333, 963, -485, 4467, -910, -1333, -1333, 665, 184, 1764 -691, 319, -1333, 356, -1333, 440, -1283, -1333, -1333, 176, 1765 -1333, -1072, -1062, 285, -1333, -1333, -1333, -1333, 107, -1332, 1766 -1333, -1333, -1333, -1333, -1333, -1333, 359, -1109, 16, -1333, 1767 -288, -1333, 535, 330, -1333, 208, -1333, -237, -1333, -1333, 1768 -1333, 596, -693, -1333, -1333, 9, -933, 372, 2238, -1333, 1769 -1333, -1333, -57, -1333, 110, 36, -194, 1419, 3198, -1333, 1770 -1333, 12, 61, 1486, 1572, -1333, 1265, -1333, -1333, 21, 1771 1950, -1333, 2034, 1735, -1333, -1333, -1333, -611, -1333, 975, 1772 976, 584, 761, 136, -1333, -1333, -1333, 967, 755, -456, 1773 -1333, -528, -433, 832, -1333, -1333, -922, -915, -420, 1560, 1774 1084, 19, -1333, 388, 467, -359, -203, -145, 706, 811, 1775 -1333, 1028, -1333, 2348, 798, -442, 958, -1333, -1333, 740, 1776 -1333, -233, -1333, 118, -1333, -1333, -1333, -1243, 466, -1333, 1777 -1333, -1333, 1188, -1333, -1, -1333, -1333, -832, -108, -1152, 1778 -131, 3669, -1333, 4255, -1333, 951, -1333, -125, 120, -178, 1779 -173, -170, 7, -41, -40, -39, 619, -5, 25, 46, 1780 -4, -167, -166, -158, -157, -296, -519, -516, -510, -538, 1781 -311, -552, -1333, -1333, -514, 1111, 1112, 1114, 1610, 4174, 1782 -565, -560, -546, -522, -389, -1333, -475, -720, -716, -715, 1783 -584, -222, -287, -1333, -1333, 47, 102, -51, -1333, 3453, 1784 108, -602, -196 1784 1785 }; 1785 1786 … … 1787 1788 positive, shift that token. If negative, reduce the rule which 1788 1789 number is the opposite. If YYTABLE_NINF, syntax error. */ 1789 #define YYTABLE_NINF -52 21790 #define YYTABLE_NINF -527 1790 1791 static const yytype_int16 yytable[] = 1791 1792 { 1792 49, 113, 407, 149, 453, 399, 428, 97, 150, 440, 1793 151, 267, 400, 753, 767, 401, 114, 1071, 408, 106, 1794 106, 402, 974, 280, 869, 828, 965, 403, 57, 57, 1795 505, 845, 49, 966, 1188, 50, 1172, 152, 404, 97, 1796 597, 405, 967, 147, 383, 384, 741, 610, 1070, 49, 1797 357, 106, 827, 143, 70, 920, 161, 605, 410, 96, 1798 57, 795, 177, 186, 819, 1380, 209, 50, 153, 49, 1799 193, 56, 115, 216, 923, 1303, 226, 1440, 949, 726, 1800 69, 281, 407, 731, 219, 399, 70, 820, 106, 31, 1801 31, 96, 400, 724, 57, 401, 425, 57, 408, 821, 1802 31, 402, 148, 56, 831, 113, 822, 403, 96, 162, 1803 838, 261, 69, 113, 262, 670, 266, 271, 404, 122, 1804 212, 405, 189, 194, 31, 96, 217, 31, 96, 227, 1805 816, 1138, 475, 477, 510, 679, 154, 210, 202, 817, 1806 220, 260, 1196, 683, 1304, 149, 307, 147, 1440, 818, 1807 150, 1198, 151, 166, 161, 113, 345, 548, 549, 252, 1808 209, 411, 411, 1459, 31, 986, 527, 373, 1200, 629, 1809 419, 31, 411, 633, 1170, 1171, 291, 715, 1178, 152, 1810 914, 1182, 965, 1235, 348, 186, 186, 1239, 203, 966, 1811 358, 342, 76, 161, 1078, 548, 721, 481, 967, 411, 1812 668, 266, 1197, 1469, 1179, 952, 96, 162, 832, 49, 1813 153, 1199, 835, 1201, 1187, 409, 161, 166, 123, 96, 1814 374, 209, 665, 439, 76, 149, 252, 329, 443, 1179, 1815 150, 548, 151, 852, 829, 471, 602, 855, 666, 307, 1816 1172, 836, 1030, 602, 398, 189, 162, 1017, 816, 57, 1817 327, 49, 1140, 735, 176, -233, -233, 817, 97, 271, 1818 476, 674, 676, 1081, 271, 266, 266, 818, 96, 162, 1819 106, 113, 463, 161, 1016, 442, 1004, 483, 154, 57, 1820 96, 444, 1188, 992, 500, 923, 50, 142, 924, 1249, 1821 1172, 657, 441, 1527, 307, 163, 665, 860, 861, 820, 1822 146, 610, 1094, 176, 1485, 70, 176, 307, 1205, 1206, 1823 96, 821, 666, 436, 878, 831, 597, 1250, 822, 672, 1824 1542, 597, 56, 572, 479, 677, -233, 357, 147, 730, 1825 923, 69, 567, 1399, 1400, 373, 168, 155, 1513, 377, 1826 1515, 113, 816, 327, 580, 345, 411, 476, 743, 603, 1827 621, 817, 176, 177, 1071, 378, 828, 63, 736, 163, 1828 169, 818, 1399, 1400, 626, 1139, 568, 1497, 626, 569, 1829 630, 113, 932, 1502, 634, 436, 748, 589, 737, 899, 1830 110, 144, 139, 140, 1246, 1070, 447, 96, 374, 63, 1831 987, 41, 42, 1522, 1202, 805, 266, 471, 1529, 171, 1832 769, 770, 771, 1401, 212, 460, 186, 342, 604, 1172, 1833 845, 166, 578, 373, 799, 176, 1030, 471, 579, 820, 1834 357, 583, 243, 411, 266, 471, 307, 307, 1170, 1171, 1835 266, 821, 1410, 626, 110, 1188, 1119, 854, 822, 1326, 1836 110, 715, 1188, 76, 1526, 41, 42, 684, 76, 599, 1837 1020, 41, 42, 579, 113, 435, 1120, 553, 554, 1327, 1838 1127, 348, 1363, 995, 1537, 189, 374, 358, -121, 176, 1839 -121, 1541, 266, 760, -121, 493, 176, 705, 494, 765, 1840 266, 387, 626, 706, 49, 357, 953, 373, 720, -121, 1841 -121, 97, 229, 1188, 113, 230, 923, 388, 234, 1085, 1842 236, 557, 558, 106, 911, 1245, 307, 245, 113, 1158, 1843 1160, 307, 57, 307, 307, 1136, 714, 435, 1424, 50, 1844 913, 751, 1017, 610, 870, 113, 345, 212, 882, 1105, 1845 327, 327, 1425, 1015, 1429, 1430, 559, 560, 70, 883, 1846 523, 411, 1102, 96, 1117, 176, 722, 604, 1435, 1470, 1847 880, 181, 723, 163, 348, 56, 923, 923, 110, 390, 1848 358, 342, 176, 1471, 69, 110, 176, 139, 140, 41, 1849 42, 572, 572, 555, 556, 391, 41, 42, 1127, 307, 1850 1444, 110, 201, 914, 2, 206, 4, 5, 6, 7, 1851 626, 345, 41, 42, 286, 621, 392, 1331, 327, -289, 1852 715, 603, 111, 603, 865, 41, 42, 973, 63, 997, 1853 76, 247, 393, 472, 805, 1475, 250, 327, 732, 348, 1854 1333, 626, 1475, -517, 733, 358, 626, 847, 621, 176, 1855 76, 514, 626, 1361, 229, 626, 626, 626, 76, 871, 1856 -468, 643, -468, 862, 848, 886, 1015, 411, 849, 35, 1857 394, 36, 1028, 626, 915, 266, 252, 877, 872, -468, 1858 815, 471, 604, 348, 348, 348, 395, 1142, 917, 411, 1859 916, 807, 1075, 1523, 1444, 915, 76, 442, 917, 1444, 1860 1185, 348, 263, 327, 918, 113, 37, 929, 908, 1185, 1861 40, 1082, 1317, -10, 1083, 597, 1186, 41, 42, 1444, 1862 692, 498, 805, 110, 357, 1309, 1444, 1409, 1318, 1113, 1863 1237, 626, 934, 621, 41, 42, 747, -441, 1319, 720, 1864 720, 748, 748, 43, 407, 846, 399, 561, 562, 893, 1865 599, 45, 46, 400, 1320, 748, 401, 1364, 500, 348, 1866 408, -442, 402, 895, 1035, 113, 345, 912, 403, 748, 1867 751, 751, 523, 212, 523, 276, 571, 523, 411, 404, 1868 523, 923, 405, 981, 45, 46, 519, 212, 850, 982, 1869 1277, 1278, 851, 278, 229, 472, 234, 923, 815, 604, 1870 714, 342, 965, 1154, 850, 411, 1374, 176, 1101, 966, 1871 1477, 750, 1478, 411, 572, 472, 279, -103, 967, 45, 1872 46, -103, 626, 472, 626, 110, 1000, 139, 140, 626, 1873 345, 330, 933, 603, 602, 1162, 41, 42, 994, 176, 1874 45, 46, 37, 1233, 706, 603, 40, 331, 1349, 579, 1875 348, 1357, 1350, 41, 42, 176, 332, 748, 348, 712, 1876 1358, 63, 715, 371, 358, 1524, 748, 923, 923, 176, 1877 548, 985, 982, 465, 8, 9, 10, 11, 12, 813, 1878 212, 602, 329, 411, 229, 953, 372, 45, 46, 953, 1879 953, 1360, 815, 550, 76, 307, 1365, 748, -290, 551, 1880 552, 333, 748, 31, 604, 8, 9, 10, 11, 12, 1881 807, 510, 1370, 1371, 106, 1427, 334, 626, 673, 675, 1882 76, 1424, 665, 57, 113, 345, 908, 911, 908, 335, 1883 1445, 34, 1183, 376, 31, 37, 748, 385, 666, 40, 1884 113, 715, 1157, 913, 602, 389, 41, 42, 805, 70, 1885 176, 692, 409, 934, 934, 1491, 1419, 982, 720, 714, 1886 342, 1492, 34, 113, 307, 129, 56, 130, 131, 132, 1887 48, 112, 719, 1399, 1400, 69, 41, 42, 1106, 397, 1888 45, 46, 106, 1547, 214, 1084, 426, 912, 751, 579, 1889 1159, 57, 602, 427, 1509, 1426, 772, 773, 519, 112, 1890 112, 432, 48, 519, 450, 1324, 519, 738, 1242, 739, 1891 411, 1437, 740, 48, 1088, 744, 1088, 604, -365, 48, 1892 345, 774, 775, 1228, -394, 484, 37, 48, 174, 175, 1893 40, 780, 781, 48, 1107, 214, 48, 41, 42, 48, 1894 461, 626, 626, 1127, 462, 2, 206, 4, 5, 6, 1895 7, 504, 112, 112, 776, 777, 778, 779, 291, 472, 1896 788, 307, 2, 206, 4, 5, 6, 7, 327, 348, 1897 348, 528, 529, 530, 508, 1169, 48, 442, 214, 48, 1898 106, 1495, 1437, 513, 525, 472, 48, 76, 111, 57, 1899 527, 228, 1381, 563, 564, 531, 1381, 532, 566, 533, 1900 534, 113, 252, 329, 411, 565, 908, 419, 661, 411, 1901 35, 908, 36, 569, 176, 70, 338, 48, -438, 587, 1902 934, 658, 659, 712, 846, 48, -291, 35, 266, 36, 1903 48, 590, 56, 8, 9, 10, 11, 12, -3, 214, 1904 639, 1190, 660, 626, 481, 329, 411, 662, 663, 761, 1905 664, 829, 329, 602, 766, 48, 48, 37, 667, 183, 1906 184, 40, 31, 669, 257, 912, 693, 345, 41, 42, 1907 912, 48, 694, -3, 696, 498, 698, 214, -237, 48, 1908 734, 745, 214, 1296, 1297, 1298, 692, 749, 48, 757, 1909 34, 48, 808, 1460, 906, 809, 411, -12, 112, 812, 1910 823, 714, 45, 46, 465, 1332, 1334, 1335, -13, 271, 1911 113, 867, 868, 112, 874, 907, 894, 112, 896, 897, 1912 922, 48, 112, 901, 904, 219, -415, 723, 113, 106, 1913 -521, 944, 307, 937, 946, 48, 48, 57, 57, 957, 1914 950, 959, 48, 958, 960, 951, 626, -292, 961, 48, 1915 113, 106, 63, 76, 8, 9, 10, 11, 12, 962, 1916 57, 978, 989, 212, 342, 1106, 990, 991, 214, 106, 1917 1006, 1007, 1008, 1009, 116, 879, 1010, 881, 57, 1011, 1918 210, 220, 712, 31, 1012, 1023, 70, -403, 37, -402, 1919 183, 184, 40, 1037, 1422, 626, 626, 1072, 48, 41, 1920 42, 1535, 1074, 56, 271, 1095, 907, 1096, 1059, 307, 1921 1097, 34, 69, 1098, 1104, 1114, 748, 1115, 48, 48, 1922 1116, 1107, 159, 348, 348, 185, 1118, 928, 106, 1352, 1923 1121, 1123, 57, 45, 46, 48, 972, 57, 1124, 48, 1924 1125, 1126, 113, 407, 1132, 1129, 399, 692, 1152, 214, 1925 644, 1173, 1174, 400, 173, 1175, 401, 1106, 442, 408, 1926 1176, 106, 402, 70, 1177, 1191, 48, 665, 403, 1192, 1927 57, 1194, 1195, 1203, 1210, 441, 48, 1207, 258, 404, 1928 56, 1208, 405, 666, 1215, -3, 159, 1220, 1225, 1190, 1929 1223, 214, 1241, 493, 48, 1229, 253, 1508, 1234, 266, 1930 48, 1236, 48, 1421, 1238, 1247, 1251, 1253, 1255, 110, 1931 1257, 139, 238, 1107, 1258, 626, 1263, 1259, 472, 323, 1932 41, 42, 1260, 1261, 76, 176, 1270, 37, 339, 174, 1933 175, 40, 1279, 110, 1280, 139, 140, 112, 41, 42, 1934 113, 1287, 48, 348, 41, 42, 239, 1290, 1291, 1292, 1935 48, 240, 1330, 1294, 48, 1106, 1302, 1308, 48, 106, 1936 1315, 112, 113, 112, 372, 1323, 1321, 1325, 57, 113, 1937 727, 113, 1336, 113, 1329, 728, 1337, 1193, 430, 1339, 1938 1345, 106, 434, 1346, 1347, 1348, 149, 1359, 106, 1355, 1939 57, 150, 417, 151, 1356, 1366, 1367, 57, 112, 1298, 1940 1375, 76, 1507, 112, 1384, 1376, 1377, 113, 1383, 113, 1941 1393, 1107, 323, 214, 1394, 437, 70, -404, 1397, 1408, 1942 113, 1412, 1414, 70, 712, 445, 1507, 1507, 1416, 1417, 1943 703, 1423, 1418, 56, 161, 1441, 307, 1431, 1432, 106, 1944 56, 214, 1190, 1433, 434, 1434, 214, 488, 57, 1190, 1945 1350, 1507, 1436, 112, 1446, 1448, 1450, 1452, 373, 213, 1946 48, 1454, 1456, 1458, 1463, 1465, 1486, 521, 232, 1464, 1947 1476, 48, 1488, 48, 70, 1490, 1493, 1501, 1521, 1122, 1948 159, 1494, 1516, 1517, 1530, 479, 141, 1528, 1532, 63, 1949 1538, 56, 48, 520, 1545, 176, 1546, 889, 1209, 782, 1950 1190, 1133, 1131, 712, 784, 1133, 1307, 1411, 48, 783, 1951 213, 704, 785, 112, 588, 786, 1496, 214, 594, 1548, 1952 1369, 1385, 48, 1240, 112, 48, 112, 1214, 1479, 902, 1953 903, 214, 1089, 925, 215, 1222, 1093, 627, 241, 244, 1954 327, 631, 801, 1128, 339, 1059, 1036, 939, 873, 1103, 1955 242, 1316, 717, 213, 76, 1133, 66, 117, 48, 947, 1956 791, 76, 112, 792, 112, 793, 472, 37, 112, 174, 1957 175, 40, 0, 0, 0, 0, 112, 0, 41, 42, 1958 0, 0, 0, 1285, 1286, 215, 1288, 0, 66, 48, 1959 48, 0, 0, 1293, 0, 1295, 0, 0, 0, 323, 1960 323, 0, 0, 48, 376, 160, 0, 8, 9, 10, 1961 11, 12, 76, 0, 213, 0, 0, 1483, 0, 1483, 1962 0, 0, 0, 0, 214, 221, 0, 688, 215, 0, 1963 528, 529, 530, 0, 0, 0, 31, 703, 1373, 0, 1964 116, 0, 681, 0, 0, 0, 0, 8, 9, 10, 1965 11, 12, 213, 1483, 531, 1483, 532, 213, 533, 1306, 1966 0, 259, 0, 0, 34, 488, 0, 323, 707, 488, 1967 0, 0, 499, 0, 0, 0, 31, 0, 0, 521, 1968 0, 521, 0, 48, 521, 0, 323, 521, 0, 215, 1969 1398, 0, 0, 1406, 0, 48, 0, 0, 339, 457, 1970 0, 0, 0, 328, 34, 520, 571, 0, 411, 0, 1971 520, 259, 350, 520, 45, 46, 0, 0, 704, 472, 1972 0, 0, 0, 0, 0, 0, 472, 215, 0, 0, 1973 0, 0, 215, 0, 0, 0, 1443, 0, 644, 0, 1974 0, 1447, 406, 213, 112, 0, 750, 0, 411, 0, 1975 0, 1405, 323, 0, 45, 46, 703, 424, 0, 0, 1976 429, 431, 0, 803, 0, 160, 703, 48, 0, 1468, 1977 1133, 1133, 1133, 0, 0, 0, 48, 472, 48, 0, 1978 703, 0, 0, 0, 0, 112, 448, 0, 0, 0, 1979 451, 0, 452, 0, 844, 0, 0, 0, 0, 594, 1980 0, 459, 0, 0, 0, 853, 74, 66, 48, 0, 1981 0, 0, 473, 0, 0, 0, 0, 0, 215, 0, 1982 0, 214, 480, 0, 213, 0, 0, 0, 112, 0, 1983 431, 8, 9, 10, 11, 12, 645, 704, 74, 0, 1984 0, 213, 644, 0, 0, 0, 0, 704, 0, 0, 1985 112, 0, 0, 1536, 112, 0, 0, 0, 688, 1536, 1986 31, 704, 0, 0, 0, 0, 213, 0, 0, 891, 1987 1536, 0, 892, 0, 1536, 222, 0, 0, 898, 0, 1988 0, 0, 900, 0, 0, 0, 0, 0, 34, 0, 1989 0, 37, 0, 183, 184, 40, 488, 259, 0, 215, 1990 0, 595, 41, 42, 112, 0, 0, 623, 1133, 1133, 1991 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, 1992 628, 0, 0, 0, 628, 0, 0, 259, 265, 0, 1993 933, 0, 602, 0, 0, 0, 45, 46, 45, 46, 1994 0, 215, 112, 0, 0, 0, 1461, 725, 0, 729, 1995 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 1996 0, 48, 353, 535, 536, 537, 538, 539, 540, 541, 1997 542, 543, 544, 545, 473, 0, 0, 996, 48, 0, 1998 0, 0, 803, 0, 703, 703, 0, 0, 213, 350, 1999 0, 988, 0, 0, 473, 0, 0, 546, 0, 0, 2000 0, 993, 473, 0, 1510, 0, 0, 214, 0, 0, 2001 0, 0, 0, 1518, 0, 1005, 213, 0, 0, 0, 2002 699, 213, 37, 431, 183, 184, 40, 0, 0, 0, 2003 0, 0, 0, 41, 42, 0, 449, 0, 713, 0, 2004 66, 0, 703, 703, 0, 0, 0, 0, 431, 0, 2005 0, 0, 431, 0, 0, 112, 0, 74, 0, 601, 2006 0, 602, 74, 215, 0, 704, 704, 45, 46, 0, 2007 803, 0, 0, 0, 0, 0, 0, 339, 48, 0, 2008 0, 259, 350, 0, 0, 0, 0, 0, 0, 0, 2009 0, 215, 213, 688, 0, 0, 215, 0, 1080, 866, 2010 0, 0, 214, 77, 0, 0, 213, 0, 0, 0, 2011 0, 0, 0, 0, 0, 488, 1108, 323, 0, 112, 2012 112, 112, 0, 704, 704, 0, 499, 0, 794, 37, 2013 0, 183, 184, 40, 0, 77, 0, 0, 0, 0, 2014 41, 42, 0, 0, 0, 0, 628, 806, 919, 0, 2015 921, 0, 0, 0, 457, 0, 0, 222, 37, 825, 2016 183, 184, 40, 0, 0, 0, 906, 215, 411, 41, 2017 42, 0, 223, 844, 45, 46, 0, 595, 0, 0, 2018 0, 215, 595, 0, 0, 0, 0, 0, 628, 0, 2019 1313, 350, 350, 350, 0, 1506, 0, 411, 0, 213, 2020 0, 0, 0, 45, 46, 0, 0, 0, 0, 350, 2021 0, 0, 0, 124, 127, 128, 0, 0, 0, 1167, 2022 1168, 0, 703, 0, 74, 0, 0, 699, 0, 0, 2023 703, 703, 703, 0, 0, 0, 0, 0, 473, 353, 2024 0, 0, 0, 0, 74, 0, 0, 0, 48, 48, 2025 0, 1204, 74, 0, 688, 0, 0, 112, 112, 355, 2026 0, 0, 0, 0, 473, 0, 0, 350, 0, 0, 2027 353, 1314, 0, 0, 215, 0, 938, 1217, 1218, 431, 2028 0, 0, 0, 0, 0, 254, 0, 255, 353, 0, 2029 74, 0, 0, 0, 703, 112, 803, 0, 0, 0, 2030 0, 259, 713, 704, 0, 0, 0, 968, 0, 0, 2031 0, 704, 704, 704, 0, 0, 0, 0, 0, 0, 2032 0, 0, 0, 0, 645, 0, 0, 0, 0, 0, 2033 1040, 0, 353, 0, 0, 0, 0, 126, 126, 126, 2034 0, 0, 0, 0, 0, 0, 699, 0, 0, 0, 2035 0, 0, 48, 112, 77, 0, 699, 0, 350, 77, 2036 628, 0, 112, 1003, 0, 628, 806, 0, 396, 0, 2037 699, 1090, 0, 0, 0, 704, 48, 48, 415, 416, 2038 1014, 339, 0, 420, 0, 422, 423, 0, 0, 0, 2039 0, 0, 0, 0, 0, 0, 213, 353, 0, 0, 2040 0, 48, 0, 1108, 0, 0, 0, 0, 0, 126, 2041 0, 126, 0, 0, 0, 79, 0, 0, 0, 0, 2042 0, 0, 0, 0, 0, 0, 0, 0, 645, 0, 2043 0, 66, 0, 0, 0, 0, 275, 0, 0, 0, 2044 0, 353, 353, 353, 0, 0, 0, 79, 0, 0, 2045 0, 0, 0, 628, 223, 0, 0, 1338, 0, 353, 2046 259, 713, 0, 0, 1086, 1340, 1341, 1342, 0, 0, 2047 0, 215, 0, 0, 0, 0, 0, 353, 0, 0, 2048 0, 0, 0, 0, 224, 0, 0, 0, 74, 0, 2049 1100, 0, 126, 0, 0, 1108, 0, 1368, 431, 117, 2050 126, 0, 126, 126, 0, 0, 0, 126, 0, 126, 2051 126, 0, 0, 0, 74, 0, 0, 353, 0, 0, 2052 0, 77, 0, 0, 0, 0, 0, 0, 1040, 1386, 2053 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 2054 0, 77, 0, 0, 0, 0, 0, 0, 0, 77, 2055 0, 0, 353, 0, 0, 0, 595, 8, 9, 10, 2056 11, 12, 0, 0, 0, 0, 0, 355, 0, 429, 2057 0, 356, 0, 0, 699, 699, 0, 350, 350, 126, 2058 0, 0, 213, 0, 0, 355, 31, 77, 0, 0, 2059 0, 0, 0, 1108, 0, 0, 353, 1189, 0, 0, 2060 0, 0, 0, 0, 0, 0, 353, 0, 353, 0, 2061 0, 0, 0, 222, 34, 0, 353, 0, 0, 37, 2062 353, 183, 184, 40, 1482, 0, 1482, 0, 0, 355, 2063 41, 42, 699, 699, 0, 0, 0, 0, 0, 0, 2064 0, 1283, 0, 0, 0, 0, 0, 0, 0, 1480, 2065 0, 1484, 0, 0, 0, 0, 601, 215, 602, 0, 2066 1482, 0, 1482, 0, 45, 46, 79, 0, 0, 0, 2067 0, 79, 0, 0, 0, 0, 0, 213, 0, 628, 2068 0, 74, 0, 0, 0, 1512, 0, 1514, 0, 323, 2069 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 2070 0, 0, 0, 713, 0, 0, 0, 0, 0, 86, 2071 0, 353, 0, 0, 0, 0, 0, 413, 0, 0, 2072 0, 0, 0, 0, 421, 0, 0, 0, 0, 1543, 2073 0, 1544, 0, 0, 0, 0, 0, 0, 355, 355, 2074 355, 86, 0, 0, 1551, 1552, 1284, 0, 0, 0, 2075 0, 0, 215, 0, 0, 0, 355, 0, 0, 0, 2076 0, 0, 796, 797, 259, 0, 224, 0, 66, 0, 2077 0, 0, 0, 0, 355, 0, 0, 0, 225, 0, 2078 699, 0, 713, 0, 0, 77, 117, 0, 0, 0, 2079 0, 830, 0, 0, 833, 834, 413, 837, 0, 839, 2080 840, 0, 0, 0, 841, 842, 0, 0, 0, 0, 2081 0, 77, 699, 0, 355, 0, 0, 0, 0, 0, 2082 699, 699, 699, 0, 353, 353, 0, 353, 353, 0, 2083 0, 350, 350, 79, 0, 0, 0, 0, 8, 9, 2084 10, 11, 12, 0, 0, 1189, 0, 74, 356, 355, 2085 0, 577, 0, 79, 0, 0, 0, 0, 0, 581, 2086 0, 79, 584, 0, 0, 363, 0, 31, 0, 0, 2087 0, 0, 0, 0, 0, 0, 0, 0, 117, 356, 2088 0, 0, 353, 353, 699, 0, 126, 126, 0, 0, 2089 0, 0, 0, 355, 0, 34, 0, 356, 0, 79, 2090 37, 0, 0, 355, 40, 355, 0, 0, 0, 0, 2091 223, 41, 42, 355, 0, 126, 0, 355, 126, 126, 2092 0, 126, 0, 126, 126, 0, 413, 0, 126, 126, 2093 421, 0, 0, 0, 0, 0, 0, 43, 0, 0, 2094 0, 356, 970, 971, 0, 45, 46, 0, 0, 0, 2095 0, 350, 0, 353, 0, 0, 0, 0, 0, 0, 2096 86, 0, 0, 0, 0, 86, 0, 0, 0, 0, 2097 0, 0, 0, 0, 0, 0, 117, 0, 77, 0, 1793 49, 113, 149, 150, 151, 449, 396, 97, 266, 425, 1794 114, 397, 69, 757, 398, 436, 50, 399, 400, 732, 1795 949, 76, 380, 381, 950, 951, 401, 402, 1049, 831, 1796 814, 143, 49, 806, 934, 854, 602, 116, 152, 97, 1797 693, 805, 743, 147, 69, 704, 717, 807, 50, 49, 1798 722, 597, 784, 76, 259, 407, 160, 813, 1360, 31, 1799 404, 70, 1118, 185, 664, 666, 208, 122, 153, 49, 1800 192, 808, 904, 215, 802, 621, 225, 803, 218, 625, 1801 1148, 1149, 201, 804, 563, 158, 396, 1165, 1150, 154, 1802 31, 397, 422, 70, 398, 522, 162, 399, 400, 844, 1803 844, 279, 106, 106, 340, 113, 401, 402, 374, 1159, 1804 63, 1227, 167, 113, 1173, 844, 265, 270, 564, 289, 1805 96, 589, 1182, 1183, 375, 260, 1056, 211, 261, 471, 1806 473, 721, 202, 408, 106, 1282, 168, 123, -239, -239, 1807 404, 257, 63, 149, 150, 151, 308, 147, 31, 158, 1808 734, 937, 96, 1510, 160, 113, 343, 165, 1441, 208, 1809 162, 280, 251, 148, 408, 406, 370, 1048, 501, 96, 1810 949, 106, 846, 844, 950, 951, 1174, 142, 660, 152, 1811 1525, 405, 324, 188, 185, 185, 96, 863, 711, 96, 1812 802, 338, 160, 803, 845, 845, 1222, 669, 467, 804, 1813 265, 908, 1509, 898, 658, 673, 1283, 817, 49, 153, 1814 845, -239, 472, 824, 788, 160, 251, 330, 408, 31, 1815 208, 165, 1520, 149, 150, 151, 31, 439, 1422, 1524, 1816 154, 1312, 1175, 1315, 1317, 1177, 435, 472, 308, 806, 1817 427, 693, 1380, 1381, 430, 916, 998, 985, 31, 459, 1818 49, 31, 144, 807, 328, 431, 705, 97, 270, 714, 1819 1155, 405, 69, 270, 265, 265, 50, 96, 845, 974, 1820 113, 76, 160, 997, 324, 1059, 76, 808, 655, 96, 1821 802, 438, 1178, 803, 602, 647, 1156, 1150, 582, 804, 1822 479, 416, 1452, 408, 1176, 308, 793, 496, 477, 384, 1823 408, 1422, 1232, 704, 395, 188, 430, 1072, 308, 484, 1824 146, 70, 1426, 662, 1382, 385, 432, 431, 1156, 667, 1825 815, 155, 594, 822, 566, 594, 1468, 1164, 96, 147, 1826 1233, 517, 170, 1148, 1149, 1165, 370, 840, 1179, 113, 1827 96, 1150, 519, 343, 158, 443, 328, 595, 613, 251, 1828 330, 655, 106, 814, 727, 162, 1049, 806, 467, 693, 1829 63, 1496, 618, 1498, 456, 468, 618, 1380, 1381, 693, 1830 96, 807, 56, 115, 728, 581, 285, 467, 432, 586, 1831 693, 572, 622, 180, 475, 467, 626, 573, 726, 41, 1832 42, 589, 200, 265, 1480, 808, 589, 831, 619, 656, 1833 1485, 818, 623, 185, 56, 821, 1063, 1367, 1426, 211, 1834 370, 172, 817, 1426, 738, 510, 165, 376, 141, -294, 1835 1505, 265, 1097, 308, 308, 1512, 838, 265, 969, 618, 1836 841, 246, 110, 1426, 110, 884, 76, 1305, 209, 1391, 1837 1426, 219, 1098, 249, 1405, 41, 42, 41, 42, 96, 1838 113, 591, 1095, 252, 1417, 76, 704, 1306, 1406, 324, 1839 324, 1150, -522, 76, 1411, 1412, 387, 596, 265, 251, 1840 240, 243, 656, 750, 1116, 755, 265, 1104, 618, 515, 1841 49, -12, 388, 370, 710, 1083, 678, 97, 549, 550, 1842 113, 1165, 69, 855, 1453, 1048, 50, 682, 1165, 116, 1843 602, 76, 308, 1221, 113, 978, 674, 308, 1454, 308, 1844 308, 389, 573, 998, 705, 996, 867, 741, 391, 899, 1845 856, 343, 633, 188, 484, 468, 324, 390, 484, 834, 1846 211, 328, 328, 835, 392, 900, 695, 865, 517, 857, 1847 517, 70, 696, 517, 468, 324, 517, 262, 414, 519, 1848 1165, 519, 468, 895, 519, -446, 901, 519, 2, 205, 1849 4, 5, 6, 7, 489, 566, 566, 490, 712, 1147, 1850 899, 433, 902, 308, 713, 1343, 574, 1341, 408, 693, 1851 693, 441, 106, 618, 343, 723, 1060, 613, 702, 1104, 1852 63, 724, 437, 595, 898, 595, 795, 737, 328, -447, 1853 96, 1136, 1138, 738, 596, 901, 878, 663, 665, 324, 1854 836, 1213, 738, 618, 837, 467, 938, 328, 618, 791, 1855 613, 1061, 56, 35, 618, 36, 996, 618, 618, 275, 1856 453, 1162, 880, 833, 693, 693, 277, 1001, 738, 1162, 1857 1296, 913, 1298, 618, 1008, 265, 738, 1163, 847, 830, 1858 331, 516, 1390, 836, 586, 1288, 1297, 1079, 1299, 37, 1859 839, 862, 1344, 40, 1053, -112, 110, 705, 161, -112, 1860 1257, 1258, 41, 42, 897, 113, 438, 546, 892, 41, 1861 42, 328, 193, 547, 548, 216, 515, 278, 226, 963, 1862 332, 515, 704, 76, 515, 964, 1091, 577, 799, 408, 1863 594, 618, 918, 613, 551, 552, 45, 46, 1014, 710, 1864 710, 678, 396, 801, 1330, 596, 333, 397, 1331, 76, 1865 398, 832, 682, 399, 400, 334, 591, 1080, 976, 1209, 1866 335, 1458, 401, 402, 696, 573, 343, 1460, 1458, 1461, 1867 741, 741, 868, 496, 408, 1337, 1338, 336, 778, 484, 1868 211, 738, 738, 2, 205, 4, 5, 6, 7, 589, 1869 369, 553, 554, 111, 211, 635, 161, 404, 1354, 949, 1870 1340, 1345, 373, 950, 951, 1408, 738, 738, 371, 382, 1871 1292, 1405, 468, 566, 2, 205, 4, 5, 6, 7, 1872 1506, 386, 618, 1507, 981, 671, 555, 556, 896, 595, 1873 1140, 1427, 110, 871, 161, 408, 1211, 738, 468, 1109, 1874 1215, 595, 1110, 227, 1111, 41, 42, 693, 35, 394, 1875 36, 697, 1333, 423, 693, 693, 693, 161, 977, 801, 1876 596, 129, 1474, 130, 131, 132, 557, 558, 1475, 440, 1877 110, 1530, 139, 237, 41, 42, 702, 573, 565, 35, 1878 408, 36, 56, 41, 42, 211, 45, 46, 516, 1121, 1879 308, 408, 424, 516, 214, 406, 516, 48, 112, 1132, 1880 1160, 408, 69, 446, 1135, 716, 594, 720, 1407, 238, 1881 241, 76, 343, -3, 239, 330, 408, 693, 405, 343, 1882 892, -370, 892, -399, 795, 1419, 112, 112, 110, 48, 1883 139, 140, 480, 705, 113, 457, 175, 416, 651, 408, 1884 48, 41, 42, 110, 500, 214, 48, 918, 918, 801, 1885 1109, 70, 710, 1110, 48, 1111, 41, 42, 113, 308, 1886 48, 596, 110, 48, 139, 140, 48, 1084, 458, 655, 1887 678, 1137, 242, 594, 895, 41, 42, 289, 371, 112, 1888 112, 682, 741, 504, 1226, 175, 509, 214, 175, 506, 1889 967, 964, 106, 484, 1086, 324, 522, 1478, 1419, 729, 1890 63, 730, 559, 48, 731, 560, 48, 735, 1204, 562, 1891 705, 343, 938, 48, 544, 545, 938, 938, 561, 1218, 1892 1492, 408, 740, 337, 408, 477, 330, 408, -295, 702, 1893 45, 46, 618, 618, 583, 8, 9, 10, 11, 12, 1894 1062, -3, 896, 461, 48, 648, 876, 830, 214, 544, 1895 308, 851, 371, 1350, 1351, 883, 48, 1400, 964, 885, 1896 106, 1066, 1167, 1066, 31, 1380, 1381, 328, 649, 1104, 1897 650, 76, 596, 652, 37, 438, 182, 183, 40, 1228, 1898 1229, 48, 48, 653, 544, 654, 214, 41, 42, 113, 1899 656, 214, 34, 657, 892, 897, 175, 48, 659, 892, 1900 903, 917, 905, 594, 256, 48, 453, 684, 918, 45, 1901 46, 70, 683, 890, 48, 408, 265, 48, 686, 832, 1902 688, 45, 46, -243, 112, 678, 762, 763, 110, 725, 1903 1303, 815, 330, 594, 891, 1109, 682, 796, 1110, 112, 1904 1111, 41, 42, 112, 1275, 1276, 1277, 48, 112, 714, 1905 175, 739, 106, 764, 765, 343, 747, 175, 770, 771, 1906 468, 48, 48, -296, 766, 767, 768, 769, 48, 1314, 1907 8, 9, 10, 11, 12, 48, 214, -297, 8, 9, 1908 10, 11, 12, 798, 8, 9, 10, 11, 12, 809, 1909 37, -14, 182, 183, 40, -15, 270, 113, 37, 31, 1910 173, 174, 40, 41, 42, 852, 218, 31, 853, 1037, 1911 859, 41, 42, 31, 896, 879, 881, 886, 308, 896, 1912 1361, -420, 906, -526, 1361, 175, 48, 34, 921, 593, 1913 69, 594, 618, 713, 929, 34, 113, 45, 46, 76, 1914 931, 34, 175, 48, 48, 1084, 175, 8, 9, 10, 1915 11, 12, 759, 760, 761, 111, 214, 211, 936, 935, 1916 48, 942, 56, 943, 48, 702, 944, 945, 946, 947, 1917 1058, 635, 1086, 971, 634, 972, 31, 1019, 973, 70, 1918 961, 1403, 987, 988, 989, 618, 618, 990, 991, 992, 1919 48, 993, -408, 270, -407, 74, 1518, 214, 308, 106, 1920 48, 1016, 1050, 1073, 34, 1074, 1052, 1075, 1076, 1082, 1921 1167, 1092, 1093, 738, 1096, 891, 751, 1068, 48, 76, 1922 106, 756, 110, 1442, 48, 1099, 956, 74, 63, 1109, 1923 1085, 113, 1110, 1094, 1111, 41, 42, 1101, 106, 1102, 1924 1084, 396, 702, 1103, 1106, 1130, 397, 1151, 565, 398, 1925 408, 1154, 399, 400, 438, 1168, 45, 46, 1152, 70, 1926 112, 401, 402, 1316, 221, 48, 37, 1086, 1169, 461, 1927 40, 1153, 1170, 48, 635, 1171, 1172, 48, 1180, 41, 1928 42, 48, 1264, 1265, 112, 1267, 112, 1491, 1184, 265, 1929 1191, -3, 1272, 1186, 1274, 404, 1196, 1199, 37, 1201, 1930 106, 489, 40, 1205, 1210, 43, 618, 1402, 468, 1214, 1931 1212, 41, 42, 45, 46, 214, 1217, 1181, 1230, 655, 1932 1223, 112, 56, 1234, 1236, 1238, 112, 1266, 1239, 1240, 1933 1241, 113, 1243, 106, 1287, 1250, 864, 709, 866, 1259, 1934 1084, 1260, 1269, 214, 1270, 45, 46, 1294, 214, 66, 1935 117, 351, 1271, 957, 113, 1300, 110, 1273, 139, 140, 1936 1304, 113, 1281, 113, 1302, 113, 1167, 1086, 1019, 41, 1937 42, 1308, 1309, 1167, 112, 76, 1310, 1313, 149, 150, 1938 151, 66, 76, 1318, 1320, 1326, 1327, 1328, 912, 1329, 1939 48, 1277, 48, 175, 1339, 1490, 1336, 850, 159, 1465, 1940 113, 1465, 113, 1346, 1357, 1347, 1393, 1355, 175, 1356, 1941 1466, 48, 1466, 113, 1363, 70, 405, 214, 220, 1490, 1942 1490, 175, 70, 877, 445, 1167, 48, 160, 1374, 308, 1943 112, 214, 1364, 106, 76, 1375, 1465, 1037, 1465, 48, 1944 656, 112, 48, 112, 1490, 74, -409, 1466, 1389, 1466, 1945 74, 370, 1378, 1386, 258, 1395, 106, 1397, 1398, 1399, 1946 1404, 1418, 1413, 106, 468, 324, 1414, 1415, 209, 219, 1947 110, 468, 139, 140, 70, 48, 1416, 1331, 1428, 112, 1948 1262, 112, 1430, 41, 42, 112, 228, 1432, 1423, 229, 1949 56, 1434, 233, 112, 235, 1436, 329, 1438, 1445, 1440, 1950 1446, 244, 1447, 175, 258, 348, 48, 48, 1085, 718, 1951 1448, 1459, 1469, 1471, 719, 106, 37, 1476, 173, 174, 1952 40, 48, 214, 468, 1473, 1477, 1484, 1500, 1499, 41, 1953 42, 1504, 1511, 1353, 403, 1513, 1515, 328, 1521, 475, 1954 1528, 970, 1529, 874, 221, 1185, 772, 775, 773, 421, 1955 774, 975, 426, 428, 776, 369, 1108, 159, 1286, 1479, 1956 1392, 1531, 986, 1348, 1216, 437, 1365, 1349, 212, 1462, 1957 56, 8, 9, 10, 11, 12, 1190, 231, 444, 907, 1958 887, 888, 447, 1198, 448, 909, 1379, 544, 1067, 1387, 1959 1071, 790, 1105, 455, 1015, 1081, 48, 858, 707, 66, 1960 31, 923, 1295, 1085, 469, 932, 780, 781, 48, 782, 1961 74, 0, 0, 0, 476, 0, 0, 0, 0, 212, 1962 0, 0, 428, 0, 351, 0, 506, 228, 34, 74, 1963 0, 0, 0, 1425, 0, 1100, 0, 74, 1429, 0, 1964 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 1965 634, 0, 0, 0, 1112, 351, 112, 0, 1112, 0, 1966 0, 212, 0, 0, 0, 0, 0, 1451, 0, 31, 1967 968, 0, 740, 351, 408, 74, 0, 0, 0, 0, 1968 45, 46, 0, 0, 0, 0, 0, 48, 258, 48, 1969 0, 0, 587, 0, 494, 0, 112, 34, 615, 0, 1970 0, 0, 0, 1085, 523, 1112, 0, 0, 524, 525, 1971 526, 620, 214, 0, 0, 620, 351, 0, 1463, 48, 1972 1467, 0, 212, 0, 0, 0, 56, 0, 410, 0, 1973 0, 213, 527, 56, 528, 418, 529, 530, 0, 0, 1974 112, 917, 1009, 594, 0, 0, 0, 0, 0, 45, 1975 46, 0, 1519, 634, 0, 1495, 0, 1497, 1519, 112, 1976 212, 1145, 1146, 112, 469, 212, 228, 0, 233, 1519, 1977 0, 0, 0, 1519, 0, 0, 0, 0, 348, 351, 1978 495, 0, 213, 469, 907, 56, 0, 0, 0, 0, 1979 0, 469, 37, 0, 182, 183, 40, 0, 0, 1526, 1980 0, 1527, 1112, 0, 0, 41, 42, 410, 0, 689, 1981 112, 0, 428, 0, 1534, 1535, 1193, 1194, 0, 0, 1982 0, 0, 351, 351, 213, 0, 0, 703, 0, 66, 1983 907, 890, 0, 408, 0, 0, 0, 428, 351, 45, 1984 46, 428, 8, 9, 10, 11, 12, 112, 0, 0, 1985 212, 0, 0, 0, 228, 0, 351, 0, 0, 0, 1986 0, 48, 1119, 0, 571, 0, 48, 74, 0, 0, 1987 348, 31, 575, 0, 37, 578, 173, 174, 40, 0, 1988 77, 0, 0, 48, 0, 213, 0, 41, 42, 0, 1989 0, 0, 0, 74, 214, 0, 351, 0, 0, 34, 1990 0, 0, 0, 0, 37, 0, 0, 112, 40, 0, 1991 1009, 0, 77, 373, 0, 783, 0, 41, 42, 0, 1992 0, 0, 1112, 213, 1112, 1112, 0, 0, 213, 0, 1993 212, 351, 620, 794, 0, 410, 0, 0, 0, 418, 1994 0, 0, 0, 43, 811, 0, 212, 0, 0, 222, 1995 694, 45, 46, 0, 0, 0, 0, 0, 0, 112, 1996 0, 0, 587, 0, 79, 0, 0, 587, 0, 0, 1997 0, 212, 0, 620, 351, 0, 348, 348, 0, 0, 1998 0, 0, 0, 0, 351, 0, 0, 0, 0, 907, 1999 221, 214, 348, 0, 0, 351, 79, 0, 37, 1319, 2000 182, 183, 40, 1112, 0, 0, 1321, 1322, 1323, 0, 2001 689, 41, 42, 213, 0, 410, 0, 0, 0, 0, 2002 0, 469, 0, 0, 0, 0, 0, 112, 0, 112, 2003 112, 0, 0, 223, 0, 0, 353, 184, 8, 9, 2004 10, 11, 12, 0, 0, 45, 46, 469, 907, 907, 2005 348, 0, 0, 0, 0, 74, 0, 0, 0, 922, 2006 1112, 1112, 428, 0, 0, 0, 0, 31, 0, 1366, 2007 8, 9, 10, 11, 12, 0, 0, 351, 0, 0, 2008 0, 0, 0, 0, 351, 703, 0, 0, 0, 212, 2009 952, 0, 0, 213, 0, 34, 0, 0, 1443, 31, 2010 37, 0, 182, 183, 40, 571, 571, 0, 112, 0, 2011 0, 0, 0, 41, 42, 0, 0, 212, 0, 0, 2012 354, 0, 212, 0, 0, 0, 0, 34, 689, 0, 2013 77, 0, 37, 0, 213, 77, 40, 175, 689, 184, 2014 494, 620, 0, 0, 984, 41, 42, 45, 46, 689, 2015 0, 694, 0, 0, 0, 48, 48, 0, 1493, 995, 2016 37, 0, 182, 183, 40, 112, 112, 1501, 57, 57, 2017 0, 709, 0, 41, 42, 0, 0, 0, 0, 45, 2018 46, 0, 8, 9, 10, 11, 12, 0, 869, 0, 2019 0, 212, 872, 0, 351, 351, 0, 351, 351, 1489, 2020 57, 408, 0, 112, 0, 212, 0, 45, 46, 66, 2021 0, 31, 0, 0, 79, 74, 0, 0, 0, 79, 2022 0, 0, 0, 0, 0, 0, 495, 0, 0, 222, 2023 0, 794, 0, 0, 57, 0, 0, 57, 703, 34, 2024 0, 1064, 0, 0, 37, 0, 182, 183, 40, 351, 2025 351, 0, 213, 0, 0, 0, 907, 41, 42, 0, 2026 0, 0, 48, 112, 0, 0, 0, 1078, 0, 694, 2027 0, 0, 112, 907, 0, 0, 428, 117, 86, 694, 2028 213, 0, 0, 264, 0, 213, 48, 48, 0, 0, 2029 694, 45, 46, 0, 0, 77, 212, 0, 0, 8, 2030 9, 10, 11, 12, 0, 0, 0, 0, 0, 353, 2031 86, 48, 0, 223, 77, 0, 0, 0, 0, 0, 2032 351, 0, 77, 571, 346, 0, 0, 0, 31, 0, 2033 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2034 353, 0, 0, 426, 0, 907, 907, 224, 689, 689, 2035 0, 348, 348, 0, 213, 0, 34, 0, 353, 0, 2036 77, 37, 221, 182, 183, 40, 0, 0, 213, 1166, 2037 0, 0, 0, 0, 41, 42, 0, 0, 37, 79, 2038 182, 183, 40, 74, 0, 0, 0, 0, 57, 0, 2039 0, 41, 42, 354, 0, 351, 0, 351, 79, 0, 2040 593, 353, 594, 689, 689, 0, 79, 0, 45, 46, 2041 0, 0, 0, 0, 0, 523, 0, 264, 57, 524, 2042 525, 526, 0, 0, 354, 45, 46, 0, 0, 0, 2043 0, 0, 351, 0, 361, 0, 410, 0, 0, 351, 2044 351, 351, 354, 527, 79, 528, 0, 529, 1285, 0, 2045 351, 351, 0, 0, 0, 0, 0, 0, 0, 213, 2046 0, 0, 0, 74, 353, 0, 0, 0, 0, 0, 2047 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 2048 0, 0, 0, 0, 0, 354, 212, 0, 0, 694, 2049 694, 531, 532, 533, 534, 535, 536, 537, 538, 539, 2050 540, 541, 351, 0, 0, 0, 0, 353, 353, 0, 2051 0, 1122, 0, 0, 0, 0, 1263, 0, 0, 0, 2052 0, 0, 0, 353, 0, 542, 0, 1133, 86, 0, 2053 0, 0, 0, 86, 0, 0, 0, 66, 0, 0, 2054 0, 353, 0, 0, 694, 694, 0, 0, 354, 689, 2055 0, 703, 77, 0, 0, 117, 0, 0, 0, 0, 2098 2056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2099 0, 0, 0, 0, 0, 0, 222, 0, 1189, 0, 2100 0, 0, 0, 0, 0, 1189, 356, 413, 355, 0, 2101 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 2057 0, 351, 0, 0, 0, 0, 0, 0, 77, 0, 2058 0, 353, 0, 0, 0, 0, 689, 0, 0, 0, 2059 0, 354, 354, 689, 689, 689, 0, 346, 0, 0, 2060 0, 0, 410, 0, 348, 348, 0, 354, 0, 0, 2061 0, 0, 0, 0, 0, 0, 353, 1166, 0, 74, 2062 0, 0, 0, 0, 0, 354, 74, 224, 166, 0, 2063 171, 0, 0, 177, 178, 179, 79, 181, 0, 0, 2064 0, 1219, 0, 0, 0, 0, 0, 0, 57, 213, 2065 117, 232, 0, 0, 0, 0, 689, 0, 0, 353, 2066 0, 0, 79, 247, 248, 354, 0, 0, 212, 353, 2067 0, 0, 0, 0, 0, 222, 0, 0, 74, 0, 2068 353, 0, 0, 0, 0, 0, 0, 0, 0, 346, 2069 1293, 0, 0, 86, 0, 0, 0, 0, 0, 0, 2070 354, 0, 0, 0, 0, 0, 0, 361, 0, 0, 2071 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 2072 86, 0, 0, 0, 0, 348, 0, 694, 0, 0, 2073 0, 0, 0, 0, 694, 694, 694, 0, 361, 0, 2074 77, 0, 0, 354, 0, 0, 0, 0, 0, 0, 2075 117, 0, 346, 354, 0, 0, 361, 0, 86, 223, 2076 0, 0, 353, 0, 354, 212, 0, 0, 0, 353, 2077 0, 0, 0, 1166, 0, 0, 0, 0, 0, 0, 2078 1166, 0, 994, 0, 0, 8, 9, 10, 11, 12, 2079 0, 0, 0, 0, 0, 346, 346, 694, 0, 361, 2102 2080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2103 353, 0, 353, 0, 0, 0, 0, 0, 0, 0, 2104 0, 0, 0, 0, 8, 9, 10, 11, 12, 0, 2105 356, 356, 356, 0, 0, 0, 1189, 0, 0, 0, 2106 225, 0, 353, 1531, 0, 0, 126, 126, 356, 0, 2107 353, 353, 353, 31, 0, 0, 0, 0, 0, 0, 2108 0, 353, 353, 0, 0, 0, 356, 0, 0, 0, 2109 0, 0, 0, 0, 0, 74, 0, 79, 0, 577, 2110 577, 34, 0, 0, 1091, 0, 37, 0, 183, 184, 2111 40, 0, 0, 0, 0, 0, 0, 41, 42, 0, 2112 0, 355, 355, 79, 355, 355, 356, 86, 0, 0, 2113 0, 0, 0, 0, 353, 0, 0, 0, 0, 0, 2114 0, 0, 363, 906, 77, 411, 0, 86, 0, 0, 2115 0, 45, 46, 0, 0, 86, 0, 0, 0, 0, 2116 0, 356, 0, 0, 0, 0, 0, 0, 0, 0, 2117 0, 0, 0, 363, 0, 0, 0, 0, 0, 355, 2118 355, 0, 0, 0, 0, 0, 884, 0, 0, 0, 2119 887, 363, 0, 86, 0, 0, 0, 0, 0, 0, 2120 0, 353, 0, 0, 0, 356, 0, 0, 0, 0, 2121 0, 0, 0, 0, 0, 356, 0, 356, 0, 0, 2122 0, 0, 224, 126, 0, 356, 0, 0, 126, 356, 2123 0, 0, 0, 0, 0, 363, 167, 0, 172, 0, 2124 0, 178, 179, 180, 0, 182, 0, 0, 74, 0, 2125 355, 0, 0, 0, 0, 74, 0, 0, 0, 233, 2126 0, 0, 0, 0, 0, 1219, 0, 0, 0, 0, 2127 0, 248, 249, 0, 8, 9, 10, 11, 12, 0, 2081 0, 346, 281, 282, 31, 283, 0, 0, 0, 0, 2082 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 2083 0, 213, 1166, 0, 0, 0, 0, 0, 0, 1514, 2084 0, 284, 34, 0, 0, 0, 354, 285, 0, 0, 2085 0, 286, 0, 354, 287, 288, 289, 290, 291, 292, 2086 41, 42, 361, 293, 294, 0, 0, 0, 0, 346, 2087 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 2088 353, 0, 353, 353, 0, 0, 295, 0, 376, 0, 2089 0, 0, 0, 0, 342, 46, 297, 298, 299, 300, 2090 77, 0, 0, 0, 0, 361, 361, 0, 0, 0, 2091 0, 0, 0, 0, 0, 0, 0, 585, 0, 592, 2092 0, 361, 0, 8, 9, 10, 11, 12, 213, 0, 2093 616, 617, 0, 0, 353, 353, 0, 0, 0, 361, 2094 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 2095 86, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2096 0, 0, 0, 354, 354, 0, 354, 354, 0, 0, 2097 0, 0, 0, 0, 31, 0, 86, 0, 0, 361, 2098 34, 0, 0, 0, 79, 37, 0, 182, 183, 40, 2099 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 2100 0, 0, 34, 0, 0, 353, 0, 37, 0, 182, 2101 183, 40, 0, 0, 361, 0, 0, 0, 354, 354, 2102 41, 42, 0, 0, 890, 0, 408, 0, 57, 0, 2103 0, 0, 45, 46, 0, 0, 0, 0, 0, 0, 2104 0, 0, 0, 0, 0, 0, 1489, 222, 408, 0, 2105 346, 0, 0, 0, 45, 46, 0, 361, 281, 282, 2106 0, 283, 0, 0, 0, 0, 0, 361, 77, 0, 2107 0, 0, 0, 224, 0, 0, 0, 0, 361, 0, 2108 353, 0, 353, 0, 0, 0, 0, 284, 0, 354, 2109 0, 0, 0, 285, 0, 0, 57, 286, 0, 0, 2110 287, 288, 289, 290, 291, 292, 41, 42, 0, 293, 2111 294, 0, 0, 0, 0, 0, 0, 353, 0, 0, 2112 0, 0, 0, 0, 353, 353, 353, 0, 0, 0, 2113 0, 223, 295, 0, 376, 353, 353, 0, 86, 0, 2114 45, 46, 297, 298, 299, 300, 0, 0, 77, 0, 2115 0, 0, 79, 777, 0, 0, 0, 0, 0, 0, 2116 361, 0, 0, 0, 354, 0, 354, 361, 0, 0, 2117 346, 346, 0, 0, 0, 0, 0, 0, 0, 0, 2118 0, 0, 0, 0, 0, 0, 0, 353, 57, 0, 2119 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 2120 0, 354, 0, 230, 0, 234, 0, 236, 354, 354, 2121 354, 0, 0, 0, 245, 0, 0, 0, 0, 354, 2122 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2123 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 2124 0, 0, 0, 0, 0, 210, 0, 234, 236, 245, 2125 0, 0, 0, 0, 0, 0, 353, 0, 0, 0, 2126 0, 0, 0, 0, 0, 910, 0, 911, 0, 0, 2127 0, 354, 0, 0, 914, 915, 0, 361, 361, 920, 2128 361, 361, 0, 0, 0, 0, 0, 210, 0, 0, 2129 0, 0, 926, 0, 0, 0, 0, 930, 86, 0, 2130 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 2131 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 2132 0, 0, 0, 0, 592, 0, 0, 0, 0, 0, 2133 0, 0, 361, 361, 57, 57, 0, 0, 0, 0, 2134 354, 0, 0, 0, 0, 0, 0, 0, 210, 0, 2135 234, 236, 245, 0, 0, 0, 57, 0, 0, 0, 2136 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 2137 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 2138 0, 0, 0, 0, 0, 0, 210, 0, 79, 0, 2139 0, 210, 0, 0, 0, 79, 0, 0, 0, 0, 2140 0, 0, 0, 361, 0, 0, 493, 0, 0, 0, 2141 0, 0, 0, 0, 0, 0, 0, 1004, 0, 1005, 2142 1006, 1007, 0, 346, 346, 0, 0, 0, 0, 0, 2143 0, 57, 164, 0, 0, 0, 57, 0, 1051, 0, 2144 0, 0, 0, 0, 0, 224, 0, 79, 0, 217, 2145 0, 0, 1057, 0, 0, 0, 0, 210, 0, 0, 2146 0, 0, 0, 0, 0, 0, 86, 0, 0, 57, 2147 0, 0, 0, 0, 0, 0, 210, 0, 361, 0, 2148 361, 234, 236, 0, 0, 0, 0, 0, 0, 245, 2149 0, 1077, 0, 0, 0, 0, 164, 0, 0, 0, 2150 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2151 0, 0, 0, 0, 0, 361, 0, 0, 0, 0, 2152 0, 0, 361, 361, 361, 0, 0, 0, 0, 164, 2153 0, 210, 0, 361, 361, 1107, 0, 0, 0, 367, 2154 1117, 0, 372, 0, 346, 1120, 86, 0, 0, 210, 2155 1124, 0, 0, 0, 210, 1126, 210, 1127, 1128, 0, 2156 0, 1131, 0, 0, 0, 0, 0, 0, 0, 57, 2157 1143, 0, 210, 0, 0, 210, 210, 0, 0, 0, 2158 0, 0, 0, 210, 0, 361, 1157, 1158, 0, 0, 2159 0, 164, 57, 0, 0, 0, 0, 210, 0, 57, 2160 0, 0, 0, 217, 210, 0, 0, 0, 0, 0, 2161 0, 0, 1187, 0, 0, 1189, 0, 0, 0, 0, 2162 0, 164, 0, 0, 0, 124, 127, 128, 8, 9, 2163 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2164 20, 21, 22, 23, 24, 25, 372, 0, 0, 0, 2165 0, 57, 0, 164, 361, 0, 0, 31, 1203, 0, 2166 0, 0, 0, 0, 1207, 1208, 0, 0, 0, 0, 2167 0, 0, 0, 0, 0, 0, 0, 0, 520, 0, 2168 0, 0, 0, 1224, 0, 34, 0, 0, 1231, 0, 2169 0, 164, 0, 1235, 0, 0, 0, 253, 0, 254, 2170 0, 0, 86, 0, 1242, 0, 0, 0, 0, 86, 2171 0, 0, 0, 0, 0, 210, 0, 1249, 0, 1251, 2172 1252, 1253, 1254, 0, 0, 0, 590, 0, 0, 0, 2173 0, 614, 0, 0, 1261, 0, 1157, 0, 0, 0, 2174 171, 0, 0, 210, 0, 0, 0, 0, 210, 0, 2128 2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2129 79, 0, 0, 223, 0, 0, 0, 0, 0, 0, 2130 363, 0, 0, 31, 0, 0, 74, 0, 0, 0, 2131 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 2132 356, 0, 577, 0, 0, 0, 0, 355, 0, 355, 2133 0, 34, 0, 0, 0, 0, 37, 0, 183, 184, 2134 40, 0, 0, 0, 363, 363, 363, 41, 42, 0, 2135 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 2136 0, 0, 363, 0, 0, 0, 0, 355, 355, 355, 2137 0, 0, 0, 1506, 0, 411, 0, 0, 355, 355, 2138 363, 45, 46, 0, 0, 507, 0, 509, 512, 126, 2139 0, 86, 77, 0, 1305, 515, 516, 0, 0, 0, 2176 0, 86, 0, 0, 0, 0, 0, 0, 1289, 1290, 2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 2179 413, 0, 0, 0, 417, 0, 419, 420, 0, 0, 2180 156, 0, 0, 0, 0, 0, 164, 164, 0, 0, 2181 0, 0, 367, 0, 0, 0, 0, 210, 0, 0, 2182 0, 0, 1324, 1325, 0, 0, 0, 0, 0, 0, 2183 0, 210, 1335, 520, 0, 0, 0, 0, 0, 0, 2184 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 2185 0, 0, 493, 0, 0, 0, 0, 255, 0, 0, 2186 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 2187 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 2188 0, 0, 0, 0, 0, 520, 0, 520, 0, 0, 2189 520, 0, 164, 520, 1370, 0, 1371, 1372, 1373, 0, 2190 0, 0, 0, 0, 367, 0, 0, 0, 1377, 0, 2191 0, 210, 0, 0, 0, 0, 1388, 0, 0, 0, 2192 0, 0, 210, 0, 0, 0, 383, 0, 0, 0, 2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 2194 0, 1409, 1410, 0, 0, 0, 0, 0, 0, 415, 2195 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 2196 0, 0, 0, 429, 0, 0, 0, 367, 0, 0, 2197 797, 0, 434, 0, 0, 0, 0, 0, 0, 0, 2198 0, 0, 442, 0, 0, 0, 1449, 1450, 0, 0, 2199 0, 0, 0, 0, 0, 0, 590, 0, 0, 1455, 2200 0, 590, 0, 0, 0, 0, 1455, 460, 0, 0, 2201 367, 367, 470, 0, 0, 0, 0, 0, 0, 0, 2202 0, 0, 0, 0, 0, 478, 367, 0, 0, 0, 2203 0, 488, 0, 492, 0, 0, 0, 0, 0, 1488, 2204 0, 0, 0, 1494, 0, 0, 0, 0, 0, 0, 2205 210, 0, 521, 0, 0, 0, 0, 0, 520, 0, 2140 2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2141 509, 509, 0, 0, 0, 0, 0, 86, 0, 0, 2142 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2143 0, 355, 0, 356, 356, 0, 356, 356, 0, 0, 2144 413, 0, 0, 0, 0, 0, 0, 0, 509, 0, 2145 0, 0, 0, 0, 0, 363, 79, 8, 9, 10, 2207 0, 1516, 0, 1517, 0, 0, 0, 0, 0, 0, 2208 210, 0, 0, 0, 367, 0, 919, 0, 0, 0, 2209 0, 0, 0, 580, 0, 0, 0, 584, 0, 0, 2210 0, 1532, 1533, 0, 0, 0, 0, 0, 0, 1536, 2211 1537, 0, 210, 0, 0, 0, 0, 0, 0, 706, 2212 0, 0, 0, 210, 0, 627, 0, 0, 0, 628, 2213 629, 0, 630, 0, 0, 0, 0, 0, 0, 641, 2214 642, 0, 643, 644, 0, 645, 0, 646, 0, 0, 2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2216 0, 0, 0, 0, 580, 0, 0, 0, 785, 786, 2217 0, 0, 661, 0, 0, 0, 0, 614, 0, 0, 2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2219 0, 0, 210, 0, 0, 816, 672, 0, 819, 820, 2220 0, 823, 0, 825, 826, 0, 210, 0, 827, 828, 2221 0, 126, 126, 126, 503, 0, 505, 508, 0, 0, 2222 0, 0, 698, 0, 0, 0, 511, 512, 701, 0, 2223 0, 0, 0, 460, 0, 0, 0, 0, 0, 0, 2224 0, 505, 505, 0, 0, 0, 0, 0, 0, 0, 2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 2226 362, 0, 0, 0, 0, 367, 0, 0, 0, 736, 2227 0, 0, 706, 0, 0, 0, 505, 0, 0, 0, 2228 0, 0, 0, 126, 754, 126, 0, 520, 0, 0, 2229 0, 0, 411, 0, 210, 0, 0, 0, 0, 411, 2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2231 274, 505, 164, 0, 0, 0, 0, 0, 0, 0, 2232 0, 779, 0, 0, 0, 0, 0, 0, 0, 0, 2233 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234 0, 0, 0, 0, 954, 955, 0, 0, 0, 0, 2235 810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2236 0, 0, 0, 0, 590, 126, 0, 0, 0, 0, 2237 0, 411, 0, 126, 0, 126, 126, 0, 0, 0, 2238 126, 0, 126, 126, 0, 367, 367, 0, 849, 0, 2239 0, 210, 0, 0, 463, 2, 205, 4, 5, 6, 2240 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2241 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2242 0, 26, 27, 28, 882, 0, 0, 0, 411, 0, 2243 31, 0, 889, 0, 0, 0, 411, 576, 0, 411, 2244 579, 0, 520, 0, 0, 0, 0, 362, 0, 0, 2245 0, 606, 126, 0, 0, 0, 0, 0, 34, 0, 2246 35, 0, 36, 250, 0, 38, 39, 0, 0, 0, 2247 624, 0, 0, 0, 927, 928, 0, 0, 0, 505, 2248 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 2249 505, 505, 505, 505, 505, 505, 505, 0, 0, 411, 2250 1069, 0, 0, 411, 0, 0, 962, -3, 706, 0, 2251 0, 966, 8, 9, 10, 11, 12, 13, 14, 15, 2252 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2253 -298, 0, 0, 362, 0, 0, 0, 0, 0, 0, 2254 0, 31, 0, 322, 0, 0, 0, 0, 0, 217, 2255 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 2256 0, 0, 0, 0, 379, 379, 0, 0, 0, 34, 2257 0, 999, 0, 0, 0, 0, 0, 0, 1000, 411, 2258 -298, 0, 362, 0, 0, 706, 0, 0, 0, 0, 2259 0, 1002, 0, 1003, 0, 0, 0, 0, 0, 0, 2260 0, 0, 0, 0, 0, 0, 1013, 0, 0, 0, 2261 0, 0, 1017, 0, 0, 0, 0, 0, 0, 505, 2262 0, 411, 0, 0, 1054, 362, 0, 1055, 0, 0, 2263 0, 0, 0, 0, 0, 322, 0, 0, 367, 367, 2264 0, 0, 210, 0, 0, 0, 217, 0, 0, 0, 2265 0, 0, 0, 0, 0, 1195, 0, 0, 0, 474, 2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 2267 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2268 505, 0, 0, 0, 0, 0, 0, 792, 362, 0, 2269 0, 0, 0, 0, 0, 0, 0, 606, 0, 606, 2270 606, 0, 0, 0, 0, 0, 606, 0, 0, 0, 2271 505, 0, 0, 0, 0, 0, 829, 362, 0, 0, 2272 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 2273 0, 362, 362, 0, 0, 1125, 0, 0, 0, 0, 2274 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 2275 0, 0, 411, 870, 126, 126, 411, 873, 0, 367, 2276 0, 0, 0, 875, 0, 0, 0, 0, 0, 0, 2277 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 2278 0, 126, 411, 1284, 126, 126, 0, 126, 0, 126, 2279 126, 0, 0, 0, 126, 126, 1188, 0, 0, 0, 2280 0, 0, 0, 0, 0, 362, 606, 0, 0, 0, 2281 0, 0, 0, 0, 0, 0, 520, 0, 520, 0, 2282 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 2283 1200, 0, 0, 0, 0, 1202, 0, 0, 0, 0, 2284 362, 0, 0, 1206, 411, 411, 0, 0, 0, 0, 2285 0, 0, 0, 520, 0, 520, 0, 0, 0, 0, 2286 0, 0, 0, 0, 0, 0, 0, 700, 0, 0, 2287 505, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 2288 0, 0, 164, 0, 0, 0, 0, 411, 1244, 0, 2289 0, 1245, 0, 1246, 0, 0, 0, 0, 0, 0, 2290 0, 0, 505, 606, 0, 606, 733, 0, 1255, 1256, 2291 0, 0, 0, 0, 505, 606, 0, 0, 749, 0, 2292 0, 0, 0, 0, 733, 0, 0, 733, 1268, 0, 2293 126, 126, 1141, 0, 0, 8, 9, 10, 11, 12, 2294 758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2295 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 2296 0, 0, 281, 282, 31, 283, 0, 0, 0, 0, 2297 787, 0, 0, 0, 1307, 0, 0, 344, 0, 0, 2298 0, 749, 1311, 0, 0, 0, 362, 0, 0, 0, 2299 0, 284, 34, 362, 411, 0, 411, 285, 0, 0, 2300 411, 286, 0, 0, 287, 288, 289, 290, 291, 292, 2301 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2302 0, 606, 606, 0, 0, 0, 0, 848, 0, 505, 2303 0, 0, 0, 0, 0, 379, 295, 0, 376, 0, 2304 0, 0, 0, 0, 1142, 46, 297, 298, 299, 300, 2305 0, 0, 1358, 0, 1359, 0, 411, 0, 0, 0, 2306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2307 1368, 0, 1369, 0, 0, 411, 1123, 0, 0, 0, 2308 0, 126, 0, 0, 0, 362, 126, 1376, 505, 505, 2309 0, 411, 1134, 0, 606, 606, 1139, 0, 0, 0, 2310 0, 0, 1394, 1396, 0, 0, 362, 362, 0, 0, 2311 0, 924, 0, 1401, 0, 0, 1206, 0, 0, 0, 2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2313 0, 0, 0, 749, 0, 948, 0, 0, 1424, 0, 2314 0, 0, 0, 0, 0, 958, 0, 1431, 0, 0, 2315 1433, 965, 1435, 1437, 1439, 0, 0, 0, 0, 0, 2316 0, 0, 0, 0, 0, 0, 411, 0, 411, 0, 2317 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, 2318 0, 0, 606, 0, 0, 0, 0, 0, 0, 0, 2319 0, 982, 983, 1470, 0, 1472, 0, 1206, 0, 0, 2320 0, 0, 0, 0, 0, 411, 1220, 344, 0, 0, 2321 0, 0, 0, 1483, 0, 0, 0, 0, 0, 0, 2322 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 2323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2324 0, 126, 0, 0, 0, 0, 1011, 0, 0, 0, 2325 379, 0, 0, 0, 0, 8, 9, 10, 11, 12, 2326 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2327 23, 24, 25, 0, 0, 26, 27, 28, 0, 344, 2328 0, 0, 0, 0, 31, 0, 344, 0, 0, 0, 2329 0, 0, 0, 0, 0, 0, 505, 0, 0, 0, 2330 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 2331 0, 0, 34, 505, 0, 0, 0, 0, 0, 206, 2332 39, 0, 0, 0, 0, 0, 322, 204, 2, 205, 2333 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2334 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2335 24, 25, 0, 379, 26, 27, 28, 0, 958, 362, 2336 362, 733, 0, 31, 45, 46, 0, 0, 0, 126, 2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2338 0, 1129, 0, 0, 0, 505, 505, 0, 0, 0, 2339 0, 34, 1144, 35, 0, 36, 37, 0, 206, 39, 2340 40, 0, 0, 0, 0, 0, 0, 0, 0, 41, 2341 42, 0, 379, 0, 1161, 0, 0, 0, 0, 0, 2342 0, 0, 0, 0, 0, 0, 0, 0, 0, 958, 2343 958, 0, 0, 0, 0, 43, 0, 207, 0, 0, 2344 0, 0, 0, 45, 46, 0, 0, 0, 0, 1192, 2345 0, 0, 0, 0, 0, 1, 2, 205, 4, 5, 2346 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2347 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2348 362, 0, 26, 27, 28, 29, 0, 0, 30, 0, 2349 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 2350 0, 0, 0, 958, 0, 0, 0, 0, 0, 0, 2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2352 0, 35, 848, 36, 0, 0, 38, 39, 0, 0, 2353 0, 0, 0, 0, 0, 0, 0, 1247, 1248, 0, 2354 2, 205, 4, 5, 6, 7, 8, 9, 10, 11, 2355 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2356 22, 23, 24, 25, 0, 44, 26, 27, 28, 411, 2357 0, 45, 46, 0, 0, 31, 0, 0, 0, 0, 2358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359 0, 0, 0, 411, 411, 0, 0, 0, 0, 0, 2360 0, 0, 0, 34, 0, 35, 0, 36, 0, 0, 2361 38, 39, 0, 0, 0, 0, 0, 0, 411, 0, 2362 0, 0, 1, 2, 205, 4, 5, 6, 7, 8, 2363 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2364 19, 20, 21, 22, 23, 24, 25, 0, -418, 26, 2365 27, 28, 29, 0, 0, 30, 281, 282, 31, 1020, 2366 1021, 0, 1022, 0, 0, 1023, 1024, 1025, 1026, 1027, 2367 1028, 1029, 1030, 0, 0, 0, 1031, 0, 0, 1352, 2368 1032, 1033, 733, 33, 0, 284, 34, 0, 35, 0, 2369 36, 1034, 0, 38, 39, 286, 0, 0, 287, 288, 2370 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373 295, 0, 296, 0, 0, 170, 0, 0, 45, 46, 2374 297, 298, 299, 300, 0, 0, 0, 0, 1035, 0, 2375 0, 0, 0, -134, 1, 2, 205, 4, 5, 6, 2376 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2377 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2378 0, 26, 27, 28, 29, 0, 0, 30, 281, 282, 2379 31, 283, 8, 9, 10, 11, 12, 13, 14, 15, 2380 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2381 0, 0, 26, 27, 28, 0, 0, 284, 34, 0, 2382 35, 31, 36, 285, 0, 38, 39, 286, 0, 0, 2383 287, 288, 289, 290, 291, 292, 41, 42, 0, 293, 2384 294, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2385 0, 0, 0, 0, 110, 0, 38, 39, 0, 0, 2386 0, 0, 295, 0, 296, 0, 0, 41, 42, 0, 2387 45, 46, 297, 298, 299, 300, 0, 0, 0, 0, 2388 0, 0, 0, 0, 0, -134, 0, 0, 0, 0, 2389 0, 0, 0, 0, 0, 0, 322, 1, 2, 205, 2390 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2391 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2392 24, 25, 0, 0, 26, 27, 28, 29, 0, 0, 2393 30, 281, 282, 31, 283, 8, 9, 10, 11, 12, 2394 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2395 23, 24, 25, -299, 0, 0, 0, 0, 0, 0, 2396 284, 34, 0, 35, 31, 36, 285, 0, 38, 39, 2397 286, 0, 0, 287, 288, 289, 290, 291, 292, 41, 2398 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2399 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 2400 0, 0, 0, -299, 0, 295, 0, 296, 0, 0, 2401 0, 0, 0, 45, 46, 297, 298, 299, 300, 2, 2402 205, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2403 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2404 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2405 0, 0, 281, 282, 31, 283, 8, 9, 10, 11, 2406 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2407 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2408 0, 284, 34, 0, 35, 31, 36, 285, 0, 38, 2409 39, 286, 0, 0, 287, 288, 289, 290, 291, 292, 2410 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2411 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 2412 38, 39, 0, 0, 0, 0, 295, 0, 341, 0, 2413 0, 0, 0, 748, 342, 46, 297, 298, 299, 300, 2414 2, 205, 4, 5, 6, 7, 8, 9, 10, 11, 2415 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2416 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2417 0, 0, 0, 281, 282, 31, 283, 8, 9, 10, 2146 2418 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2147 21, 22, 23, 24, 25, -293, 0, 26, 27, 28, 2148 0, 0, 0, 0, 509, 0, 31, 0, 0, 0, 2149 0, 356, 356, 0, 0, 0, 0, 0, 355, 363, 2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 2151 0, 363, 0, 0, 34, 0, 225, 1143, 126, 363, 2152 0, 38, 39, 363, 0, -293, 0, 592, 0, 600, 2153 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 2154 624, 625, 0, 0, 0, 77, 0, 0, 0, 0, 2155 282, 283, 77, 284, 0, 0, 635, 0, 338, 0, 2156 0, 0, 356, 0, 45, 46, 0, 0, 0, 0, 2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 2158 0, 0, 0, 0, 86, 286, 0, 0, 0, 287, 2159 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2160 293, 0, 0, 77, 0, 224, 0, 0, 0, 0, 2161 0, 0, 413, 0, 363, 0, 0, 0, 0, 0, 2162 0, 0, 294, 0, 379, 0, 0, 79, 0, 0, 2163 45, 46, 296, 297, 298, 299, 0, 0, 0, 356, 2164 0, 356, 1013, 787, 0, 8, 9, 10, 11, 12, 2165 0, 0, 1243, 509, 509, 509, 509, 509, 509, 509, 2166 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 2167 509, 356, 282, 283, 31, 284, 0, 0, 0, 356, 2168 356, 356, 0, 0, 0, 0, 0, 0, 0, 0, 2169 356, 356, 0, 0, 0, 0, 0, 0, 0, 0, 2170 0, 285, 34, 0, 79, 0, 0, 286, 0, 0, 2171 0, 287, 0, 0, 288, 289, 290, 291, 41, 42, 2172 0, 292, 293, 0, 0, 0, 0, 363, 363, 0, 2173 363, 363, 0, 0, 0, 0, 0, 0, 0, 0, 2174 0, 0, 0, 356, 294, 0, 379, 0, 0, 0, 2175 86, 0, 344, 46, 296, 297, 298, 299, 0, 0, 2176 1, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2419 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2420 0, 0, 284, 34, 0, 35, 31, 36, 285, 0, 2421 38, 39, 286, 0, 0, 287, 288, 289, 290, 291, 2422 292, 41, 42, 0, 293, 294, 0, 0, 0, 0, 2423 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2424 0, 206, 39, 0, 0, 0, 0, 295, 0, 341, 2425 0, 0, 0, 0, 748, 45, 46, 297, 298, 299, 2426 300, 2, 205, 4, 5, 6, 7, 8, 9, 10, 2177 2427 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2178 21, 22, 23, 24, 25, 363, 363, 26, 27, 28,2179 29, 0, 0, 30, 282, 283, 31, 284, 0, 509,2428 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2429 0, 0, 0, 0, 281, 282, 31, 283, 0, 0, 2180 2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2181 356, 0, 0, 0, 0, 0, 0, 0, 0, 0,2182 0, 0, 0, 285, 34, 0, 35, 0, 36, 286,2183 0, 38, 39, 287, 165, 0, 288, 289, 290, 291,2184 41, 42, 0, 292, 293, 0, 0, 0, 0, 0,2185 0, 218, 0, 0, 0, 0, 363, 79, 0, 0,2186 509, 0, 0, 0, 79, 0, 294, 0, 1056, 0,2187 0, 0, 0, 0, 45, 46, 296, 297, 298, 299,2188 0, 0, 0, 926, 0, 927, 0, 0, 0, -128,2189 509, 0, 930, 931, 0, 0, 0, 936, 165, 225,2190 0, 0, 272, 0, 0, 0, 0, 0, 0, 941,2191 0, 0, 0, 0, 945, 79, 0, 0, 0, 0,2192 0, 86, 0, 0, 0, 0, 0, 0, 0, 0,2193 0, 165, 0, 363, 0, 363, 0, 0, 0, 0,2194 0, 369, 979, 0, 0, 375, 0, 0, 0, 0,2195 0, 0, 0, 0, 0, 0, 1163, 0, 0, 8,2196 9, 10, 11, 12, 0, 363, 0, 0, 0, 0,2197 0, 0, 0, 363, 363, 363, 0, 0, 0, 0,2198 0, 0, 0, 0, 363, 363, 282, 283, 31, 284,2199 0, 0, 0, 0, 165, 0, 0, 0, 86, 0,2200 0, 0, 0, 0, 0, 0, 218, 0, 0, 0,2201 509, 0, 0, 0, 0, 285, 34, 0, 0, 0,2202 0, 286, 0, 0, 165, 287, 0, 0, 288, 289,2203 290, 291, 41, 42, 0, 292, 293, 363, 0, 0,2204 0, 1024, 1025, 1026, 1027, 0, 1029, 0, 0, 375,2205 0, 0, 0, 0, 0, 509, 165, 0, 294, 0,2206 379, 1073, 0, 0, 0, 0, 1164, 46, 296, 297,2207 298, 299, 0, 0, 0, 1079, 0, 0, 0, 524,2208 2431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2209 509, 0, 165, 0, 0, 0, 0, 0, 0, 211,2210 0, 0, 0, 509, 363, 0, 0, 0, 231,0,2211 2 35, 0, 237, 0, 0, 1099, 0, 0, 0, 246,2432 0, 0, 0, 284, 34, 0, 35, 0, 36, 285, 2433 0, 38, 39, 286, 0, 0, 287, 288, 289, 290, 2434 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2212 2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2213 598, 0, 0, 0, 0, 622, 0, 0, 0, 0, 2214 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 2215 211, 86, 235, 237, 246, 0, 0, 0, 86, 0, 2216 1130, 0, 0, 0, 0, 0, 1137, 0, 0, 0, 2217 0, 1141, 0, 0, 0, 0, 1145, 0, 1146, 0, 2218 0, 0, 1148, 0, 1149, 1150, 0, 0, 1153, 0, 2219 0, 0, 0, 211, 0, 0, 0, 1165, 0, 0, 2220 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 2221 0, 165, 165, 0, 0, 1180, 1181, 0, 369, 0, 2222 0, 509, 0, 0, 0, 0, 0, 0, 0, 0, 2223 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 2224 0, 0, 1211, 0, 0, 1213, 0, 0, 0, 0, 2225 0, 0, 0, 0, 211, 0, 235, 237, 246, 0, 2226 0, 0, 0, 0, 0, 0, 0, 716, 0, 0, 2227 0, 8, 9, 10, 11, 12, 0, 0, 0, 165, 2228 0, 509, 509, 0, 0, 0, 0, 0, 1227, 0, 2229 0, 524, 211, 524, 1231, 1232, 524, 211, 165, 524, 2230 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2231 0, 369, 497, 0, 1248, 0, 0, 1252, 0, 0, 2232 0, 1254, 0, 0, 0, 0, 0, 0, 34, 0, 2233 0, 0, 0, 37, 1262, 183, 184, 40, 0, 0, 2234 0, 0, 0, 0, 41, 42, 0, 1269, 0, 1271, 2235 1272, 1273, 1274, 0, 0, 0, 0, 0, 0, 0, 2236 0, 211, 0, 0, 165, 1281, 0, 1282, 0, 0, 2237 185, 172, 0, 0, 0, 0, 369, 0, 45, 46, 2238 811, 0, 0, 211, 0, 0, 0, 0, 235, 237, 2239 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 2240 1310, 1311, 0, 0, 0, 0, 598, 0, 0, 0, 2241 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 2242 369, 369, 369, 0, 0, 0, 0, 0, 0, 0, 2243 0, 0, 0, 0, 0, 0, 0, 0, 369, 211, 2436 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 2437 341, 0, 0, 0, 0, 0, 342, 46, 297, 298, 2438 299, 300, 2, 205, 4, 5, 6, 7, 8, 9, 2439 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2440 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2441 28, 0, 0, 0, 0, 281, 282, 31, 283, 0, 2244 2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2245 1343, 1344, 0, 0, 0, 0, 0, 211, 0, 0,2246 1354, 0, 211, 0, 211, 0, 0, 0, 0, 0,2247 524, 0, 0, 0, 0, 0, 0, 0, 0, 0,2248 0, 211, 0, 0, 211, 211, 509, 0, 0, 0,2249 0, 0, 211, 0, 0, 0, 369, 0, 935, 0,2250 0, 0, 509, 0, 0, 0, 211, 0, 0, 0,2251 0, 0, 0, 211, 0, 0, 0, 0, 0, 0,2252 0, 1389, 0, 1390, 1391, 1392, 0, 0, 0, 0,2253 0, 716, 0, 0, 0, 1396, 156, 0, 0, 0,2254 0, 0, 0, 0, 1407, 8, 9, 10, 11, 12,2255 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,2256 23, 24, 25, 0, 0, 26, 27, 28, 0, 1428,2257 0, 0, 509, 509, 31, 0, 0, 8, 9, 10,2258 11, 12, 0, 251, 0, 0, 0, 369, 0, 0,2259 0, 622, 0, 256, 0, 369, 0, 0, 0, 0,2260 0, 0, 34, 0, 0, 0, 31, 37, 0, 38,2261 39, 40, 1466, 1467, 0, 0, 0, 0, 41, 42,2262 0, 0, 0, 0, 0, 1472, 0, 0, 211, 0,2263 0, 0, 1472, 0, 34, 0, 0, 0, 0, 37,2264 0, 183, 184, 40, 43, 0, 157, 0, 0, 156,2265 41, 42, 45, 46, 0, 0, 211, 0, 0, 0,2266 0, 211, 0, 386, 1505, 0, 0, 0, 1511, 0,2267 0, 0, 0, 0, 0, 0, 265, 0, 0, 0,2268 0, 0, 0, 0, 45, 46, 418, 0, 0, 0,2269 716, 0, 0, 0, 0, 0, 1533, 0, 1534, 0,2270 433, 0, 0, 0, 0, 524, 0, 0, 0, 438,2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 446,2272 0, 0, 0, 0, 0, 0, 1549, 1550, 0, 165,2273 0, 0, 211, 0, 1553, 1554, 0, 0, 0, 0,2274 0, 0, 0, 0, 464, 0, 211, 0, 0, 474,2275 2443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2276 0, 0, 482, 0, 0, 0, 497, 0, 492, 0, 2277 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2278 0, 0, 0, 0, 0, 598, 0, 526, 8, 9, 2444 0, 0, 0, 0, 284, 34, 0, 35, 0, 36, 2445 285, 0, 206, 39, 286, 0, 0, 287, 288, 289, 2446 290, 291, 292, 41, 42, 0, 293, 294, 0, 0, 2447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2448 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 2449 0, 979, 0, 0, 0, 0, 0, 980, 46, 297, 2450 298, 299, 300, 2, 205, 4, 5, 6, 7, 8, 2451 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2452 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2453 27, 28, 0, 0, 0, 0, 281, 282, 31, 283, 2454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2456 0, 0, 0, 0, 0, 284, 34, 0, 35, 0, 2457 36, 285, 0, 206, 39, 286, 0, 0, 287, 288, 2458 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2461 295, 0, 376, 0, 0, 0, 0, 0, 45, 46, 2462 297, 298, 299, 300, -521, 0, 0, 1, 2, 3, 2463 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2464 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2465 24, 25, 0, 0, 26, 27, 28, 29, 0, 0, 2466 30, 0, 0, 31, 32, 0, 0, 0, 0, 0, 2467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2468 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2469 0, 34, 0, 35, 0, 36, 37, 0, 38, 39, 2470 40, 0, 0, 0, 0, 0, 0, 0, 0, 41, 2471 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473 0, 0, 0, 0, 0, 43, 0, 44, 0, 0, 2474 0, 0, 0, 45, 46, 1, 2, 3, 4, 5, 2475 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2476 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2477 0, 0, 26, 27, 28, 29, 0, 0, 30, 0, 2478 0, 31, 32, 0, 0, 0, 0, 0, 0, 0, 2479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2480 0, 0, 0, 0, 0, 0, 33, 0, 0, 34, 2481 0, 35, 0, 36, 37, 0, 38, 39, 40, 0, 2482 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, 2483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2485 0, 0, 0, 43, 0, 44, 0, 0, 0, -525, 2486 0, 45, 46, 1, 2, 3, 4, 5, 6, 7, 2487 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2488 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2489 26, 27, 28, 29, 0, 0, 30, 0, 0, 31, 2490 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2492 0, 0, 0, 0, 33, 0, 0, 34, 0, 35, 2493 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 2494 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 2495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2497 0, 43, 0, 44, 0, 0, 0, 0, 0, 45, 2498 46, 1, 2, 205, 4, 5, 6, 7, 8, 9, 2279 2499 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2280 20, 21, 22, 23, 24, 25, 369, 369, 26, 27, 2281 28, 0, 0, 0, 0, 0, 0, 31, 0, 0, 2282 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, 2283 586, 0, 0, 0, 0, 591, 0, 0, 0, 211, 2284 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 2285 37, 0, 38, 39, 40, 0, 0, 0, 211, 0, 2286 0, 41, 42, 0, 636, 0, 524, 0, 637, 638, 2287 0, 640, 0, 0, 0, 0, 0, 0, 651, 652, 2288 0, 653, 654, 0, 655, 0, 656, 43, 0, 44, 2289 0, 0, 0, 0, 0, 45, 46, 0, 0, 0, 2290 0, 0, 0, 586, 0, 0, 0, 0, 0, 0, 2291 0, 671, 0, 0, 0, 0, 0, 0, 0, 341, 2292 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2293 0, 0, 716, 0, 0, 0, 682, 0, 0, 0, 2294 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 2295 12, 0, 0, 414, 0, 0, 0, 0, 0, 0, 2296 414, 0, 708, 0, 0, 0, 0, 0, 711, 0, 2297 0, 211, 0, 464, 218, 31, 8, 9, 10, 11, 2500 20, 21, 22, 23, 24, 25, -298, 0, 26, 27, 2501 28, 29, 0, 0, 30, 0, 0, 31, 0, 0, 2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2504 0, 0, 0, 0, 0, 34, 0, 35, 0, 36, 2505 0, 0, 38, 39, 0, 0, -298, 204, 2, 205, 2506 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2507 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2508 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2509 0, 44, 0, 31, 0, 0, 0, 45, 46, 0, 2510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512 0, 34, 0, 35, 0, 36, 0, 0, 206, 39, 2513 2, 205, 4, 5, 6, 7, 8, 9, 10, 11, 2298 2514 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2299 22, 23, 24, 25, -293, 0, 26, 27, 28, 0, 2300 0, 211, 0, 34, 0, 31, 0, 0, 37, 746, 2301 0, 716, 40, 0, 0, 0, 0, 0, 0, 41, 2302 42, 0, 0, 0, 764, 0, 0, 0, 0, 0, 2303 0, 0, 414, 34, 0, 0, 211, 0, 37, 0, 2304 336, 337, 40, 0, -293, 719, 0, 211, 0, 41, 2305 42, 0, 0, 45, 46, 0, 0, 0, 0, 0, 2306 369, 369, 0, 790, 0, 0, 0, 0, 0, 218, 2307 0, 0, 800, 0, 0, 635, 0, 338, 321, 802, 2308 0, 0, 0, 45, 46, 810, 0, 414, 346, 0, 2309 0, 0, 0, 0, 824, 414, 582, 0, 414, 585, 2310 382, 382, 0, 0, 0, 0, 0, 0, 0, 364, 2311 0, 0, 0, 614, 0, 0, 0, 0, 0, 211, 2515 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2516 0, 0, 0, 0, 0, 31, 0, 207, 0, 0, 2517 0, 0, 0, 45, 46, 0, 0, 0, 0, 0, 2312 2518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2313 0, 0, 632, 211, 864, 341, 205, 2, 206, 4, 2519 0, 0, 0, 34, 0, 35, 0, 36, 37, 0, 2520 206, 39, 40, 0, 0, 0, 0, 0, 0, 0, 2521 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 2522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523 0, 0, 0, 0, 0, 0, 0, 43, 0, 207, 2524 0, 0, 0, 0, 0, 45, 46, 2, 205, 4, 2314 2525 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2315 2526 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2316 25, 0, 414, 26, 27, 28, 414, 0, 0, 0, 2317 810, 321, 31, 0, 0, 0, 0, 0, 905, 0, 2318 369, 0, 282, 283, 0, 284, 0, 0, 0, 0, 2319 0, 0, 0, 0, 0, 478, 0, 364, 0, 0, 2320 34, 0, 35, 0, 36, 0, 0, 207, 39, 251, 2321 0, 285, 0, 0, 0, 0, 0, 286, 0, 942, 2322 943, 287, 211, 0, 288, 289, 290, 291, 41, 42, 2323 0, 292, 293, 0, 0, 0, 524, 0, 524, 0, 2324 0, 0, 0, 414, 208, 0, 364, 0, 0, 0, 2325 45, 46, 980, 0, 294, 0, 379, 984, 0, 380, 2326 0, 0, 45, 46, 296, 297, 298, 299, 0, 0, 2327 0, 0, 524, 0, 524, 0, 0, 0, 0, 0, 2328 0, 0, 0, 0, 0, 414, 0, 0, 0, 341, 2329 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2330 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 2331 0, 0, 382, 0, 0, 0, 0, 211, 0, 0, 2332 0, 1018, 0, 0, 0, 0, 0, 0, 1019, 0, 2333 0, 0, 0, 0, 0, 414, 414, 0, 0, 0, 2334 0, 1021, 0, 1022, 0, 0, 0, 0, 0, 0, 2335 0, 0, 0, 0, 804, 364, 0, 1034, 0, 0, 2336 0, 0, 0, 1038, 0, 614, 0, 614, 614, 0, 2337 0, 0, 0, 0, 614, 1076, 0, 0, 1077, 0, 2338 0, 0, 0, 0, 843, 364, 0, 0, 0, 0, 2339 364, 0, 0, 0, 0, 0, 0, 0, 0, 364, 2340 364, 364, 0, 0, 0, 0, 710, 0, 0, 0, 2341 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 2342 0, 0, 414, 885, 0, 0, 414, 888, 0, 0, 2343 0, 0, 0, 890, 0, 0, 0, 0, 0, 0, 2344 0, 0, 0, 0, 0, 742, 0, 0, 0, 0, 2345 0, 0, 414, 0, 0, 591, 0, 0, 759, 0, 2346 0, 0, 0, 742, 0, 0, 742, 0, 0, 0, 2347 0, 0, 0, 0, 0, 364, 614, 0, 0, 768, 2348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2349 1147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2350 0, 789, 0, 0, 0, 0, 0, 0, 0, 341, 2351 364, 798, 0, 0, 414, 414, 0, 0, 346, 0, 2352 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 2353 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2354 18, 19, 20, 21, 22, 23, 24, 25, 526, 0, 2355 26, 27, 28, 0, 1212, 0, 0, 0, 414, 31, 2356 0, 0, 0, 0, 211, 0, 364, 0, 0, 0, 2357 0, 0, 863, 804, 364, 0, 0, 614, 0, 614, 2358 382, 0, 0, 0, 0, 0, 0, 34, 1224, 614, 2359 0, 0, 37, 1226, 207, 39, 40, 0, 0, 0, 2360 0, 1230, 0, 41, 42, 0, 8, 9, 10, 11, 2361 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2362 22, 23, 24, 25, -293, 0, 0, 0, 0, 43, 2363 0, 270, 0, 0, 1256, 31, 0, 45, 46, 0, 2364 0, 0, 0, 0, 0, 0, 1264, 0, 0, 1265, 2365 0, 1266, 0, 0, 0, 0, 0, 0, 0, 0, 2366 0, 804, 0, 34, 0, 1275, 1276, 0, 341, 364, 2367 414, 0, 414, 0, -293, 0, 414, 0, 759, 0, 2368 964, 0, 0, 0, 0, 0, 0, 1289, 0, 0, 2369 975, 0, 0, 0, 0, 0, 983, 614, 614, 0, 2370 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2371 18, 19, 20, 21, 22, 23, 24, 25, -294, 0, 2372 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2373 0, 0, 414, 0, 1328, 0, 0, 0, 1001, 1002, 2374 0, 0, 346, 0, 0, 0, 0, 0, 282, 283, 2375 0, 284, 0, 414, 1144, 0, 346, 34, 0, 0, 2376 0, 0, 0, 0, 364, 0, 0, 0, -294, 0, 2377 414, 1156, 0, 614, 614, 1161, 0, 285, 0, 0, 2378 0, 0, 0, 286, 0, 364, 364, 287, 0, 0, 2379 288, 289, 290, 291, 41, 42, 1032, 292, 293, 0, 2380 382, 0, 0, 0, 0, 0, 0, 0, 0, 1378, 2381 0, 1379, 0, 0, 0, 0, 0, 0, 0, 0, 2382 294, 0, 379, 1387, 0, 1388, 0, 758, 45, 46, 2383 296, 297, 298, 299, 0, 0, 0, 346, 0, 0, 2384 0, 0, 1395, 0, 0, 0, 0, 0, 414, 0, 2385 414, 0, 0, 0, 0, 414, 0, 0, 1413, 1415, 2386 0, 0, 0, 0, 614, 0, 0, 0, 0, 1420, 2387 0, 0, 1230, 0, 0, 0, 321, 0, 0, 0, 2388 0, 0, 0, 0, 0, 0, 0, 804, 414, 1244, 2389 0, 0, 0, 1442, 0, 0, 0, 0, 0, 0, 2390 0, 0, 1449, 0, 382, 1451, 0, 1453, 1455, 1457, 2391 975, 364, 0, 0, 742, 282, 283, 0, 284, 0, 2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2393 0, 0, 0, 0, 0, 1151, 0, 0, 0, 0, 2394 0, 0, 0, 0, 285, 0, 1166, 1487, 0, 1489, 2395 641, 1230, 139, 140, 287, 0, 0, 288, 289, 290, 2396 291, 41, 42, 0, 292, 293, 1500, 0, 382, 0, 2397 1184, 0, 341, 0, 0, 0, 0, 0, 0, 0, 2398 0, 0, 0, 0, 0, 975, 975, 294, 0, 642, 2399 364, 643, 380, 0, 0, 45, 46, 296, 297, 298, 2400 299, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 2401 0, 0, 0, 0, 1, 2, 206, 4, 5, 6, 2402 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2403 17, 18, 19, 20, 21, 22, 23, 24, 25, 364, 2404 364, 26, 27, 28, 29, 0, 0, 30, 0, 0, 2405 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2406 0, 975, 0, 0, 0, 0, 0, 0, 0, 0, 2407 0, 0, 0, 0, 0, 0, 0, 0, 34, 863, 2408 35, 0, 36, 0, 0, 38, 39, 0, 0, 0, 2409 0, 0, 0, 0, 1267, 1268, 0, 1, 2, 206, 2410 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2411 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2412 24, 25, 44, 0, 26, 27, 28, 29, 45, 46, 2413 30, 282, 283, 31, 1041, 1042, 0, 1043, 0, 0, 2414 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 0, 0, 2415 0, 1052, 0, 0, 0, 1053, 1054, 0, 33, 364, 2416 285, 34, 0, 35, 0, 36, 1055, 0, 38, 39, 2417 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2418 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420 0, 0, 0, 294, 0, 1056, 0, 0, 171, 0, 2421 0, 45, 46, 296, 297, 298, 299, 0, 0, 0, 2422 0, 1057, 0, 0, 0, 0, -128, 0, 0, 0, 2423 0, 0, 0, 0, 0, 1372, 0, 0, 742, 0, 2424 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 2425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2427 414, 414, 0, 0, 0, 0, 0, 0, 0, 0, 2428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2429 0, 0, 0, 0, 0, 414, 1, 2, 206, 4, 2430 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2431 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2432 25, 0, 0, 26, 27, 28, 29, 0, 0, 30, 2433 282, 283, 31, 284, 8, 9, 10, 11, 12, 13, 2434 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2435 24, 25, 0, 0, 26, 27, 28, 0, 0, 285, 2436 34, 0, 35, 31, 36, 286, 0, 38, 39, 287, 2437 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2438 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2439 0, 34, 0, 0, 0, 0, 110, 0, 38, 39, 2440 0, 0, 294, 0, 44, 0, 0, 41, 42, 0, 2441 45, 46, 296, 297, 298, 299, 2, 206, 4, 5, 2442 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2443 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2444 0, 0, 26, 27, 28, 0, 0, 0, 321, 282, 2445 283, 31, 284, 8, 9, 10, 11, 12, 13, 14, 2446 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2447 25, 0, 0, 26, 27, 28, 0, 0, 285, 34, 2448 0, 35, 31, 36, 286, 0, 38, 39, 287, 0, 2449 0, 288, 289, 290, 291, 41, 42, 0, 292, 293, 2450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451 34, 0, 0, 0, 0, 0, 0, 38, 39, 0, 2452 0, 294, 0, 343, 0, 0, 0, 0, 758, 344, 2453 46, 296, 297, 298, 299, 2, 206, 4, 5, 6, 2454 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2455 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2456 0, 26, 27, 28, 0, 0, 0, 0, 282, 283, 2457 31, 284, 8, 9, 10, 11, 12, 13, 14, 15, 2458 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2459 0, 0, 26, 27, 28, 0, 0, 285, 34, 0, 2460 35, 31, 36, 286, 0, 38, 39, 287, 0, 0, 2461 288, 289, 290, 291, 41, 42, 0, 292, 293, 0, 2462 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2463 0, 0, 0, 0, 0, 0, 207, 39, 0, 0, 2464 294, 0, 963, 0, 0, 0, 0, 758, 344, 46, 2465 296, 297, 298, 299, 2, 206, 4, 5, 6, 7, 2466 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2467 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2468 26, 27, 28, 0, 0, 0, 0, 282, 283, 31, 2469 284, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2470 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2471 0, 0, 0, 0, 0, 0, 285, 34, 0, 35, 2472 31, 36, 286, 0, 38, 39, 287, 0, 0, 288, 2473 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2474 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2475 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 2476 0, 963, 0, 0, 0, 0, 758, 45, 46, 296, 2477 297, 298, 299, 2, 206, 4, 5, 6, 7, 8, 2478 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2479 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2480 27, 28, 0, 0, 0, 0, 282, 283, 31, 284, 2481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2483 0, 0, 0, 0, 0, 285, 34, 0, 35, 0, 2484 36, 286, 0, 38, 39, 287, 0, 0, 288, 289, 2485 290, 291, 41, 42, 0, 292, 293, 0, 0, 0, 2486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2487 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 2488 343, 0, 0, 0, 0, 0, 344, 46, 296, 297, 2489 298, 299, 2, 206, 4, 5, 6, 7, 8, 9, 2490 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2491 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2492 28, 0, 0, 0, 0, 282, 283, 31, 284, 0, 2493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2495 0, 0, 0, 0, 285, 34, 0, 35, 0, 36, 2496 286, 0, 207, 39, 287, 0, 0, 288, 289, 290, 2497 291, 41, 42, 0, 292, 293, 0, 0, 0, 0, 2498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2499 0, 0, 0, 0, 0, 0, 0, 294, 0, 998, 2500 0, 0, 0, 0, 0, 999, 46, 296, 297, 298, 2501 299, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2502 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2503 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2504 0, 0, 0, 0, 282, 283, 31, 284, 0, 0, 2505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2507 0, 0, 0, 285, 34, 0, 35, 0, 36, 286, 2508 0, 38, 39, 287, 0, 0, 288, 289, 290, 291, 2509 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, 2510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2511 0, 0, 0, 0, 0, 0, 294, 0, 963, 0, 2512 0, 0, 0, 0, 344, 46, 296, 297, 298, 299, 2513 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2514 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2515 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2516 0, 0, 0, 282, 283, 31, 284, 0, 0, 0, 2517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2519 0, 0, 285, 34, 0, 35, 0, 36, 286, 0, 2520 207, 39, 287, 0, 0, 288, 289, 290, 291, 41, 2521 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 2522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523 0, 0, 0, 0, 0, 294, 0, 379, 0, 0, 2524 0, 0, 0, 45, 46, 296, 297, 298, 299, -516, 2525 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 2526 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2527 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2528 27, 28, 29, 0, 0, 30, 0, 0, 31, 32, 2529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531 0, 0, 0, 33, 0, 0, 34, 0, 35, 0, 2532 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 2533 0, 0, 41, 42, 0, 0, 0, 0, 0, 0, 2534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2535 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 2536 44, 0, 0, 0, 0, 0, 45, 46, 1, 2, 2537 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2538 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2539 23, 24, 25, 0, 0, 26, 27, 28, 29, 0, 2540 0, 30, 0, 0, 31, 32, 0, 0, 0, 0, 2541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2542 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2543 0, 0, 34, 0, 35, 0, 36, 37, 0, 38, 2544 39, 40, 0, 0, 0, 0, 0, 0, 41, 42, 2545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2547 0, 0, 0, 0, 43, 0, 44, 0, 0, 0, 2548 -520, 0, 45, 46, 1, 2, 3, 4, 5, 6, 2549 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2550 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2551 0, 26, 27, 28, 29, 0, 0, 30, 0, 0, 2552 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2554 0, 0, 0, 0, 0, 33, 0, 0, 34, 0, 2555 35, 0, 36, 37, 0, 38, 39, 40, 0, 0, 2556 0, 0, 0, 0, 41, 42, 0, 0, 0, 0, 2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2559 43, 0, 44, 0, 0, 0, 0, 0, 45, 46, 2560 205, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2561 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2562 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2563 0, 0, 0, 0, 0, 0, 31, 0, 8, 9, 2564 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2565 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2566 28, 485, 486, 487, 34, 0, 35, 31, 36, 37, 2567 0, 207, 39, 40, 0, 0, 0, 0, 0, 0, 2568 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, 2569 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 2570 0, 0, 38, 39, 0, 0, 43, 0, 208, 0, 2571 0, 0, 0, 0, 45, 46, 1, 2, 206, 4, 2572 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2573 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2574 25, -293, 0, 26, 27, 28, 29, 0, 0, 30, 2527 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2575 2528 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2576 2529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2577 2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2578 34, 0, 35, 0, 36, 0, 0, 38, 39, 0,2579 0, -293, 2, 206, 4, 5, 6, 7, 8, 9,2580 1 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,2581 2 0, 21, 22, 23, 24, 25, 0, 0, 26, 27,2582 28, 0, 0, 0, 44, 0, 0, 31, 0, 0,2583 45, 46, 0, 0, 0, 0, 0, 0, 0, 0,2531 34, 0, 35, 0, 36, 0, 0, 38, 39, 2, 2532 205, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2533 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2534 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2535 0, 0, 0, 0, 31, -405, 668, 0, 0, 0, 2536 0, 0, 45, 46, 0, 0, 0, 0, 0, 0, 2584 2537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585 0, 0, 0, 0, 0, 34, 0, 35, 0, 36, 2586 37, 0, 207, 39, 40, 0, 0, 0, 0, 0, 2587 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 2538 0, 0, 34, 0, 35, 0, 36, 0, 0, 38, 2539 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2588 2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2589 0, 0, 0, 0, 0, 0, 0, 43, 0, 208, 2590 0, 0, 0, 0, 0, 45, 46, 2, 206, 4, 2541 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 2542 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 2543 0, 0, 0, 0, 45, 46, 2, 205, 4, 5, 2544 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2545 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2546 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2547 0, 31, 0, 0, 0, 8, 9, 10, 11, 12, 2548 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2549 23, 24, 25, 0, 0, 26, 27, 28, 0, 34, 2550 0, 35, 0, 36, 31, 675, 38, 39, 0, 0, 2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2553 1334, 0, 34, 0, 0, 0, 0, 0, 0, 38, 2554 39, 0, 0, 0, 0, 668, 0, 0, 0, 0, 2555 0, 45, 46, 2, 205, 4, 5, 6, 7, 8, 2556 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2557 19, 20, 21, 22, 23, 24, 25, 0, 676, 26, 2558 27, 28, 677, 0, 45, 46, 0, 0, 31, 0, 2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2561 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 2562 36, 0, 0, 206, 39, 2, 205, 4, 5, 6, 2563 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2564 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2565 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 2566 31, 0, 269, 0, 0, 0, 0, 0, 45, 46, 2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2569 35, 0, 36, 0, 0, 38, 39, 2, 205, 4, 2591 2570 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2592 2571 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2593 2572 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2594 0, 0, 31, 0, 0, 0, 0, 8, 9, 10, 2595 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2596 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2597 34, 0, 35, 0, 36, 0, 31, 38, 39, 0, 2598 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2599 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2600 22, 23, 24, 25, 34, 0, 26, 27, 28, 0, 2601 0, 38, 39, -400, 678, 31, 0, 0, 0, 0, 2573 0, 0, 31, 0, 668, 0, 0, 0, 0, 0, 2602 2574 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 2603 2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2604 0, 0, 0, 34, 0, 35, 635, 36, 338, 0, 2605 38, 39, 0, 0, 45, 46, 0, 0, 0, 0, 2576 34, 0, 35, 0, 36, 0, 0, 206, 39, 8, 2577 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2578 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2579 27, 28, 0, 0, 0, 0, 281, 282, 31, 283, 2580 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 2581 0, 0, 45, 46, 0, 0, 0, 0, 0, 0, 2582 0, 0, 0, 0, 0, 284, 34, 0, 0, 0, 2583 0, 285, 0, 38, 39, 286, 0, 0, 287, 288, 2584 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2606 2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2607 0, 0, 1351, 0, 0, 0, 0, 0, 0, 0, 2608 0, 0, 0, 0, 0, 0, 0, 678, 0, 0, 2609 0, 0, 0, 45, 46, 2, 206, 4, 5, 6, 2610 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2587 295, 0, 513, 0, 0, 170, 0, 0, 45, 46, 2588 297, 298, 299, 300, 8, 9, 10, 11, 12, 13, 2589 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2590 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2591 0, 281, 282, 31, 283, 8, 9, 10, 11, 12, 2592 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2593 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2594 284, 34, 0, 0, 31, 0, 285, 0, 38, 39, 2595 286, 0, 0, 287, 288, 289, 290, 291, 292, 41, 2596 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2597 0, 0, 34, 0, 0, 0, 0, 110, 0, 38, 2598 39, 0, 0, 0, 0, 295, -40, 296, 0, 0, 2599 41, 42, 0, 45, 46, 297, 298, 299, 300, 8, 2600 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2601 19, 20, 21, 22, 23, 24, 25, 0, 44, 26, 2602 27, 28, 0, 0, 45, 46, 281, 282, 31, 283, 2603 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2604 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2605 26, 27, 28, 0, 0, 284, 34, 0, 0, 31, 2606 675, 285, 0, 38, 39, 286, 0, 0, 287, 288, 2607 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2608 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2609 0, 0, 0, 0, 38, 39, 0, 0, 0, 0, 2610 295, 0, 296, 0, 0, 0, 0, 0, 45, 46, 2611 297, 298, 299, 300, 8, 9, 10, 11, 12, 13, 2612 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2613 24, 25, 0, 676, 26, 27, 28, 1070, 0, 45, 2614 46, 281, 282, 31, 283, 8, 9, 10, 11, 12, 2615 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2616 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2617 284, 34, 0, 0, 31, 675, 285, 0, 38, 39, 2618 286, 0, 0, 287, 288, 289, 290, 291, 292, 41, 2619 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2620 0, 0, 34, 0, 0, 0, 0, 0, 0, 38, 2621 39, 0, 0, 0, 0, 295, 0, 341, 0, 0, 2622 0, 0, 0, 45, 46, 297, 298, 299, 300, 8, 2623 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2624 19, 20, 21, 22, 23, 24, 25, 0, 676, 26, 2625 27, 28, 1197, 0, 45, 46, 281, 282, 31, 283, 2626 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2627 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2628 26, 27, 28, 0, 0, 284, 34, 0, 0, 31, 2629 0, 285, 0, 38, 39, 286, 0, 0, 287, 288, 2630 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2631 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2632 0, 0, 37, 0, 38, 39, 40, 0, 0, 0, 2633 295, 0, 376, 0, 0, 41, 42, 0, 45, 46, 2634 297, 298, 299, 300, 0, 0, 0, 0, 0, 0, 2635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2636 0, 43, 0, 44, 0, 0, 0, 0, 0, 45, 2637 46, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2611 2638 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2612 2639 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 2613 31, 0, 0, 0, 8, 9, 10, 11, 12, 13, 2614 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2615 24, 25, 0, 0, 26, 27, 28, 0, 34, 0, 2616 35, 0, 36, 31, 685, 38, 39, 0, 0, 0, 2640 31, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2641 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2642 0, 26, 27, 28, 0, 0, 0, 0, 34, 0, 2643 31, 0, 0, 37, 0, 206, 39, 40, 0, 0, 2644 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 2645 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2646 0, 0, 0, 0, 0, 38, 39, 0, 0, 0, 2647 0, 0, 43, 0, 269, 0, 0, 0, 0, 0, 2648 45, 46, 0, 0, 0, 8, 9, 10, 11, 12, 2649 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2650 23, 24, 25, 0, 256, 26, 27, 28, 0, 0, 2651 45, 46, 0, 0, 31, 8, 9, 10, 11, 12, 2652 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2653 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2654 0, 0, 34, 0, 31, 0, 0, 0, 0, 38, 2655 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2617 2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2618 0, 0, 0, 0, 0, 0, 0, 1353, 0, 0, 2619 0, 34, 0, 0, 0, 0, 0, 0, 38, 39, 2620 0, 0, 678, 0, 0, 0, 0, 0, 45, 46, 2621 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2622 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2623 22, 23, 24, 25, 0, 686, 26, 27, 28, 687, 2624 0, 45, 46, 0, 0, 31, 0, 0, 0, 0, 2657 0, 0, 34, 0, 0, 0, 0, 0, 0, 206, 2658 39, 0, 0, 0, 0, 0, 0, 0, 44, 0, 2659 0, 0, 0, 0, 45, 46, 0, 0, 0, 8, 2660 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2661 19, 20, 21, 22, 23, 24, 25, 0, 269, 26, 2662 27, 28, 0, 0, 45, 46, 0, 0, 31, 8, 2663 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2664 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2665 27, 28, 0, 0, 0, 0, 34, 0, 31, 0, 2666 0, 0, 0, 38, 39, 0, 0, 0, 0, 0, 2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2668 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2669 0, 0, 0, 38, 39, 0, 0, 0, 0, 0, 2670 0, 0, 337, 0, 0, 0, 0, 0, 45, 46, 2671 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 2672 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2673 25, 0, 676, 26, 27, 28, 0, 0, 45, 46, 2674 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2625 2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2626 2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2627 0, 0, 0, 34, 0, 35, 0, 36, 0, 0, 2628 207, 39, 0, 2, 206, 4, 5, 6, 7, 8, 2629 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2630 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2631 27, 28, 0, 0, 0, 0, 0, 270, 31, 0, 2632 0, 0, 0, 45, 46, 0, 0, 0, 0, 0, 2677 34, 0, 0, 0, 0, 0, 0, 38, 39, 0, 2678 0, 0, 281, 282, 0, 283, 1021, 0, 1022, 0, 2679 0, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 0, 2680 0, 1508, 1031, 0, 0, 0, 1032, 1033, 0, 33, 2681 0, 284, 0, 0, 0, 0, 668, 1034, 0, 0, 2682 0, 286, 45, 46, 287, 288, 289, 290, 291, 292, 2683 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2633 2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2634 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 2635 36, 0, 0, 38, 39, 0, 2, 206, 4, 5, 2636 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2637 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2638 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2639 678, 31, 0, 0, 0, 0, 45, 46, 0, 0, 2685 0, 0, 0, 0, 0, 0, 295, 0, 376, 0, 2686 0, 170, 0, 0, 45, 46, 297, 298, 299, 300, 2687 0, 0, 281, 282, 1035, 283, 1021, 0, 1022, -134, 2688 0, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 0, 2689 0, 0, 1031, 0, 0, 0, 1032, 1033, 0, 33, 2690 0, 284, 0, 0, 0, 0, 0, 1034, 0, 0, 2691 0, 286, 0, 0, 287, 288, 289, 290, 291, 292, 2692 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2640 2693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2641 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2642 0, 35, 0, 36, 0, 0, 38, 39, 0, 2, 2643 206, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2644 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2645 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2646 0, 0, 0, 593, 31, 0, 0, 0, 0, 45, 2647 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2694 0, 0, 0, 0, 0, 0, 295, 0, 376, 0, 2695 0, 170, 0, 0, 45, 46, 297, 298, 299, 300, 2696 0, 0, 0, 0, 1035, 0, 0, 0, 0, -134, 2697 2, 205, 4, 5, 6, 7, 8, 9, 10, 11, 2698 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2699 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2700 0, 0, 0, 0, 0, 31, 0, 281, 282, 0, 2701 283, 1021, 0, 1022, 1380, 1381, 1023, 1024, 1025, 1026, 2702 1027, 1028, 1029, 1030, 0, 0, 1508, 1031, 0, 0, 2703 0, 1032, 1033, 34, 33, 35, 284, 36, 0, 0, 2704 38, 39, 1034, 0, 0, 0, 286, 0, 0, 287, 2705 288, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2706 0, 0, 0, 0, 1291, 0, 0, 0, 0, 0, 2648 2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2649 0, 0, 34, 0, 35, 0, 36, 0, 0, 207, 2650 39, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2651 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2652 0, 26, 27, 28, 0, 0, 0, 0, 282, 283, 2653 31, 284, 0, 0, 0, 0, 208, 0, 0, 0, 2654 0, 0, 45, 46, 0, 0, 0, 0, 0, 0, 2655 0, 0, 0, 0, 0, 0, 0, 285, 34, 0, 2656 0, 0, 0, 286, 0, 38, 39, 287, 0, 0, 2657 288, 289, 290, 291, 41, 42, 0, 292, 293, 0, 2708 0, 295, 0, 376, 0, 0, 170, 0, 0, 45, 2709 46, 297, 298, 299, 300, 0, 0, 281, 282, 1035, 2710 283, 1021, 0, 1022, 1380, 1381, 1023, 1024, 1025, 1026, 2711 1027, 1028, 1029, 1030, 0, 0, 0, 1031, 0, 0, 2712 0, 1032, 1033, 0, 33, 0, 284, 0, 0, 0, 2713 0, 0, 1034, 0, 0, 0, 286, 0, 0, 287, 2714 288, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2658 2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659 2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2660 294, 0, 517, 0, 0, 171, 0, 0, 45, 46, 2661 296, 297, 298, 299, 8, 9, 10, 11, 12, 13, 2662 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2663 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2664 0, 282, 283, 31, 284, 8, 9, 10, 11, 12, 2665 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2666 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2667 285, 34, 0, 0, 31, 0, 286, 0, 38, 39, 2668 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2669 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2670 0, 0, 34, 0, 0, 0, 0, 37, 0, 336, 2671 337, 40, 0, 294, -36, 295, 0, 0, 41, 42, 2672 0, 45, 46, 296, 297, 298, 299, 8, 9, 10, 2673 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2674 21, 22, 23, 24, 25, 0, 338, 26, 27, 28, 2675 0, 0, 45, 46, 282, 283, 31, 284, 8, 9, 2676 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2677 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2678 28, 0, 0, 285, 34, 0, 0, 31, 0, 286, 2679 0, 38, 39, 287, 0, 0, 288, 289, 290, 291, 2680 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, 2681 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 2682 110, 0, 38, 39, 0, 0, 294, 0, 295, 0, 2683 0, 41, 42, 0, 45, 46, 296, 297, 298, 299, 2684 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2685 18, 19, 20, 21, 22, 23, 24, 25, 0, 44, 2686 26, 27, 28, 0, 0, 45, 46, 282, 283, 31, 2687 284, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2688 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2689 0, 26, 27, 28, 0, 0, 285, 34, 0, 0, 2690 31, 685, 286, 0, 38, 39, 287, 0, 0, 288, 2691 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2692 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2693 0, 0, 0, 0, 0, 38, 39, 0, 0, 294, 2694 0, 157, 0, 0, 0, 0, 0, 45, 46, 296, 2695 297, 298, 299, 8, 9, 10, 11, 12, 13, 14, 2696 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2697 25, 0, 686, 26, 27, 28, 1092, 0, 45, 46, 2698 282, 283, 31, 284, 8, 9, 10, 11, 12, 13, 2699 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2700 24, 25, 0, 0, 26, 27, 28, 0, 0, 285, 2701 34, 0, 0, 31, 685, 286, 0, 38, 39, 287, 2702 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2703 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704 0, 34, 0, 0, 0, 0, 0, 0, 38, 39, 2705 0, 0, 294, 0, 593, 0, 0, 0, 0, 0, 2706 45, 46, 296, 297, 298, 299, 8, 9, 10, 11, 2707 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2708 22, 23, 24, 25, 0, 686, 26, 27, 28, 1221, 2709 0, 45, 46, 282, 283, 31, 284, 0, 0, 0, 2710 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 2711 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2712 24, 25, 285, 34, 26, 27, 28, 0, 286, 0, 2713 38, 39, 287, 31, 0, 288, 289, 290, 291, 41, 2714 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 2717 0, 295, 0, 376, 0, 0, 170, 0, 0, 45, 2718 46, 297, 298, 299, 300, 0, 0, 281, 282, 1035, 2719 283, 1021, 0, 1022, 0, 0, 1023, 1024, 1025, 1026, 2720 1027, 1028, 1029, 1030, 0, 0, 0, 1031, 0, 0, 2721 0, 1032, 1033, 0, 33, 0, 284, 0, 0, 0, 2722 0, 0, 1034, 0, 0, 0, 286, 0, 0, 287, 2723 288, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2724 0, 0, 0, 0, 0, 0, 281, 282, 0, 283, 2715 2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2716 0, 34, 0, 0, 0, 294, 0, 379, 38, 39, 2717 0, 0, 0, 45, 46, 296, 297, 298, 299, 467, 2718 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2719 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2720 22, 23, 24, 25, 0, 257, 26, 27, 28, 0, 2721 0, 45, 46, 0, 0, 31, 0, 0, 0, 8, 2722 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2723 19, 20, 21, 22, 23, 24, 25, -293, 0, 26, 2724 27, 28, 0, 34, 0, 35, 0, 36, 31, 0, 2725 38, 39, 0, 0, 0, 0, 0, 8, 9, 10, 2726 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2727 21, 22, 23, 24, 25, 0, 34, 26, 27, 28, 2728 0, 37, 0, 336, 337, 40, 31, -293, 0, 0, 2729 -3, 0, 41, 42, 0, 8, 9, 10, 11, 12, 2730 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2731 23, 24, 25, -293, 34, 26, 27, 28, 0, 37, 2732 338, 336, 337, 40, 31, 0, 45, 46, 0, 0, 2733 41, 42, 0, 8, 9, 10, 11, 12, 13, 14, 2734 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2735 25, 0, 34, 26, 27, 28, 635, 0, 338, 38, 2736 39, 0, 31, -293, 45, 46, 8, 9, 10, 11, 2737 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2738 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2739 34, 0, 0, 0, 0, 31, 338, 38, 39, 0, 2740 0, 0, 45, 46, 8, 9, 10, 11, 12, 13, 2741 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2742 24, 25, 0, 34, 26, 27, 28, 0, 0, 0, 2743 207, 39, 0, 31, 157, 0, 0, 0, 0, 0, 2744 45, 46, 8, 9, 10, 11, 12, 13, 14, 15, 2745 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2746 0, 34, 26, 27, 28, 0, 0, 270, 38, 39, 2747 0, 31, 0, 45, 46, 8, 9, 10, 11, 12, 2748 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2749 23, 24, 25, 0, 0, 26, 27, 28, 0, 34, 2750 0, 0, 0, 0, 31, 338, 38, 39, 0, 0, 2751 0, 45, 46, 8, 9, 10, 11, 12, 13, 14, 2752 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2753 25, 0, 34, 26, 27, 28, 0, 0, 0, 38, 2754 39, 0, 31, 686, 0, 0, 0, 0, 0, 45, 2755 46, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2756 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2757 34, 26, 27, 28, 0, 0, 593, 38, 39, 0, 2758 31, 0, 45, 46, 2, 206, 4, 5, 6, 7, 2759 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2760 18, 19, 20, 21, 22, 23, 24, 25, 34, 0, 2761 26, 27, 28, 0, 44, 207, 39, 0, 0, 31, 2762 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 2726 0, 295, 0, 376, 0, 0, 170, 0, 0, 45, 2727 46, 297, 298, 299, 300, 284, 0, 0, 0, 1035, 2728 0, 631, 0, 139, 140, 286, 0, 0, 287, 288, 2729 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2730 0, 0, 0, 0, 0, 281, 282, 0, 283, 0, 2763 2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2764 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 2765 0, 36, 0, 0, 38, 39, 0, 0, 45, 46, 2766 282, 283, 0, 284, 1042, 0, 1043, 0, 0, 1044, 2767 1045, 1046, 1047, 1048, 1049, 1050, 1051, 0, 0, 1525, 2768 1052, 0, 0, 0, 1053, 1054, 0, 33, 0, 285, 2769 -413, 0, 0, 0, 0, 1055, 0, 0, 0, 287, 2770 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2771 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2773 0, 0, 294, 0, 379, 0, 0, 171, 0, 0, 2774 45, 46, 296, 297, 298, 299, 0, 0, 282, 283, 2775 1057, 284, 1042, 0, 1043, -128, 0, 1044, 1045, 1046, 2776 1047, 1048, 1049, 1050, 1051, 0, 0, 0, 1052, 0, 2777 0, 0, 1053, 1054, 0, 33, 0, 285, 0, 0, 2778 0, 0, 0, 1055, 0, 0, 0, 287, 0, 0, 2779 288, 289, 290, 291, 41, 42, 0, 292, 293, 0, 2732 295, 0, 632, 0, 633, 377, 0, 0, 45, 46, 2733 297, 298, 299, 300, 284, 0, 0, 0, 0, 0, 2734 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 2735 290, 291, 292, 41, 42, 0, 293, 294, 0, 0, 2736 0, 0, 0, 0, 281, 282, 0, 283, 0, 0, 2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 2738 0, 376, 0, 0, 377, 0, 0, 45, 46, 297, 2739 298, 299, 300, 284, 0, 0, 0, 0, 0, 285, 2740 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 2741 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2742 0, 0, 0, 281, 282, 0, 283, 0, 0, 0, 2743 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 2744 376, 0, 0, 0, 0, 748, 45, 46, 297, 298, 2745 299, 300, 284, 0, 0, 0, 0, 0, 285, 0, 2746 0, 0, 286, 0, 0, 287, 288, 289, 290, 291, 2747 292, 41, 42, 0, 293, 294, 0, 0, 0, 0, 2748 0, 0, 281, 282, 0, 283, 0, 0, 0, 0, 2749 0, 0, 0, 0, 0, 0, 0, 295, 0, 376, 2750 0, 0, 956, 0, 0, 45, 46, 297, 298, 299, 2751 300, 284, 0, 0, 0, 0, 0, 285, 0, 0, 2752 0, 286, 0, 0, 287, 288, 289, 290, 291, 292, 2753 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2754 0, 281, 282, 0, 283, 0, 0, 0, 0, 0, 2755 0, 0, 0, 0, 0, 0, 295, 0, 376, 0, 2756 0, 0, 0, 0, 45, 46, 297, 298, 299, 300, 2757 284, 0, 0, 0, 0, 0, 285, 0, 0, 0, 2758 286, 0, 0, 287, 288, 289, 290, 291, 292, 41, 2759 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2760 281, 282, 0, 283, 0, 0, 0, 0, 0, 0, 2761 0, 0, 0, 0, 0, 502, 0, 376, 0, 0, 2762 0, 0, 0, 45, 46, 297, 298, 299, 300, 284, 2763 0, 0, 0, 0, 0, 285, 0, 0, 0, 286, 2764 0, 0, 287, 288, 289, 290, 291, 292, 41, 42, 2765 0, 293, 294, 0, 0, 0, 0, 0, 0, 281, 2766 282, 0, 283, 0, 0, 0, 0, 0, 0, 0, 2767 0, 0, 0, 0, 507, 0, 376, 0, 0, 0, 2768 0, 0, 45, 46, 297, 298, 299, 300, 284, 0, 2769 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 2770 0, 287, 288, 289, 290, 291, 292, 41, 42, 0, 2771 293, 294, 0, 0, 0, 0, 0, 0, 281, 282, 2772 0, 283, 0, 0, 0, 0, 0, 0, 0, 0, 2773 0, 0, 0, 510, 0, 376, 0, 0, 0, 0, 2774 0, 45, 46, 297, 298, 299, 300, 284, 0, 0, 2775 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 2776 287, 288, 289, 290, 291, 292, 41, 42, 0, 293, 2777 294, 0, 0, 0, 0, 0, 0, 281, 282, 0, 2778 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2779 0, 0, 295, 0, 376, 0, 0, 0, 0, 0, 2780 699, 46, 297, 298, 299, 300, 284, 0, 0, 0, 2781 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 2782 288, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2780 2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2781 2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2782 294, 0, 379, 0, 0, 171, 0, 0, 45, 46, 2783 296, 297, 298, 299, 0, 0, 0, 0, 1057, 0, 2784 0, 0, 0, -128, 2, 206, 4, 5, 6, 7, 2785 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2786 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2787 26, 27, 28, 0, 0, 0, 0, 0, 0, 31, 2788 0, 282, 283, 0, 284, 1042, 0, 1043, 1399, 1400, 2789 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 0, 0, 2790 1525, 1052, 0, 0, 0, 1053, 1054, 34, 33, 35, 2791 285, 36, 0, 0, 38, 39, 1055, 0, 0, 0, 2792 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2793 292, 293, 0, 0, 0, 0, 1312, 0, 0, 0, 2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2795 0, 0, 0, 294, 0, 379, 0, 0, 171, 0, 2796 0, 45, 46, 296, 297, 298, 299, 0, 0, 282, 2797 283, 1057, 284, 1042, 0, 1043, 1399, 1400, 1044, 1045, 2798 1046, 1047, 1048, 1049, 1050, 1051, 0, 0, 0, 1052, 2799 0, 0, 0, 1053, 1054, 0, 33, 0, 285, 0, 2800 0, 0, 0, 0, 1055, 0, 0, 0, 287, 0, 2801 0, 288, 289, 290, 291, 41, 42, 0, 292, 293, 2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804 0, 294, 0, 379, 0, 0, 171, 0, 0, 45, 2805 46, 296, 297, 298, 299, 0, 0, 282, 283, 1057, 2806 284, 1042, 0, 1043, 0, 0, 1044, 1045, 1046, 1047, 2807 1048, 1049, 1050, 1051, 0, 0, 0, 1052, 0, 0, 2808 0, 1053, 1054, 0, 33, 0, 285, 0, 0, 0, 2809 0, 0, 1055, 0, 0, 0, 287, 0, 0, 288, 2810 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2811 0, 0, 0, 0, 282, 283, 0, 284, 0, 0, 2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 2813 0, 379, 0, 0, 171, 0, 0, 45, 46, 296, 2814 297, 298, 299, 285, 0, 0, 0, 1057, 0, 286, 2815 0, 0, 0, 287, 0, 0, 288, 289, 290, 291, 2816 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, 2817 0, 282, 283, 0, 284, 0, 0, 0, 0, 0, 2818 0, 0, 0, 0, 0, 0, 294, 0, 379, 0, 2819 0, 972, 0, 0, 45, 46, 296, 297, 298, 299, 2820 285, 0, 0, 0, 0, 0, 286, 0, 0, 0, 2821 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2822 292, 293, 0, 0, 0, 0, 0, 0, 282, 283, 2823 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, 2824 0, 0, 0, 294, 0, 379, 0, 282, 283, 0, 2825 284, 45, 46, 296, 297, 298, 299, 285, 0, 0, 2826 0, 0, 0, 286, 0, 0, 0, 287, 0, 0, 2827 288, 289, 290, 291, 41, 42, 285, 292, 293, 0, 2828 0, 0, 286, 0, 0, 0, 287, 0, 0, 288, 2829 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2830 294, 0, 379, 0, 282, 283, 0, 284, 709, 46, 2831 296, 297, 298, 299, 0, 0, 0, 0, 0, 294, 2832 0, 379, 0, 282, 283, 0, 284, 344, 46, 296, 2833 297, 298, 299, 285, 0, 0, 0, 0, 0, 286, 2834 0, 0, 0, 287, 0, 0, 288, 289, 290, 291, 2835 41, 42, 285, 292, 293, 0, 0, 0, 286, 0, 2836 0, 0, 287, 0, 0, 288, 289, 290, 291, 41, 2837 42, 0, 292, 293, 0, 0, 506, 0, 0, 0, 2838 282, 283, 0, 284, 45, 46, 296, 297, 298, 299, 2839 0, 0, 0, 0, 0, 294, 0, 0, 0, 282, 2840 283, 0, 284, 45, 46, 296, 297, 298, 299, 285, 2841 0, 0, 0, 0, 0, 286, 0, 0, 0, 287, 2842 0, 0, 288, 289, 290, 291, 41, 42, 285, 292, 2843 293, 0, 0, 0, 286, 0, 0, 0, 287, 0, 2844 0, 288, 289, 290, 291, 41, 42, 0, 292, 293, 2845 0, 0, 511, 0, 0, 0, 0, 0, 0, 0, 2846 45, 46, 296, 297, 298, 299, 0, 0, 0, 0, 2847 0, 514, 0, 0, 0, 0, 0, 0, 0, 45, 2848 46, 296, 297, 298, 299, 2, 206, 4, 5, 6, 2785 0, 295, 0, 376, 0, 0, 0, 0, 0, 342, 2786 46, 297, 298, 299, 300, 2, 205, 4, 5, 6, 2849 2787 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2850 2788 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, … … 2853 2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2854 2792 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2855 35, 0, 36, 37, 0, 17 4, 175, 40, 0, 0,2856 0, 0, 0, 0, 41, 42, 205, 2, 206, 4,2857 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,2858 1 5, 16, 17, 18, 19, 20, 21, 22, 23, 24,2859 2 5, 0, 0, 26, 27, 28, 0, 0, 0, 0,2860 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,2793 35, 0, 36, 37, 0, 173, 174, 40, 0, 0, 2794 0, 0, 0, 0, 0, 0, 41, 42, 204, 2, 2795 205, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2796 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2797 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2798 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 2861 2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2862 2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863 34, 0, 35, 0, 36, 0, 0, 207, 39, 467, 2864 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2865 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2866 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2867 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2870 0, 0, 0, 34, 0, 35, 0, 36, 0, 0, 2871 38, 39, 2, 206, 4, 5, 6, 7, 8, 9, 2801 0, 0, 34, 0, 35, 0, 36, 0, 0, 206, 2802 39, 463, 2, 205, 4, 5, 6, 7, 8, 9, 2872 2803 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2873 2804 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, … … 2876 2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2877 2808 0, 0, 0, 0, 0, 34, 0, 35, 0, 36, 2878 0, 0, 207, 39 2809 0, 0, 38, 39, 2, 205, 4, 5, 6, 7, 2810 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2811 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2812 26, 27, 28, 0, 0, 0, 0, 0, 0, 31, 2813 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2814 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2815 0, 26, 27, 28, 481, 482, 483, 34, 0, 35, 2816 31, 36, 0, 0, 206, 39, 0, 0, 0, 0, 2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2818 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2819 0, 0, 0, 0, 0, 38, 39 2879 2820 }; 2880 2821 2881 2822 #define yypact_value_is_default(yystate) \ 2882 ((yystate) == (-13 23))2823 ((yystate) == (-1333)) 2883 2824 2884 2825 #define yytable_value_is_error(yytable_value) \ … … 2887 2828 static const yytype_int16 yycheck[] = 2888 2829 { 2889 0, 1, 186, 43, 239, 185, 204, 0, 43, 219, 2890 43, 116, 185, 521, 534, 185, 1, 875, 186, 0, 2891 1, 185, 757, 51, 647, 603, 750, 185, 0, 1, 2892 281, 621, 32, 750, 1041, 0, 1022, 43, 185, 32, 2893 345, 185, 750, 43, 168, 169, 513, 349, 875, 49, 2894 156, 32, 603, 32, 0, 693, 49, 349, 187, 0, 2895 32, 572, 57, 63, 601, 1322, 66, 32, 43, 69, 2896 63, 0, 1, 66, 696, 63, 69, 1399, 734, 492, 2897 0, 109, 266, 496, 69, 265, 32, 601, 69, 39, 2898 39, 32, 265, 490, 66, 265, 201, 69, 266, 601, 2899 39, 265, 43, 32, 604, 105, 601, 265, 49, 49, 2900 610, 106, 32, 113, 109, 418, 116, 117, 265, 82, 2901 66, 265, 63, 63, 39, 66, 66, 39, 69, 69, 2902 601, 984, 261, 262, 284, 438, 43, 66, 28, 601, 2903 69, 105, 72, 446, 132, 185, 146, 147, 1470, 601, 2904 185, 72, 185, 49, 147, 155, 156, 307, 308, 109, 2905 160, 111, 111, 1420, 39, 787, 82, 160, 72, 364, 2906 109, 39, 111, 368, 1021, 1022, 82, 482, 96, 185, 2907 688, 1034, 906, 1116, 156, 185, 186, 1120, 78, 906, 2908 156, 155, 0, 186, 110, 345, 488, 109, 906, 111, 2909 410, 201, 132, 96, 122, 111, 147, 147, 605, 209, 2910 185, 132, 609, 117, 1041, 64, 209, 113, 109, 160, 2911 160, 221, 406, 218, 32, 265, 109, 110, 221, 122, 2912 265, 381, 265, 630, 109, 256, 111, 634, 406, 239, 2913 1226, 109, 864, 111, 185, 186, 186, 825, 719, 221, 2914 146, 251, 987, 504, 57, 44, 45, 719, 251, 259, 2915 109, 426, 427, 901, 264, 265, 266, 719, 209, 209, 2916 251, 271, 251, 266, 825, 221, 813, 272, 185, 251, 2917 221, 221, 1289, 794, 279, 907, 251, 109, 696, 85, 2918 1276, 396, 221, 1502, 294, 49, 480, 636, 637, 813, 2919 109, 603, 925, 106, 1453, 251, 109, 307, 1053, 1054, 2920 251, 813, 480, 209, 653, 815, 621, 113, 813, 424, 2921 1529, 626, 251, 323, 265, 430, 115, 433, 328, 494, 2922 952, 251, 95, 44, 45, 328, 107, 112, 1487, 116, 2923 1489, 341, 813, 239, 109, 345, 111, 109, 513, 349, 2924 350, 813, 155, 348, 1212, 132, 934, 0, 110, 113, 2925 131, 813, 44, 45, 364, 987, 129, 1473, 368, 131, 2926 365, 371, 711, 1479, 369, 271, 116, 341, 130, 682, 2927 72, 11, 74, 75, 1129, 1212, 228, 328, 328, 32, 2928 130, 83, 84, 1499, 1050, 590, 396, 418, 1504, 114, 2929 550, 551, 552, 114, 350, 247, 406, 371, 349, 1395, 2930 1000, 307, 110, 406, 579, 218, 1038, 438, 116, 933, 2931 526, 109, 114, 111, 424, 446, 426, 427, 1275, 1276, 2932 430, 933, 114, 433, 72, 1442, 110, 632, 933, 110, 2933 72, 746, 1449, 251, 1502, 83, 84, 110, 256, 345, 2934 847, 83, 84, 116, 454, 209, 130, 119, 120, 130, 2935 968, 433, 1289, 802, 1522, 406, 406, 433, 110, 272, 2936 112, 1529, 472, 111, 116, 128, 279, 110, 131, 111, 2937 480, 116, 482, 116, 484, 591, 737, 480, 488, 131, 2938 132, 484, 70, 1500, 494, 73, 1118, 132, 76, 907, 2939 78, 90, 91, 484, 688, 1128, 506, 85, 508, 1009, 2940 1010, 511, 484, 513, 514, 982, 482, 271, 116, 484, 2941 688, 521, 1100, 825, 648, 525, 526, 473, 657, 942, 2942 426, 427, 130, 825, 1387, 1388, 125, 126, 484, 109, 2943 294, 111, 939, 484, 952, 348, 110, 488, 1395, 116, 2944 655, 116, 116, 307, 526, 484, 1178, 1179, 72, 116, 2945 526, 525, 365, 130, 484, 72, 369, 74, 75, 83, 2946 84, 571, 572, 88, 89, 132, 83, 84, 1086, 579, 2947 1403, 72, 3, 1091, 4, 5, 6, 7, 8, 9, 2948 590, 591, 83, 84, 72, 595, 116, 111, 494, 3, 2949 905, 601, 1, 603, 111, 83, 84, 757, 251, 804, 2950 418, 116, 132, 256, 809, 1442, 0, 513, 110, 591, 2951 111, 621, 1449, 0, 116, 591, 626, 622, 628, 432, 2952 438, 109, 632, 1289, 212, 635, 636, 637, 446, 111, 2953 111, 113, 113, 638, 112, 109, 938, 111, 116, 69, 2954 116, 71, 862, 653, 116, 655, 109, 652, 130, 130, 2955 601, 682, 603, 635, 636, 637, 132, 109, 116, 111, 2956 132, 591, 882, 1500, 1497, 116, 484, 623, 116, 1502, 2957 116, 653, 131, 579, 132, 685, 72, 708, 688, 116, 2958 76, 132, 116, 109, 132, 1000, 132, 83, 84, 1522, 2959 454, 279, 897, 72, 810, 132, 1529, 1363, 132, 944, 2960 1118, 711, 712, 713, 83, 84, 110, 109, 116, 719, 2961 720, 116, 116, 109, 908, 621, 906, 92, 93, 110, 2962 626, 117, 118, 906, 132, 116, 906, 132, 733, 711, 2963 908, 109, 906, 110, 868, 745, 746, 688, 906, 116, 2964 750, 751, 506, 699, 508, 109, 109, 511, 111, 906, 2965 514, 1383, 906, 110, 117, 118, 294, 713, 112, 116, 2966 1178, 1179, 116, 109, 352, 418, 354, 1399, 719, 720, 2967 746, 745, 1506, 109, 112, 111, 1306, 590, 116, 1506, 2968 1446, 109, 1448, 111, 794, 438, 109, 112, 1506, 117, 2969 118, 116, 802, 446, 804, 72, 806, 74, 75, 809, 2970 810, 110, 109, 813, 111, 1013, 83, 84, 110, 622, 2971 117, 118, 72, 110, 116, 825, 76, 110, 112, 116, 2972 802, 110, 116, 83, 84, 638, 110, 116, 810, 482, 2973 110, 484, 1147, 112, 810, 1501, 116, 1469, 1470, 652, 2974 1000, 115, 116, 252, 10, 11, 12, 13, 14, 109, 2975 806, 111, 110, 111, 442, 1116, 109, 117, 118, 1120, 2976 1121, 110, 813, 117, 682, 875, 110, 116, 3, 123, 2977 124, 110, 116, 39, 825, 10, 11, 12, 13, 14, 2978 810, 1041, 58, 59, 875, 110, 110, 897, 426, 427, 2979 708, 116, 1086, 875, 904, 905, 906, 1091, 908, 110, 2980 110, 67, 1036, 109, 39, 72, 116, 115, 1086, 76, 2981 920, 1226, 109, 1091, 111, 109, 83, 84, 1123, 875, 2982 733, 685, 64, 933, 934, 110, 115, 116, 938, 905, 2983 904, 116, 67, 943, 944, 72, 875, 74, 75, 76, 2984 0, 1, 109, 44, 45, 875, 83, 84, 943, 132, 2985 117, 118, 943, 110, 66, 906, 109, 908, 968, 116, 2986 109, 943, 111, 109, 1482, 1383, 553, 554, 506, 29, 2987 30, 112, 32, 511, 132, 1236, 514, 506, 109, 508, 2988 111, 1399, 511, 43, 911, 514, 913, 938, 114, 49, 2989 1000, 555, 556, 1108, 114, 114, 72, 57, 74, 75, 2990 76, 561, 562, 63, 943, 117, 66, 83, 84, 69, 2991 132, 1021, 1022, 1531, 132, 4, 5, 6, 7, 8, 2992 9, 109, 82, 83, 557, 558, 559, 560, 82, 682, 2993 568, 1041, 4, 5, 6, 7, 8, 9, 944, 1021, 2994 1022, 85, 86, 87, 109, 1021, 106, 1003, 160, 109, 2995 1041, 1469, 1470, 109, 112, 708, 116, 875, 467, 1041, 2996 82, 33, 1323, 118, 127, 109, 1327, 111, 94, 113, 2997 114, 1081, 109, 110, 111, 128, 1086, 109, 110, 111, 2998 69, 1091, 71, 131, 897, 1041, 111, 147, 109, 109, 2999 1100, 110, 110, 746, 1000, 155, 3, 69, 1108, 71, 3000 160, 112, 1041, 10, 11, 12, 13, 14, 112, 221, 3001 112, 1041, 110, 1123, 109, 110, 111, 110, 110, 528, 3002 110, 109, 110, 111, 533, 185, 186, 72, 109, 74, 3003 75, 76, 39, 112, 111, 1086, 114, 1147, 83, 84, 3004 1091, 201, 116, 132, 131, 733, 114, 259, 114, 209, 3005 109, 112, 264, 58, 59, 60, 920, 110, 218, 110, 3006 67, 221, 112, 1424, 109, 112, 111, 130, 228, 112, 3007 112, 1147, 117, 118, 583, 1249, 1250, 1251, 130, 1189, 3008 1190, 130, 116, 243, 29, 130, 110, 247, 110, 112, 3009 115, 251, 252, 114, 112, 1190, 110, 116, 1208, 1190, 3010 115, 109, 1212, 115, 110, 265, 266, 1189, 1190, 110, 3011 130, 110, 272, 116, 110, 132, 1226, 3, 110, 279, 3012 1230, 1212, 875, 1041, 10, 11, 12, 13, 14, 110, 3013 1212, 116, 110, 1189, 1208, 1230, 110, 110, 350, 1230, 3014 110, 110, 110, 110, 1, 654, 110, 656, 1230, 110, 3015 1189, 1190, 905, 39, 110, 110, 1212, 110, 72, 110, 3016 74, 75, 76, 115, 1379, 1275, 1276, 29, 328, 83, 3017 84, 1516, 131, 1212, 1284, 110, 130, 116, 875, 1289, 3018 112, 67, 1212, 112, 110, 110, 116, 110, 348, 349, 3019 130, 1230, 49, 1275, 1276, 109, 109, 706, 1289, 1275, 3020 116, 112, 1284, 117, 118, 365, 114, 1289, 110, 369, 3021 110, 110, 1322, 1507, 112, 116, 1506, 1081, 110, 431, 3022 380, 116, 116, 1506, 55, 110, 1506, 1322, 1284, 1507, 3023 110, 1322, 1506, 1289, 112, 109, 396, 1531, 1506, 109, 3024 1322, 109, 109, 109, 132, 1284, 406, 130, 105, 1506, 3025 1289, 112, 1506, 1531, 110, 115, 113, 110, 110, 1289, 3026 115, 473, 110, 128, 424, 115, 97, 1482, 114, 1379, 3027 430, 112, 432, 1378, 132, 112, 116, 112, 110, 72, 3028 110, 74, 75, 1322, 110, 1395, 110, 112, 1041, 146, 3029 83, 84, 112, 112, 1212, 1208, 112, 72, 155, 74, 3030 75, 76, 112, 72, 112, 74, 75, 467, 83, 84, 3031 1420, 47, 472, 1395, 83, 84, 109, 132, 132, 132, 3032 480, 114, 112, 132, 484, 1420, 132, 115, 488, 1420, 3033 110, 491, 1442, 493, 109, 130, 115, 110, 1420, 1449, 3034 109, 1451, 112, 1453, 115, 114, 112, 1044, 205, 112, 3035 112, 1442, 209, 112, 110, 110, 1506, 109, 1449, 112, 3036 1442, 1506, 193, 1506, 112, 109, 109, 1449, 528, 60, 3037 110, 1289, 1482, 533, 132, 110, 114, 1487, 109, 1489, 3038 112, 1420, 239, 595, 112, 216, 1442, 110, 112, 110, 3039 1500, 96, 96, 1449, 1147, 226, 1506, 1507, 109, 109, 3040 464, 115, 132, 1442, 1507, 130, 1516, 110, 110, 1500, 3041 1449, 623, 1442, 110, 271, 110, 628, 274, 1500, 1449, 3042 116, 1531, 42, 583, 132, 132, 110, 110, 1531, 66, 3043 590, 96, 96, 132, 110, 110, 110, 294, 75, 132, 3044 132, 601, 110, 603, 1500, 115, 112, 132, 115, 958, 3045 307, 112, 109, 132, 110, 1506, 30, 115, 110, 1212, 3046 132, 1500, 622, 294, 110, 1378, 110, 667, 1057, 563, 3047 1500, 980, 978, 1226, 565, 984, 1212, 1365, 638, 564, 3048 117, 464, 566, 643, 341, 567, 1470, 699, 345, 1541, 3049 1299, 1327, 652, 1121, 654, 655, 656, 1072, 1449, 685, 3050 685, 713, 913, 698, 66, 1091, 921, 364, 82, 83, 3051 1516, 368, 583, 972, 371, 1212, 868, 723, 649, 940, 3052 82, 1230, 484, 160, 1442, 1034, 0, 1, 688, 733, 3053 571, 1449, 692, 571, 694, 571, 1289, 72, 698, 74, 3054 75, 76, -1, -1, -1, -1, 706, -1, 83, 84, 3055 -1, -1, -1, 1191, 1192, 117, 1194, -1, 32, 719, 3056 720, -1, -1, 1201, -1, 1203, -1, -1, -1, 426, 3057 427, -1, -1, 733, 109, 49, -1, 10, 11, 12, 3058 13, 14, 1500, -1, 221, -1, -1, 1451, -1, 1453, 3059 -1, -1, -1, -1, 806, 69, -1, 454, 160, -1, 3060 85, 86, 87, -1, -1, -1, 39, 671, 1305, -1, 3061 467, -1, 443, -1, -1, -1, -1, 10, 11, 12, 3062 13, 14, 259, 1487, 109, 1489, 111, 264, 113, 114, 3063 -1, 105, -1, -1, 67, 492, -1, 494, 469, 496, 3064 -1, -1, 279, -1, -1, -1, 39, -1, -1, 506, 3065 -1, 508, -1, 813, 511, -1, 513, 514, -1, 221, 3066 1357, -1, -1, 1360, -1, 825, -1, -1, 525, 243, 3067 -1, -1, -1, 147, 67, 506, 109, -1, 111, -1, 3068 511, 155, 156, 514, 117, 118, -1, -1, 671, 1442, 3069 -1, -1, -1, -1, -1, -1, 1449, 259, -1, -1, 3070 -1, -1, 264, -1, -1, -1, 1403, -1, 868, -1, 3071 -1, 1408, 186, 350, 874, -1, 109, -1, 111, -1, 3072 -1, 1359, 579, -1, 117, 118, 790, 201, -1, -1, 3073 204, 205, -1, 590, -1, 209, 800, 897, -1, 1436, 3074 1249, 1250, 1251, -1, -1, -1, 906, 1500, 908, -1, 3075 814, -1, -1, -1, -1, 915, 230, -1, -1, -1, 3076 234, -1, 236, -1, 621, -1, -1, -1, -1, 626, 3077 -1, 245, -1, -1, -1, 632, 0, 251, 938, -1, 3078 -1, -1, 256, -1, -1, -1, -1, -1, 350, -1, 3079 -1, 1003, 266, -1, 431, -1, -1, -1, 958, -1, 3080 274, 10, 11, 12, 13, 14, 380, 790, 32, -1, 3081 -1, 448, 972, -1, -1, -1, -1, 800, -1, -1, 3082 980, -1, -1, 1520, 984, -1, -1, -1, 685, 1526, 3083 39, 814, -1, -1, -1, -1, 473, -1, -1, 670, 3084 1537, -1, 671, -1, 1541, 69, -1, -1, 679, -1, 3085 -1, -1, 683, -1, -1, -1, -1, -1, 67, -1, 3086 -1, 72, -1, 74, 75, 76, 723, 341, -1, 431, 3087 -1, 345, 83, 84, 1034, -1, -1, 351, 1387, 1388, 3088 -1, -1, -1, -1, -1, -1, -1, -1, 745, -1, 3089 364, -1, -1, -1, 368, -1, -1, 371, 109, -1, 3090 109, -1, 111, -1, -1, -1, 117, 118, 117, 118, 3091 -1, 473, 1072, -1, -1, -1, 1425, 491, -1, 493, 3092 -1, -1, -1, -1, -1, -1, 1086, -1, -1, -1, 3093 -1, 1091, 156, 97, 98, 99, 100, 101, 102, 103, 3094 104, 105, 106, 107, 418, -1, -1, 804, 1108, -1, 3095 -1, -1, 809, -1, 1018, 1019, -1, -1, 595, 433, 3096 -1, 790, -1, -1, 438, -1, -1, 131, -1, -1, 3097 -1, 800, 446, -1, 1483, -1, -1, 1189, -1, -1, 3098 -1, -1, -1, 1492, -1, 814, 623, -1, -1, -1, 3099 464, 628, 72, 467, 74, 75, 76, -1, -1, -1, 3100 -1, -1, -1, 83, 84, -1, 230, -1, 482, -1, 3101 484, -1, 1076, 1077, -1, -1, -1, -1, 492, -1, 3102 -1, -1, 496, -1, -1, 1185, -1, 251, -1, 109, 3103 -1, 111, 256, 595, -1, 1018, 1019, 117, 118, -1, 3104 897, -1, -1, -1, -1, -1, -1, 904, 1208, -1, 3105 -1, 525, 526, -1, -1, -1, -1, -1, -1, -1, 3106 -1, 623, 699, 920, -1, -1, 628, -1, 899, 643, 3107 -1, -1, 1284, 0, -1, -1, 713, -1, -1, -1, 3108 -1, -1, -1, -1, -1, 942, 943, 944, -1, 1249, 3109 1250, 1251, -1, 1076, 1077, -1, 733, -1, 572, 72, 3110 -1, 74, 75, 76, -1, 32, -1, -1, -1, -1, 3111 83, 84, -1, -1, -1, -1, 590, 591, 692, -1, 3112 694, -1, -1, -1, 698, -1, -1, 351, 72, 603, 3113 74, 75, 76, -1, -1, -1, 109, 699, 111, 83, 3114 84, -1, 69, 1000, 117, 118, -1, 621, -1, -1, 3115 -1, 713, 626, -1, -1, -1, -1, -1, 632, -1, 3116 1224, 635, 636, 637, -1, 109, -1, 111, -1, 806, 3117 -1, -1, -1, 117, 118, -1, -1, -1, -1, 653, 3118 -1, -1, -1, 26, 27, 28, -1, -1, -1, 1018, 3119 1019, -1, 1256, -1, 418, -1, -1, 671, -1, -1, 3120 1264, 1265, 1266, -1, -1, -1, -1, -1, 682, 433, 3121 -1, -1, -1, -1, 438, -1, -1, -1, 1378, 1379, 3122 -1, 1052, 446, -1, 1081, -1, -1, 1387, 1388, 156, 3123 -1, -1, -1, -1, 708, -1, -1, 711, -1, -1, 3124 464, 1224, -1, -1, 806, -1, 720, 1076, 1077, 723, 3125 -1, -1, -1, -1, -1, 98, -1, 100, 482, -1, 3126 484, -1, -1, -1, 1328, 1425, 1123, -1, -1, -1, 3127 -1, 745, 746, 1256, -1, -1, -1, 751, -1, -1, 3128 -1, 1264, 1265, 1266, -1, -1, -1, -1, -1, -1, 3129 -1, -1, -1, -1, 868, -1, -1, -1, -1, -1, 3130 874, -1, 526, -1, -1, -1, -1, 26, 27, 28, 3131 -1, -1, -1, -1, -1, -1, 790, -1, -1, -1, 3132 -1, -1, 1482, 1483, 251, -1, 800, -1, 802, 256, 3133 804, -1, 1492, 807, -1, 809, 810, -1, 181, -1, 3134 814, 915, -1, -1, -1, 1328, 1506, 1507, 191, 192, 3135 824, 1208, -1, 196, -1, 198, 199, -1, -1, -1, 3136 -1, -1, -1, -1, -1, -1, 1003, 591, -1, -1, 3137 -1, 1531, -1, 1230, -1, -1, -1, -1, -1, 98, 3138 -1, 100, -1, -1, -1, 0, -1, -1, -1, -1, 3139 -1, -1, -1, -1, -1, -1, -1, -1, 972, -1, 3140 -1, 875, -1, -1, -1, -1, 125, -1, -1, -1, 3141 -1, 635, 636, 637, -1, -1, -1, 32, -1, -1, 3142 -1, -1, -1, 897, 351, -1, -1, 1256, -1, 653, 3143 904, 905, -1, -1, 908, 1264, 1265, 1266, -1, -1, 3144 -1, 1003, -1, -1, -1, -1, -1, 671, -1, -1, 3145 -1, -1, -1, -1, 69, -1, -1, -1, 682, -1, 3146 934, -1, 181, -1, -1, 1322, -1, 1298, 942, 943, 3147 189, -1, 191, 192, -1, -1, -1, 196, -1, 198, 3148 199, -1, -1, -1, 708, -1, -1, 711, -1, -1, 3149 -1, 418, -1, -1, -1, -1, -1, -1, 1072, 1328, 3150 -1, -1, -1, -1, -1, -1, 433, -1, -1, -1, 3151 -1, 438, -1, -1, -1, -1, -1, -1, -1, 446, 3152 -1, -1, 746, -1, -1, -1, 1000, 10, 11, 12, 3153 13, 14, -1, -1, -1, -1, -1, 464, -1, 1013, 3154 -1, 156, -1, -1, 1018, 1019, -1, 1021, 1022, 268, 3155 -1, -1, 1189, -1, -1, 482, 39, 484, -1, -1, 3156 -1, -1, -1, 1420, -1, -1, 790, 1041, -1, -1, 3157 -1, -1, -1, -1, -1, -1, 800, -1, 802, -1, 3158 -1, -1, -1, 807, 67, -1, 810, -1, -1, 72, 3159 814, 74, 75, 76, 1451, -1, 1453, -1, -1, 526, 3160 83, 84, 1076, 1077, -1, -1, -1, -1, -1, -1, 3161 -1, 1185, -1, -1, -1, -1, -1, -1, -1, 1450, 3162 -1, 1452, -1, -1, -1, -1, 109, 1189, 111, -1, 3163 1487, -1, 1489, -1, 117, 118, 251, -1, -1, -1, 3164 -1, 256, -1, -1, -1, -1, -1, 1284, -1, 1123, 3165 -1, 875, -1, -1, -1, 1486, -1, 1488, -1, 1516, 3166 -1, -1, -1, -1, 591, -1, -1, -1, -1, -1, 3167 -1, -1, -1, 1147, -1, -1, -1, -1, -1, 0, 3168 -1, 905, -1, -1, -1, -1, -1, 189, -1, -1, 3169 -1, -1, -1, -1, 196, -1, -1, -1, -1, 1530, 3170 -1, 1532, -1, -1, -1, -1, -1, -1, 635, 636, 3171 637, 32, -1, -1, 1545, 1546, 1190, -1, -1, -1, 3172 -1, -1, 1284, -1, -1, -1, 653, -1, -1, -1, 3173 -1, -1, 575, 576, 1208, -1, 351, -1, 1212, -1, 3174 -1, -1, -1, -1, 671, -1, -1, -1, 69, -1, 3175 1224, -1, 1226, -1, -1, 682, 1230, -1, -1, -1, 3176 -1, 604, -1, -1, 607, 608, 268, 610, -1, 612, 3177 613, -1, -1, -1, 617, 618, -1, -1, -1, -1, 3178 -1, 708, 1256, -1, 711, -1, -1, -1, -1, -1, 3179 1264, 1265, 1266, -1, 1018, 1019, -1, 1021, 1022, -1, 3180 -1, 1275, 1276, 418, -1, -1, -1, -1, 10, 11, 3181 12, 13, 14, -1, -1, 1289, -1, 1041, 433, 746, 3182 -1, 323, -1, 438, -1, -1, -1, -1, -1, 331, 3183 -1, 446, 334, -1, -1, 156, -1, 39, -1, -1, 3184 -1, -1, -1, -1, -1, -1, -1, -1, 1322, 464, 3185 -1, -1, 1076, 1077, 1328, -1, 575, 576, -1, -1, 3186 -1, -1, -1, 790, -1, 67, -1, 482, -1, 484, 3187 72, -1, -1, 800, 76, 802, -1, -1, -1, -1, 3188 807, 83, 84, 810, -1, 604, -1, 814, 607, 608, 3189 -1, 610, -1, 612, 613, -1, 398, -1, 617, 618, 3190 402, -1, -1, -1, -1, -1, -1, 109, -1, -1, 3191 -1, 526, 755, 756, -1, 117, 118, -1, -1, -1, 3192 -1, 1395, -1, 1147, -1, -1, -1, -1, -1, -1, 3193 251, -1, -1, -1, -1, 256, -1, -1, -1, -1, 3194 -1, -1, -1, -1, -1, -1, 1420, -1, 875, -1, 2830 0, 1, 43, 43, 43, 238, 184, 0, 116, 203, 2831 1, 184, 0, 530, 184, 218, 0, 184, 184, 509, 2832 740, 0, 167, 168, 740, 740, 184, 184, 860, 613, 2833 595, 32, 32, 593, 725, 637, 347, 1, 43, 32, 2834 460, 593, 517, 43, 32, 478, 488, 593, 32, 49, 2835 492, 347, 566, 32, 105, 186, 49, 595, 1301, 39, 2836 185, 0, 966, 63, 423, 424, 66, 81, 43, 69, 2837 63, 593, 683, 66, 593, 362, 69, 593, 69, 366, 2838 1002, 1003, 28, 593, 97, 49, 264, 1020, 1003, 43, 2839 39, 264, 200, 32, 264, 81, 49, 264, 264, 627, 2840 628, 51, 0, 1, 155, 105, 264, 264, 118, 1013, 2841 0, 1110, 109, 113, 72, 643, 116, 117, 131, 81, 2842 0, 343, 1032, 1033, 134, 106, 112, 66, 109, 260, 2843 261, 490, 78, 113, 32, 63, 133, 111, 44, 45, 2844 265, 105, 32, 184, 184, 184, 146, 147, 39, 113, 2845 509, 113, 32, 1485, 147, 155, 156, 49, 1401, 159, 2846 113, 111, 111, 43, 113, 64, 159, 860, 280, 49, 2847 890, 69, 628, 701, 890, 890, 134, 111, 415, 184, 2848 1512, 185, 146, 63, 184, 185, 66, 643, 484, 69, 2849 709, 155, 185, 709, 627, 628, 1106, 434, 255, 709, 2850 200, 686, 1485, 678, 407, 442, 134, 596, 208, 184, 2851 643, 117, 111, 602, 573, 208, 111, 112, 113, 39, 2852 220, 113, 1505, 264, 264, 264, 39, 220, 1380, 1512, 2853 184, 1230, 72, 1232, 1233, 72, 217, 111, 238, 799, 2854 204, 661, 44, 45, 208, 701, 811, 799, 39, 250, 2855 250, 39, 11, 799, 146, 208, 478, 250, 258, 133, 2856 98, 265, 250, 263, 264, 265, 250, 147, 701, 783, 2857 270, 250, 265, 811, 238, 886, 255, 799, 403, 159, 2858 799, 220, 119, 799, 595, 393, 124, 1202, 339, 799, 2859 271, 111, 98, 113, 134, 295, 583, 278, 111, 118, 2860 113, 1453, 87, 736, 184, 185, 270, 909, 308, 273, 2861 111, 250, 1384, 421, 116, 134, 208, 270, 124, 427, 2862 111, 114, 113, 111, 324, 113, 1435, 1020, 208, 329, 2863 115, 295, 116, 1255, 1256, 1268, 329, 624, 1029, 339, 2864 220, 1256, 295, 343, 308, 227, 238, 347, 348, 111, 2865 112, 476, 250, 918, 112, 308, 1188, 917, 415, 779, 2866 250, 1470, 362, 1472, 246, 255, 366, 44, 45, 789, 2867 250, 917, 0, 1, 132, 339, 72, 434, 270, 343, 2868 800, 112, 363, 118, 264, 442, 367, 118, 500, 85, 2869 86, 613, 3, 393, 1456, 917, 618, 981, 362, 403, 2870 1462, 597, 366, 403, 32, 601, 891, 1311, 1480, 348, 2871 403, 55, 801, 1485, 118, 111, 308, 113, 30, 3, 2872 1482, 421, 112, 423, 424, 1487, 622, 427, 132, 429, 2873 626, 118, 72, 1505, 72, 672, 415, 112, 66, 116, 2874 1512, 69, 132, 0, 118, 85, 86, 85, 86, 329, 2875 450, 343, 937, 97, 1376, 434, 889, 132, 132, 423, 2876 424, 1376, 0, 442, 1368, 1369, 118, 347, 468, 111, 2877 82, 83, 476, 113, 964, 113, 476, 952, 478, 295, 2878 480, 111, 134, 476, 484, 927, 450, 480, 121, 122, 2879 490, 1424, 480, 638, 118, 1188, 480, 450, 1431, 463, 2880 811, 480, 502, 1105, 504, 792, 112, 507, 132, 509, 2881 510, 118, 118, 1078, 736, 811, 647, 517, 118, 118, 2882 113, 521, 115, 403, 488, 415, 490, 134, 492, 114, 2883 469, 423, 424, 118, 134, 134, 112, 645, 502, 132, 2884 504, 480, 118, 507, 434, 509, 510, 133, 192, 502, 2885 1483, 504, 442, 678, 507, 111, 118, 510, 4, 5, 2886 6, 7, 8, 9, 130, 565, 566, 133, 112, 1002, 2887 118, 215, 134, 573, 118, 1268, 111, 1268, 113, 999, 2888 1000, 225, 480, 583, 584, 112, 134, 587, 478, 1064, 2889 480, 118, 220, 593, 1069, 595, 584, 112, 490, 111, 2890 480, 990, 991, 118, 484, 118, 112, 423, 424, 573, 2891 114, 1096, 118, 613, 118, 672, 728, 509, 618, 583, 2892 620, 134, 250, 69, 624, 71, 922, 627, 628, 111, 2893 242, 118, 112, 614, 1054, 1055, 111, 833, 118, 118, 2894 118, 698, 118, 643, 847, 645, 118, 134, 629, 613, 2895 112, 295, 1343, 114, 618, 134, 134, 118, 134, 72, 2896 624, 642, 134, 76, 867, 114, 72, 889, 49, 118, 2897 1155, 1156, 85, 86, 678, 675, 615, 119, 678, 85, 2898 86, 573, 63, 125, 126, 66, 502, 111, 69, 112, 2899 112, 507, 1125, 672, 510, 118, 929, 111, 111, 113, 2900 113, 701, 702, 703, 90, 91, 119, 120, 853, 709, 2901 710, 675, 890, 593, 114, 595, 112, 890, 118, 698, 2902 890, 613, 675, 890, 890, 112, 618, 923, 112, 112, 2903 112, 1424, 890, 890, 118, 118, 736, 1428, 1431, 1430, 2904 740, 741, 111, 724, 113, 112, 112, 112, 564, 713, 2905 689, 118, 118, 4, 5, 6, 7, 8, 9, 981, 2906 111, 92, 93, 1, 703, 377, 147, 892, 1285, 1489, 2907 112, 112, 111, 1489, 1489, 112, 118, 118, 159, 117, 2908 1200, 118, 672, 783, 4, 5, 6, 7, 8, 9, 2909 1483, 111, 792, 1484, 794, 439, 127, 128, 678, 799, 2910 994, 112, 72, 111, 185, 113, 1094, 118, 698, 79, 2911 1098, 811, 82, 33, 84, 85, 86, 1237, 69, 134, 2912 71, 465, 1255, 111, 1244, 1245, 1246, 208, 792, 709, 2913 710, 72, 112, 74, 75, 76, 94, 95, 118, 220, 2914 72, 112, 74, 75, 85, 86, 736, 118, 111, 69, 2915 113, 71, 480, 85, 86, 794, 119, 120, 502, 111, 2916 860, 113, 111, 507, 66, 64, 510, 0, 1, 111, 2917 1015, 113, 860, 134, 111, 487, 113, 489, 1363, 111, 2918 82, 860, 882, 134, 116, 112, 113, 1307, 892, 889, 2919 890, 116, 892, 116, 882, 1380, 29, 30, 72, 32, 2920 74, 75, 116, 1125, 904, 134, 57, 111, 112, 113, 2921 43, 85, 86, 72, 111, 117, 49, 917, 918, 799, 2922 79, 860, 922, 82, 57, 84, 85, 86, 928, 929, 2923 63, 811, 72, 66, 74, 75, 69, 928, 134, 1064, 2924 904, 111, 116, 113, 1069, 85, 86, 81, 329, 82, 2925 83, 904, 952, 111, 113, 106, 111, 159, 109, 283, 2926 117, 118, 860, 927, 928, 929, 81, 1452, 1453, 502, 2927 860, 504, 120, 106, 507, 129, 109, 510, 1086, 96, 2928 1202, 981, 1094, 116, 308, 309, 1098, 1099, 130, 111, 2929 1465, 113, 111, 113, 113, 111, 112, 113, 3, 889, 2930 119, 120, 1002, 1003, 114, 10, 11, 12, 13, 14, 2931 890, 114, 892, 251, 147, 112, 660, 981, 220, 343, 2932 1020, 633, 403, 58, 59, 669, 159, 117, 118, 673, 2933 928, 895, 1020, 897, 39, 44, 45, 929, 112, 1514, 2934 112, 1020, 922, 112, 72, 984, 74, 75, 76, 1111, 2935 1112, 184, 185, 112, 378, 112, 258, 85, 86, 1059, 2936 1064, 263, 67, 111, 1064, 1069, 217, 200, 114, 1069, 2937 682, 111, 684, 113, 113, 208, 688, 118, 1078, 119, 2938 120, 1020, 116, 111, 217, 113, 1086, 220, 133, 981, 2939 116, 119, 120, 116, 227, 1059, 549, 550, 72, 111, 2940 1212, 111, 112, 113, 132, 79, 1059, 114, 82, 242, 2941 84, 85, 86, 246, 58, 59, 60, 250, 251, 133, 2942 271, 112, 1020, 551, 552, 1125, 112, 278, 557, 558, 2943 1020, 264, 265, 3, 553, 554, 555, 556, 271, 113, 2944 10, 11, 12, 13, 14, 278, 348, 3, 10, 11, 2945 12, 13, 14, 114, 10, 11, 12, 13, 14, 114, 2946 72, 132, 74, 75, 76, 132, 1166, 1167, 72, 39, 2947 74, 75, 76, 85, 86, 132, 1167, 39, 118, 860, 2948 29, 85, 86, 39, 1064, 112, 112, 116, 1188, 1069, 2949 1302, 112, 117, 117, 1306, 346, 329, 67, 117, 111, 2950 1188, 113, 1202, 118, 111, 67, 1206, 119, 120, 1188, 2951 112, 67, 363, 346, 347, 1206, 367, 10, 11, 12, 2952 13, 14, 546, 547, 548, 463, 428, 1166, 134, 132, 2953 363, 112, 860, 118, 367, 1125, 112, 112, 112, 112, 2954 884, 853, 1206, 112, 377, 112, 39, 859, 112, 1188, 2955 118, 1359, 112, 112, 112, 1255, 1256, 112, 112, 112, 2956 393, 112, 112, 1263, 112, 0, 1499, 469, 1268, 1167, 2957 403, 117, 29, 112, 67, 118, 133, 114, 114, 112, 2958 1268, 112, 112, 118, 111, 132, 524, 899, 421, 1268, 2959 1188, 529, 72, 1405, 427, 118, 116, 32, 1188, 79, 2960 928, 1301, 82, 132, 84, 85, 86, 112, 1206, 112, 2961 1301, 1489, 1202, 112, 118, 112, 1489, 112, 111, 1489, 2962 113, 112, 1489, 1489, 1263, 111, 119, 120, 118, 1268, 2963 463, 1489, 1489, 113, 69, 468, 72, 1301, 111, 577, 2964 76, 118, 1023, 476, 956, 111, 111, 480, 111, 85, 2965 86, 484, 1168, 1169, 487, 1171, 489, 1465, 132, 1359, 2966 112, 117, 1178, 134, 1180, 1490, 112, 117, 72, 112, 2967 1268, 130, 76, 117, 116, 111, 1376, 1358, 1268, 134, 2968 114, 85, 86, 119, 120, 587, 112, 1031, 118, 1514, 2969 114, 524, 1020, 114, 112, 112, 529, 47, 114, 114, 2970 114, 1401, 112, 1301, 117, 114, 644, 111, 646, 114, 2971 1401, 114, 134, 615, 134, 119, 120, 112, 620, 0, 2972 1, 156, 134, 747, 1424, 117, 72, 134, 74, 75, 2973 112, 1431, 134, 1433, 132, 1435, 1424, 1401, 1050, 85, 2974 86, 117, 114, 1431, 577, 1424, 83, 114, 1489, 1489, 2975 1489, 32, 1431, 114, 114, 114, 114, 112, 696, 112, 2976 593, 60, 595, 614, 111, 1465, 114, 113, 49, 1433, 2977 1470, 1435, 1472, 111, 116, 111, 98, 112, 629, 112, 2978 1433, 614, 1435, 1483, 111, 1424, 1490, 689, 69, 1489, 2979 1490, 642, 1431, 661, 229, 1483, 629, 1490, 114, 1499, 2980 633, 703, 134, 1401, 1483, 114, 1470, 1188, 1472, 642, 2981 1514, 644, 645, 646, 1514, 250, 112, 1470, 112, 1472, 2982 255, 1514, 114, 1339, 105, 98, 1424, 111, 111, 134, 2983 117, 42, 112, 1431, 1424, 1499, 112, 112, 1166, 1167, 2984 72, 1431, 74, 75, 1483, 678, 112, 118, 134, 682, 2985 1162, 684, 134, 85, 86, 688, 70, 112, 132, 73, 2986 1188, 112, 76, 696, 78, 98, 147, 98, 112, 134, 2987 134, 85, 112, 724, 155, 156, 709, 710, 1206, 111, 2988 114, 134, 112, 112, 116, 1483, 72, 114, 74, 75, 2989 76, 724, 794, 1483, 117, 114, 134, 134, 111, 85, 2990 86, 117, 117, 1284, 185, 112, 112, 1499, 134, 1489, 2991 112, 779, 112, 657, 349, 1035, 559, 562, 560, 200, 2992 561, 789, 203, 204, 563, 111, 961, 208, 1188, 1453, 2993 1345, 1524, 800, 1277, 1099, 1263, 1306, 1278, 66, 1431, 2994 1268, 10, 11, 12, 13, 14, 1050, 75, 229, 686, 2995 675, 675, 233, 1069, 235, 688, 1337, 981, 897, 1340, 2996 905, 577, 956, 244, 853, 925, 799, 639, 480, 250, 2997 39, 713, 1206, 1301, 255, 724, 565, 565, 811, 565, 2998 415, -1, -1, -1, 265, -1, -1, -1, -1, 117, 2999 -1, -1, 273, -1, 429, -1, 1020, 211, 67, 434, 3000 -1, -1, -1, 1384, -1, 943, -1, 442, 1389, -1, 3001 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, 3002 853, -1, -1, -1, 962, 460, 859, -1, 966, -1, 3003 -1, 159, -1, -1, -1, -1, -1, 1418, -1, 39, 3004 777, -1, 111, 478, 113, 480, -1, -1, -1, -1, 3005 119, 120, -1, -1, -1, -1, -1, 890, 339, 892, 3006 -1, -1, 343, -1, 278, -1, 899, 67, 349, -1, 3007 -1, -1, -1, 1401, 83, 1013, -1, -1, 87, 88, 3008 89, 362, 984, -1, -1, 366, 521, -1, 1432, 922, 3009 1434, -1, 220, -1, -1, -1, 1424, -1, 188, -1, 3010 -1, 66, 111, 1431, 113, 195, 115, 116, -1, -1, 3011 943, 111, 849, 113, -1, -1, -1, -1, -1, 119, 3012 120, -1, 1503, 956, -1, 1469, -1, 1471, 1509, 962, 3013 258, 999, 1000, 966, 415, 263, 350, -1, 352, 1520, 3014 -1, -1, -1, 1524, -1, -1, -1, -1, 429, 584, 3015 278, -1, 117, 434, 891, 1483, -1, -1, -1, -1, 3016 -1, 442, 72, -1, 74, 75, 76, -1, -1, 1513, 3017 -1, 1515, 1110, -1, -1, 85, 86, 267, -1, 460, 3018 1013, -1, 463, -1, 1528, 1529, 1054, 1055, -1, -1, 3019 -1, -1, 627, 628, 159, -1, -1, 478, -1, 480, 3020 937, 111, -1, 113, -1, -1, -1, 488, 643, 119, 3021 120, 492, 10, 11, 12, 13, 14, 1050, -1, -1, 3022 348, -1, -1, -1, 438, -1, 661, -1, -1, -1, 3023 -1, 1064, 969, -1, 324, -1, 1069, 672, -1, -1, 3024 521, 39, 332, -1, 72, 335, 74, 75, 76, -1, 3025 0, -1, -1, 1086, -1, 220, -1, 85, 86, -1, 3026 -1, -1, -1, 698, 1166, -1, 701, -1, -1, 67, 3027 -1, -1, -1, -1, 72, -1, -1, 1110, 76, -1, 3028 1017, -1, 32, 111, -1, 566, -1, 85, 86, -1, 3029 -1, -1, 1230, 258, 1232, 1233, -1, -1, 263, -1, 3030 428, 736, 583, 584, -1, 395, -1, -1, -1, 399, 3031 -1, -1, -1, 111, 595, -1, 444, -1, -1, 69, 3032 460, 119, 120, -1, -1, -1, -1, -1, -1, 1162, 3033 -1, -1, 613, -1, 0, -1, -1, 618, -1, -1, 3034 -1, 469, -1, 624, 779, -1, 627, 628, -1, -1, 3035 -1, -1, -1, -1, 789, -1, -1, -1, -1, 1096, 3036 795, 1263, 643, -1, -1, 800, 32, -1, 72, 1237, 3037 74, 75, 76, 1311, -1, -1, 1244, 1245, 1246, -1, 3038 661, 85, 86, 348, -1, 475, -1, -1, -1, -1, 3039 -1, 672, -1, -1, -1, -1, -1, 1230, -1, 1232, 3040 1233, -1, -1, 69, -1, -1, 156, 111, 10, 11, 3041 12, 13, 14, -1, -1, 119, 120, 698, 1155, 1156, 3042 701, -1, -1, -1, -1, 860, -1, -1, -1, 710, 3043 1368, 1369, 713, -1, -1, -1, -1, 39, -1, 1307, 3044 10, 11, 12, 13, 14, -1, -1, 882, -1, -1, 3045 -1, -1, -1, -1, 889, 736, -1, -1, -1, 587, 3046 741, -1, -1, 428, -1, 67, -1, -1, 1406, 39, 3047 72, -1, 74, 75, 76, 565, 566, -1, 1311, -1, 3048 -1, -1, -1, 85, 86, -1, -1, 615, -1, -1, 3049 156, -1, 620, -1, -1, -1, -1, 67, 779, -1, 3050 250, -1, 72, -1, 469, 255, 76, 1358, 789, 111, 3051 724, 792, -1, -1, 795, 85, 86, 119, 120, 800, 3052 -1, 661, -1, -1, -1, 1358, 1359, -1, 1466, 810, 3053 72, -1, 74, 75, 76, 1368, 1369, 1475, 0, 1, 3054 -1, 111, -1, 85, 86, -1, -1, -1, -1, 119, 3055 120, -1, 10, 11, 12, 13, 14, -1, 648, -1, 3056 -1, 689, 652, -1, 999, 1000, -1, 1002, 1003, 111, 3057 32, 113, -1, 1406, -1, 703, -1, 119, 120, 860, 3058 -1, 39, -1, -1, 250, 1020, -1, -1, -1, 255, 3059 -1, -1, -1, -1, -1, -1, 724, -1, -1, 349, 3060 -1, 882, -1, -1, 66, -1, -1, 69, 889, 67, 3061 -1, 892, -1, -1, 72, -1, 74, 75, 76, 1054, 3062 1055, -1, 587, -1, -1, -1, 1363, 85, 86, -1, 3063 -1, -1, 1465, 1466, -1, -1, -1, 918, -1, 779, 3064 -1, -1, 1475, 1380, -1, -1, 927, 928, 0, 789, 3065 615, -1, -1, 111, -1, 620, 1489, 1490, -1, -1, 3066 800, 119, 120, -1, -1, 415, 794, -1, -1, 10, 3067 11, 12, 13, 14, -1, -1, -1, -1, -1, 429, 3068 32, 1514, -1, 349, 434, -1, -1, -1, -1, -1, 3069 1125, -1, 442, 783, 156, -1, -1, -1, 39, -1, 3070 981, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3071 460, -1, -1, 994, -1, 1452, 1453, 69, 999, 1000, 3072 -1, 1002, 1003, -1, 689, -1, 67, -1, 478, -1, 3073 480, 72, 1167, 74, 75, 76, -1, -1, 703, 1020, 3074 -1, -1, -1, -1, 85, 86, -1, -1, 72, 415, 3075 74, 75, 76, 1188, -1, -1, -1, -1, 220, -1, 3076 -1, 85, 86, 429, -1, 1200, -1, 1202, 434, -1, 3077 111, 521, 113, 1054, 1055, -1, 442, -1, 119, 120, 3078 -1, -1, -1, -1, -1, 83, -1, 111, 250, 87, 3079 88, 89, -1, -1, 460, 119, 120, -1, -1, -1, 3080 -1, -1, 1237, -1, 156, -1, 896, -1, -1, 1244, 3081 1245, 1246, 478, 111, 480, 113, -1, 115, 116, -1, 3082 1255, 1256, -1, -1, -1, -1, -1, -1, -1, 794, 3083 -1, -1, -1, 1268, 584, -1, -1, -1, -1, -1, 3084 -1, -1, -1, -1, 1125, -1, -1, -1, -1, -1, 3085 -1, -1, -1, -1, -1, 521, 984, -1, -1, 999, 3086 1000, 99, 100, 101, 102, 103, 104, 105, 106, 107, 3087 108, 109, 1307, -1, -1, -1, -1, 627, 628, -1, 3088 -1, 971, -1, -1, -1, -1, 1167, -1, -1, -1, 3089 -1, -1, -1, 643, -1, 133, -1, 987, 250, -1, 3090 -1, -1, -1, 255, -1, -1, -1, 1188, -1, -1, 3091 -1, 661, -1, -1, 1054, 1055, -1, -1, 584, 1200, 3092 -1, 1202, 672, -1, -1, 1206, -1, -1, -1, -1, 3195 3093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3196 -1, -1, -1, -1, -1, -1, 1190, -1, 1442, -1, 3197 -1, -1, -1, -1, -1, 1449, 591, 479, 905, -1, 3198 -1, -1, -1, -1, -1, -1, -1, -1, 1212, -1, 3094 -1, 1376, -1, -1, -1, -1, -1, -1, 698, -1, 3095 -1, 701, -1, -1, -1, -1, 1237, -1, -1, -1, 3096 -1, 627, 628, 1244, 1245, 1246, -1, 429, -1, -1, 3097 -1, -1, 1062, -1, 1255, 1256, -1, 643, -1, -1, 3098 -1, -1, -1, -1, -1, -1, 736, 1268, -1, 1424, 3099 -1, -1, -1, -1, -1, 661, 1431, 349, 53, -1, 3100 55, -1, -1, 58, 59, 60, 672, 62, -1, -1, 3101 -1, 1101, -1, -1, -1, -1, -1, -1, 480, 984, 3102 1301, 76, -1, -1, -1, -1, 1307, -1, -1, 779, 3103 -1, -1, 698, 88, 89, 701, -1, -1, 1166, 789, 3104 -1, -1, -1, -1, -1, 795, -1, -1, 1483, -1, 3105 800, -1, -1, -1, -1, -1, -1, -1, -1, 521, 3106 1200, -1, -1, 415, -1, -1, -1, -1, -1, -1, 3107 736, -1, -1, -1, -1, -1, -1, 429, -1, -1, 3108 -1, -1, 434, -1, -1, -1, -1, -1, -1, -1, 3109 442, -1, -1, -1, -1, 1376, -1, 1237, -1, -1, 3110 -1, -1, -1, -1, 1244, 1245, 1246, -1, 460, -1, 3111 860, -1, -1, 779, -1, -1, -1, -1, -1, -1, 3112 1401, -1, 584, 789, -1, -1, 478, -1, 480, 795, 3113 -1, -1, 882, -1, 800, 1263, -1, -1, -1, 889, 3114 -1, -1, -1, 1424, -1, -1, -1, -1, -1, -1, 3115 1431, -1, 7, -1, -1, 10, 11, 12, 13, 14, 3116 -1, -1, -1, -1, -1, 627, 628, 1307, -1, 521, 3199 3117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3200 1224, -1, 1226, -1, -1, -1, -1, -1, -1, -1, 3201 -1, -1, -1, -1, 10, 11, 12, 13, 14, -1, 3202 635, 636, 637, -1, -1, -1, 1500, -1, -1, -1, 3203 351, -1, 1256, 1507, -1, -1, 755, 756, 653, -1, 3204 1264, 1265, 1266, 39, -1, -1, -1, -1, -1, -1, 3205 -1, 1275, 1276, -1, -1, -1, 671, -1, -1, -1, 3206 -1, -1, -1, -1, -1, 1289, -1, 682, -1, 571, 3207 572, 67, -1, -1, 917, -1, 72, -1, 74, 75, 3208 76, -1, -1, -1, -1, -1, -1, 83, 84, -1, 3209 -1, 1018, 1019, 708, 1021, 1022, 711, 418, -1, -1, 3210 -1, -1, -1, -1, 1328, -1, -1, -1, -1, -1, 3211 -1, -1, 433, 109, 1041, 111, -1, 438, -1, -1, 3212 -1, 117, 118, -1, -1, 446, -1, -1, -1, -1, 3213 -1, 746, -1, -1, -1, -1, -1, -1, -1, -1, 3214 -1, -1, -1, 464, -1, -1, -1, -1, -1, 1076, 3215 1077, -1, -1, -1, -1, -1, 658, -1, -1, -1, 3216 662, 482, -1, 484, -1, -1, -1, -1, -1, -1, 3217 -1, 1395, -1, -1, -1, 790, -1, -1, -1, -1, 3218 -1, -1, -1, -1, -1, 800, -1, 802, -1, -1, 3219 -1, -1, 807, 912, -1, 810, -1, -1, 917, 814, 3220 -1, -1, -1, -1, -1, 526, 53, -1, 55, -1, 3221 -1, 58, 59, 60, -1, 62, -1, -1, 1442, -1, 3222 1147, -1, -1, -1, -1, 1449, -1, -1, -1, 76, 3223 -1, -1, -1, -1, -1, 1078, -1, -1, -1, -1, 3224 -1, 88, 89, -1, 10, 11, 12, 13, 14, -1, 3118 -1, 643, 37, 38, 39, 40, -1, -1, -1, -1, 3119 -1, -1, -1, -1, 860, -1, -1, -1, -1, -1, 3120 -1, 1166, 1483, -1, -1, -1, -1, -1, -1, 1490, 3121 -1, 66, 67, -1, -1, -1, 882, 72, -1, -1, 3122 -1, 76, -1, 889, 79, 80, 81, 82, 83, 84, 3123 85, 86, 584, 88, 89, -1, -1, -1, -1, 701, 3124 -1, -1, -1, -1, -1, -1, -1, -1, -1, 999, 3125 1000, -1, 1002, 1003, -1, -1, 111, -1, 113, -1, 3126 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 3127 1020, -1, -1, -1, -1, 627, 628, -1, -1, -1, 3128 -1, -1, -1, -1, -1, -1, -1, 342, -1, 344, 3129 -1, 643, -1, 10, 11, 12, 13, 14, 1263, -1, 3130 355, 356, -1, -1, 1054, 1055, -1, -1, -1, 661, 3131 -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3132 672, -1, 39, -1, -1, -1, -1, -1, -1, -1, 3133 -1, -1, -1, 999, 1000, -1, 1002, 1003, -1, -1, 3134 -1, -1, -1, -1, 39, -1, 698, -1, -1, 701, 3135 67, -1, -1, -1, 1020, 72, -1, 74, 75, 76, 3136 -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 3137 -1, -1, 67, -1, -1, 1125, -1, 72, -1, 74, 3138 75, 76, -1, -1, 736, -1, -1, -1, 1054, 1055, 3139 85, 86, -1, -1, 111, -1, 113, -1, 860, -1, 3140 -1, -1, 119, 120, -1, -1, -1, -1, -1, -1, 3141 -1, -1, -1, -1, -1, -1, 111, 1167, 113, -1, 3142 882, -1, -1, -1, 119, 120, -1, 779, 37, 38, 3143 -1, 40, -1, -1, -1, -1, -1, 789, 1188, -1, 3144 -1, -1, -1, 795, -1, -1, -1, -1, 800, -1, 3145 1200, -1, 1202, -1, -1, -1, -1, 66, -1, 1125, 3146 -1, -1, -1, 72, -1, -1, 928, 76, -1, -1, 3147 79, 80, 81, 82, 83, 84, 85, 86, -1, 88, 3148 89, -1, -1, -1, -1, -1, -1, 1237, -1, -1, 3149 -1, -1, -1, -1, 1244, 1245, 1246, -1, -1, -1, 3150 -1, 1167, 111, -1, 113, 1255, 1256, -1, 860, -1, 3151 119, 120, 121, 122, 123, 124, -1, -1, 1268, -1, 3152 -1, -1, 1188, 132, -1, -1, -1, -1, -1, -1, 3153 882, -1, -1, -1, 1200, -1, 1202, 889, -1, -1, 3154 1002, 1003, -1, -1, -1, -1, -1, -1, -1, -1, 3155 -1, -1, -1, -1, -1, -1, -1, 1307, 1020, -1, 3156 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 3157 -1, 1237, -1, 75, -1, 77, -1, 79, 1244, 1245, 3158 1246, -1, -1, -1, 86, -1, -1, -1, -1, 1255, 3159 1256, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3160 -1, -1, 1268, -1, -1, -1, -1, -1, -1, -1, 3161 -1, -1, -1, -1, -1, 117, -1, 119, 120, 121, 3162 -1, -1, -1, -1, -1, -1, 1376, -1, -1, -1, 3163 -1, -1, -1, -1, -1, 690, -1, 692, -1, -1, 3164 -1, 1307, -1, -1, 699, 700, -1, 999, 1000, 704, 3165 1002, 1003, -1, -1, -1, -1, -1, 159, -1, -1, 3166 -1, -1, 717, -1, -1, -1, -1, 722, 1020, -1, 3167 -1, -1, -1, -1, 1424, -1, -1, -1, -1, -1, 3168 -1, 1431, -1, -1, -1, -1, -1, -1, -1, -1, 3169 -1, -1, -1, -1, 749, -1, -1, -1, -1, -1, 3170 -1, -1, 1054, 1055, 1166, 1167, -1, -1, -1, -1, 3171 1376, -1, -1, -1, -1, -1, -1, -1, 220, -1, 3172 222, 223, 224, -1, -1, -1, 1188, -1, -1, -1, 3173 -1, -1, -1, 1483, -1, -1, -1, -1, -1, -1, 3174 -1, -1, -1, -1, 1206, -1, -1, -1, -1, -1, 3175 -1, -1, -1, -1, -1, -1, 258, -1, 1424, -1, 3176 -1, 263, -1, -1, -1, 1431, -1, -1, -1, -1, 3177 -1, -1, -1, 1125, -1, -1, 278, -1, -1, -1, 3178 -1, -1, -1, -1, -1, -1, -1, 842, -1, 844, 3179 845, 846, -1, 1255, 1256, -1, -1, -1, -1, -1, 3180 -1, 1263, 49, -1, -1, -1, 1268, -1, 863, -1, 3181 -1, -1, -1, -1, -1, 1167, -1, 1483, -1, 66, 3182 -1, -1, 877, -1, -1, -1, -1, 329, -1, -1, 3183 -1, -1, -1, -1, -1, -1, 1188, -1, -1, 1301, 3184 -1, -1, -1, -1, -1, -1, 348, -1, 1200, -1, 3185 1202, 353, 354, -1, -1, -1, -1, -1, -1, 361, 3186 -1, 916, -1, -1, -1, -1, 113, -1, -1, -1, 3187 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3188 -1, -1, -1, -1, -1, 1237, -1, -1, -1, -1, 3189 -1, -1, 1244, 1245, 1246, -1, -1, -1, -1, 146, 3190 -1, 403, -1, 1255, 1256, 960, -1, -1, -1, 156, 3191 965, -1, 159, -1, 1376, 970, 1268, -1, -1, 421, 3192 975, -1, -1, -1, 426, 980, 428, 982, 983, -1, 3193 -1, 986, -1, -1, -1, -1, -1, -1, -1, 1401, 3194 995, -1, 444, -1, -1, 447, 448, -1, -1, -1, 3195 -1, -1, -1, 455, -1, 1307, 1011, 1012, -1, -1, 3196 -1, 208, 1424, -1, -1, -1, -1, 469, -1, 1431, 3197 -1, -1, -1, 220, 476, -1, -1, -1, -1, -1, 3198 -1, -1, 1037, -1, -1, 1040, -1, -1, -1, -1, 3199 -1, 238, -1, -1, -1, 26, 27, 28, 10, 11, 3200 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3201 22, 23, 24, 25, 26, 27, 263, -1, -1, -1, 3202 -1, 1483, -1, 270, 1376, -1, -1, 39, 1083, -1, 3203 -1, -1, -1, -1, 1089, 1090, -1, -1, -1, -1, 3204 -1, -1, -1, -1, -1, -1, -1, -1, 295, -1, 3205 -1, -1, -1, 1108, -1, 67, -1, -1, 1113, -1, 3206 -1, 308, -1, 1118, -1, -1, -1, 98, -1, 100, 3207 -1, -1, 1424, -1, 1129, -1, -1, -1, -1, 1431, 3208 -1, -1, -1, -1, -1, 587, -1, 1142, -1, 1144, 3209 1145, 1146, 1147, -1, -1, -1, 343, -1, -1, -1, 3210 -1, 348, -1, -1, 1159, -1, 1161, -1, -1, -1, 3211 1165, -1, -1, 615, -1, -1, -1, -1, 620, -1, 3225 3212 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3226 875, -1, -1, 1190, -1, -1, -1, -1, -1, -1, 3227 591, -1, -1, 39, -1, -1, 1500, -1, -1, -1, 3228 -1, -1, -1, -1, -1, 1212, -1, -1, -1, -1, 3229 905, -1, 794, -1, -1, -1, -1, 1224, -1, 1226, 3230 -1, 67, -1, -1, -1, -1, 72, -1, 74, 75, 3231 76, -1, -1, -1, 635, 636, 637, 83, 84, -1, 3232 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1256, 3233 -1, -1, 653, -1, -1, -1, -1, 1264, 1265, 1266, 3234 -1, -1, -1, 109, -1, 111, -1, -1, 1275, 1276, 3235 671, 117, 118, -1, -1, 282, -1, 284, 285, 1078, 3236 -1, 682, 1289, -1, 1207, 292, 293, -1, -1, -1, 3213 -1, 1483, -1, -1, -1, -1, -1, -1, 1193, 1194, 3214 -1, -1, -1, -1, -1, -1, -1, -1, -1, 180, 3215 -1, -1, -1, -1, -1, -1, -1, -1, -1, 190, 3216 191, -1, -1, -1, 195, -1, 197, 198, -1, -1, 3217 44, -1, -1, -1, -1, -1, 423, 424, -1, -1, 3218 -1, -1, 429, -1, -1, -1, -1, 689, -1, -1, 3219 -1, -1, 1247, 1248, -1, -1, -1, -1, -1, -1, 3220 -1, 703, 1257, 450, -1, -1, -1, -1, -1, -1, 3221 -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, 3222 -1, -1, 724, -1, -1, -1, -1, 101, -1, -1, 3223 -1, 478, -1, -1, -1, -1, -1, -1, -1, -1, 3224 -1, -1, -1, 490, -1, -1, -1, -1, -1, -1, 3225 -1, -1, -1, -1, -1, 502, -1, 504, -1, -1, 3226 507, -1, 509, 510, 1319, -1, 1321, 1322, 1323, -1, 3227 -1, -1, -1, -1, 521, -1, -1, -1, 1333, -1, 3228 -1, 783, -1, -1, -1, -1, 1341, -1, -1, -1, 3229 -1, -1, 794, -1, -1, -1, 170, -1, -1, -1, 3230 -1, -1, -1, -1, -1, -1, -1, -1, -1, 811, 3231 -1, 1366, 1367, -1, -1, -1, -1, -1, -1, 193, 3232 -1, -1, -1, -1, -1, -1, 573, -1, -1, -1, 3233 -1, -1, -1, 207, -1, -1, -1, 584, -1, -1, 3234 587, -1, 216, -1, -1, -1, -1, -1, -1, -1, 3235 -1, -1, 226, -1, -1, -1, 1411, 1412, -1, -1, 3236 -1, -1, -1, -1, -1, -1, 613, -1, -1, 1424, 3237 -1, 618, -1, -1, -1, -1, 1431, 251, -1, -1, 3238 627, 628, 256, -1, -1, -1, -1, -1, -1, -1, 3239 -1, -1, -1, -1, -1, 269, 643, -1, -1, -1, 3240 -1, 275, -1, 277, -1, -1, -1, -1, -1, 1464, 3241 -1, -1, -1, 1468, -1, -1, -1, -1, -1, -1, 3242 922, -1, 296, -1, -1, -1, -1, -1, 675, -1, 3237 3243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3238 307, 308, -1, -1, -1, -1, -1, 708, -1, -1, 3239 711, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3240 -1, 1328, -1, 1018, 1019, -1, 1021, 1022, -1, -1, 3241 912, -1, -1, -1, -1, -1, -1, -1, 345, -1, 3242 -1, -1, -1, -1, -1, 746, 1041, 10, 11, 12, 3243 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3244 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 3245 -1, -1, -1, -1, 381, -1, 39, -1, -1, -1, 3246 -1, 1076, 1077, -1, -1, -1, -1, -1, 1395, 790, 3247 -1, -1, -1, -1, -1, -1, -1, -1, -1, 800, 3248 -1, 802, -1, -1, 67, -1, 807, 989, 1207, 810, 3249 -1, 74, 75, 814, -1, 78, -1, 344, -1, 346, 3250 -1, -1, -1, -1, 1006, -1, -1, -1, -1, -1, 3251 357, 358, -1, -1, -1, 1442, -1, -1, -1, -1, 3252 37, 38, 1449, 40, -1, -1, 109, -1, 111, -1, 3253 -1, -1, 1147, -1, 117, 118, -1, -1, -1, -1, 3254 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 3255 -1, -1, -1, -1, 875, 72, -1, -1, -1, 76, 3256 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3257 87, -1, -1, 1500, -1, 1190, -1, -1, -1, -1, 3258 -1, -1, 1084, -1, 905, -1, -1, -1, -1, -1, 3259 -1, -1, 109, -1, 111, -1, -1, 1212, -1, -1, 3260 117, 118, 119, 120, 121, 122, -1, -1, -1, 1224, 3261 -1, 1226, 7, 130, -1, 10, 11, 12, 13, 14, 3262 -1, -1, 1124, 550, 551, 552, 553, 554, 555, 556, 3263 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 3264 567, 1256, 37, 38, 39, 40, -1, -1, -1, 1264, 3265 1265, 1266, -1, -1, -1, -1, -1, -1, -1, -1, 3266 1275, 1276, -1, -1, -1, -1, -1, -1, -1, -1, 3267 -1, 66, 67, -1, 1289, -1, -1, 72, -1, -1, 3268 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3269 -1, 86, 87, -1, -1, -1, -1, 1018, 1019, -1, 3270 1021, 1022, -1, -1, -1, -1, -1, -1, -1, -1, 3271 -1, -1, -1, 1328, 109, -1, 111, -1, -1, -1, 3272 1041, -1, 117, 118, 119, 120, 121, 122, -1, -1, 3273 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3274 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3275 23, 24, 25, 26, 27, 1076, 1077, 30, 31, 32, 3276 33, -1, -1, 36, 37, 38, 39, 40, -1, 696, 3244 -1, 1496, -1, 1498, -1, -1, -1, -1, -1, -1, 3245 952, -1, -1, -1, 701, -1, 703, -1, -1, -1, 3246 -1, -1, -1, 337, -1, -1, -1, 341, -1, -1, 3247 -1, 1526, 1527, -1, -1, -1, -1, -1, -1, 1534, 3248 1535, -1, 984, -1, -1, -1, -1, -1, -1, 736, 3249 -1, -1, -1, 995, -1, 369, -1, -1, -1, 373, 3250 374, -1, 376, -1, -1, -1, -1, -1, -1, 383, 3251 384, -1, 386, 387, -1, 389, -1, 391, -1, -1, 3277 3252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3278 1395, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3279 -1, -1, -1, 66, 67, -1, 69, -1, 71, 72, 3280 -1, 74, 75, 76, 49, -1, 79, 80, 81, 82, 3281 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 3282 -1, 66, -1, -1, -1, -1, 1147, 1442, -1, -1, 3283 757, -1, -1, -1, 1449, -1, 109, -1, 111, -1, 3284 -1, -1, -1, -1, 117, 118, 119, 120, 121, 122, 3285 -1, -1, -1, 700, -1, 702, -1, -1, -1, 132, 3286 787, -1, 709, 710, -1, -1, -1, 714, 113, 1190, 3287 -1, -1, 117, -1, -1, -1, -1, -1, -1, 726, 3288 -1, -1, -1, -1, 731, 1500, -1, -1, -1, -1, 3289 -1, 1212, -1, -1, -1, -1, -1, -1, -1, -1, 3290 -1, 146, -1, 1224, -1, 1226, -1, -1, -1, -1, 3291 -1, 156, 759, -1, -1, 160, -1, -1, -1, -1, 3292 -1, -1, -1, -1, -1, -1, 7, -1, -1, 10, 3293 11, 12, 13, 14, -1, 1256, -1, -1, -1, -1, 3294 -1, -1, -1, 1264, 1265, 1266, -1, -1, -1, -1, 3295 -1, -1, -1, -1, 1275, 1276, 37, 38, 39, 40, 3296 -1, -1, -1, -1, 209, -1, -1, -1, 1289, -1, 3297 -1, -1, -1, -1, -1, -1, 221, -1, -1, -1, 3298 907, -1, -1, -1, -1, 66, 67, -1, -1, -1, 3299 -1, 72, -1, -1, 239, 76, -1, -1, 79, 80, 3300 81, 82, 83, 84, -1, 86, 87, 1328, -1, -1, 3301 -1, 858, 859, 860, 861, -1, 863, -1, -1, 264, 3302 -1, -1, -1, -1, -1, 952, 271, -1, 109, -1, 3303 111, 878, -1, -1, -1, -1, 117, 118, 119, 120, 3304 121, 122, -1, -1, -1, 892, -1, -1, -1, 294, 3253 -1, -1, -1, -1, 408, -1, -1, -1, 569, 570, 3254 -1, -1, 416, -1, -1, -1, -1, 794, -1, -1, 3305 3255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3306 987, -1, 307, -1, -1, -1, -1, -1, -1, 66, 3307 -1, -1, -1, 1000, 1395, -1, -1, -1, 75, -1, 3308 77, -1, 79, -1, -1, 932, -1, -1, -1, 86, 3256 -1, -1, 1064, -1, -1, 596, 440, -1, 599, 600, 3257 -1, 602, -1, 604, 605, -1, 1078, -1, 609, 610, 3258 -1, 26, 27, 28, 281, -1, 283, 284, -1, -1, 3259 -1, -1, 466, -1, -1, -1, 293, 294, 472, -1, 3260 -1, -1, -1, 477, -1, -1, -1, -1, -1, -1, 3261 -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, 3262 -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, 3263 156, -1, -1, -1, -1, 882, -1, -1, -1, 513, 3264 -1, -1, 889, -1, -1, -1, 343, -1, -1, -1, 3265 -1, -1, -1, 98, 528, 100, -1, 904, -1, -1, 3266 -1, -1, 188, -1, 1166, -1, -1, -1, -1, 195, 3309 3267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3310 345, -1, -1, -1, -1, 350, -1, -1, -1, -1, 3311 -1, -1, -1, -1, 1041, -1, -1, -1, -1, -1, 3312 117, 1442, 119, 120, 121, -1, -1, -1, 1449, -1, 3313 977, -1, -1, -1, -1, -1, 983, -1, -1, -1, 3314 -1, 988, -1, -1, -1, -1, 993, -1, 995, -1, 3315 -1, -1, 999, -1, 1001, 1002, -1, -1, 1005, -1, 3316 -1, -1, -1, 160, -1, -1, -1, 1014, -1, -1, 3317 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1500, 3318 -1, 426, 427, -1, -1, 1032, 1033, -1, 433, -1, 3319 -1, 1118, -1, -1, -1, -1, -1, -1, -1, -1, 3320 -1, -1, -1, -1, -1, -1, -1, -1, -1, 454, 3321 -1, -1, 1059, -1, -1, 1062, -1, -1, -1, -1, 3322 -1, -1, -1, -1, 221, -1, 223, 224, 225, -1, 3323 -1, -1, -1, -1, -1, -1, -1, 482, -1, -1, 3324 -1, 10, 11, 12, 13, 14, -1, -1, -1, 494, 3325 -1, 1178, 1179, -1, -1, -1, -1, -1, 1105, -1, 3326 -1, 506, 259, 508, 1111, 1112, 511, 264, 513, 514, 3327 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3328 -1, 526, 279, -1, 1131, -1, -1, 1134, -1, -1, 3329 -1, 1138, -1, -1, -1, -1, -1, -1, 67, -1, 3330 -1, -1, -1, 72, 1151, 74, 75, 76, -1, -1, 3331 -1, -1, -1, -1, 83, 84, -1, 1164, -1, 1166, 3332 1167, 1168, 1169, -1, -1, -1, -1, -1, -1, -1, 3333 -1, 328, -1, -1, 579, 1182, -1, 1184, -1, -1, 3334 109, 1188, -1, -1, -1, -1, 591, -1, 117, 118, 3335 595, -1, -1, 350, -1, -1, -1, -1, 355, 356, 3336 -1, -1, -1, -1, -1, -1, 363, -1, -1, -1, 3337 1217, 1218, -1, -1, -1, -1, 621, -1, -1, -1, 3338 -1, 626, -1, -1, -1, -1, -1, -1, -1, -1, 3339 635, 636, 637, -1, -1, -1, -1, -1, -1, -1, 3340 -1, -1, -1, -1, -1, -1, -1, -1, 653, 406, 3268 125, 378, 929, -1, -1, -1, -1, -1, -1, -1, 3269 -1, 565, -1, -1, -1, -1, -1, -1, -1, -1, 3270 574, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3271 -1, -1, -1, -1, 745, 746, -1, -1, -1, -1, 3272 594, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3273 -1, -1, -1, -1, 981, 180, -1, -1, -1, -1, 3274 -1, 267, -1, 188, -1, 190, 191, -1, -1, -1, 3275 195, -1, 197, 198, -1, 1002, 1003, -1, 632, -1, 3276 -1, 1263, -1, -1, 3, 4, 5, 6, 7, 8, 3277 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3278 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3279 -1, 30, 31, 32, 668, -1, -1, -1, 324, -1, 3280 39, -1, 676, -1, -1, -1, 332, 333, -1, 335, 3281 336, -1, 1059, -1, -1, -1, -1, 343, -1, -1, 3282 -1, 347, 267, -1, -1, -1, -1, -1, 67, -1, 3283 69, -1, 71, 707, -1, 74, 75, -1, -1, -1, 3284 366, -1, -1, -1, 718, 719, -1, -1, -1, 546, 3285 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 3286 557, 558, 559, 560, 561, 562, 563, -1, -1, 395, 3287 901, -1, -1, 399, -1, -1, 750, 116, 1125, -1, 3288 -1, 755, 10, 11, 12, 13, 14, 15, 16, 17, 3289 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3290 28, -1, -1, 429, -1, -1, -1, -1, -1, -1, 3291 -1, 39, -1, 146, -1, -1, -1, -1, -1, 1166, 3292 -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, 3293 -1, -1, -1, -1, 167, 168, -1, -1, -1, 67, 3294 -1, 815, -1, -1, -1, -1, -1, -1, 822, 475, 3295 78, -1, 478, -1, -1, 1202, -1, -1, -1, -1, 3296 -1, 835, -1, 837, -1, -1, -1, -1, -1, -1, 3297 -1, -1, -1, -1, -1, -1, 850, -1, -1, -1, 3298 -1, -1, 856, -1, -1, -1, -1, -1, -1, 686, 3299 -1, 517, -1, -1, 868, 521, -1, 871, -1, -1, 3300 -1, -1, -1, -1, -1, 238, -1, -1, 1255, 1256, 3301 -1, -1, 1514, -1, -1, -1, 1263, -1, -1, -1, 3302 -1, -1, -1, -1, -1, 1056, -1, -1, -1, 262, 3303 -1, -1, -1, -1, -1, -1, -1, -1, -1, 565, 3304 566, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3305 747, -1, -1, -1, -1, -1, -1, 583, 584, -1, 3306 -1, -1, -1, -1, -1, -1, -1, 593, -1, 595, 3307 596, -1, -1, -1, -1, -1, 602, -1, -1, -1, 3308 777, -1, -1, -1, -1, -1, 612, 613, -1, -1, 3309 -1, -1, 618, -1, -1, -1, -1, -1, -1, -1, 3310 -1, 627, 628, -1, -1, 979, -1, -1, -1, -1, 3311 -1, -1, -1, -1, -1, -1, -1, 643, -1, -1, 3312 -1, -1, 648, 649, 569, 570, 652, 653, -1, 1376, 3313 -1, -1, -1, 659, -1, -1, -1, -1, -1, -1, 3314 -1, -1, -1, -1, 377, -1, -1, -1, -1, -1, 3315 -1, 596, 678, 1184, 599, 600, -1, 602, -1, 604, 3316 605, -1, -1, -1, 609, 610, 1040, -1, -1, -1, 3317 -1, -1, -1, -1, -1, 701, 702, -1, -1, -1, 3318 -1, -1, -1, -1, -1, -1, 1433, -1, 1435, -1, 3319 -1, -1, -1, -1, 891, -1, -1, -1, -1, -1, 3320 1074, -1, -1, -1, -1, 1079, -1, -1, -1, -1, 3321 736, -1, -1, 1087, 740, 741, -1, -1, -1, -1, 3322 -1, -1, -1, 1470, -1, 1472, -1, -1, -1, -1, 3323 -1, -1, -1, -1, -1, -1, -1, 470, -1, -1, 3324 937, -1, -1, -1, -1, -1, -1, 1121, -1, -1, 3325 -1, -1, 1499, -1, -1, -1, -1, 783, 1132, -1, 3326 -1, 1135, -1, 1137, -1, -1, -1, -1, -1, -1, 3327 -1, -1, 969, 799, -1, 801, 509, -1, 1152, 1153, 3328 -1, -1, -1, -1, 981, 811, -1, -1, 521, -1, 3329 -1, -1, -1, -1, 527, -1, -1, 530, 1172, -1, 3330 745, 746, 7, -1, -1, 10, 11, 12, 13, 14, 3331 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3332 -1, -1, -1, 1020, -1, -1, -1, -1, -1, -1, 3333 -1, -1, 37, 38, 39, 40, -1, -1, -1, -1, 3334 573, -1, -1, -1, 1218, -1, -1, 580, -1, -1, 3335 -1, 584, 1226, -1, -1, -1, 882, -1, -1, -1, 3336 -1, 66, 67, 889, 890, -1, 892, 72, -1, -1, 3337 896, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3338 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3339 -1, 917, 918, -1, -1, -1, -1, 630, -1, 1096, 3340 -1, -1, -1, -1, -1, 638, 111, -1, 113, -1, 3341 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 3342 -1, -1, 1296, -1, 1298, -1, 952, -1, -1, -1, 3341 3343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3342 1267, 1268, -1, -1, -1, -1, -1, 424, -1, -1, 3343 1277, -1, 429, -1, 431, -1, -1, -1, -1, -1, 3344 685, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3345 -1, 448, -1, -1, 451, 452, 1383, -1, -1, -1, 3346 -1, -1, 459, -1, -1, -1, 711, -1, 713, -1, 3347 -1, -1, 1399, -1, -1, -1, 473, -1, -1, -1, 3348 -1, -1, -1, 480, -1, -1, -1, -1, -1, -1, 3349 -1, 1338, -1, 1340, 1341, 1342, -1, -1, -1, -1, 3350 -1, 746, -1, -1, -1, 1352, 44, -1, -1, -1, 3351 -1, -1, -1, -1, 1361, 10, 11, 12, 13, 14, 3344 1314, -1, 1316, -1, -1, 971, 972, -1, -1, -1, 3345 -1, 896, -1, -1, -1, 981, 901, 1331, 1155, 1156, 3346 -1, 987, 988, -1, 990, 991, 992, -1, -1, -1, 3347 -1, -1, 1346, 1347, -1, -1, 1002, 1003, -1, -1, 3348 -1, 714, -1, 1357, -1, -1, 1360, -1, -1, -1, 3349 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3350 -1, -1, -1, 736, -1, 738, -1, -1, 1382, -1, 3351 -1, -1, -1, -1, -1, 748, -1, 1391, -1, -1, 3352 1394, 754, 1396, 1397, 1398, -1, -1, -1, -1, -1, 3353 -1, -1, -1, -1, -1, -1, 1062, -1, 1064, -1, 3354 -1, -1, -1, 1069, -1, -1, -1, -1, -1, -1, 3355 -1, -1, 1078, -1, -1, -1, -1, -1, -1, -1, 3356 -1, 794, 795, 1437, -1, 1439, -1, 1441, -1, -1, 3357 -1, -1, -1, -1, -1, 1101, 1102, 810, -1, -1, 3358 -1, -1, -1, 1457, -1, -1, -1, -1, -1, -1, 3359 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1125, 3360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3361 -1, 1056, -1, -1, -1, -1, 849, -1, -1, -1, 3362 853, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3352 3363 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3353 25, 26, 27, -1, -1, 30, 31, 32, -1, 1386, 3354 -1, -1, 1469, 1470, 39, -1, -1, 10, 11, 12, 3355 13, 14, -1, 91, -1, -1, -1, 802, -1, -1, 3356 -1, 806, -1, 101, -1, 810, -1, -1, -1, -1, 3357 -1, -1, 67, -1, -1, -1, 39, 72, -1, 74, 3358 75, 76, 1429, 1430, -1, -1, -1, -1, 83, 84, 3359 -1, -1, -1, -1, -1, 1442, -1, -1, 595, -1, 3360 -1, -1, 1449, -1, 67, -1, -1, -1, -1, 72, 3361 -1, 74, 75, 76, 109, -1, 111, -1, -1, 157, 3362 83, 84, 117, 118, -1, -1, 623, -1, -1, -1, 3363 -1, 628, -1, 171, 1481, -1, -1, -1, 1485, -1, 3364 -1, -1, -1, -1, -1, -1, 109, -1, -1, -1, 3365 -1, -1, -1, -1, 117, 118, 194, -1, -1, -1, 3366 905, -1, -1, -1, -1, -1, 1513, -1, 1515, -1, 3367 208, -1, -1, -1, -1, 920, -1, -1, -1, 217, 3368 -1, -1, -1, -1, -1, -1, -1, -1, -1, 227, 3369 -1, -1, -1, -1, -1, -1, 1543, 1544, -1, 944, 3370 -1, -1, 699, -1, 1551, 1552, -1, -1, -1, -1, 3371 -1, -1, -1, -1, 252, -1, 713, -1, -1, 257, 3372 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3373 -1, -1, 270, -1, -1, -1, 733, -1, 276, -1, 3374 278, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3375 -1, -1, -1, -1, -1, 1000, -1, 295, 10, 11, 3376 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3377 22, 23, 24, 25, 26, 27, 1021, 1022, 30, 31, 3378 32, -1, -1, -1, -1, -1, -1, 39, -1, -1, 3379 -1, -1, -1, -1, -1, -1, -1, 794, -1, -1, 3380 338, -1, -1, -1, -1, 343, -1, -1, -1, 806, 3381 -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 3382 72, -1, 74, 75, 76, -1, -1, -1, 825, -1, 3383 -1, 83, 84, -1, 372, -1, 1081, -1, 376, 377, 3384 -1, 379, -1, -1, -1, -1, -1, -1, 386, 387, 3385 -1, 389, 390, -1, 392, -1, 394, 109, -1, 111, 3386 -1, -1, -1, -1, -1, 117, 118, -1, -1, -1, 3387 -1, -1, -1, 411, -1, -1, -1, -1, -1, -1, 3388 -1, 419, -1, -1, -1, -1, -1, -1, -1, 155, 3389 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3390 -1, -1, 1147, -1, -1, -1, 444, -1, -1, -1, 3391 -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 3392 14, -1, -1, 189, -1, -1, -1, -1, -1, -1, 3393 196, -1, 470, -1, -1, -1, -1, -1, 476, -1, 3394 -1, 938, -1, 481, 1189, 39, 10, 11, 12, 13, 3395 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3396 24, 25, 26, 27, 28, -1, 30, 31, 32, -1, 3397 -1, 968, -1, 67, -1, 39, -1, -1, 72, 517, 3398 -1, 1226, 76, -1, -1, -1, -1, -1, -1, 83, 3399 84, -1, -1, -1, 532, -1, -1, -1, -1, -1, 3400 -1, -1, 268, 67, -1, -1, 1003, -1, 72, -1, 3401 74, 75, 76, -1, 78, 109, -1, 1014, -1, 83, 3402 84, -1, -1, 117, 118, -1, -1, -1, -1, -1, 3403 1275, 1276, -1, 571, -1, -1, -1, -1, -1, 1284, 3404 -1, -1, 580, -1, -1, 109, -1, 111, 146, 587, 3405 -1, -1, -1, 117, 118, 593, -1, 323, 156, -1, 3406 -1, -1, -1, -1, 602, 331, 332, -1, 334, 335, 3407 168, 169, -1, -1, -1, -1, -1, -1, -1, 345, 3408 -1, -1, -1, 349, -1, -1, -1, -1, -1, 1086, 3409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3410 -1, -1, 368, 1100, 642, 371, 3, 4, 5, 6, 3411 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3412 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3413 27, -1, 398, 30, 31, 32, 402, -1, -1, -1, 3414 678, 239, 39, -1, -1, -1, -1, -1, 686, -1, 3415 1395, -1, 37, 38, -1, 40, -1, -1, -1, -1, 3416 -1, -1, -1, -1, -1, 263, -1, 433, -1, -1, 3417 67, -1, 69, -1, 71, -1, -1, 74, 75, 717, 3418 -1, 66, -1, -1, -1, -1, -1, 72, -1, 727, 3419 728, 76, 1189, -1, 79, 80, 81, 82, 83, 84, 3420 -1, 86, 87, -1, -1, -1, 1451, -1, 1453, -1, 3421 -1, -1, -1, 479, 111, -1, 482, -1, -1, -1, 3422 117, 118, 760, -1, 109, -1, 111, 765, -1, 114, 3423 -1, -1, 117, 118, 119, 120, 121, 122, -1, -1, 3424 -1, -1, 1487, -1, 1489, -1, -1, -1, -1, -1, 3425 -1, -1, -1, -1, -1, 521, -1, -1, -1, 525, 3426 526, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3427 -1, 1516, -1, -1, -1, -1, -1, -1, -1, -1, 3428 -1, -1, 380, -1, -1, -1, -1, 1284, -1, -1, 3429 -1, 829, -1, -1, -1, -1, -1, -1, 836, -1, 3430 -1, -1, -1, -1, -1, 571, 572, -1, -1, -1, 3431 -1, 849, -1, 851, -1, -1, -1, -1, -1, -1, 3432 -1, -1, -1, -1, 590, 591, -1, 865, -1, -1, 3433 -1, -1, -1, 871, -1, 601, -1, 603, 604, -1, 3434 -1, -1, -1, -1, 610, 883, -1, -1, 886, -1, 3435 -1, -1, -1, -1, 620, 621, -1, -1, -1, -1, 3436 626, -1, -1, -1, -1, -1, -1, -1, -1, 635, 3437 636, 637, -1, -1, -1, -1, 474, -1, -1, -1, 3438 -1, -1, -1, -1, -1, -1, -1, 653, -1, -1, 3439 -1, -1, 658, 659, -1, -1, 662, 663, -1, -1, 3440 -1, -1, -1, 669, -1, -1, -1, -1, -1, -1, 3441 -1, -1, -1, -1, -1, 513, -1, -1, -1, -1, 3442 -1, -1, 688, -1, -1, 963, -1, -1, 526, -1, 3443 -1, -1, -1, 531, -1, -1, 534, -1, -1, -1, 3444 -1, -1, -1, -1, -1, 711, 712, -1, -1, 547, 3445 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3446 998, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3447 -1, 569, -1, -1, -1, -1, -1, -1, -1, 745, 3448 746, 579, -1, -1, 750, 751, -1, -1, 586, -1, 3449 -1, -1, -1, 591, -1, -1, -1, -1, -1, -1, 3450 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3451 20, 21, 22, 23, 24, 25, 26, 27, 1056, -1, 3452 30, 31, 32, -1, 1062, -1, -1, -1, 794, 39, 3453 -1, -1, -1, -1, 1531, -1, 802, -1, -1, -1, 3454 -1, -1, 640, 809, 810, -1, -1, 813, -1, 815, 3455 648, -1, -1, -1, -1, -1, -1, 67, 1096, 825, 3456 -1, -1, 72, 1101, 74, 75, 76, -1, -1, -1, 3457 -1, 1109, -1, 83, 84, -1, 10, 11, 12, 13, 3458 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3459 24, 25, 26, 27, 28, -1, -1, -1, -1, 109, 3460 -1, 111, -1, -1, 1142, 39, -1, 117, 118, -1, 3461 -1, -1, -1, -1, -1, -1, 1154, -1, -1, 1157, 3462 -1, 1159, -1, -1, -1, -1, -1, -1, -1, -1, 3463 -1, 897, -1, 67, -1, 1173, 1174, -1, 904, 905, 3464 906, -1, 908, -1, 78, -1, 912, -1, 746, -1, 3465 748, -1, -1, -1, -1, -1, -1, 1195, -1, -1, 3466 758, -1, -1, -1, -1, -1, 764, 933, 934, -1, 3467 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3468 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 3469 -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, 3470 -1, -1, 968, -1, 1242, -1, -1, -1, 806, 807, 3471 -1, -1, 810, -1, -1, -1, -1, -1, 37, 38, 3472 -1, 40, -1, 989, 990, -1, 824, 67, -1, -1, 3473 -1, -1, -1, -1, 1000, -1, -1, -1, 78, -1, 3474 1006, 1007, -1, 1009, 1010, 1011, -1, 66, -1, -1, 3475 -1, -1, -1, 72, -1, 1021, 1022, 76, -1, -1, 3476 79, 80, 81, 82, 83, 84, 864, 86, 87, -1, 3477 868, -1, -1, -1, -1, -1, -1, -1, -1, 1317, 3478 -1, 1319, -1, -1, -1, -1, -1, -1, -1, -1, 3479 109, -1, 111, 1331, -1, 1333, -1, 116, 117, 118, 3480 119, 120, 121, 122, -1, -1, -1, 905, -1, -1, 3481 -1, -1, 1350, -1, -1, -1, -1, -1, 1084, -1, 3482 1086, -1, -1, -1, -1, 1091, -1, -1, 1366, 1367, 3483 -1, -1, -1, -1, 1100, -1, -1, -1, -1, 1377, 3484 -1, -1, 1380, -1, -1, -1, 944, -1, -1, -1, 3485 -1, -1, -1, -1, -1, -1, -1, 1123, 1124, 1125, 3486 -1, -1, -1, 1401, -1, -1, -1, -1, -1, -1, 3487 -1, -1, 1410, -1, 972, 1413, -1, 1415, 1416, 1417, 3488 978, 1147, -1, -1, 982, 37, 38, -1, 40, -1, 3489 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3490 -1, -1, -1, -1, -1, 1003, -1, -1, -1, -1, 3491 -1, -1, -1, -1, 66, -1, 1014, 1455, -1, 1457, 3492 72, 1459, 74, 75, 76, -1, -1, 79, 80, 81, 3493 82, 83, 84, -1, 86, 87, 1474, -1, 1036, -1, 3494 1038, -1, 1208, -1, -1, -1, -1, -1, -1, -1, 3495 -1, -1, -1, -1, -1, 1053, 1054, 109, -1, 111, 3496 1226, 113, 114, -1, -1, 117, 118, 119, 120, 121, 3497 122, -1, -1, -1, -1, -1, 1074, -1, -1, -1, 3498 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 3499 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3500 19, 20, 21, 22, 23, 24, 25, 26, 27, 1275, 3501 1276, 30, 31, 32, 33, -1, -1, 36, -1, -1, 3502 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3503 -1, 1129, -1, -1, -1, -1, -1, -1, -1, -1, 3504 -1, -1, -1, -1, -1, -1, -1, -1, 67, 1147, 3505 69, -1, 71, -1, -1, 74, 75, -1, -1, -1, 3506 -1, -1, -1, -1, 1162, 1163, -1, 3, 4, 5, 3364 25, 26, 27, -1, -1, 30, 31, 32, -1, 882, 3365 -1, -1, -1, -1, 39, -1, 889, -1, -1, -1, 3366 -1, -1, -1, -1, -1, -1, 1363, -1, -1, -1, 3367 -1, -1, -1, -1, -1, -1, 1202, -1, -1, -1, 3368 -1, -1, 67, 1380, -1, -1, -1, -1, -1, 74, 3369 75, -1, -1, -1, -1, -1, 929, 3, 4, 5, 3507 3370 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3508 3371 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3509 26, 27, 111, -1, 30, 31, 32, 33, 117, 118, 3510 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, 3511 46, 47, 48, 49, 50, 51, 52, 53, -1, -1, 3512 -1, 57, -1, -1, -1, 61, 62, -1, 64, 1395, 3513 66, 67, -1, 69, -1, 71, 72, -1, 74, 75, 3514 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3515 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3372 26, 27, -1, 956, 30, 31, 32, -1, 961, 1255, 3373 1256, 964, -1, 39, 119, 120, -1, -1, -1, 1184, 3516 3374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3517 -1, -1, -1, 109, -1, 111, -1, -1, 114, -1, 3518 -1, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3519 -1, 127, -1, -1, -1, -1, 132, -1, -1, -1, 3520 -1, -1, -1, -1, -1, 1303, -1, -1, 1306, -1, 3521 -1, -1, -1, -1, -1, -1, 1482, -1, -1, -1, 3375 -1, 984, -1, -1, -1, 1452, 1453, -1, -1, -1, 3376 -1, 67, 995, 69, -1, 71, 72, -1, 74, 75, 3377 76, -1, -1, -1, -1, -1, -1, -1, -1, 85, 3378 86, -1, 1015, -1, 1017, -1, -1, -1, -1, -1, 3379 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1032, 3380 1033, -1, -1, -1, -1, 111, -1, 113, -1, -1, 3381 -1, -1, -1, 119, 120, -1, -1, -1, -1, 1052, 3382 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 3383 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3384 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3385 1376, -1, 30, 31, 32, 33, -1, -1, 36, -1, 3386 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 3387 -1, -1, -1, 1106, -1, -1, -1, -1, -1, -1, 3388 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3389 -1, 69, 1125, 71, -1, -1, 74, 75, -1, -1, 3390 -1, -1, -1, -1, -1, -1, -1, 1140, 1141, -1, 3391 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3392 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3393 24, 25, 26, 27, -1, 113, 30, 31, 32, 1465, 3394 -1, 119, 120, -1, -1, 39, -1, -1, -1, -1, 3395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3396 -1, -1, -1, 1489, 1490, -1, -1, -1, -1, -1, 3397 -1, -1, -1, 67, -1, 69, -1, 71, -1, -1, 3398 74, 75, -1, -1, -1, -1, -1, -1, 1514, -1, 3399 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3400 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3401 21, 22, 23, 24, 25, 26, 27, -1, 112, 30, 3402 31, 32, 33, -1, -1, 36, 37, 38, 39, 40, 3403 41, -1, 43, -1, -1, 46, 47, 48, 49, 50, 3404 51, 52, 53, -1, -1, -1, 57, -1, -1, 1282, 3405 61, 62, 1285, 64, -1, 66, 67, -1, 69, -1, 3406 71, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3407 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3522 3408 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3523 3409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3524 1506, 1507, -1, -1, -1, -1, -1, -1, -1, -1, 3525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3526 -1, -1, -1, -1, -1, 1531, 3, 4, 5, 6, 3527 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3528 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3529 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 3530 37, 38, 39, 40, 10, 11, 12, 13, 14, 15, 3531 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3532 26, 27, -1, -1, 30, 31, 32, -1, -1, 66, 3533 67, -1, 69, 39, 71, 72, -1, 74, 75, 76, 3534 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3535 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3536 -1, 67, -1, -1, -1, -1, 72, -1, 74, 75, 3537 -1, -1, 109, -1, 111, -1, -1, 83, 84, -1, 3538 117, 118, 119, 120, 121, 122, 4, 5, 6, 7, 3539 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3540 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3541 -1, -1, 30, 31, 32, -1, -1, -1, 1516, 37, 3542 38, 39, 40, 10, 11, 12, 13, 14, 15, 16, 3543 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3544 27, -1, -1, 30, 31, 32, -1, -1, 66, 67, 3545 -1, 69, 39, 71, 72, -1, 74, 75, 76, -1, 3546 -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 3547 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3548 67, -1, -1, -1, -1, -1, -1, 74, 75, -1, 3549 -1, 109, -1, 111, -1, -1, -1, -1, 116, 117, 3550 118, 119, 120, 121, 122, 4, 5, 6, 7, 8, 3410 111, -1, 113, -1, -1, 116, -1, -1, 119, 120, 3411 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, 3412 -1, -1, -1, 134, 3, 4, 5, 6, 7, 8, 3551 3413 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3552 3414 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3553 -1, 30, 31, 32, -1, -1, -1, -1, 37, 38,3415 -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, 3554 3416 39, 40, 10, 11, 12, 13, 14, 15, 16, 17, 3555 3417 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3556 3418 -1, -1, 30, 31, 32, -1, -1, 66, 67, -1, 3557 3419 69, 39, 71, 72, -1, 74, 75, 76, -1, -1, 3558 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3559 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3560 -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, 3561 109, -1, 111, -1, -1, -1, -1, 116, 117, 118, 3562 119, 120, 121, 122, 4, 5, 6, 7, 8, 9, 3563 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3564 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3565 30, 31, 32, -1, -1, -1, -1, 37, 38, 39, 3566 40, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3567 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3568 -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, 3569 39, 71, 72, -1, 74, 75, 76, -1, -1, 79, 3570 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3571 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3572 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 3573 -1, 111, -1, -1, -1, -1, 116, 117, 118, 119, 3574 120, 121, 122, 4, 5, 6, 7, 8, 9, 10, 3420 79, 80, 81, 82, 83, 84, 85, 86, -1, 88, 3421 89, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3422 -1, -1, -1, -1, 72, -1, 74, 75, -1, -1, 3423 -1, -1, 111, -1, 113, -1, -1, 85, 86, -1, 3424 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 3425 -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, 3426 -1, -1, -1, -1, -1, -1, 1499, 3, 4, 5, 3427 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3428 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3429 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 3430 36, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3431 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3432 25, 26, 27, 28, -1, -1, -1, -1, -1, -1, 3433 66, 67, -1, 69, 39, 71, 72, -1, 74, 75, 3434 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 3435 86, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3436 -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 3437 -1, -1, -1, 78, -1, 111, -1, 113, -1, -1, 3438 -1, -1, -1, 119, 120, 121, 122, 123, 124, 4, 3439 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3440 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3441 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3442 -1, -1, 37, 38, 39, 40, 10, 11, 12, 13, 3443 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3444 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3445 -1, 66, 67, -1, 69, 39, 71, 72, -1, 74, 3446 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3447 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3448 -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, 3449 74, 75, -1, -1, -1, -1, 111, -1, 113, -1, 3450 -1, -1, -1, 118, 119, 120, 121, 122, 123, 124, 3451 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3452 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3453 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3454 -1, -1, -1, 37, 38, 39, 40, 10, 11, 12, 3455 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3456 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3457 -1, -1, 66, 67, -1, 69, 39, 71, 72, -1, 3458 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 3459 84, 85, 86, -1, 88, 89, -1, -1, -1, -1, 3460 -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, 3461 -1, 74, 75, -1, -1, -1, -1, 111, -1, 113, 3462 -1, -1, -1, -1, 118, 119, 120, 121, 122, 123, 3463 124, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3464 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3465 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3466 -1, -1, -1, -1, 37, 38, 39, 40, -1, -1, 3467 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3469 -1, -1, -1, 66, 67, -1, 69, -1, 71, 72, 3470 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 3471 83, 84, 85, 86, -1, 88, 89, -1, -1, -1, 3472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3473 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3474 113, -1, -1, -1, -1, -1, 119, 120, 121, 122, 3475 123, 124, 4, 5, 6, 7, 8, 9, 10, 11, 3476 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3477 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3478 32, -1, -1, -1, -1, 37, 38, 39, 40, -1, 3479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3481 -1, -1, -1, -1, 66, 67, -1, 69, -1, 71, 3482 72, -1, 74, 75, 76, -1, -1, 79, 80, 81, 3483 82, 83, 84, 85, 86, -1, 88, 89, -1, -1, 3484 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3485 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 3486 -1, 113, -1, -1, -1, -1, -1, 119, 120, 121, 3487 122, 123, 124, 4, 5, 6, 7, 8, 9, 10, 3575 3488 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3576 3489 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, … … 3580 3493 -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, 3581 3494 71, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3582 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, 3583 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3584 -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 3585 111, -1, -1, -1, -1, -1, 117, 118, 119, 120, 3586 121, 122, 4, 5, 6, 7, 8, 9, 10, 11, 3587 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3588 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3589 32, -1, -1, -1, -1, 37, 38, 39, 40, -1, 3495 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3590 3496 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3591 3497 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3592 -1, -1, -1, -1, 66, 67, -1, 69, -1, 71, 3593 72, -1, 74, 75, 76, -1, -1, 79, 80, 81, 3594 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 3498 111, -1, 113, -1, -1, -1, -1, -1, 119, 120, 3499 121, 122, 123, 124, 0, -1, -1, 3, 4, 5, 3500 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3501 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3502 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 3503 36, -1, -1, 39, 40, -1, -1, -1, -1, -1, 3595 3504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3596 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3597 -1, -1, -1, -1, -1, 117, 118, 119, 120, 121, 3598 122, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3599 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3600 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3601 -1, -1, -1, -1, 37, 38, 39, 40, -1, -1, 3505 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1, 3506 -1, 67, -1, 69, -1, 71, 72, -1, 74, 75, 3507 76, -1, -1, -1, -1, -1, -1, -1, -1, 85, 3508 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3509 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3510 -1, -1, -1, -1, -1, 111, -1, 113, -1, -1, 3511 -1, -1, -1, 119, 120, 3, 4, 5, 6, 7, 3512 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3513 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3514 -1, -1, 30, 31, 32, 33, -1, -1, 36, -1, 3515 -1, 39, 40, -1, -1, -1, -1, -1, -1, -1, 3516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3517 -1, -1, -1, -1, -1, -1, 64, -1, -1, 67, 3518 -1, 69, -1, 71, 72, -1, 74, 75, 76, -1, 3519 -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, 3602 3520 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3603 3521 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3604 -1, -1, -1, 66, 67, -1, 69, -1, 71, 72, 3605 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 3606 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 3522 -1, -1, -1, 111, -1, 113, -1, -1, -1, 117, 3523 -1, 119, 120, 3, 4, 5, 6, 7, 8, 9, 3524 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3525 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3526 30, 31, 32, 33, -1, -1, 36, -1, -1, 39, 3527 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3607 3528 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3608 -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, 3609 -1, -1, -1, -1, 117, 118, 119, 120, 121, 122, 3529 -1, -1, -1, -1, 64, -1, -1, 67, -1, 69, 3530 -1, 71, 72, -1, 74, 75, 76, -1, -1, -1, 3531 -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, 3532 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3533 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3534 -1, 111, -1, 113, -1, -1, -1, -1, -1, 119, 3535 120, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3536 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3537 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 3538 32, 33, -1, -1, 36, -1, -1, 39, -1, -1, 3539 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3541 -1, -1, -1, -1, -1, 67, -1, 69, -1, 71, 3542 -1, -1, 74, 75, -1, -1, 78, 3, 4, 5, 3543 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3544 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3545 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3546 -1, 113, -1, 39, -1, -1, -1, 119, 120, -1, 3547 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3548 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3549 -1, 67, -1, 69, -1, 71, -1, -1, 74, 75, 3610 3550 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3611 3551 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3612 3552 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3613 -1, -1, -1, 37, 38, 39, 40, -1, -1, -1, 3553 -1, -1, -1, -1, -1, 39, -1, 113, -1, -1, 3554 -1, -1, -1, 119, 120, -1, -1, -1, -1, -1, 3614 3555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3556 -1, -1, -1, 67, -1, 69, -1, 71, 72, -1, 3557 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, 3558 -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, 3615 3559 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3616 -1, -1, 66, 67, -1, 69, -1, 71, 72, -1, 3617 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 3618 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3619 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3620 -1, -1, -1, -1, -1, 109, -1, 111, -1, -1, 3621 -1, -1, -1, 117, 118, 119, 120, 121, 122, 0, 3622 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3623 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3624 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3625 31, 32, 33, -1, -1, 36, -1, -1, 39, 40, 3626 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3627 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3628 -1, -1, -1, 64, -1, -1, 67, -1, 69, -1, 3629 71, 72, -1, 74, 75, 76, -1, -1, -1, -1, 3630 -1, -1, 83, 84, -1, -1, -1, -1, -1, -1, 3631 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3632 -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 3633 111, -1, -1, -1, -1, -1, 117, 118, 3, 4, 3634 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3635 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3636 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, 3637 -1, 36, -1, -1, 39, 40, -1, -1, -1, -1, 3638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3639 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 3640 -1, -1, 67, -1, 69, -1, 71, 72, -1, 74, 3641 75, 76, -1, -1, -1, -1, -1, -1, 83, 84, 3642 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3643 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3644 -1, -1, -1, -1, 109, -1, 111, -1, -1, -1, 3645 115, -1, 117, 118, 3, 4, 5, 6, 7, 8, 3646 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3647 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3648 -1, 30, 31, 32, 33, -1, -1, 36, -1, -1, 3649 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, 3650 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3651 -1, -1, -1, -1, -1, 64, -1, -1, 67, -1, 3652 69, -1, 71, 72, -1, 74, 75, 76, -1, -1, 3653 -1, -1, -1, -1, 83, 84, -1, -1, -1, -1, 3654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3655 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3656 109, -1, 111, -1, -1, -1, -1, -1, 117, 118, 3657 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3658 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3659 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3660 -1, -1, -1, -1, -1, -1, 39, -1, 10, 11, 3661 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3662 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3663 32, 33, 34, 35, 67, -1, 69, 39, 71, 72, 3664 -1, 74, 75, 76, -1, -1, -1, -1, -1, -1, 3665 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 3666 -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 3667 -1, -1, 74, 75, -1, -1, 109, -1, 111, -1, 3668 -1, -1, -1, -1, 117, 118, 3, 4, 5, 6, 3560 -1, -1, -1, -1, -1, -1, -1, 111, -1, 113, 3561 -1, -1, -1, -1, -1, 119, 120, 4, 5, 6, 3669 3562 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3670 3563 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3671 27, 28, -1, 30, 31, 32, 33, -1, -1, 36,3564 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3672 3565 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, 3673 3566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3674 3567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3675 67, -1, 69, -1, 71, -1, -1, 74, 75, -1,3676 -1, 78, 4, 5, 6, 7, 8, 9, 10, 11,3677 1 2, 13, 14, 15, 16, 17, 18, 19, 20, 21,3678 2 2, 23, 24, 25, 26, 27, -1, -1, 30, 31,3679 32, -1, -1, -1, 111, -1, -1, 39, -1, -1,3680 117, 118, -1, -1, -1, -1, -1, -1, -1, -1,3568 67, -1, 69, -1, 71, -1, -1, 74, 75, 4, 3569 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3570 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3571 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3572 -1, -1, -1, -1, 39, 112, 113, -1, -1, -1, 3573 -1, -1, 119, 120, -1, -1, -1, -1, -1, -1, 3681 3574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3682 -1, -1, -1, -1, -1, 67, -1, 69, -1, 71, 3683 72, -1, 74, 75, 76, -1, -1, -1, -1, -1, 3684 -1, 83, 84, -1, -1, -1, -1, -1, -1, -1, 3575 -1, -1, 67, -1, 69, -1, 71, -1, -1, 74, 3576 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3685 3577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3686 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3687 -1, -1, -1, -1, -1, 117, 118, 4, 5, 6, 3578 -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, 3579 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3580 -1, -1, -1, -1, 119, 120, 4, 5, 6, 7, 3581 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3582 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3583 -1, -1, 30, 31, 32, -1, -1, -1, -1, -1, 3584 -1, 39, -1, -1, -1, 10, 11, 12, 13, 14, 3585 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3586 25, 26, 27, -1, -1, 30, 31, 32, -1, 67, 3587 -1, 69, -1, 71, 39, 40, 74, 75, -1, -1, 3588 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3589 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3590 98, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3591 75, -1, -1, -1, -1, 113, -1, -1, -1, -1, 3592 -1, 119, 120, 4, 5, 6, 7, 8, 9, 10, 3593 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3594 21, 22, 23, 24, 25, 26, 27, -1, 113, 30, 3595 31, 32, 117, -1, 119, 120, -1, -1, 39, -1, 3596 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3597 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3598 -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, 3599 71, -1, -1, 74, 75, 4, 5, 6, 7, 8, 3600 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3601 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3602 -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, 3603 39, -1, 113, -1, -1, -1, -1, -1, 119, 120, 3604 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3605 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3606 69, -1, 71, -1, -1, 74, 75, 4, 5, 6, 3688 3607 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3689 3608 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3690 3609 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3691 -1, -1, 39, -1, -1, -1, -1, 10, 11, 12, 3692 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3693 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3694 67, -1, 69, -1, 71, -1, 39, 74, 75, -1, 3695 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3696 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3697 24, 25, 26, 27, 67, -1, 30, 31, 32, -1, 3698 -1, 74, 75, 110, 111, 39, -1, -1, -1, -1, 3699 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, 3610 -1, -1, 39, -1, 113, -1, -1, -1, -1, -1, 3611 119, 120, -1, -1, -1, -1, -1, -1, -1, -1, 3700 3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3701 -1, -1, -1, 67, -1, 69, 109, 71, 111, -1, 3702 74, 75, -1, -1, 117, 118, -1, -1, -1, -1, 3703 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3704 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, 3705 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 3706 -1, -1, -1, 117, 118, 4, 5, 6, 7, 8, 3707 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3708 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3709 -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, 3710 39, -1, -1, -1, 10, 11, 12, 13, 14, 15, 3711 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3712 26, 27, -1, -1, 30, 31, 32, -1, 67, -1, 3713 69, -1, 71, 39, 40, 74, 75, -1, -1, -1, 3714 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3715 -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, 3716 -1, 67, -1, -1, -1, -1, -1, -1, 74, 75, 3717 -1, -1, 111, -1, -1, -1, -1, -1, 117, 118, 3718 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3719 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3720 24, 25, 26, 27, -1, 111, 30, 31, 32, 115, 3721 -1, 117, 118, -1, -1, 39, -1, -1, -1, -1, 3613 67, -1, 69, -1, 71, -1, -1, 74, 75, 10, 3614 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3615 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3616 31, 32, -1, -1, -1, -1, 37, 38, 39, 40, 3617 -1, -1, -1, -1, -1, -1, 113, -1, -1, -1, 3618 -1, -1, 119, 120, -1, -1, -1, -1, -1, -1, 3619 -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, 3620 -1, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3621 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3722 3622 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3723 3623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3724 -1, -1, -1, 67, -1, 69, -1, 71, -1, -1, 3725 74, 75, -1, 4, 5, 6, 7, 8, 9, 10, 3726 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3727 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3728 31, 32, -1, -1, -1, -1, -1, 111, 39, -1, 3729 -1, -1, -1, 117, 118, -1, -1, -1, -1, -1, 3730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3731 -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, 3732 71, -1, -1, 74, 75, -1, 4, 5, 6, 7, 3733 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3734 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3735 -1, -1, 30, 31, 32, -1, -1, -1, -1, -1, 3736 111, 39, -1, -1, -1, -1, 117, 118, -1, -1, 3737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3738 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3739 -1, 69, -1, 71, -1, -1, 74, 75, -1, 4, 3740 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3741 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3742 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3743 -1, -1, -1, 111, 39, -1, -1, -1, -1, 117, 3744 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3745 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3746 -1, -1, 67, -1, 69, -1, 71, -1, -1, 74, 3747 75, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3748 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3749 -1, 30, 31, 32, -1, -1, -1, -1, 37, 38, 3750 39, 40, -1, -1, -1, -1, 111, -1, -1, -1, 3751 -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, 3752 -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 3753 -1, -1, -1, 72, -1, 74, 75, 76, -1, -1, 3754 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3755 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3756 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3757 109, -1, 111, -1, -1, 114, -1, -1, 117, 118, 3758 119, 120, 121, 122, 10, 11, 12, 13, 14, 15, 3624 111, -1, 113, -1, -1, 116, -1, -1, 119, 120, 3625 121, 122, 123, 124, 10, 11, 12, 13, 14, 15, 3759 3626 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3760 3627 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, … … 3763 3630 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3764 3631 66, 67, -1, -1, 39, -1, 72, -1, 74, 75, 3765 76, -1, -1, 79, 80, 81, 82, 83, 84, -1,3766 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,3632 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 3633 86, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3767 3634 -1, -1, 67, -1, -1, -1, -1, 72, -1, 74, 3768 75, 76, -1, 109, 110, 111, -1, -1, 83, 84, 3769 -1, 117, 118, 119, 120, 121, 122, 10, 11, 12, 3770 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3771 23, 24, 25, 26, 27, -1, 111, 30, 31, 32, 3772 -1, -1, 117, 118, 37, 38, 39, 40, 10, 11, 3773 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3774 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3775 32, -1, -1, 66, 67, -1, -1, 39, -1, 72, 3776 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 3777 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 3778 -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 3779 72, -1, 74, 75, -1, -1, 109, -1, 111, -1, 3780 -1, 83, 84, -1, 117, 118, 119, 120, 121, 122, 3635 75, -1, -1, -1, -1, 111, 112, 113, -1, -1, 3636 85, 86, -1, 119, 120, 121, 122, 123, 124, 10, 3637 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3638 21, 22, 23, 24, 25, 26, 27, -1, 113, 30, 3639 31, 32, -1, -1, 119, 120, 37, 38, 39, 40, 3781 3640 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3782 20, 21, 22, 23, 24, 25, 26, 27, -1, 111, 3783 30, 31, 32, -1, -1, 117, 118, 37, 38, 39, 3784 40, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3641 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3642 30, 31, 32, -1, -1, 66, 67, -1, -1, 39, 3643 40, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3644 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3645 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 3646 -1, -1, -1, -1, 74, 75, -1, -1, -1, -1, 3647 111, -1, 113, -1, -1, -1, -1, -1, 119, 120, 3648 121, 122, 123, 124, 10, 11, 12, 13, 14, 15, 3649 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3650 26, 27, -1, 113, 30, 31, 32, 117, -1, 119, 3651 120, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3652 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3653 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3654 66, 67, -1, -1, 39, 40, 72, -1, 74, 75, 3655 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 3656 86, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3657 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3658 75, -1, -1, -1, -1, 111, -1, 113, -1, -1, 3659 -1, -1, -1, 119, 120, 121, 122, 123, 124, 10, 3660 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3661 21, 22, 23, 24, 25, 26, 27, -1, 113, 30, 3662 31, 32, 117, -1, 119, 120, 37, 38, 39, 40, 3663 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3664 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3665 30, 31, 32, -1, -1, 66, 67, -1, -1, 39, 3666 -1, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3667 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3668 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 3669 -1, -1, 72, -1, 74, 75, 76, -1, -1, -1, 3670 111, -1, 113, -1, -1, 85, 86, -1, 119, 120, 3671 121, 122, 123, 124, -1, -1, -1, -1, -1, -1, 3672 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3673 -1, 111, -1, 113, -1, -1, -1, -1, -1, 119, 3674 120, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3785 3675 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3786 -1, 30, 31, 32, -1, -1, 66, 67, -1, -1, 3787 39, 40, 72, -1, 74, 75, 76, -1, -1, 79, 3788 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3676 -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, 3677 39, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3678 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3679 -1, 30, 31, 32, -1, -1, -1, -1, 67, -1, 3680 39, -1, -1, 72, -1, 74, 75, 76, -1, -1, 3681 -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, 3789 3682 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3790 -1, -1, -1, -1, -1, 74, 75, -1, -1, 109, 3791 -1, 111, -1, -1, -1, -1, -1, 117, 118, 119, 3792 120, 121, 122, 10, 11, 12, 13, 14, 15, 16, 3683 -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 3684 -1, -1, 111, -1, 113, -1, -1, -1, -1, -1, 3685 119, 120, -1, -1, -1, 10, 11, 12, 13, 14, 3686 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3687 25, 26, 27, -1, 113, 30, 31, 32, -1, -1, 3688 119, 120, -1, -1, 39, 10, 11, 12, 13, 14, 3689 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3690 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3691 -1, -1, 67, -1, 39, -1, -1, -1, -1, 74, 3692 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3694 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3695 75, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3696 -1, -1, -1, -1, 119, 120, -1, -1, -1, 10, 3697 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3698 21, 22, 23, 24, 25, 26, 27, -1, 113, 30, 3699 31, 32, -1, -1, 119, 120, -1, -1, 39, 10, 3700 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3701 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3702 31, 32, -1, -1, -1, -1, 67, -1, 39, -1, 3703 -1, -1, -1, 74, 75, -1, -1, -1, -1, -1, 3704 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3705 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 3706 -1, -1, -1, 74, 75, -1, -1, -1, -1, -1, 3707 -1, -1, 113, -1, -1, -1, -1, -1, 119, 120, 3708 -1, -1, -1, 10, 11, 12, 13, 14, 15, 16, 3793 3709 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3794 27, -1, 111, 30, 31, 32, 115, -1, 117, 118, 3795 37, 38, 39, 40, 10, 11, 12, 13, 14, 15, 3796 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3797 26, 27, -1, -1, 30, 31, 32, -1, -1, 66, 3798 67, -1, -1, 39, 40, 72, -1, 74, 75, 76, 3799 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3800 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3801 -1, 67, -1, -1, -1, -1, -1, -1, 74, 75, 3802 -1, -1, 109, -1, 111, -1, -1, -1, -1, -1, 3803 117, 118, 119, 120, 121, 122, 10, 11, 12, 13, 3804 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3805 24, 25, 26, 27, -1, 111, 30, 31, 32, 115, 3806 -1, 117, 118, 37, 38, 39, 40, -1, -1, -1, 3807 -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, 3808 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3809 26, 27, 66, 67, 30, 31, 32, -1, 72, -1, 3810 74, 75, 76, 39, -1, 79, 80, 81, 82, 83, 3811 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3710 27, -1, 113, 30, 31, 32, -1, -1, 119, 120, 3711 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, 3812 3712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3813 -1, 67, -1, -1, -1, 109, -1, 111, 74, 75, 3814 -1, -1, -1, 117, 118, 119, 120, 121, 122, 3, 3713 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3714 67, -1, -1, -1, -1, -1, -1, 74, 75, -1, 3715 -1, -1, 37, 38, -1, 40, 41, -1, 43, -1, 3716 -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3717 -1, 56, 57, -1, -1, -1, 61, 62, -1, 64, 3718 -1, 66, -1, -1, -1, -1, 113, 72, -1, -1, 3719 -1, 76, 119, 120, 79, 80, 81, 82, 83, 84, 3720 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3721 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3722 -1, -1, -1, -1, -1, -1, 111, -1, 113, -1, 3723 -1, 116, -1, -1, 119, 120, 121, 122, 123, 124, 3724 -1, -1, 37, 38, 129, 40, 41, -1, 43, 134, 3725 -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3726 -1, -1, 57, -1, -1, -1, 61, 62, -1, 64, 3727 -1, 66, -1, -1, -1, -1, -1, 72, -1, -1, 3728 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3729 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3731 -1, -1, -1, -1, -1, -1, 111, -1, 113, -1, 3732 -1, 116, -1, -1, 119, 120, 121, 122, 123, 124, 3733 -1, -1, -1, -1, 129, -1, -1, -1, -1, 134, 3815 3734 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3816 3735 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3817 24, 25, 26, 27, -1, 111, 30, 31, 32, -1,3818 -1, 117, 118, -1, -1, 39, -1, -1, -1, 10,3819 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,3820 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,3821 31, 32, -1, 67, -1, 69, -1, 71, 39, -1,3822 74, 75, -1, -1, -1, -1, -1, 10, 11, 12,3823 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,3824 23, 24, 25, 26, 27, -1, 67, 30, 31, 32,3825 -1, 72, -1, 74, 75, 76, 39, 78, -1, -1,3826 114, -1, 83, 84, -1, 10, 11, 12, 13, 14,3827 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,3828 25, 26, 27, 28, 67, 30, 31, 32, -1, 72,3829 111, 74, 75, 76, 39, -1, 117, 118, -1, -1,3830 83, 84, -1, 10, 11, 12, 13, 14, 15, 16,3831 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,3832 27, -1, 67, 30, 31, 32, 109, -1, 111, 74,3833 75, -1, 39, 78, 117, 118, 10, 11, 12, 13,3834 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,3835 3736 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3836 67, -1, -1, -1, -1, 39, 111, 74, 75, -1, 3837 -1, -1, 117, 118, 10, 11, 12, 13, 14, 15, 3838 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3839 26, 27, -1, 67, 30, 31, 32, -1, -1, -1, 3840 74, 75, -1, 39, 111, -1, -1, -1, -1, -1, 3841 117, 118, 10, 11, 12, 13, 14, 15, 16, 17, 3842 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3843 -1, 67, 30, 31, 32, -1, -1, 111, 74, 75, 3844 -1, 39, -1, 117, 118, 10, 11, 12, 13, 14, 3845 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3846 25, 26, 27, -1, -1, 30, 31, 32, -1, 67, 3847 -1, -1, -1, -1, 39, 111, 74, 75, -1, -1, 3848 -1, 117, 118, 10, 11, 12, 13, 14, 15, 16, 3849 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3850 27, -1, 67, 30, 31, 32, -1, -1, -1, 74, 3851 75, -1, 39, 111, -1, -1, -1, -1, -1, 117, 3852 118, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3853 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3854 67, 30, 31, 32, -1, -1, 111, 74, 75, -1, 3855 39, -1, 117, 118, 4, 5, 6, 7, 8, 9, 3856 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3857 20, 21, 22, 23, 24, 25, 26, 27, 67, -1, 3858 30, 31, 32, -1, 111, 74, 75, -1, -1, 39, 3859 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, 3737 -1, -1, -1, -1, -1, 39, -1, 37, 38, -1, 3738 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 3739 50, 51, 52, 53, -1, -1, 56, 57, -1, -1, 3740 -1, 61, 62, 67, 64, 69, 66, 71, -1, -1, 3741 74, 75, 72, -1, -1, -1, 76, -1, -1, 79, 3742 80, 81, 82, 83, 84, 85, 86, -1, 88, 89, 3743 -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, 3860 3744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3861 -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, 3862 -1, 71, -1, -1, 74, 75, -1, -1, 117, 118, 3863 37, 38, -1, 40, 41, -1, 43, -1, -1, 46, 3864 47, 48, 49, 50, 51, 52, 53, -1, -1, 56, 3865 57, -1, -1, -1, 61, 62, -1, 64, -1, 66, 3866 110, -1, -1, -1, -1, 72, -1, -1, -1, 76, 3867 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3868 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3869 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3870 -1, -1, 109, -1, 111, -1, -1, 114, -1, -1, 3871 117, 118, 119, 120, 121, 122, -1, -1, 37, 38, 3872 127, 40, 41, -1, 43, 132, -1, 46, 47, 48, 3873 49, 50, 51, 52, 53, -1, -1, -1, 57, -1, 3874 -1, -1, 61, 62, -1, 64, -1, 66, -1, -1, 3875 -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, 3876 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3745 -1, 111, -1, 113, -1, -1, 116, -1, -1, 119, 3746 120, 121, 122, 123, 124, -1, -1, 37, 38, 129, 3747 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 3748 50, 51, 52, 53, -1, -1, -1, 57, -1, -1, 3749 -1, 61, 62, -1, 64, -1, 66, -1, -1, -1, 3750 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3751 80, 81, 82, 83, 84, 85, 86, -1, 88, 89, 3877 3752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3878 3753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3879 109, -1, 111, -1, -1, 114, -1, -1, 117, 118, 3880 119, 120, 121, 122, -1, -1, -1, -1, 127, -1, 3881 -1, -1, -1, 132, 4, 5, 6, 7, 8, 9, 3882 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3883 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3884 30, 31, 32, -1, -1, -1, -1, -1, -1, 39, 3885 -1, 37, 38, -1, 40, 41, -1, 43, 44, 45, 3886 46, 47, 48, 49, 50, 51, 52, 53, -1, -1, 3887 56, 57, -1, -1, -1, 61, 62, 67, 64, 69, 3888 66, 71, -1, -1, 74, 75, 72, -1, -1, -1, 3889 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3890 86, 87, -1, -1, -1, -1, 96, -1, -1, -1, 3891 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3892 -1, -1, -1, 109, -1, 111, -1, -1, 114, -1, 3893 -1, 117, 118, 119, 120, 121, 122, -1, -1, 37, 3894 38, 127, 40, 41, -1, 43, 44, 45, 46, 47, 3895 48, 49, 50, 51, 52, 53, -1, -1, -1, 57, 3896 -1, -1, -1, 61, 62, -1, 64, -1, 66, -1, 3897 -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, 3898 -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 3899 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3900 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3901 -1, 109, -1, 111, -1, -1, 114, -1, -1, 117, 3902 118, 119, 120, 121, 122, -1, -1, 37, 38, 127, 3754 -1, 111, -1, 113, -1, -1, 116, -1, -1, 119, 3755 120, 121, 122, 123, 124, -1, -1, 37, 38, 129, 3903 3756 40, 41, -1, 43, -1, -1, 46, 47, 48, 49, 3904 3757 50, 51, 52, 53, -1, -1, -1, 57, -1, -1, 3905 3758 -1, 61, 62, -1, 64, -1, 66, -1, -1, -1, 3906 3759 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3907 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3760 80, 81, 82, 83, 84, 85, 86, -1, 88, 89, 3761 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 3762 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3763 -1, 111, -1, 113, -1, -1, 116, -1, -1, 119, 3764 120, 121, 122, 123, 124, 66, -1, -1, -1, 129, 3765 -1, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3766 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3767 -1, -1, -1, -1, -1, 37, 38, -1, 40, -1, 3768 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3769 111, -1, 113, -1, 115, 116, -1, -1, 119, 120, 3770 121, 122, 123, 124, 66, -1, -1, -1, -1, -1, 3771 72, -1, -1, -1, 76, -1, -1, 79, 80, 81, 3772 82, 83, 84, 85, 86, -1, 88, 89, -1, -1, 3908 3773 -1, -1, -1, -1, 37, 38, -1, 40, -1, -1, 3909 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1 09,3910 -1, 11 1, -1, -1, 114, -1, -1, 117, 118, 119,3911 12 0, 121, 122, 66, -1, -1, -1, 127, -1, 72,3774 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 3775 -1, 113, -1, -1, 116, -1, -1, 119, 120, 121, 3776 122, 123, 124, 66, -1, -1, -1, -1, -1, 72, 3912 3777 -1, -1, -1, 76, -1, -1, 79, 80, 81, 82, 3913 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 3778 83, 84, 85, 86, -1, 88, 89, -1, -1, -1, 3779 -1, -1, -1, 37, 38, -1, 40, -1, -1, -1, 3780 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3781 113, -1, -1, -1, -1, 118, 119, 120, 121, 122, 3782 123, 124, 66, -1, -1, -1, -1, -1, 72, -1, 3783 -1, -1, 76, -1, -1, 79, 80, 81, 82, 83, 3784 84, 85, 86, -1, 88, 89, -1, -1, -1, -1, 3785 -1, -1, 37, 38, -1, 40, -1, -1, -1, -1, 3786 -1, -1, -1, -1, -1, -1, -1, 111, -1, 113, 3787 -1, -1, 116, -1, -1, 119, 120, 121, 122, 123, 3788 124, 66, -1, -1, -1, -1, -1, 72, -1, -1, 3789 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3790 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3914 3791 -1, 37, 38, -1, 40, -1, -1, -1, -1, -1, 3915 -1, -1, -1, -1, -1, -1, 1 09, -1, 111, -1,3916 -1, 114, -1, -1, 117, 118, 119, 120, 121, 122,3792 -1, -1, -1, -1, -1, -1, 111, -1, 113, -1, 3793 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 3917 3794 66, -1, -1, -1, -1, -1, 72, -1, -1, -1, 3918 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3919 86, 87, -1, -1, -1, -1, -1, -1, 37, 38, 3795 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 3796 86, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3797 37, 38, -1, 40, -1, -1, -1, -1, -1, -1, 3798 -1, -1, -1, -1, -1, 111, -1, 113, -1, -1, 3799 -1, -1, -1, 119, 120, 121, 122, 123, 124, 66, 3800 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, 3801 -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 3802 -1, 88, 89, -1, -1, -1, -1, -1, -1, 37, 3803 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, 3804 -1, -1, -1, -1, 111, -1, 113, -1, -1, -1, 3805 -1, -1, 119, 120, 121, 122, 123, 124, 66, -1, 3806 -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, 3807 -1, 79, 80, 81, 82, 83, 84, 85, 86, -1, 3808 88, 89, -1, -1, -1, -1, -1, -1, 37, 38, 3920 3809 -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 3921 -1, -1, -1, 1 09, -1, 111, -1, 37, 38, -1,3922 40, 117, 118, 119, 120, 121, 122, 66, -1, -1,3810 -1, -1, -1, 111, -1, 113, -1, -1, -1, -1, 3811 -1, 119, 120, 121, 122, 123, 124, 66, -1, -1, 3923 3812 -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, 3924 79, 80, 81, 82, 83, 84, 66, 86, 87, -1, 3813 79, 80, 81, 82, 83, 84, 85, 86, -1, 88, 3814 89, -1, -1, -1, -1, -1, -1, 37, 38, -1, 3815 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3816 -1, -1, 111, -1, 113, -1, -1, -1, -1, -1, 3817 119, 120, 121, 122, 123, 124, 66, -1, -1, -1, 3925 3818 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3926 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3927 109, -1, 111, -1, 37, 38, -1, 40, 117, 118, 3928 119, 120, 121, 122, -1, -1, -1, -1, -1, 109, 3929 -1, 111, -1, 37, 38, -1, 40, 117, 118, 119, 3930 120, 121, 122, 66, -1, -1, -1, -1, -1, 72, 3931 -1, -1, -1, 76, -1, -1, 79, 80, 81, 82, 3932 83, 84, 66, 86, 87, -1, -1, -1, 72, -1, 3933 -1, -1, 76, -1, -1, 79, 80, 81, 82, 83, 3934 84, -1, 86, 87, -1, -1, 109, -1, -1, -1, 3935 37, 38, -1, 40, 117, 118, 119, 120, 121, 122, 3936 -1, -1, -1, -1, -1, 109, -1, -1, -1, 37, 3937 38, -1, 40, 117, 118, 119, 120, 121, 122, 66, 3938 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, 3939 -1, -1, 79, 80, 81, 82, 83, 84, 66, 86, 3940 87, -1, -1, -1, 72, -1, -1, -1, 76, -1, 3941 -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 3942 -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, 3943 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, 3944 -1, 109, -1, -1, -1, -1, -1, -1, -1, 117, 3945 118, 119, 120, 121, 122, 4, 5, 6, 7, 8, 3819 80, 81, 82, 83, 84, 85, 86, -1, 88, 89, 3820 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3821 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3822 -1, 111, -1, 113, -1, -1, -1, -1, -1, 119, 3823 120, 121, 122, 123, 124, 4, 5, 6, 7, 8, 3946 3824 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3947 3825 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, … … 3951 3829 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3952 3830 69, -1, 71, 72, -1, 74, 75, 76, -1, -1, 3953 -1, -1, -1, -1, 83, 84, 3, 4, 5, 6,3954 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,3955 1 7, 18, 19, 20, 21, 22, 23, 24, 25, 26,3956 2 7, -1, -1, 30, 31, 32, -1, -1, -1, -1,3957 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,3831 -1, -1, -1, -1, -1, -1, 85, 86, 3, 4, 3832 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3833 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3834 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3835 -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, 3958 3836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3959 3837 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3960 67, -1, 69, -1, 71, -1, -1, 74, 75, 3, 3961 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3962 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3963 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3964 -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, 3965 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3966 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3967 -1, -1, -1, 67, -1, 69, -1, 71, -1, -1, 3968 74, 75, 4, 5, 6, 7, 8, 9, 10, 11, 3838 -1, -1, 67, -1, 69, -1, 71, -1, -1, 74, 3839 75, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3969 3840 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3970 3841 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, … … 3973 3844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3974 3845 -1, -1, -1, -1, -1, 67, -1, 69, -1, 71, 3975 -1, -1, 74, 75 3846 -1, -1, 74, 75, 4, 5, 6, 7, 8, 9, 3847 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3848 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3849 30, 31, 32, -1, -1, -1, -1, -1, -1, 39, 3850 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3851 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3852 -1, 30, 31, 32, 33, 34, 35, 67, -1, 69, 3853 39, 71, -1, -1, 74, 75, -1, -1, -1, -1, 3854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3855 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3856 -1, -1, -1, -1, -1, 74, 75 3976 3857 }; 3977 3858 … … 3984 3865 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 3985 3866 36, 39, 40, 64, 67, 69, 71, 72, 74, 75, 3986 76, 83, 84, 109, 111, 117, 118, 137, 140, 150, 3987 199, 213, 214, 215, 216, 217, 218, 219, 220, 221, 3988 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 3989 233, 234, 235, 236, 237, 238, 240, 241, 242, 243, 3990 244, 245, 247, 255, 256, 283, 284, 285, 293, 296, 3991 302, 303, 305, 307, 308, 314, 319, 323, 324, 325, 3992 326, 327, 328, 329, 330, 350, 367, 368, 369, 370, 3993 72, 139, 140, 150, 216, 218, 226, 228, 237, 241, 3994 243, 284, 82, 109, 312, 313, 314, 312, 312, 72, 3995 74, 75, 76, 138, 139, 273, 274, 294, 295, 74, 3996 75, 274, 109, 305, 11, 200, 109, 150, 319, 324, 3997 325, 326, 328, 329, 330, 112, 134, 111, 219, 226, 3998 228, 323, 327, 366, 367, 370, 371, 135, 107, 131, 3999 277, 114, 135, 174, 74, 75, 137, 272, 135, 135, 4000 135, 116, 135, 74, 75, 109, 150, 309, 318, 319, 4001 320, 321, 322, 323, 327, 331, 332, 333, 334, 335, 4002 341, 3, 28, 78, 239, 3, 5, 74, 111, 150, 4003 218, 229, 233, 235, 244, 285, 323, 327, 370, 216, 4004 218, 228, 237, 241, 243, 284, 323, 327, 33, 234, 4005 234, 229, 235, 135, 234, 229, 234, 229, 75, 109, 4006 114, 274, 285, 114, 274, 234, 229, 116, 135, 135, 4007 0, 134, 109, 174, 312, 312, 134, 111, 226, 228, 4008 368, 272, 272, 131, 228, 109, 150, 309, 319, 323, 4009 111, 150, 370, 306, 231, 314, 109, 290, 109, 109, 4010 51, 109, 37, 38, 40, 66, 72, 76, 79, 80, 4011 81, 82, 86, 87, 109, 111, 119, 120, 121, 122, 4012 136, 140, 141, 142, 143, 144, 149, 150, 151, 152, 4013 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 4014 163, 165, 168, 226, 276, 292, 366, 371, 228, 110, 4015 110, 110, 110, 110, 110, 110, 74, 75, 111, 226, 4016 272, 350, 368, 111, 117, 150, 165, 218, 219, 225, 4017 228, 232, 233, 237, 240, 241, 243, 262, 263, 267, 4018 268, 269, 270, 284, 350, 362, 363, 364, 365, 370, 4019 371, 112, 109, 323, 327, 370, 109, 116, 132, 111, 4020 114, 150, 165, 278, 278, 115, 134, 116, 132, 109, 4021 116, 132, 116, 132, 116, 132, 312, 132, 319, 320, 4022 321, 322, 332, 333, 334, 335, 228, 318, 331, 64, 4023 311, 111, 312, 349, 350, 312, 312, 174, 134, 109, 4024 312, 349, 312, 312, 228, 309, 109, 109, 227, 228, 4025 226, 228, 112, 134, 226, 366, 371, 174, 134, 272, 4026 277, 218, 233, 323, 327, 174, 134, 294, 228, 237, 4027 132, 228, 228, 292, 248, 246, 258, 274, 257, 228, 4028 294, 132, 132, 305, 134, 139, 271, 3, 135, 208, 4029 209, 223, 225, 228, 134, 311, 109, 311, 165, 319, 4030 228, 109, 134, 272, 114, 33, 34, 35, 226, 286, 4031 287, 289, 134, 128, 131, 291, 134, 229, 234, 235, 4032 272, 315, 316, 317, 109, 141, 109, 149, 109, 149, 4033 152, 109, 149, 109, 109, 149, 149, 111, 165, 170, 4034 174, 226, 275, 366, 370, 112, 134, 82, 85, 86, 4035 87, 109, 111, 113, 114, 97, 98, 99, 100, 101, 4036 102, 103, 104, 105, 106, 107, 131, 167, 152, 152, 4037 117, 123, 124, 119, 120, 88, 89, 90, 91, 125, 4038 126, 92, 93, 118, 127, 128, 94, 95, 129, 131, 4039 373, 109, 150, 345, 346, 347, 348, 349, 110, 116, 4040 109, 349, 350, 109, 349, 350, 134, 109, 226, 368, 4041 112, 134, 135, 111, 226, 228, 361, 362, 370, 371, 4042 135, 109, 111, 150, 319, 336, 337, 338, 339, 340, 4043 341, 342, 343, 344, 350, 351, 352, 353, 354, 355, 4044 356, 150, 370, 228, 135, 135, 150, 226, 228, 363, 4045 272, 226, 350, 363, 272, 109, 134, 134, 134, 112, 4046 134, 72, 111, 113, 140, 274, 278, 279, 280, 281, 4047 282, 134, 134, 134, 134, 134, 134, 309, 110, 110, 4048 110, 110, 110, 110, 110, 318, 331, 109, 277, 112, 4049 208, 134, 309, 170, 276, 170, 276, 309, 111, 208, 4050 311, 174, 134, 208, 110, 40, 111, 115, 226, 249, 4051 250, 251, 366, 114, 116, 372, 131, 259, 114, 228, 4052 264, 265, 266, 269, 270, 110, 116, 174, 134, 117, 4053 165, 134, 225, 228, 263, 362, 370, 303, 304, 109, 4054 150, 336, 110, 116, 373, 274, 286, 109, 114, 274, 4055 276, 286, 110, 116, 109, 141, 110, 130, 275, 275, 4056 275, 146, 165, 276, 275, 112, 134, 110, 116, 110, 4057 109, 150, 349, 357, 358, 359, 360, 110, 116, 165, 4058 111, 139, 145, 146, 134, 111, 139, 145, 165, 152, 4059 152, 152, 153, 153, 154, 154, 155, 155, 155, 155, 4060 156, 156, 157, 158, 159, 160, 161, 130, 170, 165, 4061 134, 346, 347, 348, 228, 345, 312, 312, 165, 276, 4062 134, 271, 134, 226, 350, 363, 228, 232, 112, 112, 4063 134, 370, 112, 109, 134, 319, 337, 338, 339, 342, 4064 352, 353, 354, 112, 134, 228, 336, 340, 351, 109, 4065 312, 355, 373, 312, 312, 373, 109, 312, 355, 312, 4066 312, 312, 312, 350, 226, 361, 371, 272, 112, 116, 4067 112, 116, 373, 226, 363, 373, 260, 261, 262, 263, 4068 260, 260, 272, 165, 134, 111, 274, 130, 116, 372, 4069 278, 111, 130, 282, 29, 210, 211, 272, 260, 139, 4070 309, 139, 311, 109, 349, 350, 109, 349, 350, 142, 4071 350, 174, 264, 110, 110, 110, 110, 112, 174, 208, 4072 174, 114, 250, 251, 112, 134, 109, 130, 150, 252, 4073 254, 318, 319, 331, 357, 116, 132, 116, 132, 274, 4074 248, 274, 115, 163, 164, 258, 135, 135, 139, 223, 4075 135, 135, 260, 109, 150, 370, 135, 115, 228, 287, 4076 288, 135, 134, 134, 109, 135, 110, 316, 170, 171, 4077 130, 132, 111, 141, 201, 202, 203, 110, 116, 110, 4078 110, 110, 110, 111, 165, 358, 359, 360, 228, 357, 4079 312, 312, 114, 152, 168, 165, 166, 169, 116, 135, 4080 134, 110, 116, 165, 134, 115, 163, 130, 264, 110, 4081 110, 110, 345, 264, 110, 260, 226, 363, 111, 117, 4082 150, 165, 165, 228, 342, 264, 110, 110, 110, 110, 4083 110, 110, 110, 7, 228, 336, 340, 351, 134, 134, 4084 373, 134, 134, 110, 135, 135, 135, 135, 277, 135, 4085 163, 164, 165, 310, 134, 278, 280, 115, 134, 212, 4086 274, 40, 41, 43, 46, 47, 48, 49, 50, 51, 4087 52, 53, 57, 61, 62, 72, 111, 127, 171, 172, 4088 173, 174, 175, 176, 178, 179, 191, 193, 194, 199, 4089 213, 308, 29, 135, 131, 277, 134, 134, 110, 135, 4090 174, 248, 132, 132, 319, 164, 228, 253, 254, 253, 4091 274, 312, 115, 259, 372, 110, 116, 112, 112, 135, 4092 228, 116, 373, 290, 110, 286, 216, 218, 226, 298, 4093 299, 300, 301, 292, 110, 110, 130, 164, 109, 110, 4094 130, 116, 139, 112, 110, 110, 110, 357, 279, 116, 4095 135, 169, 112, 139, 147, 148, 146, 135, 147, 163, 4096 168, 135, 109, 349, 350, 135, 135, 134, 135, 135, 4097 135, 165, 110, 135, 109, 349, 350, 109, 355, 109, 4098 355, 350, 227, 7, 117, 135, 165, 264, 264, 263, 4099 267, 267, 268, 116, 116, 110, 110, 112, 96, 122, 4100 135, 135, 147, 278, 165, 116, 132, 213, 217, 228, 4101 232, 109, 109, 172, 109, 109, 72, 132, 72, 132, 4102 72, 117, 171, 109, 174, 166, 166, 130, 112, 144, 4103 132, 135, 134, 135, 212, 110, 165, 264, 264, 312, 4104 110, 115, 252, 115, 134, 110, 134, 135, 309, 115, 4105 134, 135, 135, 110, 114, 201, 112, 164, 132, 201, 4106 203, 110, 109, 349, 350, 372, 166, 112, 135, 85, 4107 113, 116, 135, 112, 135, 110, 134, 110, 110, 112, 4108 112, 112, 135, 110, 134, 134, 134, 165, 165, 135, 4109 112, 135, 135, 135, 135, 134, 134, 164, 164, 112, 4110 112, 135, 135, 274, 228, 170, 170, 47, 170, 134, 4111 132, 132, 132, 170, 132, 170, 58, 59, 60, 195, 4112 196, 197, 132, 63, 132, 312, 114, 176, 115, 132, 4113 135, 135, 96, 269, 270, 110, 299, 116, 132, 116, 4114 132, 115, 297, 130, 141, 110, 110, 130, 134, 115, 4115 112, 111, 148, 111, 148, 148, 112, 112, 264, 112, 4116 264, 264, 264, 135, 135, 112, 112, 110, 110, 112, 4117 116, 96, 263, 96, 135, 112, 112, 110, 110, 109, 4118 110, 171, 192, 213, 132, 110, 109, 109, 174, 197, 4119 58, 59, 165, 172, 145, 110, 110, 114, 134, 134, 4120 298, 141, 204, 109, 132, 204, 264, 134, 134, 135, 4121 135, 135, 135, 112, 112, 134, 135, 112, 172, 44, 4122 45, 114, 182, 183, 184, 170, 172, 135, 110, 171, 4123 114, 184, 96, 134, 96, 134, 109, 109, 132, 115, 4124 134, 272, 309, 115, 116, 130, 164, 110, 135, 147, 4125 147, 110, 110, 110, 110, 267, 42, 164, 180, 181, 4126 310, 130, 134, 172, 182, 110, 132, 172, 132, 134, 4127 110, 134, 110, 134, 96, 134, 96, 134, 132, 298, 4128 141, 139, 205, 110, 132, 110, 135, 135, 172, 96, 4129 116, 130, 135, 206, 207, 213, 132, 171, 171, 206, 4130 174, 198, 226, 366, 174, 198, 110, 134, 110, 134, 4131 115, 110, 116, 112, 112, 164, 180, 183, 185, 186, 4132 134, 132, 183, 187, 188, 135, 109, 150, 309, 357, 4133 139, 135, 174, 198, 174, 198, 109, 132, 139, 172, 4134 177, 115, 183, 213, 171, 56, 177, 190, 115, 183, 4135 110, 228, 110, 135, 135, 292, 172, 177, 132, 189, 4136 190, 177, 190, 174, 174, 110, 110, 110, 189, 135, 4137 135, 174, 174, 135, 135 3867 76, 85, 86, 111, 113, 119, 120, 139, 142, 154, 3868 203, 217, 218, 219, 220, 221, 222, 223, 224, 225, 3869 226, 227, 228, 229, 230, 231, 232, 233, 234, 236, 3870 237, 238, 239, 240, 241, 242, 244, 245, 246, 247, 3871 248, 249, 251, 259, 260, 287, 288, 289, 297, 300, 3872 306, 307, 309, 311, 312, 318, 323, 327, 328, 329, 3873 330, 331, 332, 333, 334, 354, 371, 372, 373, 374, 3874 72, 141, 142, 154, 220, 222, 230, 232, 241, 245, 3875 247, 288, 81, 111, 316, 317, 318, 316, 316, 72, 3876 74, 75, 76, 140, 141, 277, 278, 298, 299, 74, 3877 75, 278, 111, 309, 11, 204, 111, 154, 323, 328, 3878 329, 330, 332, 333, 334, 114, 136, 223, 230, 232, 3879 327, 331, 370, 371, 374, 375, 137, 109, 133, 281, 3880 116, 137, 178, 74, 75, 139, 276, 137, 137, 137, 3881 118, 137, 74, 75, 111, 154, 313, 322, 323, 324, 3882 325, 326, 327, 331, 335, 336, 337, 338, 339, 345, 3883 3, 28, 78, 243, 3, 5, 74, 113, 154, 222, 3884 233, 237, 239, 248, 289, 327, 331, 374, 220, 222, 3885 232, 241, 245, 247, 288, 327, 331, 33, 238, 238, 3886 233, 239, 137, 238, 233, 238, 233, 75, 111, 116, 3887 278, 289, 116, 278, 238, 233, 118, 137, 137, 0, 3888 136, 111, 178, 316, 316, 136, 113, 230, 232, 372, 3889 276, 276, 133, 232, 111, 154, 313, 323, 327, 113, 3890 154, 374, 310, 235, 318, 111, 294, 111, 111, 51, 3891 111, 37, 38, 40, 66, 72, 76, 79, 80, 81, 3892 82, 83, 84, 88, 89, 111, 113, 121, 122, 123, 3893 124, 138, 142, 143, 144, 145, 146, 153, 154, 155, 3894 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 3895 166, 167, 169, 172, 230, 280, 296, 370, 375, 232, 3896 112, 112, 112, 112, 112, 112, 112, 113, 230, 354, 3897 372, 113, 119, 154, 169, 222, 223, 229, 232, 236, 3898 237, 241, 244, 245, 247, 266, 267, 271, 272, 273, 3899 274, 288, 354, 366, 367, 368, 369, 374, 375, 111, 3900 327, 331, 374, 111, 118, 134, 113, 116, 154, 169, 3901 282, 282, 117, 136, 118, 134, 111, 118, 134, 118, 3902 134, 118, 134, 316, 134, 323, 324, 325, 326, 336, 3903 337, 338, 339, 232, 322, 335, 64, 315, 113, 316, 3904 353, 354, 316, 316, 178, 136, 111, 316, 353, 316, 3905 316, 232, 313, 111, 111, 231, 232, 230, 232, 136, 3906 230, 370, 375, 178, 136, 276, 281, 222, 237, 327, 3907 331, 178, 136, 298, 232, 241, 134, 232, 232, 296, 3908 252, 250, 262, 278, 261, 232, 298, 134, 134, 309, 3909 136, 141, 275, 3, 137, 212, 213, 227, 229, 232, 3910 136, 315, 111, 315, 169, 323, 232, 111, 136, 276, 3911 116, 33, 34, 35, 230, 290, 291, 293, 136, 130, 3912 133, 295, 136, 233, 238, 239, 276, 319, 320, 321, 3913 111, 143, 111, 153, 111, 153, 156, 111, 153, 111, 3914 111, 153, 153, 113, 169, 174, 178, 230, 279, 370, 3915 374, 136, 81, 83, 87, 88, 89, 111, 113, 115, 3916 116, 99, 100, 101, 102, 103, 104, 105, 106, 107, 3917 108, 109, 133, 171, 156, 156, 119, 125, 126, 121, 3918 122, 90, 91, 92, 93, 127, 128, 94, 95, 120, 3919 129, 130, 96, 97, 131, 111, 154, 349, 350, 351, 3920 352, 353, 112, 118, 111, 353, 354, 111, 353, 354, 3921 136, 230, 372, 114, 136, 137, 230, 232, 365, 366, 3922 374, 375, 137, 111, 113, 154, 323, 340, 341, 342, 3923 343, 344, 345, 346, 347, 348, 354, 355, 356, 357, 3924 358, 359, 360, 154, 374, 232, 137, 137, 154, 230, 3925 232, 367, 276, 230, 354, 367, 276, 136, 136, 136, 3926 136, 72, 113, 115, 142, 278, 282, 283, 284, 285, 3927 286, 136, 136, 136, 136, 136, 136, 313, 112, 112, 3928 112, 112, 112, 112, 112, 322, 335, 111, 281, 114, 3929 212, 136, 313, 174, 280, 174, 280, 313, 113, 212, 3930 315, 178, 136, 212, 112, 40, 113, 117, 230, 253, 3931 254, 255, 370, 116, 118, 376, 133, 263, 116, 232, 3932 268, 269, 270, 273, 274, 112, 118, 178, 136, 119, 3933 169, 136, 229, 232, 267, 366, 374, 307, 308, 111, 3934 154, 340, 112, 118, 133, 377, 278, 290, 111, 116, 3935 278, 280, 290, 112, 118, 111, 143, 112, 132, 279, 3936 279, 279, 148, 169, 280, 279, 136, 112, 118, 112, 3937 111, 154, 353, 361, 362, 363, 364, 112, 118, 169, 3938 113, 141, 147, 148, 136, 113, 141, 147, 169, 156, 3939 156, 156, 157, 157, 158, 158, 159, 159, 159, 159, 3940 160, 160, 161, 162, 163, 164, 165, 132, 174, 136, 3941 350, 351, 352, 232, 349, 316, 316, 169, 280, 136, 3942 275, 230, 354, 367, 232, 236, 114, 374, 114, 111, 3943 136, 323, 341, 342, 343, 346, 356, 357, 358, 114, 3944 136, 232, 340, 344, 355, 111, 316, 359, 377, 316, 3945 316, 377, 111, 316, 359, 316, 316, 316, 316, 354, 3946 230, 365, 375, 276, 114, 118, 114, 118, 377, 230, 3947 367, 377, 264, 265, 266, 267, 264, 276, 169, 136, 3948 113, 278, 132, 118, 376, 282, 113, 132, 286, 29, 3949 214, 215, 276, 264, 141, 313, 141, 315, 111, 353, 3950 354, 111, 353, 354, 144, 354, 178, 268, 112, 112, 3951 112, 112, 136, 178, 212, 178, 116, 254, 255, 136, 3952 111, 132, 154, 256, 258, 322, 323, 335, 361, 118, 3953 134, 118, 134, 278, 252, 278, 117, 167, 168, 262, 3954 137, 137, 141, 227, 137, 137, 264, 111, 154, 374, 3955 137, 117, 232, 291, 169, 292, 137, 136, 136, 111, 3956 137, 112, 320, 174, 175, 132, 134, 113, 143, 205, 3957 206, 207, 112, 118, 112, 112, 112, 112, 169, 362, 3958 363, 364, 232, 361, 316, 316, 116, 156, 169, 170, 3959 173, 118, 136, 112, 118, 169, 136, 117, 167, 132, 3960 268, 112, 112, 112, 349, 268, 112, 230, 367, 113, 3961 119, 154, 169, 169, 232, 346, 268, 112, 112, 112, 3962 112, 112, 112, 112, 7, 232, 340, 344, 355, 136, 3963 136, 377, 136, 136, 137, 137, 137, 137, 281, 167, 3964 168, 169, 314, 136, 282, 284, 117, 136, 216, 278, 3965 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 3966 53, 57, 61, 62, 72, 129, 175, 176, 177, 178, 3967 179, 180, 182, 183, 195, 197, 198, 203, 217, 312, 3968 29, 137, 133, 281, 136, 136, 112, 137, 178, 252, 3969 134, 134, 323, 168, 232, 257, 258, 257, 278, 316, 3970 117, 263, 376, 112, 118, 114, 114, 137, 232, 118, 3971 377, 294, 112, 290, 220, 222, 230, 302, 303, 304, 3972 305, 296, 112, 112, 132, 168, 111, 112, 132, 118, 3973 141, 112, 112, 112, 361, 283, 118, 137, 173, 79, 3974 82, 84, 141, 149, 150, 151, 148, 137, 149, 167, 3975 137, 111, 353, 354, 137, 136, 137, 137, 137, 169, 3976 112, 137, 111, 353, 354, 111, 359, 111, 359, 354, 3977 231, 7, 119, 137, 169, 268, 268, 267, 271, 271, 3978 272, 112, 118, 118, 112, 98, 124, 137, 137, 149, 3979 282, 169, 118, 134, 217, 221, 232, 236, 111, 111, 3980 176, 111, 111, 72, 134, 72, 134, 72, 119, 175, 3981 111, 178, 170, 170, 132, 146, 134, 137, 136, 137, 3982 216, 112, 169, 268, 268, 316, 112, 117, 256, 117, 3983 136, 112, 136, 137, 313, 117, 136, 137, 137, 112, 3984 116, 205, 114, 168, 134, 205, 207, 112, 111, 353, 3985 354, 376, 170, 114, 137, 152, 113, 150, 152, 152, 3986 118, 137, 87, 115, 114, 137, 112, 136, 112, 114, 3987 114, 114, 137, 112, 136, 136, 136, 169, 169, 137, 3988 114, 137, 137, 137, 137, 136, 136, 168, 168, 114, 3989 114, 137, 278, 232, 174, 174, 47, 174, 136, 134, 3990 134, 134, 174, 134, 174, 58, 59, 60, 199, 200, 3991 201, 134, 63, 134, 316, 116, 180, 117, 134, 137, 3992 137, 98, 273, 274, 112, 303, 118, 134, 118, 134, 3993 117, 301, 132, 143, 112, 112, 132, 136, 117, 114, 3994 83, 136, 150, 114, 113, 150, 113, 150, 114, 268, 3995 114, 268, 268, 268, 137, 137, 114, 114, 112, 112, 3996 114, 118, 98, 267, 98, 137, 114, 112, 112, 111, 3997 112, 175, 196, 217, 134, 112, 111, 111, 178, 201, 3998 58, 59, 169, 176, 147, 112, 112, 116, 136, 136, 3999 302, 143, 208, 111, 134, 208, 268, 149, 136, 136, 4000 137, 137, 137, 137, 114, 114, 136, 137, 114, 176, 4001 44, 45, 116, 186, 187, 188, 174, 176, 137, 112, 4002 175, 116, 188, 98, 136, 98, 136, 111, 111, 134, 4003 117, 136, 276, 313, 117, 118, 132, 168, 112, 137, 4004 137, 149, 149, 112, 112, 112, 112, 271, 42, 168, 4005 184, 185, 314, 132, 136, 176, 186, 112, 134, 176, 4006 134, 136, 112, 136, 112, 136, 98, 136, 98, 136, 4007 134, 302, 143, 141, 209, 112, 134, 112, 114, 137, 4008 137, 176, 98, 118, 132, 137, 210, 211, 217, 134, 4009 175, 175, 210, 178, 202, 230, 370, 178, 202, 112, 4010 136, 112, 136, 117, 112, 118, 114, 114, 168, 184, 4011 187, 189, 190, 136, 134, 187, 191, 192, 137, 111, 4012 154, 313, 361, 141, 137, 178, 202, 178, 202, 111, 4013 134, 141, 176, 181, 117, 187, 217, 175, 56, 181, 4014 194, 117, 187, 112, 232, 112, 137, 137, 296, 176, 4015 181, 134, 193, 194, 181, 194, 178, 178, 112, 112, 4016 112, 193, 137, 137, 178, 178, 137, 137 4138 4017 }; 4139 4018 … … 4972 4851 4973 4852 /* Line 1806 of yacc.c */ 4974 #line 30 1"parser.yy"4853 #line 306 "parser.yy" 4975 4854 { typedefTable.enterScope(); } 4976 4855 break; … … 4979 4858 4980 4859 /* Line 1806 of yacc.c */ 4981 #line 3 05"parser.yy"4860 #line 310 "parser.yy" 4982 4861 { typedefTable.leaveScope(); } 4983 4862 break; … … 4986 4865 4987 4866 /* Line 1806 of yacc.c */ 4988 #line 31 2"parser.yy"4867 #line 317 "parser.yy" 4989 4868 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 4990 4869 break; … … 4993 4872 4994 4873 /* Line 1806 of yacc.c */ 4995 #line 31 3"parser.yy"4874 #line 318 "parser.yy" 4996 4875 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4997 4876 break; … … 5000 4879 5001 4880 /* Line 1806 of yacc.c */ 5002 #line 314 "parser.yy" 4881 #line 319 "parser.yy" 4882 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4883 break; 4884 4885 case 7: 4886 4887 /* Line 1806 of yacc.c */ 4888 #line 320 "parser.yy" 4889 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4890 break; 4891 4892 case 8: 4893 4894 /* Line 1806 of yacc.c */ 4895 #line 321 "parser.yy" 5003 4896 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 5004 4897 break; 5005 4898 5006 case 1 6:5007 5008 /* Line 1806 of yacc.c */ 5009 #line 3 39"parser.yy"4899 case 18: 4900 4901 /* Line 1806 of yacc.c */ 4902 #line 346 "parser.yy" 5010 4903 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 5011 4904 break; 5012 4905 5013 case 1 7:5014 5015 /* Line 1806 of yacc.c */ 5016 #line 3 43"parser.yy"4906 case 19: 4907 4908 /* Line 1806 of yacc.c */ 4909 #line 350 "parser.yy" 5017 4910 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 5018 4911 break; 5019 4912 5020 case 18:5021 5022 /* Line 1806 of yacc.c */ 5023 #line 3 45"parser.yy"4913 case 20: 4914 4915 /* Line 1806 of yacc.c */ 4916 #line 352 "parser.yy" 5024 4917 { 5025 4918 appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) ); // append 2nd juxtaposed string to 1st … … 5029 4922 break; 5030 4923 5031 case 19:5032 5033 /* Line 1806 of yacc.c */ 5034 #line 3 56"parser.yy"4924 case 21: 4925 4926 /* Line 1806 of yacc.c */ 4927 #line 363 "parser.yy" 5035 4928 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5036 4929 break; 5037 4930 5038 case 2 0:5039 5040 /* Line 1806 of yacc.c */ 5041 #line 3 58"parser.yy"4931 case 22: 4932 4933 /* Line 1806 of yacc.c */ 4934 #line 365 "parser.yy" 5042 4935 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5043 4936 break; 5044 4937 5045 case 2 1:5046 5047 /* Line 1806 of yacc.c */ 5048 #line 36 0"parser.yy"4938 case 24: 4939 4940 /* Line 1806 of yacc.c */ 4941 #line 368 "parser.yy" 5049 4942 { (yyval.en) = (yyvsp[(2) - (3)].en); } 5050 4943 break; 5051 4944 5052 case 2 2:5053 5054 /* Line 1806 of yacc.c */ 5055 #line 3 62"parser.yy"4945 case 25: 4946 4947 /* Line 1806 of yacc.c */ 4948 #line 370 "parser.yy" 5056 4949 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 5057 4950 break; 5058 4951 5059 case 2 4:5060 5061 /* Line 1806 of yacc.c */ 5062 #line 3 72"parser.yy"4952 case 27: 4953 4954 /* Line 1806 of yacc.c */ 4955 #line 380 "parser.yy" 5063 4956 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 5064 4957 break; 5065 4958 5066 case 2 5:5067 5068 /* Line 1806 of yacc.c */ 5069 #line 3 74"parser.yy"4959 case 28: 4960 4961 /* Line 1806 of yacc.c */ 4962 #line 382 "parser.yy" 5070 4963 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 5071 4964 break; 5072 4965 5073 case 2 6:5074 5075 /* Line 1806 of yacc.c */ 5076 #line 3 78"parser.yy"4966 case 29: 4967 4968 /* Line 1806 of yacc.c */ 4969 #line 384 "parser.yy" 5077 4970 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5078 4971 break; 5079 4972 5080 case 28:5081 5082 /* Line 1806 of yacc.c */ 5083 #line 38 1"parser.yy"4973 case 32: 4974 4975 /* Line 1806 of yacc.c */ 4976 #line 388 "parser.yy" 5084 4977 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5085 4978 break; 5086 4979 5087 case 3 0:5088 5089 /* Line 1806 of yacc.c */ 5090 #line 3 84"parser.yy"4980 case 34: 4981 4982 /* Line 1806 of yacc.c */ 4983 #line 391 "parser.yy" 5091 4984 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 5092 4985 break; 5093 4986 5094 case 3 1:5095 5096 /* Line 1806 of yacc.c */ 5097 #line 3 86"parser.yy"4987 case 35: 4988 4989 /* Line 1806 of yacc.c */ 4990 #line 393 "parser.yy" 5098 4991 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 5099 4992 break; 5100 4993 5101 case 3 2:5102 5103 /* Line 1806 of yacc.c */ 5104 #line 3 88"parser.yy"4994 case 36: 4995 4996 /* Line 1806 of yacc.c */ 4997 #line 395 "parser.yy" 5105 4998 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 5106 4999 break; 5107 5000 5108 case 3 3:5109 5110 /* Line 1806 of yacc.c */ 5111 #line 39 0"parser.yy"5001 case 37: 5002 5003 /* Line 1806 of yacc.c */ 5004 #line 397 "parser.yy" 5112 5005 { 5113 5006 Token fn; … … 5117 5010 break; 5118 5011 5119 case 3 5:5120 5121 /* Line 1806 of yacc.c */ 5122 #line 40 0"parser.yy"5012 case 39: 5013 5014 /* Line 1806 of yacc.c */ 5015 #line 407 "parser.yy" 5123 5016 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 5124 5017 break; 5125 5018 5126 case 36:5127 5128 /* Line 1806 of yacc.c */ 5129 #line 4 05"parser.yy"5019 case 40: 5020 5021 /* Line 1806 of yacc.c */ 5022 #line 412 "parser.yy" 5130 5023 { (yyval.en) = 0; } 5131 5024 break; 5132 5025 5133 case 39:5134 5135 /* Line 1806 of yacc.c */ 5136 #line 41 1"parser.yy"5026 case 43: 5027 5028 /* Line 1806 of yacc.c */ 5029 #line 418 "parser.yy" 5137 5030 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5138 5031 break; 5139 5032 5140 case 4 0:5141 5142 /* Line 1806 of yacc.c */ 5143 #line 4 16"parser.yy"5033 case 44: 5034 5035 /* Line 1806 of yacc.c */ 5036 #line 423 "parser.yy" 5144 5037 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5145 5038 break; 5146 5039 5147 case 41: 5148 5149 /* Line 1806 of yacc.c */ 5150 #line 420 "parser.yy" 5040 case 45: 5041 5042 /* Line 1806 of yacc.c */ 5043 #line 425 "parser.yy" 5044 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(2) - (2)].en), build_varref( (yyvsp[(1) - (2)].tok) ) ) ); } 5045 break; 5046 5047 case 46: 5048 5049 /* Line 1806 of yacc.c */ 5050 #line 427 "parser.yy" 5051 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(4) - (6)].en), build_varref( (yyvsp[(1) - (6)].tok) ) ) ); } 5052 break; 5053 5054 case 47: 5055 5056 /* Line 1806 of yacc.c */ 5057 #line 429 "parser.yy" 5151 5058 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 5152 5059 break; 5153 5060 5154 case 4 2:5155 5156 /* Line 1806 of yacc.c */ 5157 #line 4 22"parser.yy"5061 case 48: 5062 5063 /* Line 1806 of yacc.c */ 5064 #line 431 "parser.yy" 5158 5065 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 5159 5066 break; 5160 5067 5161 case 4 3:5162 5163 /* Line 1806 of yacc.c */ 5164 #line 4 24"parser.yy"5068 case 49: 5069 5070 /* Line 1806 of yacc.c */ 5071 #line 433 "parser.yy" 5165 5072 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 5166 5073 break; 5167 5074 5168 case 44:5169 5170 /* Line 1806 of yacc.c */ 5171 #line 4 26"parser.yy"5075 case 50: 5076 5077 /* Line 1806 of yacc.c */ 5078 #line 435 "parser.yy" 5172 5079 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 5173 5080 break; 5174 5081 5175 case 46: 5176 5177 /* Line 1806 of yacc.c */ 5178 #line 434 "parser.yy" 5082 case 51: 5083 5084 /* Line 1806 of yacc.c */ 5085 #line 440 "parser.yy" 5086 { (yyval.tok) = (yyvsp[(1) - (2)].tok); } 5087 break; 5088 5089 case 52: 5090 5091 /* Line 1806 of yacc.c */ 5092 #line 442 "parser.yy" 5093 { (yyval.tok) = (yyvsp[(1) - (2)].tok); } 5094 break; 5095 5096 case 53: 5097 5098 /* Line 1806 of yacc.c */ 5099 #line 444 "parser.yy" 5100 { (yyval.tok) = (yyvsp[(1) - (2)].tok); } 5101 break; 5102 5103 case 57: 5104 5105 /* Line 1806 of yacc.c */ 5106 #line 457 "parser.yy" 5179 5107 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5180 5108 break; 5181 5109 5182 case 47:5183 5184 /* Line 1806 of yacc.c */ 5185 #line 4 36"parser.yy"5110 case 58: 5111 5112 /* Line 1806 of yacc.c */ 5113 #line 459 "parser.yy" 5186 5114 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5187 5115 break; 5188 5116 5189 case 48:5190 5191 /* Line 1806 of yacc.c */ 5192 #line 4 38"parser.yy"5117 case 59: 5118 5119 /* Line 1806 of yacc.c */ 5120 #line 461 "parser.yy" 5193 5121 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5194 5122 break; 5195 5123 5196 case 49:5197 5198 /* Line 1806 of yacc.c */ 5199 #line 4 43"parser.yy"5124 case 60: 5125 5126 /* Line 1806 of yacc.c */ 5127 #line 466 "parser.yy" 5200 5128 { 5201 5129 switch ( (yyvsp[(1) - (2)].op) ) { … … 5212 5140 break; 5213 5141 5214 case 50:5215 5216 /* Line 1806 of yacc.c */ 5217 #line 4 56"parser.yy"5142 case 61: 5143 5144 /* Line 1806 of yacc.c */ 5145 #line 479 "parser.yy" 5218 5146 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 5219 5147 break; 5220 5148 5221 case 51:5222 5223 /* Line 1806 of yacc.c */ 5224 #line 4 58"parser.yy"5149 case 62: 5150 5151 /* Line 1806 of yacc.c */ 5152 #line 481 "parser.yy" 5225 5153 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 5226 5154 break; 5227 5155 5228 case 52:5229 5230 /* Line 1806 of yacc.c */ 5231 #line 4 60"parser.yy"5156 case 63: 5157 5158 /* Line 1806 of yacc.c */ 5159 #line 483 "parser.yy" 5232 5160 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 5233 5161 break; 5234 5162 5235 case 53:5236 5237 /* Line 1806 of yacc.c */ 5238 #line 4 62"parser.yy"5163 case 64: 5164 5165 /* Line 1806 of yacc.c */ 5166 #line 485 "parser.yy" 5239 5167 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5240 5168 break; 5241 5169 5242 case 54:5243 5244 /* Line 1806 of yacc.c */ 5245 #line 4 64"parser.yy"5170 case 65: 5171 5172 /* Line 1806 of yacc.c */ 5173 #line 487 "parser.yy" 5246 5174 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 5247 5175 break; 5248 5176 5249 case 55:5250 5251 /* Line 1806 of yacc.c */ 5252 #line 4 66"parser.yy"5177 case 66: 5178 5179 /* Line 1806 of yacc.c */ 5180 #line 489 "parser.yy" 5253 5181 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5254 5182 break; 5255 5183 5256 case 56:5257 5258 /* Line 1806 of yacc.c */ 5259 #line 4 68"parser.yy"5184 case 67: 5185 5186 /* Line 1806 of yacc.c */ 5187 #line 491 "parser.yy" 5260 5188 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 5261 5189 break; 5262 5190 5263 case 57:5264 5265 /* Line 1806 of yacc.c */ 5266 #line 4 70"parser.yy"5191 case 68: 5192 5193 /* Line 1806 of yacc.c */ 5194 #line 493 "parser.yy" 5267 5195 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 5268 5196 break; 5269 5197 5270 case 58:5271 5272 /* Line 1806 of yacc.c */ 5273 #line 4 72"parser.yy"5198 case 69: 5199 5200 /* Line 1806 of yacc.c */ 5201 #line 495 "parser.yy" 5274 5202 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 5275 5203 break; 5276 5204 5277 case 59:5278 5279 /* Line 1806 of yacc.c */ 5280 #line 4 74"parser.yy"5205 case 70: 5206 5207 /* Line 1806 of yacc.c */ 5208 #line 497 "parser.yy" 5281 5209 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5282 5210 break; 5283 5211 5284 case 60:5285 5286 /* Line 1806 of yacc.c */ 5287 #line 4 76"parser.yy"5212 case 71: 5213 5214 /* Line 1806 of yacc.c */ 5215 #line 499 "parser.yy" 5288 5216 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5289 5217 break; 5290 5218 5291 case 61:5292 5293 /* Line 1806 of yacc.c */ 5294 #line 482"parser.yy"5219 case 72: 5220 5221 /* Line 1806 of yacc.c */ 5222 #line 505 "parser.yy" 5295 5223 { (yyval.op) = OperKinds::PointTo; } 5296 5224 break; 5297 5225 5298 case 62:5299 5300 /* Line 1806 of yacc.c */ 5301 #line 483"parser.yy"5226 case 73: 5227 5228 /* Line 1806 of yacc.c */ 5229 #line 506 "parser.yy" 5302 5230 { (yyval.op) = OperKinds::AddressOf; } 5303 5231 break; 5304 5232 5305 case 63:5306 5307 /* Line 1806 of yacc.c */ 5308 #line 489"parser.yy"5233 case 74: 5234 5235 /* Line 1806 of yacc.c */ 5236 #line 512 "parser.yy" 5309 5237 { (yyval.op) = OperKinds::UnPlus; } 5310 5238 break; 5311 5239 5312 case 64:5313 5314 /* Line 1806 of yacc.c */ 5315 #line 490"parser.yy"5240 case 75: 5241 5242 /* Line 1806 of yacc.c */ 5243 #line 513 "parser.yy" 5316 5244 { (yyval.op) = OperKinds::UnMinus; } 5317 5245 break; 5318 5246 5319 case 65:5320 5321 /* Line 1806 of yacc.c */ 5322 #line 491"parser.yy"5247 case 76: 5248 5249 /* Line 1806 of yacc.c */ 5250 #line 514 "parser.yy" 5323 5251 { (yyval.op) = OperKinds::Neg; } 5324 5252 break; 5325 5253 5326 case 66:5327 5328 /* Line 1806 of yacc.c */ 5329 #line 492"parser.yy"5254 case 77: 5255 5256 /* Line 1806 of yacc.c */ 5257 #line 515 "parser.yy" 5330 5258 { (yyval.op) = OperKinds::BitNeg; } 5331 5259 break; 5332 5260 5333 case 68:5334 5335 /* Line 1806 of yacc.c */ 5336 #line 498"parser.yy"5261 case 79: 5262 5263 /* Line 1806 of yacc.c */ 5264 #line 521 "parser.yy" 5337 5265 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5338 5266 break; 5339 5267 5340 case 69: 5341 5342 /* Line 1806 of yacc.c */ 5343 #line 500 "parser.yy" 5344 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5345 break; 5346 5347 case 71: 5348 5349 /* Line 1806 of yacc.c */ 5350 #line 506 "parser.yy" 5268 case 81: 5269 5270 /* Line 1806 of yacc.c */ 5271 #line 529 "parser.yy" 5351 5272 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5352 5273 break; 5353 5274 5354 case 72:5355 5356 /* Line 1806 of yacc.c */ 5357 #line 5 08"parser.yy"5275 case 82: 5276 5277 /* Line 1806 of yacc.c */ 5278 #line 531 "parser.yy" 5358 5279 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5359 5280 break; 5360 5281 5361 case 73:5362 5363 /* Line 1806 of yacc.c */ 5364 #line 5 10"parser.yy"5282 case 83: 5283 5284 /* Line 1806 of yacc.c */ 5285 #line 533 "parser.yy" 5365 5286 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5366 5287 break; 5367 5288 5368 case 75:5369 5370 /* Line 1806 of yacc.c */ 5371 #line 5 16"parser.yy"5289 case 85: 5290 5291 /* Line 1806 of yacc.c */ 5292 #line 539 "parser.yy" 5372 5293 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5373 5294 break; 5374 5295 5375 case 76:5376 5377 /* Line 1806 of yacc.c */ 5378 #line 5 18"parser.yy"5296 case 86: 5297 5298 /* Line 1806 of yacc.c */ 5299 #line 541 "parser.yy" 5379 5300 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5380 5301 break; 5381 5302 5382 case 78:5383 5384 /* Line 1806 of yacc.c */ 5385 #line 5 24"parser.yy"5303 case 88: 5304 5305 /* Line 1806 of yacc.c */ 5306 #line 547 "parser.yy" 5386 5307 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5387 5308 break; 5388 5309 5389 case 79:5390 5391 /* Line 1806 of yacc.c */ 5392 #line 5 26"parser.yy"5310 case 89: 5311 5312 /* Line 1806 of yacc.c */ 5313 #line 549 "parser.yy" 5393 5314 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5394 5315 break; 5395 5316 5396 case 81:5397 5398 /* Line 1806 of yacc.c */ 5399 #line 5 32"parser.yy"5317 case 91: 5318 5319 /* Line 1806 of yacc.c */ 5320 #line 555 "parser.yy" 5400 5321 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5401 5322 break; 5402 5323 5403 case 82:5404 5405 /* Line 1806 of yacc.c */ 5406 #line 5 34"parser.yy"5324 case 92: 5325 5326 /* Line 1806 of yacc.c */ 5327 #line 557 "parser.yy" 5407 5328 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5408 5329 break; 5409 5330 5410 case 83:5411 5412 /* Line 1806 of yacc.c */ 5413 #line 5 36"parser.yy"5331 case 93: 5332 5333 /* Line 1806 of yacc.c */ 5334 #line 559 "parser.yy" 5414 5335 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5415 5336 break; 5416 5337 5417 case 84:5418 5419 /* Line 1806 of yacc.c */ 5420 #line 5 38"parser.yy"5338 case 94: 5339 5340 /* Line 1806 of yacc.c */ 5341 #line 561 "parser.yy" 5421 5342 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5422 5343 break; 5423 5344 5424 case 86:5425 5426 /* Line 1806 of yacc.c */ 5427 #line 5 44"parser.yy"5345 case 96: 5346 5347 /* Line 1806 of yacc.c */ 5348 #line 567 "parser.yy" 5428 5349 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5429 5350 break; 5430 5351 5431 case 87:5432 5433 /* Line 1806 of yacc.c */ 5434 #line 5 46"parser.yy"5352 case 97: 5353 5354 /* Line 1806 of yacc.c */ 5355 #line 569 "parser.yy" 5435 5356 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5436 5357 break; 5437 5358 5438 case 89:5439 5440 /* Line 1806 of yacc.c */ 5441 #line 5 52"parser.yy"5359 case 99: 5360 5361 /* Line 1806 of yacc.c */ 5362 #line 575 "parser.yy" 5442 5363 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5443 5364 break; 5444 5365 5445 case 91:5446 5447 /* Line 1806 of yacc.c */ 5448 #line 5 58"parser.yy"5366 case 101: 5367 5368 /* Line 1806 of yacc.c */ 5369 #line 581 "parser.yy" 5449 5370 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5450 5371 break; 5451 5372 5452 case 93:5453 5454 /* Line 1806 of yacc.c */ 5455 #line 5 64"parser.yy"5373 case 103: 5374 5375 /* Line 1806 of yacc.c */ 5376 #line 587 "parser.yy" 5456 5377 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5457 5378 break; 5458 5379 5459 case 95:5460 5461 /* Line 1806 of yacc.c */ 5462 #line 5 70"parser.yy"5380 case 105: 5381 5382 /* Line 1806 of yacc.c */ 5383 #line 593 "parser.yy" 5463 5384 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5464 5385 break; 5465 5386 5466 case 97:5467 5468 /* Line 1806 of yacc.c */ 5469 #line 5 76"parser.yy"5387 case 107: 5388 5389 /* Line 1806 of yacc.c */ 5390 #line 599 "parser.yy" 5470 5391 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5471 5392 break; 5472 5393 5473 case 99:5474 5475 /* Line 1806 of yacc.c */ 5476 #line 582"parser.yy"5394 case 109: 5395 5396 /* Line 1806 of yacc.c */ 5397 #line 605 "parser.yy" 5477 5398 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5478 5399 break; 5479 5400 5480 case 1 00:5481 5482 /* Line 1806 of yacc.c */ 5483 #line 585"parser.yy"5401 case 110: 5402 5403 /* Line 1806 of yacc.c */ 5404 #line 608 "parser.yy" 5484 5405 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5485 5406 break; 5486 5407 5487 case 101: 5488 5489 /* Line 1806 of yacc.c */ 5490 #line 587 "parser.yy" 5491 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5492 break; 5493 5494 case 104: 5495 5496 /* Line 1806 of yacc.c */ 5497 #line 598 "parser.yy" 5408 case 113: 5409 5410 /* Line 1806 of yacc.c */ 5411 #line 621 "parser.yy" 5498 5412 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5499 5413 break; 5500 5414 5501 case 105: 5502 5503 /* Line 1806 of yacc.c */ 5504 #line 600 "parser.yy" 5505 { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ) ); } 5506 break; 5507 5508 case 106: 5509 5510 /* Line 1806 of yacc.c */ 5511 #line 605 "parser.yy" 5415 case 114: 5416 5417 /* Line 1806 of yacc.c */ 5418 #line 628 "parser.yy" 5512 5419 { (yyval.en) = nullptr; } 5513 5420 break; 5514 5421 5515 case 1 08:5516 5517 /* Line 1806 of yacc.c */ 5518 #line 6 10"parser.yy"5422 case 116: 5423 5424 /* Line 1806 of yacc.c */ 5425 #line 633 "parser.yy" 5519 5426 { (yyval.op) = OperKinds::Assign; } 5520 5427 break; 5521 5428 5522 case 1 09:5523 5524 /* Line 1806 of yacc.c */ 5525 #line 6 11"parser.yy"5429 case 117: 5430 5431 /* Line 1806 of yacc.c */ 5432 #line 634 "parser.yy" 5526 5433 { (yyval.op) = OperKinds::AtAssn; } 5527 5434 break; 5528 5435 5529 case 11 0:5530 5531 /* Line 1806 of yacc.c */ 5532 #line 6 12"parser.yy"5436 case 118: 5437 5438 /* Line 1806 of yacc.c */ 5439 #line 635 "parser.yy" 5533 5440 { (yyval.op) = OperKinds::MulAssn; } 5534 5441 break; 5535 5442 5536 case 11 1:5537 5538 /* Line 1806 of yacc.c */ 5539 #line 6 13"parser.yy"5443 case 119: 5444 5445 /* Line 1806 of yacc.c */ 5446 #line 636 "parser.yy" 5540 5447 { (yyval.op) = OperKinds::DivAssn; } 5541 5448 break; 5542 5449 5543 case 1 12:5544 5545 /* Line 1806 of yacc.c */ 5546 #line 6 14"parser.yy"5450 case 120: 5451 5452 /* Line 1806 of yacc.c */ 5453 #line 637 "parser.yy" 5547 5454 { (yyval.op) = OperKinds::ModAssn; } 5548 5455 break; 5549 5456 5550 case 1 13:5551 5552 /* Line 1806 of yacc.c */ 5553 #line 6 15"parser.yy"5457 case 121: 5458 5459 /* Line 1806 of yacc.c */ 5460 #line 638 "parser.yy" 5554 5461 { (yyval.op) = OperKinds::PlusAssn; } 5555 5462 break; 5556 5463 5557 case 1 14:5558 5559 /* Line 1806 of yacc.c */ 5560 #line 6 16"parser.yy"5464 case 122: 5465 5466 /* Line 1806 of yacc.c */ 5467 #line 639 "parser.yy" 5561 5468 { (yyval.op) = OperKinds::MinusAssn; } 5562 5469 break; 5563 5470 5564 case 1 15:5565 5566 /* Line 1806 of yacc.c */ 5567 #line 6 17"parser.yy"5471 case 123: 5472 5473 /* Line 1806 of yacc.c */ 5474 #line 640 "parser.yy" 5568 5475 { (yyval.op) = OperKinds::LSAssn; } 5569 5476 break; 5570 5477 5571 case 1 16:5572 5573 /* Line 1806 of yacc.c */ 5574 #line 6 18"parser.yy"5478 case 124: 5479 5480 /* Line 1806 of yacc.c */ 5481 #line 641 "parser.yy" 5575 5482 { (yyval.op) = OperKinds::RSAssn; } 5576 5483 break; 5577 5484 5578 case 1 17:5579 5580 /* Line 1806 of yacc.c */ 5581 #line 6 19"parser.yy"5485 case 125: 5486 5487 /* Line 1806 of yacc.c */ 5488 #line 642 "parser.yy" 5582 5489 { (yyval.op) = OperKinds::AndAssn; } 5583 5490 break; 5584 5491 5585 case 1 18:5586 5587 /* Line 1806 of yacc.c */ 5588 #line 6 20"parser.yy"5492 case 126: 5493 5494 /* Line 1806 of yacc.c */ 5495 #line 643 "parser.yy" 5589 5496 { (yyval.op) = OperKinds::ERAssn; } 5590 5497 break; 5591 5498 5592 case 1 19:5593 5594 /* Line 1806 of yacc.c */ 5595 #line 6 21"parser.yy"5499 case 127: 5500 5501 /* Line 1806 of yacc.c */ 5502 #line 644 "parser.yy" 5596 5503 { (yyval.op) = OperKinds::OrAssn; } 5597 5504 break; 5598 5505 5599 case 120: 5600 5601 /* Line 1806 of yacc.c */ 5602 #line 628 "parser.yy" 5603 { (yyval.en) = new ExpressionNode( build_tuple() ); } 5604 break; 5605 5606 case 121: 5607 5608 /* Line 1806 of yacc.c */ 5609 #line 630 "parser.yy" 5610 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); } 5611 break; 5612 5613 case 122: 5614 5615 /* Line 1806 of yacc.c */ 5616 #line 632 "parser.yy" 5506 case 128: 5507 5508 /* Line 1806 of yacc.c */ 5509 #line 655 "parser.yy" 5617 5510 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5618 5511 break; 5619 5512 5620 case 12 3:5621 5622 /* Line 1806 of yacc.c */ 5623 #line 6 34"parser.yy"5513 case 129: 5514 5515 /* Line 1806 of yacc.c */ 5516 #line 657 "parser.yy" 5624 5517 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5625 5518 break; 5626 5519 5627 case 1 25:5628 5629 /* Line 1806 of yacc.c */ 5630 #line 6 40"parser.yy"5520 case 131: 5521 5522 /* Line 1806 of yacc.c */ 5523 #line 663 "parser.yy" 5631 5524 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5632 5525 break; 5633 5526 5634 case 1 27:5635 5636 /* Line 1806 of yacc.c */ 5637 #line 6 46"parser.yy"5527 case 133: 5528 5529 /* Line 1806 of yacc.c */ 5530 #line 669 "parser.yy" 5638 5531 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5639 5532 break; 5640 5533 5641 case 1 28:5642 5643 /* Line 1806 of yacc.c */ 5644 #line 6 51"parser.yy"5534 case 134: 5535 5536 /* Line 1806 of yacc.c */ 5537 #line 674 "parser.yy" 5645 5538 { (yyval.en) = 0; } 5646 5539 break; 5647 5540 5648 case 13 2:5649 5650 /* Line 1806 of yacc.c */ 5651 #line 6 60"parser.yy"5541 case 138: 5542 5543 /* Line 1806 of yacc.c */ 5544 #line 683 "parser.yy" 5652 5545 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5653 5546 break; 5654 5547 5655 case 1 38:5656 5657 /* Line 1806 of yacc.c */ 5658 #line 6 67"parser.yy"5548 case 144: 5549 5550 /* Line 1806 of yacc.c */ 5551 #line 690 "parser.yy" 5659 5552 { 5660 5553 Token fn; … … 5664 5557 break; 5665 5558 5666 case 1 39:5667 5668 /* Line 1806 of yacc.c */ 5669 #line 677"parser.yy"5559 case 145: 5560 5561 /* Line 1806 of yacc.c */ 5562 #line 700 "parser.yy" 5670 5563 { 5671 5564 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5673 5566 break; 5674 5567 5675 case 14 0:5676 5677 /* Line 1806 of yacc.c */ 5678 #line 684"parser.yy"5568 case 146: 5569 5570 /* Line 1806 of yacc.c */ 5571 #line 707 "parser.yy" 5679 5572 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5680 5573 break; 5681 5574 5682 case 14 1:5683 5684 /* Line 1806 of yacc.c */ 5685 #line 691"parser.yy"5575 case 147: 5576 5577 /* Line 1806 of yacc.c */ 5578 #line 714 "parser.yy" 5686 5579 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5687 5580 break; 5688 5581 5689 case 14 3:5690 5691 /* Line 1806 of yacc.c */ 5692 #line 697"parser.yy"5582 case 149: 5583 5584 /* Line 1806 of yacc.c */ 5585 #line 720 "parser.yy" 5693 5586 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5694 5587 break; 5695 5588 5696 case 1 44:5697 5698 /* Line 1806 of yacc.c */ 5699 #line 7 02"parser.yy"5589 case 150: 5590 5591 /* Line 1806 of yacc.c */ 5592 #line 725 "parser.yy" 5700 5593 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5701 5594 break; 5702 5595 5703 case 1 45:5704 5705 /* Line 1806 of yacc.c */ 5706 #line 7 04"parser.yy"5596 case 151: 5597 5598 /* Line 1806 of yacc.c */ 5599 #line 727 "parser.yy" 5707 5600 { // mark all fields in list 5708 5601 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 5712 5605 break; 5713 5606 5714 case 1 46:5715 5716 /* Line 1806 of yacc.c */ 5717 #line 7 10"parser.yy"5607 case 152: 5608 5609 /* Line 1806 of yacc.c */ 5610 #line 733 "parser.yy" 5718 5611 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5719 5612 break; 5720 5613 5721 case 1 49:5722 5723 /* Line 1806 of yacc.c */ 5724 #line 7 17"parser.yy"5614 case 155: 5615 5616 /* Line 1806 of yacc.c */ 5617 #line 740 "parser.yy" 5725 5618 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5726 5619 break; 5727 5620 5728 case 15 0:5729 5730 /* Line 1806 of yacc.c */ 5731 #line 7 22"parser.yy"5621 case 156: 5622 5623 /* Line 1806 of yacc.c */ 5624 #line 745 "parser.yy" 5732 5625 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5733 5626 break; 5734 5627 5735 case 15 1:5736 5737 /* Line 1806 of yacc.c */ 5738 #line 7 28"parser.yy"5628 case 157: 5629 5630 /* Line 1806 of yacc.c */ 5631 #line 751 "parser.yy" 5739 5632 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5740 5633 break; 5741 5634 5742 case 15 2:5743 5744 /* Line 1806 of yacc.c */ 5745 #line 7 30"parser.yy"5635 case 158: 5636 5637 /* Line 1806 of yacc.c */ 5638 #line 753 "parser.yy" 5746 5639 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5747 5640 break; 5748 5641 5749 case 15 3:5750 5751 /* Line 1806 of yacc.c */ 5752 #line 7 32"parser.yy"5642 case 159: 5643 5644 /* Line 1806 of yacc.c */ 5645 #line 755 "parser.yy" 5753 5646 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5754 5647 break; 5755 5648 5756 case 1 54:5757 5758 /* Line 1806 of yacc.c */ 5759 #line 7 34"parser.yy"5649 case 160: 5650 5651 /* Line 1806 of yacc.c */ 5652 #line 757 "parser.yy" 5760 5653 { 5761 5654 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5769 5662 break; 5770 5663 5771 case 1 55:5772 5773 /* Line 1806 of yacc.c */ 5774 #line 7 44"parser.yy"5664 case 161: 5665 5666 /* Line 1806 of yacc.c */ 5667 #line 767 "parser.yy" 5775 5668 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5776 5669 break; 5777 5670 5778 case 1 56:5779 5780 /* Line 1806 of yacc.c */ 5781 #line 7 46"parser.yy"5671 case 162: 5672 5673 /* Line 1806 of yacc.c */ 5674 #line 769 "parser.yy" 5782 5675 { 5783 5676 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5786 5679 break; 5787 5680 5788 case 1 57:5789 5790 /* Line 1806 of yacc.c */ 5791 #line 7 56"parser.yy"5681 case 163: 5682 5683 /* Line 1806 of yacc.c */ 5684 #line 779 "parser.yy" 5792 5685 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5793 5686 break; 5794 5687 5795 case 1 58:5796 5797 /* Line 1806 of yacc.c */ 5798 #line 7 58"parser.yy"5688 case 164: 5689 5690 /* Line 1806 of yacc.c */ 5691 #line 781 "parser.yy" 5799 5692 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5800 5693 break; 5801 5694 5802 case 16 0:5803 5804 /* Line 1806 of yacc.c */ 5805 #line 7 63"parser.yy"5695 case 166: 5696 5697 /* Line 1806 of yacc.c */ 5698 #line 786 "parser.yy" 5806 5699 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5807 5700 break; 5808 5701 5809 case 16 1:5810 5811 /* Line 1806 of yacc.c */ 5812 #line 7 65"parser.yy"5702 case 167: 5703 5704 /* Line 1806 of yacc.c */ 5705 #line 788 "parser.yy" 5813 5706 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5814 5707 break; 5815 5708 5816 case 16 2:5817 5818 /* Line 1806 of yacc.c */ 5819 #line 7 69"parser.yy"5709 case 168: 5710 5711 /* Line 1806 of yacc.c */ 5712 #line 792 "parser.yy" 5820 5713 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5821 5714 break; 5822 5715 5823 case 16 3:5824 5825 /* Line 1806 of yacc.c */ 5826 #line 7 70"parser.yy"5716 case 169: 5717 5718 /* Line 1806 of yacc.c */ 5719 #line 793 "parser.yy" 5827 5720 { (yyval.sn) = new StatementNode( build_default() ); } 5828 5721 break; 5829 5722 5830 case 1 65:5831 5832 /* Line 1806 of yacc.c */ 5833 #line 7 76"parser.yy"5723 case 171: 5724 5725 /* Line 1806 of yacc.c */ 5726 #line 799 "parser.yy" 5834 5727 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5835 5728 break; 5836 5729 5837 case 1 66:5838 5839 /* Line 1806 of yacc.c */ 5840 #line 780"parser.yy"5730 case 172: 5731 5732 /* Line 1806 of yacc.c */ 5733 #line 803 "parser.yy" 5841 5734 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5842 5735 break; 5843 5736 5844 case 1 67:5845 5846 /* Line 1806 of yacc.c */ 5847 #line 785"parser.yy"5737 case 173: 5738 5739 /* Line 1806 of yacc.c */ 5740 #line 808 "parser.yy" 5848 5741 { (yyval.sn) = 0; } 5849 5742 break; 5850 5743 5851 case 1 69:5852 5853 /* Line 1806 of yacc.c */ 5854 #line 791"parser.yy"5744 case 175: 5745 5746 /* Line 1806 of yacc.c */ 5747 #line 814 "parser.yy" 5855 5748 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5856 5749 break; 5857 5750 5858 case 17 0:5859 5860 /* Line 1806 of yacc.c */ 5861 #line 793"parser.yy"5751 case 176: 5752 5753 /* Line 1806 of yacc.c */ 5754 #line 816 "parser.yy" 5862 5755 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5863 5756 break; 5864 5757 5865 case 171:5866 5867 /* Line 1806 of yacc.c */5868 #line 798 "parser.yy"5869 { (yyval.sn) = 0; }5870 break;5871 5872 case 173:5873 5874 /* Line 1806 of yacc.c */5875 #line 804 "parser.yy"5876 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }5877 break;5878 5879 case 174:5880 5881 /* Line 1806 of yacc.c */5882 #line 806 "parser.yy"5883 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); }5884 break;5885 5886 case 175:5887 5888 /* Line 1806 of yacc.c */5889 #line 808 "parser.yy"5890 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }5891 break;5892 5893 case 176:5894 5895 /* Line 1806 of yacc.c */5896 #line 810 "parser.yy"5897 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }5898 break;5899 5900 5758 case 177: 5901 5902 /* Line 1806 of yacc.c */5903 #line 815 "parser.yy"5904 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }5905 break;5906 5907 case 179:5908 5759 5909 5760 /* Line 1806 of yacc.c */ … … 5912 5763 break; 5913 5764 5765 case 179: 5766 5767 /* Line 1806 of yacc.c */ 5768 #line 827 "parser.yy" 5769 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5770 break; 5771 5914 5772 case 180: 5915 5773 5916 5774 /* Line 1806 of yacc.c */ 5917 #line 823 "parser.yy" 5775 #line 829 "parser.yy" 5776 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5777 break; 5778 5779 case 181: 5780 5781 /* Line 1806 of yacc.c */ 5782 #line 831 "parser.yy" 5783 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5784 break; 5785 5786 case 182: 5787 5788 /* Line 1806 of yacc.c */ 5789 #line 833 "parser.yy" 5790 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5791 break; 5792 5793 case 183: 5794 5795 /* Line 1806 of yacc.c */ 5796 #line 838 "parser.yy" 5797 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5798 break; 5799 5800 case 185: 5801 5802 /* Line 1806 of yacc.c */ 5803 #line 844 "parser.yy" 5918 5804 { (yyval.sn) = 0; } 5919 5805 break; 5920 5806 5921 case 181: 5922 5923 /* Line 1806 of yacc.c */ 5924 #line 828 "parser.yy" 5807 case 186: 5808 5809 /* Line 1806 of yacc.c */ 5810 #line 846 "parser.yy" 5811 { (yyval.sn) = 0; } 5812 break; 5813 5814 case 187: 5815 5816 /* Line 1806 of yacc.c */ 5817 #line 851 "parser.yy" 5925 5818 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5926 5819 break; 5927 5820 5928 case 18 2:5929 5930 /* Line 1806 of yacc.c */ 5931 #line 8 30"parser.yy"5821 case 188: 5822 5823 /* Line 1806 of yacc.c */ 5824 #line 853 "parser.yy" 5932 5825 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 5933 5826 break; 5934 5827 5935 case 18 3:5936 5937 /* Line 1806 of yacc.c */ 5938 #line 8 32"parser.yy"5828 case 189: 5829 5830 /* Line 1806 of yacc.c */ 5831 #line 855 "parser.yy" 5939 5832 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5940 5833 break; 5941 5834 5942 case 1 84:5943 5944 /* Line 1806 of yacc.c */ 5945 #line 8 37"parser.yy"5835 case 190: 5836 5837 /* Line 1806 of yacc.c */ 5838 #line 860 "parser.yy" 5946 5839 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5947 5840 break; 5948 5841 5949 case 1 85:5950 5951 /* Line 1806 of yacc.c */ 5952 #line 8 39"parser.yy"5842 case 191: 5843 5844 /* Line 1806 of yacc.c */ 5845 #line 862 "parser.yy" 5953 5846 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5954 5847 break; 5955 5848 5956 case 1 86:5957 5958 /* Line 1806 of yacc.c */ 5959 #line 8 44"parser.yy"5849 case 192: 5850 5851 /* Line 1806 of yacc.c */ 5852 #line 867 "parser.yy" 5960 5853 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5961 5854 break; 5962 5855 5963 case 1 87:5964 5965 /* Line 1806 of yacc.c */ 5966 #line 8 48"parser.yy"5856 case 193: 5857 5858 /* Line 1806 of yacc.c */ 5859 #line 871 "parser.yy" 5967 5860 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5968 5861 break; 5969 5862 5970 case 1 88:5971 5972 /* Line 1806 of yacc.c */ 5973 #line 8 51"parser.yy"5863 case 194: 5864 5865 /* Line 1806 of yacc.c */ 5866 #line 874 "parser.yy" 5974 5867 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 5975 5868 break; 5976 5869 5977 case 1 89:5978 5979 /* Line 1806 of yacc.c */ 5980 #line 8 55"parser.yy"5870 case 195: 5871 5872 /* Line 1806 of yacc.c */ 5873 #line 878 "parser.yy" 5981 5874 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 5982 5875 break; 5983 5876 5984 case 19 0:5985 5986 /* Line 1806 of yacc.c */ 5987 #line 8 58"parser.yy"5877 case 196: 5878 5879 /* Line 1806 of yacc.c */ 5880 #line 881 "parser.yy" 5988 5881 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5989 5882 break; 5990 5883 5991 case 19 1:5992 5993 /* Line 1806 of yacc.c */ 5994 #line 8 62"parser.yy"5884 case 197: 5885 5886 /* Line 1806 of yacc.c */ 5887 #line 885 "parser.yy" 5995 5888 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 5996 5889 break; 5997 5890 5998 case 19 2:5999 6000 /* Line 1806 of yacc.c */ 6001 #line 8 64"parser.yy"5891 case 198: 5892 5893 /* Line 1806 of yacc.c */ 5894 #line 887 "parser.yy" 6002 5895 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 6003 5896 break; 6004 5897 6005 case 19 3:6006 6007 /* Line 1806 of yacc.c */ 6008 #line 8 66"parser.yy"5898 case 199: 5899 5900 /* Line 1806 of yacc.c */ 5901 #line 889 "parser.yy" 6009 5902 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6010 5903 break; 6011 5904 6012 case 194:6013 6014 /* Line 1806 of yacc.c */ 6015 #line 8 68"parser.yy"5905 case 200: 5906 5907 /* Line 1806 of yacc.c */ 5908 #line 891 "parser.yy" 6016 5909 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6017 5910 break; 6018 5911 6019 case 195:6020 6021 /* Line 1806 of yacc.c */ 6022 #line 8 70"parser.yy"5912 case 201: 5913 5914 /* Line 1806 of yacc.c */ 5915 #line 893 "parser.yy" 6023 5916 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 6024 5917 break; 6025 5918 6026 case 196:6027 6028 /* Line 1806 of yacc.c */ 6029 #line 8 75"parser.yy"5919 case 202: 5920 5921 /* Line 1806 of yacc.c */ 5922 #line 898 "parser.yy" 6030 5923 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 6031 5924 break; 6032 5925 6033 case 197:6034 6035 /* Line 1806 of yacc.c */ 6036 #line 877"parser.yy"5926 case 203: 5927 5928 /* Line 1806 of yacc.c */ 5929 #line 900 "parser.yy" 6037 5930 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 6038 5931 break; 6039 5932 6040 case 198:6041 6042 /* Line 1806 of yacc.c */ 6043 #line 879"parser.yy"5933 case 204: 5934 5935 /* Line 1806 of yacc.c */ 5936 #line 902 "parser.yy" 6044 5937 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 6045 5938 break; 6046 5939 6047 case 20 0:6048 6049 /* Line 1806 of yacc.c */ 6050 #line 886"parser.yy"5940 case 206: 5941 5942 /* Line 1806 of yacc.c */ 5943 #line 909 "parser.yy" 6051 5944 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6052 5945 break; 6053 5946 6054 case 20 1:6055 6056 /* Line 1806 of yacc.c */ 6057 #line 888"parser.yy"5947 case 207: 5948 5949 /* Line 1806 of yacc.c */ 5950 #line 911 "parser.yy" 6058 5951 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6059 5952 break; 6060 5953 6061 case 20 2:6062 6063 /* Line 1806 of yacc.c */ 6064 #line 890"parser.yy"5954 case 208: 5955 5956 /* Line 1806 of yacc.c */ 5957 #line 913 "parser.yy" 6065 5958 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6066 5959 break; 6067 5960 6068 case 20 3:6069 6070 /* Line 1806 of yacc.c */ 6071 #line 892"parser.yy"5961 case 209: 5962 5963 /* Line 1806 of yacc.c */ 5964 #line 915 "parser.yy" 6072 5965 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6073 5966 break; 6074 5967 6075 case 2 04:6076 6077 /* Line 1806 of yacc.c */ 6078 #line 897"parser.yy"5968 case 210: 5969 5970 /* Line 1806 of yacc.c */ 5971 #line 920 "parser.yy" 6079 5972 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6080 5973 break; 6081 5974 6082 case 2 05:6083 6084 /* Line 1806 of yacc.c */ 6085 #line 899"parser.yy"5975 case 211: 5976 5977 /* Line 1806 of yacc.c */ 5978 #line 922 "parser.yy" 6086 5979 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6087 5980 break; 6088 5981 6089 case 2 06:6090 6091 /* Line 1806 of yacc.c */ 6092 #line 9 01"parser.yy"5982 case 212: 5983 5984 /* Line 1806 of yacc.c */ 5985 #line 924 "parser.yy" 6093 5986 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6094 5987 break; 6095 5988 6096 case 2 07:6097 6098 /* Line 1806 of yacc.c */ 6099 #line 9 03"parser.yy"5989 case 213: 5990 5991 /* Line 1806 of yacc.c */ 5992 #line 926 "parser.yy" 6100 5993 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6101 5994 break; 6102 5995 6103 case 2 08:6104 6105 /* Line 1806 of yacc.c */ 6106 #line 9 08"parser.yy"5996 case 214: 5997 5998 /* Line 1806 of yacc.c */ 5999 #line 931 "parser.yy" 6107 6000 { 6108 6001 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); … … 6110 6003 break; 6111 6004 6112 case 21 0:6113 6114 /* Line 1806 of yacc.c */ 6115 #line 9 21"parser.yy"6005 case 216: 6006 6007 /* Line 1806 of yacc.c */ 6008 #line 944 "parser.yy" 6116 6009 { 6117 6010 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6120 6013 break; 6121 6014 6122 case 21 1:6123 6124 /* Line 1806 of yacc.c */ 6125 #line 9 26"parser.yy"6015 case 217: 6016 6017 /* Line 1806 of yacc.c */ 6018 #line 949 "parser.yy" 6126 6019 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6127 6020 break; 6128 6021 6129 case 21 2:6130 6131 /* Line 1806 of yacc.c */ 6132 #line 9 28"parser.yy"6022 case 218: 6023 6024 /* Line 1806 of yacc.c */ 6025 #line 951 "parser.yy" 6133 6026 { 6134 6027 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6137 6030 break; 6138 6031 6139 case 2 14:6140 6141 /* Line 1806 of yacc.c */ 6142 #line 9 37"parser.yy"6032 case 220: 6033 6034 /* Line 1806 of yacc.c */ 6035 #line 960 "parser.yy" 6143 6036 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 6144 6037 break; 6145 6038 6146 case 2 15:6147 6148 /* Line 1806 of yacc.c */ 6149 #line 9 39"parser.yy"6039 case 221: 6040 6041 /* Line 1806 of yacc.c */ 6042 #line 962 "parser.yy" 6150 6043 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 6151 6044 break; 6152 6045 6153 case 2 16:6154 6155 /* Line 1806 of yacc.c */ 6156 #line 9 41"parser.yy"6046 case 222: 6047 6048 /* Line 1806 of yacc.c */ 6049 #line 964 "parser.yy" 6157 6050 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 6158 6051 break; 6159 6052 6160 case 2 17:6161 6162 /* Line 1806 of yacc.c */ 6163 #line 9 43"parser.yy"6053 case 223: 6054 6055 /* Line 1806 of yacc.c */ 6056 #line 966 "parser.yy" 6164 6057 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); } 6165 6058 break; 6166 6059 6167 case 2 18:6168 6169 /* Line 1806 of yacc.c */ 6170 #line 9 45"parser.yy"6060 case 224: 6061 6062 /* Line 1806 of yacc.c */ 6063 #line 968 "parser.yy" 6171 6064 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); } 6172 6065 break; 6173 6066 6174 case 2 19:6175 6176 /* Line 1806 of yacc.c */ 6177 #line 9 50"parser.yy"6067 case 225: 6068 6069 /* Line 1806 of yacc.c */ 6070 #line 973 "parser.yy" 6178 6071 { (yyval.flag) = false; } 6179 6072 break; 6180 6073 6181 case 22 0:6182 6183 /* Line 1806 of yacc.c */ 6184 #line 9 52"parser.yy"6074 case 226: 6075 6076 /* Line 1806 of yacc.c */ 6077 #line 975 "parser.yy" 6185 6078 { (yyval.flag) = true; } 6186 6079 break; 6187 6080 6188 case 22 1:6189 6190 /* Line 1806 of yacc.c */ 6191 #line 9 57"parser.yy"6081 case 227: 6082 6083 /* Line 1806 of yacc.c */ 6084 #line 980 "parser.yy" 6192 6085 { (yyval.en) = 0; } 6193 6086 break; 6194 6087 6195 case 2 24:6196 6197 /* Line 1806 of yacc.c */ 6198 #line 9 64"parser.yy"6088 case 230: 6089 6090 /* Line 1806 of yacc.c */ 6091 #line 987 "parser.yy" 6199 6092 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 6200 6093 break; 6201 6094 6202 case 2 25:6203 6204 /* Line 1806 of yacc.c */ 6205 #line 9 69"parser.yy"6095 case 231: 6096 6097 /* Line 1806 of yacc.c */ 6098 #line 992 "parser.yy" 6206 6099 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6207 6100 break; 6208 6101 6209 case 2 26:6210 6211 /* Line 1806 of yacc.c */ 6212 #line 9 71"parser.yy"6102 case 232: 6103 6104 /* Line 1806 of yacc.c */ 6105 #line 994 "parser.yy" 6213 6106 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6214 6107 break; 6215 6108 6216 case 2 27:6217 6218 /* Line 1806 of yacc.c */ 6219 #line 9 76"parser.yy"6109 case 233: 6110 6111 /* Line 1806 of yacc.c */ 6112 #line 999 "parser.yy" 6220 6113 { (yyval.en) = 0; } 6221 6114 break; 6222 6115 6223 case 2 28:6224 6225 /* Line 1806 of yacc.c */ 6226 #line 978"parser.yy"6116 case 234: 6117 6118 /* Line 1806 of yacc.c */ 6119 #line 1001 "parser.yy" 6227 6120 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6228 6121 break; 6229 6122 6230 case 2 29:6231 6232 /* Line 1806 of yacc.c */ 6233 #line 980"parser.yy"6123 case 235: 6124 6125 /* Line 1806 of yacc.c */ 6126 #line 1003 "parser.yy" 6234 6127 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6235 6128 break; 6236 6129 6237 case 23 0:6238 6239 /* Line 1806 of yacc.c */ 6240 #line 985"parser.yy"6130 case 236: 6131 6132 /* Line 1806 of yacc.c */ 6133 #line 1008 "parser.yy" 6241 6134 { 6242 6135 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); … … 6245 6138 break; 6246 6139 6247 case 23 1:6248 6249 /* Line 1806 of yacc.c */ 6250 #line 990"parser.yy"6140 case 237: 6141 6142 /* Line 1806 of yacc.c */ 6143 #line 1013 "parser.yy" 6251 6144 { 6252 6145 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); … … 6255 6148 break; 6256 6149 6257 case 23 2:6258 6259 /* Line 1806 of yacc.c */ 6260 #line 10 00"parser.yy"6150 case 238: 6151 6152 /* Line 1806 of yacc.c */ 6153 #line 1023 "parser.yy" 6261 6154 { (yyval.decl) = 0; } 6262 6155 break; 6263 6156 6264 case 2 35:6265 6266 /* Line 1806 of yacc.c */ 6267 #line 10 07"parser.yy"6157 case 241: 6158 6159 /* Line 1806 of yacc.c */ 6160 #line 1030 "parser.yy" 6268 6161 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6269 6162 break; 6270 6163 6271 case 2 36:6272 6273 /* Line 1806 of yacc.c */ 6274 #line 10 12"parser.yy"6164 case 242: 6165 6166 /* Line 1806 of yacc.c */ 6167 #line 1035 "parser.yy" 6275 6168 { (yyval.decl) = 0; } 6276 6169 break; 6277 6170 6278 case 2 39:6279 6280 /* Line 1806 of yacc.c */ 6281 #line 10 19"parser.yy"6171 case 245: 6172 6173 /* Line 1806 of yacc.c */ 6174 #line 1042 "parser.yy" 6282 6175 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6283 6176 break; 6284 6177 6285 case 2 44:6286 6287 /* Line 1806 of yacc.c */ 6288 #line 10 33"parser.yy"6178 case 250: 6179 6180 /* Line 1806 of yacc.c */ 6181 #line 1056 "parser.yy" 6289 6182 {} 6290 6183 break; 6291 6184 6292 case 2 45:6293 6294 /* Line 1806 of yacc.c */ 6295 #line 10 34"parser.yy"6185 case 251: 6186 6187 /* Line 1806 of yacc.c */ 6188 #line 1057 "parser.yy" 6296 6189 {} 6297 6190 break; 6298 6191 6299 case 25 3:6300 6301 /* Line 1806 of yacc.c */ 6302 #line 10 63"parser.yy"6192 case 259: 6193 6194 /* Line 1806 of yacc.c */ 6195 #line 1086 "parser.yy" 6303 6196 { 6304 6197 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6307 6200 break; 6308 6201 6309 case 2 54:6310 6311 /* Line 1806 of yacc.c */ 6312 #line 10 70"parser.yy"6202 case 260: 6203 6204 /* Line 1806 of yacc.c */ 6205 #line 1093 "parser.yy" 6313 6206 { 6314 6207 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6317 6210 break; 6318 6211 6319 case 2 55:6320 6321 /* Line 1806 of yacc.c */ 6322 #line 10 75"parser.yy"6212 case 261: 6213 6214 /* Line 1806 of yacc.c */ 6215 #line 1098 "parser.yy" 6323 6216 { 6324 6217 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6327 6220 break; 6328 6221 6329 case 2 56:6330 6331 /* Line 1806 of yacc.c */ 6332 #line 1 085"parser.yy"6222 case 262: 6223 6224 /* Line 1806 of yacc.c */ 6225 #line 1108 "parser.yy" 6333 6226 { 6334 6227 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6337 6230 break; 6338 6231 6339 case 2 57:6340 6341 /* Line 1806 of yacc.c */ 6342 #line 1 090"parser.yy"6232 case 263: 6233 6234 /* Line 1806 of yacc.c */ 6235 #line 1113 "parser.yy" 6343 6236 { 6344 6237 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6347 6240 break; 6348 6241 6349 case 2 58:6350 6351 /* Line 1806 of yacc.c */ 6352 #line 1 095"parser.yy"6242 case 264: 6243 6244 /* Line 1806 of yacc.c */ 6245 #line 1118 "parser.yy" 6353 6246 { 6354 6247 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6357 6250 break; 6358 6251 6359 case 2 59:6360 6361 /* Line 1806 of yacc.c */ 6362 #line 11 03"parser.yy"6252 case 265: 6253 6254 /* Line 1806 of yacc.c */ 6255 #line 1126 "parser.yy" 6363 6256 { 6364 6257 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6367 6260 break; 6368 6261 6369 case 26 0:6370 6371 /* Line 1806 of yacc.c */ 6372 #line 11 08"parser.yy"6262 case 266: 6263 6264 /* Line 1806 of yacc.c */ 6265 #line 1131 "parser.yy" 6373 6266 { 6374 6267 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6377 6270 break; 6378 6271 6379 case 26 1:6380 6381 /* Line 1806 of yacc.c */ 6382 #line 11 13"parser.yy"6272 case 267: 6273 6274 /* Line 1806 of yacc.c */ 6275 #line 1136 "parser.yy" 6383 6276 { 6384 6277 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6387 6280 break; 6388 6281 6389 case 26 2:6390 6391 /* Line 1806 of yacc.c */ 6392 #line 11 18"parser.yy"6282 case 268: 6283 6284 /* Line 1806 of yacc.c */ 6285 #line 1141 "parser.yy" 6393 6286 { 6394 6287 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6397 6290 break; 6398 6291 6399 case 26 3:6400 6401 /* Line 1806 of yacc.c */ 6402 #line 11 23"parser.yy"6292 case 269: 6293 6294 /* Line 1806 of yacc.c */ 6295 #line 1146 "parser.yy" 6403 6296 { 6404 6297 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6407 6300 break; 6408 6301 6409 case 264: 6410 6411 /* Line 1806 of yacc.c */ 6412 #line 1131 "parser.yy" 6413 { 6414 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); 6415 } 6416 break; 6417 6418 case 265: 6419 6420 /* Line 1806 of yacc.c */ 6421 #line 1154 "parser.yy" 6302 case 270: 6303 6304 /* Line 1806 of yacc.c */ 6305 #line 1177 "parser.yy" 6422 6306 { 6423 6307 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6425 6309 break; 6426 6310 6427 case 2 66:6428 6429 /* Line 1806 of yacc.c */ 6430 #line 11 58"parser.yy"6311 case 271: 6312 6313 /* Line 1806 of yacc.c */ 6314 #line 1181 "parser.yy" 6431 6315 { 6432 6316 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6434 6318 break; 6435 6319 6436 case 2 67:6437 6438 /* Line 1806 of yacc.c */ 6439 #line 11 65"parser.yy"6320 case 272: 6321 6322 /* Line 1806 of yacc.c */ 6323 #line 1188 "parser.yy" 6440 6324 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6441 6325 break; 6442 6326 6443 case 2 68:6444 6445 /* Line 1806 of yacc.c */ 6446 #line 11 69"parser.yy"6327 case 273: 6328 6329 /* Line 1806 of yacc.c */ 6330 #line 1192 "parser.yy" 6447 6331 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6448 6332 break; 6449 6333 6450 case 2 69:6451 6452 /* Line 1806 of yacc.c */ 6453 #line 11 74"parser.yy"6334 case 274: 6335 6336 /* Line 1806 of yacc.c */ 6337 #line 1197 "parser.yy" 6454 6338 { 6455 6339 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6458 6342 break; 6459 6343 6460 case 27 0:6461 6462 /* Line 1806 of yacc.c */ 6463 #line 1 179"parser.yy"6344 case 275: 6345 6346 /* Line 1806 of yacc.c */ 6347 #line 1202 "parser.yy" 6464 6348 { 6465 6349 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6468 6352 break; 6469 6353 6470 case 27 1:6471 6472 /* Line 1806 of yacc.c */ 6473 #line 1 184"parser.yy"6354 case 276: 6355 6356 /* Line 1806 of yacc.c */ 6357 #line 1207 "parser.yy" 6474 6358 { 6475 6359 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6478 6362 break; 6479 6363 6480 case 27 2:6481 6482 /* Line 1806 of yacc.c */ 6483 #line 1 195"parser.yy"6364 case 277: 6365 6366 /* Line 1806 of yacc.c */ 6367 #line 1218 "parser.yy" 6484 6368 { 6485 6369 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6488 6372 break; 6489 6373 6490 case 27 3:6491 6492 /* Line 1806 of yacc.c */ 6493 #line 12 00"parser.yy"6374 case 278: 6375 6376 /* Line 1806 of yacc.c */ 6377 #line 1223 "parser.yy" 6494 6378 { 6495 6379 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6498 6382 break; 6499 6383 6500 case 27 4:6501 6502 /* Line 1806 of yacc.c */ 6503 #line 12 05"parser.yy"6384 case 279: 6385 6386 /* Line 1806 of yacc.c */ 6387 #line 1228 "parser.yy" 6504 6388 { 6505 6389 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6508 6392 break; 6509 6393 6510 case 2 75:6511 6512 /* Line 1806 of yacc.c */ 6513 #line 12 10"parser.yy"6394 case 280: 6395 6396 /* Line 1806 of yacc.c */ 6397 #line 1233 "parser.yy" 6514 6398 { 6515 6399 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6518 6402 break; 6519 6403 6520 case 2 76:6521 6522 /* Line 1806 of yacc.c */ 6523 #line 12 15"parser.yy"6404 case 281: 6405 6406 /* Line 1806 of yacc.c */ 6407 #line 1238 "parser.yy" 6524 6408 { 6525 6409 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6528 6412 break; 6529 6413 6530 case 2 77:6531 6532 /* Line 1806 of yacc.c */ 6533 #line 12 24"parser.yy"6414 case 282: 6415 6416 /* Line 1806 of yacc.c */ 6417 #line 1247 "parser.yy" 6534 6418 { 6535 6419 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6538 6422 break; 6539 6423 6540 case 2 78:6541 6542 /* Line 1806 of yacc.c */ 6543 #line 12 29"parser.yy"6424 case 283: 6425 6426 /* Line 1806 of yacc.c */ 6427 #line 1252 "parser.yy" 6544 6428 { 6545 6429 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6548 6432 break; 6549 6433 6550 case 28 3:6551 6552 /* Line 1806 of yacc.c */ 6553 #line 12 46"parser.yy"6434 case 288: 6435 6436 /* Line 1806 of yacc.c */ 6437 #line 1269 "parser.yy" 6554 6438 { 6555 6439 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6558 6442 break; 6559 6443 6560 case 28 4:6561 6562 /* Line 1806 of yacc.c */ 6563 #line 12 51"parser.yy"6444 case 289: 6445 6446 /* Line 1806 of yacc.c */ 6447 #line 1274 "parser.yy" 6564 6448 { 6565 6449 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6568 6452 break; 6569 6453 6570 case 29 3:6571 6572 /* Line 1806 of yacc.c */ 6573 #line 12 73"parser.yy"6454 case 298: 6455 6456 /* Line 1806 of yacc.c */ 6457 #line 1296 "parser.yy" 6574 6458 { (yyval.decl) = 0; } 6575 6459 break; 6576 6460 6577 case 296:6578 6579 /* Line 1806 of yacc.c */ 6580 #line 1 285"parser.yy"6461 case 301: 6462 6463 /* Line 1806 of yacc.c */ 6464 #line 1308 "parser.yy" 6581 6465 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6582 6466 break; 6583 6467 6584 case 299:6585 6586 /* Line 1806 of yacc.c */ 6587 #line 1 296"parser.yy"6468 case 304: 6469 6470 /* Line 1806 of yacc.c */ 6471 #line 1319 "parser.yy" 6588 6472 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6589 6473 break; 6590 6474 6591 case 30 0:6592 6593 /* Line 1806 of yacc.c */ 6594 #line 1 298"parser.yy"6475 case 305: 6476 6477 /* Line 1806 of yacc.c */ 6478 #line 1321 "parser.yy" 6595 6479 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6596 6480 break; 6597 6481 6598 case 30 1:6599 6600 /* Line 1806 of yacc.c */ 6601 #line 13 00"parser.yy"6482 case 306: 6483 6484 /* Line 1806 of yacc.c */ 6485 #line 1323 "parser.yy" 6602 6486 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6603 6487 break; 6604 6488 6605 case 30 2:6606 6607 /* Line 1806 of yacc.c */ 6608 #line 13 02"parser.yy"6489 case 307: 6490 6491 /* Line 1806 of yacc.c */ 6492 #line 1325 "parser.yy" 6609 6493 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6610 6494 break; 6611 6495 6612 case 30 3:6613 6614 /* Line 1806 of yacc.c */ 6615 #line 13 04"parser.yy"6496 case 308: 6497 6498 /* Line 1806 of yacc.c */ 6499 #line 1327 "parser.yy" 6616 6500 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6617 6501 break; 6618 6502 6619 case 30 4:6620 6621 /* Line 1806 of yacc.c */ 6622 #line 13 06"parser.yy"6503 case 309: 6504 6505 /* Line 1806 of yacc.c */ 6506 #line 1329 "parser.yy" 6623 6507 { 6624 6508 typedefTable.enterScope(); … … 6626 6510 break; 6627 6511 6628 case 3 05:6629 6630 /* Line 1806 of yacc.c */ 6631 #line 13 10"parser.yy"6512 case 310: 6513 6514 /* Line 1806 of yacc.c */ 6515 #line 1333 "parser.yy" 6632 6516 { 6633 6517 typedefTable.leaveScope(); … … 6636 6520 break; 6637 6521 6638 case 3 07:6639 6640 /* Line 1806 of yacc.c */ 6641 #line 13 19"parser.yy"6522 case 312: 6523 6524 /* Line 1806 of yacc.c */ 6525 #line 1342 "parser.yy" 6642 6526 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6643 6527 break; 6644 6528 6645 case 3 08:6646 6647 /* Line 1806 of yacc.c */ 6648 #line 13 21"parser.yy"6529 case 313: 6530 6531 /* Line 1806 of yacc.c */ 6532 #line 1344 "parser.yy" 6649 6533 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6650 6534 break; 6651 6535 6652 case 31 0:6653 6654 /* Line 1806 of yacc.c */ 6655 #line 13 32"parser.yy"6536 case 315: 6537 6538 /* Line 1806 of yacc.c */ 6539 #line 1355 "parser.yy" 6656 6540 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6657 6541 break; 6658 6542 6659 case 31 1:6660 6661 /* Line 1806 of yacc.c */ 6662 #line 13 37"parser.yy"6543 case 316: 6544 6545 /* Line 1806 of yacc.c */ 6546 #line 1360 "parser.yy" 6663 6547 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6664 6548 break; 6665 6549 6666 case 31 2:6667 6668 /* Line 1806 of yacc.c */ 6669 #line 13 39"parser.yy"6550 case 317: 6551 6552 /* Line 1806 of yacc.c */ 6553 #line 1362 "parser.yy" 6670 6554 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6671 6555 break; 6672 6556 6673 case 31 3:6674 6675 /* Line 1806 of yacc.c */ 6676 #line 13 41"parser.yy"6557 case 318: 6558 6559 /* Line 1806 of yacc.c */ 6560 #line 1364 "parser.yy" 6677 6561 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6678 6562 break; 6679 6563 6680 case 31 4:6681 6682 /* Line 1806 of yacc.c */ 6683 #line 13 43"parser.yy"6564 case 319: 6565 6566 /* Line 1806 of yacc.c */ 6567 #line 1366 "parser.yy" 6684 6568 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6685 6569 break; 6686 6570 6687 case 3 15:6688 6689 /* Line 1806 of yacc.c */ 6690 #line 13 46"parser.yy"6571 case 320: 6572 6573 /* Line 1806 of yacc.c */ 6574 #line 1369 "parser.yy" 6691 6575 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; } 6692 6576 break; 6693 6577 6694 case 3 16:6695 6696 /* Line 1806 of yacc.c */ 6697 #line 13 48"parser.yy"6578 case 321: 6579 6580 /* Line 1806 of yacc.c */ 6581 #line 1371 "parser.yy" 6698 6582 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6699 6583 break; 6700 6584 6701 case 3 17:6702 6703 /* Line 1806 of yacc.c */ 6704 #line 13 51"parser.yy"6585 case 322: 6586 6587 /* Line 1806 of yacc.c */ 6588 #line 1374 "parser.yy" 6705 6589 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; } 6706 6590 break; 6707 6591 6708 case 3 18:6709 6710 /* Line 1806 of yacc.c */ 6711 #line 13 53"parser.yy"6592 case 323: 6593 6594 /* Line 1806 of yacc.c */ 6595 #line 1376 "parser.yy" 6712 6596 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6713 6597 break; 6714 6598 6715 case 3 19:6716 6717 /* Line 1806 of yacc.c */ 6718 #line 13 58"parser.yy"6599 case 324: 6600 6601 /* Line 1806 of yacc.c */ 6602 #line 1381 "parser.yy" 6719 6603 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6720 6604 break; 6721 6605 6722 case 32 0:6723 6724 /* Line 1806 of yacc.c */ 6725 #line 13 60"parser.yy"6606 case 325: 6607 6608 /* Line 1806 of yacc.c */ 6609 #line 1383 "parser.yy" 6726 6610 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6727 6611 break; 6728 6612 6729 case 32 1:6730 6731 /* Line 1806 of yacc.c */ 6732 #line 13 62"parser.yy"6613 case 326: 6614 6615 /* Line 1806 of yacc.c */ 6616 #line 1385 "parser.yy" 6733 6617 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6734 6618 break; 6735 6619 6736 case 32 2:6737 6738 /* Line 1806 of yacc.c */ 6739 #line 13 64"parser.yy"6620 case 327: 6621 6622 /* Line 1806 of yacc.c */ 6623 #line 1387 "parser.yy" 6740 6624 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6741 6625 break; 6742 6626 6743 case 32 3:6744 6745 /* Line 1806 of yacc.c */ 6746 #line 13 66"parser.yy"6627 case 328: 6628 6629 /* Line 1806 of yacc.c */ 6630 #line 1389 "parser.yy" 6747 6631 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 6748 6632 break; 6749 6633 6750 case 32 4:6751 6752 /* Line 1806 of yacc.c */ 6753 #line 13 68"parser.yy"6634 case 329: 6635 6636 /* Line 1806 of yacc.c */ 6637 #line 1391 "parser.yy" 6754 6638 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 6755 6639 break; 6756 6640 6757 case 3 25:6758 6759 /* Line 1806 of yacc.c */ 6760 #line 13 70"parser.yy"6641 case 330: 6642 6643 /* Line 1806 of yacc.c */ 6644 #line 1393 "parser.yy" 6761 6645 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 6762 6646 break; 6763 6647 6764 case 3 26:6765 6766 /* Line 1806 of yacc.c */ 6767 #line 13 72"parser.yy"6648 case 331: 6649 6650 /* Line 1806 of yacc.c */ 6651 #line 1395 "parser.yy" 6768 6652 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 6769 6653 break; 6770 6654 6771 case 3 27:6772 6773 /* Line 1806 of yacc.c */ 6774 #line 13 74"parser.yy"6655 case 332: 6656 6657 /* Line 1806 of yacc.c */ 6658 #line 1397 "parser.yy" 6775 6659 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6776 6660 break; 6777 6661 6778 case 3 28:6779 6780 /* Line 1806 of yacc.c */ 6781 #line 13 76"parser.yy"6662 case 333: 6663 6664 /* Line 1806 of yacc.c */ 6665 #line 1399 "parser.yy" 6782 6666 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6783 6667 break; 6784 6668 6785 case 3 29:6786 6787 /* Line 1806 of yacc.c */ 6788 #line 1 378"parser.yy"6669 case 334: 6670 6671 /* Line 1806 of yacc.c */ 6672 #line 1401 "parser.yy" 6789 6673 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 6790 6674 break; 6791 6675 6792 case 33 0:6793 6794 /* Line 1806 of yacc.c */ 6795 #line 1 380"parser.yy"6676 case 335: 6677 6678 /* Line 1806 of yacc.c */ 6679 #line 1403 "parser.yy" 6796 6680 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 6797 6681 break; 6798 6682 6799 case 33 1:6800 6801 /* Line 1806 of yacc.c */ 6802 #line 1 382"parser.yy"6683 case 336: 6684 6685 /* Line 1806 of yacc.c */ 6686 #line 1405 "parser.yy" 6803 6687 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6804 6688 break; 6805 6689 6806 case 33 3:6807 6808 /* Line 1806 of yacc.c */ 6809 #line 1 389"parser.yy"6690 case 338: 6691 6692 /* Line 1806 of yacc.c */ 6693 #line 1412 "parser.yy" 6810 6694 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6811 6695 break; 6812 6696 6813 case 33 4:6814 6815 /* Line 1806 of yacc.c */ 6816 #line 1 391"parser.yy"6697 case 339: 6698 6699 /* Line 1806 of yacc.c */ 6700 #line 1414 "parser.yy" 6817 6701 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6818 6702 break; 6819 6703 6820 case 3 35:6821 6822 /* Line 1806 of yacc.c */ 6823 #line 1 393"parser.yy"6704 case 340: 6705 6706 /* Line 1806 of yacc.c */ 6707 #line 1416 "parser.yy" 6824 6708 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6825 6709 break; 6826 6710 6827 case 3 36:6828 6829 /* Line 1806 of yacc.c */ 6830 #line 1 395"parser.yy"6711 case 341: 6712 6713 /* Line 1806 of yacc.c */ 6714 #line 1418 "parser.yy" 6831 6715 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6832 6716 break; 6833 6717 6834 case 3 38:6835 6836 /* Line 1806 of yacc.c */ 6837 #line 14 01"parser.yy"6718 case 343: 6719 6720 /* Line 1806 of yacc.c */ 6721 #line 1424 "parser.yy" 6838 6722 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6839 6723 break; 6840 6724 6841 case 34 0:6842 6843 /* Line 1806 of yacc.c */ 6844 #line 14 08"parser.yy"6725 case 345: 6726 6727 /* Line 1806 of yacc.c */ 6728 #line 1431 "parser.yy" 6845 6729 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6846 6730 break; 6847 6731 6848 case 34 1:6849 6850 /* Line 1806 of yacc.c */ 6851 #line 14 10"parser.yy"6732 case 346: 6733 6734 /* Line 1806 of yacc.c */ 6735 #line 1433 "parser.yy" 6852 6736 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6853 6737 break; 6854 6738 6855 case 34 2:6856 6857 /* Line 1806 of yacc.c */ 6858 #line 14 12"parser.yy"6739 case 347: 6740 6741 /* Line 1806 of yacc.c */ 6742 #line 1435 "parser.yy" 6859 6743 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6860 6744 break; 6861 6745 6862 case 34 3:6863 6864 /* Line 1806 of yacc.c */ 6865 #line 14 17"parser.yy"6746 case 348: 6747 6748 /* Line 1806 of yacc.c */ 6749 #line 1440 "parser.yy" 6866 6750 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6867 6751 break; 6868 6752 6869 case 34 4:6870 6871 /* Line 1806 of yacc.c */ 6872 #line 14 19"parser.yy"6753 case 349: 6754 6755 /* Line 1806 of yacc.c */ 6756 #line 1442 "parser.yy" 6873 6757 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6874 6758 break; 6875 6759 6876 case 3 45:6877 6878 /* Line 1806 of yacc.c */ 6879 #line 14 21"parser.yy"6760 case 350: 6761 6762 /* Line 1806 of yacc.c */ 6763 #line 1444 "parser.yy" 6880 6764 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6881 6765 break; 6882 6766 6883 case 3 46:6884 6885 /* Line 1806 of yacc.c */ 6886 #line 14 23"parser.yy"6767 case 351: 6768 6769 /* Line 1806 of yacc.c */ 6770 #line 1446 "parser.yy" 6887 6771 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6888 6772 break; 6889 6773 6890 case 3 48:6891 6892 /* Line 1806 of yacc.c */ 6893 #line 14 29"parser.yy"6774 case 353: 6775 6776 /* Line 1806 of yacc.c */ 6777 #line 1452 "parser.yy" 6894 6778 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6895 6779 break; 6896 6780 6897 case 3 49:6898 6899 /* Line 1806 of yacc.c */ 6900 #line 14 31"parser.yy"6781 case 354: 6782 6783 /* Line 1806 of yacc.c */ 6784 #line 1454 "parser.yy" 6901 6785 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6902 6786 break; 6903 6787 6904 case 35 0:6905 6906 /* Line 1806 of yacc.c */ 6907 #line 14 33"parser.yy"6788 case 355: 6789 6790 /* Line 1806 of yacc.c */ 6791 #line 1456 "parser.yy" 6908 6792 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6909 6793 break; 6910 6794 6911 case 35 2:6912 6913 /* Line 1806 of yacc.c */ 6914 #line 14 39"parser.yy"6795 case 357: 6796 6797 /* Line 1806 of yacc.c */ 6798 #line 1462 "parser.yy" 6915 6799 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6916 6800 break; 6917 6801 6918 case 35 3:6919 6920 /* Line 1806 of yacc.c */ 6921 #line 14 41"parser.yy"6802 case 358: 6803 6804 /* Line 1806 of yacc.c */ 6805 #line 1464 "parser.yy" 6922 6806 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6923 6807 break; 6924 6808 6925 case 3 55:6926 6927 /* Line 1806 of yacc.c */ 6928 #line 14 47"parser.yy"6809 case 360: 6810 6811 /* Line 1806 of yacc.c */ 6812 #line 1470 "parser.yy" 6929 6813 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6930 6814 break; 6931 6815 6932 case 3 56:6933 6934 /* Line 1806 of yacc.c */ 6935 #line 14 49"parser.yy"6816 case 361: 6817 6818 /* Line 1806 of yacc.c */ 6819 #line 1472 "parser.yy" 6936 6820 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6937 6821 break; 6938 6822 6939 case 3 57:6940 6941 /* Line 1806 of yacc.c */ 6942 #line 14 51"parser.yy"6823 case 362: 6824 6825 /* Line 1806 of yacc.c */ 6826 #line 1474 "parser.yy" 6943 6827 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6944 6828 break; 6945 6829 6946 case 3 58:6947 6948 /* Line 1806 of yacc.c */ 6949 #line 14 56"parser.yy"6830 case 363: 6831 6832 /* Line 1806 of yacc.c */ 6833 #line 1479 "parser.yy" 6950 6834 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6951 6835 break; 6952 6836 6953 case 3 59:6954 6955 /* Line 1806 of yacc.c */ 6956 #line 14 58"parser.yy"6837 case 364: 6838 6839 /* Line 1806 of yacc.c */ 6840 #line 1481 "parser.yy" 6957 6841 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6958 6842 break; 6959 6843 6960 case 36 0:6961 6962 /* Line 1806 of yacc.c */ 6963 #line 14 60"parser.yy"6844 case 365: 6845 6846 /* Line 1806 of yacc.c */ 6847 #line 1483 "parser.yy" 6964 6848 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6965 6849 break; 6966 6850 6967 case 36 3:6968 6969 /* Line 1806 of yacc.c */ 6970 #line 14 70"parser.yy"6851 case 368: 6852 6853 /* Line 1806 of yacc.c */ 6854 #line 1493 "parser.yy" 6971 6855 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); } 6972 6856 break; 6973 6857 6974 case 36 4:6975 6976 /* Line 1806 of yacc.c */ 6977 #line 14 72"parser.yy"6858 case 369: 6859 6860 /* Line 1806 of yacc.c */ 6861 #line 1495 "parser.yy" 6978 6862 { 6979 6863 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 6982 6866 break; 6983 6867 6984 case 3 65:6985 6986 /* Line 1806 of yacc.c */ 6987 #line 1 477"parser.yy"6868 case 370: 6869 6870 /* Line 1806 of yacc.c */ 6871 #line 1500 "parser.yy" 6988 6872 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6989 6873 break; 6990 6874 6991 case 3 66:6992 6993 /* Line 1806 of yacc.c */ 6994 #line 1 479"parser.yy"6875 case 371: 6876 6877 /* Line 1806 of yacc.c */ 6878 #line 1502 "parser.yy" 6995 6879 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); } 6996 6880 break; 6997 6881 6998 case 3 67:6999 7000 /* Line 1806 of yacc.c */ 7001 #line 1 481"parser.yy"6882 case 372: 6883 6884 /* Line 1806 of yacc.c */ 6885 #line 1504 "parser.yy" 7002 6886 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 7003 6887 break; 7004 6888 7005 case 3 68:7006 7007 /* Line 1806 of yacc.c */ 7008 #line 1 483"parser.yy"6889 case 373: 6890 6891 /* Line 1806 of yacc.c */ 6892 #line 1506 "parser.yy" 7009 6893 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7010 6894 break; 7011 6895 7012 case 3 69:7013 7014 /* Line 1806 of yacc.c */ 7015 #line 1 488"parser.yy"6896 case 374: 6897 6898 /* Line 1806 of yacc.c */ 6899 #line 1511 "parser.yy" 7016 6900 { (yyval.aggKey) = DeclarationNode::Struct; } 7017 6901 break; 7018 6902 7019 case 37 0:7020 7021 /* Line 1806 of yacc.c */ 7022 #line 1 490"parser.yy"6903 case 375: 6904 6905 /* Line 1806 of yacc.c */ 6906 #line 1513 "parser.yy" 7023 6907 { (yyval.aggKey) = DeclarationNode::Union; } 7024 6908 break; 7025 6909 7026 case 37 1:7027 7028 /* Line 1806 of yacc.c */ 7029 #line 1 495"parser.yy"6910 case 376: 6911 6912 /* Line 1806 of yacc.c */ 6913 #line 1518 "parser.yy" 7030 6914 { (yyval.decl) = 0; } 7031 6915 break; 7032 6916 7033 case 37 2:7034 7035 /* Line 1806 of yacc.c */ 7036 #line 1 497"parser.yy"6917 case 377: 6918 6919 /* Line 1806 of yacc.c */ 6920 #line 1520 "parser.yy" 7037 6921 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7038 6922 break; 7039 6923 7040 case 37 4:7041 7042 /* Line 1806 of yacc.c */ 7043 #line 15 03"parser.yy"6924 case 379: 6925 6926 /* Line 1806 of yacc.c */ 6927 #line 1526 "parser.yy" 7044 6928 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7045 6929 break; 7046 6930 7047 case 3 76:7048 7049 /* Line 1806 of yacc.c */ 7050 #line 15 06"parser.yy"6931 case 381: 6932 6933 /* Line 1806 of yacc.c */ 6934 #line 1529 "parser.yy" 7051 6935 { // mark all fields in list 7052 6936 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7056 6940 break; 7057 6941 7058 case 3 78:7059 7060 /* Line 1806 of yacc.c */ 7061 #line 15 16"parser.yy"6942 case 383: 6943 6944 /* Line 1806 of yacc.c */ 6945 #line 1539 "parser.yy" 7062 6946 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7063 6947 break; 7064 6948 7065 case 3 79:7066 7067 /* Line 1806 of yacc.c */ 7068 #line 15 18"parser.yy"6949 case 384: 6950 6951 /* Line 1806 of yacc.c */ 6952 #line 1541 "parser.yy" 7069 6953 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7070 6954 break; 7071 6955 7072 case 38 0:7073 7074 /* Line 1806 of yacc.c */ 7075 #line 15 20"parser.yy"6956 case 385: 6957 6958 /* Line 1806 of yacc.c */ 6959 #line 1543 "parser.yy" 7076 6960 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7077 6961 break; 7078 6962 7079 case 38 1:7080 7081 /* Line 1806 of yacc.c */ 7082 #line 15 25"parser.yy"6963 case 386: 6964 6965 /* Line 1806 of yacc.c */ 6966 #line 1548 "parser.yy" 7083 6967 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7084 6968 break; 7085 6969 7086 case 38 2:7087 7088 /* Line 1806 of yacc.c */ 7089 #line 15 27"parser.yy"6970 case 387: 6971 6972 /* Line 1806 of yacc.c */ 6973 #line 1550 "parser.yy" 7090 6974 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7091 6975 break; 7092 6976 7093 case 38 3:7094 7095 /* Line 1806 of yacc.c */ 7096 #line 15 32"parser.yy"6977 case 388: 6978 6979 /* Line 1806 of yacc.c */ 6980 #line 1555 "parser.yy" 7097 6981 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7098 6982 break; 7099 6983 7100 case 38 4:7101 7102 /* Line 1806 of yacc.c */ 7103 #line 15 34"parser.yy"6984 case 389: 6985 6986 /* Line 1806 of yacc.c */ 6987 #line 1557 "parser.yy" 7104 6988 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7105 6989 break; 7106 6990 7107 case 3 85:7108 7109 /* Line 1806 of yacc.c */ 7110 #line 15 37"parser.yy"6991 case 390: 6992 6993 /* Line 1806 of yacc.c */ 6994 #line 1560 "parser.yy" 7111 6995 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7112 6996 break; 7113 6997 7114 case 3 86:7115 7116 /* Line 1806 of yacc.c */ 7117 #line 15 40"parser.yy"6998 case 391: 6999 7000 /* Line 1806 of yacc.c */ 7001 #line 1563 "parser.yy" 7118 7002 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7119 7003 break; 7120 7004 7121 case 3 88:7122 7123 /* Line 1806 of yacc.c */ 7124 #line 15 46"parser.yy"7005 case 393: 7006 7007 /* Line 1806 of yacc.c */ 7008 #line 1569 "parser.yy" 7125 7009 { (yyval.en) = 0; } 7126 7010 break; 7127 7011 7128 case 3 89:7129 7130 /* Line 1806 of yacc.c */ 7131 #line 15 48"parser.yy"7012 case 394: 7013 7014 /* Line 1806 of yacc.c */ 7015 #line 1571 "parser.yy" 7132 7016 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7133 7017 break; 7134 7018 7135 case 39 0:7136 7137 /* Line 1806 of yacc.c */ 7138 #line 15 53"parser.yy"7019 case 395: 7020 7021 /* Line 1806 of yacc.c */ 7022 #line 1576 "parser.yy" 7139 7023 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7140 7024 break; 7141 7025 7142 case 39 2:7143 7144 /* Line 1806 of yacc.c */ 7145 #line 15 62"parser.yy"7026 case 397: 7027 7028 /* Line 1806 of yacc.c */ 7029 #line 1585 "parser.yy" 7146 7030 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); } 7147 7031 break; 7148 7032 7149 case 39 3:7150 7151 /* Line 1806 of yacc.c */ 7152 #line 15 64"parser.yy"7033 case 398: 7034 7035 /* Line 1806 of yacc.c */ 7036 #line 1587 "parser.yy" 7153 7037 { 7154 7038 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7157 7041 break; 7158 7042 7159 case 39 4:7160 7161 /* Line 1806 of yacc.c */ 7162 #line 15 69"parser.yy"7043 case 399: 7044 7045 /* Line 1806 of yacc.c */ 7046 #line 1592 "parser.yy" 7163 7047 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7164 7048 break; 7165 7049 7166 case 395:7167 7168 /* Line 1806 of yacc.c */ 7169 #line 15 71"parser.yy"7050 case 400: 7051 7052 /* Line 1806 of yacc.c */ 7053 #line 1594 "parser.yy" 7170 7054 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7171 7055 break; 7172 7056 7173 case 396:7174 7175 /* Line 1806 of yacc.c */ 7176 #line 15 76"parser.yy"7057 case 401: 7058 7059 /* Line 1806 of yacc.c */ 7060 #line 1599 "parser.yy" 7177 7061 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7178 7062 break; 7179 7063 7180 case 397:7181 7182 /* Line 1806 of yacc.c */ 7183 #line 1 578"parser.yy"7064 case 402: 7065 7066 /* Line 1806 of yacc.c */ 7067 #line 1601 "parser.yy" 7184 7068 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7185 7069 break; 7186 7070 7187 case 398:7188 7189 /* Line 1806 of yacc.c */ 7190 #line 1 583"parser.yy"7071 case 403: 7072 7073 /* Line 1806 of yacc.c */ 7074 #line 1606 "parser.yy" 7191 7075 { (yyval.en) = 0; } 7192 7076 break; 7193 7077 7194 case 399:7195 7196 /* Line 1806 of yacc.c */ 7197 #line 1 585"parser.yy"7078 case 404: 7079 7080 /* Line 1806 of yacc.c */ 7081 #line 1608 "parser.yy" 7198 7082 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7199 7083 break; 7200 7084 7201 case 40 0:7202 7203 /* Line 1806 of yacc.c */ 7204 #line 1 592"parser.yy"7085 case 405: 7086 7087 /* Line 1806 of yacc.c */ 7088 #line 1615 "parser.yy" 7205 7089 { (yyval.decl) = 0; } 7206 7090 break; 7207 7091 7208 case 40 4:7209 7210 /* Line 1806 of yacc.c */ 7211 #line 16 00"parser.yy"7092 case 409: 7093 7094 /* Line 1806 of yacc.c */ 7095 #line 1623 "parser.yy" 7212 7096 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7213 7097 break; 7214 7098 7215 case 4 05:7216 7217 /* Line 1806 of yacc.c */ 7218 #line 16 02"parser.yy"7099 case 410: 7100 7101 /* Line 1806 of yacc.c */ 7102 #line 1625 "parser.yy" 7219 7103 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7220 7104 break; 7221 7105 7222 case 4 06:7223 7224 /* Line 1806 of yacc.c */ 7225 #line 16 04"parser.yy"7106 case 411: 7107 7108 /* Line 1806 of yacc.c */ 7109 #line 1627 "parser.yy" 7226 7110 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7227 7111 break; 7228 7112 7229 case 4 08:7230 7231 /* Line 1806 of yacc.c */ 7232 #line 16 12"parser.yy"7113 case 413: 7114 7115 /* Line 1806 of yacc.c */ 7116 #line 1635 "parser.yy" 7233 7117 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7234 7118 break; 7235 7119 7236 case 4 09:7237 7238 /* Line 1806 of yacc.c */ 7239 #line 16 14"parser.yy"7120 case 414: 7121 7122 /* Line 1806 of yacc.c */ 7123 #line 1637 "parser.yy" 7240 7124 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7241 7125 break; 7242 7126 7243 case 41 0:7244 7245 /* Line 1806 of yacc.c */ 7246 #line 16 16"parser.yy"7127 case 415: 7128 7129 /* Line 1806 of yacc.c */ 7130 #line 1639 "parser.yy" 7247 7131 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7248 7132 break; 7249 7133 7250 case 41 2:7251 7252 /* Line 1806 of yacc.c */ 7253 #line 16 22"parser.yy"7134 case 417: 7135 7136 /* Line 1806 of yacc.c */ 7137 #line 1645 "parser.yy" 7254 7138 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7255 7139 break; 7256 7140 7257 case 41 3:7258 7259 /* Line 1806 of yacc.c */ 7260 #line 16 27"parser.yy"7141 case 418: 7142 7143 /* Line 1806 of yacc.c */ 7144 #line 1650 "parser.yy" 7261 7145 { (yyval.decl) = 0; } 7262 7146 break; 7263 7147 7264 case 4 16:7265 7266 /* Line 1806 of yacc.c */ 7267 #line 16 34"parser.yy"7148 case 421: 7149 7150 /* Line 1806 of yacc.c */ 7151 #line 1657 "parser.yy" 7268 7152 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7269 7153 break; 7270 7154 7271 case 4 19:7272 7273 /* Line 1806 of yacc.c */ 7274 #line 16 41"parser.yy"7155 case 424: 7156 7157 /* Line 1806 of yacc.c */ 7158 #line 1664 "parser.yy" 7275 7159 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7276 7160 break; 7277 7161 7278 case 42 0:7279 7280 /* Line 1806 of yacc.c */ 7281 #line 16 43"parser.yy"7162 case 425: 7163 7164 /* Line 1806 of yacc.c */ 7165 #line 1666 "parser.yy" 7282 7166 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7283 7167 break; 7284 7168 7285 case 42 2:7286 7287 /* Line 1806 of yacc.c */ 7288 #line 16 52"parser.yy"7169 case 427: 7170 7171 /* Line 1806 of yacc.c */ 7172 #line 1675 "parser.yy" 7289 7173 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7290 7174 break; 7291 7175 7292 case 42 3:7293 7294 /* Line 1806 of yacc.c */ 7295 #line 16 55"parser.yy"7176 case 428: 7177 7178 /* Line 1806 of yacc.c */ 7179 #line 1678 "parser.yy" 7296 7180 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7297 7181 break; 7298 7182 7299 case 42 4:7300 7301 /* Line 1806 of yacc.c */ 7302 #line 16 57"parser.yy"7183 case 429: 7184 7185 /* Line 1806 of yacc.c */ 7186 #line 1680 "parser.yy" 7303 7187 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7304 7188 break; 7305 7189 7306 case 4 29:7307 7308 /* Line 1806 of yacc.c */ 7309 #line 16 67"parser.yy"7190 case 434: 7191 7192 /* Line 1806 of yacc.c */ 7193 #line 1690 "parser.yy" 7310 7194 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7311 7195 break; 7312 7196 7313 case 43 1:7314 7315 /* Line 1806 of yacc.c */ 7316 #line 16 73"parser.yy"7197 case 436: 7198 7199 /* Line 1806 of yacc.c */ 7200 #line 1696 "parser.yy" 7317 7201 { 7318 7202 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7321 7205 break; 7322 7206 7323 case 43 2:7324 7325 /* Line 1806 of yacc.c */ 7326 #line 1 678"parser.yy"7207 case 437: 7208 7209 /* Line 1806 of yacc.c */ 7210 #line 1701 "parser.yy" 7327 7211 { 7328 7212 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7331 7215 break; 7332 7216 7333 case 43 4:7334 7335 /* Line 1806 of yacc.c */ 7336 #line 1 687"parser.yy"7217 case 439: 7218 7219 /* Line 1806 of yacc.c */ 7220 #line 1710 "parser.yy" 7337 7221 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7338 7222 break; 7339 7223 7340 case 4 35:7341 7342 /* Line 1806 of yacc.c */ 7343 #line 1 696"parser.yy"7224 case 440: 7225 7226 /* Line 1806 of yacc.c */ 7227 #line 1719 "parser.yy" 7344 7228 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7345 7229 break; 7346 7230 7347 case 4 36:7348 7349 /* Line 1806 of yacc.c */ 7350 #line 1 698"parser.yy"7231 case 441: 7232 7233 /* Line 1806 of yacc.c */ 7234 #line 1721 "parser.yy" 7351 7235 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7352 7236 break; 7353 7237 7354 case 4 48:7355 7356 /* Line 1806 of yacc.c */ 7357 #line 17 23"parser.yy"7238 case 453: 7239 7240 /* Line 1806 of yacc.c */ 7241 #line 1746 "parser.yy" 7358 7242 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7359 7243 break; 7360 7244 7361 case 45 2:7362 7363 /* Line 1806 of yacc.c */ 7364 #line 17 31"parser.yy"7245 case 457: 7246 7247 /* Line 1806 of yacc.c */ 7248 #line 1754 "parser.yy" 7365 7249 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7366 7250 break; 7367 7251 7368 case 45 3:7369 7370 /* Line 1806 of yacc.c */ 7371 #line 17 36"parser.yy"7252 case 458: 7253 7254 /* Line 1806 of yacc.c */ 7255 #line 1759 "parser.yy" 7372 7256 { (yyval.in) = 0; } 7373 7257 break; 7374 7258 7375 case 45 4:7376 7377 /* Line 1806 of yacc.c */ 7378 #line 17 38"parser.yy"7259 case 459: 7260 7261 /* Line 1806 of yacc.c */ 7262 #line 1761 "parser.yy" 7379 7263 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7380 7264 break; 7381 7265 7382 case 4 55:7383 7384 /* Line 1806 of yacc.c */ 7385 #line 17 40"parser.yy"7266 case 460: 7267 7268 /* Line 1806 of yacc.c */ 7269 #line 1763 "parser.yy" 7386 7270 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7387 7271 break; 7388 7272 7389 case 4 56:7390 7391 /* Line 1806 of yacc.c */ 7392 #line 17 44"parser.yy"7273 case 461: 7274 7275 /* Line 1806 of yacc.c */ 7276 #line 1767 "parser.yy" 7393 7277 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7394 7278 break; 7395 7279 7396 case 4 57:7397 7398 /* Line 1806 of yacc.c */ 7399 #line 17 45"parser.yy"7280 case 462: 7281 7282 /* Line 1806 of yacc.c */ 7283 #line 1768 "parser.yy" 7400 7284 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7401 7285 break; 7402 7286 7403 case 4 58:7404 7405 /* Line 1806 of yacc.c */ 7406 #line 17 50"parser.yy"7287 case 463: 7288 7289 /* Line 1806 of yacc.c */ 7290 #line 1773 "parser.yy" 7407 7291 { (yyval.in) = 0; } 7408 7292 break; 7409 7293 7410 case 46 0:7411 7412 /* Line 1806 of yacc.c */ 7413 #line 17 52"parser.yy"7294 case 465: 7295 7296 /* Line 1806 of yacc.c */ 7297 #line 1775 "parser.yy" 7414 7298 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7415 7299 break; 7416 7300 7417 case 46 1:7418 7419 /* Line 1806 of yacc.c */ 7420 #line 17 53"parser.yy"7301 case 466: 7302 7303 /* Line 1806 of yacc.c */ 7304 #line 1776 "parser.yy" 7421 7305 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7422 7306 break; 7423 7307 7424 case 46 2:7425 7426 /* Line 1806 of yacc.c */ 7427 #line 17 55"parser.yy"7308 case 467: 7309 7310 /* Line 1806 of yacc.c */ 7311 #line 1778 "parser.yy" 7428 7312 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7429 7313 break; 7430 7314 7431 case 46 4:7432 7433 /* Line 1806 of yacc.c */ 7434 #line 17 71"parser.yy"7315 case 469: 7316 7317 /* Line 1806 of yacc.c */ 7318 #line 1794 "parser.yy" 7435 7319 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7436 7320 break; 7437 7321 7438 case 4 66:7439 7440 /* Line 1806 of yacc.c */ 7441 #line 1 777"parser.yy"7322 case 471: 7323 7324 /* Line 1806 of yacc.c */ 7325 #line 1800 "parser.yy" 7442 7326 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 7443 7327 break; 7444 7328 7445 case 4 67:7446 7447 /* Line 1806 of yacc.c */ 7448 #line 1 783"parser.yy"7329 case 472: 7330 7331 /* Line 1806 of yacc.c */ 7332 #line 1806 "parser.yy" 7449 7333 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7450 7334 break; 7451 7335 7452 case 4 68:7453 7454 /* Line 1806 of yacc.c */ 7455 #line 1 786"parser.yy"7336 case 473: 7337 7338 /* Line 1806 of yacc.c */ 7339 #line 1809 "parser.yy" 7456 7340 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7457 7341 break; 7458 7342 7459 case 4 69:7460 7461 /* Line 1806 of yacc.c */ 7462 #line 1 788"parser.yy"7343 case 474: 7344 7345 /* Line 1806 of yacc.c */ 7346 #line 1811 "parser.yy" 7463 7347 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7464 7348 break; 7465 7349 7466 case 47 0:7467 7468 /* Line 1806 of yacc.c */ 7469 #line 1 790"parser.yy"7350 case 475: 7351 7352 /* Line 1806 of yacc.c */ 7353 #line 1813 "parser.yy" 7470 7354 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7471 7355 break; 7472 7356 7473 case 47 1:7474 7475 /* Line 1806 of yacc.c */ 7476 #line 1 792"parser.yy"7357 case 476: 7358 7359 /* Line 1806 of yacc.c */ 7360 #line 1815 "parser.yy" 7477 7361 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7478 7362 break; 7479 7363 7480 case 47 3:7481 7482 /* Line 1806 of yacc.c */ 7483 #line 18 16"parser.yy"7364 case 478: 7365 7366 /* Line 1806 of yacc.c */ 7367 #line 1839 "parser.yy" 7484 7368 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7485 7369 break; 7486 7370 7487 case 47 4:7488 7489 /* Line 1806 of yacc.c */ 7490 #line 18 18"parser.yy"7371 case 479: 7372 7373 /* Line 1806 of yacc.c */ 7374 #line 1841 "parser.yy" 7491 7375 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7492 7376 break; 7493 7377 7494 case 4 75:7495 7496 /* Line 1806 of yacc.c */ 7497 #line 18 20"parser.yy"7378 case 480: 7379 7380 /* Line 1806 of yacc.c */ 7381 #line 1843 "parser.yy" 7498 7382 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7499 7383 break; 7500 7384 7501 case 4 77:7502 7503 /* Line 1806 of yacc.c */ 7504 #line 18 26"parser.yy"7385 case 482: 7386 7387 /* Line 1806 of yacc.c */ 7388 #line 1849 "parser.yy" 7505 7389 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7506 7390 break; 7507 7391 7508 case 4 78:7509 7510 /* Line 1806 of yacc.c */ 7511 #line 18 28"parser.yy"7392 case 483: 7393 7394 /* Line 1806 of yacc.c */ 7395 #line 1851 "parser.yy" 7512 7396 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7513 7397 break; 7514 7398 7515 case 4 79:7516 7517 /* Line 1806 of yacc.c */ 7518 #line 18 33"parser.yy"7399 case 484: 7400 7401 /* Line 1806 of yacc.c */ 7402 #line 1856 "parser.yy" 7519 7403 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7520 7404 break; 7521 7405 7522 case 48 1:7523 7524 /* Line 1806 of yacc.c */ 7525 #line 18 39"parser.yy"7406 case 486: 7407 7408 /* Line 1806 of yacc.c */ 7409 #line 1862 "parser.yy" 7526 7410 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7527 7411 break; 7528 7412 7529 case 48 2:7530 7531 /* Line 1806 of yacc.c */ 7532 #line 18 44"parser.yy"7413 case 487: 7414 7415 /* Line 1806 of yacc.c */ 7416 #line 1867 "parser.yy" 7533 7417 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7534 7418 break; 7535 7419 7536 case 48 3:7537 7538 /* Line 1806 of yacc.c */ 7539 #line 18 46"parser.yy"7420 case 488: 7421 7422 /* Line 1806 of yacc.c */ 7423 #line 1869 "parser.yy" 7540 7424 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7541 7425 break; 7542 7426 7543 case 4 85:7544 7545 /* Line 1806 of yacc.c */ 7546 #line 18 52"parser.yy"7427 case 490: 7428 7429 /* Line 1806 of yacc.c */ 7430 #line 1875 "parser.yy" 7547 7431 { (yyval.tclass) = DeclarationNode::Otype; } 7548 7432 break; 7549 7433 7550 case 4 86:7551 7552 /* Line 1806 of yacc.c */ 7553 #line 18 54"parser.yy"7434 case 491: 7435 7436 /* Line 1806 of yacc.c */ 7437 #line 1877 "parser.yy" 7554 7438 { (yyval.tclass) = DeclarationNode::Ftype; } 7555 7439 break; 7556 7440 7557 case 4 87:7558 7559 /* Line 1806 of yacc.c */ 7560 #line 18 56"parser.yy"7441 case 492: 7442 7443 /* Line 1806 of yacc.c */ 7444 #line 1879 "parser.yy" 7561 7445 { (yyval.tclass) = DeclarationNode::Dtype; } 7562 7446 break; 7563 7447 7564 case 4 88:7565 7566 /* Line 1806 of yacc.c */ 7567 #line 18 61"parser.yy"7448 case 493: 7449 7450 /* Line 1806 of yacc.c */ 7451 #line 1884 "parser.yy" 7568 7452 { (yyval.decl) = 0; } 7569 7453 break; 7570 7454 7571 case 4 89:7572 7573 /* Line 1806 of yacc.c */ 7574 #line 18 63"parser.yy"7455 case 494: 7456 7457 /* Line 1806 of yacc.c */ 7458 #line 1886 "parser.yy" 7575 7459 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7576 7460 break; 7577 7461 7578 case 49 0:7579 7580 /* Line 1806 of yacc.c */ 7581 #line 18 68"parser.yy"7462 case 495: 7463 7464 /* Line 1806 of yacc.c */ 7465 #line 1891 "parser.yy" 7582 7466 { 7583 7467 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7586 7470 break; 7587 7471 7588 case 49 1:7589 7590 /* Line 1806 of yacc.c */ 7591 #line 18 73"parser.yy"7472 case 496: 7473 7474 /* Line 1806 of yacc.c */ 7475 #line 1896 "parser.yy" 7592 7476 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7593 7477 break; 7594 7478 7595 case 49 2:7596 7597 /* Line 1806 of yacc.c */ 7598 #line 18 75"parser.yy"7479 case 497: 7480 7481 /* Line 1806 of yacc.c */ 7482 #line 1898 "parser.yy" 7599 7483 { (yyval.decl) = 0; } 7600 7484 break; 7601 7485 7602 case 49 3:7603 7604 /* Line 1806 of yacc.c */ 7605 #line 1 880"parser.yy"7486 case 498: 7487 7488 /* Line 1806 of yacc.c */ 7489 #line 1903 "parser.yy" 7606 7490 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7607 7491 break; 7608 7492 7609 case 495:7610 7611 /* Line 1806 of yacc.c */ 7612 #line 1 883"parser.yy"7493 case 500: 7494 7495 /* Line 1806 of yacc.c */ 7496 #line 1906 "parser.yy" 7613 7497 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7614 7498 break; 7615 7499 7616 case 496:7617 7618 /* Line 1806 of yacc.c */ 7619 #line 1 885"parser.yy"7500 case 501: 7501 7502 /* Line 1806 of yacc.c */ 7503 #line 1908 "parser.yy" 7620 7504 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 7621 7505 break; 7622 7506 7623 case 497:7624 7625 /* Line 1806 of yacc.c */ 7626 #line 1 890"parser.yy"7507 case 502: 7508 7509 /* Line 1806 of yacc.c */ 7510 #line 1913 "parser.yy" 7627 7511 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7628 7512 break; 7629 7513 7630 case 498:7631 7632 /* Line 1806 of yacc.c */ 7633 #line 1 892"parser.yy"7514 case 503: 7515 7516 /* Line 1806 of yacc.c */ 7517 #line 1915 "parser.yy" 7634 7518 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7635 7519 break; 7636 7520 7637 case 499:7638 7639 /* Line 1806 of yacc.c */ 7640 #line 1 894"parser.yy"7521 case 504: 7522 7523 /* Line 1806 of yacc.c */ 7524 #line 1917 "parser.yy" 7641 7525 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7642 7526 break; 7643 7527 7644 case 50 0:7645 7646 /* Line 1806 of yacc.c */ 7647 #line 1 899"parser.yy"7528 case 505: 7529 7530 /* Line 1806 of yacc.c */ 7531 #line 1922 "parser.yy" 7648 7532 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7649 7533 break; 7650 7534 7651 case 50 1:7652 7653 /* Line 1806 of yacc.c */ 7654 #line 19 01"parser.yy"7535 case 506: 7536 7537 /* Line 1806 of yacc.c */ 7538 #line 1924 "parser.yy" 7655 7539 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7656 7540 break; 7657 7541 7658 case 50 2:7659 7660 /* Line 1806 of yacc.c */ 7661 #line 19 06"parser.yy"7542 case 507: 7543 7544 /* Line 1806 of yacc.c */ 7545 #line 1929 "parser.yy" 7662 7546 { 7663 7547 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7666 7550 break; 7667 7551 7668 case 50 3:7669 7670 /* Line 1806 of yacc.c */ 7671 #line 19 11"parser.yy"7552 case 508: 7553 7554 /* Line 1806 of yacc.c */ 7555 #line 1934 "parser.yy" 7672 7556 { 7673 7557 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7676 7560 break; 7677 7561 7678 case 50 4:7679 7680 /* Line 1806 of yacc.c */ 7681 #line 19 19"parser.yy"7562 case 509: 7563 7564 /* Line 1806 of yacc.c */ 7565 #line 1942 "parser.yy" 7682 7566 { 7683 7567 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7686 7570 break; 7687 7571 7688 case 5 05:7689 7690 /* Line 1806 of yacc.c */ 7691 #line 19 24"parser.yy"7572 case 510: 7573 7574 /* Line 1806 of yacc.c */ 7575 #line 1947 "parser.yy" 7692 7576 { 7693 7577 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7696 7580 break; 7697 7581 7698 case 5 06:7699 7700 /* Line 1806 of yacc.c */ 7701 #line 19 29"parser.yy"7582 case 511: 7583 7584 /* Line 1806 of yacc.c */ 7585 #line 1952 "parser.yy" 7702 7586 { 7703 7587 typedefTable.leaveTrait(); … … 7707 7591 break; 7708 7592 7709 case 5 08:7710 7711 /* Line 1806 of yacc.c */ 7712 #line 19 39"parser.yy"7593 case 513: 7594 7595 /* Line 1806 of yacc.c */ 7596 #line 1962 "parser.yy" 7713 7597 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7714 7598 break; 7715 7599 7716 case 51 1:7717 7718 /* Line 1806 of yacc.c */ 7719 #line 19 49"parser.yy"7600 case 516: 7601 7602 /* Line 1806 of yacc.c */ 7603 #line 1972 "parser.yy" 7720 7604 { 7721 7605 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7724 7608 break; 7725 7609 7726 case 51 2:7727 7728 /* Line 1806 of yacc.c */ 7729 #line 19 54"parser.yy"7610 case 517: 7611 7612 /* Line 1806 of yacc.c */ 7613 #line 1977 "parser.yy" 7730 7614 { 7731 7615 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7734 7618 break; 7735 7619 7736 case 51 3:7737 7738 /* Line 1806 of yacc.c */ 7739 #line 19 59"parser.yy"7620 case 518: 7621 7622 /* Line 1806 of yacc.c */ 7623 #line 1982 "parser.yy" 7740 7624 { 7741 7625 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7744 7628 break; 7745 7629 7746 case 51 4:7747 7748 /* Line 1806 of yacc.c */ 7749 #line 19 67"parser.yy"7630 case 519: 7631 7632 /* Line 1806 of yacc.c */ 7633 #line 1990 "parser.yy" 7750 7634 { 7751 7635 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7754 7638 break; 7755 7639 7756 case 5 15:7757 7758 /* Line 1806 of yacc.c */ 7759 #line 19 72"parser.yy"7640 case 520: 7641 7642 /* Line 1806 of yacc.c */ 7643 #line 1995 "parser.yy" 7760 7644 { 7761 7645 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7764 7648 break; 7765 7649 7766 case 5 16:7767 7768 /* Line 1806 of yacc.c */ 7769 #line 1982"parser.yy"7650 case 521: 7651 7652 /* Line 1806 of yacc.c */ 7653 #line 2005 "parser.yy" 7770 7654 {} 7771 7655 break; 7772 7656 7773 case 5 17:7774 7775 /* Line 1806 of yacc.c */ 7776 #line 1984"parser.yy"7657 case 522: 7658 7659 /* Line 1806 of yacc.c */ 7660 #line 2007 "parser.yy" 7777 7661 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 7778 7662 break; 7779 7663 7780 case 5 19:7781 7782 /* Line 1806 of yacc.c */ 7783 #line 1990"parser.yy"7664 case 524: 7665 7666 /* Line 1806 of yacc.c */ 7667 #line 2013 "parser.yy" 7784 7668 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7785 7669 break; 7786 7670 7787 case 52 0:7788 7789 /* Line 1806 of yacc.c */ 7790 #line 1995"parser.yy"7671 case 525: 7672 7673 /* Line 1806 of yacc.c */ 7674 #line 2018 "parser.yy" 7791 7675 { (yyval.decl) = 0; } 7792 7676 break; 7793 7677 7794 case 52 4:7795 7796 /* Line 1806 of yacc.c */ 7797 #line 20 03"parser.yy"7678 case 529: 7679 7680 /* Line 1806 of yacc.c */ 7681 #line 2026 "parser.yy" 7798 7682 {} 7799 7683 break; 7800 7684 7801 case 5 25:7802 7803 /* Line 1806 of yacc.c */ 7804 #line 20 05"parser.yy"7685 case 530: 7686 7687 /* Line 1806 of yacc.c */ 7688 #line 2028 "parser.yy" 7805 7689 { 7806 7690 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" 7807 linkage = LinkageSpec:: fromString( *(yyvsp[(2) - (2)].tok) );7691 linkage = LinkageSpec::linkageCheck( (yyvsp[(2) - (2)].tok) ); 7808 7692 } 7809 7693 break; 7810 7694 7811 case 5 26:7812 7813 /* Line 1806 of yacc.c */ 7814 #line 20 10"parser.yy"7695 case 531: 7696 7697 /* Line 1806 of yacc.c */ 7698 #line 2033 "parser.yy" 7815 7699 { 7816 7700 linkage = linkageStack.top(); … … 7820 7704 break; 7821 7705 7822 case 5 27:7823 7824 /* Line 1806 of yacc.c */ 7825 #line 20 16"parser.yy"7706 case 532: 7707 7708 /* Line 1806 of yacc.c */ 7709 #line 2039 "parser.yy" 7826 7710 { // mark all fields in list 7827 7711 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7831 7715 break; 7832 7716 7833 case 5 29:7834 7835 /* Line 1806 of yacc.c */ 7836 #line 20 31"parser.yy"7717 case 534: 7718 7719 /* Line 1806 of yacc.c */ 7720 #line 2054 "parser.yy" 7837 7721 { 7838 7722 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7842 7726 break; 7843 7727 7844 case 53 0:7845 7846 /* Line 1806 of yacc.c */ 7847 #line 20 37"parser.yy"7728 case 535: 7729 7730 /* Line 1806 of yacc.c */ 7731 #line 2060 "parser.yy" 7848 7732 { 7849 7733 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7853 7737 break; 7854 7738 7855 case 53 1:7856 7857 /* Line 1806 of yacc.c */ 7858 #line 20 46"parser.yy"7739 case 536: 7740 7741 /* Line 1806 of yacc.c */ 7742 #line 2069 "parser.yy" 7859 7743 { 7860 7744 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7864 7748 break; 7865 7749 7866 case 53 2:7867 7868 /* Line 1806 of yacc.c */ 7869 #line 20 52"parser.yy"7750 case 537: 7751 7752 /* Line 1806 of yacc.c */ 7753 #line 2075 "parser.yy" 7870 7754 { 7871 7755 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7875 7759 break; 7876 7760 7877 case 53 3:7878 7879 /* Line 1806 of yacc.c */ 7880 #line 20 58"parser.yy"7761 case 538: 7762 7763 /* Line 1806 of yacc.c */ 7764 #line 2081 "parser.yy" 7881 7765 { 7882 7766 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7886 7770 break; 7887 7771 7888 case 53 4:7889 7890 /* Line 1806 of yacc.c */ 7891 #line 20 64"parser.yy"7772 case 539: 7773 7774 /* Line 1806 of yacc.c */ 7775 #line 2087 "parser.yy" 7892 7776 { 7893 7777 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7897 7781 break; 7898 7782 7899 case 5 35:7900 7901 /* Line 1806 of yacc.c */ 7902 #line 20 70"parser.yy"7783 case 540: 7784 7785 /* Line 1806 of yacc.c */ 7786 #line 2093 "parser.yy" 7903 7787 { 7904 7788 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7908 7792 break; 7909 7793 7910 case 5 36:7911 7912 /* Line 1806 of yacc.c */ 7913 #line 2 078"parser.yy"7794 case 541: 7795 7796 /* Line 1806 of yacc.c */ 7797 #line 2101 "parser.yy" 7914 7798 { 7915 7799 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7919 7803 break; 7920 7804 7921 case 5 37:7922 7923 /* Line 1806 of yacc.c */ 7924 #line 2 084"parser.yy"7805 case 542: 7806 7807 /* Line 1806 of yacc.c */ 7808 #line 2107 "parser.yy" 7925 7809 { 7926 7810 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7930 7814 break; 7931 7815 7932 case 5 38:7933 7934 /* Line 1806 of yacc.c */ 7935 #line 2 092"parser.yy"7816 case 543: 7817 7818 /* Line 1806 of yacc.c */ 7819 #line 2115 "parser.yy" 7936 7820 { 7937 7821 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7941 7825 break; 7942 7826 7943 case 5 39:7944 7945 /* Line 1806 of yacc.c */ 7946 #line 2 098"parser.yy"7827 case 544: 7828 7829 /* Line 1806 of yacc.c */ 7830 #line 2121 "parser.yy" 7947 7831 { 7948 7832 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7952 7836 break; 7953 7837 7954 case 54 3:7955 7956 /* Line 1806 of yacc.c */ 7957 #line 21 13"parser.yy"7838 case 548: 7839 7840 /* Line 1806 of yacc.c */ 7841 #line 2136 "parser.yy" 7958 7842 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7959 7843 break; 7960 7844 7961 case 5 45:7962 7963 /* Line 1806 of yacc.c */ 7964 #line 21 18"parser.yy"7845 case 550: 7846 7847 /* Line 1806 of yacc.c */ 7848 #line 2141 "parser.yy" 7965 7849 { delete (yyvsp[(3) - (5)].str); } 7966 7850 break; 7967 7851 7968 case 5 46:7969 7970 /* Line 1806 of yacc.c */ 7971 #line 21 23"parser.yy"7852 case 551: 7853 7854 /* Line 1806 of yacc.c */ 7855 #line 2146 "parser.yy" 7972 7856 { (yyval.decl) = 0; } 7973 7857 break; 7974 7858 7975 case 5 49:7976 7977 /* Line 1806 of yacc.c */ 7978 #line 21 30"parser.yy"7859 case 554: 7860 7861 /* Line 1806 of yacc.c */ 7862 #line 2153 "parser.yy" 7979 7863 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7980 7864 break; 7981 7865 7982 case 55 0:7983 7984 /* Line 1806 of yacc.c */ 7985 #line 21 36"parser.yy"7866 case 555: 7867 7868 /* Line 1806 of yacc.c */ 7869 #line 2159 "parser.yy" 7986 7870 { (yyval.decl) = 0; } 7987 7871 break; 7988 7872 7989 case 5 55:7990 7991 /* Line 1806 of yacc.c */ 7992 #line 21 47"parser.yy"7873 case 560: 7874 7875 /* Line 1806 of yacc.c */ 7876 #line 2170 "parser.yy" 7993 7877 { delete (yyvsp[(3) - (4)].en); } 7994 7878 break; 7995 7879 7996 case 5 56:7997 7998 /* Line 1806 of yacc.c */ 7999 #line 21 51"parser.yy"7880 case 561: 7881 7882 /* Line 1806 of yacc.c */ 7883 #line 2174 "parser.yy" 8000 7884 { delete (yyvsp[(1) - (1)].tok); } 8001 7885 break; 8002 7886 8003 case 5 57:8004 8005 /* Line 1806 of yacc.c */ 8006 #line 21 52"parser.yy"7887 case 562: 7888 7889 /* Line 1806 of yacc.c */ 7890 #line 2175 "parser.yy" 8007 7891 { delete (yyvsp[(1) - (1)].decl); } 8008 7892 break; 8009 7893 8010 case 5 58:8011 8012 /* Line 1806 of yacc.c */ 8013 #line 21 53"parser.yy"7894 case 563: 7895 7896 /* Line 1806 of yacc.c */ 7897 #line 2176 "parser.yy" 8014 7898 { delete (yyvsp[(1) - (1)].decl); } 8015 7899 break; 8016 7900 8017 case 5 59:8018 8019 /* Line 1806 of yacc.c */ 8020 #line 21 54"parser.yy"7901 case 564: 7902 7903 /* Line 1806 of yacc.c */ 7904 #line 2177 "parser.yy" 8021 7905 { delete (yyvsp[(1) - (1)].decl); } 8022 7906 break; 8023 7907 8024 case 56 0:8025 8026 /* Line 1806 of yacc.c */ 8027 #line 2 189"parser.yy"7908 case 565: 7909 7910 /* Line 1806 of yacc.c */ 7911 #line 2212 "parser.yy" 8028 7912 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8029 7913 break; 8030 7914 8031 case 56 2:8032 8033 /* Line 1806 of yacc.c */ 8034 #line 2 192"parser.yy"7915 case 567: 7916 7917 /* Line 1806 of yacc.c */ 7918 #line 2215 "parser.yy" 8035 7919 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8036 7920 break; 8037 7921 8038 case 56 3:8039 8040 /* Line 1806 of yacc.c */ 8041 #line 2 194"parser.yy"7922 case 568: 7923 7924 /* Line 1806 of yacc.c */ 7925 #line 2217 "parser.yy" 8042 7926 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8043 7927 break; 8044 7928 8045 case 56 4:8046 8047 /* Line 1806 of yacc.c */ 8048 #line 2 199"parser.yy"7929 case 569: 7930 7931 /* Line 1806 of yacc.c */ 7932 #line 2222 "parser.yy" 8049 7933 { 8050 7934 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8053 7937 break; 8054 7938 8055 case 5 65:8056 8057 /* Line 1806 of yacc.c */ 8058 #line 22 04"parser.yy"7939 case 570: 7940 7941 /* Line 1806 of yacc.c */ 7942 #line 2227 "parser.yy" 8059 7943 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8060 7944 break; 8061 7945 8062 case 5 66:8063 8064 /* Line 1806 of yacc.c */ 8065 #line 22 09"parser.yy"7946 case 571: 7947 7948 /* Line 1806 of yacc.c */ 7949 #line 2232 "parser.yy" 8066 7950 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8067 7951 break; 8068 7952 8069 case 5 67:8070 8071 /* Line 1806 of yacc.c */ 8072 #line 22 11"parser.yy"7953 case 572: 7954 7955 /* Line 1806 of yacc.c */ 7956 #line 2234 "parser.yy" 8073 7957 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8074 7958 break; 8075 7959 8076 case 5 68:8077 8078 /* Line 1806 of yacc.c */ 8079 #line 22 13"parser.yy"7960 case 573: 7961 7962 /* Line 1806 of yacc.c */ 7963 #line 2236 "parser.yy" 8080 7964 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8081 7965 break; 8082 7966 8083 case 5 69:8084 8085 /* Line 1806 of yacc.c */ 8086 #line 22 18"parser.yy"7967 case 574: 7968 7969 /* Line 1806 of yacc.c */ 7970 #line 2241 "parser.yy" 8087 7971 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8088 7972 break; 8089 7973 8090 case 57 0:8091 8092 /* Line 1806 of yacc.c */ 8093 #line 22 20"parser.yy"7974 case 575: 7975 7976 /* Line 1806 of yacc.c */ 7977 #line 2243 "parser.yy" 8094 7978 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8095 7979 break; 8096 7980 8097 case 57 1:8098 8099 /* Line 1806 of yacc.c */ 8100 #line 22 22"parser.yy"7981 case 576: 7982 7983 /* Line 1806 of yacc.c */ 7984 #line 2245 "parser.yy" 8101 7985 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8102 7986 break; 8103 7987 8104 case 57 2:8105 8106 /* Line 1806 of yacc.c */ 8107 #line 22 24"parser.yy"7988 case 577: 7989 7990 /* Line 1806 of yacc.c */ 7991 #line 2247 "parser.yy" 8108 7992 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8109 7993 break; 8110 7994 8111 case 57 3:8112 8113 /* Line 1806 of yacc.c */ 8114 #line 22 29"parser.yy"7995 case 578: 7996 7997 /* Line 1806 of yacc.c */ 7998 #line 2252 "parser.yy" 8115 7999 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8116 8000 break; 8117 8001 8118 case 57 4:8119 8120 /* Line 1806 of yacc.c */ 8121 #line 22 31"parser.yy"8002 case 579: 8003 8004 /* Line 1806 of yacc.c */ 8005 #line 2254 "parser.yy" 8122 8006 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8123 8007 break; 8124 8008 8125 case 5 75:8126 8127 /* Line 1806 of yacc.c */ 8128 #line 22 40"parser.yy"8009 case 580: 8010 8011 /* Line 1806 of yacc.c */ 8012 #line 2263 "parser.yy" 8129 8013 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8130 8014 break; 8131 8015 8132 case 5 77:8133 8134 /* Line 1806 of yacc.c */ 8135 #line 22 43"parser.yy"8016 case 582: 8017 8018 /* Line 1806 of yacc.c */ 8019 #line 2266 "parser.yy" 8136 8020 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8137 8021 break; 8138 8022 8139 case 5 78:8140 8141 /* Line 1806 of yacc.c */ 8142 #line 22 48"parser.yy"8023 case 583: 8024 8025 /* Line 1806 of yacc.c */ 8026 #line 2271 "parser.yy" 8143 8027 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8144 8028 break; 8145 8029 8146 case 5 79:8147 8148 /* Line 1806 of yacc.c */ 8149 #line 22 50"parser.yy"8030 case 584: 8031 8032 /* Line 1806 of yacc.c */ 8033 #line 2273 "parser.yy" 8150 8034 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8151 8035 break; 8152 8036 8153 case 58 0:8154 8155 /* Line 1806 of yacc.c */ 8156 #line 22 52"parser.yy"8037 case 585: 8038 8039 /* Line 1806 of yacc.c */ 8040 #line 2275 "parser.yy" 8157 8041 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8158 8042 break; 8159 8043 8160 case 58 1:8161 8162 /* Line 1806 of yacc.c */ 8163 #line 22 57"parser.yy"8044 case 586: 8045 8046 /* Line 1806 of yacc.c */ 8047 #line 2280 "parser.yy" 8164 8048 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8165 8049 break; 8166 8050 8167 case 58 2:8168 8169 /* Line 1806 of yacc.c */ 8170 #line 22 59"parser.yy"8051 case 587: 8052 8053 /* Line 1806 of yacc.c */ 8054 #line 2282 "parser.yy" 8171 8055 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8172 8056 break; 8173 8057 8174 case 58 3:8175 8176 /* Line 1806 of yacc.c */ 8177 #line 22 61"parser.yy"8058 case 588: 8059 8060 /* Line 1806 of yacc.c */ 8061 #line 2284 "parser.yy" 8178 8062 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8179 8063 break; 8180 8064 8181 case 58 4:8182 8183 /* Line 1806 of yacc.c */ 8184 #line 22 66"parser.yy"8065 case 589: 8066 8067 /* Line 1806 of yacc.c */ 8068 #line 2289 "parser.yy" 8185 8069 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8186 8070 break; 8187 8071 8188 case 5 85:8189 8190 /* Line 1806 of yacc.c */ 8191 #line 22 68"parser.yy"8072 case 590: 8073 8074 /* Line 1806 of yacc.c */ 8075 #line 2291 "parser.yy" 8192 8076 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8193 8077 break; 8194 8078 8195 case 5 86:8196 8197 /* Line 1806 of yacc.c */ 8198 #line 22 70"parser.yy"8079 case 591: 8080 8081 /* Line 1806 of yacc.c */ 8082 #line 2293 "parser.yy" 8199 8083 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8200 8084 break; 8201 8085 8202 case 59 0:8203 8204 /* Line 1806 of yacc.c */ 8205 #line 2 285"parser.yy"8086 case 595: 8087 8088 /* Line 1806 of yacc.c */ 8089 #line 2308 "parser.yy" 8206 8090 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8207 8091 break; 8208 8092 8209 case 59 1:8210 8211 /* Line 1806 of yacc.c */ 8212 #line 2 287"parser.yy"8093 case 596: 8094 8095 /* Line 1806 of yacc.c */ 8096 #line 2310 "parser.yy" 8213 8097 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8214 8098 break; 8215 8099 8216 case 59 2:8217 8218 /* Line 1806 of yacc.c */ 8219 #line 2 289"parser.yy"8100 case 597: 8101 8102 /* Line 1806 of yacc.c */ 8103 #line 2312 "parser.yy" 8220 8104 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8221 8105 break; 8222 8106 8223 case 59 3:8224 8225 /* Line 1806 of yacc.c */ 8226 #line 2 294"parser.yy"8107 case 598: 8108 8109 /* Line 1806 of yacc.c */ 8110 #line 2317 "parser.yy" 8227 8111 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8228 8112 break; 8229 8113 8230 case 59 4:8231 8232 /* Line 1806 of yacc.c */ 8233 #line 2 296"parser.yy"8114 case 599: 8115 8116 /* Line 1806 of yacc.c */ 8117 #line 2319 "parser.yy" 8234 8118 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8235 8119 break; 8236 8120 8237 case 595:8238 8239 /* Line 1806 of yacc.c */ 8240 #line 2 298"parser.yy"8121 case 600: 8122 8123 /* Line 1806 of yacc.c */ 8124 #line 2321 "parser.yy" 8241 8125 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8242 8126 break; 8243 8127 8244 case 596:8245 8246 /* Line 1806 of yacc.c */ 8247 #line 23 03"parser.yy"8128 case 601: 8129 8130 /* Line 1806 of yacc.c */ 8131 #line 2326 "parser.yy" 8248 8132 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8249 8133 break; 8250 8134 8251 case 597:8252 8253 /* Line 1806 of yacc.c */ 8254 #line 23 05"parser.yy"8135 case 602: 8136 8137 /* Line 1806 of yacc.c */ 8138 #line 2328 "parser.yy" 8255 8139 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8256 8140 break; 8257 8141 8258 case 598:8259 8260 /* Line 1806 of yacc.c */ 8261 #line 23 07"parser.yy"8142 case 603: 8143 8144 /* Line 1806 of yacc.c */ 8145 #line 2330 "parser.yy" 8262 8146 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8263 8147 break; 8264 8148 8265 case 599:8266 8267 /* Line 1806 of yacc.c */ 8268 #line 23 22"parser.yy"8149 case 604: 8150 8151 /* Line 1806 of yacc.c */ 8152 #line 2345 "parser.yy" 8269 8153 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8270 8154 break; 8271 8155 8272 case 60 1:8273 8274 /* Line 1806 of yacc.c */ 8275 #line 23 25"parser.yy"8156 case 606: 8157 8158 /* Line 1806 of yacc.c */ 8159 #line 2348 "parser.yy" 8276 8160 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8277 8161 break; 8278 8162 8279 case 60 2:8280 8281 /* Line 1806 of yacc.c */ 8282 #line 23 27"parser.yy"8163 case 607: 8164 8165 /* Line 1806 of yacc.c */ 8166 #line 2350 "parser.yy" 8283 8167 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8284 8168 break; 8285 8169 8286 case 60 4:8287 8288 /* Line 1806 of yacc.c */ 8289 #line 23 33"parser.yy"8170 case 609: 8171 8172 /* Line 1806 of yacc.c */ 8173 #line 2356 "parser.yy" 8290 8174 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8291 8175 break; 8292 8176 8293 case 6 05:8294 8295 /* Line 1806 of yacc.c */ 8296 #line 23 38"parser.yy"8177 case 610: 8178 8179 /* Line 1806 of yacc.c */ 8180 #line 2361 "parser.yy" 8297 8181 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8298 8182 break; 8299 8183 8300 case 6 06:8301 8302 /* Line 1806 of yacc.c */ 8303 #line 23 40"parser.yy"8184 case 611: 8185 8186 /* Line 1806 of yacc.c */ 8187 #line 2363 "parser.yy" 8304 8188 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8305 8189 break; 8306 8190 8307 case 6 07:8308 8309 /* Line 1806 of yacc.c */ 8310 #line 23 42"parser.yy"8191 case 612: 8192 8193 /* Line 1806 of yacc.c */ 8194 #line 2365 "parser.yy" 8311 8195 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8312 8196 break; 8313 8197 8314 case 6 08:8315 8316 /* Line 1806 of yacc.c */ 8317 #line 23 47"parser.yy"8198 case 613: 8199 8200 /* Line 1806 of yacc.c */ 8201 #line 2370 "parser.yy" 8318 8202 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8319 8203 break; 8320 8204 8321 case 6 09:8322 8323 /* Line 1806 of yacc.c */ 8324 #line 23 49"parser.yy"8205 case 614: 8206 8207 /* Line 1806 of yacc.c */ 8208 #line 2372 "parser.yy" 8325 8209 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8326 8210 break; 8327 8211 8328 case 61 0:8329 8330 /* Line 1806 of yacc.c */ 8331 #line 23 51"parser.yy"8212 case 615: 8213 8214 /* Line 1806 of yacc.c */ 8215 #line 2374 "parser.yy" 8332 8216 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8333 8217 break; 8334 8218 8335 case 61 1:8336 8337 /* Line 1806 of yacc.c */ 8338 #line 23 53"parser.yy"8219 case 616: 8220 8221 /* Line 1806 of yacc.c */ 8222 #line 2376 "parser.yy" 8339 8223 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8340 8224 break; 8341 8225 8342 case 61 2:8343 8344 /* Line 1806 of yacc.c */ 8345 #line 23 58"parser.yy"8226 case 617: 8227 8228 /* Line 1806 of yacc.c */ 8229 #line 2381 "parser.yy" 8346 8230 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8347 8231 break; 8348 8232 8349 case 61 3:8350 8351 /* Line 1806 of yacc.c */ 8352 #line 23 60"parser.yy"8233 case 618: 8234 8235 /* Line 1806 of yacc.c */ 8236 #line 2383 "parser.yy" 8353 8237 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8354 8238 break; 8355 8239 8356 case 61 4:8357 8358 /* Line 1806 of yacc.c */ 8359 #line 23 62"parser.yy"8240 case 619: 8241 8242 /* Line 1806 of yacc.c */ 8243 #line 2385 "parser.yy" 8360 8244 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8361 8245 break; 8362 8246 8363 case 6 15:8364 8365 /* Line 1806 of yacc.c */ 8366 #line 23 72"parser.yy"8247 case 620: 8248 8249 /* Line 1806 of yacc.c */ 8250 #line 2395 "parser.yy" 8367 8251 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8368 8252 break; 8369 8253 8370 case 6 17:8371 8372 /* Line 1806 of yacc.c */ 8373 #line 23 75"parser.yy"8254 case 622: 8255 8256 /* Line 1806 of yacc.c */ 8257 #line 2398 "parser.yy" 8374 8258 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8375 8259 break; 8376 8260 8377 case 6 18:8378 8379 /* Line 1806 of yacc.c */ 8380 #line 2 377"parser.yy"8261 case 623: 8262 8263 /* Line 1806 of yacc.c */ 8264 #line 2400 "parser.yy" 8381 8265 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8382 8266 break; 8383 8267 8384 case 6 19:8385 8386 /* Line 1806 of yacc.c */ 8387 #line 2 382"parser.yy"8268 case 624: 8269 8270 /* Line 1806 of yacc.c */ 8271 #line 2405 "parser.yy" 8388 8272 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8389 8273 break; 8390 8274 8391 case 62 0:8392 8393 /* Line 1806 of yacc.c */ 8394 #line 2 384"parser.yy"8275 case 625: 8276 8277 /* Line 1806 of yacc.c */ 8278 #line 2407 "parser.yy" 8395 8279 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8396 8280 break; 8397 8281 8398 case 62 1:8399 8400 /* Line 1806 of yacc.c */ 8401 #line 2 386"parser.yy"8282 case 626: 8283 8284 /* Line 1806 of yacc.c */ 8285 #line 2409 "parser.yy" 8402 8286 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8403 8287 break; 8404 8288 8405 case 62 2:8406 8407 /* Line 1806 of yacc.c */ 8408 #line 2 391"parser.yy"8289 case 627: 8290 8291 /* Line 1806 of yacc.c */ 8292 #line 2414 "parser.yy" 8409 8293 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8410 8294 break; 8411 8295 8412 case 62 3:8413 8414 /* Line 1806 of yacc.c */ 8415 #line 2 393"parser.yy"8296 case 628: 8297 8298 /* Line 1806 of yacc.c */ 8299 #line 2416 "parser.yy" 8416 8300 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8417 8301 break; 8418 8302 8419 case 62 4:8420 8421 /* Line 1806 of yacc.c */ 8422 #line 2 395"parser.yy"8303 case 629: 8304 8305 /* Line 1806 of yacc.c */ 8306 #line 2418 "parser.yy" 8423 8307 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8424 8308 break; 8425 8309 8426 case 6 25:8427 8428 /* Line 1806 of yacc.c */ 8429 #line 2 397"parser.yy"8310 case 630: 8311 8312 /* Line 1806 of yacc.c */ 8313 #line 2420 "parser.yy" 8430 8314 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8431 8315 break; 8432 8316 8433 case 6 26:8434 8435 /* Line 1806 of yacc.c */ 8436 #line 24 02"parser.yy"8317 case 631: 8318 8319 /* Line 1806 of yacc.c */ 8320 #line 2425 "parser.yy" 8437 8321 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8438 8322 break; 8439 8323 8440 case 6 27:8441 8442 /* Line 1806 of yacc.c */ 8443 #line 24 04"parser.yy"8324 case 632: 8325 8326 /* Line 1806 of yacc.c */ 8327 #line 2427 "parser.yy" 8444 8328 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8445 8329 break; 8446 8330 8447 case 6 28:8448 8449 /* Line 1806 of yacc.c */ 8450 #line 24 06"parser.yy"8331 case 633: 8332 8333 /* Line 1806 of yacc.c */ 8334 #line 2429 "parser.yy" 8451 8335 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8452 8336 break; 8453 8337 8454 case 6 29:8455 8456 /* Line 1806 of yacc.c */ 8457 #line 24 37"parser.yy"8338 case 634: 8339 8340 /* Line 1806 of yacc.c */ 8341 #line 2460 "parser.yy" 8458 8342 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8459 8343 break; 8460 8344 8461 case 63 1:8462 8463 /* Line 1806 of yacc.c */ 8464 #line 24 40"parser.yy"8345 case 636: 8346 8347 /* Line 1806 of yacc.c */ 8348 #line 2463 "parser.yy" 8465 8349 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8466 8350 break; 8467 8351 8468 case 63 2:8469 8470 /* Line 1806 of yacc.c */ 8471 #line 24 42"parser.yy"8352 case 637: 8353 8354 /* Line 1806 of yacc.c */ 8355 #line 2465 "parser.yy" 8472 8356 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8473 8357 break; 8474 8358 8475 case 63 3:8476 8477 /* Line 1806 of yacc.c */ 8478 #line 24 47"parser.yy"8359 case 638: 8360 8361 /* Line 1806 of yacc.c */ 8362 #line 2470 "parser.yy" 8479 8363 { 8480 8364 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8483 8367 break; 8484 8368 8485 case 63 4:8486 8487 /* Line 1806 of yacc.c */ 8488 #line 24 52"parser.yy"8369 case 639: 8370 8371 /* Line 1806 of yacc.c */ 8372 #line 2475 "parser.yy" 8489 8373 { 8490 8374 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8493 8377 break; 8494 8378 8495 case 6 35:8496 8497 /* Line 1806 of yacc.c */ 8498 #line 24 60"parser.yy"8379 case 640: 8380 8381 /* Line 1806 of yacc.c */ 8382 #line 2483 "parser.yy" 8499 8383 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8500 8384 break; 8501 8385 8502 case 6 36:8503 8504 /* Line 1806 of yacc.c */ 8505 #line 24 62"parser.yy"8386 case 641: 8387 8388 /* Line 1806 of yacc.c */ 8389 #line 2485 "parser.yy" 8506 8390 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8507 8391 break; 8508 8392 8509 case 6 37:8510 8511 /* Line 1806 of yacc.c */ 8512 #line 24 64"parser.yy"8393 case 642: 8394 8395 /* Line 1806 of yacc.c */ 8396 #line 2487 "parser.yy" 8513 8397 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8514 8398 break; 8515 8399 8516 case 6 38:8517 8518 /* Line 1806 of yacc.c */ 8519 #line 24 69"parser.yy"8400 case 643: 8401 8402 /* Line 1806 of yacc.c */ 8403 #line 2492 "parser.yy" 8520 8404 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8521 8405 break; 8522 8406 8523 case 6 39:8524 8525 /* Line 1806 of yacc.c */ 8526 #line 24 71"parser.yy"8407 case 644: 8408 8409 /* Line 1806 of yacc.c */ 8410 #line 2494 "parser.yy" 8527 8411 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8528 8412 break; 8529 8413 8530 case 64 0:8531 8532 /* Line 1806 of yacc.c */ 8533 #line 24 76"parser.yy"8414 case 645: 8415 8416 /* Line 1806 of yacc.c */ 8417 #line 2499 "parser.yy" 8534 8418 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8535 8419 break; 8536 8420 8537 case 64 1:8538 8539 /* Line 1806 of yacc.c */ 8540 #line 2 478"parser.yy"8421 case 646: 8422 8423 /* Line 1806 of yacc.c */ 8424 #line 2501 "parser.yy" 8541 8425 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8542 8426 break; 8543 8427 8544 case 64 3:8545 8546 /* Line 1806 of yacc.c */ 8547 #line 2 493"parser.yy"8428 case 648: 8429 8430 /* Line 1806 of yacc.c */ 8431 #line 2516 "parser.yy" 8548 8432 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8549 8433 break; 8550 8434 8551 case 64 4:8552 8553 /* Line 1806 of yacc.c */ 8554 #line 2 495"parser.yy"8435 case 649: 8436 8437 /* Line 1806 of yacc.c */ 8438 #line 2518 "parser.yy" 8555 8439 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8556 8440 break; 8557 8441 8558 case 6 45:8559 8560 /* Line 1806 of yacc.c */ 8561 #line 25 00"parser.yy"8442 case 650: 8443 8444 /* Line 1806 of yacc.c */ 8445 #line 2523 "parser.yy" 8562 8446 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8563 8447 break; 8564 8448 8565 case 6 46:8566 8567 /* Line 1806 of yacc.c */ 8568 #line 25 02"parser.yy"8449 case 651: 8450 8451 /* Line 1806 of yacc.c */ 8452 #line 2525 "parser.yy" 8569 8453 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8570 8454 break; 8571 8455 8572 case 6 47:8573 8574 /* Line 1806 of yacc.c */ 8575 #line 25 04"parser.yy"8456 case 652: 8457 8458 /* Line 1806 of yacc.c */ 8459 #line 2527 "parser.yy" 8576 8460 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8577 8461 break; 8578 8462 8579 case 6 48:8580 8581 /* Line 1806 of yacc.c */ 8582 #line 25 06"parser.yy"8463 case 653: 8464 8465 /* Line 1806 of yacc.c */ 8466 #line 2529 "parser.yy" 8583 8467 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8584 8468 break; 8585 8469 8586 case 6 49:8587 8588 /* Line 1806 of yacc.c */ 8589 #line 25 08"parser.yy"8470 case 654: 8471 8472 /* Line 1806 of yacc.c */ 8473 #line 2531 "parser.yy" 8590 8474 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8591 8475 break; 8592 8476 8593 case 65 1:8594 8595 /* Line 1806 of yacc.c */ 8596 #line 25 14"parser.yy"8477 case 656: 8478 8479 /* Line 1806 of yacc.c */ 8480 #line 2537 "parser.yy" 8597 8481 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8598 8482 break; 8599 8483 8600 case 65 2:8601 8602 /* Line 1806 of yacc.c */ 8603 #line 25 16"parser.yy"8484 case 657: 8485 8486 /* Line 1806 of yacc.c */ 8487 #line 2539 "parser.yy" 8604 8488 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8605 8489 break; 8606 8490 8607 case 65 3:8608 8609 /* Line 1806 of yacc.c */ 8610 #line 25 18"parser.yy"8491 case 658: 8492 8493 /* Line 1806 of yacc.c */ 8494 #line 2541 "parser.yy" 8611 8495 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8612 8496 break; 8613 8497 8614 case 65 4:8615 8616 /* Line 1806 of yacc.c */ 8617 #line 25 23"parser.yy"8498 case 659: 8499 8500 /* Line 1806 of yacc.c */ 8501 #line 2546 "parser.yy" 8618 8502 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8619 8503 break; 8620 8504 8621 case 6 55:8622 8623 /* Line 1806 of yacc.c */ 8624 #line 25 25"parser.yy"8505 case 660: 8506 8507 /* Line 1806 of yacc.c */ 8508 #line 2548 "parser.yy" 8625 8509 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8626 8510 break; 8627 8511 8628 case 6 56:8629 8630 /* Line 1806 of yacc.c */ 8631 #line 25 27"parser.yy"8512 case 661: 8513 8514 /* Line 1806 of yacc.c */ 8515 #line 2550 "parser.yy" 8632 8516 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8633 8517 break; 8634 8518 8635 case 6 57:8636 8637 /* Line 1806 of yacc.c */ 8638 #line 25 33"parser.yy"8519 case 662: 8520 8521 /* Line 1806 of yacc.c */ 8522 #line 2556 "parser.yy" 8639 8523 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8640 8524 break; 8641 8525 8642 case 6 58:8643 8644 /* Line 1806 of yacc.c */ 8645 #line 25 35"parser.yy"8526 case 663: 8527 8528 /* Line 1806 of yacc.c */ 8529 #line 2558 "parser.yy" 8646 8530 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8647 8531 break; 8648 8532 8649 case 66 0:8650 8651 /* Line 1806 of yacc.c */ 8652 #line 25 41"parser.yy"8533 case 665: 8534 8535 /* Line 1806 of yacc.c */ 8536 #line 2564 "parser.yy" 8653 8537 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8654 8538 break; 8655 8539 8656 case 66 1:8657 8658 /* Line 1806 of yacc.c */ 8659 #line 25 43"parser.yy"8540 case 666: 8541 8542 /* Line 1806 of yacc.c */ 8543 #line 2566 "parser.yy" 8660 8544 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8661 8545 break; 8662 8546 8663 case 66 2:8664 8665 /* Line 1806 of yacc.c */ 8666 #line 25 45"parser.yy"8547 case 667: 8548 8549 /* Line 1806 of yacc.c */ 8550 #line 2568 "parser.yy" 8667 8551 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8668 8552 break; 8669 8553 8670 case 66 3:8671 8672 /* Line 1806 of yacc.c */ 8673 #line 25 47"parser.yy"8554 case 668: 8555 8556 /* Line 1806 of yacc.c */ 8557 #line 2570 "parser.yy" 8674 8558 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8675 8559 break; 8676 8560 8677 case 6 65:8678 8679 /* Line 1806 of yacc.c */ 8680 #line 25 62"parser.yy"8561 case 670: 8562 8563 /* Line 1806 of yacc.c */ 8564 #line 2585 "parser.yy" 8681 8565 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8682 8566 break; 8683 8567 8684 case 6 66:8685 8686 /* Line 1806 of yacc.c */ 8687 #line 25 64"parser.yy"8568 case 671: 8569 8570 /* Line 1806 of yacc.c */ 8571 #line 2587 "parser.yy" 8688 8572 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8689 8573 break; 8690 8574 8691 case 6 67:8692 8693 /* Line 1806 of yacc.c */ 8694 #line 25 69"parser.yy"8575 case 672: 8576 8577 /* Line 1806 of yacc.c */ 8578 #line 2592 "parser.yy" 8695 8579 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8696 8580 break; 8697 8581 8698 case 6 68:8699 8700 /* Line 1806 of yacc.c */ 8701 #line 25 71"parser.yy"8582 case 673: 8583 8584 /* Line 1806 of yacc.c */ 8585 #line 2594 "parser.yy" 8702 8586 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8703 8587 break; 8704 8588 8705 case 6 69:8706 8707 /* Line 1806 of yacc.c */ 8708 #line 25 73"parser.yy"8589 case 674: 8590 8591 /* Line 1806 of yacc.c */ 8592 #line 2596 "parser.yy" 8709 8593 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8710 8594 break; 8711 8595 8712 case 67 0:8713 8714 /* Line 1806 of yacc.c */ 8715 #line 25 75"parser.yy"8596 case 675: 8597 8598 /* Line 1806 of yacc.c */ 8599 #line 2598 "parser.yy" 8716 8600 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8717 8601 break; 8718 8602 8719 case 67 1:8720 8721 /* Line 1806 of yacc.c */ 8722 #line 2 577"parser.yy"8603 case 676: 8604 8605 /* Line 1806 of yacc.c */ 8606 #line 2600 "parser.yy" 8723 8607 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8724 8608 break; 8725 8609 8726 case 67 3:8727 8728 /* Line 1806 of yacc.c */ 8729 #line 2 583"parser.yy"8610 case 678: 8611 8612 /* Line 1806 of yacc.c */ 8613 #line 2606 "parser.yy" 8730 8614 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8731 8615 break; 8732 8616 8733 case 67 4:8734 8735 /* Line 1806 of yacc.c */ 8736 #line 2 585"parser.yy"8617 case 679: 8618 8619 /* Line 1806 of yacc.c */ 8620 #line 2608 "parser.yy" 8737 8621 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8738 8622 break; 8739 8623 8740 case 6 75:8741 8742 /* Line 1806 of yacc.c */ 8743 #line 2 587"parser.yy"8624 case 680: 8625 8626 /* Line 1806 of yacc.c */ 8627 #line 2610 "parser.yy" 8744 8628 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8745 8629 break; 8746 8630 8747 case 6 76:8748 8749 /* Line 1806 of yacc.c */ 8750 #line 2 592"parser.yy"8631 case 681: 8632 8633 /* Line 1806 of yacc.c */ 8634 #line 2615 "parser.yy" 8751 8635 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8752 8636 break; 8753 8637 8754 case 6 77:8755 8756 /* Line 1806 of yacc.c */ 8757 #line 2 594"parser.yy"8638 case 682: 8639 8640 /* Line 1806 of yacc.c */ 8641 #line 2617 "parser.yy" 8758 8642 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8759 8643 break; 8760 8644 8761 case 6 78:8762 8763 /* Line 1806 of yacc.c */ 8764 #line 2 596"parser.yy"8645 case 683: 8646 8647 /* Line 1806 of yacc.c */ 8648 #line 2619 "parser.yy" 8765 8649 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8766 8650 break; 8767 8651 8768 case 68 0:8769 8770 /* Line 1806 of yacc.c */ 8771 #line 26 03"parser.yy"8652 case 685: 8653 8654 /* Line 1806 of yacc.c */ 8655 #line 2626 "parser.yy" 8772 8656 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8773 8657 break; 8774 8658 8775 case 68 2:8776 8777 /* Line 1806 of yacc.c */ 8778 #line 26 14"parser.yy"8659 case 687: 8660 8661 /* Line 1806 of yacc.c */ 8662 #line 2637 "parser.yy" 8779 8663 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8780 8664 break; 8781 8665 8782 case 68 3:8783 8784 /* Line 1806 of yacc.c */ 8785 #line 26 17"parser.yy"8666 case 688: 8667 8668 /* Line 1806 of yacc.c */ 8669 #line 2640 "parser.yy" 8786 8670 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8787 8671 break; 8788 8672 8789 case 68 4:8790 8791 /* Line 1806 of yacc.c */ 8792 #line 26 19"parser.yy"8673 case 689: 8674 8675 /* Line 1806 of yacc.c */ 8676 #line 2642 "parser.yy" 8793 8677 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8794 8678 break; 8795 8679 8796 case 6 85:8797 8798 /* Line 1806 of yacc.c */ 8799 #line 26 22"parser.yy"8680 case 690: 8681 8682 /* Line 1806 of yacc.c */ 8683 #line 2645 "parser.yy" 8800 8684 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8801 8685 break; 8802 8686 8803 case 6 86:8804 8805 /* Line 1806 of yacc.c */ 8806 #line 26 24"parser.yy"8687 case 691: 8688 8689 /* Line 1806 of yacc.c */ 8690 #line 2647 "parser.yy" 8807 8691 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8808 8692 break; 8809 8693 8810 case 6 87:8811 8812 /* Line 1806 of yacc.c */ 8813 #line 26 26"parser.yy"8694 case 692: 8695 8696 /* Line 1806 of yacc.c */ 8697 #line 2649 "parser.yy" 8814 8698 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8815 8699 break; 8816 8700 8817 case 6 89:8818 8819 /* Line 1806 of yacc.c */ 8820 #line 26 40"parser.yy"8701 case 694: 8702 8703 /* Line 1806 of yacc.c */ 8704 #line 2663 "parser.yy" 8821 8705 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8822 8706 break; 8823 8707 8824 case 69 0:8825 8826 /* Line 1806 of yacc.c */ 8827 #line 26 42"parser.yy"8708 case 695: 8709 8710 /* Line 1806 of yacc.c */ 8711 #line 2665 "parser.yy" 8828 8712 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8829 8713 break; 8830 8714 8831 case 69 1:8832 8833 /* Line 1806 of yacc.c */ 8834 #line 26 47"parser.yy"8715 case 696: 8716 8717 /* Line 1806 of yacc.c */ 8718 #line 2670 "parser.yy" 8835 8719 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8836 8720 break; 8837 8721 8838 case 69 2:8839 8840 /* Line 1806 of yacc.c */ 8841 #line 26 49"parser.yy"8722 case 697: 8723 8724 /* Line 1806 of yacc.c */ 8725 #line 2672 "parser.yy" 8842 8726 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8843 8727 break; 8844 8728 8845 case 69 3:8846 8847 /* Line 1806 of yacc.c */ 8848 #line 26 51"parser.yy"8729 case 698: 8730 8731 /* Line 1806 of yacc.c */ 8732 #line 2674 "parser.yy" 8849 8733 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8850 8734 break; 8851 8735 8852 case 69 4:8853 8854 /* Line 1806 of yacc.c */ 8855 #line 26 53"parser.yy"8736 case 699: 8737 8738 /* Line 1806 of yacc.c */ 8739 #line 2676 "parser.yy" 8856 8740 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8857 8741 break; 8858 8742 8859 case 695:8860 8861 /* Line 1806 of yacc.c */ 8862 #line 26 55"parser.yy"8743 case 700: 8744 8745 /* Line 1806 of yacc.c */ 8746 #line 2678 "parser.yy" 8863 8747 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8864 8748 break; 8865 8749 8866 case 697:8867 8868 /* Line 1806 of yacc.c */ 8869 #line 26 61"parser.yy"8750 case 702: 8751 8752 /* Line 1806 of yacc.c */ 8753 #line 2684 "parser.yy" 8870 8754 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8871 8755 break; 8872 8756 8873 case 698:8874 8875 /* Line 1806 of yacc.c */ 8876 #line 26 63"parser.yy"8757 case 703: 8758 8759 /* Line 1806 of yacc.c */ 8760 #line 2686 "parser.yy" 8877 8761 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8878 8762 break; 8879 8763 8880 case 699:8881 8882 /* Line 1806 of yacc.c */ 8883 #line 26 65"parser.yy"8764 case 704: 8765 8766 /* Line 1806 of yacc.c */ 8767 #line 2688 "parser.yy" 8884 8768 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8885 8769 break; 8886 8770 8887 case 70 0:8888 8889 /* Line 1806 of yacc.c */ 8890 #line 26 70"parser.yy"8771 case 705: 8772 8773 /* Line 1806 of yacc.c */ 8774 #line 2693 "parser.yy" 8891 8775 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8892 8776 break; 8893 8777 8894 case 70 1:8895 8896 /* Line 1806 of yacc.c */ 8897 #line 26 72"parser.yy"8778 case 706: 8779 8780 /* Line 1806 of yacc.c */ 8781 #line 2695 "parser.yy" 8898 8782 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8899 8783 break; 8900 8784 8901 case 70 4:8902 8903 /* Line 1806 of yacc.c */ 8904 #line 2 682"parser.yy"8785 case 709: 8786 8787 /* Line 1806 of yacc.c */ 8788 #line 2705 "parser.yy" 8905 8789 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8906 8790 break; 8907 8791 8908 case 7 07:8909 8910 /* Line 1806 of yacc.c */ 8911 #line 2 692"parser.yy"8792 case 712: 8793 8794 /* Line 1806 of yacc.c */ 8795 #line 2715 "parser.yy" 8912 8796 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8913 8797 break; 8914 8798 8915 case 7 08:8916 8917 /* Line 1806 of yacc.c */ 8918 #line 2 694"parser.yy"8799 case 713: 8800 8801 /* Line 1806 of yacc.c */ 8802 #line 2717 "parser.yy" 8919 8803 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8920 8804 break; 8921 8805 8922 case 7 09:8923 8924 /* Line 1806 of yacc.c */ 8925 #line 2 696"parser.yy"8806 case 714: 8807 8808 /* Line 1806 of yacc.c */ 8809 #line 2719 "parser.yy" 8926 8810 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8927 8811 break; 8928 8812 8929 case 71 0:8930 8931 /* Line 1806 of yacc.c */ 8932 #line 2 698"parser.yy"8813 case 715: 8814 8815 /* Line 1806 of yacc.c */ 8816 #line 2721 "parser.yy" 8933 8817 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8934 8818 break; 8935 8819 8936 case 71 1:8937 8938 /* Line 1806 of yacc.c */ 8939 #line 27 00"parser.yy"8820 case 716: 8821 8822 /* Line 1806 of yacc.c */ 8823 #line 2723 "parser.yy" 8940 8824 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8941 8825 break; 8942 8826 8943 case 71 2:8944 8945 /* Line 1806 of yacc.c */ 8946 #line 27 02"parser.yy"8827 case 717: 8828 8829 /* Line 1806 of yacc.c */ 8830 #line 2725 "parser.yy" 8947 8831 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8948 8832 break; 8949 8833 8950 case 71 3:8951 8952 /* Line 1806 of yacc.c */ 8953 #line 27 09"parser.yy"8834 case 718: 8835 8836 /* Line 1806 of yacc.c */ 8837 #line 2732 "parser.yy" 8954 8838 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8955 8839 break; 8956 8840 8957 case 71 4:8958 8959 /* Line 1806 of yacc.c */ 8960 #line 27 11"parser.yy"8841 case 719: 8842 8843 /* Line 1806 of yacc.c */ 8844 #line 2734 "parser.yy" 8961 8845 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8962 8846 break; 8963 8847 8964 case 7 15:8965 8966 /* Line 1806 of yacc.c */ 8967 #line 27 13"parser.yy"8848 case 720: 8849 8850 /* Line 1806 of yacc.c */ 8851 #line 2736 "parser.yy" 8968 8852 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8969 8853 break; 8970 8854 8971 case 7 16:8972 8973 /* Line 1806 of yacc.c */ 8974 #line 27 15"parser.yy"8855 case 721: 8856 8857 /* Line 1806 of yacc.c */ 8858 #line 2738 "parser.yy" 8975 8859 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8976 8860 break; 8977 8861 8978 case 7 17:8979 8980 /* Line 1806 of yacc.c */ 8981 #line 27 17"parser.yy"8862 case 722: 8863 8864 /* Line 1806 of yacc.c */ 8865 #line 2740 "parser.yy" 8982 8866 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8983 8867 break; 8984 8868 8985 case 7 18:8986 8987 /* Line 1806 of yacc.c */ 8988 #line 27 19"parser.yy"8869 case 723: 8870 8871 /* Line 1806 of yacc.c */ 8872 #line 2743 "parser.yy" 8989 8873 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8990 8874 break; 8991 8875 8992 case 7 19:8993 8994 /* Line 1806 of yacc.c */ 8995 #line 27 21"parser.yy"8876 case 724: 8877 8878 /* Line 1806 of yacc.c */ 8879 #line 2745 "parser.yy" 8996 8880 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8997 8881 break; 8998 8882 8999 case 72 0:9000 9001 /* Line 1806 of yacc.c */ 9002 #line 27 23"parser.yy"8883 case 725: 8884 8885 /* Line 1806 of yacc.c */ 8886 #line 2747 "parser.yy" 9003 8887 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9004 8888 break; 9005 8889 9006 case 72 1:9007 9008 /* Line 1806 of yacc.c */ 9009 #line 27 25"parser.yy"8890 case 726: 8891 8892 /* Line 1806 of yacc.c */ 8893 #line 2749 "parser.yy" 9010 8894 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9011 8895 break; 9012 8896 9013 case 72 2:9014 9015 /* Line 1806 of yacc.c */ 9016 #line 27 27"parser.yy"8897 case 727: 8898 8899 /* Line 1806 of yacc.c */ 8900 #line 2751 "parser.yy" 9017 8901 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9018 8902 break; 9019 8903 9020 case 72 3:9021 9022 /* Line 1806 of yacc.c */ 9023 #line 27 32"parser.yy"8904 case 728: 8905 8906 /* Line 1806 of yacc.c */ 8907 #line 2756 "parser.yy" 9024 8908 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9025 8909 break; 9026 8910 9027 case 72 4:9028 9029 /* Line 1806 of yacc.c */ 9030 #line 27 34"parser.yy"8911 case 729: 8912 8913 /* Line 1806 of yacc.c */ 8914 #line 2758 "parser.yy" 9031 8915 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9032 8916 break; 9033 8917 9034 case 7 25:9035 9036 /* Line 1806 of yacc.c */ 9037 #line 27 39"parser.yy"8918 case 730: 8919 8920 /* Line 1806 of yacc.c */ 8921 #line 2763 "parser.yy" 9038 8922 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9039 8923 break; 9040 8924 9041 case 7 26:9042 9043 /* Line 1806 of yacc.c */ 9044 #line 27 41"parser.yy"8925 case 731: 8926 8927 /* Line 1806 of yacc.c */ 8928 #line 2765 "parser.yy" 9045 8929 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9046 8930 break; 9047 8931 9048 case 7 28:9049 9050 /* Line 1806 of yacc.c */ 9051 #line 27 68"parser.yy"8932 case 733: 8933 8934 /* Line 1806 of yacc.c */ 8935 #line 2792 "parser.yy" 9052 8936 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9053 8937 break; 9054 8938 9055 case 73 2:9056 9057 /* Line 1806 of yacc.c */ 9058 #line 2 779"parser.yy"8939 case 737: 8940 8941 /* Line 1806 of yacc.c */ 8942 #line 2803 "parser.yy" 9059 8943 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9060 8944 break; 9061 8945 9062 case 73 3:9063 9064 /* Line 1806 of yacc.c */ 9065 #line 2 781"parser.yy"8946 case 738: 8947 8948 /* Line 1806 of yacc.c */ 8949 #line 2805 "parser.yy" 9066 8950 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9067 8951 break; 9068 8952 9069 case 73 4:9070 9071 /* Line 1806 of yacc.c */ 9072 #line 2 783"parser.yy"8953 case 739: 8954 8955 /* Line 1806 of yacc.c */ 8956 #line 2807 "parser.yy" 9073 8957 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9074 8958 break; 9075 8959 9076 case 7 35:9077 9078 /* Line 1806 of yacc.c */ 9079 #line 2 785"parser.yy"8960 case 740: 8961 8962 /* Line 1806 of yacc.c */ 8963 #line 2809 "parser.yy" 9080 8964 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9081 8965 break; 9082 8966 9083 case 7 36:9084 9085 /* Line 1806 of yacc.c */ 9086 #line 2 787"parser.yy"8967 case 741: 8968 8969 /* Line 1806 of yacc.c */ 8970 #line 2811 "parser.yy" 9087 8971 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9088 8972 break; 9089 8973 9090 case 7 37:9091 9092 /* Line 1806 of yacc.c */ 9093 #line 2 789"parser.yy"8974 case 742: 8975 8976 /* Line 1806 of yacc.c */ 8977 #line 2813 "parser.yy" 9094 8978 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9095 8979 break; 9096 8980 9097 case 7 38:9098 9099 /* Line 1806 of yacc.c */ 9100 #line 2 796"parser.yy"8981 case 743: 8982 8983 /* Line 1806 of yacc.c */ 8984 #line 2820 "parser.yy" 9101 8985 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9102 8986 break; 9103 8987 9104 case 7 39:9105 9106 /* Line 1806 of yacc.c */ 9107 #line 2 798"parser.yy"8988 case 744: 8989 8990 /* Line 1806 of yacc.c */ 8991 #line 2822 "parser.yy" 9108 8992 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9109 8993 break; 9110 8994 9111 case 74 0:9112 9113 /* Line 1806 of yacc.c */ 9114 #line 28 00"parser.yy"8995 case 745: 8996 8997 /* Line 1806 of yacc.c */ 8998 #line 2824 "parser.yy" 9115 8999 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9116 9000 break; 9117 9001 9118 case 74 1:9119 9120 /* Line 1806 of yacc.c */ 9121 #line 28 02"parser.yy"9002 case 746: 9003 9004 /* Line 1806 of yacc.c */ 9005 #line 2826 "parser.yy" 9122 9006 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9123 9007 break; 9124 9008 9125 case 74 2:9126 9127 /* Line 1806 of yacc.c */ 9128 #line 28 04"parser.yy"9009 case 747: 9010 9011 /* Line 1806 of yacc.c */ 9012 #line 2828 "parser.yy" 9129 9013 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9130 9014 break; 9131 9015 9132 case 74 3:9133 9134 /* Line 1806 of yacc.c */ 9135 #line 28 06"parser.yy"9016 case 748: 9017 9018 /* Line 1806 of yacc.c */ 9019 #line 2830 "parser.yy" 9136 9020 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9137 9021 break; 9138 9022 9139 case 74 4:9140 9141 /* Line 1806 of yacc.c */ 9142 #line 28 11"parser.yy"9023 case 749: 9024 9025 /* Line 1806 of yacc.c */ 9026 #line 2835 "parser.yy" 9143 9027 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9144 9028 break; 9145 9029 9146 case 745: 9147 9148 /* Line 1806 of yacc.c */ 9149 #line 2816 "parser.yy" 9150 { (yyval.decl) = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), (yyvsp[(4) - (5)].decl), nullptr ); } 9151 break; 9152 9153 case 746: 9154 9155 /* Line 1806 of yacc.c */ 9156 #line 2818 "parser.yy" 9030 case 750: 9031 9032 /* Line 1806 of yacc.c */ 9033 #line 2842 "parser.yy" 9157 9034 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9158 9035 break; 9159 9036 9160 case 7 47:9161 9162 /* Line 1806 of yacc.c */ 9163 #line 28 20"parser.yy"9037 case 751: 9038 9039 /* Line 1806 of yacc.c */ 9040 #line 2844 "parser.yy" 9164 9041 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9165 9042 break; 9166 9043 9167 case 75 0:9168 9169 /* Line 1806 of yacc.c */ 9170 #line 28 44"parser.yy"9044 case 754: 9045 9046 /* Line 1806 of yacc.c */ 9047 #line 2868 "parser.yy" 9171 9048 { (yyval.en) = 0; } 9172 9049 break; 9173 9050 9174 case 75 1:9175 9176 /* Line 1806 of yacc.c */ 9177 #line 28 46"parser.yy"9051 case 755: 9052 9053 /* Line 1806 of yacc.c */ 9054 #line 2870 "parser.yy" 9178 9055 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9179 9056 break; … … 9182 9059 9183 9060 /* Line 1806 of yacc.c */ 9184 #line 9 185"Parser/parser.cc"9061 #line 9062 "Parser/parser.cc" 9185 9062 default: break; 9186 9063 } … … 9413 9290 9414 9291 /* Line 2067 of yacc.c */ 9415 #line 28 49"parser.yy"9292 #line 2873 "parser.yy" 9416 9293 9417 9294 // ----end of grammar---- -
src/Parser/parser.h
r40744af8 rf51aefb 115 115 ATTR_TYPEGENname = 333, 116 116 INTEGERconstant = 334, 117 FLOATINGconstant = 335, 118 CHARACTERconstant = 336, 119 STRINGliteral = 337, 120 ZERO = 338, 121 ONE = 339, 122 ARROW = 340, 123 ICR = 341, 124 DECR = 342, 125 LS = 343, 126 RS = 344, 127 LE = 345, 128 GE = 346, 129 EQ = 347, 130 NE = 348, 131 ANDAND = 349, 132 OROR = 350, 133 ELLIPSIS = 351, 134 MULTassign = 352, 135 DIVassign = 353, 136 MODassign = 354, 137 PLUSassign = 355, 138 MINUSassign = 356, 139 LSassign = 357, 140 RSassign = 358, 141 ANDassign = 359, 142 ERassign = 360, 143 ORassign = 361, 144 ATassign = 362, 145 THEN = 363 117 CHARACTERconstant = 335, 118 STRINGliteral = 336, 119 REALDECIMALconstant = 337, 120 REALFRACTIONconstant = 338, 121 FLOATINGconstant = 339, 122 ZERO = 340, 123 ONE = 341, 124 ARROW = 342, 125 ICR = 343, 126 DECR = 344, 127 LS = 345, 128 RS = 346, 129 LE = 347, 130 GE = 348, 131 EQ = 349, 132 NE = 350, 133 ANDAND = 351, 134 OROR = 352, 135 ELLIPSIS = 353, 136 MULTassign = 354, 137 DIVassign = 355, 138 MODassign = 356, 139 PLUSassign = 357, 140 MINUSassign = 358, 141 LSassign = 359, 142 RSassign = 360, 143 ANDassign = 361, 144 ERassign = 362, 145 ORassign = 363, 146 ATassign = 364, 147 THEN = 365 146 148 }; 147 149 #endif … … 224 226 #define ATTR_TYPEGENname 333 225 227 #define INTEGERconstant 334 226 #define FLOATINGconstant 335 227 #define CHARACTERconstant 336 228 #define STRINGliteral 337 229 #define ZERO 338 230 #define ONE 339 231 #define ARROW 340 232 #define ICR 341 233 #define DECR 342 234 #define LS 343 235 #define RS 344 236 #define LE 345 237 #define GE 346 238 #define EQ 347 239 #define NE 348 240 #define ANDAND 349 241 #define OROR 350 242 #define ELLIPSIS 351 243 #define MULTassign 352 244 #define DIVassign 353 245 #define MODassign 354 246 #define PLUSassign 355 247 #define MINUSassign 356 248 #define LSassign 357 249 #define RSassign 358 250 #define ANDassign 359 251 #define ERassign 360 252 #define ORassign 361 253 #define ATassign 362 254 #define THEN 363 228 #define CHARACTERconstant 335 229 #define STRINGliteral 336 230 #define REALDECIMALconstant 337 231 #define REALFRACTIONconstant 338 232 #define FLOATINGconstant 339 233 #define ZERO 340 234 #define ONE 341 235 #define ARROW 342 236 #define ICR 343 237 #define DECR 344 238 #define LS 345 239 #define RS 346 240 #define LE 347 241 #define GE 348 242 #define EQ 349 243 #define NE 350 244 #define ANDAND 351 245 #define OROR 352 246 #define ELLIPSIS 353 247 #define MULTassign 354 248 #define DIVassign 355 249 #define MODassign 356 250 #define PLUSassign 357 251 #define MINUSassign 358 252 #define LSassign 359 253 #define RSassign 360 254 #define ANDassign 361 255 #define ERassign 362 256 #define ORassign 363 257 #define ATassign 364 258 #define THEN 365 255 259 256 260 … … 262 266 263 267 /* Line 2068 of yacc.c */ 264 #line 1 16"parser.yy"268 #line 120 "parser.yy" 265 269 266 270 Token tok; … … 282 286 283 287 /* Line 2068 of yacc.c */ 284 #line 28 5"Parser/parser.h"288 #line 289 "Parser/parser.h" 285 289 } YYSTYPE; 286 290 # define YYSTYPE_IS_TRIVIAL 1 -
src/Parser/parser.yy
r40744af8 rf51aefb 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 24 12:16:53 201613 // Update Count : 199212 // Last Modified On : Wed Oct 26 17:35:53 2016 13 // Update Count : 2066 14 14 // 15 15 … … 94 94 %token<tok> IDENTIFIER QUOTED_IDENTIFIER TYPEDEFname TYPEGENname 95 95 %token<tok> ATTR_IDENTIFIER ATTR_TYPEDEFname ATTR_TYPEGENname 96 %token<tok> INTEGERconstant FLOATINGconstant CHARACTERconstant STRINGliteral 96 %token<tok> INTEGERconstant CHARACTERconstant STRINGliteral 97 // Floating point constant is broken into three kinds of tokens because of the ambiguity with tuple indexing and 98 // overloading constants 0/1, e.g., x.1 is lexed as (x)(.1), where (.1) is a factional constant, but is semantically 99 // converted into the tuple index (.)(1). e.g., 3.x 100 %token<tok> REALDECIMALconstant REALFRACTIONconstant FLOATINGconstant 97 101 %token<tok> ZERO ONE // CFA 98 102 … … 196 200 %type<decl> field_declaration field_declaration_list field_declarator field_declaring_list 197 201 %type<en> field field_list 202 %type<tok> field_name 198 203 199 204 %type<decl> external_function_definition function_definition function_array function_declarator function_no_ptr function_ptr … … 277 282 // 278 283 // Cforall compounds this problem by introducing type names local to the scope of a declaration (for instance, those 279 // introduced through "forall" qualifiers), and by introducing "type generators" -- paramet rized types. This latter284 // introduced through "forall" qualifiers), and by introducing "type generators" -- parameterized types. This latter 280 285 // type name creates a third class of identifiers that must be distinguished by the scanner. 281 286 // 282 287 // Since the scanner cannot distinguish among the different classes of identifiers without some context information, it 283 // accesses a data structure ( the TypedefTable) to allow classification of an identifier that it has just read.284 // Semanticactions during the parser update this data structure when the class of identifiers change.288 // accesses a data structure (TypedefTable) to allow classification of an identifier that it has just read. Semantic 289 // actions during the parser update this data structure when the class of identifiers change. 285 290 // 286 291 // Because the Cforall language is block-scoped, there is the possibility that an identifier can change its class in a … … 288 293 // particular declaration, each declaration is itself a scope. This requires distinguishing between type names that are 289 294 // local to the current declaration scope and those that persist past the end of the declaration (i.e., names defined in 290 // "typedef" or " type" declarations).295 // "typedef" or "otype" declarations). 291 296 // 292 297 // The non-terminals "push" and "pop" derive the empty string; their only use is to denote the opening and closing of … … 311 316 // ENUMERATIONconstant is not included here; it is treated as a variable with type "enumeration constant". 312 317 INTEGERconstant { $$ = new ExpressionNode( build_constantInteger( *$1 ) ); } 318 | REALDECIMALconstant { $$ = new ExpressionNode( build_constantFloat( *$1 ) ); } 319 | REALFRACTIONconstant { $$ = new ExpressionNode( build_constantFloat( *$1 ) ); } 313 320 | FLOATINGconstant { $$ = new ExpressionNode( build_constantFloat( *$1 ) ); } 314 321 | CHARACTERconstant { $$ = new ExpressionNode( build_constantChar( *$1 ) ); } … … 357 364 | zero_one 358 365 { $$ = new ExpressionNode( build_varref( $1 ) ); } 366 | tuple 359 367 | '(' comma_expression ')' 360 368 { $$ = $2; } … … 373 381 | postfix_expression '(' argument_expression_list ')' 374 382 { $$ = new ExpressionNode( build_func( $1, $3 ) ); } 375 // ambiguity with .0 so space required after field-selection, e.g.376 // struct S { int 0, 1; } s; s. 0 = 0; s. 1 = 1;377 383 | postfix_expression '.' no_attr_identifier 378 384 { $$ = new ExpressionNode( build_fieldSel( $1, build_varref( $3 ) ) ); } 379 385 | postfix_expression '.' '[' push field_list pop ']' // CFA, tuple field selector 386 | postfix_expression REALFRACTIONconstant // CFA, tuple index 380 387 | postfix_expression ARROW no_attr_identifier 381 388 { $$ = new ExpressionNode( build_pfieldSel( $1, build_varref( $3 ) ) ); } … … 413 420 414 421 field: // CFA, tuple field selector 415 no_attr_identifier422 field_name 416 423 { $$ = new ExpressionNode( build_varref( $1 ) ); } 417 // ambiguity with .0 so space required after field-selection, e.g. 418 // struct S { int 0, 1; } s; s. 0 = 0; s. 1 = 1; 419 | no_attr_identifier '.' field 424 | REALDECIMALconstant field 425 { $$ = new ExpressionNode( build_fieldSel( $2, build_varref( $1 ) ) ); } 426 | REALDECIMALconstant '[' push field_list pop ']' 427 { $$ = new ExpressionNode( build_fieldSel( $4, build_varref( $1 ) ) ); } 428 | field_name '.' field 420 429 { $$ = new ExpressionNode( build_fieldSel( $3, build_varref( $1 ) ) ); } 421 | no_attr_identifier'.' '[' push field_list pop ']'430 | field_name '.' '[' push field_list pop ']' 422 431 { $$ = new ExpressionNode( build_fieldSel( $5, build_varref( $1 ) ) ); } 423 | no_attr_identifierARROW field432 | field_name ARROW field 424 433 { $$ = new ExpressionNode( build_pfieldSel( $3, build_varref( $1 ) ) ); } 425 | no_attr_identifierARROW '[' push field_list pop ']'434 | field_name ARROW '[' push field_list pop ']' 426 435 { $$ = new ExpressionNode( build_pfieldSel( $5, build_varref( $1 ) ) ); } 436 ; 437 438 field_name: 439 INTEGERconstant fraction_constants 440 { $$ = $1; } 441 | FLOATINGconstant fraction_constants 442 { $$ = $1; } 443 | no_attr_identifier fraction_constants 444 { $$ = $1; } 445 ; 446 447 fraction_constants: 448 // empty 449 | fraction_constants REALFRACTIONconstant 427 450 ; 428 451 … … 497 520 | '(' type_name_no_function ')' cast_expression 498 521 { $$ = new ExpressionNode( build_cast( $2, $4 ) ); } 499 | '(' type_name_no_function ')' tuple500 { $$ = new ExpressionNode( build_cast( $2, $4 ) ); }522 // | '(' type_name_no_function ')' tuple 523 // { $$ = new ExpressionNode( build_cast( $2, $4 ) ); } 501 524 ; 502 525 … … 584 607 | logical_OR_expression '?' /* empty */ ':' conditional_expression // GCC, omitted first operand 585 608 { $$ = new ExpressionNode( build_cond( $1, $1, $4 ) ); } 586 | logical_OR_expression '?' comma_expression ':' tuple // CFA, tuple expression587 { $$ = new ExpressionNode( build_cond( $1, $3, $5 ) ); }609 // | logical_OR_expression '?' comma_expression ':' tuple // CFA, tuple expression 610 // { $$ = new ExpressionNode( build_cond( $1, $3, $5 ) ); } 588 611 ; 589 612 … … 597 620 | unary_expression assignment_operator assignment_expression 598 621 { $$ = new ExpressionNode( build_binary_ptr( $2, $1, $3 ) ); } 599 | tuple assignment_opt // CFA, tuple expression600 { $$ = ( $2 == 0 ) ? $1 : new ExpressionNode( build_binary_ptr( OperKinds::Assign, $1, $2 ) ); }622 // | tuple assignment_opt // CFA, tuple expression 623 // { $$ = ( $2 == 0 ) ? $1 : new ExpressionNode( build_binary_ptr( OperKinds::Assign, $1, $2 ) ); } 601 624 ; 602 625 … … 625 648 // CFA, one assignment_expression is factored out of comma_expression to eliminate a shift/reduce conflict with 626 649 // comma_expression in new_identifier_parameter_array and new_abstract_array 627 '[' ']'628 { $$ = new ExpressionNode( build_tuple() ); }629 |'[' push assignment_expression pop ']'630 { $$ = new ExpressionNode( build_tuple( $3 ) ); }631 |'[' push ',' tuple_expression_list pop ']'650 // '[' ']' 651 // { $$ = new ExpressionNode( build_tuple() ); } 652 // '[' push assignment_expression pop ']' 653 // { $$ = new ExpressionNode( build_tuple( $3 ) ); } 654 '[' push ',' tuple_expression_list pop ']' 632 655 { $$ = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( $4 ) ) ); } 633 656 | '[' push assignment_expression ',' tuple_expression_list pop ']' … … 1128 1151 1129 1152 new_function_specifier: // CFA 1130 '[' ']' identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' // S/R conflict1131 {1132 $$ = DeclarationNode::newFunction( $3, DeclarationNode::newTuple( 0 ), $6, 0, true );1133 }1153 // '[' ']' identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' // S/R conflict 1154 // { 1155 // $$ = DeclarationNode::newFunction( $3, DeclarationNode::newTuple( 0 ), $6, 0, true ); 1156 // } 1134 1157 // '[' ']' identifier '(' push new_parameter_type_list_opt pop ')' 1135 1158 // { … … 1150 1173 // type_specifier can resolve to just TYPEDEFname (e.g., typedef int T; int f( T );). Therefore this must be 1151 1174 // flattened to allow lookahead to the '(' without having to reduce identifier_or_type_name. 1152 |new_abstract_tuple identifier_or_type_name '(' push new_parameter_type_list_opt pop ')'1175 new_abstract_tuple identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' 1153 1176 // To obtain LR(1 ), this rule must be factored out from function return type (see new_abstract_declarator). 1154 1177 { … … 2005 2028 { 2006 2029 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" 2007 linkage = LinkageSpec:: fromString( *$2 );2030 linkage = LinkageSpec::linkageCheck( $2 ); 2008 2031 } 2009 2032 '{' external_definition_list_opt '}' // C++-style linkage specifier … … 2716 2739 | multi_array_dimension type_specifier 2717 2740 { $$ = $2->addNewArray( $1 ); } 2741 2718 2742 | '[' ']' new_identifier_parameter_ptr 2719 2743 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } … … 2813 2837 2814 2838 new_abstract_function: // CFA 2815 '[' ']' '(' new_parameter_type_list_opt ')'2816 { $$ = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), $4, nullptr ); }2817 |new_abstract_tuple '(' push new_parameter_type_list_opt pop ')'2839 // '[' ']' '(' new_parameter_type_list_opt ')' 2840 // { $$ = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), $4, nullptr ); } 2841 new_abstract_tuple '(' push new_parameter_type_list_opt pop ')' 2818 2842 { $$ = DeclarationNode::newFunction( nullptr, $1, $4, nullptr ); } 2819 2843 | new_function_return '(' push new_parameter_type_list_opt pop ')' -
src/ResolvExpr/AlternativePrinter.h
r40744af8 rf51aefb 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // AlternativePrinter.h -- 7 // AlternativePrinter.h -- 8 8 // 9 9 // Author : Richard C. Bilson … … 23 23 24 24 namespace ResolvExpr { 25 class AlternativePrinter : public SymTab::Indexer {25 class AlternativePrinter final : public SymTab::Indexer { 26 26 public: 27 27 AlternativePrinter( std::ostream &os ); 28 virtual void visit( ExprStmt *exprStmt ); 28 29 using SymTab::Indexer::visit; 30 virtual void visit( ExprStmt *exprStmt ) override; 29 31 private: 30 32 std::ostream &os; -
src/ResolvExpr/Resolver.cc
r40744af8 rf51aefb 32 32 33 33 namespace ResolvExpr { 34 class Resolver : public SymTab::Indexer {34 class Resolver final : public SymTab::Indexer { 35 35 public: 36 Resolver() : SymTab::Indexer( false ), switchType( 0 ) {} 37 38 virtual void visit( FunctionDecl *functionDecl ); 39 virtual void visit( ObjectDecl *functionDecl ); 40 virtual void visit( TypeDecl *typeDecl ); 41 virtual void visit( EnumDecl * enumDecl ); 42 43 virtual void visit( ArrayType * at ); 44 virtual void visit( PointerType * at ); 45 46 virtual void visit( ExprStmt *exprStmt ); 47 virtual void visit( AsmExpr *asmExpr ); 48 virtual void visit( AsmStmt *asmStmt ); 49 virtual void visit( IfStmt *ifStmt ); 50 virtual void visit( WhileStmt *whileStmt ); 51 virtual void visit( ForStmt *forStmt ); 52 virtual void visit( SwitchStmt *switchStmt ); 53 virtual void visit( CaseStmt *caseStmt ); 54 virtual void visit( BranchStmt *branchStmt ); 55 virtual void visit( ReturnStmt *returnStmt ); 56 57 virtual void visit( SingleInit *singleInit ); 58 virtual void visit( ListInit *listInit ); 59 virtual void visit( ConstructorInit *ctorInit ); 36 Resolver() : SymTab::Indexer( false ) {} 37 38 using SymTab::Indexer::visit; 39 virtual void visit( FunctionDecl *functionDecl ) override; 40 virtual void visit( ObjectDecl *functionDecl ) override; 41 virtual void visit( TypeDecl *typeDecl ) override; 42 virtual void visit( EnumDecl * enumDecl ) override; 43 44 virtual void visit( ArrayType * at ) override; 45 virtual void visit( PointerType * at ) override; 46 47 virtual void visit( ExprStmt *exprStmt ) override; 48 virtual void visit( AsmExpr *asmExpr ) override; 49 virtual void visit( AsmStmt *asmStmt ) override; 50 virtual void visit( IfStmt *ifStmt ) override; 51 virtual void visit( WhileStmt *whileStmt ) override; 52 virtual void visit( ForStmt *forStmt ) override; 53 virtual void visit( SwitchStmt *switchStmt ) override; 54 virtual void visit( CaseStmt *caseStmt ) override; 55 virtual void visit( BranchStmt *branchStmt ) override; 56 virtual void visit( ReturnStmt *returnStmt ) override; 57 58 virtual void visit( SingleInit *singleInit ) override; 59 virtual void visit( ListInit *listInit ) override; 60 virtual void visit( ConstructorInit *ctorInit ) override; 60 61 private: 61 62 typedef std::list< Initializer * >::iterator InitIterator; … … 69 70 std::list< Type * > functionReturn; 70 71 Type *initContext; 71 Type *switchType;72 72 bool inEnumDecl = false; 73 73 }; -
src/ResolvExpr/TypeMap.h
r40744af8 rf51aefb 38 38 typedef typename std::map< std::string, Value* > ValueMap; 39 39 typedef typename ValueMap::iterator ValueMapIterator; 40 40 41 41 Value *voidValue; ///< Value for void type 42 42 Value *basicValue[BasicType::NUMBER_OF_BASIC_TYPES]; ///< Values for basic types … … 54 54 /// One scope of map rollbacks 55 55 typedef std::vector< std::pair< ValueMapIterator, Value* > > MapScope; 56 56 57 57 PointerScope pointers; ///< Value pointers to roll back to their previous state 58 58 MapScope mapNodes; ///< Value map iterators to roll back to their previous state … … 68 68 69 69 std::vector< Rollback > scopes; ///< Scope rollback information 70 70 71 71 struct Lookup : public Visitor { 72 72 Lookup( TypeMap<Value> &typeMap ) : typeMap( typeMap ), found( 0 ), toInsert( 0 ) {} … … 87 87 return found; 88 88 } 89 89 90 90 void findAndReplace( Value *&loc ) { 91 91 found = loc; … … 109 109 } 110 110 } 111 111 112 112 virtual void visit( VoidType *voidType ) { 113 113 findAndReplace( typeMap.voidValue ); 114 114 } 115 115 116 116 virtual void visit( BasicType *basicType ) { 117 117 findAndReplace( typeMap.basicValue[basicType->get_kind()] ); 118 118 } 119 119 120 120 virtual void visit( PointerType *pointerType ) { 121 121 // NOTE This is one of the places where the apporoximation of the resolver is (deliberately) poor; … … 129 129 } 130 130 } 131 131 132 132 virtual void visit( ArrayType *arrayType ) { 133 133 if ( dynamic_cast< FunctionType* >( arrayType->get_base() ) ) { … … 137 137 } 138 138 } 139 139 140 140 virtual void visit( FunctionType *functionType ) { 141 141 findAndReplace( typeMap.functionPointerValue ); 142 142 } 143 143 144 144 virtual void visit( StructInstType *structType ) { 145 145 findAndReplace( typeMap.structValue, structType->get_name() ); 146 146 } 147 147 148 148 virtual void visit( UnionInstType *unionType ) { 149 149 findAndReplace( typeMap.unionValue, unionType->get_name() ); 150 150 } 151 151 152 152 virtual void visit( EnumInstType *enumType ) { 153 153 findAndReplace( typeMap.enumValue, enumType->get_name() ); … … 157 157 Value *found; ///< Value found (NULL if none yet) 158 158 Value *toInsert; ///< Value to insert (NULL if a lookup) 159 }; // classLookup160 friend classLookup;161 159 }; // struct Lookup 160 friend struct Lookup; 161 162 162 public: 163 163 /// Starts a new scope … … 180 180 scopes.pop_back(); 181 181 } 182 182 183 183 TypeMap() : voidValue( 0 ), pointerValue( 0 ), voidPointerValue( 0 ), functionPointerValue( 0 ), structValue(), unionValue(), enumValue(), scopes() { 184 184 beginScope(); … … 199 199 return searcher.find( key ); 200 200 } 201 201 202 202 }; // class TypeMap 203 203 -
src/ResolvExpr/Unify.cc
r40744af8 rf51aefb 73 73 const OpenVarSet &openVars; 74 74 WidenMode widenMode; 75 Type *commonType;76 75 const SymTab::Indexer &indexer; 77 76 }; -
src/SymTab/Validate.cc
r40744af8 rf51aefb 94 94 95 95 /// Associates forward declarations of aggregates with their definitions 96 class Pass2 : public Indexer {96 class Pass2 final : public Indexer { 97 97 typedef Indexer Parent; 98 98 public: 99 99 Pass2( bool doDebug, const Indexer *indexer ); 100 100 private: 101 virtual void visit( StructInstType *structInst ); 102 virtual void visit( UnionInstType *unionInst ); 103 virtual void visit( TraitInstType *contextInst ); 104 virtual void visit( StructDecl *structDecl ); 105 virtual void visit( UnionDecl *unionDecl ); 106 virtual void visit( TypeInstType *typeInst ); 101 using Indexer::visit; 102 void visit( StructInstType *structInst ) final; 103 void visit( UnionInstType *unionInst ) final; 104 void visit( TraitInstType *contextInst ) final; 105 void visit( StructDecl *structDecl ) final; 106 void visit( UnionDecl *unionDecl ) final; 107 void visit( TypeInstType *typeInst ) final; 107 108 108 109 const Indexer *indexer; … … 182 183 }; 183 184 184 class CompoundLiteral : public GenPoly::DeclMutator {185 class CompoundLiteral final : public GenPoly::DeclMutator { 185 186 DeclarationNode::StorageClass storageclass = DeclarationNode::NoStorageClass; 186 187 187 virtual DeclarationWithType * mutate( ObjectDecl *objectDecl ); 188 virtual Expression *mutate( CompoundLiteralExpr *compLitExpr ); 188 using GenPoly::DeclMutator::mutate; 189 DeclarationWithType * mutate( ObjectDecl *objectDecl ) final; 190 Expression *mutate( CompoundLiteralExpr *compLitExpr ) final; 189 191 }; 190 192 … … 652 654 void EliminateTypedef::addImplicitTypedef( AggDecl * aggDecl ) { 653 655 if ( typedefNames.count( aggDecl->get_name() ) == 0 ) { 654 Type *type ;656 Type *type = nullptr; 655 657 if ( StructDecl * newDeclStructDecl = dynamic_cast< StructDecl * >( aggDecl ) ) { 656 658 type = new StructInstType( Type::Qualifiers(), newDeclStructDecl->get_name() ); -
src/SynTree/FunctionDecl.cc
r40744af8 rf51aefb 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 18 23:50:14201613 // Update Count : 2 012 // Last Modified On : Sat Oct 1 23:06:32 2016 13 // Update Count : 21 14 14 // 15 15 … … 60 60 } // if 61 61 if ( get_linkage() != LinkageSpec::Cforall ) { 62 os << LinkageSpec:: toString( get_linkage() ) << " ";62 os << LinkageSpec::linkageName( get_linkage() ) << " "; 63 63 } // if 64 64 if ( get_isInline() ) { -
src/SynTree/ObjectDecl.cc
r40744af8 rf51aefb 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 18 23:50:33201613 // Update Count : 3 112 // Last Modified On : Sat Oct 1 23:05:56 2016 13 // Update Count : 32 14 14 // 15 15 … … 44 44 45 45 if ( get_linkage() != LinkageSpec::Cforall ) { 46 os << LinkageSpec:: toString( get_linkage() ) << " ";46 os << LinkageSpec::linkageName( get_linkage() ) << " "; 47 47 } // if 48 48 -
src/Tuples/TupleAssignment.cc
r40744af8 rf51aefb 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // TupleAssignment.cc -- 7 // TupleAssignment.cc -- 8 8 // 9 9 // Author : Rodolfo G. Esteves … … 29 29 30 30 namespace Tuples { 31 TupleAssignSpotter::TupleAssignSpotter( ResolvExpr::AlternativeFinder *f = 0)31 TupleAssignSpotter::TupleAssignSpotter( ResolvExpr::AlternativeFinder *f ) 32 32 : currentFinder(f), matcher(0), hasMatched( false ) {} 33 33 -
src/Tuples/TupleAssignment.h
r40744af8 rf51aefb 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // TupleAssignment.h -- 7 // TupleAssignment.h -- 8 8 // 9 9 // Author : Rodolfo G. Esteves … … 29 29 public: 30 30 // dispatcher for Tuple (multiple and mass) assignment operations 31 TupleAssignSpotter( ResolvExpr::AlternativeFinder * );31 TupleAssignSpotter( ResolvExpr::AlternativeFinder * = 0 ); 32 32 ~TupleAssignSpotter() { delete matcher; matcher = 0; } 33 33 … … 97 97 ResolvExpr::AlternativeFinder *currentFinder; 98 98 //std::list<Expression *> rhs, lhs; 99 Expression *rhs, *lhs;99 // Expression *rhs, *lhs; 100 100 Matcher *matcher; 101 101 bool hasMatched; -
src/driver/Makefile.am
r40744af8 rf51aefb 6 6 ## file "LICENCE" distributed with Cforall. 7 7 ## 8 ## Makefile.am -- 8 ## Makefile.am -- 9 9 ## 10 10 ## Author : Peter A. Buhr 11 11 ## Created On : Sun May 31 08:49:31 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Thu Jan 28 09:04:40201614 ## Update Count : 713 ## Last Modified On : Fri Oct 28 13:46:06 2016 14 ## Update Count : 10 15 15 ############################################################################### 16 16 -
src/driver/cfa.cc
r40744af8 rf51aefb 10 10 // Created On : Tue Aug 20 13:44:49 2002 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 6 16:14:55201613 // Update Count : 1 4812 // Last Modified On : Thu Oct 27 22:19:37 2016 13 // Update Count : 154 14 14 // 15 15 … … 25 25 using std::endl; 26 26 using std::string; 27 using std::to_string; 27 28 28 29 … … 49 50 50 51 52 #define str(s) #s 53 51 54 int main( int argc, char *argv[] ) { 52 string Version( VERSION ); // current version number from CONFIG 53 string Major( "0" ), Minor( "0" ), Patch( "0" ); // default version numbers 54 55 int posn1 = Version.find( "." ); // find the divider between major and minor version numbers 56 if ( posn1 == -1 ) { // not there ? 57 Major = Version; 58 } else { 59 Major = Version.substr( 0, posn1 ); 60 int posn2 = Version.find( ".", posn1 + 1 ); // find the divider between minor and patch numbers 61 if ( posn2 == -1 ) { // not there ? 62 Minor = Version.substr( posn1 ); 63 } else { 64 Minor = Version.substr( posn1 + 1, posn2 - posn1 - 1 ); 65 Patch = Version.substr( posn2 + 1 ); 66 } // if 67 } // if 55 string Version( CFA_VERSION_LONG ); // current version number from CONFIG 56 string Major( str( CFA_VERSION_MAJOR ) ), Minor( str( CFA_VERSION_MINOR ) ), Patch( str( CFA_VERSION_PATCH ) ); 68 57 69 58 string installincdir( CFA_INCDIR ); // fixed location of include files … … 268 257 // add the correct set of flags based on the type of compile this is 269 258 270 args[nargs] = ( *new string( string("-D__CFA_ _=") + Major ) ).c_str();259 args[nargs] = ( *new string( string("-D__CFA_MAJOR__=") + Major ) ).c_str(); 271 260 nargs += 1; 272 261 args[nargs] = ( *new string( string("-D__CFA_MINOR__=") + Minor ) ).c_str(); 273 262 nargs += 1; 274 args[nargs] = ( *new string( string("-D__CFA_PATCH LEVEL__=") + Patch ) ).c_str();263 args[nargs] = ( *new string( string("-D__CFA_PATCH__=") + Patch ) ).c_str(); 275 264 nargs += 1; 276 265 args[nargs] = "-D__CFA__"; -
src/main.cc
r40744af8 rf51aefb 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 29 17:34:39201613 // Update Count : 4 2612 // Last Modified On : Sun Oct 30 10:11:38 2016 13 // Update Count : 435 14 14 // 15 15 … … 18 18 #include <signal.h> // signal 19 19 #include <getopt.h> // getopt 20 #include <execinfo.h> // backtrace, backtrace_symbols _fd20 #include <execinfo.h> // backtrace, backtrace_symbols 21 21 #include <cxxabi.h> // __cxa_demangle 22 #include <cstring> // index 22 23 23 24 using namespace std; … … 75 76 static void dump( list< Declaration * > & translationUnit, ostream & out = cout ); 76 77 77 void backtrace( int start ) {// skip first N stack frames78 static void backtrace( int start ) { // skip first N stack frames 78 79 enum { Frames = 50 }; 79 80 void * array[Frames]; 80 int size = backtrace( array, Frames ); 81 char ** messages = backtrace_symbols( array, size ); 81 int size = ::backtrace( array, Frames ); 82 char ** messages = ::backtrace_symbols( array, size ); // does not demangle names 83 84 *index( messages[0], '(' ) = '\0'; // find executable name 85 cerr << "Stack back trace for: " << messages[0] << endl; 82 86 83 87 // skip last 2 stack frames after main … … 85 89 char * mangled_name = nullptr, * offset_begin = nullptr, * offset_end = nullptr; 86 90 for ( char *p = messages[i]; *p; ++p ) { // find parantheses and +offset 87 if ( *p == '(') {91 if ( *p == '(' ) { 88 92 mangled_name = p; 89 } else if ( *p == '+') {93 } else if ( *p == '+' ) { 90 94 offset_begin = p; 91 } else if ( *p == ')') {95 } else if ( *p == ')' ) { 92 96 offset_end = p; 93 97 break; … … 98 102 int frameNo = i - start; 99 103 if ( mangled_name && offset_begin && offset_end && mangled_name < offset_begin ) { 100 *mangled_name++ = '\0'; 104 *mangled_name++ = '\0'; // delimit strings 101 105 *offset_begin++ = '\0'; 102 106 *offset_end++ = '\0'; 103 107 104 int status , frameNo = i - start;108 int status; 105 109 char * real_name = __cxxabiv1::__cxa_demangle( mangled_name, 0, 0, &status ); 110 // bug in __cxa_demangle for single-character lower-case non-mangled names 106 111 if ( status == 0 ) { // demangling successful ? 107 112 cerr << "(" << frameNo << ") " << messages[i] << " : " 108 113 << real_name << "+" << offset_begin << offset_end << endl; 109 110 114 } else { // otherwise, output mangled name 111 115 cerr << "(" << frameNo << ") " << messages[i] << " : " 112 << mangled_name << " +" << offset_begin << offset_end << endl;116 << mangled_name << "(/*unknown*/)+" << offset_begin << offset_end << endl; 113 117 } // if 118 114 119 free( real_name ); 115 120 } else { // otherwise, print the whole line … … 124 129 cerr << "*CFA runtime error* program cfa-cpp terminated with " 125 130 << (sig_num == SIGSEGV ? "segment fault" : "bus error") 126 << " backtrace:" << endl;131 << "." << endl; 127 132 backtrace( 2 ); // skip first 2 stack frames 128 133 exit( EXIT_FAILURE );
Note: See TracChangeset
for help on using the changeset viewer.