1 /* A Bison parser, made by GNU Bison 2.4.1. */
3 /* Skeleton implementation for Bison GLR parsers in C
5 Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C GLR parser skeleton written by Paul Hilfinger. */
35 /* Identify Bison output. */
39 #define YYBISON_VERSION "2.4.1"
42 #define YYSKELETON_NAME "glr.c"
47 /* Using locations. */
48 #define YYLSP_NEEDED 0
53 /* Copy the first part of user declarations. */
55 /* Line 172 of glr.c */
61 This file must be translated to C and modified to build everywhere.
65 yacc -b vtkParse vtkParse.y
67 Modify vtkParse.tab.c:
68 - convert TABs to spaces (eight per tab)
69 - remove spaces from ends of lines, s/ *$//g
70 - replace all instances of "static inline" with "static".
74 The purpose of this parser is to read C++ header files in order to
75 generate data structures that describe the C++ interface of a library,
76 one header file at a time. As such, it is not a complete C++ parser.
77 It only parses what is relevant to the interface and skips the rest.
79 While the parser reads method definitions, type definitions, and
80 template definitions it generates a "signature" which is a string
81 that matches (apart from whitespace) the text that was parsed.
83 While parsing types, the parser creates an unsigned int that describes
84 the type as well as creating other data structures for arrays, function
85 pointers, etc. The parser also creates a typeId string, which is either
86 a simple id that gives the class name or type name, or is "function" for
87 function pointer types, or "method" for method pointer types.
93 This parser was designed empirically and incrementally. It has been
94 refactored to make it more similar to the C++ 1998 grammar, but there
95 are still many very significant differences.
97 The most significant difference between this parser and a "standard"
98 parser is that it only parses declarations in detail. All other
99 statements and expressions are parsed as arbitrary sequences of symbols,
100 without any syntactic analysis.
102 The "unqualified_id" does not directly include "operator_function_id" or
103 "conversion_function_id" (e.g. ids like "operator=" or "operator int*").
104 Instead, these two id types are used to allow operator functions to be
105 handled by their own rules, rather than by the generic function rules.
106 These ids can only be used in function declarations and using declarations.
108 Types are handled quite differently from the C++ BNF. These differences
109 represent a prolonged (and ultimately successful) attempt to empirically
110 create a yacc parser without any shift/reduce conflicts. The rules for
111 types are organized according to the way that types are usually defined
112 in working code, rather than strictly according to C++ grammar.
114 The declaration specifier "typedef" can only appear at the beginning
115 of a declaration sequence. There are also restrictions on where class
116 and enum specifiers can be used: you can declare a new struct within a
117 variable declaration, but not within a parameter declaration.
119 The lexer returns each of "(scope::*", "(*", "(a::b::*", etc. as single
120 tokens. The C++ BNF, in contrast, would consider these to be a "("
121 followed by a "ptr_operator". The lexer concatenates these tokens in
122 order to eliminate shift/reduce conflicts in the parser. However, this
123 means that this parser will only recognize "scope::*" as valid if it is
124 preceded by "(", e.g. as part of a member function pointer specification.
126 An odd bit of C++ ambiguity is that y(x); can be interpreted variously
127 as declaration of variable "x" of type "y", as a function call if "y"
128 is the name of a function, or as a constructor if "y" is the name of
129 a class. This parser always interprets this pattern as a constructor
130 declaration, because function calls are ignored by the parser, and
131 variable declarations of the form y(x); are exceedingly rare compared
132 to the more usual form y x; without parentheses.
138 #define yyerror(a) print_parser_error(a, NULL, 0)
141 /* Make sure yacc-generated code knows we have included stdlib.h. */
145 #define YYINCLUDED_STDLIB_H
147 /* Borland and MSVC do not define __STDC__ properly. */
148 #if !defined(__STDC__)
149 # if defined(_MSC_VER) || defined(__BORLANDC__)
154 /* Disable warnings in generated code. */
155 #if defined(_MSC_VER)
156 # pragma warning (disable: 4127) /* conditional expression is constant */
157 # pragma warning (disable: 4244) /* conversion to smaller integer type */
159 #if defined(__BORLANDC__)
160 # pragma warn -8004 /* assigned a value that is never used */
161 # pragma warn -8008 /* conditional is always true */
162 # pragma warn -8066 /* unreachable code */
165 /* Map from the type anonymous_enumeration in vtkType.h to the
166 VTK wrapping type system number for the type. */
168 #include "vtkParse.h"
169 #include "vtkParsePreprocess.h"
170 #include "vtkParseData.h"
173 static unsigned int vtkParseTypeMap[] =
175 VTK_PARSE_VOID, /* VTK_VOID 0 */
177 VTK_PARSE_CHAR, /* VTK_CHAR 2 */
178 VTK_PARSE_UNSIGNED_CHAR, /* VTK_UNSIGNED_CHAR 3 */
179 VTK_PARSE_SHORT, /* VTK_SHORT 4 */
180 VTK_PARSE_UNSIGNED_SHORT, /* VTK_UNSIGNED_SHORT 5 */
181 VTK_PARSE_INT, /* VTK_INT 6 */
182 VTK_PARSE_UNSIGNED_INT, /* VTK_UNSIGNED_INT 7 */
183 VTK_PARSE_LONG, /* VTK_LONG 8 */
184 VTK_PARSE_UNSIGNED_LONG, /* VTK_UNSIGNED_LONG 9 */
185 VTK_PARSE_FLOAT, /* VTK_FLOAT 10 */
186 VTK_PARSE_DOUBLE, /* VTK_DOUBLE 11 */
187 VTK_PARSE_ID_TYPE, /* VTK_ID_TYPE 12 */
188 VTK_PARSE_STRING, /* VTK_STRING 13 */
189 0, /* VTK_OPAQUE 14 */
190 VTK_PARSE_SIGNED_CHAR, /* VTK_SIGNED_CHAR 15 */
191 VTK_PARSE_LONG_LONG, /* VTK_LONG_LONG 16 */
192 VTK_PARSE_UNSIGNED_LONG_LONG, /* VTK_UNSIGNED_LONG_LONG 17 */
193 VTK_PARSE___INT64, /* VTK___INT64 18 */
194 VTK_PARSE_UNSIGNED___INT64, /* VTK_UNSIGNED___INT64 19 */
195 0, /* VTK_VARIANT 20 */
196 0, /* VTK_OBJECT 21 */
197 VTK_PARSE_UNICODE_STRING /* VTK_UNICODE_STRING 22 */
200 /* Define some constants to simplify references to the table lookup in
201 the primitive_type production rule code. */
202 #define VTK_PARSE_INT8 vtkParseTypeMap[VTK_TYPE_INT8]
203 #define VTK_PARSE_UINT8 vtkParseTypeMap[VTK_TYPE_UINT8]
204 #define VTK_PARSE_INT16 vtkParseTypeMap[VTK_TYPE_INT16]
205 #define VTK_PARSE_UINT16 vtkParseTypeMap[VTK_TYPE_UINT16]
206 #define VTK_PARSE_INT32 vtkParseTypeMap[VTK_TYPE_INT32]
207 #define VTK_PARSE_UINT32 vtkParseTypeMap[VTK_TYPE_UINT32]
208 #define VTK_PARSE_INT64 vtkParseTypeMap[VTK_TYPE_INT64]
209 #define VTK_PARSE_UINT64 vtkParseTypeMap[VTK_TYPE_UINT64]
210 #define VTK_PARSE_FLOAT32 vtkParseTypeMap[VTK_TYPE_FLOAT32]
211 #define VTK_PARSE_FLOAT64 vtkParseTypeMap[VTK_TYPE_FLOAT64]
213 #define vtkParseDebug(s1, s2) \
214 if ( parseDebug ) { fprintf(stderr, " %s %s\n", s1, s2); }
219 /* global variables */
220 FileInfo *data = NULL;
223 /* the "preprocessor" */
224 PreprocessInfo *preprocessor = NULL;
226 /* include dirs specified on the command line */
227 int NumberOfIncludeDirectories= 0;
228 const char **IncludeDirectories;
230 /* macros specified on the command line */
231 int NumberOfDefinitions = 0;
232 const char **Definitions;
234 /* options that can be set by the programs that use the parser */
237 const char *CommandName = NULL;
239 /* various state variables */
240 NamespaceInfo *currentNamespace = NULL;
241 ClassInfo *currentClass = NULL;
242 FunctionInfo *currentFunction = NULL;
243 TemplateInfo *currentTemplate = NULL;
244 const char *currentEnumName = NULL;
245 const char *currentEnumValue = NULL;
246 unsigned int currentEnumType = 0;
247 parse_access_t access_level = VTK_ACCESS_PUBLIC;
249 /* functions from vtkParse.l */
250 void print_parser_error(const char *text, const char *cp, size_t n);
252 /* helper functions */
253 const char *type_class(unsigned int type, const char *classname);
254 void start_class(const char *classname, int is_struct_or_union);
256 void add_base_class(ClassInfo *cls, const char *name, int access_lev,
258 void output_friend_function(void);
259 void output_function(void);
260 void reject_function(void);
261 void set_return(FunctionInfo *func, unsigned int type,
262 const char *typeclass, int count);
263 void add_parameter(FunctionInfo *func, unsigned int type,
264 const char *classname, int count);
265 void add_template_parameter(unsigned int datatype,
266 unsigned int extra, const char *funcSig);
267 void add_using(const char *name, int is_namespace);
268 void start_enum(const char *name, int is_scoped,
269 unsigned int type, const char *basename);
270 void add_enum(const char *name, const char *value);
272 unsigned int guess_constant_type(const char *value);
273 void add_constant(const char *name, const char *value,
274 unsigned int type, const char *typeclass, int global);
275 const char *add_const_scope(const char *name);
276 void prepend_scope(char *cp, const char *arg);
277 unsigned int guess_id_type(const char *cp);
278 unsigned int add_indirection(unsigned int tval, unsigned int ptr);
279 unsigned int add_indirection_to_array(unsigned int ptr);
280 void handle_complex_type(ValueInfo *val, unsigned int datatype,
281 unsigned int extra, const char *funcSig);
282 void handle_function_type(ValueInfo *param, const char *name,
283 const char *funcSig);
284 void add_legacy_parameter(FunctionInfo *func, ValueInfo *param);
286 void outputSetVectorMacro(const char *var, unsigned int paramType,
287 const char *typeText, int n);
288 void outputGetVectorMacro(const char *var, unsigned int paramType,
289 const char *typeText, int n);
292 /*----------------------------------------------------------------
293 * String utility methods
295 * Strings are centrally allocated and are const, and they are not
296 * freed until the program exits. If they need to be freed before
297 * then, vtkParse_FreeStringCache() can be called.
300 /* duplicate the first n bytes of a string and terminate */
301 static const char *vtkstrndup(const char *in, size_t n)
303 return vtkParse_CacheString(data->Strings, in, n);
306 /* duplicate a string */
307 static const char *vtkstrdup(const char *in)
311 in = vtkParse_CacheString(data->Strings, in, strlen(in));
317 /* helper function for concatenating strings */
318 static const char *vtkstrncat(size_t n, const char **str)
325 for (i = 0; i < n; i++)
330 j[i] = strlen(str[i]);
334 cp = vtkParse_NewString(data->Strings, m);
336 for (i = 0; i < n; i++)
340 strncpy(&cp[m], str[i], j[i]);
349 /* concatenate strings */
350 static const char *vtkstrcat(const char *str1, const char *str2)
356 return vtkstrncat(2, cp);
359 static const char *vtkstrcat3(const char *str1, const char *str2,
367 return vtkstrncat(3, cp);
370 static const char *vtkstrcat4(const char *str1, const char *str2,
371 const char *str3, const char *str4)
379 return vtkstrncat(4, cp);
382 static const char *vtkstrcat5(const char *str1, const char *str2,
383 const char *str3, const char *str4,
393 return vtkstrncat(5, cp);
396 static const char *vtkstrcat7(const char *str1, const char *str2,
397 const char *str3, const char *str4,
398 const char *str5, const char *str6,
410 return vtkstrncat(7, cp);
413 /*----------------------------------------------------------------
417 /* "private" variables */
418 char *commentText = NULL;
419 size_t commentLength = 0;
420 size_t commentAllocatedLength = 0;
421 int commentState = 0;
423 const char *getComment()
425 if (commentState != 0)
437 commentText[commentLength] = '\0';
442 void addCommentLine(const char *line, size_t n)
444 if (commentState <= 0)
450 if (commentText == NULL)
452 commentAllocatedLength = n+80;
453 commentText = (char *)malloc(commentAllocatedLength);
455 commentText[0] = '\0';
457 else if (commentLength + n + 2 > commentAllocatedLength)
459 commentAllocatedLength = commentAllocatedLength + commentLength + n + 2;
460 commentText = (char *)realloc(commentText, commentAllocatedLength);
465 memcpy(&commentText[commentLength], line, n);
468 commentText[commentLength++] = '\n';
469 commentText[commentLength] = '\0';
474 switch (commentState)
477 /* Make comment persist until a new comment starts */
481 data->Description = vtkstrdup(getComment());
485 data->SeeAlso = vtkstrdup(getComment());
489 data->Caveats = vtkstrdup(getComment());
495 void closeOrClearComment()
497 if (commentState < 0)
507 void setCommentState(int state)
520 commentState = state;
524 /*----------------------------------------------------------------
528 /* "private" variables */
529 const char *macroName = NULL;
533 const char *getMacro()
537 macroUsed = macroEnded;
544 /*----------------------------------------------------------------
547 * operates on: currentNamespace
550 /* "private" variables */
551 NamespaceInfo *namespaceStack[10];
552 int namespaceDepth = 0;
554 /* enter a namespace */
555 void pushNamespace(const char *name)
558 NamespaceInfo *oldNamespace = currentNamespace;
560 for (i = 0; i < oldNamespace->NumberOfNamespaces; i++)
562 /* see if the namespace already exists */
563 if (strcmp(name, oldNamespace->Namespaces[i]->Name) == 0)
565 currentNamespace = oldNamespace->Namespaces[i];
569 /* create a new namespace */
570 if (i == oldNamespace->NumberOfNamespaces)
572 currentNamespace = (NamespaceInfo *)malloc(sizeof(NamespaceInfo));
573 vtkParse_InitNamespace(currentNamespace);
574 currentNamespace->Name = name;
575 vtkParse_AddNamespaceToNamespace(oldNamespace, currentNamespace);
578 namespaceStack[namespaceDepth++] = oldNamespace;
581 /* leave the namespace */
584 currentNamespace = namespaceStack[--namespaceDepth];
588 /*----------------------------------------------------------------
591 * operates on: currentClass, access_level
594 /* "private" variables */
595 ClassInfo *classStack[10];
596 parse_access_t classAccessStack[10];
599 /* start an internal class definition */
602 classAccessStack[classDepth] = access_level;
603 classStack[classDepth++] = currentClass;
606 /* leave the internal class */
609 currentClass = classStack[--classDepth];
610 access_level = classAccessStack[classDepth];
614 /*----------------------------------------------------------------
617 * operates on: currentTemplate
620 /* "private" variables */
621 TemplateInfo *templateStack[10];
622 int templateDepth = 0;
624 /* begin a template */
627 currentTemplate = (TemplateInfo *)malloc(sizeof(TemplateInfo));
628 vtkParse_InitTemplate(currentTemplate);
631 /* clear a template, if set */
636 free(currentTemplate);
638 currentTemplate = NULL;
641 /* push the template onto the stack, and start a new one */
644 templateStack[templateDepth++] = currentTemplate;
648 /* pop a template off the stack */
651 currentTemplate = templateStack[--templateDepth];
654 /*----------------------------------------------------------------
655 * Function signatures
657 * operates on: currentFunction
660 /* "private" variables */
663 size_t sigLength = 0;
664 size_t sigAllocatedLength = 0;
665 int sigMarkDepth = 0;
666 char *signature = NULL;
668 /* start a new signature */
673 sigAllocatedLength = 0;
679 /* get the signature */
685 /* get the signature length */
686 size_t getSigLength()
691 /* reset the sig to the specified length */
692 void resetSig(size_t n)
700 /* reallocate Signature if n chars cannot be appended */
701 void checkSigSize(size_t n)
705 if (sigAllocatedLength == 0)
708 sigAllocatedLength = 80 + n;
709 signature = vtkParse_NewString(data->Strings, sigAllocatedLength);
712 else if (sigLength + n > sigAllocatedLength)
714 sigAllocatedLength += sigLength + n;
716 signature = vtkParse_NewString(data->Strings, sigAllocatedLength);
717 strncpy(signature, ccp, sigLength);
718 signature[sigLength] = '\0';
722 /* close the signature, i.e. allow no more additions to it */
728 /* re-open the signature */
734 /* insert text at the beginning of the signature */
735 void preSig(const char *arg)
739 size_t n = strlen(arg);
743 memmove(&signature[n], signature, sigLength);
744 strncpy(signature, arg, n);
747 signature[sigLength] = '\0';
751 /* append text to the end of the signature */
752 void postSig(const char *arg)
756 size_t n = strlen(arg);
760 strncpy(&signature[sigLength], arg, n);
763 signature[sigLength] = '\0';
767 /* set a mark in the signature for later operations */
770 sigMark[sigMarkDepth] = 0;
773 sigMark[sigMarkDepth] = sigLength;
778 /* get the contents of the sig from the mark, and clear the mark */
779 const char *copySig()
781 const char *cp = NULL;
782 if (sigMarkDepth > 0)
788 cp = &signature[sigMark[sigMarkDepth]];
790 return vtkstrdup(cp);
793 /* swap the signature text using the mark as the radix */
796 if (sigMarkDepth > 0)
800 if (signature && sigMark[sigMarkDepth] > 0)
807 m = sigMark[sigMarkDepth];
809 for (i = 0; i < nn; i++)
811 c = cp[i]; cp[i] = cp[m-i-1]; cp[m-i-1] = c;
814 for (i = 0; i < nn; i++)
816 c = cp[i+m]; cp[i+m] = cp[n-i-1]; cp[n-i-1] = c;
819 for (i = 0; i < nn; i++)
821 c = cp[i]; cp[i] = cp[n-i-1]; cp[n-i-1] = c;
826 /* chop the last space from the signature */
831 size_t n = sigLength;
832 if (n > 0 && signature[n-1] == ' ')
834 signature[n-1] = '\0';
840 /*----------------------------------------------------------------
841 * Subroutines for building a type
844 /* "private" variables */
845 unsigned int storedType;
846 unsigned int typeStack[10];
849 /* save the type on the stack */
852 typeStack[typeDepth++] = storedType;
855 /* pop the type stack */
858 storedType = typeStack[--typeDepth];
861 /* clear the storage type */
868 void setTypeBase(unsigned int base)
870 storedType &= ~(unsigned int)(VTK_PARSE_BASE_TYPE);
874 /* set a type modifier bit */
875 void setTypeMod(unsigned int mod)
880 /* modify the indirection (pointers, refs) in the storage type */
881 void setTypePtr(unsigned int ind)
883 storedType &= ~(unsigned int)(VTK_PARSE_INDIRECT | VTK_PARSE_RVALUE);
884 ind &= (VTK_PARSE_INDIRECT | VTK_PARSE_RVALUE);
888 /* retrieve the storage type */
889 unsigned int getType()
894 /* combine two primitive type parts, e.g. "long int" */
895 unsigned int buildTypeBase(unsigned int a, unsigned int b)
897 unsigned int base = (a & VTK_PARSE_BASE_TYPE);
898 unsigned int basemod = (b & VTK_PARSE_BASE_TYPE);
905 case VTK_PARSE_UNSIGNED_INT:
906 base = (basemod | VTK_PARSE_UNSIGNED);
910 if (base == VTK_PARSE_CHAR)
912 base = VTK_PARSE_SIGNED_CHAR;
916 if (basemod == VTK_PARSE_INT)
918 base = VTK_PARSE_SIGNED_CHAR;
920 else if (basemod == VTK_PARSE_UNSIGNED_INT)
922 base = VTK_PARSE_UNSIGNED_CHAR;
925 case VTK_PARSE_SHORT:
926 if (basemod == VTK_PARSE_UNSIGNED_INT)
928 base = VTK_PARSE_UNSIGNED_SHORT;
932 if (basemod == VTK_PARSE_UNSIGNED_INT)
934 base = VTK_PARSE_UNSIGNED_LONG;
936 else if (basemod == VTK_PARSE_LONG)
938 base = VTK_PARSE_LONG_LONG;
940 else if (basemod == VTK_PARSE_DOUBLE)
942 base = VTK_PARSE_LONG_DOUBLE;
945 case VTK_PARSE_UNSIGNED_LONG:
946 if (basemod == VTK_PARSE_LONG)
948 base = VTK_PARSE_UNSIGNED_LONG_LONG;
951 case VTK_PARSE_LONG_LONG:
952 if (basemod == VTK_PARSE_UNSIGNED_INT)
954 base = VTK_PARSE_UNSIGNED_LONG_LONG;
957 case VTK_PARSE___INT64:
958 if (basemod == VTK_PARSE_UNSIGNED_INT)
960 base = VTK_PARSE_UNSIGNED___INT64;
963 case VTK_PARSE_DOUBLE:
964 if (basemod == VTK_PARSE_LONG)
966 base = VTK_PARSE_LONG_DOUBLE;
971 return ((a & ~(unsigned int)(VTK_PARSE_BASE_TYPE)) | base);
975 /*----------------------------------------------------------------
979 /* "private" variables */
980 int numberOfDimensions = 0;
981 const char **arrayDimensions = NULL;
983 /* clear the array counter */
984 void clearArray(void)
986 numberOfDimensions = 0;
987 arrayDimensions = NULL;
990 /* add another dimension */
991 void pushArraySize(const char *size)
993 vtkParse_AddStringToArray(&arrayDimensions, &numberOfDimensions,
997 /* add another dimension to the front */
998 void pushArrayFront(const char *size)
1002 vtkParse_AddStringToArray(&arrayDimensions, &numberOfDimensions, 0);
1004 for (i = numberOfDimensions-1; i > 0; i--)
1006 arrayDimensions[i] = arrayDimensions[i-1];
1009 arrayDimensions[0] = size;
1012 /* get the number of dimensions */
1015 return numberOfDimensions;
1018 /* get the whole array */
1019 const char **getArray()
1021 if (numberOfDimensions > 0)
1023 return arrayDimensions;
1028 /*----------------------------------------------------------------
1029 * Variables and Parameters
1032 /* "private" variables */
1033 const char *currentVarName = 0;
1034 const char *currentVarValue = 0;
1035 const char *currentId = 0;
1037 /* clear the var Id */
1038 void clearVarName(void)
1040 currentVarName = NULL;
1043 /* set the var Id */
1044 void setVarName(const char *text)
1046 currentVarName = text;
1049 /* return the var id */
1050 const char *getVarName()
1052 return currentVarName;
1055 /* variable value -------------- */
1057 /* clear the var value */
1058 void clearVarValue(void)
1060 currentVarValue = NULL;
1063 /* set the var value */
1064 void setVarValue(const char *text)
1066 currentVarValue = text;
1069 /* return the var value */
1070 const char *getVarValue()
1072 return currentVarValue;
1075 /* variable type -------------- */
1077 /* clear the current Id */
1078 void clearTypeId(void)
1083 /* set the current Id, it is sticky until cleared */
1084 void setTypeId(const char *text)
1086 if (currentId == NULL)
1092 /* set the signature and type together */
1093 void typeSig(const char *text)
1104 /* return the current Id */
1105 const char *getTypeId()
1110 /*----------------------------------------------------------------
1111 * Specifically for function pointers, the scope (i.e. class) that
1112 * the function is a method of.
1115 const char *pointerScopeStack[10];
1116 int pointerScopeDepth = 0;
1118 /* save the scope for scoped method pointers */
1119 void scopeSig(const char *scope)
1121 if (scope && scope[0] != '\0')
1129 pointerScopeStack[pointerScopeDepth++] = vtkstrdup(scope);
1132 /* get the scope back */
1133 const char *getScope()
1135 return pointerScopeStack[--pointerScopeDepth];
1138 /*----------------------------------------------------------------
1141 * operates on: currentFunction
1144 /* "private" variables */
1145 FunctionInfo *functionStack[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
1146 const char *functionVarNameStack[10];
1147 const char *functionTypeIdStack[10];
1148 int functionDepth = 0;
1152 functionStack[functionDepth] = currentFunction;
1153 currentFunction = (FunctionInfo *)malloc(sizeof(FunctionInfo));
1154 vtkParse_InitFunction(currentFunction);
1155 if (!functionStack[functionDepth])
1159 functionVarNameStack[functionDepth] = getVarName();
1160 functionTypeIdStack[functionDepth] = getTypeId();
1166 functionStack[functionDepth] = 0;
1171 FunctionInfo *newFunction = currentFunction;
1174 currentFunction = functionStack[functionDepth];
1176 if (functionVarNameStack[functionDepth])
1178 setVarName(functionVarNameStack[functionDepth]);
1181 if (functionTypeIdStack[functionDepth])
1183 setTypeId(functionTypeIdStack[functionDepth]);
1187 functionStack[functionDepth+1] = newFunction;
1190 FunctionInfo *getFunction()
1192 return functionStack[functionDepth+1];
1195 /*----------------------------------------------------------------
1199 /* prepend a scope:: to a name */
1200 void prepend_scope(char *cp, const char *arg)
1209 (vtkParse_CharType(cp[i-1], CPRE_IDGIT) ||
1210 cp[i-1] == ':' || cp[i-1] == '>'))
1234 for (j = m; j > i; j--)
1236 cp[j+n+1] = cp[j-1];
1238 for (j = 0; j < n; j++)
1242 cp[n+i] = ':'; cp[n+i+1] = ':';
1246 /* expand a type by including pointers from another */
1247 unsigned int add_indirection(unsigned int type1, unsigned int type2)
1249 unsigned int ptr1 = (type1 & VTK_PARSE_POINTER_MASK);
1250 unsigned int ptr2 = (type2 & VTK_PARSE_POINTER_MASK);
1251 unsigned int reverse = 0;
1252 unsigned int result;
1254 /* one of type1 or type2 will only have VTK_PARSE_INDIRECT, but
1255 * we don't know which one. */
1256 result = ((type1 & ~VTK_PARSE_POINTER_MASK) |
1257 (type2 & ~VTK_PARSE_POINTER_MASK));
1259 /* if there are two ampersands, it is an rvalue reference */
1260 if ((type1 & type2 & VTK_PARSE_REF) != 0)
1262 result |= VTK_PARSE_RVALUE;
1267 reverse = ((reverse << 2) | (ptr2 & VTK_PARSE_POINTER_LOWMASK));
1268 ptr2 = ((ptr2 >> 2) & VTK_PARSE_POINTER_MASK);
1273 ptr1 = ((ptr1 << 2) | (reverse & VTK_PARSE_POINTER_LOWMASK));
1274 reverse = ((reverse >> 2) & VTK_PARSE_POINTER_MASK);
1276 /* make sure we don't exceed the VTK_PARSE_POINTER bitfield */
1277 if ((ptr1 & VTK_PARSE_POINTER_MASK) != ptr1)
1279 ptr1 = VTK_PARSE_BAD_INDIRECT;
1284 return (ptr1 | result);
1287 /* There is only one array, so add any parenthetical indirection to it */
1288 unsigned int add_indirection_to_array(unsigned int type)
1290 unsigned int ptrs = (type & VTK_PARSE_POINTER_MASK);
1291 unsigned int result = (type & ~VTK_PARSE_POINTER_MASK);
1292 unsigned int reverse = 0;
1294 if ((type & VTK_PARSE_INDIRECT) == VTK_PARSE_BAD_INDIRECT)
1296 return (result | VTK_PARSE_BAD_INDIRECT);
1301 reverse = ((reverse << 2) | (ptrs & VTK_PARSE_POINTER_LOWMASK));
1302 ptrs = ((ptrs >> 2) & VTK_PARSE_POINTER_MASK);
1305 /* I know the reversal makes no difference, but it is still
1306 * nice to add the pointers in the correct order, just in
1307 * case const pointers are thrown into the mix. */
1311 reverse = ((reverse >> 2) & VTK_PARSE_POINTER_MASK);
1319 /* Line 172 of glr.c */
1320 #line 1322 "vtkParse.tab.c"
1327 # define YYTOKENTYPE
1328 /* Put the tokens into the symbol table, so that GDB and other debuggers
1335 UnicodeString = 262,
1340 STRING_LITERAL = 267,
1344 FLOAT_LITERAL = 271,
1387 REINTERPRET_CAST = 314,
1392 OP_DOT_POINTER = 319,
1393 OP_ARROW_POINTER = 320,
1401 OP_REMAINDER_EQ = 328,
1442 SetStringMacro = 369,
1443 GetStringMacro = 370,
1444 SetClampMacro = 371,
1445 SetObjectMacro = 372,
1446 GetObjectMacro = 373,
1448 SetVector2Macro = 375,
1449 SetVector3Macro = 376,
1450 SetVector4Macro = 377,
1451 SetVector6Macro = 378,
1452 GetVector2Macro = 379,
1453 GetVector3Macro = 380,
1454 GetVector4Macro = 381,
1455 GetVector6Macro = 382,
1456 SetVectorMacro = 383,
1457 GetVectorMacro = 384,
1458 ViewportCoordinateMacro = 385,
1459 WorldCoordinateMacro = 386,
1461 VTK_BYTE_SWAP_DECL = 388
1467 typedef union YYSTYPE
1470 /* Line 215 of glr.c */
1471 #line 1293 "vtkParse.y"
1474 unsigned int integer;
1478 /* Line 215 of glr.c */
1479 #line 1481 "vtkParse.tab.c"
1481 # define YYSTYPE_IS_TRIVIAL 1
1484 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
1485 typedef struct YYLTYPE
1491 # define YYLTYPE_IS_DECLARED 1
1492 # define YYLTYPE_IS_TRIVIAL 1
1497 /* Enabling traces. */
1502 /* Enabling verbose error messages. */
1503 #ifdef YYERROR_VERBOSE
1504 # undef YYERROR_VERBOSE
1505 # define YYERROR_VERBOSE 1
1507 # define YYERROR_VERBOSE 0
1510 /* Enabling the token table. */
1511 #ifndef YYTOKEN_TABLE
1512 # define YYTOKEN_TABLE 0
1515 /* Default (constant) value used for initialization for null
1516 right-hand sides. Unlike the standard yacc.c template,
1517 here we set the default value of $$ to a zeroed-out value.
1518 Since the default value is undefined, this behavior is
1519 technically correct. */
1520 static YYSTYPE yyval_default;
1522 /* Copy the second part of user declarations. */
1525 /* Line 243 of glr.c */
1526 #line 1528 "vtkParse.tab.c"
1535 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1536 # define YY_(msgid) dgettext ("bison-runtime", msgid)
1540 # define YY_(msgid) msgid
1544 /* Suppress unused-variable warnings by "using" E. */
1545 #define YYUSE(e) ((void) (e))
1547 /* Identity function, used to suppress warnings about constant conditions. */
1549 # define YYID(n) (n)
1551 #if (defined __STDC__ || defined __C99__FUNC__ \
1552 || defined __cplusplus || defined _MSC_VER)
1566 # define YYFREE free
1569 # define YYMALLOC malloc
1572 # define YYREALLOC realloc
1575 #define YYSIZEMAX ((size_t) -1)
1578 typedef bool yybool;
1580 typedef unsigned char yybool;
1586 # include <setjmp.h>
1587 # define YYJMP_BUF jmp_buf
1588 # define YYSETJMP(env) setjmp (env)
1589 # define YYLONGJMP(env, val) longjmp (env, val)
1592 /*-----------------.
1594 `-----------------*/
1596 #ifndef __attribute__
1597 /* This feature is available in gcc versions 2.5 and later. */
1598 # if (! defined __GNUC__ || __GNUC__ < 2 \
1599 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__)
1600 # define __attribute__(Spec) /* empty */
1606 # define YYOPTIONAL_LOC(Name) /* empty */
1608 # define YYOPTIONAL_LOC(Name) Name __attribute__ ((__unused__))
1612 # define YYASSERT(condition) ((void) ((condition) || (abort (), 0)))
1615 /* YYFINAL -- State number of the termination state. */
1617 /* YYLAST -- Last index in YYTABLE. */
1620 /* YYNTOKENS -- Number of terminals. */
1621 #define YYNTOKENS 157
1622 /* YYNNTS -- Number of nonterminals. */
1624 /* YYNRULES -- Number of rules. */
1625 #define YYNRULES 701
1626 /* YYNRULES -- Number of states. */
1627 #define YYNSTATES 1182
1628 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
1630 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
1631 accessed by $0, $-1, etc., in any rule. */
1634 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
1635 #define YYUNDEFTOK 2
1636 #define YYMAXUTOK 388
1638 #define YYTRANSLATE(YYX) \
1639 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1641 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1642 static const unsigned char yytranslate[] =
1644 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1645 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1647 2, 2, 2, 153, 2, 2, 2, 149, 146, 2,
1648 140, 141, 147, 152, 139, 151, 156, 150, 2, 2,
1649 2, 2, 2, 2, 2, 2, 2, 2, 138, 134,
1650 142, 137, 148, 2, 2, 2, 2, 2, 2, 2,
1651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1653 2, 143, 2, 144, 155, 2, 2, 2, 2, 2,
1654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1656 2, 2, 2, 135, 154, 136, 145, 2, 2, 2,
1657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1662 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1663 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1669 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1670 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1671 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1672 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1673 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1674 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1675 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1676 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1677 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1678 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1679 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1680 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1681 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1682 125, 126, 127, 128, 129, 130, 131, 132, 133
1686 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1688 static const unsigned short int yyprhs[] =
1690 0, 0, 3, 5, 6, 7, 12, 14, 16, 18,
1691 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
1692 40, 42, 44, 47, 49, 52, 55, 58, 61, 64,
1693 70, 75, 81, 86, 87, 94, 100, 102, 105, 110,
1694 114, 120, 125, 131, 132, 138, 139, 147, 152, 153,
1695 159, 162, 164, 166, 168, 172, 177, 180, 182, 184,
1696 185, 187, 188, 189, 194, 198, 200, 202, 204, 206,
1697 208, 210, 212, 214, 216, 218, 220, 222, 224, 226,
1698 228, 230, 233, 236, 238, 241, 244, 247, 250, 253,
1699 257, 260, 264, 266, 271, 274, 279, 284, 285, 287,
1700 288, 290, 292, 294, 296, 302, 306, 313, 318, 324,
1701 325, 331, 336, 340, 342, 345, 348, 349, 350, 354,
1702 356, 360, 361, 363, 364, 369, 376, 379, 381, 387,
1703 394, 398, 403, 409, 413, 415, 418, 424, 430, 437,
1704 443, 450, 453, 454, 458, 461, 463, 465, 466, 467,
1705 476, 478, 482, 484, 487, 490, 493, 497, 501, 506,
1706 507, 516, 520, 521, 527, 529, 530, 535, 536, 537,
1707 543, 544, 545, 551, 552, 553, 554, 562, 563, 565,
1708 567, 569, 570, 572, 573, 577, 579, 582, 585, 588,
1709 591, 594, 598, 603, 606, 610, 613, 617, 622, 625,
1710 630, 636, 640, 642, 644, 647, 649, 652, 656, 657,
1711 658, 668, 671, 672, 677, 678, 686, 689, 691, 695,
1712 696, 699, 700, 704, 706, 709, 711, 714, 716, 718,
1713 720, 723, 726, 727, 729, 730, 734, 738, 740, 742,
1714 749, 750, 757, 758, 766, 767, 768, 775, 776, 783,
1715 784, 787, 789, 793, 797, 798, 799, 802, 804, 805,
1716 810, 814, 816, 817, 818, 824, 825, 827, 828, 832,
1717 833, 836, 841, 844, 845, 848, 849, 850, 855, 858,
1718 859, 861, 865, 866, 873, 877, 878, 884, 885, 889,
1719 891, 892, 893, 894, 902, 904, 905, 908, 911, 915,
1720 919, 922, 924, 927, 929, 932, 933, 935, 938, 943,
1721 945, 947, 949, 950, 952, 953, 956, 958, 961, 962,
1722 968, 969, 970, 973, 975, 977, 979, 981, 983, 986,
1723 989, 992, 995, 998, 1001, 1004, 1007, 1011, 1015, 1019,
1724 1020, 1026, 1028, 1030, 1032, 1033, 1039, 1040, 1044, 1046,
1725 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066,
1726 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086,
1727 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1101, 1105, 1107,
1728 1109, 1111, 1113, 1116, 1120, 1122, 1124, 1126, 1128, 1130,
1729 1132, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151,
1730 1154, 1157, 1158, 1162, 1163, 1168, 1170, 1174, 1179, 1181,
1731 1183, 1184, 1189, 1192, 1195, 1198, 1199, 1203, 1204, 1209,
1732 1212, 1213, 1217, 1218, 1223, 1225, 1227, 1229, 1231, 1234,
1733 1237, 1240, 1243, 1246, 1248, 1250, 1252, 1254, 1256, 1258,
1734 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278,
1735 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1298,
1736 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, 1316, 1318,
1737 1320, 1322, 1324, 1327, 1330, 1333, 1334, 1339, 1340, 1342,
1738 1344, 1347, 1348, 1351, 1352, 1353, 1360, 1361, 1369, 1370,
1739 1371, 1372, 1382, 1383, 1389, 1390, 1396, 1397, 1398, 1409,
1740 1410, 1418, 1419, 1420, 1421, 1431, 1438, 1439, 1447, 1448,
1741 1456, 1457, 1465, 1466, 1474, 1475, 1483, 1484, 1492, 1493,
1742 1501, 1502, 1510, 1511, 1521, 1522, 1532, 1537, 1542, 1550,
1743 1551, 1553, 1556, 1559, 1563, 1567, 1569, 1571, 1573, 1575,
1744 1578, 1581, 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598,
1745 1600, 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618,
1746 1620, 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1638,
1747 1640, 1642, 1644, 1646, 1648, 1650, 1652, 1654, 1656, 1658,
1748 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676, 1678,
1749 1680, 1682, 1684, 1686, 1688, 1690, 1692, 1694, 1696, 1698,
1750 1700, 1702, 1704, 1706, 1708, 1710, 1712, 1714, 1716, 1718,
1751 1720, 1722, 1724, 1726, 1728, 1730, 1733, 1735, 1737, 1739,
1752 1740, 1744, 1746, 1748, 1750, 1752, 1754, 1756, 1758, 1760,
1753 1762, 1764, 1766, 1768, 1770, 1771, 1774, 1776, 1778, 1780,
1754 1782, 1784, 1786, 1788, 1790, 1792, 1793, 1796, 1797, 1800,
1755 1802, 1804, 1806, 1808, 1810, 1811, 1816, 1818, 1820, 1821,
1756 1826, 1827, 1833, 1834, 1839, 1840, 1845, 1846, 1851, 1852,
1757 1857, 1858, 1861, 1862, 1865, 1867, 1869, 1871, 1873, 1875,
1758 1877, 1879, 1881, 1883, 1885, 1887, 1889, 1891, 1893, 1895,
1759 1897, 1899, 1901, 1903, 1905, 1907, 1911, 1915, 1920, 1924,
1763 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1764 static const short int yyrhs[] =
1766 158, 0, -1, 159, -1, -1, -1, 159, 160, 367,
1767 161, -1, 218, -1, 216, -1, 219, -1, 168, -1,
1768 191, -1, 165, -1, 167, -1, 164, -1, 206, -1,
1769 289, -1, 192, -1, 170, -1, 239, -1, 162, -1,
1770 163, -1, 371, -1, 319, 134, -1, 134, -1, 221,
1771 170, -1, 221, 239, -1, 221, 202, -1, 221, 162,
1772 -1, 221, 219, -1, 41, 43, 428, 425, 134, -1,
1773 43, 428, 425, 134, -1, 41, 12, 135, 159, 136,
1774 -1, 51, 135, 424, 136, -1, -1, 51, 332, 166,
1775 135, 159, 136, -1, 51, 332, 137, 321, 134, -1,
1776 169, -1, 221, 169, -1, 176, 367, 177, 134, -1,
1777 176, 367, 134, -1, 335, 176, 367, 177, 134, -1,
1778 171, 333, 291, 134, -1, 335, 171, 333, 291, 134,
1779 -1, -1, 173, 172, 135, 180, 136, -1, -1, 176,
1780 367, 177, 179, 138, 174, 186, -1, 176, 367, 177,
1781 179, -1, -1, 176, 367, 138, 175, 186, -1, 176,
1782 367, -1, 25, -1, 24, -1, 26, -1, 322, 178,
1783 367, -1, 326, 322, 178, 367, -1, 178, 367, -1,
1784 331, -1, 327, -1, -1, 3, -1, -1, -1, 180,
1785 181, 367, 183, -1, 180, 182, 138, -1, 28, -1,
1786 29, -1, 30, -1, 216, -1, 219, -1, 168, -1,
1787 191, -1, 185, -1, 206, -1, 289, -1, 192, -1,
1788 170, -1, 243, -1, 184, -1, 163, -1, 371, -1,
1789 133, 431, -1, 319, 134, -1, 134, -1, 221, 170,
1790 -1, 221, 243, -1, 221, 184, -1, 221, 219, -1,
1791 40, 204, -1, 40, 221, 204, -1, 40, 168, -1,
1792 40, 244, 265, -1, 187, -1, 186, 139, 367, 187,
1793 -1, 319, 233, -1, 36, 189, 319, 233, -1, 190,
1794 188, 319, 233, -1, -1, 36, -1, -1, 190, -1,
1795 28, -1, 29, -1, 30, -1, 196, 367, 319, 197,
1796 134, -1, 196, 367, 134, -1, 335, 196, 367, 319,
1797 197, 134, -1, 193, 333, 291, 134, -1, 335, 193,
1798 333, 291, 134, -1, -1, 195, 135, 194, 199, 136,
1799 -1, 196, 367, 319, 197, -1, 196, 367, 197, -1,
1800 27, -1, 27, 25, -1, 27, 24, -1, -1, -1,
1801 138, 198, 342, -1, 200, -1, 199, 139, 200, -1,
1802 -1, 331, -1, -1, 331, 137, 201, 399, -1, 341,
1803 233, 322, 331, 203, 134, -1, 137, 425, -1, 429,
1804 -1, 176, 367, 177, 179, 205, -1, 335, 176, 367,
1805 177, 179, 205, -1, 176, 367, 205, -1, 335, 176,
1806 367, 205, -1, 135, 424, 136, 425, 134, -1, 138,
1807 425, 134, -1, 207, -1, 335, 207, -1, 50, 341,
1808 215, 209, 134, -1, 50, 171, 333, 208, 134, -1,
1809 50, 335, 171, 333, 208, 134, -1, 50, 193, 333,
1810 208, 134, -1, 50, 335, 193, 333, 208, 134, -1,
1811 210, 209, -1, -1, 209, 139, 210, -1, 295, 215,
1812 -1, 298, -1, 212, -1, -1, -1, 233, 309, 140,
1813 213, 278, 141, 214, 305, -1, 211, -1, 52, 217,
1814 134, -1, 319, -1, 49, 319, -1, 322, 254, -1,
1815 322, 249, -1, 326, 322, 254, -1, 326, 322, 249,
1816 -1, 52, 51, 319, 134, -1, -1, 52, 319, 367,
1817 137, 220, 341, 296, 134, -1, 43, 142, 414, -1,
1818 -1, 43, 142, 222, 223, 414, -1, 225, -1, -1,
1819 223, 139, 224, 225, -1, -1, -1, 226, 352, 296,
1820 227, 235, -1, -1, -1, 228, 234, 296, 229, 235,
1821 -1, -1, -1, -1, 230, 221, 25, 231, 296, 232,
1822 235, -1, -1, 83, -1, 25, -1, 49, -1, -1,
1823 236, -1, -1, 137, 237, 238, -1, 410, -1, 238,
1824 410, -1, 240, 265, -1, 245, 265, -1, 241, 265,
1825 -1, 242, 265, -1, 341, 233, 256, -1, 341, 233,
1826 322, 256, -1, 322, 270, -1, 335, 322, 270, -1,
1827 322, 246, -1, 335, 322, 246, -1, 341, 233, 322,
1828 250, -1, 244, 265, -1, 322, 254, 367, 134, -1,
1829 335, 322, 254, 367, 134, -1, 341, 233, 256, -1,
1830 245, -1, 270, -1, 335, 270, -1, 246, -1, 335,
1831 246, -1, 341, 233, 250, -1, -1, -1, 249, 140,
1832 247, 278, 141, 367, 248, 257, 262, -1, 255, 341,
1833 -1, -1, 252, 251, 257, 262, -1, -1, 254, 367,
1834 140, 253, 278, 141, 367, -1, 255, 395, -1, 42,
1835 -1, 268, 257, 262, -1, -1, 257, 258, -1, -1,
1836 44, 259, 418, -1, 31, -1, 137, 18, -1, 3,
1837 -1, 260, 418, -1, 260, -1, 261, -1, 47, -1,
1838 137, 54, -1, 137, 55, -1, -1, 263, -1, -1,
1839 66, 264, 348, -1, 135, 424, 136, -1, 266, -1,
1840 134, -1, 45, 275, 135, 424, 136, 267, -1, -1,
1841 267, 46, 431, 135, 424, 136, -1, -1, 320, 367,
1842 140, 269, 278, 141, 367, -1, -1, -1, 273, 271,
1843 275, 272, 257, 262, -1, -1, 320, 140, 274, 278,
1844 141, 367, -1, -1, 138, 276, -1, 277, -1, 276,
1845 139, 277, -1, 319, 431, 233, -1, -1, -1, 279,
1846 280, -1, 282, -1, -1, 280, 139, 281, 282, -1,
1847 280, 139, 83, -1, 83, -1, -1, -1, 283, 341,
1848 296, 284, 285, -1, -1, 286, -1, -1, 137, 287,
1849 399, -1, -1, 288, 422, -1, 341, 290, 292, 134,
1850 -1, 298, 285, -1, -1, 294, 292, -1, -1, -1,
1851 292, 139, 293, 294, -1, 295, 290, -1, -1, 360,
1852 -1, 233, 308, 302, -1, -1, 300, 367, 306, 141,
1853 297, 302, -1, 233, 309, 311, -1, -1, 300, 307,
1854 141, 299, 302, -1, -1, 10, 301, 365, -1, 11,
1855 -1, -1, -1, -1, 140, 303, 278, 141, 367, 304,
1856 305, -1, 312, -1, -1, 305, 33, -1, 305, 31,
1857 -1, 305, 44, 431, -1, 305, 47, 431, -1, 305,
1858 47, -1, 296, -1, 360, 296, -1, 298, -1, 360,
1859 298, -1, -1, 309, -1, 320, 367, -1, 320, 367,
1860 138, 310, -1, 15, -1, 13, -1, 14, -1, -1,
1861 312, -1, -1, 313, 314, -1, 315, -1, 314, 315,
1862 -1, -1, 143, 316, 317, 144, 367, -1, -1, -1,
1863 318, 399, -1, 320, -1, 321, -1, 331, -1, 327,
1864 -1, 329, -1, 324, 178, -1, 324, 329, -1, 322,
1865 320, -1, 326, 320, -1, 326, 321, -1, 325, 326,
1866 -1, 327, 326, -1, 329, 326, -1, 322, 325, 326,
1867 -1, 322, 327, 326, -1, 322, 329, 326, -1, -1,
1868 322, 43, 323, 327, 326, -1, 145, -1, 332, -1,
1869 84, -1, -1, 332, 142, 328, 408, 414, -1, -1,
1870 48, 330, 418, -1, 4, -1, 5, -1, 3, -1,
1871 9, -1, 8, -1, 6, -1, 7, -1, 22, -1,
1872 21, -1, 20, -1, 102, -1, 103, -1, 104, -1,
1873 105, -1, 106, -1, 107, -1, 108, -1, 109, -1,
1874 110, -1, 111, -1, 101, -1, 3, -1, 5, -1,
1875 4, -1, 9, -1, 8, -1, 6, -1, 7, -1,
1876 -1, 333, 334, 367, -1, 336, -1, 359, -1, 50,
1877 -1, 40, -1, 336, 367, -1, 335, 336, 367, -1,
1878 337, -1, 338, -1, 339, -1, 39, -1, 33, -1,
1879 41, -1, 41, 12, -1, 34, -1, 35, -1, 38,
1880 -1, 36, -1, 37, -1, 31, -1, 32, -1, 339,
1881 -1, 340, 339, -1, 342, 295, -1, -1, 345, 343,
1882 333, -1, -1, 335, 345, 344, 333, -1, 346, -1,
1883 176, 367, 177, -1, 196, 367, 319, 367, -1, 357,
1884 -1, 329, -1, -1, 49, 347, 319, 367, -1, 327,
1885 367, -1, 321, 367, -1, 349, 295, -1, -1, 346,
1886 350, 333, -1, -1, 335, 346, 351, 333, -1, 353,
1887 295, -1, -1, 356, 354, 333, -1, -1, 335, 345,
1888 355, 333, -1, 357, -1, 329, -1, 327, -1, 321,
1889 -1, 24, 319, -1, 26, 319, -1, 196, 319, -1,
1890 359, 367, -1, 358, 367, -1, 6, -1, 7, -1,
1891 8, -1, 9, -1, 3, -1, 4, -1, 5, -1,
1892 22, -1, 20, -1, 21, -1, 102, -1, 103, -1,
1893 104, -1, 105, -1, 106, -1, 107, -1, 108, -1,
1894 109, -1, 110, -1, 111, -1, 101, -1, 86, -1,
1895 87, -1, 88, -1, 89, -1, 90, -1, 95, -1,
1896 96, -1, 97, -1, 98, -1, 91, -1, 92, -1,
1897 93, -1, 94, -1, 99, -1, 100, -1, 361, -1,
1898 362, -1, 366, -1, 366, 361, -1, 146, 367, -1,
1899 77, 367, -1, -1, 147, 367, 364, 365, -1, -1,
1900 340, -1, 363, -1, 366, 363, -1, -1, 367, 368,
1901 -1, -1, -1, 23, 369, 404, 370, 144, 144, -1,
1902 -1, 112, 140, 331, 139, 372, 341, 141, -1, -1,
1903 -1, -1, 113, 140, 373, 331, 139, 374, 341, 375,
1904 141, -1, -1, 114, 140, 376, 331, 141, -1, -1,
1905 115, 140, 377, 331, 141, -1, -1, -1, 116, 140,
1906 331, 139, 378, 341, 379, 139, 425, 141, -1, -1,
1907 117, 140, 331, 139, 380, 341, 141, -1, -1, -1,
1908 -1, 118, 140, 381, 331, 139, 382, 341, 383, 141,
1909 -1, 119, 140, 331, 139, 341, 141, -1, -1, 120,
1910 140, 331, 139, 384, 341, 141, -1, -1, 124, 140,
1911 331, 139, 385, 341, 141, -1, -1, 121, 140, 331,
1912 139, 386, 341, 141, -1, -1, 125, 140, 331, 139,
1913 387, 341, 141, -1, -1, 122, 140, 331, 139, 388,
1914 341, 141, -1, -1, 126, 140, 331, 139, 389, 341,
1915 141, -1, -1, 123, 140, 331, 139, 390, 341, 141,
1916 -1, -1, 127, 140, 331, 139, 391, 341, 141, -1,
1917 -1, 128, 140, 331, 139, 392, 341, 139, 13, 141,
1918 -1, -1, 129, 140, 331, 139, 393, 341, 139, 13,
1919 141, -1, 130, 140, 331, 141, -1, 131, 140, 331,
1920 141, -1, 132, 140, 331, 139, 319, 394, 141, -1,
1921 -1, 139, -1, 140, 141, -1, 143, 144, -1, 53,
1922 143, 144, -1, 54, 143, 144, -1, 142, -1, 148,
1923 -1, 139, -1, 137, -1, 63, 148, -1, 63, 63,
1924 -1, 12, 3, -1, 396, -1, 149, -1, 147, -1,
1925 150, -1, 151, -1, 152, -1, 153, -1, 145, -1,
1926 146, -1, 154, -1, 155, -1, 53, -1, 54, -1,
1927 60, -1, 61, -1, 62, -1, 64, -1, 65, -1,
1928 66, -1, 69, -1, 70, -1, 71, -1, 72, -1,
1929 73, -1, 67, -1, 68, -1, 74, -1, 75, -1,
1930 76, -1, 77, -1, 78, -1, 79, -1, 80, -1,
1931 81, -1, 82, -1, 50, -1, 49, -1, 25, -1,
1932 24, -1, 26, -1, 43, -1, 28, -1, 30, -1,
1933 29, -1, 31, -1, 34, -1, 35, -1, 39, -1,
1934 38, -1, 36, -1, 37, -1, 48, -1, 55, -1,
1935 41, -1, 52, -1, 51, -1, 42, -1, 27, -1,
1936 44, -1, 47, -1, 58, -1, 57, -1, 56, -1,
1937 59, -1, 15, -1, 13, -1, 14, -1, 16, -1,
1938 17, -1, 12, -1, 18, -1, 19, -1, 400, -1,
1939 399, 400, -1, 402, -1, 412, -1, 142, -1, -1,
1940 148, 401, 403, -1, 63, -1, 403, -1, 84, -1,
1941 415, -1, 418, -1, 422, -1, 396, -1, 138, -1,
1942 156, -1, 397, -1, 398, -1, 359, -1, 358, -1,
1943 -1, 404, 406, -1, 402, -1, 142, -1, 148, -1,
1944 63, -1, 405, -1, 137, -1, 139, -1, 406, -1,
1945 134, -1, -1, 408, 411, -1, -1, 409, 407, -1,
1946 412, -1, 402, -1, 410, -1, 137, -1, 139, -1,
1947 -1, 142, 413, 408, 414, -1, 148, -1, 63, -1,
1948 -1, 143, 416, 404, 144, -1, -1, 23, 417, 404,
1949 144, 144, -1, -1, 140, 419, 404, 141, -1, -1,
1950 10, 420, 404, 141, -1, -1, 11, 421, 404, 141,
1951 -1, -1, 135, 423, 409, 136, -1, -1, 424, 426,
1952 -1, -1, 425, 427, -1, 427, -1, 134, -1, 428,
1953 -1, 142, -1, 429, -1, 431, -1, 430, -1, 84,
1954 -1, 83, -1, 396, -1, 63, -1, 138, -1, 156,
1955 -1, 148, -1, 137, -1, 139, -1, 397, -1, 398,
1956 -1, 359, -1, 358, -1, 85, -1, 135, 424, 136,
1957 -1, 143, 424, 144, -1, 23, 424, 144, 144, -1,
1958 432, 424, 141, -1, 140, -1, 10, -1, 11, -1
1961 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1962 static const unsigned short int yyrline[] =
1964 0, 1467, 1467, 1469, 1471, 1470, 1481, 1482, 1483, 1484,
1965 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494,
1966 1495, 1496, 1497, 1498, 1501, 1502, 1503, 1504, 1505, 1508,
1967 1509, 1516, 1523, 1524, 1524, 1528, 1535, 1536, 1539, 1540,
1968 1541, 1544, 1545, 1548, 1548, 1563, 1562, 1568, 1574, 1573,
1969 1578, 1584, 1585, 1586, 1589, 1591, 1593, 1596, 1597, 1600,
1970 1601, 1603, 1605, 1604, 1613, 1617, 1618, 1619, 1622, 1623,
1971 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633,
1972 1634, 1635, 1636, 1637, 1640, 1641, 1642, 1643, 1646, 1647,
1973 1648, 1649, 1652, 1653, 1656, 1658, 1661, 1666, 1667, 1670,
1974 1671, 1674, 1675, 1676, 1687, 1688, 1689, 1693, 1694, 1698,
1975 1698, 1711, 1717, 1725, 1726, 1727, 1730, 1731, 1731, 1735,
1976 1736, 1738, 1739, 1740, 1740, 1748, 1752, 1753, 1756, 1758,
1977 1760, 1761, 1764, 1765, 1773, 1774, 1777, 1778, 1780, 1782,
1978 1784, 1788, 1790, 1791, 1794, 1797, 1798, 1801, 1802, 1801,
1979 1806, 1840, 1843, 1844, 1845, 1847, 1849, 1851, 1855, 1858,
1980 1858, 1889, 1892, 1891, 1909, 1911, 1910, 1915, 1917, 1915,
1981 1919, 1921, 1919, 1923, 1924, 1926, 1923, 1937, 1938, 1941,
1982 1942, 1944, 1945, 1948, 1948, 1958, 1959, 1967, 1968, 1969,
1983 1970, 1973, 1976, 1977, 1978, 1981, 1982, 1983, 1986, 1987,
1984 1988, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2004, 2009,
1985 2003, 2021, 2025, 2025, 2037, 2036, 2045, 2049, 2052, 2061,
1986 2062, 2065, 2065, 2066, 2067, 2073, 2078, 2079, 2080, 2083,
1987 2086, 2087, 2089, 2090, 2093, 2093, 2101, 2102, 2103, 2106,
1988 2108, 2109, 2113, 2112, 2125, 2126, 2125, 2145, 2145, 2149,
1989 2150, 2153, 2154, 2157, 2163, 2164, 2164, 2167, 2168, 2168,
1990 2170, 2172, 2176, 2178, 2176, 2202, 2203, 2206, 2206, 2208,
1991 2208, 2216, 2219, 2278, 2279, 2281, 2282, 2282, 2285, 2288,
1992 2289, 2293, 2304, 2304, 2323, 2325, 2325, 2343, 2343, 2345,
1993 2349, 2350, 2351, 2350, 2356, 2358, 2359, 2360, 2361, 2362,
1994 2363, 2366, 2367, 2371, 2372, 2376, 2377, 2380, 2381, 2385,
1995 2386, 2387, 2390, 2391, 2394, 2394, 2397, 2398, 2401, 2401,
1996 2405, 2406, 2406, 2413, 2414, 2417, 2418, 2419, 2420, 2421,
1997 2424, 2426, 2428, 2432, 2434, 2436, 2438, 2440, 2442, 2444,
1998 2444, 2449, 2452, 2455, 2458, 2458, 2466, 2466, 2475, 2476,
1999 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486,
2000 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2502,
2001 2503, 2504, 2505, 2506, 2507, 2508, 2514, 2515, 2518, 2519,
2002 2521, 2522, 2525, 2526, 2529, 2530, 2531, 2532, 2535, 2536,
2003 2537, 2538, 2539, 2543, 2544, 2545, 2548, 2549, 2552, 2553,
2004 2561, 2564, 2564, 2566, 2566, 2570, 2571, 2573, 2577, 2578,
2005 2580, 2580, 2582, 2584, 2588, 2591, 2591, 2593, 2593, 2597,
2006 2600, 2600, 2602, 2602, 2606, 2607, 2609, 2611, 2613, 2615,
2007 2617, 2621, 2622, 2625, 2626, 2627, 2628, 2629, 2630, 2631,
2008 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641,
2009 2642, 2643, 2644, 2645, 2648, 2649, 2650, 2651, 2652, 2653,
2010 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2682,
2011 2683, 2684, 2685, 2688, 2692, 2696, 2696, 2700, 2701, 2716,
2012 2717, 2733, 2734, 2737, 2737, 2737, 2744, 2744, 2754, 2755,
2013 2755, 2754, 2764, 2764, 2774, 2774, 2783, 2783, 2783, 2816,
2014 2815, 2826, 2827, 2827, 2826, 2836, 2854, 2854, 2859, 2859,
2015 2864, 2864, 2869, 2869, 2874, 2874, 2879, 2879, 2884, 2884,
2016 2889, 2889, 2894, 2894, 2911, 2911, 2925, 2962, 3000, 3037,
2017 3038, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053,
2018 3054, 3055, 3056, 3059, 3060, 3061, 3062, 3063, 3064, 3065,
2019 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075,
2020 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085,
2021 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3095, 3096, 3097,
2022 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107,
2023 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117,
2024 3118, 3119, 3120, 3121, 3122, 3123, 3126, 3127, 3128, 3129,
2025 3130, 3131, 3132, 3133, 3140, 3141, 3144, 3145, 3146, 3147,
2026 3147, 3148, 3151, 3152, 3155, 3156, 3157, 3158, 3188, 3188,
2027 3189, 3190, 3191, 3192, 3215, 3216, 3219, 3220, 3221, 3222,
2028 3225, 3226, 3227, 3230, 3231, 3233, 3234, 3236, 3237, 3240,
2029 3241, 3244, 3245, 3246, 3250, 3249, 3263, 3264, 3267, 3267,
2030 3269, 3269, 3273, 3273, 3275, 3275, 3277, 3277, 3281, 3281,
2031 3286, 3287, 3289, 3290, 3293, 3294, 3297, 3298, 3301, 3302,
2032 3303, 3304, 3305, 3306, 3307, 3308, 3308, 3308, 3308, 3308,
2033 3309, 3310, 3311, 3312, 3313, 3316, 3319, 3320, 3323, 3326,
2038 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
2039 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
2040 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
2041 static const char *const yytname[] =
2043 "$end", "error", "$undefined", "ID", "VTK_ID", "QT_ID", "StdString",
2044 "UnicodeString", "OSTREAM", "ISTREAM", "LP", "LA", "STRING_LITERAL",
2045 "INT_LITERAL", "HEX_LITERAL", "OCT_LITERAL", "FLOAT_LITERAL",
2046 "CHAR_LITERAL", "ZERO", "NULLPTR", "SSIZE_T", "SIZE_T", "NULLPTR_T",
2047 "BEGIN_ATTRIB", "STRUCT", "CLASS", "UNION", "ENUM", "PUBLIC", "PRIVATE",
2048 "PROTECTED", "CONST", "VOLATILE", "MUTABLE", "STATIC", "THREAD_LOCAL",
2049 "VIRTUAL", "EXPLICIT", "INLINE", "CONSTEXPR", "FRIEND", "EXTERN",
2050 "OPERATOR", "TEMPLATE", "THROW", "TRY", "CATCH", "NOEXCEPT", "DECLTYPE",
2051 "TYPENAME", "TYPEDEF", "NAMESPACE", "USING", "NEW", "DELETE", "DEFAULT",
2052 "STATIC_CAST", "DYNAMIC_CAST", "CONST_CAST", "REINTERPRET_CAST",
2053 "OP_LSHIFT_EQ", "OP_RSHIFT_EQ", "OP_LSHIFT", "OP_RSHIFT_A",
2054 "OP_DOT_POINTER", "OP_ARROW_POINTER", "OP_ARROW", "OP_INCR", "OP_DECR",
2055 "OP_PLUS_EQ", "OP_MINUS_EQ", "OP_TIMES_EQ", "OP_DIVIDE_EQ",
2056 "OP_REMAINDER_EQ", "OP_AND_EQ", "OP_OR_EQ", "OP_XOR_EQ", "OP_LOGIC_AND",
2057 "OP_LOGIC_OR", "OP_LOGIC_EQ", "OP_LOGIC_NEQ", "OP_LOGIC_LEQ",
2058 "OP_LOGIC_GEQ", "ELLIPSIS", "DOUBLE_COLON", "OTHER", "AUTO", "VOID",
2059 "BOOL", "FLOAT", "DOUBLE", "INT", "SHORT", "LONG", "INT64__", "CHAR",
2060 "CHAR16_T", "CHAR32_T", "WCHAR_T", "SIGNED", "UNSIGNED", "IdType",
2061 "TypeInt8", "TypeUInt8", "TypeInt16", "TypeUInt16", "TypeInt32",
2062 "TypeUInt32", "TypeInt64", "TypeUInt64", "TypeFloat32", "TypeFloat64",
2063 "SetMacro", "GetMacro", "SetStringMacro", "GetStringMacro",
2064 "SetClampMacro", "SetObjectMacro", "GetObjectMacro", "BooleanMacro",
2065 "SetVector2Macro", "SetVector3Macro", "SetVector4Macro",
2066 "SetVector6Macro", "GetVector2Macro", "GetVector3Macro",
2067 "GetVector4Macro", "GetVector6Macro", "SetVectorMacro", "GetVectorMacro",
2068 "ViewportCoordinateMacro", "WorldCoordinateMacro", "TypeMacro",
2069 "VTK_BYTE_SWAP_DECL", "';'", "'{'", "'}'", "'='", "':'", "','", "'('",
2070 "')'", "'<'", "'['", "']'", "'~'", "'&'", "'*'", "'>'", "'%'", "'/'",
2071 "'-'", "'+'", "'!'", "'|'", "'^'", "'.'", "$accept", "translation_unit",
2072 "opt_declaration_seq", "$@1", "declaration", "template_declaration",
2073 "explicit_instantiation", "linkage_specification",
2074 "namespace_definition", "$@2", "namespace_alias_definition",
2075 "forward_declaration", "simple_forward_declaration", "class_definition",
2076 "class_specifier", "$@3", "class_head", "$@4", "$@5", "class_key",
2077 "class_head_name", "class_name", "opt_final", "member_specification",
2078 "$@6", "member_access_specifier", "member_declaration",
2079 "template_member_declaration", "friend_declaration",
2080 "base_specifier_list", "base_specifier", "opt_virtual",
2081 "opt_access_specifier", "access_specifier", "opaque_enum_declaration",
2082 "enum_definition", "enum_specifier", "$@7", "enum_head", "enum_key",
2083 "opt_enum_base", "$@8", "enumerator_list", "enumerator_definition",
2084 "$@9", "nested_variable_initialization", "ignored_initializer",
2085 "ignored_class", "ignored_class_body", "typedef_declaration",
2086 "basic_typedef_declaration", "typedef_declarator_list",
2087 "typedef_declarator_list_cont", "typedef_declarator",
2088 "typedef_direct_declarator", "function_direct_declarator", "$@10",
2089 "$@11", "typedef_declarator_id", "using_declaration", "using_id",
2090 "using_directive", "alias_declaration", "$@12", "template_head", "$@13",
2091 "template_parameter_list", "$@14", "template_parameter", "$@15", "$@16",
2092 "$@17", "$@18", "$@19", "$@20", "$@21", "opt_ellipsis",
2093 "class_or_typename", "opt_template_parameter_initializer",
2094 "template_parameter_initializer", "$@22", "template_parameter_value",
2095 "function_definition", "function_declaration",
2096 "nested_method_declaration", "nested_operator_declaration",
2097 "method_definition", "method_declaration", "operator_declaration",
2098 "conversion_function", "$@23", "$@24", "conversion_function_id",
2099 "operator_function_nr", "$@25", "operator_function_sig", "$@26",
2100 "operator_function_id", "operator_sig", "function_nr",
2101 "function_trailer_clause", "function_trailer", "$@27", "noexcept_sig",
2102 "function_body_as_trailer", "opt_trailing_return_type",
2103 "trailing_return_type", "$@28", "function_body", "function_try_block",
2104 "handler_seq", "function_sig", "$@29", "structor_declaration", "$@30",
2105 "$@31", "structor_sig", "$@32", "opt_ctor_initializer",
2106 "mem_initializer_list", "mem_initializer",
2107 "parameter_declaration_clause", "$@33", "parameter_list", "$@34",
2108 "parameter_declaration", "$@35", "$@36", "opt_initializer",
2109 "initializer", "$@37", "$@38", "variable_declaration",
2110 "init_declarator_id", "opt_declarator_list", "declarator_list_cont",
2111 "$@39", "init_declarator", "opt_ptr_operator_seq",
2112 "direct_abstract_declarator", "$@40", "direct_declarator", "$@41",
2113 "lp_or_la", "$@42", "opt_array_or_parameters", "$@43", "$@44",
2114 "function_qualifiers", "abstract_declarator", "declarator",
2115 "opt_declarator_id", "declarator_id", "bitfield_size",
2116 "opt_array_decorator_seq", "array_decorator_seq", "$@45",
2117 "array_decorator_seq_impl", "array_decorator", "$@46",
2118 "array_size_specifier", "$@47", "id_expression", "unqualified_id",
2119 "qualified_id", "nested_name_specifier", "$@48", "tilde_sig",
2120 "identifier_sig", "scope_operator_sig", "template_id", "$@49",
2121 "decltype_specifier", "$@50", "simple_id", "identifier",
2122 "opt_decl_specifier_seq", "decl_specifier2", "decl_specifier_seq",
2123 "decl_specifier", "storage_class_specifier", "function_specifier",
2124 "cv_qualifier", "cv_qualifier_seq", "store_type", "store_type_specifier",
2125 "$@51", "$@52", "type_specifier", "trailing_type_specifier", "$@53",
2126 "trailing_type_specifier_seq", "trailing_type_specifier_seq2", "$@54",
2127 "$@55", "tparam_type", "tparam_type_specifier2", "$@56", "$@57",
2128 "tparam_type_specifier", "simple_type_specifier", "type_name",
2129 "primitive_type", "ptr_operator_seq", "reference", "rvalue_reference",
2130 "pointer", "$@58", "ptr_cv_qualifier_seq", "pointer_seq",
2131 "attribute_specifier_seq", "attribute_specifier", "$@59", "$@60",
2132 "declaration_macro", "$@61", "$@62", "$@63", "$@64", "$@65", "$@66",
2133 "$@67", "$@68", "$@69", "$@70", "$@71", "$@72", "$@73", "$@74", "$@75",
2134 "$@76", "$@77", "$@78", "$@79", "$@80", "$@81", "$@82", "opt_comma",
2135 "operator_id", "operator_id_no_delim", "keyword", "literal",
2136 "constant_expression", "constant_expression_item", "$@83",
2137 "common_bracket_item", "common_bracket_item_no_scope_operator",
2138 "any_bracket_contents", "bracket_pitem", "any_bracket_item",
2139 "braces_item", "angle_bracket_contents", "braces_contents",
2140 "angle_bracket_pitem", "angle_bracket_item", "angle_brackets_sig",
2141 "$@84", "right_angle_bracket", "brackets_sig", "$@85", "$@86",
2142 "parentheses_sig", "$@87", "$@88", "$@89", "braces_sig", "$@90",
2143 "ignored_items", "ignored_expression", "ignored_item",
2144 "ignored_item_no_semi", "ignored_item_no_angle", "ignored_braces",
2145 "ignored_brackets", "ignored_parentheses", "ignored_left_parenthesis", 0
2149 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2150 static const unsigned short int yyr1[] =
2152 0, 157, 158, 159, 160, 159, 161, 161, 161, 161,
2153 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
2154 161, 161, 161, 161, 162, 162, 162, 162, 162, 163,
2155 163, 164, 165, 166, 165, 167, 168, 168, 169, 169,
2156 169, 170, 170, 172, 171, 174, 173, 173, 175, 173,
2157 173, 176, 176, 176, 177, 177, 177, 178, 178, 179,
2158 179, 180, 181, 180, 180, 182, 182, 182, 183, 183,
2159 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
2160 183, 183, 183, 183, 184, 184, 184, 184, 185, 185,
2161 185, 185, 186, 186, 187, 187, 187, 188, 188, 189,
2162 189, 190, 190, 190, 191, 191, 191, 192, 192, 194,
2163 193, 195, 195, 196, 196, 196, 197, 198, 197, 199,
2164 199, 200, 200, 201, 200, 202, 203, 203, 204, 204,
2165 204, 204, 205, 205, 206, 206, 207, 207, 207, 207,
2166 207, 208, 209, 209, 210, 211, 211, 213, 214, 212,
2167 215, 216, 217, 217, 217, 217, 217, 217, 218, 220,
2168 219, 221, 222, 221, 223, 224, 223, 226, 227, 225,
2169 228, 229, 225, 230, 231, 232, 225, 233, 233, 234,
2170 234, 235, 235, 237, 236, 238, 238, 239, 239, 239,
2171 239, 240, 241, 241, 241, 242, 242, 242, 243, 243,
2172 243, 244, 244, 244, 244, 245, 245, 245, 247, 248,
2173 246, 249, 251, 250, 253, 252, 254, 255, 256, 257,
2174 257, 259, 258, 258, 258, 258, 258, 258, 258, 260,
2175 261, 261, 262, 262, 264, 263, 265, 265, 265, 266,
2176 267, 267, 269, 268, 271, 272, 270, 274, 273, 275,
2177 275, 276, 276, 277, 278, 279, 278, 280, 281, 280,
2178 280, 280, 283, 284, 282, 285, 285, 287, 286, 288,
2179 286, 289, 290, 291, 291, 292, 293, 292, 294, 295,
2180 295, 296, 297, 296, 298, 299, 298, 301, 300, 300,
2181 302, 303, 304, 302, 302, 305, 305, 305, 305, 305,
2182 305, 306, 306, 307, 307, 308, 308, 309, 309, 310,
2183 310, 310, 311, 311, 313, 312, 314, 314, 316, 315,
2184 317, 318, 317, 319, 319, 320, 320, 320, 320, 320,
2185 321, 321, 321, 322, 322, 322, 322, 322, 322, 323,
2186 322, 324, 325, 326, 328, 327, 330, 329, 331, 331,
2187 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
2188 331, 331, 331, 331, 331, 331, 331, 331, 331, 332,
2189 332, 332, 332, 332, 332, 332, 333, 333, 334, 334,
2190 334, 334, 335, 335, 336, 336, 336, 336, 337, 337,
2191 337, 337, 337, 338, 338, 338, 339, 339, 340, 340,
2192 341, 343, 342, 344, 342, 345, 345, 345, 346, 346,
2193 347, 346, 346, 346, 348, 350, 349, 351, 349, 352,
2194 354, 353, 355, 353, 356, 356, 356, 356, 356, 356,
2195 356, 357, 357, 358, 358, 358, 358, 358, 358, 358,
2196 358, 358, 358, 358, 358, 358, 358, 358, 358, 358,
2197 358, 358, 358, 358, 359, 359, 359, 359, 359, 359,
2198 359, 359, 359, 359, 359, 359, 359, 359, 359, 360,
2199 360, 360, 360, 361, 362, 364, 363, 365, 365, 366,
2200 366, 367, 367, 369, 370, 368, 372, 371, 373, 374,
2201 375, 371, 376, 371, 377, 371, 378, 379, 371, 380,
2202 371, 381, 382, 383, 371, 371, 384, 371, 385, 371,
2203 386, 371, 387, 371, 388, 371, 389, 371, 390, 371,
2204 391, 371, 392, 371, 393, 371, 371, 371, 371, 394,
2205 394, 395, 395, 395, 395, 395, 395, 395, 395, 395,
2206 395, 395, 395, 396, 396, 396, 396, 396, 396, 396,
2207 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
2208 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
2209 396, 396, 396, 396, 396, 396, 396, 397, 397, 397,
2210 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
2211 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
2212 397, 397, 397, 397, 397, 397, 398, 398, 398, 398,
2213 398, 398, 398, 398, 399, 399, 400, 400, 400, 401,
2214 400, 400, 402, 402, 403, 403, 403, 403, 403, 403,
2215 403, 403, 403, 403, 404, 404, 405, 405, 405, 405,
2216 406, 406, 406, 407, 407, 408, 408, 409, 409, 410,
2217 410, 411, 411, 411, 413, 412, 414, 414, 416, 415,
2218 417, 415, 419, 418, 420, 418, 421, 418, 423, 422,
2219 424, 424, 425, 425, 426, 426, 427, 427, 428, 428,
2220 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
2221 428, 428, 428, 428, 428, 429, 430, 430, 431, 432,
2225 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
2226 static const unsigned char yyr2[] =
2228 0, 2, 1, 0, 0, 4, 1, 1, 1, 1,
2229 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2230 1, 1, 2, 1, 2, 2, 2, 2, 2, 5,
2231 4, 5, 4, 0, 6, 5, 1, 2, 4, 3,
2232 5, 4, 5, 0, 5, 0, 7, 4, 0, 5,
2233 2, 1, 1, 1, 3, 4, 2, 1, 1, 0,
2234 1, 0, 0, 4, 3, 1, 1, 1, 1, 1,
2235 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2236 1, 2, 2, 1, 2, 2, 2, 2, 2, 3,
2237 2, 3, 1, 4, 2, 4, 4, 0, 1, 0,
2238 1, 1, 1, 1, 5, 3, 6, 4, 5, 0,
2239 5, 4, 3, 1, 2, 2, 0, 0, 3, 1,
2240 3, 0, 1, 0, 4, 6, 2, 1, 5, 6,
2241 3, 4, 5, 3, 1, 2, 5, 5, 6, 5,
2242 6, 2, 0, 3, 2, 1, 1, 0, 0, 8,
2243 1, 3, 1, 2, 2, 2, 3, 3, 4, 0,
2244 8, 3, 0, 5, 1, 0, 4, 0, 0, 5,
2245 0, 0, 5, 0, 0, 0, 7, 0, 1, 1,
2246 1, 0, 1, 0, 3, 1, 2, 2, 2, 2,
2247 2, 3, 4, 2, 3, 2, 3, 4, 2, 4,
2248 5, 3, 1, 1, 2, 1, 2, 3, 0, 0,
2249 9, 2, 0, 4, 0, 7, 2, 1, 3, 0,
2250 2, 0, 3, 1, 2, 1, 2, 1, 1, 1,
2251 2, 2, 0, 1, 0, 3, 3, 1, 1, 6,
2252 0, 6, 0, 7, 0, 0, 6, 0, 6, 0,
2253 2, 1, 3, 3, 0, 0, 2, 1, 0, 4,
2254 3, 1, 0, 0, 5, 0, 1, 0, 3, 0,
2255 2, 4, 2, 0, 2, 0, 0, 4, 2, 0,
2256 1, 3, 0, 6, 3, 0, 5, 0, 3, 1,
2257 0, 0, 0, 7, 1, 0, 2, 2, 3, 3,
2258 2, 1, 2, 1, 2, 0, 1, 2, 4, 1,
2259 1, 1, 0, 1, 0, 2, 1, 2, 0, 5,
2260 0, 0, 2, 1, 1, 1, 1, 1, 2, 2,
2261 2, 2, 2, 2, 2, 2, 3, 3, 3, 0,
2262 5, 1, 1, 1, 0, 5, 0, 3, 1, 1,
2263 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2264 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2265 1, 1, 1, 1, 1, 1, 0, 3, 1, 1,
2266 1, 1, 2, 3, 1, 1, 1, 1, 1, 1,
2267 2, 1, 1, 1, 1, 1, 1, 1, 1, 2,
2268 2, 0, 3, 0, 4, 1, 3, 4, 1, 1,
2269 0, 4, 2, 2, 2, 0, 3, 0, 4, 2,
2270 0, 3, 0, 4, 1, 1, 1, 1, 2, 2,
2271 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
2272 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2273 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2274 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2275 1, 1, 2, 2, 2, 0, 4, 0, 1, 1,
2276 2, 0, 2, 0, 0, 6, 0, 7, 0, 0,
2277 0, 9, 0, 5, 0, 5, 0, 0, 10, 0,
2278 7, 0, 0, 0, 9, 6, 0, 7, 0, 7,
2279 0, 7, 0, 7, 0, 7, 0, 7, 0, 7,
2280 0, 7, 0, 9, 0, 9, 4, 4, 7, 0,
2281 1, 2, 2, 3, 3, 1, 1, 1, 1, 2,
2282 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2283 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2284 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2285 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2286 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2287 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2288 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2289 1, 1, 1, 1, 1, 2, 1, 1, 1, 0,
2290 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2291 1, 1, 1, 1, 0, 2, 1, 1, 1, 1,
2292 1, 1, 1, 1, 1, 0, 2, 0, 2, 1,
2293 1, 1, 1, 1, 0, 4, 1, 1, 0, 4,
2294 0, 5, 0, 4, 0, 4, 0, 4, 0, 4,
2295 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
2296 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2297 1, 1, 1, 1, 1, 3, 3, 4, 3, 1,
2301 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2302 static const unsigned char yydprec[] =
2304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2377 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2378 static const unsigned char yymerger[] =
2380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2424 0, 0, 0, 0, 0, 0, 0, 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 0, 0, 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, 0, 0, 0, 0, 0,
2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2453 /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
2454 doesn't specify something else to do. Zero means the default is an
2456 static const unsigned short int yydefact[] =
2458 3, 0, 4, 1, 481, 0, 437, 438, 439, 433,
2459 434, 435, 436, 441, 442, 440, 483, 52, 51, 53,
2460 113, 396, 397, 388, 391, 392, 394, 395, 393, 387,
2461 389, 217, 0, 346, 410, 0, 0, 0, 343, 454,
2462 455, 456, 457, 458, 463, 464, 465, 466, 459, 460,
2463 461, 462, 467, 468, 453, 443, 444, 445, 446, 447,
2464 448, 449, 450, 451, 452, 0, 0, 0, 0, 0,
2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2466 0, 0, 0, 0, 0, 0, 23, 341, 5, 19,
2467 20, 13, 11, 12, 9, 36, 17, 376, 43, 481,
2468 10, 16, 376, 0, 481, 14, 134, 7, 6, 8,
2469 0, 18, 0, 0, 0, 0, 205, 0, 0, 15,
2470 0, 323, 481, 0, 0, 0, 0, 481, 409, 325,
2471 342, 0, 481, 384, 385, 386, 177, 279, 401, 405,
2472 408, 481, 481, 482, 21, 634, 115, 114, 390, 0,
2473 437, 438, 439, 433, 434, 435, 436, 700, 701, 611,
2474 607, 608, 606, 609, 610, 612, 613, 441, 442, 440,
2475 670, 580, 579, 581, 599, 583, 585, 584, 586, 587,
2476 588, 591, 592, 590, 589, 595, 598, 582, 600, 601,
2477 593, 578, 577, 597, 596, 553, 554, 594, 604, 603,
2478 602, 605, 555, 556, 557, 684, 558, 559, 560, 566,
2479 567, 561, 562, 563, 564, 565, 568, 569, 570, 571,
2480 572, 573, 574, 575, 576, 682, 681, 694, 453, 443,
2481 444, 445, 446, 447, 448, 449, 450, 451, 452, 670,
2482 688, 685, 689, 699, 162, 670, 549, 550, 544, 687,
2483 543, 545, 546, 547, 548, 551, 552, 686, 693, 692,
2484 683, 690, 691, 672, 678, 680, 679, 670, 0, 0,
2485 437, 438, 439, 433, 434, 435, 436, 389, 376, 481,
2486 376, 481, 481, 0, 481, 409, 0, 177, 369, 371,
2487 370, 374, 375, 373, 372, 670, 33, 350, 348, 349,
2488 353, 354, 352, 351, 357, 356, 355, 0, 0, 368,
2489 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
2490 0, 481, 324, 0, 0, 326, 327, 0, 488, 492,
2491 494, 0, 0, 501, 0, 0, 0, 0, 0, 0,
2492 0, 0, 0, 0, 0, 0, 0, 0, 279, 0,
2493 50, 279, 109, 116, 0, 0, 27, 37, 24, 481,
2494 26, 28, 0, 25, 0, 177, 249, 238, 670, 187,
2495 237, 189, 190, 188, 208, 481, 0, 211, 22, 413,
2496 339, 195, 193, 244, 330, 0, 326, 327, 328, 58,
2497 329, 57, 0, 333, 331, 332, 334, 412, 335, 344,
2498 376, 481, 376, 481, 135, 206, 0, 481, 403, 382,
2499 287, 289, 178, 0, 275, 265, 177, 481, 481, 481,
2500 400, 280, 469, 470, 479, 471, 376, 432, 431, 484,
2501 3, 672, 0, 0, 657, 656, 167, 161, 0, 0,
2502 0, 664, 666, 662, 347, 481, 390, 279, 50, 279,
2503 116, 330, 376, 376, 150, 146, 142, 0, 145, 0,
2504 0, 0, 153, 0, 151, 0, 155, 154, 0, 0,
2505 350, 348, 349, 353, 354, 352, 351, 0, 0, 0,
2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2507 0, 0, 0, 0, 0, 0, 0, 0, 381, 380,
2508 0, 275, 177, 481, 378, 379, 61, 39, 48, 406,
2509 481, 0, 0, 58, 0, 0, 121, 105, 117, 112,
2510 481, 481, 0, 0, 0, 0, 0, 0, 255, 0,
2511 0, 249, 247, 336, 337, 338, 645, 279, 50, 279,
2512 116, 196, 194, 383, 376, 477, 207, 212, 481, 0,
2513 191, 219, 312, 481, 0, 0, 267, 272, 266, 0,
2514 0, 303, 0, 177, 474, 473, 475, 472, 480, 402,
2515 660, 639, 623, 668, 641, 628, 642, 637, 658, 638,
2516 629, 633, 632, 0, 627, 630, 631, 636, 622, 640,
2517 635, 624, 625, 626, 4, 0, 675, 677, 0, 671,
2518 674, 676, 695, 0, 164, 0, 0, 0, 696, 30,
2519 673, 698, 634, 634, 634, 411, 0, 142, 177, 406,
2520 0, 481, 279, 279, 0, 312, 481, 326, 327, 32,
2521 0, 0, 3, 158, 159, 0, 553, 554, 0, 538,
2522 537, 0, 535, 0, 536, 216, 542, 157, 156, 486,
2523 0, 0, 0, 496, 499, 0, 0, 506, 510, 514,
2524 518, 508, 512, 516, 520, 522, 524, 526, 527, 0,
2525 41, 274, 278, 377, 62, 0, 60, 38, 47, 56,
2526 481, 58, 0, 0, 107, 0, 119, 122, 0, 111,
2527 407, 481, 481, 0, 250, 251, 0, 670, 236, 0,
2528 262, 406, 0, 245, 255, 0, 0, 406, 0, 481,
2529 404, 398, 478, 288, 219, 0, 232, 284, 313, 0,
2530 307, 197, 192, 271, 276, 0, 270, 285, 304, 477,
2531 634, 647, 634, 0, 31, 29, 697, 165, 163, 0,
2532 0, 0, 427, 426, 425, 0, 177, 279, 420, 424,
2533 179, 180, 177, 0, 0, 0, 0, 137, 141, 144,
2534 139, 111, 0, 0, 136, 279, 147, 307, 35, 4,
2535 0, 541, 0, 0, 540, 539, 531, 532, 0, 489,
2536 493, 495, 0, 0, 502, 0, 0, 0, 0, 0,
2537 0, 0, 0, 0, 0, 0, 529, 65, 66, 67,
2538 44, 481, 0, 101, 102, 103, 99, 49, 92, 97,
2539 177, 45, 54, 481, 110, 121, 123, 118, 104, 0,
2540 325, 0, 177, 0, 481, 261, 256, 257, 0, 340,
2541 219, 0, 652, 653, 654, 650, 651, 646, 649, 345,
2542 42, 40, 108, 111, 399, 232, 214, 225, 223, 221,
2543 229, 234, 0, 220, 227, 228, 218, 233, 318, 315,
2544 316, 0, 242, 279, 621, 618, 619, 268, 614, 616,
2545 617, 290, 476, 0, 0, 0, 485, 167, 428, 429,
2546 430, 422, 305, 168, 481, 419, 376, 171, 174, 665,
2547 667, 663, 138, 140, 143, 255, 34, 177, 533, 534,
2548 0, 0, 497, 0, 0, 505, 0, 0, 0, 0,
2549 0, 0, 0, 0, 0, 0, 530, 0, 0, 64,
2550 0, 100, 481, 98, 0, 94, 0, 55, 120, 0,
2551 672, 0, 127, 252, 253, 240, 209, 258, 177, 232,
2552 481, 645, 106, 213, 255, 0, 0, 224, 230, 231,
2553 226, 321, 317, 310, 311, 309, 308, 255, 277, 0,
2554 615, 291, 286, 294, 0, 644, 669, 643, 648, 659,
2555 166, 376, 290, 306, 181, 177, 421, 181, 177, 0,
2556 0, 487, 490, 0, 500, 503, 507, 511, 515, 519,
2557 509, 513, 517, 521, 0, 0, 528, 0, 389, 0,
2558 0, 83, 79, 70, 76, 63, 78, 72, 71, 75,
2559 73, 68, 69, 0, 77, 0, 202, 203, 74, 0,
2560 323, 0, 0, 177, 80, 177, 0, 177, 46, 124,
2561 126, 125, 239, 219, 260, 262, 263, 246, 248, 0,
2562 0, 222, 0, 415, 235, 279, 0, 0, 0, 620,
2563 255, 661, 423, 281, 183, 169, 182, 301, 0, 177,
2564 172, 175, 148, 160, 0, 672, 0, 0, 0, 90,
2565 481, 88, 0, 0, 0, 0, 177, 81, 84, 86,
2566 87, 0, 85, 0, 198, 82, 481, 204, 0, 0,
2567 95, 93, 96, 0, 232, 259, 265, 655, 481, 417,
2568 376, 414, 481, 322, 481, 0, 0, 282, 302, 181,
2569 295, 491, 0, 504, 523, 525, 0, 481, 89, 0,
2570 91, 481, 0, 0, 0, 481, 201, 0, 210, 264,
2571 215, 376, 416, 319, 243, 481, 184, 185, 290, 176,
2572 149, 498, 670, 672, 406, 130, 0, 481, 0, 199,
2573 0, 670, 418, 292, 186, 283, 297, 296, 0, 300,
2574 0, 0, 0, 59, 0, 406, 131, 200, 0, 295,
2575 298, 299, 672, 133, 128, 59, 0, 241, 293, 0,
2579 /* YYPDEFGOTO[NTERM-NUM]. */
2580 static const short int yydefgoto[] =
2582 -1, 1, 2, 4, 88, 356, 90, 91, 92, 461,
2583 93, 94, 95, 358, 97, 349, 98, 926, 675, 375,
2584 509, 510, 678, 674, 801, 802, 1005, 1079, 1007, 807,
2585 808, 924, 920, 809, 100, 101, 102, 516, 103, 359,
2586 519, 688, 685, 686, 929, 360, 931, 1071, 1145, 105,
2587 106, 616, 624, 617, 454, 455, 895, 1110, 456, 107,
2588 320, 108, 361, 770, 362, 436, 603, 877, 604, 605,
2589 974, 606, 977, 607, 978, 1109, 882, 752, 1055, 1056,
2590 1106, 1136, 363, 112, 113, 114, 1082, 1015, 1016, 116,
2591 528, 1033, 117, 546, 714, 547, 944, 548, 118, 550,
2592 716, 853, 945, 854, 855, 856, 857, 946, 369, 370,
2593 1032, 551, 957, 1017, 531, 830, 383, 704, 526, 694,
2594 695, 699, 700, 826, 1035, 827, 828, 1096, 557, 558,
2595 725, 559, 119, 414, 500, 555, 863, 501, 502, 883,
2596 1138, 415, 871, 416, 545, 962, 1050, 1169, 1140, 1058,
2597 562, 972, 552, 956, 717, 963, 719, 859, 860, 951,
2598 1046, 1047, 810, 121, 282, 283, 530, 124, 125, 126,
2599 284, 536, 285, 268, 129, 130, 348, 503, 376, 132,
2600 133, 134, 135, 712, 1076, 137, 426, 544, 138, 139,
2601 269, 1044, 1045, 1100, 1131, 746, 747, 886, 971, 748,
2602 140, 141, 142, 421, 422, 423, 424, 729, 713, 425,
2603 690, 143, 145, 583, 144, 778, 478, 901, 1064, 479,
2604 480, 782, 983, 783, 483, 904, 1066, 786, 790, 787,
2605 791, 788, 792, 789, 793, 794, 795, 917, 645, 584,
2606 585, 586, 867, 868, 959, 587, 588, 429, 589, 590,
2607 968, 705, 874, 836, 837, 870, 941, 437, 591, 732,
2608 730, 592, 614, 612, 613, 593, 731, 432, 439, 599,
2609 600, 601, 264, 265, 266, 267
2612 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2614 #define YYPACT_NINF -1028
2615 static const short int yypact[] =
2617 -1028, 108, 115, -1028, -1028, 6791, 217, 221, 231, 247,
2618 250, 288, 291, -71, -29, -12, -1028, -1028, -1028, -1028,
2619 285, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2620 129, -1028, 4328, -1028, -1028, 8663, 173, 7489, -1028, -1028,
2621 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2622 -1028, -1028, -1028, -1028, 148, 150, 192, 246, 269, 273,
2623 292, 300, 304, 329, 342, -51, -10, 20, 128, 135,
2624 143, 185, 209, 214, 218, 222, 230, 254, 284, 289,
2625 299, 306, 314, 326, 354, 358, -1028, -1028, -1028, -1028,
2626 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2627 -1028, -1028, -1028, 113, -1028, -1028, -1028, -1028, -1028, -1028,
2628 8336, -1028, 164, 164, 164, 164, -1028, 375, 8663, -1028,
2629 123, -1028, 341, 1951, 9036, 437, 7756, 166, 196, -1028,
2630 7, 8445, -1028, -1028, -1028, -1028, 256, 140, -1028, -1028,
2631 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 383, 4790,
2632 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2633 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2634 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2635 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2636 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2637 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2638 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2639 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2640 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2641 -1028, -1028, -1028, -1028, 15, -1028, -1028, -1028, -1028, -1028,
2642 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2643 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 55, 7756,
2644 -7, -3, 4, 28, 152, 162, 179, 511, -1028, -1028,
2645 -1028, -1028, -1028, 7778, 437, 437, 8663, 256, -1028, -1028,
2646 -1028, -1028, -1028, -1028, -1028, -1028, 395, -7, -3, 4,
2647 28, 152, 162, 179, -1028, -1028, -1028, 7756, 7756, -1028,
2648 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2649 400, 406, -1028, 1951, 7756, 437, 437, 6747, -1028, -1028,
2650 -1028, 6747, 6747, -1028, 6747, 6747, 6747, 6747, 6747, 6747,
2651 6747, 6747, 6747, 6747, 6747, 6747, 6747, 6747, 8191, 407,
2652 8001, 8191, -1028, 7424, 403, 7756, -1028, -1028, -1028, -1028,
2653 -1028, -1028, 8336, -1028, 8554, 463, 409, -1028, -1028, -1028,
2654 -1028, -1028, -1028, -1028, -1028, -1028, 8663, -1028, -1028, 525,
2655 -1028, -1028, -1028, -1028, 410, 437, 437, 437, -1028, -1028,
2656 -1028, -1028, 7, -1028, -1028, -1028, -1028, 525, -1028, -1028,
2657 -1028, -1028, -1028, -1028, -1028, -1028, 1951, -1028, -1028, 525,
2658 -1028, -1028, -1028, 7826, -1028, 158, 74, -1028, -1028, -1028,
2659 -1028, -1028, -1028, -1028, -1028, 366, -1028, 525, 525, 5714,
2660 -1028, -1028, 2172, 2326, -1028, -1028, 228, -1028, 2480, 3558,
2661 2634, -1028, -1028, -1028, -1028, -1028, -1028, 8219, 8110, 8219,
2662 7598, -1028, -1028, -1028, -1028, -1028, -1028, 7890, -1028, 2788,
2663 412, 416, -1028, 428, -1028, 57, -1028, -1028, 6638, 1951,
2664 -1028, -1028, -1028, -1028, -1028, -1028, -1028, 425, 6747, 6747,
2665 6747, 426, 427, 6747, 429, 432, 433, 436, 438, 442,
2666 443, 445, 447, 448, 449, 450, 452, 451, -1028, -1028,
2667 460, -1028, 256, -1028, -1028, -1028, -1028, -1028, -1028, 54,
2668 -1028, 9011, 649, 437, 437, 464, 6747, -1028, -1028, -1028,
2669 206, -1028, 7644, 8554, 7826, 7756, 444, 2942, 461, 8990,
2670 676, 409, -1028, -1028, -1028, -1028, -1028, 8191, 8110, 8191,
2671 7598, -1028, -1028, 525, -1028, 499, -1028, -1028, -1028, 1610,
2672 -1028, -1028, 458, -1028, 1951, 122, -1028, -1028, -1028, 468,
2673 7890, -1028, 467, 256, 525, 525, 525, -1028, -1028, 1417,
2674 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2675 -1028, -1028, -1028, 466, -1028, -1028, -1028, -1028, -1028, -1028,
2676 -1028, -1028, -1028, -1028, 481, 3712, -1028, -1028, 474, -1028,
2677 -1028, -1028, -1028, 181, -1028, 8772, 77, 576, -1028, -1028,
2678 -1028, -1028, -1028, -1028, -1028, 525, 488, -1028, 256, 64,
2679 489, 189, 8219, 8219, 183, 239, -1028, -1028, -1028, -1028,
2680 490, 437, -1028, -1028, -1028, 623, 484, 485, 27, -1028,
2681 -1028, 495, -1028, 486, -1028, -1028, -1028, -1028, -1028, -1028,
2682 492, 496, 497, -1028, -1028, 501, 8663, -1028, -1028, -1028,
2683 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 7756,
2684 -1028, 502, -1028, 525, 67, 7378, -1028, -1028, 504, 525,
2685 -1028, 437, 437, 9011, -1028, 335, -1028, 506, 8663, 510,
2686 525, -1028, -1028, 1951, 508, -1028, 65, -1028, -1028, 518,
2687 562, -1028, 437, -1028, 461, 5868, 515, 84, 526, 206,
2688 1417, -1028, 499, -1028, -1028, 70, 117, -1028, -1028, 519,
2689 109, -1028, -1028, -1028, -1028, 6176, -1028, -1028, -1028, 499,
2690 -1028, -1028, -1028, 521, -1028, -1028, -1028, -1028, -1028, 7756,
2691 7756, 7756, -1028, 437, 437, 8663, 256, 140, -1028, -1028,
2692 -1028, -1028, 256, 638, 4944, 5098, 5252, -1028, 527, -1028,
2693 -1028, -1028, 533, 534, -1028, 140, -1028, 78, -1028, 535,
2694 8663, -1028, 528, 529, -1028, -1028, -1028, -1028, 8663, -1028,
2695 -1028, -1028, 8663, 8663, -1028, 546, 8663, 8663, 8663, 8663,
2696 8663, 8663, 8663, 8663, 8663, 8663, 530, -1028, -1028, -1028,
2697 -1028, -1028, 536, -1028, -1028, -1028, 382, 537, -1028, 653,
2698 463, -1028, 525, -1028, -1028, 6747, -1028, -1028, -1028, 83,
2699 324, 7756, 463, 3096, -1028, -1028, 551, -1028, 8663, -1028,
2700 -1028, 552, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2701 -1028, -1028, -1028, 560, -1028, 117, -1028, -1028, -1028, -1028,
2702 -1028, -1028, 89, -1028, 55, -1028, -1028, -1028, -1028, 519,
2703 -1028, 514, -1028, 140, -1028, 6022, -1028, 6176, -1028, -1028,
2704 -1028, 345, -1028, 5406, 4482, 5560, -1028, 228, -1028, -1028,
2705 -1028, -1028, 7890, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2706 -1028, -1028, -1028, -1028, -1028, 461, -1028, 256, -1028, -1028,
2707 554, 8663, -1028, 555, 8663, -1028, 557, 559, 561, 563,
2708 564, 565, 566, 567, 570, 571, -1028, 572, 1787, -1028,
2709 7756, -1028, -1028, -1028, 7756, -1028, 7378, 525, -1028, 6176,
2710 -1028, 569, -1028, -1028, -1028, -1028, 525, 632, 256, 117,
2711 -1028, -1028, -1028, -1028, 461, 55, 8881, -1028, -1028, -1028,
2712 -1028, 574, -1028, -1028, -1028, -1028, -1028, 461, -1028, 6484,
2713 -1028, -1028, -1028, -1028, 575, -1028, -1028, -1028, -1028, -1028,
2714 -1028, -1028, 345, -1028, 584, 50, 1417, 584, 256, 581,
2715 589, -1028, -1028, 585, -1028, -1028, -1028, -1028, -1028, -1028,
2716 -1028, -1028, -1028, -1028, 713, 714, -1028, 7038, 226, 7709,
2717 65, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2718 -1028, -1028, -1028, 6923, -1028, 164, -1028, -1028, -1028, 595,
2719 410, 1951, 7153, 256, -1028, 463, 1981, 463, 537, 6176,
2720 4636, -1028, 684, -1028, -1028, -1028, -1028, -1028, 525, 5868,
2721 590, -1028, 8881, -1028, -1028, 140, 588, 6176, 592, -1028,
2722 461, -1028, 1417, -1028, -1028, -1028, -1028, -1028, 598, 256,
2723 -1028, -1028, -1028, -1028, 600, -1028, 602, 604, 606, -1028,
2724 -1028, -1028, 805, 164, 410, 7268, 463, -1028, -1028, -1028,
2725 -1028, 6923, -1028, 7268, -1028, -1028, -1028, -1028, 1951, 7826,
2726 -1028, -1028, -1028, 65, 117, -1028, 158, -1028, -1028, -1028,
2727 -1028, -1028, -1028, 6176, -1028, 607, 6330, -1028, -1028, 584,
2728 -1028, -1028, 3866, -1028, -1028, -1028, 7936, -1028, -1028, 805,
2729 -1028, -1028, 7826, 7268, 90, -1028, -1028, 614, -1028, -1028,
2730 525, -1028, 1417, 525, 525, -1028, 6330, -1028, 345, -1028,
2731 434, -1028, -1028, -1028, 95, -1028, 7936, -1028, 8072, -1028,
2732 93, -1028, 1417, 525, -1028, -1028, -1028, -1028, 65, 65,
2733 3250, 4020, 373, 56, 8072, 107, -1028, -1028, 3404, -1028,
2734 -1028, -1028, -1028, -1028, -1028, 59, 373, -1028, 434, 4174,
2738 /* YYPGOTO[NTERM-NUM]. */
2739 static const short int yypgoto[] =
2741 -1028, -1028, -401, -1028, -1028, 745, -167, -1028, -1028, -1028,
2742 -1028, -847, -99, -2, -31, -1028, -1028, -1028, -1028, 21,
2743 -404, -107, -828, -1028, -1028, -1028, -1028, -166, -1028, -173,
2744 -272, -1028, -1028, -49, -163, -159, -27, -1028, -1028, 11,
2745 -483, -1028, -1028, -54, -1028, -1028, -1028, -309, -771, -156,
2746 -119, -409, 147, 0, -1028, -1028, -1028, -1028, 149, -152,
2747 -1028, -1028, 18, -1028, 25, -1028, -1028, -1028, -109, -1028,
2748 -1028, -1028, -1028, -1028, -1028, -1028, 405, -1028, -923, -1028,
2749 -1028, -1028, 766, -1028, -1028, -1028, -145, -218, 26, -121,
2750 -1028, -1028, -268, -502, -1028, -1028, -1028, -310, -296, -526,
2751 -690, -1028, -1028, -1028, -1028, -802, -1028, -1028, -80, -1028,
2752 -1028, -1028, -1028, -117, -1028, -1028, -1028, -1028, 249, -1028,
2753 -40, -684, -1028, -1028, -1028, -253, -1028, -1028, -313, -1028,
2754 -1028, -1028, -131, 287, -302, 293, -1028, -73, -136, -713,
2755 -1028, -251, -1028, -699, -1028, -930, -1028, -1028, -374, -1028,
2756 -1028, -1028, -432, -1028, -1028, -478, -1028, -1028, -63, -1028,
2757 -1028, -1028, 1119, 1082, 1110, 14, -1028, -1028, -32, 700,
2758 -5, -1028, 45, -1028, 930, -21, 397, -1028, 94, 998,
2759 -1028, -1028, -497, -1028, 943, 110, -1028, -1028, -124, -876,
2760 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2761 195, 51, 440, -402, 376, -1028, 377, -1028, 75, -1028,
2762 493, -1028, -1028, -1028, -115, -1028, -1028, -1028, -1028, -1028,
2763 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028,
2764 -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 9,
2765 121, 174, -835, -822, -1028, -633, -151, -458, -1028, -65,
2766 -1028, -130, -1028, -1027, -1028, -683, -1028, -582, -1028, -1028,
2767 -1028, -259, -1028, -1028, -1028, 251, -1028, -181, -426, -1028,
2768 -421, 36, -8, -1028, -658, -1028
2771 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
2772 positive, shift that token. If negative, reduce the rule which
2773 number is the opposite. If zero, do what YYDEFACT says.
2774 If YYTABLE_NINF, syntax error. */
2775 #define YYTABLE_NINF -655
2776 static const short int yytable[] =
2778 127, 420, 381, 96, 278, 595, 382, 408, 280, 444,
2779 405, 357, 404, 467, 563, 296, 104, 388, 610, 123,
2780 831, 738, 838, 109, 845, 625, 99, 468, 722, 594,
2781 110, 115, 325, 371, 372, 373, 458, 689, 822, 887,
2782 620, 260, 1053, 943, 619, 960, 281, 884, 711, 515,
2783 128, 323, 721, 884, 1060, 466, 279, 676, 433, 676,
2784 410, 411, 676, -357, 438, 441, 442, 676, 263, -357,
2785 1043, 1003, 835, 16, 718, 157, 158, -369, 434, 1137,
2786 16, -371, 326, 258, 410, 411, 440, 676, -370, 327,
2787 774, 385, 869, 16, 1029, 797, 798, 799, 676, 131,
2788 400, 16, 750, 392, 402, -356, 16, 947, 3, 1154,
2789 676, -356, -374, 16, 459, -2, 16, 549, 386, 389,
2790 847, 325, -355, 839, 123, 701, 751, 417, -355, 286,
2791 328, 99, 16, 412, 707, -369, 115, 1037, 761, -371,
2792 939, 148, 403, 948, 949, 406, -370, 718, 848, 399,
2793 1069, 417, 401, 261, 754, 755, 756, 412, 260, 648,
2794 329, 849, 408, 435, 850, 561, 1099, 722, 387, 390,
2795 -374, 326, 149, 468, 610, 775, 288, 289, 290, 291,
2796 292, 293, 294, 851, 980, 431, 1139, 527, 677, -59,
2797 677, 721, -59, 841, 634, 443, 418, 419, 884, -59,
2798 258, 647, -59, 800, 364, 243, 262, 960, 1155, 366,
2799 846, 979, 1103, 762, 763, 844, 861, 417, 841, -59,
2800 418, 419, -59, 862, 1149, 1036, 843, 1167, 549, 677,
2801 -59, 769, 711, -59, 869, 706, -375, 708, 446, 884,
2802 408, 841, -59, 405, 434, -59, -373, 861, 352, 862,
2803 38, 385, 408, -170, 852, 452, 723, 378, 549, 453,
2804 1040, 724, 1057, -372, 325, 1061, 410, 411, 330, 149,
2805 261, -173, 873, 1048, 875, 331, 884, -170, 386, 884,
2806 38, 960, -368, 332, -358, 541, 418, 419, -368, 542,
2807 -358, 385, 1128, -269, -375, 556, 869, 281, 367, 368,
2808 -326, -369, 325, 325, -373, -371, -326, 279, 295, 146,
2809 147, 618, 728, 618, 326, -370, 1162, 764, 386, 325,
2810 737, -372, 765, 262, -116, 333, -359, 518, 387, 435,
2811 -327, -374, -359, 400, -375, 1162, -327, 1176, 469, 412,
2812 -116, -116, 1077, 1094, 518, 513, 1108, 1176, 325, 334,
2813 325, -350, 326, 326, 335, -348, 838, -350, 336, -369,
2814 884, -348, 337, -371, 511, -349, 1105, 458, 387, 326,
2815 338, -349, -373, -370, 385, -372, 123, 1166, 406, 766,
2816 -360, -353, -314, 279, -354, 401, -360, -353, 115, -374,
2817 -354, 1174, -375, 1166, 339, 514, 869, 549, 326, 408,
2818 326, 386, 405, -361, 680, 1180, 835, -362, 325, -361,
2819 803, 804, 805, -362, 869, 288, 289, 290, 291, 292,
2820 293, 294, -352, 838, 340, -351, -363, 554, -352, 341,
2821 -373, -351, -363, -372, -364, 1127, 392, 385, -365, 342,
2822 -364, 260, 260, 513, -365, 325, 343, 260, 260, 260,
2823 973, 387, 627, 838, 344, 631, 523, 1097, 326, 239,
2824 33, 930, 511, -366, 386, 1156, 345, 1157, 260, -366,
2825 869, 814, 259, 835, 815, -324, -367, 646, 1158, 385,
2826 581, 1159, -367, 258, 258, 961, 618, 618, -314, 258,
2827 258, 258, 400, 514, 346, 326, 38, 5, 347, 351,
2828 1170, 1171, 628, 835, 1030, 514, 681, 631, 1142, 392,
2829 258, 1143, 418, 419, 387, 374, 823, 325, 430, 325,
2830 325, 38, 385, 446, 513, 702, 683, 953, 954, 955,
2831 21, 22, 460, 513, 464, 325, 260, 406, 693, 392,
2832 -152, 413, 506, 511, 279, 244, 412, 525, 16, 386,
2833 532, 632, 511, 261, 261, 627, 682, 514, 646, 261,
2834 261, 261, 633, 1126, 649, 653, 654, 326, 656, 326,
2835 326, 657, 658, 1059, 514, 659, 813, 660, 258, 697,
2836 261, 661, 662, 514, 663, 326, 664, 665, 666, 259,
2837 669, 667, 350, 668, 670, 950, 1126, 353, 684, 387,
2838 743, -314, -254, 573, 260, 628, 262, 262, 727, 610,
2839 733, 885, 262, 262, 262, 379, 741, 734, 736, 354,
2840 397, 881, 757, 760, 768, 409, 771, 772, 773, 618,
2841 777, 779, 753, 262, 427, 428, 776, 780, 781, 1112,
2842 784, 724, 811, 816, 818, 825, 258, 821, 261, 840,
2843 744, 385, 288, 289, 290, 291, 292, 293, 294, 824,
2844 842, 385, 858, 888, 325, 876, 765, 892, 893, 916,
2845 325, 896, 898, 899, 919, 447, 922, 449, 681, 288,
2846 289, 290, 291, 292, 293, 294, 1041, 905, 386, 923,
2847 937, 610, 457, 940, 942, 981, 984, 33, 986, 745,
2848 987, 262, 988, 1031, 989, 990, 991, 992, 993, 994,
2849 995, 1086, 1144, 996, 326, 1034, 261, 1161, -320, 1051,
2850 326, 1054, 1062, 1063, 1065, 549, 1067, 1068, 682, 1085,
2851 1093, 1098, 1102, 1104, 325, 325, 325, 324, 387, 1107,
2852 610, 1111, 1163, 1113, 1165, 1114, 1179, 1115, 1135, 1151,
2853 89, 1002, 1006, 1028, 1091, 1008, 581, 921, 610, 1009,
2854 1175, 928, 1010, 1118, 758, 894, 1011, 759, 970, 262,
2855 524, 111, 448, 1014, 450, 379, 581, 397, 1125, 1073,
2856 703, 933, 1095, 1129, 326, 326, 326, 1018, 505, 672,
2857 958, 505, 549, 549, 671, 1178, 952, 537, 817, 539,
2858 749, 567, 568, 1024, 872, 581, 581, 581, 1049, 967,
2859 726, 1039, 932, 0, 465, 0, 325, 0, 0, 0,
2860 0, 560, 0, 569, 0, 393, 549, 396, 398, 17,
2861 18, 19, 260, 0, 0, 0, 21, 22, 23, 24,
2862 25, 26, 27, 28, 29, 0, 277, 0, 0, 622,
2863 623, 0, 522, 0, 0, 0, 0, 0, 0, 0,
2864 0, 392, 0, 0, 0, 0, 326, 0, 529, 582,
2865 0, 0, 259, 259, 258, 0, 0, 627, 259, 259,
2866 259, 0, 0, 0, 0, 0, 0, 505, 0, 505,
2867 0, 0, 0, 0, 538, 0, 540, 0, 408, 259,
2868 543, 405, 0, 404, 0, 1087, 0, 560, 0, 1101,
2869 564, 565, 566, 127, 357, 325, 1004, 0, 581, 325,
2870 0, 325, 0, 0, 581, 581, 581, 628, 0, 104,
2871 0, 0, 1021, 0, 0, 1084, 1012, 0, 615, 99,
2872 0, 710, 0, 1013, 261, 0, 0, 0, 136, 0,
2873 0, 408, 0, 0, 405, 0, 0, 0, 1087, 408,
2874 0, 1160, 405, 128, 0, 326, 1087, 259, 560, 326,
2875 1168, 326, 0, 357, 0, 0, 0, 505, 287, 505,
2876 581, 0, 0, 0, 396, 398, 0, 0, 0, 385,
2877 0, 400, 127, 1120, 325, 402, 673, 262, 0, 408,
2878 0, 0, 405, 679, 0, 0, 1087, 0, 127, 505,
2879 581, 1078, 1022, 323, 465, 0, 386, 127, 1070, 0,
2880 0, 325, 1072, 457, 0, 396, 398, 1021, 0, 0,
2881 0, 1080, 0, 403, 99, 259, 1088, 0, 1081, 260,
2882 1042, 715, 128, 401, 326, 0, 720, 0, 0, 0,
2883 512, 0, 400, 365, 391, 0, 385, 0, 128, 0,
2884 0, 377, 505, 505, 0, 0, 387, 128, 392, 0,
2885 127, 326, 0, 0, 0, 0, 127, 0, 127, 1078,
2886 581, 258, 0, 386, 627, 533, 534, 535, 0, 0,
2887 581, 1075, 400, 1117, 0, 1021, 1121, 1088, 581, 1080,
2888 0, 392, 279, 0, 401, 0, 1081, 1083, 0, 0,
2889 0, 513, 0, 0, 0, 122, 0, 627, 127, 767,
2890 128, 260, 0, 0, 120, 0, 128, 0, 128, 407,
2891 511, 0, 0, 387, 628, 0, 0, 1088, 0, 0,
2892 1147, 513, 0, 513, 279, 582, 0, 322, 512, 0,
2893 505, 261, 0, 0, 581, 0, 321, 581, 0, 513,
2894 511, 514, 511, 258, 0, 582, 1119, 628, 128, 260,
2895 260, 0, 0, 812, 0, 1123, 0, 260, 511, 0,
2896 0, 0, 0, 0, 0, 819, 0, 581, 260, 0,
2897 0, 514, 0, 514, 582, 582, 582, 0, 0, 0,
2898 0, 0, 0, 0, 262, 384, 0, 0, 394, 514,
2899 0, 258, 258, 396, 398, 925, 0, 0, 0, 258,
2900 0, 0, 0, 0, 0, 0, 0, 934, 0, 512,
2901 258, 0, 0, 261, 0, 0, 395, 0, 512, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 477, 0, 0,
2904 0, 481, 482, 259, 484, 485, 486, 487, 488, 489,
2905 490, 491, 492, 493, 494, 495, 496, 497, 0, 0,
2906 391, 261, 261, 976, 407, 0, 262, 0, 0, 261,
2907 0, 0, 0, 0, 918, 0, 0, 0, 0, 0,
2908 261, 0, 0, 0, 0, 365, 927, 582, 0, 0,
2909 0, 0, 0, 582, 582, 582, 0, 936, 0, 0,
2910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 0, 396, 0, 0, 262, 262, 0, 0, 0, 0,
2912 0, 0, 262, 0, 0, 0, 504, 0, 0, 504,
2913 0, 0, 0, 262, 0, 0, 0, 0, 0, 0,
2914 0, 0, 407, 0, 0, 451, 0, 0, 1052, 582,
2915 0, 0, 0, 0, 407, 0, 0, 975, 391, 322,
2916 0, 534, 535, 0, 0, 0, 0, 0, 445, 0,
2917 0, 0, 0, 0, 0, 0, 0, 0, 0, 582,
2918 0, 0, 829, 0, 0, 451, 394, 0, 650, 651,
2919 652, 377, 0, 655, 0, 1026, 505, 322, 322, 0,
2920 0, 0, 0, 0, 0, 0, 462, 463, 1089, 0,
2921 1090, 0, 1092, 1038, 395, 0, 0, 0, 0, 0,
2922 0, 391, 0, 396, 398, 504, 687, 504, 21, 22,
2923 23, 24, 25, 26, 27, 28, 29, 498, 277, 391,
2924 0, 0, 0, 322, 0, 322, 0, 499, 391, 582,
2925 259, 0, 520, 0, 521, 0, 0, 0, 0, 582,
2926 0, 1122, 0, 0, 0, 0, 0, 582, 384, 0,
2927 0, 0, 505, 0, 0, 553, 0, 1132, 0, 0,
2928 0, 0, 0, 39, 40, 41, 42, 43, 44, 45,
2929 46, 47, 48, 49, 50, 51, 52, 53, 0, 0,
2930 0, 407, 0, 0, 0, 0, 0, 0, 1152, 0,
2931 0, 0, 0, 0, 0, 504, 0, 504, 0, 626,
2932 0, 0, 0, 582, 0, 0, 582, 0, 0, 0,
2933 0, 451, 259, 0, 0, 0, 0, 0, 0, 0,
2934 322, 0, 0, 1116, 0, 0, 0, 504, 0, 621,
2935 630, 0, 505, 0, 0, 0, 582, 0, 0, 1124,
2936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2937 0, 1130, 505, 0, 0, 1133, 0, 1134, 0, 785,
2938 259, 259, 0, 0, 0, 0, 692, 0, 259, 0,
2939 1146, 0, 0, 391, 1148, 0, 0, 0, 1150, 259,
2940 504, 504, 635, 820, 0, 0, 0, 0, 1153, 0,
2941 0, 0, 322, 0, 0, 322, 692, 0, 0, 0,
2942 1164, 691, 626, 0, 696, 0, 0, 0, 0, 0,
2943 322, 0, 0, 0, 0, 0, 0, 0, 0, 709,
2944 0, 0, 0, 636, 637, 0, 0, 0, 0, 0,
2945 202, 203, 204, 638, 206, 207, 208, 209, 210, 211,
2946 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2947 222, 223, 224, 0, 0, 0, 0, 0, 0, 324,
2948 0, 0, 0, 0, 0, 0, 0, 0, 504, 0,
2949 0, 0, 0, 897, 0, 742, 0, 0, 0, 0,
2950 0, 900, 0, 0, 0, 902, 903, 0, 0, 906,
2951 907, 908, 909, 910, 911, 912, 913, 914, 915, 0,
2952 0, 0, 0, 407, 0, 687, 0, 639, 0, 640,
2953 641, 0, 642, 643, 0, 246, 247, 248, 644, 250,
2954 251, 252, 253, 254, 255, 256, 0, 0, 0, 0,
2955 0, 938, 0, 0, 0, 692, 0, 0, 0, 322,
2956 0, 0, 0, 0, 0, 322, 0, 0, 796, 0,
2957 6, 7, 8, 9, 10, 11, 12, 0, 0, 0,
2958 0, 0, 0, 0, 0, 0, 0, 13, 14, 15,
2959 16, 17, 18, 19, 20, 0, 512, 0, 21, 22,
2960 23, 24, 25, 26, 27, 28, 29, 997, 998, 31,
2961 32, 0, 0, 0, 0, 33, 34, 35, 0, 999,
2962 0, 0, 0, 0, 982, 0, 512, 985, 512, 322,
2963 322, 322, 0, 0, 0, 0, 0, 0, 878, 879,
2964 880, 1023, 0, 0, 512, 0, 0, 0, 0, 0,
2965 0, 38, 0, 39, 40, 41, 42, 43, 44, 45,
2966 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2967 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2968 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2969 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2970 1000, 1001, 0, 0, 0, 0, 0, 0, 0, 0,
2971 0, 322, 87, 0, 0, 0, 0, 0, 0, 0,
2972 696, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2973 0, 0, 0, 0, 297, 298, 299, 300, 301, 302,
2974 303, 0, 0, 0, 626, 0, 0, 0, 0, 0,
2975 0, 304, 305, 306, 504, 0, 0, 0, 0, 0,
2976 0, 0, 0, 0, 297, 298, 299, 300, 301, 302,
2977 303, 0, 0, 31, 380, 0, 0, 0, 0, 33,
2978 1020, 304, 305, 306, 16, 0, 0, 0, 0, 803,
2979 804, 805, 0, 0, 0, 0, 0, 806, 0, 0,
2980 407, 0, 0, 0, 0, 0, 0, 0, 122, 33,
2981 322, 0, 0, 0, 322, 0, 322, 1019, 0, 1025,
2982 407, 0, 0, 1027, 0, 0, 391, 0, 0, 0,
2983 504, 0, 309, 310, 311, 312, 313, 314, 315, 316,
2984 317, 318, 319, 0, 0, 38, 0, 0, 0, 0,
2985 0, 0, 0, 407, 0, 0, 391, 0, 391, 1074,
2986 0, 407, 309, 310, 311, 312, 313, 314, 315, 316,
2987 317, 318, 319, 0, 391, 1074, 87, 0, 0, 0,
2988 0, 0, 0, 451, 1074, 0, 0, 0, 0, 322,
2989 0, 0, 0, 0, 0, 0, 0, 407, 321, 0,
2990 0, 407, 0, 0, 0, 0, 87, 0, 0, 0,
2991 504, 0, 0, 0, 0, 0, 322, 0, 0, 0,
2992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2993 504, 0, 0, 0, 0, 0, 0, 1074, 0, 0,
2994 0, 0, 0, 1074, 0, 1074, 0, 0, 0, 0,
2995 451, 553, 0, 0, 0, 150, 151, 152, 153, 154,
2996 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2997 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2998 175, 176, 177, 178, 692, 1074, 179, 180, 181, 182,
2999 183, 184, 0, 185, 186, 187, 188, 0, 0, 189,
3000 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3001 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
3002 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3003 220, 221, 222, 223, 224, 225, 226, 227, 39, 40,
3004 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
3005 51, 52, 53, 228, 229, 230, 231, 232, 233, 234,
3006 235, 236, 237, 238, 0, 0, 0, 0, 0, 0,
3007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3008 0, 0, 0, 0, 0, 0, 596, 239, 0, 240,
3009 241, 242, 243, 0, 597, 245, 598, 246, 247, 248,
3010 249, 250, 251, 252, 253, 254, 255, 256, 257, 150,
3011 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3012 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3013 171, 172, 173, 174, 175, 176, 177, 178, 0, 0,
3014 179, 180, 181, 182, 183, 184, 0, 185, 186, 187,
3015 188, 0, 0, 189, 190, 191, 192, 193, 194, 195,
3016 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
3017 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3018 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
3019 226, 227, 39, 40, 41, 42, 43, 44, 45, 46,
3020 47, 48, 49, 50, 51, 52, 53, 228, 229, 230,
3021 231, 232, 233, 234, 235, 236, 237, 238, 0, 0,
3022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3024 596, 239, 602, 240, 241, 242, 243, 0, 597, 245,
3025 0, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3026 255, 256, 257, 150, 151, 152, 153, 154, 155, 156,
3027 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3028 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3029 177, 178, 0, 0, 179, 180, 181, 182, 183, 184,
3030 0, 185, 186, 187, 188, 0, 0, 189, 190, 191,
3031 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3032 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3033 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3034 222, 223, 224, 225, 226, 227, 39, 40, 41, 42,
3035 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3036 53, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3037 237, 238, 0, 0, 0, 0, 0, 0, 0, 0,
3038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3039 0, 0, 0, 0, 596, 239, 0, 240, 241, 242,
3040 243, 0, 597, 245, 608, 246, 247, 248, 249, 250,
3041 251, 252, 253, 254, 255, 256, 257, 150, 151, 152,
3042 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3043 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3044 173, 174, 175, 176, 177, 178, 0, 0, 179, 180,
3045 181, 182, 183, 184, 0, 185, 186, 187, 188, 0,
3046 0, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3047 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3048 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3049 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3050 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
3051 49, 50, 51, 52, 53, 228, 229, 230, 231, 232,
3052 233, 234, 235, 236, 237, 238, 0, 0, 0, 0,
3053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3054 0, 0, 0, 0, 0, 0, 0, 0, 596, 239,
3055 0, 240, 241, 242, 243, 611, 597, 245, 0, 246,
3056 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
3057 257, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3058 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3059 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
3060 0, 0, 179, 180, 181, 182, 183, 184, 0, 185,
3061 186, 187, 188, 0, 0, 189, 190, 191, 192, 193,
3062 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3063 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
3064 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3065 224, 225, 226, 227, 39, 40, 41, 42, 43, 44,
3066 45, 46, 47, 48, 49, 50, 51, 52, 53, 228,
3067 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
3068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3070 0, 0, 596, 239, 629, 240, 241, 242, 243, 0,
3071 597, 245, 0, 246, 247, 248, 249, 250, 251, 252,
3072 253, 254, 255, 256, 257, 150, 151, 152, 153, 154,
3073 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
3074 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
3075 175, 176, 177, 178, 0, 0, 179, 180, 181, 182,
3076 183, 184, 0, 185, 186, 187, 188, 0, 0, 189,
3077 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3078 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
3079 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3080 220, 221, 222, 223, 224, 225, 226, 227, 39, 40,
3081 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
3082 51, 52, 53, 228, 229, 230, 231, 232, 233, 234,
3083 235, 236, 237, 238, 0, 0, 0, 0, 0, 0,
3084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3085 0, 0, 0, 0, 0, 0, 596, 239, 698, 240,
3086 241, 242, 243, 0, 597, 245, 0, 246, 247, 248,
3087 249, 250, 251, 252, 253, 254, 255, 256, 257, 150,
3088 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3089 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3090 171, 172, 173, 174, 175, 176, 177, 178, 0, 0,
3091 179, 180, 181, 182, 183, 184, 0, 185, 186, 187,
3092 188, 0, 0, 189, 190, 191, 192, 193, 194, 195,
3093 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
3094 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3095 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
3096 226, 227, 39, 40, 41, 42, 43, 44, 45, 46,
3097 47, 48, 49, 50, 51, 52, 53, 228, 229, 230,
3098 231, 232, 233, 234, 235, 236, 237, 238, 0, 0,
3099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3101 596, 239, 935, 240, 241, 242, 243, 0, 597, 245,
3102 0, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3103 255, 256, 257, 150, 151, 152, 153, 154, 155, 156,
3104 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3105 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3106 177, 178, 0, 0, 179, 180, 181, 182, 183, 184,
3107 0, 185, 186, 187, 188, 0, 0, 189, 190, 191,
3108 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3109 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3110 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3111 222, 223, 224, 225, 226, 227, 39, 40, 41, 42,
3112 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3113 53, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3114 237, 238, 0, 0, 0, 0, 0, 0, 0, 0,
3115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3116 0, 0, 0, 0, 596, 239, 1172, 240, 241, 242,
3117 243, 0, 597, 245, 0, 246, 247, 248, 249, 250,
3118 251, 252, 253, 254, 255, 256, 257, 150, 151, 152,
3119 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3120 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3121 173, 174, 175, 176, 177, 178, 0, 0, 179, 180,
3122 181, 182, 183, 184, 0, 185, 186, 187, 188, 0,
3123 0, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3124 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3125 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3126 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3127 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
3128 49, 50, 51, 52, 53, 228, 229, 230, 231, 232,
3129 233, 234, 235, 236, 237, 238, 0, 0, 0, 0,
3130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3131 0, 0, 0, 0, 0, 0, 0, 0, 596, 239,
3132 1177, 240, 241, 242, 243, 0, 597, 245, 0, 246,
3133 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
3134 257, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3135 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3136 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
3137 0, 0, 179, 180, 181, 182, 183, 184, 0, 185,
3138 186, 187, 188, 0, 0, 189, 190, 191, 192, 193,
3139 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3140 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
3141 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3142 224, 225, 226, 227, 39, 40, 41, 42, 43, 44,
3143 45, 46, 47, 48, 49, 50, 51, 52, 53, 228,
3144 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
3145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3147 0, 0, 609, 239, 0, 240, 241, 242, 243, 0,
3148 597, 245, 0, 246, 247, 248, 249, 250, 251, 252,
3149 253, 254, 255, 256, 257, 150, 151, 152, 153, 154,
3150 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
3151 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
3152 175, 176, 177, 178, 0, 0, 179, 180, 181, 182,
3153 183, 184, 0, 185, 186, 187, 188, 0, 0, 189,
3154 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3155 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
3156 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3157 220, 221, 222, 223, 224, 225, 226, 227, 39, 40,
3158 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
3159 51, 52, 53, 228, 229, 230, 231, 232, 233, 234,
3160 235, 236, 237, 238, 0, 0, 0, 0, 0, 0,
3161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3162 0, 0, 0, 0, 0, 0, 735, 239, 0, 240,
3163 241, 242, 243, 0, 597, 245, 0, 246, 247, 248,
3164 249, 250, 251, 252, 253, 254, 255, 256, 257, 150,
3165 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3166 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3167 171, 172, 173, 174, 175, 176, 177, 178, 0, 0,
3168 179, 180, 181, 182, 183, 184, 0, 185, 186, 187,
3169 188, 0, 0, 189, 190, 191, 192, 193, 194, 195,
3170 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
3171 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3172 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
3173 226, 227, 39, 40, 41, 42, 43, 44, 45, 46,
3174 47, 48, 49, 50, 51, 52, 53, 228, 229, 230,
3175 231, 232, 233, 234, 235, 236, 237, 238, 0, 0,
3176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3178 0, 239, 0, 240, 241, 242, 243, 1141, 597, 245,
3179 0, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3180 255, 256, 257, 150, 151, 152, 153, 154, 155, 156,
3181 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3182 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3183 177, 178, 0, 0, 179, 180, 181, 182, 183, 184,
3184 0, 185, 186, 187, 188, 0, 0, 189, 190, 191,
3185 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3186 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3187 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3188 222, 223, 224, 225, 226, 227, 39, 40, 41, 42,
3189 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3190 53, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3191 237, 238, 0, 0, 0, 0, 0, 0, 0, 0,
3192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3193 0, 0, 0, 0, 1173, 239, 0, 240, 241, 242,
3194 243, 0, 597, 245, 0, 246, 247, 248, 249, 250,
3195 251, 252, 253, 254, 255, 256, 257, 150, 151, 152,
3196 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3197 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3198 173, 174, 175, 176, 177, 178, 0, 0, 179, 180,
3199 181, 182, 183, 184, 0, 185, 186, 187, 188, 0,
3200 0, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3201 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3202 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3203 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3204 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
3205 49, 50, 51, 52, 53, 228, 229, 230, 231, 232,
3206 233, 234, 235, 236, 237, 238, 0, 0, 0, 0,
3207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3208 0, 0, 0, 0, 0, 0, 0, 0, 1181, 239,
3209 0, 240, 241, 242, 243, 0, 597, 245, 0, 246,
3210 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
3211 257, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3212 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3213 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
3214 0, 0, 179, 180, 181, 182, 183, 184, 0, 185,
3215 186, 187, 188, 0, 0, 189, 190, 191, 192, 193,
3216 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3217 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
3218 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3219 224, 225, 226, 227, 39, 40, 41, 42, 43, 44,
3220 45, 46, 47, 48, 49, 50, 51, 52, 53, 228,
3221 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
3222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3224 0, 0, 0, 239, 0, 240, 241, 242, 243, 0,
3225 244, 245, 0, 246, 247, 248, 249, 250, 251, 252,
3226 253, 254, 255, 256, 257, 150, 151, 152, 153, 154,
3227 155, 156, 441, 442, 159, 160, 161, 162, 163, 164,
3228 165, 166, 167, 168, 169, 570, 171, 172, 173, 174,
3229 175, 176, 177, 178, 0, 0, 179, 180, 181, 182,
3230 183, 184, 0, 185, 186, 187, 188, 0, 0, 189,
3231 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3232 200, 201, 202, 203, 204, 571, 206, 207, 208, 209,
3233 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3234 220, 221, 222, 223, 224, 0, 572, 0, 39, 40,
3235 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
3236 51, 52, 53, 228, 229, 230, 231, 232, 233, 234,
3237 235, 236, 237, 238, 0, 0, 0, 0, 0, 0,
3238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3239 0, 0, 0, 0, 0, 0, 965, 573, 966, 574,
3240 575, 576, 443, 0, 577, 578, 0, 246, 247, 248,
3241 579, 250, 251, 252, 253, 254, 255, 256, 580, 150,
3242 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3243 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3244 171, 172, 173, 174, 175, 176, 177, 178, 0, 0,
3245 179, 180, 181, 182, 183, 184, 0, 185, 186, 187,
3246 188, 0, 0, 189, 190, 191, 192, 193, 194, 195,
3247 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
3248 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3249 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
3250 226, 227, 39, 40, 41, 42, 43, 44, 45, 46,
3251 47, 48, 49, 50, 51, 52, 53, 228, 229, 230,
3252 231, 232, 233, 234, 235, 236, 237, 238, 0, 0,
3253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3255 0, 239, 0, 240, 241, 242, 243, 0, 597, 245,
3256 0, 246, 247, 248, 249, 250, 251, 252, 253, 254,
3257 255, 256, 257, 150, 151, 152, 153, 154, 155, 156,
3258 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3259 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3260 177, 178, 0, 0, 179, 180, 181, 182, 183, 184,
3261 0, 185, 186, 187, 188, 0, 0, 189, 190, 191,
3262 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3263 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3264 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3265 222, 223, 224, 225, 226, 227, 39, 40, 41, 42,
3266 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3267 53, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3268 237, 238, 0, 0, 0, 0, 0, 0, 0, 0,
3269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3270 0, 0, 0, 0, 0, 239, 0, 240, 241, 242,
3271 243, 0, 0, 245, 0, 246, 247, 248, 249, 250,
3272 251, 252, 253, 254, 255, 256, 257, 150, 151, 152,
3273 153, 154, 155, 156, 441, 442, 159, 160, 161, 162,
3274 163, 164, 165, 166, 167, 168, 169, 570, 171, 172,
3275 173, 174, 175, 176, 177, 178, 0, 0, 179, 180,
3276 181, 182, 183, 184, 0, 185, 186, 187, 188, 0,
3277 0, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3278 198, 199, 200, 201, 202, 203, 204, 571, 206, 207,
3279 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3280 218, 219, 220, 221, 222, 223, 224, 0, 572, 0,
3281 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
3282 49, 50, 51, 52, 53, 228, 229, 230, 231, 232,
3283 233, 234, 235, 236, 237, 238, 0, 0, 0, 0,
3284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3285 0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
3286 0, 574, 575, 576, 443, 889, 577, 578, 0, 246,
3287 247, 248, 579, 250, 251, 252, 253, 254, 255, 256,
3288 580, 150, 151, 152, 153, 154, 155, 156, 441, 442,
3289 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3290 169, 570, 171, 172, 173, 174, 175, 176, 177, 178,
3291 0, 0, 179, 180, 181, 182, 183, 184, 0, 185,
3292 186, 187, 188, 0, 0, 189, 190, 191, 192, 193,
3293 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3294 204, 571, 206, 207, 208, 209, 210, 211, 212, 213,
3295 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3296 224, 0, 572, 0, 39, 40, 41, 42, 43, 44,
3297 45, 46, 47, 48, 49, 50, 51, 52, 53, 228,
3298 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
3299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301 0, 0, 0, 573, 0, 574, 575, 576, 443, 890,
3302 577, 578, 0, 246, 247, 248, 579, 250, 251, 252,
3303 253, 254, 255, 256, 580, 150, 151, 152, 153, 154,
3304 155, 156, 441, 442, 159, 160, 161, 162, 163, 164,
3305 165, 166, 167, 168, 169, 570, 171, 172, 173, 174,
3306 175, 176, 177, 178, 0, 0, 179, 180, 181, 182,
3307 183, 184, 0, 185, 186, 187, 188, 0, 0, 189,
3308 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3309 200, 201, 202, 203, 204, 571, 206, 207, 208, 209,
3310 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3311 220, 221, 222, 223, 224, 0, 572, 0, 39, 40,
3312 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
3313 51, 52, 53, 228, 229, 230, 231, 232, 233, 234,
3314 235, 236, 237, 238, 0, 0, 0, 0, 0, 0,
3315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3316 0, 0, 0, 0, 0, 0, 0, 573, 0, 574,
3317 575, 576, 443, 891, 577, 578, 0, 246, 247, 248,
3318 579, 250, 251, 252, 253, 254, 255, 256, 580, 150,
3319 151, 152, 153, 154, 155, 156, 441, 442, 159, 160,
3320 161, 162, 163, 164, 165, 166, 167, 168, 169, 570,
3321 171, 172, 173, 174, 175, 176, 177, 178, 0, 0,
3322 179, 180, 181, 182, 183, 184, 0, 185, 186, 187,
3323 188, 0, 0, 189, 190, 191, 192, 193, 194, 195,
3324 196, 197, 198, 199, 200, 201, 202, 203, 204, 571,
3325 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3326 216, 217, 218, 219, 220, 221, 222, 223, 224, 0,
3327 572, 0, 39, 40, 41, 42, 43, 44, 45, 46,
3328 47, 48, 49, 50, 51, 52, 53, 228, 229, 230,
3329 231, 232, 233, 234, 235, 236, 237, 238, 0, 0,
3330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332 0, 573, 0, 574, 575, 576, 443, 0, 577, 578,
3333 964, 246, 247, 248, 579, 250, 251, 252, 253, 254,
3334 255, 256, 580, 150, 151, 152, 153, 154, 155, 156,
3335 441, 442, 159, 160, 161, 162, 163, 164, 165, 166,
3336 167, 168, 169, 570, 171, 172, 173, 174, 175, 176,
3337 177, 178, 0, 0, 179, 180, 181, 182, 183, 184,
3338 0, 185, 186, 187, 188, 0, 0, 189, 190, 191,
3339 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3340 202, 203, 204, 571, 206, 207, 208, 209, 210, 211,
3341 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3342 222, 223, 224, 0, 572, 0, 39, 40, 41, 42,
3343 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3344 53, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3345 237, 238, 0, 0, 0, 0, 0, 0, 0, 0,
3346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3347 0, 0, 0, 0, 0, 573, 0, 574, 575, 576,
3348 443, 0, 577, 578, 969, 246, 247, 248, 579, 250,
3349 251, 252, 253, 254, 255, 256, 580, 150, 151, 152,
3350 153, 154, 155, 156, 441, 442, 159, 160, 161, 162,
3351 163, 164, 165, 166, 167, 168, 169, 570, 171, 172,
3352 173, 174, 175, 176, 177, 178, 0, 0, 179, 180,
3353 181, 182, 183, 184, 0, 185, 186, 187, 188, 0,
3354 0, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3355 198, 199, 200, 201, 202, 203, 204, 571, 206, 207,
3356 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3357 218, 219, 220, 221, 222, 223, 224, 0, 572, 0,
3358 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
3359 49, 50, 51, 52, 53, 228, 229, 230, 231, 232,
3360 233, 234, 235, 236, 237, 238, 0, 0, 0, 0,
3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362 0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
3363 0, 574, 575, 576, 443, 0, 577, 578, 0, 246,
3364 247, 248, 579, 250, 251, 252, 253, 254, 255, 256,
3365 580, 150, 151, 152, 153, 154, 155, 156, 441, 442,
3366 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3367 169, 570, 171, 172, 173, 174, 175, 176, 177, 178,
3368 0, 0, 179, 180, 181, 182, 183, 184, 0, 185,
3369 186, 187, 188, 0, 0, 189, 190, 191, 192, 193,
3370 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3371 204, 434, 206, 207, 208, 209, 210, 211, 212, 213,
3372 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3373 224, 0, 572, 0, 39, 40, 41, 42, 43, 44,
3374 45, 46, 47, 48, 49, 50, 51, 52, 53, 228,
3375 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
3376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3378 0, 0, 0, 573, 0, 832, 575, 833, 443, 0,
3379 834, 578, 0, 246, 247, 248, 435, 250, 251, 252,
3380 253, 254, 255, 256, 580, -618, -618, -618, -618, -618,
3381 -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
3382 -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
3383 -618, -618, -618, -618, 0, 0, -618, -618, -618, -618,
3384 -618, -618, 0, -618, -618, -618, -618, 0, 0, -618,
3385 -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
3386 -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
3387 -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
3388 -618, -618, -618, -618, -618, 0, -618, 0, -618, -618,
3389 -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
3390 -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
3391 -618, -618, -618, -618, 0, 0, 0, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3393 0, 0, 0, 0, 0, 0, 0, -618, 0, -654,
3394 -618, -618, -618, 0, -618, -618, 0, -618, -618, -618,
3395 -618, -618, -618, -618, -618, -618, -618, -618, -618, 150,
3396 151, 152, 153, 154, 155, 156, 441, 442, 159, 160,
3397 161, 162, 163, 164, 165, 166, 167, 168, 169, 570,
3398 171, 172, 173, 174, 175, 176, 177, 178, 0, 0,
3399 179, 180, 181, 182, 183, 184, 0, 185, 186, 187,
3400 188, 0, 0, 189, 190, 191, 192, 193, 194, 195,
3401 196, 197, 198, 199, 200, 201, 202, 203, 204, 864,
3402 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3403 216, 217, 218, 219, 220, 221, 222, 223, 224, 0,
3404 572, 0, 39, 40, 41, 42, 43, 44, 45, 46,
3405 47, 48, 49, 50, 51, 52, 53, 228, 229, 230,
3406 231, 232, 233, 234, 235, 236, 237, 238, 0, 0,
3407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 573, 0, 0, 575, 0, 443, 0, 865, 578,
3410 0, 246, 247, 248, 866, 250, 251, 252, 253, 254,
3411 255, 256, 580, 150, 151, 152, 153, 154, 155, 156,
3412 441, 442, 159, 160, 161, 162, 163, 164, 165, 166,
3413 167, 168, 169, 570, 171, 172, 173, 174, 175, 176,
3414 177, 178, 0, 0, 179, 180, 181, 182, 183, 184,
3415 0, 185, 186, 187, 188, 0, 0, 189, 190, 191,
3416 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3417 202, 203, 204, 0, 206, 207, 208, 209, 210, 211,
3418 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3419 222, 223, 224, 0, 572, 0, 39, 40, 41, 42,
3420 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3421 53, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3422 237, 238, 0, 0, 0, 0, 0, 0, 0, 0,
3423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3424 0, 0, 0, 0, 0, 573, 0, 0, 575, 0,
3425 443, 0, 834, 578, 0, 246, 247, 248, 0, 250,
3426 251, 252, 253, 254, 255, 256, 580, 150, 151, 152,
3427 153, 154, 155, 156, 441, 442, 159, 160, 161, 162,
3428 163, 164, 165, 166, 167, 168, 169, 570, 171, 172,
3429 173, 174, 175, 176, 177, 178, 0, 0, 179, 180,
3430 181, 182, 183, 184, 0, 185, 186, 187, 188, 0,
3431 0, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3432 198, 199, 200, 201, 202, 203, 204, 0, 206, 207,
3433 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3434 218, 219, 220, 221, 222, 223, 224, 0, 0, 0,
3435 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
3436 49, 50, 51, 52, 53, 228, 229, 230, 231, 232,
3437 233, 234, 235, 236, 237, 238, 0, 0, 0, 0,
3438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3439 0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
3440 0, 0, 575, 0, 443, 0, 0, 578, 0, 246,
3441 247, 248, 0, 250, 251, 252, 253, 254, 255, 256,
3442 580, 270, 271, 272, 273, 274, 275, 276, 0, 0,
3443 635, 0, 0, 0, 0, 0, 0, 0, 167, 168,
3444 169, 0, 17, 18, 19, 20, 0, 0, 0, 21,
3445 22, 23, 24, 25, 26, 27, 28, 29, 0, 277,
3446 0, 0, 0, 0, 0, 0, 33, 34, 0, 0,
3447 0, 636, 637, 0, 0, 0, 0, 0, 202, 203,
3448 204, 638, 206, 207, 208, 209, 210, 211, 212, 213,
3449 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3450 224, 0, 38, 0, 39, 40, 41, 42, 43, 44,
3451 45, 46, 47, 48, 49, 50, 51, 52, 53, 228,
3452 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
3453 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
3454 0, 0, 0, 0, 0, 0, 0, 304, 305, 306,
3455 0, 0, 0, 0, 0, 639, 0, 640, 641, 0,
3456 642, 643, 0, 246, 247, 248, 644, 250, 251, 252,
3457 253, 254, 255, 256, 6, 7, 8, 9, 10, 11,
3458 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3459 0, 13, 14, 15, 16, 17, 18, 19, 20, 0,
3460 0, 0, 21, 22, 23, 24, 25, 26, 27, 28,
3461 29, 0, 30, 31, 32, 0, 0, 0, 0, 33,
3462 34, 35, 36, 37, 0, 0, 0, 0, 309, 310,
3463 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
3464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3465 0, 0, 0, 0, 0, 38, 0, 39, 40, 41,
3466 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
3467 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
3468 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3469 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3470 82, 83, 84, 85, 0, 86, 6, 7, 8, 9,
3471 10, 11, 12, 0, 0, 0, 87, 0, 0, 0,
3472 0, 0, 0, 13, 14, 15, 0, 17, 18, 19,
3473 20, 0, 0, 0, 21, 22, 23, 24, 25, 26,
3474 27, 28, 29, 0, 277, 31, 354, 0, 0, 0,
3475 0, 33, 34, 0, 0, 355, 0, 0, 0, 0,
3476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3478 0, 0, 0, 0, 0, 0, 0, 38, 0, 39,
3479 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
3480 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
3481 60, 61, 62, 63, 64, 0, 0, 0, 0, 0,
3482 0, 6, 7, 8, 9, 10, 11, 12, 0, 0,
3483 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
3484 15, 0, 17, 18, 19, 20, 0, 0, 87, 21,
3485 22, 23, 24, 25, 26, 27, 28, 29, 0, 277,
3486 31, 354, 0, 0, 0, 0, 33, 34, 0, 0,
3487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 0, 38, 0, 39, 40, 41, 42, 43, 44,
3491 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
3492 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
3493 0, 0, 0, 0, 0, 0, 6, 7, 8, 9,
3494 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
3495 0, 0, 0, 13, 14, 15, 0, 17, 18, 19,
3496 20, 0, 0, 87, 21, 22, 23, 24, 25, 26,
3497 27, 28, 29, 0, 277, 31, 0, 0, 0, 0,
3498 0, 33, 34, 35, 0, 0, 0, 0, 0, 0,
3499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3501 0, 0, 0, 0, 0, 0, 0, 38, 0, 39,
3502 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
3503 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
3504 60, 61, 62, 63, 64, 0, 0, 0, 0, 0,
3505 0, 6, 7, 8, 9, 10, 11, 12, 0, 0,
3506 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
3507 15, 0, 17, 18, 19, 20, 0, 0, 87, 21,
3508 22, 23, 24, 25, 26, 27, 28, 29, 0, 277,
3509 31, 0, 0, 0, 0, 0, 33, 34, 0, 0,
3510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 38, 0, 39, 40, 41, 42, 43, 44,
3514 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
3515 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
3516 0, 297, 298, 299, 300, 301, 302, 303, 0, 0,
3517 0, 0, 0, 0, 0, 0, 0, 0, 304, 305,
3518 306, 0, 0, 0, 0, 0, 803, 804, 805, 0,
3519 0, 0, 0, 87, 806, 0, 0, 0, 0, 0,
3520 0, 0, 0, 0, 0, 0, 33, 297, 298, 299,
3521 300, 301, 302, 303, 0, 0, 0, 0, 0, 0,
3522 0, 0, 0, 0, 304, 305, 306, 16, 0, 0,
3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
3525 0, 0, 33, 0, 0, 0, 0, 0, 0, 309,
3526 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
3527 0, 0, 297, 298, 299, 300, 301, 302, 303, 0,
3528 0, 0, 0, 0, 0, 0, 0, 0, 38, 304,
3529 305, 306, 0, 0, 0, 0, 0, 0, 0, 0,
3530 0, 0, 0, 87, 0, 309, 310, 311, 312, 313,
3531 314, 315, 316, 317, 318, 319, 0, 33, 307, 0,
3532 308, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3533 0, 0, 0, 0, 0, 0, 0, 0, 517, 0,
3534 0, 0, 518, 0, 0, 0, 0, 0, 0, 87,
3535 0, 0, 0, 38, 0, 0, 0, 0, 0, 0,
3536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3537 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3538 319, 297, 298, 299, 300, 301, 302, 303, 0, 0,
3539 0, 0, 0, 0, 0, 0, 0, 0, 304, 305,
3540 306, 16, 0, 0, 0, 0, 0, 0, 0, 0,
3541 0, 0, 0, 0, 87, 0, 0, 0, 0, 0,
3542 0, 0, 0, 0, 0, 0, 33, 297, 298, 299,
3543 300, 301, 302, 303, 0, 0, 0, 0, 0, 0,
3544 0, 0, 0, 0, 304, 305, 306, 16, 0, 0,
3545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3546 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
3547 0, 0, 33, 0, 0, 0, 0, 0, 0, 309,
3548 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
3549 0, 0, 297, 298, 299, 300, 301, 302, 303, 0,
3550 0, 0, 0, 0, 0, 0, 0, 0, 38, 304,
3551 305, 306, 0, 0, 0, 0, 518, 0, 0, 0,
3552 0, 0, 0, 87, 0, 309, 310, 311, 312, 313,
3553 314, 315, 316, 317, 318, 319, 0, 33, 307, 297,
3554 298, 299, 300, 301, 302, 303, 0, 0, 0, 0,
3555 0, 0, 0, 0, 0, 0, 304, 305, 306, 0,
3556 0, 297, 298, 299, 300, 301, 302, 303, 0, 87,
3557 0, 0, 0, 38, 0, 0, 0, 0, 304, 305,
3558 306, 0, 0, 0, 33, 0, 0, 0, 0, 0,
3559 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3560 319, 380, 0, 0, 0, 0, 33, 0, 0, 297,
3561 298, 299, 300, 301, 302, 303, 0, 0, 0, 0,
3562 38, 0, 0, 0, 0, 0, 304, 305, 306, 0,
3563 0, 0, 0, 0, 87, 0, 0, 309, 310, 311,
3564 312, 313, 314, 315, 316, 317, 318, 319, 31, 0,
3565 0, 0, 0, 0, 33, 0, 0, 0, 0, 309,
3566 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
3567 0, 0, 0, 297, 298, 299, 300, 301, 302, 303,
3568 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
3569 304, 305, 306, 0, 0, 0, 0, 0, 0, 0,
3570 0, 0, 0, 87, 0, 0, 0, 309, 310, 311,
3571 312, 313, 314, 315, 316, 317, 318, 319, 33, 297,
3572 298, 299, 300, 301, 302, 303, 0, 0, 0, 0,
3573 0, 0, 0, 0, 0, 0, 304, 305, 306, 16,
3574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3575 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
3576 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
3577 0, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3578 318, 319, 0, 0, 297, 298, 299, 300, 301, 302,
3579 303, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3580 38, 304, 305, 306, 16, 0, 0, 0, 0, 0,
3581 0, 0, 0, 0, 0, 87, 0, 309, 310, 311,
3582 312, 313, 314, 315, 316, 317, 318, 319, 0, 33,
3583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3585 507, 1142, 0, 0, 1143, 297, 298, 299, 300, 301,
3586 302, 303, 0, 0, 0, 38, 0, 0, 0, 0,
3587 0, 0, 304, 305, 306, 16, 0, 0, 0, 0,
3588 0, 0, 309, 310, 311, 312, 313, 314, 315, 316,
3589 317, 318, 319, 297, 298, 299, 300, 301, 302, 303,
3590 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3591 304, 305, 306, 16, 0, 507, 0, 0, 0, 508,
3592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3593 0, 0, 0, 0, 0, 0, 38, 0, 33, 0,
3594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3595 0, 0, 0, 309, 310, 311, 312, 313, 314, 315,
3596 316, 317, 318, 319, 0, 0, 0, 0, 0, 0,
3597 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3598 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0,
3599 1143, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3600 318, 319, 21, 22, 23, 24, 25, 26, 27, 28,
3601 29, 498, 277, 0, 0, 0, 0, 0, 0, 0,
3602 0, 499, 0, 0, 0, 0, 0, 0, 508, 0,
3603 21, 22, 23, 24, 25, 26, 27, 28, 29, 498,
3604 277, 0, 0, 0, 0, 0, 0, 0, 417, 499,
3605 0, 0, 0, 0, 0, 0, 0, 39, 40, 41,
3606 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
3607 52, 53, 0, 0, 0, 0, 417, 0, 0, 0,
3608 0, 0, 0, 0, 0, 39, 40, 41, 42, 43,
3609 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
3610 0, 0, 0, 0, 0, -273, 0, 0, 0, 0,
3611 0, 0, 0, 0, 0, 0, 0, 418, 419, 270,
3612 271, 272, 273, 274, 275, 276, 0, 0, 0, 0,
3613 0, 0, 0, 0, 0, 0, 167, 168, 169, 0,
3614 17, 18, 19, 20, 0, 418, 419, 21, 22, 23,
3615 24, 25, 26, 27, 28, 29, 0, 277, 31, 354,
3616 0, 0, 0, 0, 33, 34, 0, 0, 355, 0,
3617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3620 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
3621 47, 48, 49, 50, 51, 52, 53, 228, 229, 230,
3622 231, 232, 233, 234, 235, 236, 237, 238, 270, 271,
3623 272, 273, 274, 275, 276, 0, 0, 0, 0, 0,
3624 0, 0, 0, 0, 0, 167, 168, 169, 0, 17,
3625 18, 19, 20, 0, 0, 0, 21, 22, 23, 24,
3626 25, 26, 27, 28, 29, 0, 277, 31, 0, 0,
3627 0, 0, 0, 33, 34, 35, 0, 0, 0, 0,
3628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3630 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
3631 0, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3632 48, 49, 50, 51, 52, 53, 228, 229, 230, 231,
3633 232, 233, 234, 235, 236, 237, 238, 270, 271, 272,
3634 273, 274, 275, 276, 0, 0, 0, 0, 0, 0,
3635 0, 0, 0, 0, 167, 168, 169, 0, 17, 18,
3636 19, 20, 0, 0, 0, 21, 22, 23, 24, 25,
3637 26, 27, 28, 29, 0, 277, 31, 0, 0, 0,
3638 0, 0, 33, 34, 0, 0, 0, 0, 0, 0,
3639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3641 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
3642 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
3643 49, 50, 51, 52, 53, 228, 229, 230, 231, 232,
3644 233, 234, 235, 236, 237, 238, 270, 271, 272, 273,
3645 274, 275, 276, 0, 0, 0, 0, 0, 0, 0,
3646 0, 0, 0, 167, 168, 169, 0, 17, 18, 19,
3647 20, 0, 0, 0, 21, 22, 23, 24, 25, 26,
3648 27, 28, 29, 0, 277, 0, 0, 0, 0, 0,
3649 0, 33, 34, 0, 0, 0, 0, 0, 0, 0,
3650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3652 0, 0, 0, 0, 0, 0, 0, 38, 0, 39,
3653 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
3654 50, 51, 52, 53, 228, 229, 230, 231, 232, 233,
3655 234, 235, 236, 237, 238, 270, 271, 272, 273, 274,
3656 275, 276, 0, 0, 0, 0, 0, 0, 0, 0,
3657 0, 0, 167, 168, 169, 0, 739, 0, 740, 20,
3658 0, 0, 0, 21, 22, 23, 24, 25, 26, 27,
3659 28, 29, 0, 277, 0, 0, 0, 0, 0, 0,
3660 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3663 0, 0, 0, 0, 0, 0, 38, 0, 39, 40,
3664 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
3665 51, 52, 53, 228, 229, 230, 231, 232, 233, 234,
3666 235, 236, 237, 238, 270, 271, 272, 273, 274, 275,
3667 276, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3668 0, 167, 168, 169, 0, 0, 0, 0, 0, 0,
3669 0, 0, 21, 22, 23, 24, 25, 26, 27, 28,
3670 29, 0, 277, 0, 0, 0, 0, 0, 0, 33,
3671 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3674 0, 0, 0, 0, 0, 38, 0, 39, 40, 41,
3675 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
3676 52, 53, 228, 229, 230, 231, 232, 233, 234, 235,
3677 236, 237, 238, 297, 298, 299, 300, 301, 302, 303,
3678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3679 304, 305, 306, 16, 297, 298, 299, 300, 301, 302,
3680 303, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3681 0, 304, 305, 306, 0, 0, 0, 0, 33, 297,
3682 298, 299, 300, 301, 302, 303, 0, 0, 0, 0,
3683 0, 0, 0, 0, 380, 0, 304, 305, 306, 33,
3684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3685 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3686 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
3687 0, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3688 318, 319, 0, 0, 0, 0, 0, 0, 0, 0,
3689 0, 0, 309, 310, 311, 312, 313, 314, 315, 316,
3690 317, 318, 319, 0, 0, 0, 0, 0, 0, 0,
3691 0, 0, 0, 0, 0, 0, 0, 309, 310, 311,
3692 312, 313, 314, 315, 316, 317, 318, 319
3695 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
3696 list of conflicting reductions corresponding to action entry for
3697 state STATE-NUM in yytable. 0 means no conflicts. The list in
3698 yyconfl is terminated by a rule number of 0. */
3699 static const unsigned char yyconflp[] =
3701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3706 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
3707 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
3708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3709 0, 0, 0, 0, 0, 0, 0, 5, 0, 0,
3710 0, 0, 0, 0, 0, 0, 0, 0, 247, 0,
3711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3712 249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4303 0, 0, 0, 0, 0, 7, 9, 11, 13, 15,
4304 17, 19, 21, 23, 25, 27, 29, 31, 33, 35,
4305 37, 39, 41, 43, 45, 47, 49, 51, 53, 55,
4306 57, 59, 61, 63, 0, 0, 65, 67, 69, 71,
4307 73, 75, 0, 77, 79, 81, 83, 0, 0, 85,
4308 87, 89, 91, 93, 95, 97, 99, 101, 103, 105,
4309 107, 109, 111, 113, 115, 117, 119, 121, 123, 125,
4310 127, 129, 131, 133, 135, 137, 139, 141, 143, 145,
4311 147, 149, 151, 153, 155, 0, 157, 0, 159, 161,
4312 163, 165, 167, 169, 171, 173, 175, 177, 179, 181,
4313 183, 185, 187, 189, 191, 193, 195, 197, 199, 201,
4314 203, 205, 207, 209, 0, 0, 0, 0, 0, 0,
4315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4316 0, 0, 0, 0, 0, 0, 0, 211, 0, 0,
4317 213, 215, 217, 0, 219, 221, 0, 223, 225, 227,
4318 229, 231, 233, 235, 237, 239, 241, 243, 245, 0,
4319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4615 0, 0, 0, 0, 0, 0, 0, 0
4618 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
4619 0, pointed into by YYCONFLP. */
4620 static const short int yyconfl[] =
4622 0, 406, 0, 406, 0, 406, 0, 654, 0, 654,
4623 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4624 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4625 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4626 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4627 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4628 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4629 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4630 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4631 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4632 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4633 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4634 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4635 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4636 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4637 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4638 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4639 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4640 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4641 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4642 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4643 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4644 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4645 0, 654, 0, 654, 0, 654, 0, 654, 0, 654,
4646 0, 654, 0, 654, 0, 654, 0, 406, 0, 406,
4650 static const short int yycheck[] =
4652 5, 137, 123, 5, 35, 431, 123, 131, 35, 268,
4653 131, 110, 131, 323, 416, 36, 5, 124, 439, 5,
4654 704, 603, 705, 5, 714, 457, 5, 323, 554, 430,
4655 5, 5, 37, 113, 114, 115, 287, 520, 696, 752,
4656 449, 32, 972, 845, 448, 867, 35, 746, 545, 351,
4657 5, 37, 554, 752, 977, 323, 35, 3, 239, 3,
4658 10, 11, 3, 134, 245, 10, 11, 3, 32, 140,
4659 946, 918, 705, 23, 552, 10, 11, 84, 63, 1106,
4660 23, 84, 37, 32, 10, 11, 267, 3, 84, 140,
4661 63, 123, 725, 23, 929, 28, 29, 30, 3, 5,
4662 131, 23, 25, 124, 131, 134, 23, 18, 0, 1136,
4663 3, 140, 84, 23, 295, 0, 23, 413, 123, 124,
4664 3, 126, 134, 705, 110, 529, 49, 77, 140, 35,
4665 140, 110, 23, 83, 538, 142, 110, 939, 621, 142,
4666 830, 12, 131, 54, 55, 131, 142, 625, 31, 142,
4667 997, 77, 131, 32, 612, 613, 614, 83, 149, 469,
4668 140, 44, 286, 148, 47, 416, 1042, 693, 123, 124,
4669 142, 126, 43, 469, 595, 148, 3, 4, 5, 6,
4670 7, 8, 9, 66, 897, 149, 1109, 368, 134, 135,
4671 134, 693, 138, 134, 137, 140, 146, 147, 897, 135,
4672 149, 469, 138, 136, 110, 140, 32, 1029, 1138, 45,
4673 140, 895, 1047, 622, 623, 712, 138, 77, 134, 135,
4674 146, 147, 138, 140, 134, 938, 709, 134, 524, 134,
4675 135, 632, 729, 138, 867, 537, 84, 539, 12, 938,
4676 364, 134, 135, 364, 63, 138, 84, 138, 135, 140,
4677 84, 283, 376, 25, 137, 286, 134, 134, 554, 286,
4678 944, 139, 975, 84, 269, 978, 10, 11, 140, 43,
4679 149, 43, 730, 957, 732, 140, 975, 49, 283, 978,
4680 84, 1103, 134, 140, 134, 406, 146, 147, 140, 406,
4681 140, 323, 1094, 135, 142, 137, 929, 286, 134, 135,
4682 134, 84, 307, 308, 142, 84, 140, 286, 135, 24,
4683 25, 447, 563, 449, 269, 84, 1144, 134, 323, 324,
4684 139, 142, 139, 149, 135, 140, 134, 138, 283, 148,
4685 134, 84, 140, 364, 84, 1163, 140, 1165, 324, 83,
4686 134, 135, 1000, 1033, 138, 350, 1059, 1175, 353, 140,
4687 355, 134, 307, 308, 140, 134, 1039, 140, 140, 142,
4688 1059, 140, 140, 142, 350, 134, 1050, 618, 323, 324,
4689 140, 140, 84, 142, 406, 84, 362, 1148, 364, 140,
4690 134, 134, 143, 362, 134, 364, 140, 140, 362, 142,
4691 140, 1162, 142, 1164, 140, 350, 1029, 693, 353, 523,
4692 355, 406, 523, 134, 511, 1176, 1039, 134, 413, 140,
4693 28, 29, 30, 140, 1047, 3, 4, 5, 6, 7,
4694 8, 9, 134, 1106, 140, 134, 134, 413, 140, 140,
4695 142, 140, 140, 142, 134, 1093, 457, 469, 134, 140,
4696 140, 432, 433, 448, 140, 450, 140, 438, 439, 440,
4697 882, 406, 457, 1136, 140, 460, 362, 1039, 413, 135,
4698 48, 137, 448, 134, 469, 31, 140, 33, 459, 140,
4699 1103, 136, 32, 1106, 139, 134, 134, 468, 44, 511,
4700 429, 47, 140, 432, 433, 140, 622, 623, 143, 438,
4701 439, 440, 523, 448, 140, 450, 84, 4, 140, 102,
4702 1158, 1159, 457, 1136, 930, 460, 511, 512, 135, 530,
4703 459, 138, 146, 147, 469, 140, 697, 522, 135, 524,
4704 525, 84, 554, 12, 529, 530, 512, 13, 14, 15,
4705 31, 32, 137, 538, 134, 540, 527, 523, 524, 560,
4706 134, 136, 135, 529, 523, 142, 83, 138, 23, 554,
4707 140, 135, 538, 432, 433, 560, 511, 512, 549, 438,
4708 439, 440, 134, 1089, 139, 139, 139, 522, 139, 524,
4709 525, 139, 139, 975, 529, 139, 683, 139, 527, 135,
4710 459, 139, 139, 538, 139, 540, 139, 139, 139, 149,
4711 139, 141, 99, 141, 134, 854, 1122, 104, 134, 554,
4712 605, 143, 141, 135, 595, 560, 432, 433, 141, 1030,
4713 144, 747, 438, 439, 440, 122, 605, 136, 144, 43,
4714 127, 745, 134, 134, 134, 132, 3, 143, 143, 765,
4715 144, 139, 607, 459, 141, 142, 141, 141, 141, 1065,
4716 139, 139, 138, 137, 134, 83, 595, 139, 527, 134,
4717 605, 683, 3, 4, 5, 6, 7, 8, 9, 141,
4718 134, 693, 143, 25, 669, 144, 139, 134, 134, 139,
4719 675, 136, 144, 144, 138, 278, 139, 280, 683, 3,
4720 4, 5, 6, 7, 8, 9, 945, 141, 693, 36,
4721 139, 1112, 287, 141, 134, 141, 141, 48, 141, 605,
4722 141, 527, 141, 134, 141, 141, 141, 141, 141, 139,
4723 139, 1021, 1116, 141, 669, 83, 595, 1143, 144, 144,
4724 675, 137, 141, 134, 139, 1021, 13, 13, 683, 134,
4725 46, 141, 144, 141, 739, 740, 741, 37, 693, 141,
4726 1161, 141, 1146, 141, 1148, 141, 1172, 141, 141, 135,
4727 5, 918, 918, 926, 1026, 918, 705, 806, 1179, 918,
4728 1164, 815, 918, 1072, 617, 765, 918, 618, 877, 595,
4729 365, 5, 279, 918, 281, 282, 725, 284, 1088, 997,
4730 531, 821, 1035, 1096, 739, 740, 741, 918, 348, 502,
4731 863, 351, 1088, 1089, 501, 1169, 859, 400, 688, 402,
4732 605, 425, 425, 918, 729, 754, 755, 756, 959, 874,
4733 559, 941, 820, -1, 321, -1, 821, -1, -1, -1,
4734 -1, 416, -1, 426, -1, 125, 1122, 127, 128, 24,
4735 25, 26, 823, -1, -1, -1, 31, 32, 33, 34,
4736 35, 36, 37, 38, 39, -1, 41, -1, -1, 452,
4737 453, -1, 359, -1, -1, -1, -1, -1, -1, -1,
4738 -1, 882, -1, -1, -1, -1, 821, -1, 375, 429,
4739 -1, -1, 432, 433, 823, -1, -1, 882, 438, 439,
4740 440, -1, -1, -1, -1, -1, -1, 447, -1, 449,
4741 -1, -1, -1, -1, 401, -1, 403, -1, 1022, 459,
4742 407, 1022, -1, 1022, -1, 1022, -1, 502, -1, 1045,
4743 417, 418, 419, 918, 1013, 920, 918, -1, 867, 924,
4744 -1, 926, -1, -1, 873, 874, 875, 882, -1, 918,
4745 -1, -1, 918, -1, -1, 1015, 918, -1, 445, 918,
4746 -1, 544, -1, 918, 823, -1, -1, -1, 5, -1,
4747 -1, 1075, -1, -1, 1075, -1, -1, -1, 1075, 1083,
4748 -1, 1142, 1083, 918, -1, 920, 1083, 527, 563, 924,
4749 1151, 926, -1, 1072, -1, -1, -1, 537, 35, 539,
4750 929, -1, -1, -1, 284, 285, -1, -1, -1, 1021,
4751 -1, 1022, 997, 1073, 999, 1022, 503, 823, -1, 1123,
4752 -1, -1, 1123, 510, -1, -1, 1123, -1, 1013, 569,
4753 959, 1013, 918, 999, 521, -1, 1021, 1022, 997, -1,
4754 -1, 1026, 997, 618, -1, 325, 326, 1013, -1, -1,
4755 -1, 1013, -1, 1022, 1013, 595, 1022, -1, 1013, 1030,
4756 946, 548, 997, 1022, 999, -1, 553, -1, -1, -1,
4757 350, -1, 1083, 110, 124, -1, 1088, -1, 1013, -1,
4758 -1, 118, 622, 623, -1, -1, 1021, 1022, 1089, -1,
4759 1075, 1026, -1, -1, -1, -1, 1081, -1, 1083, 1081,
4760 1029, 1030, -1, 1088, 1089, 385, 386, 387, -1, -1,
4761 1039, 997, 1123, 1072, -1, 1081, 1075, 1083, 1047, 1081,
4762 -1, 1122, 1081, -1, 1083, -1, 1081, 1013, -1, -1,
4763 -1, 1116, -1, -1, -1, 5, -1, 1122, 1123, 626,
4764 1075, 1112, -1, -1, 5, -1, 1081, -1, 1083, 131,
4765 1116, -1, -1, 1088, 1089, -1, -1, 1123, -1, -1,
4766 1119, 1146, -1, 1148, 1123, 705, -1, 37, 448, -1,
4767 710, 1030, -1, -1, 1103, -1, 37, 1106, -1, 1164,
4768 1146, 1116, 1148, 1112, -1, 725, 1072, 1122, 1123, 1160,
4769 1161, -1, -1, 680, -1, 1081, -1, 1168, 1164, -1,
4770 -1, -1, -1, -1, -1, 692, -1, 1136, 1179, -1,
4771 -1, 1146, -1, 1148, 754, 755, 756, -1, -1, -1,
4772 -1, -1, -1, -1, 1030, 123, -1, -1, 126, 1164,
4773 -1, 1160, 1161, 513, 514, 810, -1, -1, -1, 1168,
4774 -1, -1, -1, -1, -1, -1, -1, 822, -1, 529,
4775 1179, -1, -1, 1112, -1, -1, 126, -1, 538, -1,
4776 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4777 -1, -1, -1, -1, -1, -1, -1, 327, -1, -1,
4778 -1, 331, 332, 823, 334, 335, 336, 337, 338, 339,
4779 340, 341, 342, 343, 344, 345, 346, 347, -1, -1,
4780 350, 1160, 1161, 886, 286, -1, 1112, -1, -1, 1168,
4781 -1, -1, -1, -1, 801, -1, -1, -1, -1, -1,
4782 1179, -1, -1, -1, -1, 362, 813, 867, -1, -1,
4783 -1, -1, -1, 873, 874, 875, -1, 824, -1, -1,
4784 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4785 -1, 631, -1, -1, 1160, 1161, -1, -1, -1, -1,
4786 -1, -1, 1168, -1, -1, -1, 348, -1, -1, 351,
4787 -1, -1, -1, 1179, -1, -1, -1, -1, -1, -1,
4788 -1, -1, 364, -1, -1, 283, -1, -1, 971, 929,
4789 -1, -1, -1, -1, 376, -1, -1, 884, 448, 269,
4790 -1, 681, 682, -1, -1, -1, -1, -1, 269, -1,
4791 -1, -1, -1, -1, -1, -1, -1, -1, -1, 959,
4792 -1, -1, 702, -1, -1, 323, 324, -1, 478, 479,
4793 480, 468, -1, 483, -1, 922, 976, 307, 308, -1,
4794 -1, -1, -1, -1, -1, -1, 307, 308, 1023, -1,
4795 1025, -1, 1027, 940, 324, -1, -1, -1, -1, -1,
4796 -1, 511, -1, 743, 744, 447, 516, 449, 31, 32,
4797 33, 34, 35, 36, 37, 38, 39, 40, 41, 529,
4798 -1, -1, -1, 353, -1, 355, -1, 50, 538, 1029,
4799 1030, -1, 353, -1, 355, -1, -1, -1, -1, 1039,
4800 -1, 1076, -1, -1, -1, -1, -1, 1047, 406, -1,
4801 -1, -1, 1052, -1, -1, 413, -1, 1100, -1, -1,
4802 -1, -1, -1, 86, 87, 88, 89, 90, 91, 92,
4803 93, 94, 95, 96, 97, 98, 99, 100, -1, -1,
4804 -1, 523, -1, -1, -1, -1, -1, -1, 1131, -1,
4805 -1, -1, -1, -1, -1, 537, -1, 539, -1, 457,
4806 -1, -1, -1, 1103, -1, -1, 1106, -1, -1, -1,
4807 -1, 469, 1112, -1, -1, -1, -1, -1, -1, -1,
4808 450, -1, -1, 1070, -1, -1, -1, 569, -1, 450,
4809 460, -1, 1132, -1, -1, -1, 1136, -1, -1, 1086,
4810 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4811 -1, 1098, 1152, -1, -1, 1102, -1, 1104, -1, 656,
4812 1160, 1161, -1, -1, -1, -1, 524, -1, 1168, -1,
4813 1117, -1, -1, 683, 1121, -1, -1, -1, 1125, 1179,
4814 622, 623, 12, 693, -1, -1, -1, -1, 1135, -1,
4815 -1, -1, 522, -1, -1, 525, 554, -1, -1, -1,
4816 1147, 522, 560, -1, 525, -1, -1, -1, -1, -1,
4817 540, -1, -1, -1, -1, -1, -1, -1, -1, 540,
4818 -1, -1, -1, 53, 54, -1, -1, -1, -1, -1,
4819 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
4820 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
4821 80, 81, 82, -1, -1, -1, -1, -1, -1, 999,
4822 -1, -1, -1, -1, -1, -1, -1, -1, 710, -1,
4823 -1, -1, -1, 770, -1, 605, -1, -1, -1, -1,
4824 -1, 778, -1, -1, -1, 782, 783, -1, -1, 786,
4825 787, 788, 789, 790, 791, 792, 793, 794, 795, -1,
4826 -1, -1, -1, 745, -1, 815, -1, 137, -1, 139,
4827 140, -1, 142, 143, -1, 145, 146, 147, 148, 149,
4828 150, 151, 152, 153, 154, 155, -1, -1, -1, -1,
4829 -1, 828, -1, -1, -1, 693, -1, -1, -1, 669,
4830 -1, -1, -1, -1, -1, 675, -1, -1, 669, -1,
4831 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
4832 -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
4833 23, 24, 25, 26, 27, -1, 1116, -1, 31, 32,
4834 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
4835 43, -1, -1, -1, -1, 48, 49, 50, -1, 52,
4836 -1, -1, -1, -1, 901, -1, 1146, 904, 1148, 739,
4837 740, 741, -1, -1, -1, -1, -1, -1, 739, 740,
4838 741, 918, -1, -1, 1164, -1, -1, -1, -1, -1,
4839 -1, 84, -1, 86, 87, 88, 89, 90, 91, 92,
4840 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
4841 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
4842 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
4843 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
4844 133, 134, -1, -1, -1, -1, -1, -1, -1, -1,
4845 -1, 821, 145, -1, -1, -1, -1, -1, -1, -1,
4846 821, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4847 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
4848 9, -1, -1, -1, 882, -1, -1, -1, -1, -1,
4849 -1, 20, 21, 22, 976, -1, -1, -1, -1, -1,
4850 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
4851 9, -1, -1, 42, 43, -1, -1, -1, -1, 48,
4852 918, 20, 21, 22, 23, -1, -1, -1, -1, 28,
4853 29, 30, -1, -1, -1, -1, -1, 36, -1, -1,
4854 1022, -1, -1, -1, -1, -1, -1, -1, 918, 48,
4855 920, -1, -1, -1, 924, -1, 926, 918, -1, 920,
4856 1042, -1, -1, 924, -1, -1, 1116, -1, -1, -1,
4857 1052, -1, 101, 102, 103, 104, 105, 106, 107, 108,
4858 109, 110, 111, -1, -1, 84, -1, -1, -1, -1,
4859 -1, -1, -1, 1075, -1, -1, 1146, -1, 1148, 997,
4860 -1, 1083, 101, 102, 103, 104, 105, 106, 107, 108,
4861 109, 110, 111, -1, 1164, 1013, 145, -1, -1, -1,
4862 -1, -1, -1, 1021, 1022, -1, -1, -1, -1, 999,
4863 -1, -1, -1, -1, -1, -1, -1, 1119, 999, -1,
4864 -1, 1123, -1, -1, -1, -1, 145, -1, -1, -1,
4865 1132, -1, -1, -1, -1, -1, 1026, -1, -1, -1,
4866 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4867 1152, -1, -1, -1, -1, -1, -1, 1075, -1, -1,
4868 -1, -1, -1, 1081, -1, 1083, -1, -1, -1, -1,
4869 1088, 1089, -1, -1, -1, 3, 4, 5, 6, 7,
4870 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
4871 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
4872 28, 29, 30, 31, 1122, 1123, 34, 35, 36, 37,
4873 38, 39, -1, 41, 42, 43, 44, -1, -1, 47,
4874 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
4875 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
4876 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
4877 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
4878 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
4879 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
4880 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
4881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4882 -1, -1, -1, -1, -1, -1, 134, 135, -1, 137,
4883 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
4884 148, 149, 150, 151, 152, 153, 154, 155, 156, 3,
4885 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
4886 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
4887 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
4888 34, 35, 36, 37, 38, 39, -1, 41, 42, 43,
4889 44, -1, -1, 47, 48, 49, 50, 51, 52, 53,
4890 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
4891 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
4892 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
4893 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
4894 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
4895 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
4896 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4897 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4898 134, 135, 136, 137, 138, 139, 140, -1, 142, 143,
4899 -1, 145, 146, 147, 148, 149, 150, 151, 152, 153,
4900 154, 155, 156, 3, 4, 5, 6, 7, 8, 9,
4901 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
4902 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
4903 30, 31, -1, -1, 34, 35, 36, 37, 38, 39,
4904 -1, 41, 42, 43, 44, -1, -1, 47, 48, 49,
4905 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4906 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
4907 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
4908 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
4909 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
4910 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
4911 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
4912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4913 -1, -1, -1, -1, 134, 135, -1, 137, 138, 139,
4914 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
4915 150, 151, 152, 153, 154, 155, 156, 3, 4, 5,
4916 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
4917 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
4918 26, 27, 28, 29, 30, 31, -1, -1, 34, 35,
4919 36, 37, 38, 39, -1, 41, 42, 43, 44, -1,
4920 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
4921 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
4922 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
4923 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
4924 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
4925 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
4926 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
4927 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4928 -1, -1, -1, -1, -1, -1, -1, -1, 134, 135,
4929 -1, 137, 138, 139, 140, 141, 142, 143, -1, 145,
4930 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
4931 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
4932 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
4933 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
4934 -1, -1, 34, 35, 36, 37, 38, 39, -1, 41,
4935 42, 43, 44, -1, -1, 47, 48, 49, 50, 51,
4936 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
4937 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
4938 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
4939 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
4940 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
4941 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
4942 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4943 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4944 -1, -1, 134, 135, 136, 137, 138, 139, 140, -1,
4945 142, 143, -1, 145, 146, 147, 148, 149, 150, 151,
4946 152, 153, 154, 155, 156, 3, 4, 5, 6, 7,
4947 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
4948 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
4949 28, 29, 30, 31, -1, -1, 34, 35, 36, 37,
4950 38, 39, -1, 41, 42, 43, 44, -1, -1, 47,
4951 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
4952 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
4953 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
4954 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
4955 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
4956 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
4957 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
4958 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4959 -1, -1, -1, -1, -1, -1, 134, 135, 136, 137,
4960 138, 139, 140, -1, 142, 143, -1, 145, 146, 147,
4961 148, 149, 150, 151, 152, 153, 154, 155, 156, 3,
4962 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
4963 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
4964 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
4965 34, 35, 36, 37, 38, 39, -1, 41, 42, 43,
4966 44, -1, -1, 47, 48, 49, 50, 51, 52, 53,
4967 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
4968 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
4969 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
4970 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
4971 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
4972 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
4973 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4974 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4975 134, 135, 136, 137, 138, 139, 140, -1, 142, 143,
4976 -1, 145, 146, 147, 148, 149, 150, 151, 152, 153,
4977 154, 155, 156, 3, 4, 5, 6, 7, 8, 9,
4978 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
4979 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
4980 30, 31, -1, -1, 34, 35, 36, 37, 38, 39,
4981 -1, 41, 42, 43, 44, -1, -1, 47, 48, 49,
4982 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4983 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
4984 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
4985 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
4986 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
4987 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
4988 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
4989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4990 -1, -1, -1, -1, 134, 135, 136, 137, 138, 139,
4991 140, -1, 142, 143, -1, 145, 146, 147, 148, 149,
4992 150, 151, 152, 153, 154, 155, 156, 3, 4, 5,
4993 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
4994 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
4995 26, 27, 28, 29, 30, 31, -1, -1, 34, 35,
4996 36, 37, 38, 39, -1, 41, 42, 43, 44, -1,
4997 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
4998 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
4999 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
5000 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
5001 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
5002 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
5003 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
5004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5005 -1, -1, -1, -1, -1, -1, -1, -1, 134, 135,
5006 136, 137, 138, 139, 140, -1, 142, 143, -1, 145,
5007 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
5008 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
5009 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
5010 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
5011 -1, -1, 34, 35, 36, 37, 38, 39, -1, 41,
5012 42, 43, 44, -1, -1, 47, 48, 49, 50, 51,
5013 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
5014 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
5015 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
5016 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
5017 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5018 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5019 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5020 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5021 -1, -1, 134, 135, -1, 137, 138, 139, 140, -1,
5022 142, 143, -1, 145, 146, 147, 148, 149, 150, 151,
5023 152, 153, 154, 155, 156, 3, 4, 5, 6, 7,
5024 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
5025 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
5026 28, 29, 30, 31, -1, -1, 34, 35, 36, 37,
5027 38, 39, -1, 41, 42, 43, 44, -1, -1, 47,
5028 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
5029 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5030 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
5031 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
5032 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
5033 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
5034 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
5035 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5036 -1, -1, -1, -1, -1, -1, 134, 135, -1, 137,
5037 138, 139, 140, -1, 142, 143, -1, 145, 146, 147,
5038 148, 149, 150, 151, 152, 153, 154, 155, 156, 3,
5039 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
5040 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
5041 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
5042 34, 35, 36, 37, 38, 39, -1, 41, 42, 43,
5043 44, -1, -1, 47, 48, 49, 50, 51, 52, 53,
5044 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
5045 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
5046 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
5047 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
5048 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
5049 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
5050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5052 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
5053 -1, 145, 146, 147, 148, 149, 150, 151, 152, 153,
5054 154, 155, 156, 3, 4, 5, 6, 7, 8, 9,
5055 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
5056 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
5057 30, 31, -1, -1, 34, 35, 36, 37, 38, 39,
5058 -1, 41, 42, 43, 44, -1, -1, 47, 48, 49,
5059 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
5060 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
5061 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
5062 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
5063 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
5064 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5065 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
5066 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5067 -1, -1, -1, -1, 134, 135, -1, 137, 138, 139,
5068 140, -1, 142, 143, -1, 145, 146, 147, 148, 149,
5069 150, 151, 152, 153, 154, 155, 156, 3, 4, 5,
5070 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
5071 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
5072 26, 27, 28, 29, 30, 31, -1, -1, 34, 35,
5073 36, 37, 38, 39, -1, 41, 42, 43, 44, -1,
5074 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
5075 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
5076 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
5077 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
5078 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
5079 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
5080 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
5081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5082 -1, -1, -1, -1, -1, -1, -1, -1, 134, 135,
5083 -1, 137, 138, 139, 140, -1, 142, 143, -1, 145,
5084 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
5085 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
5086 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
5087 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
5088 -1, -1, 34, 35, 36, 37, 38, 39, -1, 41,
5089 42, 43, 44, -1, -1, 47, 48, 49, 50, 51,
5090 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
5091 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
5092 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
5093 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
5094 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5095 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5098 -1, -1, -1, 135, -1, 137, 138, 139, 140, -1,
5099 142, 143, -1, 145, 146, 147, 148, 149, 150, 151,
5100 152, 153, 154, 155, 156, 3, 4, 5, 6, 7,
5101 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
5102 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
5103 28, 29, 30, 31, -1, -1, 34, 35, 36, 37,
5104 38, 39, -1, 41, 42, 43, 44, -1, -1, 47,
5105 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
5106 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5107 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
5108 78, 79, 80, 81, 82, -1, 84, -1, 86, 87,
5109 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
5110 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
5111 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
5112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5113 -1, -1, -1, -1, -1, -1, 134, 135, 136, 137,
5114 138, 139, 140, -1, 142, 143, -1, 145, 146, 147,
5115 148, 149, 150, 151, 152, 153, 154, 155, 156, 3,
5116 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
5117 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
5118 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
5119 34, 35, 36, 37, 38, 39, -1, 41, 42, 43,
5120 44, -1, -1, 47, 48, 49, 50, 51, 52, 53,
5121 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
5122 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
5123 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
5124 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
5125 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
5126 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
5127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5128 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5129 -1, 135, -1, 137, 138, 139, 140, -1, 142, 143,
5130 -1, 145, 146, 147, 148, 149, 150, 151, 152, 153,
5131 154, 155, 156, 3, 4, 5, 6, 7, 8, 9,
5132 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
5133 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
5134 30, 31, -1, -1, 34, 35, 36, 37, 38, 39,
5135 -1, 41, 42, 43, 44, -1, -1, 47, 48, 49,
5136 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
5137 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
5138 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
5139 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
5140 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
5141 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5142 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
5143 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5144 -1, -1, -1, -1, -1, 135, -1, 137, 138, 139,
5145 140, -1, -1, 143, -1, 145, 146, 147, 148, 149,
5146 150, 151, 152, 153, 154, 155, 156, 3, 4, 5,
5147 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
5148 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
5149 26, 27, 28, 29, 30, 31, -1, -1, 34, 35,
5150 36, 37, 38, 39, -1, 41, 42, 43, 44, -1,
5151 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
5152 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
5153 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
5154 76, 77, 78, 79, 80, 81, 82, -1, 84, -1,
5155 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
5156 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
5157 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
5158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5159 -1, -1, -1, -1, -1, -1, -1, -1, -1, 135,
5160 -1, 137, 138, 139, 140, 141, 142, 143, -1, 145,
5161 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
5162 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
5163 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
5164 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
5165 -1, -1, 34, 35, 36, 37, 38, 39, -1, 41,
5166 42, 43, 44, -1, -1, 47, 48, 49, 50, 51,
5167 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
5168 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
5169 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
5170 82, -1, 84, -1, 86, 87, 88, 89, 90, 91,
5171 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5172 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5175 -1, -1, -1, 135, -1, 137, 138, 139, 140, 141,
5176 142, 143, -1, 145, 146, 147, 148, 149, 150, 151,
5177 152, 153, 154, 155, 156, 3, 4, 5, 6, 7,
5178 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
5179 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
5180 28, 29, 30, 31, -1, -1, 34, 35, 36, 37,
5181 38, 39, -1, 41, 42, 43, 44, -1, -1, 47,
5182 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
5183 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5184 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
5185 78, 79, 80, 81, 82, -1, 84, -1, 86, 87,
5186 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
5187 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
5188 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
5189 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5190 -1, -1, -1, -1, -1, -1, -1, 135, -1, 137,
5191 138, 139, 140, 141, 142, 143, -1, 145, 146, 147,
5192 148, 149, 150, 151, 152, 153, 154, 155, 156, 3,
5193 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
5194 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
5195 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
5196 34, 35, 36, 37, 38, 39, -1, 41, 42, 43,
5197 44, -1, -1, 47, 48, 49, 50, 51, 52, 53,
5198 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
5199 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
5200 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
5201 84, -1, 86, 87, 88, 89, 90, 91, 92, 93,
5202 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
5203 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
5204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5206 -1, 135, -1, 137, 138, 139, 140, -1, 142, 143,
5207 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
5208 154, 155, 156, 3, 4, 5, 6, 7, 8, 9,
5209 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
5210 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
5211 30, 31, -1, -1, 34, 35, 36, 37, 38, 39,
5212 -1, 41, 42, 43, 44, -1, -1, 47, 48, 49,
5213 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
5214 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
5215 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
5216 80, 81, 82, -1, 84, -1, 86, 87, 88, 89,
5217 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
5218 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5219 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
5220 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5221 -1, -1, -1, -1, -1, 135, -1, 137, 138, 139,
5222 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
5223 150, 151, 152, 153, 154, 155, 156, 3, 4, 5,
5224 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
5225 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
5226 26, 27, 28, 29, 30, 31, -1, -1, 34, 35,
5227 36, 37, 38, 39, -1, 41, 42, 43, 44, -1,
5228 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
5229 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
5230 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
5231 76, 77, 78, 79, 80, 81, 82, -1, 84, -1,
5232 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
5233 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
5234 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
5235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5236 -1, -1, -1, -1, -1, -1, -1, -1, -1, 135,
5237 -1, 137, 138, 139, 140, -1, 142, 143, -1, 145,
5238 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
5239 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
5240 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
5241 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
5242 -1, -1, 34, 35, 36, 37, 38, 39, -1, 41,
5243 42, 43, 44, -1, -1, 47, 48, 49, 50, 51,
5244 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
5245 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
5246 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
5247 82, -1, 84, -1, 86, 87, 88, 89, 90, 91,
5248 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5249 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5251 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5252 -1, -1, -1, 135, -1, 137, 138, 139, 140, -1,
5253 142, 143, -1, 145, 146, 147, 148, 149, 150, 151,
5254 152, 153, 154, 155, 156, 3, 4, 5, 6, 7,
5255 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
5256 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
5257 28, 29, 30, 31, -1, -1, 34, 35, 36, 37,
5258 38, 39, -1, 41, 42, 43, 44, -1, -1, 47,
5259 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
5260 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5261 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
5262 78, 79, 80, 81, 82, -1, 84, -1, 86, 87,
5263 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
5264 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
5265 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
5266 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5267 -1, -1, -1, -1, -1, -1, -1, 135, -1, 137,
5268 138, 139, 140, -1, 142, 143, -1, 145, 146, 147,
5269 148, 149, 150, 151, 152, 153, 154, 155, 156, 3,
5270 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
5271 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
5272 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
5273 34, 35, 36, 37, 38, 39, -1, 41, 42, 43,
5274 44, -1, -1, 47, 48, 49, 50, 51, 52, 53,
5275 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
5276 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
5277 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
5278 84, -1, 86, 87, 88, 89, 90, 91, 92, 93,
5279 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
5280 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
5281 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5283 -1, 135, -1, -1, 138, -1, 140, -1, 142, 143,
5284 -1, 145, 146, 147, 148, 149, 150, 151, 152, 153,
5285 154, 155, 156, 3, 4, 5, 6, 7, 8, 9,
5286 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
5287 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
5288 30, 31, -1, -1, 34, 35, 36, 37, 38, 39,
5289 -1, 41, 42, 43, 44, -1, -1, 47, 48, 49,
5290 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
5291 60, 61, 62, -1, 64, 65, 66, 67, 68, 69,
5292 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
5293 80, 81, 82, -1, 84, -1, 86, 87, 88, 89,
5294 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
5295 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5296 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
5297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5298 -1, -1, -1, -1, -1, 135, -1, -1, 138, -1,
5299 140, -1, 142, 143, -1, 145, 146, 147, -1, 149,
5300 150, 151, 152, 153, 154, 155, 156, 3, 4, 5,
5301 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
5302 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
5303 26, 27, 28, 29, 30, 31, -1, -1, 34, 35,
5304 36, 37, 38, 39, -1, 41, 42, 43, 44, -1,
5305 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
5306 56, 57, 58, 59, 60, 61, 62, -1, 64, 65,
5307 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
5308 76, 77, 78, 79, 80, 81, 82, -1, -1, -1,
5309 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
5310 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
5311 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
5312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5313 -1, -1, -1, -1, -1, -1, -1, -1, -1, 135,
5314 -1, -1, 138, -1, 140, -1, -1, 143, -1, 145,
5315 146, 147, -1, 149, 150, 151, 152, 153, 154, 155,
5316 156, 3, 4, 5, 6, 7, 8, 9, -1, -1,
5317 12, -1, -1, -1, -1, -1, -1, -1, 20, 21,
5318 22, -1, 24, 25, 26, 27, -1, -1, -1, 31,
5319 32, 33, 34, 35, 36, 37, 38, 39, -1, 41,
5320 -1, -1, -1, -1, -1, -1, 48, 49, -1, -1,
5321 -1, 53, 54, -1, -1, -1, -1, -1, 60, 61,
5322 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
5323 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
5324 82, -1, 84, -1, 86, 87, 88, 89, 90, 91,
5325 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5326 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5327 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
5328 -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
5329 -1, -1, -1, -1, -1, 137, -1, 139, 140, -1,
5330 142, 143, -1, 145, 146, 147, 148, 149, 150, 151,
5331 152, 153, 154, 155, 3, 4, 5, 6, 7, 8,
5332 9, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5333 -1, 20, 21, 22, 23, 24, 25, 26, 27, -1,
5334 -1, -1, 31, 32, 33, 34, 35, 36, 37, 38,
5335 39, -1, 41, 42, 43, -1, -1, -1, -1, 48,
5336 49, 50, 51, 52, -1, -1, -1, -1, 101, 102,
5337 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
5338 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5339 -1, -1, -1, -1, -1, 84, -1, 86, 87, 88,
5340 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
5341 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
5342 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
5343 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
5344 129, 130, 131, 132, -1, 134, 3, 4, 5, 6,
5345 7, 8, 9, -1, -1, -1, 145, -1, -1, -1,
5346 -1, -1, -1, 20, 21, 22, -1, 24, 25, 26,
5347 27, -1, -1, -1, 31, 32, 33, 34, 35, 36,
5348 37, 38, 39, -1, 41, 42, 43, -1, -1, -1,
5349 -1, 48, 49, -1, -1, 52, -1, -1, -1, -1,
5350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5351 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5352 -1, -1, -1, -1, -1, -1, -1, 84, -1, 86,
5353 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
5354 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
5355 107, 108, 109, 110, 111, -1, -1, -1, -1, -1,
5356 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
5357 -1, -1, -1, -1, -1, -1, -1, -1, 20, 21,
5358 22, -1, 24, 25, 26, 27, -1, -1, 145, 31,
5359 32, 33, 34, 35, 36, 37, 38, 39, -1, 41,
5360 42, 43, -1, -1, -1, -1, 48, 49, -1, -1,
5361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5362 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5363 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5364 -1, -1, 84, -1, 86, 87, 88, 89, 90, 91,
5365 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5366 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5367 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
5368 7, 8, 9, -1, -1, -1, -1, -1, -1, -1,
5369 -1, -1, -1, 20, 21, 22, -1, 24, 25, 26,
5370 27, -1, -1, 145, 31, 32, 33, 34, 35, 36,
5371 37, 38, 39, -1, 41, 42, -1, -1, -1, -1,
5372 -1, 48, 49, 50, -1, -1, -1, -1, -1, -1,
5373 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5375 -1, -1, -1, -1, -1, -1, -1, 84, -1, 86,
5376 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
5377 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
5378 107, 108, 109, 110, 111, -1, -1, -1, -1, -1,
5379 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
5380 -1, -1, -1, -1, -1, -1, -1, -1, 20, 21,
5381 22, -1, 24, 25, 26, 27, -1, -1, 145, 31,
5382 32, 33, 34, 35, 36, 37, 38, 39, -1, 41,
5383 42, -1, -1, -1, -1, -1, 48, 49, -1, -1,
5384 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5385 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5387 -1, -1, 84, -1, 86, 87, 88, 89, 90, 91,
5388 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5389 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5390 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
5391 -1, -1, -1, -1, -1, -1, -1, -1, 20, 21,
5392 22, -1, -1, -1, -1, -1, 28, 29, 30, -1,
5393 -1, -1, -1, 145, 36, -1, -1, -1, -1, -1,
5394 -1, -1, -1, -1, -1, -1, 48, 3, 4, 5,
5395 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,
5396 -1, -1, -1, -1, 20, 21, 22, 23, -1, -1,
5397 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5398 -1, -1, 84, -1, -1, -1, -1, -1, -1, -1,
5399 -1, -1, 48, -1, -1, -1, -1, -1, -1, 101,
5400 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5401 -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
5402 -1, -1, -1, -1, -1, -1, -1, -1, 84, 20,
5403 21, 22, -1, -1, -1, -1, -1, -1, -1, -1,
5404 -1, -1, -1, 145, -1, 101, 102, 103, 104, 105,
5405 106, 107, 108, 109, 110, 111, -1, 48, 49, -1,
5406 51, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5407 -1, -1, -1, -1, -1, -1, -1, -1, 134, -1,
5408 -1, -1, 138, -1, -1, -1, -1, -1, -1, 145,
5409 -1, -1, -1, 84, -1, -1, -1, -1, -1, -1,
5410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5411 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
5412 111, 3, 4, 5, 6, 7, 8, 9, -1, -1,
5413 -1, -1, -1, -1, -1, -1, -1, -1, 20, 21,
5414 22, 23, -1, -1, -1, -1, -1, -1, -1, -1,
5415 -1, -1, -1, -1, 145, -1, -1, -1, -1, -1,
5416 -1, -1, -1, -1, -1, -1, 48, 3, 4, 5,
5417 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,
5418 -1, -1, -1, -1, 20, 21, 22, 23, -1, -1,
5419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5420 -1, -1, 84, -1, -1, -1, -1, -1, -1, -1,
5421 -1, -1, 48, -1, -1, -1, -1, -1, -1, 101,
5422 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5423 -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
5424 -1, -1, -1, -1, -1, -1, -1, -1, 84, 20,
5425 21, 22, -1, -1, -1, -1, 138, -1, -1, -1,
5426 -1, -1, -1, 145, -1, 101, 102, 103, 104, 105,
5427 106, 107, 108, 109, 110, 111, -1, 48, 49, 3,
5428 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
5429 -1, -1, -1, -1, -1, -1, 20, 21, 22, -1,
5430 -1, 3, 4, 5, 6, 7, 8, 9, -1, 145,
5431 -1, -1, -1, 84, -1, -1, -1, -1, 20, 21,
5432 22, -1, -1, -1, 48, -1, -1, -1, -1, -1,
5433 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
5434 111, 43, -1, -1, -1, -1, 48, -1, -1, 3,
5435 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
5436 84, -1, -1, -1, -1, -1, 20, 21, 22, -1,
5437 -1, -1, -1, -1, 145, -1, -1, 101, 102, 103,
5438 104, 105, 106, 107, 108, 109, 110, 111, 42, -1,
5439 -1, -1, -1, -1, 48, -1, -1, -1, -1, 101,
5440 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5441 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
5442 -1, 145, -1, -1, -1, -1, -1, -1, -1, -1,
5443 20, 21, 22, -1, -1, -1, -1, -1, -1, -1,
5444 -1, -1, -1, 145, -1, -1, -1, 101, 102, 103,
5445 104, 105, 106, 107, 108, 109, 110, 111, 48, 3,
5446 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
5447 -1, -1, -1, -1, -1, -1, 20, 21, 22, 23,
5448 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5449 -1, 145, -1, -1, -1, -1, -1, -1, -1, -1,
5450 -1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
5451 -1, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5452 110, 111, -1, -1, 3, 4, 5, 6, 7, 8,
5453 9, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5454 84, 20, 21, 22, 23, -1, -1, -1, -1, -1,
5455 -1, -1, -1, -1, -1, 145, -1, 101, 102, 103,
5456 104, 105, 106, 107, 108, 109, 110, 111, -1, 48,
5457 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5458 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5459 134, 135, -1, -1, 138, 3, 4, 5, 6, 7,
5460 8, 9, -1, -1, -1, 84, -1, -1, -1, -1,
5461 -1, -1, 20, 21, 22, 23, -1, -1, -1, -1,
5462 -1, -1, 101, 102, 103, 104, 105, 106, 107, 108,
5463 109, 110, 111, 3, 4, 5, 6, 7, 8, 9,
5464 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5465 20, 21, 22, 23, -1, 134, -1, -1, -1, 138,
5466 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5467 -1, -1, -1, -1, -1, -1, 84, -1, 48, -1,
5468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5469 -1, -1, -1, 101, 102, 103, 104, 105, 106, 107,
5470 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
5471 -1, -1, -1, -1, 84, -1, -1, -1, -1, -1,
5472 -1, -1, -1, -1, -1, -1, -1, 135, -1, -1,
5473 138, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5474 110, 111, 31, 32, 33, 34, 35, 36, 37, 38,
5475 39, 40, 41, -1, -1, -1, -1, -1, -1, -1,
5476 -1, 50, -1, -1, -1, -1, -1, -1, 138, -1,
5477 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
5478 41, -1, -1, -1, -1, -1, -1, -1, 77, 50,
5479 -1, -1, -1, -1, -1, -1, -1, 86, 87, 88,
5480 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
5481 99, 100, -1, -1, -1, -1, 77, -1, -1, -1,
5482 -1, -1, -1, -1, -1, 86, 87, 88, 89, 90,
5483 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
5484 -1, -1, -1, -1, -1, 134, -1, -1, -1, -1,
5485 -1, -1, -1, -1, -1, -1, -1, 146, 147, 3,
5486 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
5487 -1, -1, -1, -1, -1, -1, 20, 21, 22, -1,
5488 24, 25, 26, 27, -1, 146, 147, 31, 32, 33,
5489 34, 35, 36, 37, 38, 39, -1, 41, 42, 43,
5490 -1, -1, -1, -1, 48, 49, -1, -1, 52, -1,
5491 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5492 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5493 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5494 84, -1, 86, 87, 88, 89, 90, 91, 92, 93,
5495 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
5496 104, 105, 106, 107, 108, 109, 110, 111, 3, 4,
5497 5, 6, 7, 8, 9, -1, -1, -1, -1, -1,
5498 -1, -1, -1, -1, -1, 20, 21, 22, -1, 24,
5499 25, 26, 27, -1, -1, -1, 31, 32, 33, 34,
5500 35, 36, 37, 38, 39, -1, 41, 42, -1, -1,
5501 -1, -1, -1, 48, 49, 50, -1, -1, -1, -1,
5502 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5503 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5504 -1, -1, -1, -1, -1, -1, -1, -1, -1, 84,
5505 -1, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5506 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5507 105, 106, 107, 108, 109, 110, 111, 3, 4, 5,
5508 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,
5509 -1, -1, -1, -1, 20, 21, 22, -1, 24, 25,
5510 26, 27, -1, -1, -1, 31, 32, 33, 34, 35,
5511 36, 37, 38, 39, -1, 41, 42, -1, -1, -1,
5512 -1, -1, 48, 49, -1, -1, -1, -1, -1, -1,
5513 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5514 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5515 -1, -1, -1, -1, -1, -1, -1, -1, 84, -1,
5516 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
5517 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
5518 106, 107, 108, 109, 110, 111, 3, 4, 5, 6,
5519 7, 8, 9, -1, -1, -1, -1, -1, -1, -1,
5520 -1, -1, -1, 20, 21, 22, -1, 24, 25, 26,
5521 27, -1, -1, -1, 31, 32, 33, 34, 35, 36,
5522 37, 38, 39, -1, 41, -1, -1, -1, -1, -1,
5523 -1, 48, 49, -1, -1, -1, -1, -1, -1, -1,
5524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5526 -1, -1, -1, -1, -1, -1, -1, 84, -1, 86,
5527 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
5528 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
5529 107, 108, 109, 110, 111, 3, 4, 5, 6, 7,
5530 8, 9, -1, -1, -1, -1, -1, -1, -1, -1,
5531 -1, -1, 20, 21, 22, -1, 24, -1, 26, 27,
5532 -1, -1, -1, 31, 32, 33, 34, 35, 36, 37,
5533 38, 39, -1, 41, -1, -1, -1, -1, -1, -1,
5534 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5535 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5536 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5537 -1, -1, -1, -1, -1, -1, 84, -1, 86, 87,
5538 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
5539 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
5540 108, 109, 110, 111, 3, 4, 5, 6, 7, 8,
5541 9, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5542 -1, 20, 21, 22, -1, -1, -1, -1, -1, -1,
5543 -1, -1, 31, 32, 33, 34, 35, 36, 37, 38,
5544 39, -1, 41, -1, -1, -1, -1, -1, -1, 48,
5545 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5546 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5547 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5548 -1, -1, -1, -1, -1, 84, -1, 86, 87, 88,
5549 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
5550 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
5551 109, 110, 111, 3, 4, 5, 6, 7, 8, 9,
5552 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5553 20, 21, 22, 23, 3, 4, 5, 6, 7, 8,
5554 9, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5555 -1, 20, 21, 22, -1, -1, -1, -1, 48, 3,
5556 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
5557 -1, -1, -1, -1, 43, -1, 20, 21, 22, 48,
5558 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5559 -1, -1, -1, -1, 84, -1, -1, -1, -1, -1,
5560 -1, -1, -1, -1, 48, -1, -1, -1, -1, -1,
5561 -1, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5562 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
5563 -1, -1, 101, 102, 103, 104, 105, 106, 107, 108,
5564 109, 110, 111, -1, -1, -1, -1, -1, -1, -1,
5565 -1, -1, -1, -1, -1, -1, -1, 101, 102, 103,
5566 104, 105, 106, 107, 108, 109, 110, 111
5569 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
5570 symbol of state STATE-NUM. */
5571 static const unsigned short int yystos[] =
5573 0, 158, 159, 0, 160, 367, 3, 4, 5, 6,
5574 7, 8, 9, 20, 21, 22, 23, 24, 25, 26,
5575 27, 31, 32, 33, 34, 35, 36, 37, 38, 39,
5576 41, 42, 43, 48, 49, 50, 51, 52, 84, 86,
5577 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
5578 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
5579 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
5580 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
5581 127, 128, 129, 130, 131, 132, 134, 145, 161, 162,
5582 163, 164, 165, 167, 168, 169, 170, 171, 173, 176,
5583 191, 192, 193, 195, 196, 206, 207, 216, 218, 219,
5584 221, 239, 240, 241, 242, 245, 246, 249, 255, 289,
5585 319, 320, 321, 322, 324, 325, 326, 327, 329, 331,
5586 332, 335, 336, 337, 338, 339, 341, 342, 345, 346,
5587 357, 358, 359, 368, 371, 369, 24, 25, 12, 43,
5588 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
5589 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5590 23, 24, 25, 26, 27, 28, 29, 30, 31, 34,
5591 35, 36, 37, 38, 39, 41, 42, 43, 44, 47,
5592 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
5593 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5594 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
5595 78, 79, 80, 81, 82, 83, 84, 85, 101, 102,
5596 103, 104, 105, 106, 107, 108, 109, 110, 111, 135,
5597 137, 138, 139, 140, 142, 143, 145, 146, 147, 148,
5598 149, 150, 151, 152, 153, 154, 155, 156, 358, 359,
5599 396, 397, 398, 428, 429, 430, 431, 432, 330, 347,
5600 3, 4, 5, 6, 7, 8, 9, 41, 171, 176,
5601 193, 196, 321, 322, 327, 329, 335, 341, 3, 4,
5602 5, 6, 7, 8, 9, 135, 332, 3, 4, 5,
5603 6, 7, 8, 9, 20, 21, 22, 49, 51, 101,
5604 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5605 217, 319, 321, 322, 326, 327, 329, 140, 140, 140,
5606 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
5607 140, 140, 140, 140, 140, 140, 140, 140, 333, 172,
5608 367, 333, 135, 367, 43, 52, 162, 169, 170, 196,
5609 202, 219, 221, 239, 335, 341, 45, 134, 135, 265,
5610 266, 265, 265, 265, 140, 176, 335, 341, 134, 367,
5611 43, 246, 270, 273, 320, 325, 327, 329, 178, 327,
5612 329, 331, 332, 326, 320, 321, 326, 367, 326, 142,
5613 171, 176, 193, 196, 207, 246, 322, 336, 345, 367,
5614 10, 11, 83, 233, 290, 298, 300, 77, 146, 147,
5615 295, 360, 361, 362, 363, 366, 343, 367, 367, 404,
5616 135, 428, 424, 424, 63, 148, 222, 414, 424, 425,
5617 424, 10, 11, 140, 418, 319, 12, 333, 367, 333,
5618 367, 320, 171, 193, 211, 212, 215, 233, 298, 424,
5619 137, 166, 319, 319, 134, 367, 249, 254, 255, 322,
5620 3, 4, 5, 6, 7, 8, 9, 331, 373, 376,
5621 377, 331, 331, 381, 331, 331, 331, 331, 331, 331,
5622 331, 331, 331, 331, 331, 331, 331, 331, 40, 50,
5623 291, 294, 295, 334, 336, 359, 135, 134, 138, 177,
5624 178, 322, 326, 327, 329, 291, 194, 134, 138, 197,
5625 319, 319, 367, 335, 233, 138, 275, 424, 247, 367,
5626 323, 271, 140, 326, 326, 326, 328, 333, 367, 333,
5627 367, 246, 270, 367, 344, 301, 250, 252, 254, 255,
5628 256, 268, 309, 320, 322, 292, 137, 285, 286, 288,
5629 233, 298, 307, 360, 367, 367, 367, 361, 363, 333,
5630 23, 63, 84, 135, 137, 138, 139, 142, 143, 148,
5631 156, 358, 359, 370, 396, 397, 398, 402, 403, 405,
5632 406, 415, 418, 422, 159, 425, 134, 142, 144, 426,
5633 427, 428, 136, 223, 225, 226, 228, 230, 144, 134,
5634 427, 141, 420, 421, 419, 367, 208, 210, 295, 177,
5635 208, 319, 333, 333, 209, 309, 320, 327, 329, 136,
5636 321, 327, 135, 134, 137, 12, 53, 54, 63, 137,
5637 139, 140, 142, 143, 148, 395, 396, 249, 254, 139,
5638 331, 331, 331, 139, 139, 331, 139, 139, 139, 139,
5639 139, 139, 139, 139, 139, 139, 139, 141, 141, 139,
5640 134, 292, 290, 367, 180, 175, 3, 134, 179, 367,
5641 178, 327, 329, 322, 134, 199, 200, 331, 198, 197,
5642 367, 319, 320, 322, 276, 277, 319, 135, 136, 278,
5643 279, 177, 327, 275, 274, 408, 291, 177, 291, 319,
5644 333, 339, 340, 365, 251, 367, 257, 311, 312, 313,
5645 367, 250, 256, 134, 139, 287, 422, 141, 298, 364,
5646 417, 423, 416, 144, 136, 134, 144, 139, 414, 24,
5647 26, 196, 321, 327, 329, 335, 352, 353, 356, 357,
5648 25, 49, 234, 221, 404, 404, 404, 134, 209, 215,
5649 134, 197, 208, 208, 134, 139, 140, 367, 134, 159,
5650 220, 3, 143, 143, 63, 148, 141, 144, 372, 139,
5651 141, 141, 378, 380, 139, 341, 384, 386, 388, 390,
5652 385, 387, 389, 391, 392, 393, 319, 28, 29, 30,
5653 136, 181, 182, 28, 29, 30, 36, 186, 187, 190,
5654 319, 138, 367, 178, 136, 139, 137, 342, 134, 367,
5655 331, 139, 431, 424, 141, 83, 280, 282, 283, 326,
5656 272, 278, 137, 139, 142, 402, 410, 411, 412, 414,
5657 134, 134, 134, 197, 339, 257, 140, 3, 31, 44,
5658 47, 66, 137, 258, 260, 261, 262, 263, 143, 314,
5659 315, 138, 140, 293, 63, 142, 148, 399, 400, 402,
5660 412, 299, 365, 404, 409, 404, 144, 224, 319, 319,
5661 319, 345, 233, 296, 300, 295, 354, 296, 25, 141,
5662 141, 141, 134, 134, 210, 213, 136, 341, 144, 144,
5663 341, 374, 341, 341, 382, 141, 341, 341, 341, 341,
5664 341, 341, 341, 341, 341, 341, 139, 394, 367, 138,
5665 189, 190, 139, 36, 188, 233, 174, 367, 200, 201,
5666 137, 203, 429, 277, 233, 136, 367, 139, 341, 257,
5667 141, 413, 134, 262, 253, 259, 264, 18, 54, 55,
5668 418, 316, 315, 13, 14, 15, 310, 269, 294, 401,
5669 400, 140, 302, 312, 144, 134, 136, 406, 407, 144,
5670 225, 355, 308, 309, 227, 367, 333, 229, 231, 278,
5671 296, 141, 341, 379, 141, 341, 141, 141, 141, 141,
5672 141, 141, 141, 141, 139, 139, 141, 40, 41, 52,
5673 133, 134, 163, 168, 170, 183, 184, 185, 191, 192,
5674 206, 216, 219, 221, 243, 244, 245, 270, 289, 319,
5675 320, 322, 335, 341, 371, 319, 367, 319, 186, 399,
5676 425, 134, 267, 248, 83, 281, 296, 262, 367, 408,
5677 278, 418, 335, 346, 348, 349, 317, 318, 278, 403,
5678 303, 144, 333, 302, 137, 235, 236, 296, 306, 360,
5679 235, 296, 141, 134, 375, 139, 383, 13, 13, 168,
5680 176, 204, 221, 244, 320, 335, 341, 431, 170, 184,
5681 219, 221, 243, 335, 265, 134, 254, 270, 322, 233,
5682 233, 187, 233, 46, 257, 282, 284, 414, 141, 346,
5683 350, 295, 144, 399, 141, 278, 237, 141, 296, 232,
5684 214, 141, 425, 141, 141, 141, 367, 176, 204, 335,
5685 265, 176, 233, 335, 367, 254, 256, 431, 262, 285,
5686 367, 351, 333, 367, 367, 141, 238, 410, 297, 235,
5687 305, 141, 135, 138, 177, 205, 367, 176, 367, 134,
5688 367, 135, 333, 367, 410, 302, 31, 33, 44, 47,
5689 424, 425, 179, 177, 367, 177, 205, 134, 424, 304,
5690 431, 431, 136, 134, 205, 177, 179, 136, 305, 425,
5695 /* Prevent warning if -Wmissing-prototypes. */
5698 /* Error token number */
5701 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
5702 If N is 0, then set CURRENT to the empty location which ends
5703 the previous symbol: RHS[0] (always defined). */
5706 #ifndef YYLLOC_DEFAULT
5707 # define YYLLOC_DEFAULT(Current, Rhs, N) ((void)Rhs)
5711 #ifndef YY_LOCATION_PRINT
5712 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
5716 /* YYLEX -- calling `yylex' with the right arguments. */
5717 #define YYLEX yylex ()
5726 static const int YYEOF = 0;
5727 static const int YYEMPTY = -2;
5729 typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
5731 #define YYCHK(YYE) \
5732 do { YYRESULTTAG yyflag = YYE; if (yyflag != yyok) return yyflag; } \
5738 # define YYFPRINTF fprintf
5741 # define YYDPRINTF(Args) \
5748 /*--------------------------------.
5749 | Print this symbol on YYOUTPUT. |
5750 `--------------------------------*/
5754 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
5759 if (yytype < YYNTOKENS)
5760 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
5772 /*--------------------------------.
5773 | Print this symbol on YYOUTPUT. |
5774 `--------------------------------*/
5777 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
5779 if (yytype < YYNTOKENS)
5780 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
5782 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
5784 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
5785 YYFPRINTF (yyoutput, ")");
5788 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
5792 YYFPRINTF (stderr, "%s ", Title); \
5793 yy_symbol_print (stderr, Type, \
5795 YYFPRINTF (stderr, "\n"); \
5799 /* Nonzero means print parse trace. It is left uninitialized so that
5800 multiple parsers can coexist. */
5803 #else /* !YYDEBUG */
5805 # define YYDPRINTF(Args)
5806 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
5808 #endif /* !YYDEBUG */
5810 /* YYINITDEPTH -- initial size of the parser's stacks. */
5812 # define YYINITDEPTH 200
5815 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
5816 if the built-in stack extension method is used).
5818 Do not make this value too large; the results are undefined if
5819 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
5820 evaluated with infinite-precision integer arithmetic. */
5823 # define YYMAXDEPTH 10000
5826 /* Minimum number of free items on the stack allowed after an
5827 allocation. This is to allow allocation and initialization
5828 to be completed by functions that call yyexpandGLRStack before the
5829 stack is expanded, thus insuring that all necessary pointers get
5830 properly redirected to new data. */
5831 #define YYHEADROOM 2
5833 #ifndef YYSTACKEXPANDABLE
5834 # if (! defined __cplusplus \
5835 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))
5836 # define YYSTACKEXPANDABLE 1
5838 # define YYSTACKEXPANDABLE 0
5842 #if YYSTACKEXPANDABLE
5843 # define YY_RESERVE_GLRSTACK(Yystack) \
5845 if (Yystack->yyspaceLeft < YYHEADROOM) \
5846 yyexpandGLRStack (Yystack); \
5849 # define YY_RESERVE_GLRSTACK(Yystack) \
5851 if (Yystack->yyspaceLeft < YYHEADROOM) \
5852 yyMemoryExhausted (Yystack); \
5860 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
5861 # define yystpcpy stpcpy
5863 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
5866 yystpcpy (char *yydest, const char *yysrc)
5869 const char *yys = yysrc;
5871 while ((*yyd++ = *yys++) != '\0')
5880 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
5881 quotes and backslashes, so that it's suitable for yyerror. The
5882 heuristic is that double-quoting is unnecessary unless the string
5883 contains an apostrophe, a comma, or backslash (other than
5884 backslash-backslash). YYSTR is taken from yytname. If YYRES is
5885 null, do not copy; instead, return the length of what the result
5888 yytnamerr (char *yyres, const char *yystr)
5893 char const *yyp = yystr;
5900 goto do_not_strip_quotes;
5904 goto do_not_strip_quotes;
5917 do_not_strip_quotes: ;
5921 return strlen (yystr);
5923 return yystpcpy (yyres, yystr) - yyres;
5927 #endif /* !YYERROR_VERBOSE */
5929 /** State numbers, as in LALR(1) machine */
5930 typedef int yyStateNum;
5932 /** Rule numbers, as in LALR(1) machine */
5933 typedef int yyRuleNum;
5935 /** Grammar symbol */
5936 typedef short int yySymbol;
5938 /** Item references, as in LALR(1) machine */
5939 typedef short int yyItemNum;
5941 typedef struct yyGLRState yyGLRState;
5942 typedef struct yyGLRStateSet yyGLRStateSet;
5943 typedef struct yySemanticOption yySemanticOption;
5944 typedef union yyGLRStackItem yyGLRStackItem;
5945 typedef struct yyGLRStack yyGLRStack;
5948 /** Type tag: always true. */
5950 /** Type tag for yysemantics. If true, yysval applies, otherwise
5951 * yyfirstVal applies. */
5953 /** Number of corresponding LALR(1) machine state. */
5954 yyStateNum yylrState;
5955 /** Preceding state in this stack */
5957 /** Source position of the first token produced by my symbol */
5960 /** First in a chain of alternative reductions producing the
5961 * non-terminal corresponding to this state, threaded through
5963 yySemanticOption* yyfirstVal;
5964 /** Semantic value for this state. */
5967 /** Source location for this state. */
5971 struct yyGLRStateSet {
5972 yyGLRState** yystates;
5973 /** During nondeterministic operation, yylookaheadNeeds tracks which
5974 * stacks have actually needed the current lookahead. During deterministic
5975 * operation, yylookaheadNeeds[0] is not maintained since it would merely
5976 * duplicate yychar != YYEMPTY. */
5977 yybool* yylookaheadNeeds;
5978 size_t yysize, yycapacity;
5981 struct yySemanticOption {
5982 /** Type tag: always false. */
5984 /** Rule number for this reduction */
5986 /** The last RHS state in the list of states to be reduced. */
5987 yyGLRState* yystate;
5988 /** The lookahead for this reduction. */
5992 /** Next sibling in chain of options. To facilitate merging,
5993 * options are chained in decreasing order by address. */
5994 yySemanticOption* yynext;
5997 /** Type of the items in the GLR stack. The yyisState field
5998 * indicates which item of the union is valid. */
5999 union yyGLRStackItem {
6001 yySemanticOption yyoption;
6008 YYJMP_BUF yyexception_buffer;
6009 yyGLRStackItem* yyitems;
6010 yyGLRStackItem* yynextFree;
6012 yyGLRState* yysplitPoint;
6013 yyGLRState* yylastDeleted;
6014 yyGLRStateSet yytops;
6017 #if YYSTACKEXPANDABLE
6018 static void yyexpandGLRStack (yyGLRStack* yystackp);
6021 static void yyFail (yyGLRStack* yystackp, const char* yymsg)
6022 __attribute__ ((__noreturn__));
6024 yyFail (yyGLRStack* yystackp, const char* yymsg)
6028 YYLONGJMP (yystackp->yyexception_buffer, 1);
6031 static void yyMemoryExhausted (yyGLRStack* yystackp)
6032 __attribute__ ((__noreturn__));
6034 yyMemoryExhausted (yyGLRStack* yystackp)
6036 YYLONGJMP (yystackp->yyexception_buffer, 2);
6039 #if YYDEBUG || YYERROR_VERBOSE
6040 /** A printable representation of TOKEN. */
6042 yytokenName (yySymbol yytoken)
6044 if (yytoken == YYEMPTY)
6047 return yytname[yytoken];
6051 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
6052 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
6053 * containing the pointer to the next state in the chain. */
6054 static void yyfillin (yyGLRStackItem *, int, int);
6056 yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
6060 s = yyvsp[yylow0].yystate.yypred;
6061 for (i = yylow0-1; i >= yylow1; i -= 1)
6063 YYASSERT (s->yyresolved);
6064 yyvsp[i].yystate.yyresolved = yytrue;
6065 yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
6066 yyvsp[i].yystate.yyloc = s->yyloc;
6067 s = yyvsp[i].yystate.yypred = s->yypred;
6071 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
6072 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
6073 * For convenience, always return YYLOW1. */
6074 static int yyfill (yyGLRStackItem *, int *, int, yybool);
6077 yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
6079 if (!yynormal && yylow1 < *yylow)
6081 yyfillin (yyvsp, *yylow, yylow1);
6087 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
6088 * and top stack item YYVSP. YYLVALP points to place to put semantic
6089 * value ($$), and yylocp points to place for location information
6090 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
6091 * yyerr for YYERROR, yyabort for YYABORT. */
6092 /*ARGSUSED*/ static YYRESULTTAG
6093 yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp,
6095 YYLTYPE* YYOPTIONAL_LOC (yylocp),
6096 yyGLRStack* yystackp
6100 (yystackp->yysplitPoint == NULL);
6103 # define yyerrok (yystackp->yyerrState = 0)
6105 # define YYACCEPT return yyaccept
6107 # define YYABORT return yyabort
6109 # define YYERROR return yyerrok, yyerr
6110 # undef YYRECOVERING
6111 # define YYRECOVERING() (yystackp->yyerrState != 0)
6113 # define yyclearin (yychar = YYEMPTY)
6115 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
6117 # define YYBACKUP(Token, Value) \
6118 return yyerror (YY_("syntax error: cannot back up")), \
6123 *yyvalp = yyval_default;
6125 *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;
6126 YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
6132 /* Line 936 of glr.c */
6133 #line 1471 "vtkParse.y"
6145 /* Line 936 of glr.c */
6146 #line 1524 "vtkParse.y"
6147 { pushNamespace((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
6152 /* Line 936 of glr.c */
6153 #line 1525 "vtkParse.y"
6159 /* Line 936 of glr.c */
6160 #line 1548 "vtkParse.y"
6166 /* Line 936 of glr.c */
6167 #line 1549 "vtkParse.y"
6169 const char *name = (currentClass ? currentClass->Name : NULL);
6175 setTypeBase(guess_id_type(name));
6183 /* Line 936 of glr.c */
6184 #line 1563 "vtkParse.y"
6186 start_class((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.integer));
6187 currentClass->IsFinal = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.integer);
6193 /* Line 936 of glr.c */
6194 #line 1569 "vtkParse.y"
6196 start_class((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.integer));
6197 currentClass->IsFinal = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer);
6203 /* Line 936 of glr.c */
6204 #line 1574 "vtkParse.y"
6206 start_class(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer));
6212 /* Line 936 of glr.c */
6213 #line 1579 "vtkParse.y"
6215 start_class(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer));
6221 /* Line 936 of glr.c */
6222 #line 1584 "vtkParse.y"
6223 { ((*yyvalp).integer) = 0; }
6228 /* Line 936 of glr.c */
6229 #line 1585 "vtkParse.y"
6230 { ((*yyvalp).integer) = 1; }
6235 /* Line 936 of glr.c */
6236 #line 1586 "vtkParse.y"
6237 { ((*yyvalp).integer) = 2; }
6242 /* Line 936 of glr.c */
6243 #line 1590 "vtkParse.y"
6244 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str)); }
6249 /* Line 936 of glr.c */
6250 #line 1592 "vtkParse.y"
6251 { ((*yyvalp).str) = vtkstrcat3("::", (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); }
6256 /* Line 936 of glr.c */
6257 #line 1600 "vtkParse.y"
6258 { ((*yyvalp).integer) = 0; }
6263 /* Line 936 of glr.c */
6264 #line 1601 "vtkParse.y"
6265 { ((*yyvalp).integer) = (strcmp((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str), "final") == 0); }
6270 /* Line 936 of glr.c */
6271 #line 1605 "vtkParse.y"
6283 /* Line 936 of glr.c */
6284 #line 1617 "vtkParse.y"
6285 { access_level = VTK_ACCESS_PUBLIC; }
6290 /* Line 936 of glr.c */
6291 #line 1618 "vtkParse.y"
6292 { access_level = VTK_ACCESS_PRIVATE; }
6297 /* Line 936 of glr.c */
6298 #line 1619 "vtkParse.y"
6299 { access_level = VTK_ACCESS_PROTECTED; }
6304 /* Line 936 of glr.c */
6305 #line 1649 "vtkParse.y"
6306 { output_friend_function(); }
6311 /* Line 936 of glr.c */
6312 #line 1657 "vtkParse.y"
6313 { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), access_level, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); }
6318 /* Line 936 of glr.c */
6319 #line 1659 "vtkParse.y"
6320 { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (4))].yystate.yysemantics.yysval.integer),
6321 (VTK_PARSE_VIRTUAL | (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer))); }
6326 /* Line 936 of glr.c */
6327 #line 1662 "vtkParse.y"
6328 { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.integer),
6329 ((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (4))].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer))); }
6334 /* Line 936 of glr.c */
6335 #line 1666 "vtkParse.y"
6336 { ((*yyvalp).integer) = 0; }
6341 /* Line 936 of glr.c */
6342 #line 1667 "vtkParse.y"
6343 { ((*yyvalp).integer) = VTK_PARSE_VIRTUAL; }
6348 /* Line 936 of glr.c */
6349 #line 1670 "vtkParse.y"
6350 { ((*yyvalp).integer) = access_level; }
6355 /* Line 936 of glr.c */
6356 #line 1674 "vtkParse.y"
6357 { ((*yyvalp).integer) = VTK_ACCESS_PUBLIC; }
6362 /* Line 936 of glr.c */
6363 #line 1675 "vtkParse.y"
6364 { ((*yyvalp).integer) = VTK_ACCESS_PRIVATE; }
6369 /* Line 936 of glr.c */
6370 #line 1676 "vtkParse.y"
6371 { ((*yyvalp).integer) = VTK_ACCESS_PROTECTED; }
6376 /* Line 936 of glr.c */
6377 #line 1698 "vtkParse.y"
6383 /* Line 936 of glr.c */
6384 #line 1699 "vtkParse.y"
6388 if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.str) != NULL)
6390 setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.str));
6391 setTypeBase(guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.str)));
6399 /* Line 936 of glr.c */
6400 #line 1712 "vtkParse.y"
6402 start_enum((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer), getTypeId());
6404 ((*yyvalp).str) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str);
6410 /* Line 936 of glr.c */
6411 #line 1718 "vtkParse.y"
6413 start_enum(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer), getTypeId());
6415 ((*yyvalp).str) = NULL;
6421 /* Line 936 of glr.c */
6422 #line 1725 "vtkParse.y"
6423 { ((*yyvalp).integer) = 0; }
6428 /* Line 936 of glr.c */
6429 #line 1726 "vtkParse.y"
6430 { ((*yyvalp).integer) = 1; }
6435 /* Line 936 of glr.c */
6436 #line 1727 "vtkParse.y"
6437 { ((*yyvalp).integer) = 1; }
6442 /* Line 936 of glr.c */
6443 #line 1730 "vtkParse.y"
6444 { ((*yyvalp).integer) = 0; }
6449 /* Line 936 of glr.c */
6450 #line 1731 "vtkParse.y"
6456 /* Line 936 of glr.c */
6457 #line 1732 "vtkParse.y"
6458 { ((*yyvalp).integer) = getType(); popType(); }
6463 /* Line 936 of glr.c */
6464 #line 1739 "vtkParse.y"
6465 { add_enum((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str), NULL); }
6470 /* Line 936 of glr.c */
6471 #line 1740 "vtkParse.y"
6472 { postSig("="); markSig(); }
6477 /* Line 936 of glr.c */
6478 #line 1741 "vtkParse.y"
6479 { chopSig(); add_enum((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.str), copySig()); }
6484 /* Line 936 of glr.c */
6485 #line 1801 "vtkParse.y"
6486 { pushFunction(); postSig("("); }
6491 /* Line 936 of glr.c */
6492 #line 1802 "vtkParse.y"
6498 /* Line 936 of glr.c */
6499 #line 1803 "vtkParse.y"
6500 { ((*yyvalp).integer) = (VTK_PARSE_FUNCTION | (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (8))].yystate.yysemantics.yysval.integer)); popFunction(); }
6505 /* Line 936 of glr.c */
6506 #line 1807 "vtkParse.y"
6508 ValueInfo *item = (ValueInfo *)malloc(sizeof(ValueInfo));
6509 vtkParse_InitValue(item);
6510 item->ItemType = VTK_TYPEDEF_INFO;
6511 item->Access = access_level;
6513 handle_complex_type(item, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer), getSig());
6517 item->Name = getVarName();
6520 if (item->Class == NULL)
6522 vtkParse_FreeValue(item);
6524 else if (currentClass)
6526 vtkParse_AddTypedefToClass(currentClass, item);
6530 vtkParse_AddTypedefToNamespace(currentNamespace, item);
6537 /* Line 936 of glr.c */
6538 #line 1840 "vtkParse.y"
6539 { add_using((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), 0); }
6544 /* Line 936 of glr.c */
6545 #line 1844 "vtkParse.y"
6546 { ((*yyvalp).str) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str); }
6551 /* Line 936 of glr.c */
6552 #line 1846 "vtkParse.y"
6553 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
6558 /* Line 936 of glr.c */
6559 #line 1848 "vtkParse.y"
6560 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
6565 /* Line 936 of glr.c */
6566 #line 1850 "vtkParse.y"
6567 { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); }
6572 /* Line 936 of glr.c */
6573 #line 1852 "vtkParse.y"
6574 { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); }
6579 /* Line 936 of glr.c */
6580 #line 1855 "vtkParse.y"
6581 { add_using((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), 1); }
6586 /* Line 936 of glr.c */
6587 #line 1858 "vtkParse.y"
6593 /* Line 936 of glr.c */
6594 #line 1860 "vtkParse.y"
6596 ValueInfo *item = (ValueInfo *)malloc(sizeof(ValueInfo));
6597 vtkParse_InitValue(item);
6598 item->ItemType = VTK_TYPEDEF_INFO;
6599 item->Access = access_level;
6601 handle_complex_type(item, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (8))].yystate.yysemantics.yysval.integer), copySig());
6603 item->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (8))].yystate.yysemantics.yysval.str);
6605 if (currentTemplate)
6607 vtkParse_FreeValue(item);
6609 else if (currentClass)
6611 vtkParse_AddTypedefToClass(currentClass, item);
6615 vtkParse_AddTypedefToNamespace(currentNamespace, item);
6622 /* Line 936 of glr.c */
6623 #line 1890 "vtkParse.y"
6624 { postSig("template<> "); clearTypeId(); }
6629 /* Line 936 of glr.c */
6630 #line 1892 "vtkParse.y"
6632 postSig("template<");
6642 /* Line 936 of glr.c */
6643 #line 1900 "vtkParse.y"
6646 if (getSig()[getSigLength()-1] == '>') { postSig(" "); }
6655 /* Line 936 of glr.c */
6656 #line 1911 "vtkParse.y"
6657 { chopSig(); postSig(", "); clearType(); clearTypeId(); }
6662 /* Line 936 of glr.c */
6663 #line 1915 "vtkParse.y"
6669 /* Line 936 of glr.c */
6670 #line 1917 "vtkParse.y"
6671 { add_template_parameter(getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer), copySig()); }
6676 /* Line 936 of glr.c */
6677 #line 1919 "vtkParse.y"
6683 /* Line 936 of glr.c */
6684 #line 1921 "vtkParse.y"
6685 { add_template_parameter(0, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer), copySig()); }
6690 /* Line 936 of glr.c */
6691 #line 1923 "vtkParse.y"
6692 { pushTemplate(); markSig(); }
6697 /* Line 936 of glr.c */
6698 #line 1924 "vtkParse.y"
6699 { postSig("class "); }
6704 /* Line 936 of glr.c */
6705 #line 1926 "vtkParse.y"
6708 TemplateInfo *newTemplate = currentTemplate;
6710 add_template_parameter(0, (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.integer), copySig());
6711 i = currentTemplate->NumberOfParameters-1;
6712 currentTemplate->Parameters[i]->Template = newTemplate;
6718 /* Line 936 of glr.c */
6719 #line 1937 "vtkParse.y"
6720 { ((*yyvalp).integer) = 0; }
6725 /* Line 936 of glr.c */
6726 #line 1938 "vtkParse.y"
6727 { postSig("..."); ((*yyvalp).integer) = VTK_PARSE_PACK; }
6732 /* Line 936 of glr.c */
6733 #line 1941 "vtkParse.y"
6734 { postSig("class "); }
6739 /* Line 936 of glr.c */
6740 #line 1942 "vtkParse.y"
6741 { postSig("typename "); }
6746 /* Line 936 of glr.c */
6747 #line 1948 "vtkParse.y"
6748 { postSig("="); markSig(); }
6753 /* Line 936 of glr.c */
6754 #line 1950 "vtkParse.y"
6756 int i = currentTemplate->NumberOfParameters-1;
6757 ValueInfo *param = currentTemplate->Parameters[i];
6759 param->Value = copySig();
6765 /* Line 936 of glr.c */
6766 #line 1967 "vtkParse.y"
6767 { output_function(); }
6772 /* Line 936 of glr.c */
6773 #line 1968 "vtkParse.y"
6774 { output_function(); }
6779 /* Line 936 of glr.c */
6780 #line 1969 "vtkParse.y"
6781 { reject_function(); }
6786 /* Line 936 of glr.c */
6787 #line 1970 "vtkParse.y"
6788 { reject_function(); }
6793 /* Line 936 of glr.c */
6794 #line 1986 "vtkParse.y"
6795 { output_function(); }
6800 /* Line 936 of glr.c */
6801 #line 2004 "vtkParse.y"
6804 currentFunction->IsExplicit = ((getType() & VTK_PARSE_EXPLICIT) != 0);
6805 set_return(currentFunction, getType(), getTypeId(), 0);
6811 /* Line 936 of glr.c */
6812 #line 2009 "vtkParse.y"
6818 /* Line 936 of glr.c */
6819 #line 2011 "vtkParse.y"
6823 currentFunction->IsOperator = 1;
6824 currentFunction->Name = "operator typecast";
6825 currentFunction->Comment = vtkstrdup(getComment());
6826 vtkParseDebug("Parsed operator", "operator typecast");
6832 /* Line 936 of glr.c */
6833 #line 2022 "vtkParse.y"
6834 { ((*yyvalp).str) = copySig(); }
6839 /* Line 936 of glr.c */
6840 #line 2025 "vtkParse.y"
6846 /* Line 936 of glr.c */
6847 #line 2027 "vtkParse.y"
6851 currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.str);
6852 currentFunction->Comment = vtkstrdup(getComment());
6853 vtkParseDebug("Parsed operator", currentFunction->Name);
6859 /* Line 936 of glr.c */
6860 #line 2037 "vtkParse.y"
6863 currentFunction->IsOperator = 1;
6864 set_return(currentFunction, getType(), getTypeId(), 0);
6870 /* Line 936 of glr.c */
6871 #line 2046 "vtkParse.y"
6872 { chopSig(); ((*yyvalp).str) = vtkstrcat(copySig(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
6877 /* Line 936 of glr.c */
6878 #line 2049 "vtkParse.y"
6879 { markSig(); postSig("operator "); }
6884 /* Line 936 of glr.c */
6885 #line 2053 "vtkParse.y"
6889 currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str);
6890 currentFunction->Comment = vtkstrdup(getComment());
6891 vtkParseDebug("Parsed func", currentFunction->Name);
6897 /* Line 936 of glr.c */
6898 #line 2065 "vtkParse.y"
6899 { postSig(" throw "); }
6904 /* Line 936 of glr.c */
6905 #line 2065 "vtkParse.y"
6911 /* Line 936 of glr.c */
6912 #line 2066 "vtkParse.y"
6913 { postSig(" const"); currentFunction->IsConst = 1; }
6918 /* Line 936 of glr.c */
6919 #line 2068 "vtkParse.y"
6922 currentFunction->IsPureVirtual = 1;
6923 if (currentClass) { currentClass->IsAbstract = 1; }
6929 /* Line 936 of glr.c */
6930 #line 2074 "vtkParse.y"
6932 postSig(" "); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str));
6933 if (strcmp((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str), "final") == 0) { currentFunction->IsFinal = 1; }
6939 /* Line 936 of glr.c */
6940 #line 2078 "vtkParse.y"
6946 /* Line 936 of glr.c */
6947 #line 2083 "vtkParse.y"
6948 { postSig(" noexcept"); }
6953 /* Line 936 of glr.c */
6954 #line 2086 "vtkParse.y"
6955 { currentFunction->IsDeleted = 1; }
6960 /* Line 936 of glr.c */
6961 #line 2093 "vtkParse.y"
6962 { postSig(" -> "); clearType(); clearTypeId(); }
6967 /* Line 936 of glr.c */
6968 #line 2095 "vtkParse.y"
6971 set_return(currentFunction, getType(), getTypeId(), 0);
6977 /* Line 936 of glr.c */
6978 #line 2113 "vtkParse.y"
6981 set_return(currentFunction, getType(), getTypeId(), 0);
6987 /* Line 936 of glr.c */
6988 #line 2117 "vtkParse.y"
6994 /* Line 936 of glr.c */
6995 #line 2125 "vtkParse.y"
7001 /* Line 936 of glr.c */
7002 #line 2126 "vtkParse.y"
7008 /* Line 936 of glr.c */
7009 #line 2128 "vtkParse.y"
7013 if (getType() & VTK_PARSE_VIRTUAL)
7015 currentFunction->IsVirtual = 1;
7017 if (getType() & VTK_PARSE_EXPLICIT)
7019 currentFunction->IsExplicit = 1;
7021 currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (6))].yystate.yysemantics.yysval.str);
7022 currentFunction->Comment = vtkstrdup(getComment());
7023 vtkParseDebug("Parsed func", currentFunction->Name);
7029 /* Line 936 of glr.c */
7030 #line 2145 "vtkParse.y"
7031 { pushType(); postSig("("); }
7036 /* Line 936 of glr.c */
7037 #line 2147 "vtkParse.y"
7038 { popType(); postSig(")"); }
7043 /* Line 936 of glr.c */
7044 #line 2164 "vtkParse.y"
7045 { clearType(); clearTypeId(); }
7050 /* Line 936 of glr.c */
7051 #line 2167 "vtkParse.y"
7052 { clearType(); clearTypeId(); }
7057 /* Line 936 of glr.c */
7058 #line 2168 "vtkParse.y"
7059 { clearType(); clearTypeId(); postSig(", "); }
7064 /* Line 936 of glr.c */
7065 #line 2171 "vtkParse.y"
7066 { currentFunction->IsVariadic = 1; postSig(", ..."); }
7071 /* Line 936 of glr.c */
7072 #line 2173 "vtkParse.y"
7073 { currentFunction->IsVariadic = 1; postSig("..."); }
7078 /* Line 936 of glr.c */
7079 #line 2176 "vtkParse.y"
7085 /* Line 936 of glr.c */
7086 #line 2178 "vtkParse.y"
7088 ValueInfo *param = (ValueInfo *)malloc(sizeof(ValueInfo));
7089 vtkParse_InitValue(param);
7091 handle_complex_type(param, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer), copySig());
7092 add_legacy_parameter(currentFunction, param);
7096 param->Name = getVarName();
7099 vtkParse_AddParameterToFunction(currentFunction, param);
7105 /* Line 936 of glr.c */
7106 #line 2193 "vtkParse.y"
7108 int i = currentFunction->NumberOfParameters-1;
7111 currentFunction->Parameters[i]->Value = getVarValue();
7118 /* Line 936 of glr.c */
7119 #line 2202 "vtkParse.y"
7120 { clearVarValue(); }
7125 /* Line 936 of glr.c */
7126 #line 2206 "vtkParse.y"
7127 { postSig("="); clearVarValue(); markSig(); }
7132 /* Line 936 of glr.c */
7133 #line 2207 "vtkParse.y"
7134 { chopSig(); setVarValue(copySig()); }
7139 /* Line 936 of glr.c */
7140 #line 2208 "vtkParse.y"
7141 { clearVarValue(); markSig(); }
7146 /* Line 936 of glr.c */
7147 #line 2209 "vtkParse.y"
7148 { chopSig(); setVarValue(copySig()); }
7153 /* Line 936 of glr.c */
7154 #line 2220 "vtkParse.y"
7156 unsigned int type = getType();
7157 ValueInfo *var = (ValueInfo *)malloc(sizeof(ValueInfo));
7158 vtkParse_InitValue(var);
7159 var->ItemType = VTK_VARIABLE_INFO;
7160 var->Access = access_level;
7162 handle_complex_type(var, type, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer), getSig());
7164 var->Name = getVarName();
7168 var->Value = getVarValue();
7171 /* Is this a typedef? */
7172 if ((type & VTK_PARSE_TYPEDEF) != 0)
7174 var->ItemType = VTK_TYPEDEF_INFO;
7177 vtkParse_AddTypedefToClass(currentClass, var);
7181 vtkParse_AddTypedefToNamespace(currentNamespace, var);
7184 /* Is this a constant? */
7185 else if (((type & VTK_PARSE_CONST) != 0) && var->Value != NULL &&
7186 (((type & VTK_PARSE_INDIRECT) == 0) ||
7187 ((type & VTK_PARSE_INDIRECT) == VTK_PARSE_ARRAY)))
7189 var->ItemType = VTK_CONSTANT_INFO;
7192 vtkParse_AddConstantToClass(currentClass, var);
7196 vtkParse_AddConstantToNamespace(currentNamespace, var);
7199 /* This is a true variable i.e. not constant */
7204 vtkParse_AddVariableToClass(currentClass, var);
7208 vtkParse_AddVariableToNamespace(currentNamespace, var);
7216 /* Line 936 of glr.c */
7217 #line 2282 "vtkParse.y"
7223 /* Line 936 of glr.c */
7224 #line 2288 "vtkParse.y"
7230 /* Line 936 of glr.c */
7231 #line 2289 "vtkParse.y"
7232 { setTypePtr((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); }
7237 /* Line 936 of glr.c */
7238 #line 2294 "vtkParse.y"
7240 if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION)
7242 ((*yyvalp).integer) = (VTK_PARSE_FUNCTION_PTR | (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer));
7246 ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer);
7253 /* Line 936 of glr.c */
7254 #line 2304 "vtkParse.y"
7260 /* Line 936 of glr.c */
7261 #line 2306 "vtkParse.y"
7263 const char *scope = getScope();
7264 unsigned int parens = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (6))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (6))].yystate.yysemantics.yysval.integer));
7265 if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (6))].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION)
7267 if (scope) { scope = vtkstrndup(scope, strlen(scope) - 2); }
7268 getFunction()->Class = scope;
7269 ((*yyvalp).integer) = (parens | VTK_PARSE_FUNCTION);
7271 else if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (6))].yystate.yysemantics.yysval.integer) == VTK_PARSE_ARRAY)
7273 ((*yyvalp).integer) = add_indirection_to_array(parens);
7280 /* Line 936 of glr.c */
7281 #line 2324 "vtkParse.y"
7282 { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer); }
7287 /* Line 936 of glr.c */
7288 #line 2325 "vtkParse.y"
7294 /* Line 936 of glr.c */
7295 #line 2327 "vtkParse.y"
7297 const char *scope = getScope();
7298 unsigned int parens = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (5))].yystate.yysemantics.yysval.integer));
7299 if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION)
7301 if (scope) { scope = vtkstrndup(scope, strlen(scope) - 2); }
7302 getFunction()->Class = scope;
7303 ((*yyvalp).integer) = (parens | VTK_PARSE_FUNCTION);
7305 else if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.integer) == VTK_PARSE_ARRAY)
7307 ((*yyvalp).integer) = add_indirection_to_array(parens);
7314 /* Line 936 of glr.c */
7315 #line 2343 "vtkParse.y"
7316 { postSig("("); scopeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig("*"); }
7321 /* Line 936 of glr.c */
7322 #line 2344 "vtkParse.y"
7323 { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer); }
7328 /* Line 936 of glr.c */
7329 #line 2345 "vtkParse.y"
7330 { postSig("("); scopeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig("&");
7331 ((*yyvalp).integer) = VTK_PARSE_REF; }
7336 /* Line 936 of glr.c */
7337 #line 2349 "vtkParse.y"
7338 { ((*yyvalp).integer) = 0; }
7343 /* Line 936 of glr.c */
7344 #line 2350 "vtkParse.y"
7345 { pushFunction(); postSig("("); }
7350 /* Line 936 of glr.c */
7351 #line 2351 "vtkParse.y"
7357 /* Line 936 of glr.c */
7358 #line 2352 "vtkParse.y"
7360 ((*yyvalp).integer) = VTK_PARSE_FUNCTION;
7367 /* Line 936 of glr.c */
7368 #line 2356 "vtkParse.y"
7369 { ((*yyvalp).integer) = VTK_PARSE_ARRAY; }
7374 /* Line 936 of glr.c */
7375 #line 2360 "vtkParse.y"
7376 { currentFunction->IsConst = 1; }
7381 /* Line 936 of glr.c */
7382 #line 2368 "vtkParse.y"
7383 { ((*yyvalp).integer) = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); }
7388 /* Line 936 of glr.c */
7389 #line 2373 "vtkParse.y"
7390 { ((*yyvalp).integer) = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); }
7395 /* Line 936 of glr.c */
7396 #line 2376 "vtkParse.y"
7397 { clearVarName(); chopSig(); }
7402 /* Line 936 of glr.c */
7403 #line 2380 "vtkParse.y"
7404 { setVarName((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); }
7409 /* Line 936 of glr.c */
7410 #line 2382 "vtkParse.y"
7411 { setVarName((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.str)); }
7416 /* Line 936 of glr.c */
7417 #line 2390 "vtkParse.y"
7423 /* Line 936 of glr.c */
7424 #line 2394 "vtkParse.y"
7430 /* Line 936 of glr.c */
7431 #line 2401 "vtkParse.y"
7437 /* Line 936 of glr.c */
7438 #line 2402 "vtkParse.y"
7444 /* Line 936 of glr.c */
7445 #line 2405 "vtkParse.y"
7446 { pushArraySize(""); }
7451 /* Line 936 of glr.c */
7452 #line 2406 "vtkParse.y"
7458 /* Line 936 of glr.c */
7459 #line 2406 "vtkParse.y"
7460 { chopSig(); pushArraySize(copySig()); }
7465 /* Line 936 of glr.c */
7466 #line 2420 "vtkParse.y"
7467 { ((*yyvalp).str) = vtkstrcat("~", (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
7472 /* Line 936 of glr.c */
7473 #line 2421 "vtkParse.y"
7474 { ((*yyvalp).str) = vtkstrcat("~", (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
7479 /* Line 936 of glr.c */
7480 #line 2425 "vtkParse.y"
7481 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
7486 /* Line 936 of glr.c */
7487 #line 2427 "vtkParse.y"
7488 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
7493 /* Line 936 of glr.c */
7494 #line 2429 "vtkParse.y"
7495 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
7500 /* Line 936 of glr.c */
7501 #line 2433 "vtkParse.y"
7502 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
7507 /* Line 936 of glr.c */
7508 #line 2435 "vtkParse.y"
7509 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
7514 /* Line 936 of glr.c */
7515 #line 2437 "vtkParse.y"
7516 { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
7521 /* Line 936 of glr.c */
7522 #line 2439 "vtkParse.y"
7523 { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); }
7528 /* Line 936 of glr.c */
7529 #line 2441 "vtkParse.y"
7530 { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); }
7535 /* Line 936 of glr.c */
7536 #line 2443 "vtkParse.y"
7537 { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); }
7542 /* Line 936 of glr.c */
7543 #line 2444 "vtkParse.y"
7544 { postSig("template "); }
7549 /* Line 936 of glr.c */
7550 #line 2446 "vtkParse.y"
7551 { ((*yyvalp).str) = vtkstrcat4((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.str), "template ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.str)); }
7556 /* Line 936 of glr.c */
7557 #line 2449 "vtkParse.y"
7563 /* Line 936 of glr.c */
7564 #line 2452 "vtkParse.y"
7565 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7570 /* Line 936 of glr.c */
7571 #line 2455 "vtkParse.y"
7572 { ((*yyvalp).str) = "::"; postSig(((*yyvalp).str)); }
7577 /* Line 936 of glr.c */
7578 #line 2458 "vtkParse.y"
7579 { markSig(); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); postSig("<"); }
7584 /* Line 936 of glr.c */
7585 #line 2460 "vtkParse.y"
7587 chopSig(); if (getSig()[getSigLength()-1] == '>') { postSig(" "); }
7588 postSig(">"); ((*yyvalp).str) = copySig(); clearTypeId();
7594 /* Line 936 of glr.c */
7595 #line 2466 "vtkParse.y"
7596 { markSig(); postSig("decltype"); }
7601 /* Line 936 of glr.c */
7602 #line 2467 "vtkParse.y"
7603 { chopSig(); ((*yyvalp).str) = copySig(); clearTypeId(); }
7608 /* Line 936 of glr.c */
7609 #line 2475 "vtkParse.y"
7610 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7615 /* Line 936 of glr.c */
7616 #line 2476 "vtkParse.y"
7617 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7622 /* Line 936 of glr.c */
7623 #line 2477 "vtkParse.y"
7624 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7629 /* Line 936 of glr.c */
7630 #line 2478 "vtkParse.y"
7631 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7636 /* Line 936 of glr.c */
7637 #line 2479 "vtkParse.y"
7638 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7643 /* Line 936 of glr.c */
7644 #line 2480 "vtkParse.y"
7645 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7650 /* Line 936 of glr.c */
7651 #line 2481 "vtkParse.y"
7652 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7657 /* Line 936 of glr.c */
7658 #line 2482 "vtkParse.y"
7659 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7664 /* Line 936 of glr.c */
7665 #line 2483 "vtkParse.y"
7666 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7671 /* Line 936 of glr.c */
7672 #line 2484 "vtkParse.y"
7673 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7678 /* Line 936 of glr.c */
7679 #line 2485 "vtkParse.y"
7680 { ((*yyvalp).str) = "vtkTypeInt8"; postSig(((*yyvalp).str)); }
7685 /* Line 936 of glr.c */
7686 #line 2486 "vtkParse.y"
7687 { ((*yyvalp).str) = "vtkTypeUInt8"; postSig(((*yyvalp).str)); }
7692 /* Line 936 of glr.c */
7693 #line 2487 "vtkParse.y"
7694 { ((*yyvalp).str) = "vtkTypeInt16"; postSig(((*yyvalp).str)); }
7699 /* Line 936 of glr.c */
7700 #line 2488 "vtkParse.y"
7701 { ((*yyvalp).str) = "vtkTypeUInt16"; postSig(((*yyvalp).str)); }
7706 /* Line 936 of glr.c */
7707 #line 2489 "vtkParse.y"
7708 { ((*yyvalp).str) = "vtkTypeInt32"; postSig(((*yyvalp).str)); }
7713 /* Line 936 of glr.c */
7714 #line 2490 "vtkParse.y"
7715 { ((*yyvalp).str) = "vtkTypeUInt32"; postSig(((*yyvalp).str)); }
7720 /* Line 936 of glr.c */
7721 #line 2491 "vtkParse.y"
7722 { ((*yyvalp).str) = "vtkTypeInt64"; postSig(((*yyvalp).str)); }
7727 /* Line 936 of glr.c */
7728 #line 2492 "vtkParse.y"
7729 { ((*yyvalp).str) = "vtkTypeUInt64"; postSig(((*yyvalp).str)); }
7734 /* Line 936 of glr.c */
7735 #line 2493 "vtkParse.y"
7736 { ((*yyvalp).str) = "vtkTypeFloat32"; postSig(((*yyvalp).str)); }
7741 /* Line 936 of glr.c */
7742 #line 2494 "vtkParse.y"
7743 { ((*yyvalp).str) = "vtkTypeFloat64"; postSig(((*yyvalp).str)); }
7748 /* Line 936 of glr.c */
7749 #line 2495 "vtkParse.y"
7750 { ((*yyvalp).str) = "vtkIdType"; postSig(((*yyvalp).str)); }
7755 /* Line 936 of glr.c */
7756 #line 2520 "vtkParse.y"
7757 { setTypeBase(buildTypeBase(getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer))); }
7762 /* Line 936 of glr.c */
7763 #line 2521 "vtkParse.y"
7764 { setTypeMod(VTK_PARSE_TYPEDEF); }
7769 /* Line 936 of glr.c */
7770 #line 2522 "vtkParse.y"
7771 { setTypeMod(VTK_PARSE_FRIEND); }
7776 /* Line 936 of glr.c */
7777 #line 2529 "vtkParse.y"
7778 { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); }
7783 /* Line 936 of glr.c */
7784 #line 2530 "vtkParse.y"
7785 { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); }
7790 /* Line 936 of glr.c */
7791 #line 2531 "vtkParse.y"
7792 { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); }
7797 /* Line 936 of glr.c */
7798 #line 2532 "vtkParse.y"
7799 { postSig("constexpr "); ((*yyvalp).integer) = 0; }
7804 /* Line 936 of glr.c */
7805 #line 2535 "vtkParse.y"
7806 { postSig("mutable "); ((*yyvalp).integer) = VTK_PARSE_MUTABLE; }
7811 /* Line 936 of glr.c */
7812 #line 2536 "vtkParse.y"
7813 { ((*yyvalp).integer) = 0; }
7818 /* Line 936 of glr.c */
7819 #line 2537 "vtkParse.y"
7820 { ((*yyvalp).integer) = 0; }
7825 /* Line 936 of glr.c */
7826 #line 2538 "vtkParse.y"
7827 { postSig("static "); ((*yyvalp).integer) = VTK_PARSE_STATIC; }
7832 /* Line 936 of glr.c */
7833 #line 2540 "vtkParse.y"
7834 { postSig("thread_local "); ((*yyvalp).integer) = VTK_PARSE_THREAD_LOCAL; }
7839 /* Line 936 of glr.c */
7840 #line 2543 "vtkParse.y"
7841 { ((*yyvalp).integer) = 0; }
7846 /* Line 936 of glr.c */
7847 #line 2544 "vtkParse.y"
7848 { postSig("virtual "); ((*yyvalp).integer) = VTK_PARSE_VIRTUAL; }
7853 /* Line 936 of glr.c */
7854 #line 2545 "vtkParse.y"
7855 { postSig("explicit "); ((*yyvalp).integer) = VTK_PARSE_EXPLICIT; }
7860 /* Line 936 of glr.c */
7861 #line 2548 "vtkParse.y"
7862 { postSig("const "); ((*yyvalp).integer) = VTK_PARSE_CONST; }
7867 /* Line 936 of glr.c */
7868 #line 2549 "vtkParse.y"
7869 { postSig("volatile "); ((*yyvalp).integer) = VTK_PARSE_VOLATILE; }
7874 /* Line 936 of glr.c */
7875 #line 2554 "vtkParse.y"
7876 { ((*yyvalp).integer) = ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); }
7881 /* Line 936 of glr.c */
7882 #line 2564 "vtkParse.y"
7883 { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); }
7888 /* Line 936 of glr.c */
7889 #line 2566 "vtkParse.y"
7890 { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); }
7895 /* Line 936 of glr.c */
7896 #line 2572 "vtkParse.y"
7897 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); }
7902 /* Line 936 of glr.c */
7903 #line 2574 "vtkParse.y"
7904 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); }
7909 /* Line 936 of glr.c */
7910 #line 2579 "vtkParse.y"
7911 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = 0; }
7916 /* Line 936 of glr.c */
7917 #line 2580 "vtkParse.y"
7918 { postSig("typename "); }
7923 /* Line 936 of glr.c */
7924 #line 2581 "vtkParse.y"
7925 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); }
7930 /* Line 936 of glr.c */
7931 #line 2583 "vtkParse.y"
7932 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); }
7937 /* Line 936 of glr.c */
7938 #line 2585 "vtkParse.y"
7939 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); }
7944 /* Line 936 of glr.c */
7945 #line 2591 "vtkParse.y"
7946 { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); }
7951 /* Line 936 of glr.c */
7952 #line 2593 "vtkParse.y"
7953 { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); }
7958 /* Line 936 of glr.c */
7959 #line 2600 "vtkParse.y"
7960 { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); }
7965 /* Line 936 of glr.c */
7966 #line 2602 "vtkParse.y"
7967 { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); }
7972 /* Line 936 of glr.c */
7973 #line 2608 "vtkParse.y"
7974 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = 0; }
7979 /* Line 936 of glr.c */
7980 #line 2610 "vtkParse.y"
7981 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7986 /* Line 936 of glr.c */
7987 #line 2612 "vtkParse.y"
7988 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); }
7993 /* Line 936 of glr.c */
7994 #line 2614 "vtkParse.y"
7995 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
8000 /* Line 936 of glr.c */
8001 #line 2616 "vtkParse.y"
8002 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
8007 /* Line 936 of glr.c */
8008 #line 2618 "vtkParse.y"
8009 { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
8014 /* Line 936 of glr.c */
8015 #line 2621 "vtkParse.y"
8021 /* Line 936 of glr.c */
8022 #line 2625 "vtkParse.y"
8023 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_STRING; }
8028 /* Line 936 of glr.c */
8029 #line 2626 "vtkParse.y"
8030 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_UNICODE_STRING;}
8035 /* Line 936 of glr.c */
8036 #line 2627 "vtkParse.y"
8037 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_OSTREAM; }
8042 /* Line 936 of glr.c */
8043 #line 2628 "vtkParse.y"
8044 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_ISTREAM; }
8049 /* Line 936 of glr.c */
8050 #line 2629 "vtkParse.y"
8051 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_UNKNOWN; }
8056 /* Line 936 of glr.c */
8057 #line 2630 "vtkParse.y"
8058 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_OBJECT; }
8063 /* Line 936 of glr.c */
8064 #line 2631 "vtkParse.y"
8065 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_QOBJECT; }
8070 /* Line 936 of glr.c */
8071 #line 2632 "vtkParse.y"
8072 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_NULLPTR_T; }
8077 /* Line 936 of glr.c */
8078 #line 2633 "vtkParse.y"
8079 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_SSIZE_T; }
8084 /* Line 936 of glr.c */
8085 #line 2634 "vtkParse.y"
8086 { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_SIZE_T; }
8091 /* Line 936 of glr.c */
8092 #line 2635 "vtkParse.y"
8093 { typeSig("vtkTypeInt8"); ((*yyvalp).integer) = VTK_PARSE_INT8; }
8098 /* Line 936 of glr.c */
8099 #line 2636 "vtkParse.y"
8100 { typeSig("vtkTypeUInt8"); ((*yyvalp).integer) = VTK_PARSE_UINT8; }
8105 /* Line 936 of glr.c */
8106 #line 2637 "vtkParse.y"
8107 { typeSig("vtkTypeInt16"); ((*yyvalp).integer) = VTK_PARSE_INT16; }
8112 /* Line 936 of glr.c */
8113 #line 2638 "vtkParse.y"
8114 { typeSig("vtkTypeUInt16"); ((*yyvalp).integer) = VTK_PARSE_UINT16; }
8119 /* Line 936 of glr.c */
8120 #line 2639 "vtkParse.y"
8121 { typeSig("vtkTypeInt32"); ((*yyvalp).integer) = VTK_PARSE_INT32; }
8126 /* Line 936 of glr.c */
8127 #line 2640 "vtkParse.y"
8128 { typeSig("vtkTypeUInt32"); ((*yyvalp).integer) = VTK_PARSE_UINT32; }
8133 /* Line 936 of glr.c */
8134 #line 2641 "vtkParse.y"
8135 { typeSig("vtkTypeInt64"); ((*yyvalp).integer) = VTK_PARSE_INT64; }
8140 /* Line 936 of glr.c */
8141 #line 2642 "vtkParse.y"
8142 { typeSig("vtkTypeUInt64"); ((*yyvalp).integer) = VTK_PARSE_UINT64; }
8147 /* Line 936 of glr.c */
8148 #line 2643 "vtkParse.y"
8149 { typeSig("vtkTypeFloat32"); ((*yyvalp).integer) = VTK_PARSE_FLOAT32; }
8154 /* Line 936 of glr.c */
8155 #line 2644 "vtkParse.y"
8156 { typeSig("vtkTypeFloat64"); ((*yyvalp).integer) = VTK_PARSE_FLOAT64; }
8161 /* Line 936 of glr.c */
8162 #line 2645 "vtkParse.y"
8163 { typeSig("vtkIdType"); ((*yyvalp).integer) = VTK_PARSE_ID_TYPE; }
8168 /* Line 936 of glr.c */
8169 #line 2648 "vtkParse.y"
8170 { postSig("auto "); ((*yyvalp).integer) = 0; }
8175 /* Line 936 of glr.c */
8176 #line 2649 "vtkParse.y"
8177 { postSig("void "); ((*yyvalp).integer) = VTK_PARSE_VOID; }
8182 /* Line 936 of glr.c */
8183 #line 2650 "vtkParse.y"
8184 { postSig("bool "); ((*yyvalp).integer) = VTK_PARSE_BOOL; }
8189 /* Line 936 of glr.c */
8190 #line 2651 "vtkParse.y"
8191 { postSig("float "); ((*yyvalp).integer) = VTK_PARSE_FLOAT; }
8196 /* Line 936 of glr.c */
8197 #line 2652 "vtkParse.y"
8198 { postSig("double "); ((*yyvalp).integer) = VTK_PARSE_DOUBLE; }
8203 /* Line 936 of glr.c */
8204 #line 2653 "vtkParse.y"
8205 { postSig("char "); ((*yyvalp).integer) = VTK_PARSE_CHAR; }
8210 /* Line 936 of glr.c */
8211 #line 2654 "vtkParse.y"
8212 { postSig("char16_t "); ((*yyvalp).integer) = VTK_PARSE_CHAR16_T; }
8217 /* Line 936 of glr.c */
8218 #line 2655 "vtkParse.y"
8219 { postSig("char32_t "); ((*yyvalp).integer) = VTK_PARSE_CHAR32_T; }
8224 /* Line 936 of glr.c */
8225 #line 2656 "vtkParse.y"
8226 { postSig("wchar_t "); ((*yyvalp).integer) = VTK_PARSE_WCHAR_T; }
8231 /* Line 936 of glr.c */
8232 #line 2657 "vtkParse.y"
8233 { postSig("int "); ((*yyvalp).integer) = VTK_PARSE_INT; }
8238 /* Line 936 of glr.c */
8239 #line 2658 "vtkParse.y"
8240 { postSig("short "); ((*yyvalp).integer) = VTK_PARSE_SHORT; }
8245 /* Line 936 of glr.c */
8246 #line 2659 "vtkParse.y"
8247 { postSig("long "); ((*yyvalp).integer) = VTK_PARSE_LONG; }
8252 /* Line 936 of glr.c */
8253 #line 2660 "vtkParse.y"
8254 { postSig("__int64 "); ((*yyvalp).integer) = VTK_PARSE___INT64; }
8259 /* Line 936 of glr.c */
8260 #line 2661 "vtkParse.y"
8261 { postSig("signed "); ((*yyvalp).integer) = VTK_PARSE_INT; }
8266 /* Line 936 of glr.c */
8267 #line 2662 "vtkParse.y"
8268 { postSig("unsigned "); ((*yyvalp).integer) = VTK_PARSE_UNSIGNED_INT; }
8273 /* Line 936 of glr.c */
8274 #line 2685 "vtkParse.y"
8275 { ((*yyvalp).integer) = ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); }
8280 /* Line 936 of glr.c */
8281 #line 2689 "vtkParse.y"
8282 { postSig("&"); ((*yyvalp).integer) = VTK_PARSE_REF; }
8287 /* Line 936 of glr.c */
8288 #line 2693 "vtkParse.y"
8289 { postSig("&&"); ((*yyvalp).integer) = (VTK_PARSE_RVALUE | VTK_PARSE_REF); }
8294 /* Line 936 of glr.c */
8295 #line 2696 "vtkParse.y"
8301 /* Line 936 of glr.c */
8302 #line 2697 "vtkParse.y"
8303 { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer); }
8308 /* Line 936 of glr.c */
8309 #line 2700 "vtkParse.y"
8310 { ((*yyvalp).integer) = VTK_PARSE_POINTER; }
8315 /* Line 936 of glr.c */
8316 #line 2702 "vtkParse.y"
8318 if (((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer) & VTK_PARSE_CONST) != 0)
8320 ((*yyvalp).integer) = VTK_PARSE_CONST_POINTER;
8322 if (((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer) & VTK_PARSE_VOLATILE) != 0)
8324 ((*yyvalp).integer) = VTK_PARSE_BAD_INDIRECT;
8331 /* Line 936 of glr.c */
8332 #line 2718 "vtkParse.y"
8335 n = (((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer) << 2) | (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer));
8336 if ((n & VTK_PARSE_INDIRECT) != n)
8338 n = VTK_PARSE_BAD_INDIRECT;
8340 ((*yyvalp).integer) = n;
8346 /* Line 936 of glr.c */
8347 #line 2737 "vtkParse.y"
8353 /* Line 936 of glr.c */
8354 #line 2737 "vtkParse.y"
8360 /* Line 936 of glr.c */
8361 #line 2744 "vtkParse.y"
8362 {preSig("void Set"); postSig("(");}
8367 /* Line 936 of glr.c */
8368 #line 2745 "vtkParse.y"
8371 currentFunction->Macro = "vtkSetMacro";
8372 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str));
8373 currentFunction->Comment = vtkstrdup(getComment());
8374 add_parameter(currentFunction, getType(), getTypeId(), 0);
8375 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8382 /* Line 936 of glr.c */
8383 #line 2754 "vtkParse.y"
8389 /* Line 936 of glr.c */
8390 #line 2755 "vtkParse.y"
8396 /* Line 936 of glr.c */
8397 #line 2755 "vtkParse.y"
8403 /* Line 936 of glr.c */
8404 #line 2756 "vtkParse.y"
8407 currentFunction->Macro = "vtkGetMacro";
8408 currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (9))].yystate.yysemantics.yysval.str));
8409 currentFunction->Comment = vtkstrdup(getComment());
8410 set_return(currentFunction, getType(), getTypeId(), 0);
8417 /* Line 936 of glr.c */
8418 #line 2764 "vtkParse.y"
8419 {preSig("void Set");}
8424 /* Line 936 of glr.c */
8425 #line 2765 "vtkParse.y"
8427 postSig("(char *);");
8428 currentFunction->Macro = "vtkSetStringMacro";
8429 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.str));
8430 currentFunction->Comment = vtkstrdup(getComment());
8431 add_parameter(currentFunction, VTK_PARSE_CHAR_PTR, "char", 0);
8432 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8439 /* Line 936 of glr.c */
8440 #line 2774 "vtkParse.y"
8441 {preSig("char *Get");}
8446 /* Line 936 of glr.c */
8447 #line 2775 "vtkParse.y"
8450 currentFunction->Macro = "vtkGetStringMacro";
8451 currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.str));
8452 currentFunction->Comment = vtkstrdup(getComment());
8453 set_return(currentFunction, VTK_PARSE_CHAR_PTR, "char", 0);
8460 /* Line 936 of glr.c */
8461 #line 2783 "vtkParse.y"
8462 {startSig(); markSig();}
8467 /* Line 936 of glr.c */
8468 #line 2783 "vtkParse.y"
8474 /* Line 936 of glr.c */
8475 #line 2785 "vtkParse.y"
8477 const char *typeText;
8479 typeText = copySig();
8481 currentFunction->Macro = "vtkSetClampMacro";
8482 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (10))].yystate.yysemantics.yysval.str));
8483 currentFunction->Signature =
8484 vtkstrcat5("void ", currentFunction->Name, "(", typeText, ");");
8485 currentFunction->Comment = vtkstrdup(getComment());
8486 add_parameter(currentFunction, getType(), getTypeId(), 0);
8487 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8490 currentFunction->Macro = "vtkSetClampMacro";
8491 currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (10))].yystate.yysemantics.yysval.str), "MinValue");
8492 currentFunction->Signature =
8493 vtkstrcat4(typeText, " ", currentFunction->Name, "();");
8494 currentFunction->Comment = vtkstrdup(getComment());
8495 set_return(currentFunction, getType(), getTypeId(), 0);
8498 currentFunction->Macro = "vtkSetClampMacro";
8499 currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (10))].yystate.yysemantics.yysval.str), "MaxValue");
8500 currentFunction->Signature =
8501 vtkstrcat4(typeText, " ", currentFunction->Name, "();");
8502 currentFunction->Comment = vtkstrdup(getComment());
8503 set_return(currentFunction, getType(), getTypeId(), 0);
8510 /* Line 936 of glr.c */
8511 #line 2816 "vtkParse.y"
8512 {preSig("void Set"); postSig("("); }
8517 /* Line 936 of glr.c */
8518 #line 2817 "vtkParse.y"
8521 currentFunction->Macro = "vtkSetObjectMacro";
8522 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str));
8523 currentFunction->Comment = vtkstrdup(getComment());
8524 add_parameter(currentFunction, VTK_PARSE_OBJECT_PTR, getTypeId(), 0);
8525 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8532 /* Line 936 of glr.c */
8533 #line 2826 "vtkParse.y"
8539 /* Line 936 of glr.c */
8540 #line 2827 "vtkParse.y"
8546 /* Line 936 of glr.c */
8547 #line 2827 "vtkParse.y"
8553 /* Line 936 of glr.c */
8554 #line 2828 "vtkParse.y"
8557 currentFunction->Macro = "vtkGetObjectMacro";
8558 currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (9))].yystate.yysemantics.yysval.str));
8559 currentFunction->Comment = vtkstrdup(getComment());
8560 set_return(currentFunction, VTK_PARSE_OBJECT_PTR, getTypeId(), 0);
8567 /* Line 936 of glr.c */
8568 #line 2837 "vtkParse.y"
8570 currentFunction->Macro = "vtkBooleanMacro";
8571 currentFunction->Name = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (6))].yystate.yysemantics.yysval.str), "On");
8572 currentFunction->Comment = vtkstrdup(getComment());
8573 currentFunction->Signature =
8574 vtkstrcat3("void ", currentFunction->Name, "();");
8575 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8578 currentFunction->Macro = "vtkBooleanMacro";
8579 currentFunction->Name = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (6))].yystate.yysemantics.yysval.str), "Off");
8580 currentFunction->Comment = vtkstrdup(getComment());
8581 currentFunction->Signature =
8582 vtkstrcat3("void ", currentFunction->Name, "();");
8583 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8590 /* Line 936 of glr.c */
8591 #line 2854 "vtkParse.y"
8592 {startSig(); markSig();}
8597 /* Line 936 of glr.c */
8598 #line 2855 "vtkParse.y"
8601 outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 2);
8607 /* Line 936 of glr.c */
8608 #line 2859 "vtkParse.y"
8609 {startSig(); markSig();}
8614 /* Line 936 of glr.c */
8615 #line 2860 "vtkParse.y"
8618 outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 2);
8624 /* Line 936 of glr.c */
8625 #line 2864 "vtkParse.y"
8626 {startSig(); markSig();}
8631 /* Line 936 of glr.c */
8632 #line 2865 "vtkParse.y"
8635 outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 3);
8641 /* Line 936 of glr.c */
8642 #line 2869 "vtkParse.y"
8643 {startSig(); markSig();}
8648 /* Line 936 of glr.c */
8649 #line 2870 "vtkParse.y"
8652 outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 3);
8658 /* Line 936 of glr.c */
8659 #line 2874 "vtkParse.y"
8660 {startSig(); markSig();}
8665 /* Line 936 of glr.c */
8666 #line 2875 "vtkParse.y"
8669 outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 4);
8675 /* Line 936 of glr.c */
8676 #line 2879 "vtkParse.y"
8677 {startSig(); markSig();}
8682 /* Line 936 of glr.c */
8683 #line 2880 "vtkParse.y"
8686 outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 4);
8692 /* Line 936 of glr.c */
8693 #line 2884 "vtkParse.y"
8694 {startSig(); markSig();}
8699 /* Line 936 of glr.c */
8700 #line 2885 "vtkParse.y"
8703 outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 6);
8709 /* Line 936 of glr.c */
8710 #line 2889 "vtkParse.y"
8711 {startSig(); markSig();}
8716 /* Line 936 of glr.c */
8717 #line 2890 "vtkParse.y"
8720 outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 6);
8726 /* Line 936 of glr.c */
8727 #line 2894 "vtkParse.y"
8728 {startSig(); markSig();}
8733 /* Line 936 of glr.c */
8734 #line 2896 "vtkParse.y"
8736 const char *typeText;
8738 typeText = copySig();
8739 currentFunction->Macro = "vtkSetVectorMacro";
8740 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.str));
8741 currentFunction->Signature =
8742 vtkstrcat7("void ", currentFunction->Name, "(", typeText,
8743 " a[", (((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (9))].yystate.yysemantics.yysval.str), "]);");
8744 currentFunction->Comment = vtkstrdup(getComment());
8745 add_parameter(currentFunction, (VTK_PARSE_POINTER | getType()),
8746 getTypeId(), (int)strtol((((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (9))].yystate.yysemantics.yysval.str), NULL, 0));
8747 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8754 /* Line 936 of glr.c */
8755 #line 2911 "vtkParse.y"
8761 /* Line 936 of glr.c */
8762 #line 2913 "vtkParse.y"
8765 currentFunction->Macro = "vtkGetVectorMacro";
8766 currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.str));
8768 postSig(currentFunction->Name);
8770 currentFunction->Comment = vtkstrdup(getComment());
8771 set_return(currentFunction, (VTK_PARSE_POINTER | getType()),
8772 getTypeId(), (int)strtol((((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (9))].yystate.yysemantics.yysval.str), NULL, 0));
8779 /* Line 936 of glr.c */
8780 #line 2926 "vtkParse.y"
8782 currentFunction->Macro = "vtkViewportCoordinateMacro";
8783 currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), "Coordinate");
8784 currentFunction->Signature =
8785 vtkstrcat3("vtkCoordinate *", currentFunction->Name, "();");
8786 currentFunction->Comment = vtkstrdup(getComment());
8787 set_return(currentFunction, VTK_PARSE_OBJECT_PTR, "vtkCoordinate", 0);
8790 currentFunction->Macro = "vtkViewportCoordinateMacro";
8791 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str));
8792 currentFunction->Signature =
8793 vtkstrcat3("void ", currentFunction->Name, "(double, double);");
8794 currentFunction->Comment = vtkstrdup(getComment());
8795 add_parameter(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
8796 add_parameter(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
8797 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8800 currentFunction->Macro = "vtkViewportCoordinateMacro";
8801 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str));
8802 currentFunction->Signature =
8803 vtkstrcat3("void ", currentFunction->Name, "(double a[2]);");
8804 currentFunction->Comment = vtkstrdup(getComment());
8805 add_parameter(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 2);
8806 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8809 currentFunction->Macro = "vtkViewportCoordinateMacro";
8810 currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str));
8811 currentFunction->Signature =
8812 vtkstrcat3("double *", currentFunction->Name, "();");
8813 currentFunction->Comment = vtkstrdup(getComment());
8814 set_return(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 2);
8821 /* Line 936 of glr.c */
8822 #line 2963 "vtkParse.y"
8824 currentFunction->Macro = "vtkWorldCoordinateMacro";
8825 currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), "Coordinate");
8826 currentFunction->Signature =
8827 vtkstrcat3("vtkCoordinate *", currentFunction->Name, "();");
8828 currentFunction->Comment = vtkstrdup(getComment());
8829 set_return(currentFunction, VTK_PARSE_OBJECT_PTR, "vtkCoordinate", 0);
8832 currentFunction->Macro = "vtkWorldCoordinateMacro";
8833 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str));
8834 currentFunction->Signature =
8835 vtkstrcat3("void ", currentFunction->Name, "(double, double, double);");
8836 currentFunction->Comment = vtkstrdup(getComment());
8837 add_parameter(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
8838 add_parameter(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
8839 add_parameter(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
8840 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8843 currentFunction->Macro = "vtkWorldCoordinateMacro";
8844 currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str));
8845 currentFunction->Signature =
8846 vtkstrcat3("void ", currentFunction->Name, "(double a[3]);");
8847 currentFunction->Comment = vtkstrdup(getComment());
8848 add_parameter(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 3);
8849 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
8852 currentFunction->Macro = "vtkWorldCoordinateMacro";
8853 currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str));
8854 currentFunction->Signature =
8855 vtkstrcat3("double *", currentFunction->Name, "();");
8856 currentFunction->Comment = vtkstrdup(getComment());
8857 set_return(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 3);
8864 /* Line 936 of glr.c */
8865 #line 3001 "vtkParse.y"
8867 currentFunction->Macro = "vtkTypeMacro";
8868 currentFunction->Name = "GetClassName";
8869 currentFunction->Signature = "const char *GetClassName();";
8870 currentFunction->Comment = vtkstrdup(getComment());
8871 set_return(currentFunction, (VTK_PARSE_CONST | VTK_PARSE_CHAR_PTR),
8875 currentFunction->Macro = "vtkTypeMacro";
8876 currentFunction->Name = "IsA";
8877 currentFunction->Signature = "int IsA(const char *name);";
8878 currentFunction->Comment = vtkstrdup(getComment());
8879 add_parameter(currentFunction, (VTK_PARSE_CONST | VTK_PARSE_CHAR_PTR),
8881 set_return(currentFunction, VTK_PARSE_INT, "int", 0);
8884 currentFunction->Macro = "vtkTypeMacro";
8885 currentFunction->Name = "NewInstance";
8886 currentFunction->Signature = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), " *NewInstance();");
8887 currentFunction->Comment = vtkstrdup(getComment());
8888 set_return(currentFunction, VTK_PARSE_OBJECT_PTR, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), 0);
8891 currentFunction->Macro = "vtkTypeMacro";
8892 currentFunction->Name = "SafeDownCast";
8893 currentFunction->Signature =
8894 vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), " *SafeDownCast(vtkObject* o);");
8895 currentFunction->Comment = vtkstrdup(getComment());
8896 add_parameter(currentFunction, VTK_PARSE_OBJECT_PTR, "vtkObject", 0);
8897 set_return(currentFunction, (VTK_PARSE_STATIC | VTK_PARSE_OBJECT_PTR),
8898 (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), 0);
8905 /* Line 936 of glr.c */
8906 #line 3045 "vtkParse.y"
8907 { ((*yyvalp).str) = "()"; }
8912 /* Line 936 of glr.c */
8913 #line 3046 "vtkParse.y"
8914 { ((*yyvalp).str) = "[]"; }
8919 /* Line 936 of glr.c */
8920 #line 3047 "vtkParse.y"
8921 { ((*yyvalp).str) = " new[]"; }
8926 /* Line 936 of glr.c */
8927 #line 3048 "vtkParse.y"
8928 { ((*yyvalp).str) = " delete[]"; }
8933 /* Line 936 of glr.c */
8934 #line 3049 "vtkParse.y"
8935 { ((*yyvalp).str) = "<"; }
8940 /* Line 936 of glr.c */
8941 #line 3050 "vtkParse.y"
8942 { ((*yyvalp).str) = ">"; }
8947 /* Line 936 of glr.c */
8948 #line 3051 "vtkParse.y"
8949 { ((*yyvalp).str) = ","; }
8954 /* Line 936 of glr.c */
8955 #line 3052 "vtkParse.y"
8956 { ((*yyvalp).str) = "="; }
8961 /* Line 936 of glr.c */
8962 #line 3053 "vtkParse.y"
8963 { ((*yyvalp).str) = ">>"; }
8968 /* Line 936 of glr.c */
8969 #line 3054 "vtkParse.y"
8970 { ((*yyvalp).str) = ">>"; }
8975 /* Line 936 of glr.c */
8976 #line 3055 "vtkParse.y"
8977 { ((*yyvalp).str) = vtkstrcat("\"\" ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); }
8982 /* Line 936 of glr.c */
8983 #line 3059 "vtkParse.y"
8984 { ((*yyvalp).str) = "%"; }
8989 /* Line 936 of glr.c */
8990 #line 3060 "vtkParse.y"
8991 { ((*yyvalp).str) = "*"; }
8996 /* Line 936 of glr.c */
8997 #line 3061 "vtkParse.y"
8998 { ((*yyvalp).str) = "/"; }
9003 /* Line 936 of glr.c */
9004 #line 3062 "vtkParse.y"
9005 { ((*yyvalp).str) = "-"; }
9010 /* Line 936 of glr.c */
9011 #line 3063 "vtkParse.y"
9012 { ((*yyvalp).str) = "+"; }
9017 /* Line 936 of glr.c */
9018 #line 3064 "vtkParse.y"
9019 { ((*yyvalp).str) = "!"; }
9024 /* Line 936 of glr.c */
9025 #line 3065 "vtkParse.y"
9026 { ((*yyvalp).str) = "~"; }
9031 /* Line 936 of glr.c */
9032 #line 3066 "vtkParse.y"
9033 { ((*yyvalp).str) = "&"; }
9038 /* Line 936 of glr.c */
9039 #line 3067 "vtkParse.y"
9040 { ((*yyvalp).str) = "|"; }
9045 /* Line 936 of glr.c */
9046 #line 3068 "vtkParse.y"
9047 { ((*yyvalp).str) = "^"; }
9052 /* Line 936 of glr.c */
9053 #line 3069 "vtkParse.y"
9054 { ((*yyvalp).str) = " new"; }
9059 /* Line 936 of glr.c */
9060 #line 3070 "vtkParse.y"
9061 { ((*yyvalp).str) = " delete"; }
9066 /* Line 936 of glr.c */
9067 #line 3071 "vtkParse.y"
9068 { ((*yyvalp).str) = "<<="; }
9073 /* Line 936 of glr.c */
9074 #line 3072 "vtkParse.y"
9075 { ((*yyvalp).str) = ">>="; }
9080 /* Line 936 of glr.c */
9081 #line 3073 "vtkParse.y"
9082 { ((*yyvalp).str) = "<<"; }
9087 /* Line 936 of glr.c */
9088 #line 3074 "vtkParse.y"
9089 { ((*yyvalp).str) = ".*"; }
9094 /* Line 936 of glr.c */
9095 #line 3075 "vtkParse.y"
9096 { ((*yyvalp).str) = "->*"; }
9101 /* Line 936 of glr.c */
9102 #line 3076 "vtkParse.y"
9103 { ((*yyvalp).str) = "->"; }
9108 /* Line 936 of glr.c */
9109 #line 3077 "vtkParse.y"
9110 { ((*yyvalp).str) = "+="; }
9115 /* Line 936 of glr.c */
9116 #line 3078 "vtkParse.y"
9117 { ((*yyvalp).str) = "-="; }
9122 /* Line 936 of glr.c */
9123 #line 3079 "vtkParse.y"
9124 { ((*yyvalp).str) = "*="; }
9129 /* Line 936 of glr.c */
9130 #line 3080 "vtkParse.y"
9131 { ((*yyvalp).str) = "/="; }
9136 /* Line 936 of glr.c */
9137 #line 3081 "vtkParse.y"
9138 { ((*yyvalp).str) = "%="; }
9143 /* Line 936 of glr.c */
9144 #line 3082 "vtkParse.y"
9145 { ((*yyvalp).str) = "++"; }
9150 /* Line 936 of glr.c */
9151 #line 3083 "vtkParse.y"
9152 { ((*yyvalp).str) = "--"; }
9157 /* Line 936 of glr.c */
9158 #line 3084 "vtkParse.y"
9159 { ((*yyvalp).str) = "&="; }
9164 /* Line 936 of glr.c */
9165 #line 3085 "vtkParse.y"
9166 { ((*yyvalp).str) = "|="; }
9171 /* Line 936 of glr.c */
9172 #line 3086 "vtkParse.y"
9173 { ((*yyvalp).str) = "^="; }
9178 /* Line 936 of glr.c */
9179 #line 3087 "vtkParse.y"
9180 { ((*yyvalp).str) = "&&"; }
9185 /* Line 936 of glr.c */
9186 #line 3088 "vtkParse.y"
9187 { ((*yyvalp).str) = "||"; }
9192 /* Line 936 of glr.c */
9193 #line 3089 "vtkParse.y"
9194 { ((*yyvalp).str) = "=="; }
9199 /* Line 936 of glr.c */
9200 #line 3090 "vtkParse.y"
9201 { ((*yyvalp).str) = "!="; }
9206 /* Line 936 of glr.c */
9207 #line 3091 "vtkParse.y"
9208 { ((*yyvalp).str) = "<="; }
9213 /* Line 936 of glr.c */
9214 #line 3092 "vtkParse.y"
9215 { ((*yyvalp).str) = ">="; }
9220 /* Line 936 of glr.c */
9221 #line 3095 "vtkParse.y"
9222 { ((*yyvalp).str) = "typedef"; }
9227 /* Line 936 of glr.c */
9228 #line 3096 "vtkParse.y"
9229 { ((*yyvalp).str) = "typename"; }
9234 /* Line 936 of glr.c */
9235 #line 3097 "vtkParse.y"
9236 { ((*yyvalp).str) = "class"; }
9241 /* Line 936 of glr.c */
9242 #line 3098 "vtkParse.y"
9243 { ((*yyvalp).str) = "struct"; }
9248 /* Line 936 of glr.c */
9249 #line 3099 "vtkParse.y"
9250 { ((*yyvalp).str) = "union"; }
9255 /* Line 936 of glr.c */
9256 #line 3100 "vtkParse.y"
9257 { ((*yyvalp).str) = "template"; }
9262 /* Line 936 of glr.c */
9263 #line 3101 "vtkParse.y"
9264 { ((*yyvalp).str) = "public"; }
9269 /* Line 936 of glr.c */
9270 #line 3102 "vtkParse.y"
9271 { ((*yyvalp).str) = "protected"; }
9276 /* Line 936 of glr.c */
9277 #line 3103 "vtkParse.y"
9278 { ((*yyvalp).str) = "private"; }
9283 /* Line 936 of glr.c */
9284 #line 3104 "vtkParse.y"
9285 { ((*yyvalp).str) = "const"; }
9290 /* Line 936 of glr.c */
9291 #line 3105 "vtkParse.y"
9292 { ((*yyvalp).str) = "static"; }
9297 /* Line 936 of glr.c */
9298 #line 3106 "vtkParse.y"
9299 { ((*yyvalp).str) = "thread_local"; }
9304 /* Line 936 of glr.c */
9305 #line 3107 "vtkParse.y"
9306 { ((*yyvalp).str) = "constexpr"; }
9311 /* Line 936 of glr.c */
9312 #line 3108 "vtkParse.y"
9313 { ((*yyvalp).str) = "inline"; }
9318 /* Line 936 of glr.c */
9319 #line 3109 "vtkParse.y"
9320 { ((*yyvalp).str) = "virtual"; }
9325 /* Line 936 of glr.c */
9326 #line 3110 "vtkParse.y"
9327 { ((*yyvalp).str) = "explicit"; }
9332 /* Line 936 of glr.c */
9333 #line 3111 "vtkParse.y"
9334 { ((*yyvalp).str) = "decltype"; }
9339 /* Line 936 of glr.c */
9340 #line 3112 "vtkParse.y"
9341 { ((*yyvalp).str) = "default"; }
9346 /* Line 936 of glr.c */
9347 #line 3113 "vtkParse.y"
9348 { ((*yyvalp).str) = "extern"; }
9353 /* Line 936 of glr.c */
9354 #line 3114 "vtkParse.y"
9355 { ((*yyvalp).str) = "using"; }
9360 /* Line 936 of glr.c */
9361 #line 3115 "vtkParse.y"
9362 { ((*yyvalp).str) = "namespace"; }
9367 /* Line 936 of glr.c */
9368 #line 3116 "vtkParse.y"
9369 { ((*yyvalp).str) = "operator"; }
9374 /* Line 936 of glr.c */
9375 #line 3117 "vtkParse.y"
9376 { ((*yyvalp).str) = "enum"; }
9381 /* Line 936 of glr.c */
9382 #line 3118 "vtkParse.y"
9383 { ((*yyvalp).str) = "throw"; }
9388 /* Line 936 of glr.c */
9389 #line 3119 "vtkParse.y"
9390 { ((*yyvalp).str) = "noexcept"; }
9395 /* Line 936 of glr.c */
9396 #line 3120 "vtkParse.y"
9397 { ((*yyvalp).str) = "const_cast"; }
9402 /* Line 936 of glr.c */
9403 #line 3121 "vtkParse.y"
9404 { ((*yyvalp).str) = "dynamic_cast"; }
9409 /* Line 936 of glr.c */
9410 #line 3122 "vtkParse.y"
9411 { ((*yyvalp).str) = "static_cast"; }
9416 /* Line 936 of glr.c */
9417 #line 3123 "vtkParse.y"
9418 { ((*yyvalp).str) = "reinterpret_cast"; }
9423 /* Line 936 of glr.c */
9424 #line 3146 "vtkParse.y"
9430 /* Line 936 of glr.c */
9431 #line 3147 "vtkParse.y"
9437 /* Line 936 of glr.c */
9438 #line 3148 "vtkParse.y"
9444 /* Line 936 of glr.c */
9445 #line 3152 "vtkParse.y"
9446 { chopSig(); postSig("::"); }
9451 /* Line 936 of glr.c */
9452 #line 3159 "vtkParse.y"
9454 if ((((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[0] == '+' || ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[0] == '-' ||
9455 ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[0] == '*' || ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[0] == '&') &&
9456 ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[1] == '\0')
9464 if (l != 0) { c1 = cp[l-1]; }
9465 if (c1 != 0 && c1 != '(' && c1 != '[' && c1 != '=')
9469 postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str));
9470 if (vtkParse_CharType(c1, (CPRE_IDGIT|CPRE_QUOTE)) ||
9471 c1 == ')' || c1 == ']')
9478 postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str));
9486 /* Line 936 of glr.c */
9487 #line 3188 "vtkParse.y"
9488 { postSig(":"); postSig(" "); }
9493 /* Line 936 of glr.c */
9494 #line 3188 "vtkParse.y"
9500 /* Line 936 of glr.c */
9501 #line 3189 "vtkParse.y"
9502 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig(" "); }
9507 /* Line 936 of glr.c */
9508 #line 3190 "vtkParse.y"
9509 { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig(" "); }
9514 /* Line 936 of glr.c */
9515 #line 3193 "vtkParse.y"
9523 if (l != 0) { c1 = cp[l-1]; }
9524 while (vtkParse_CharType(c1, CPRE_IDGIT) && l != 0)
9529 if (l < 2 || cp[l-1] != ':' || cp[l-2] != ':')
9531 cp = add_const_scope(&cp[l]);
9541 /* Line 936 of glr.c */
9542 #line 3220 "vtkParse.y"
9548 /* Line 936 of glr.c */
9549 #line 3221 "vtkParse.y"
9555 /* Line 936 of glr.c */
9556 #line 3222 "vtkParse.y"
9562 /* Line 936 of glr.c */
9563 #line 3226 "vtkParse.y"
9569 /* Line 936 of glr.c */
9570 #line 3227 "vtkParse.y"
9571 { chopSig(); postSig(", "); }
9576 /* Line 936 of glr.c */
9577 #line 3231 "vtkParse.y"
9578 { chopSig(); postSig(";"); }
9583 /* Line 936 of glr.c */
9584 #line 3245 "vtkParse.y"
9590 /* Line 936 of glr.c */
9591 #line 3246 "vtkParse.y"
9592 { chopSig(); postSig(", "); }
9597 /* Line 936 of glr.c */
9598 #line 3250 "vtkParse.y"
9601 if (getSig()[getSigLength()-1] == '<') { postSig(" "); }
9608 /* Line 936 of glr.c */
9609 #line 3256 "vtkParse.y"
9612 if (getSig()[getSigLength()-1] == '>') { postSig(" "); }
9619 /* Line 936 of glr.c */
9620 #line 3267 "vtkParse.y"
9626 /* Line 936 of glr.c */
9627 #line 3268 "vtkParse.y"
9628 { chopSig(); postSig("] "); }
9633 /* Line 936 of glr.c */
9634 #line 3269 "vtkParse.y"
9640 /* Line 936 of glr.c */
9641 #line 3270 "vtkParse.y"
9642 { chopSig(); postSig("]] "); }
9647 /* Line 936 of glr.c */
9648 #line 3273 "vtkParse.y"
9654 /* Line 936 of glr.c */
9655 #line 3274 "vtkParse.y"
9656 { chopSig(); postSig(") "); }
9661 /* Line 936 of glr.c */
9662 #line 3275 "vtkParse.y"
9663 { postSig("("); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig("*"); }
9668 /* Line 936 of glr.c */
9669 #line 3276 "vtkParse.y"
9670 { chopSig(); postSig(") "); }
9675 /* Line 936 of glr.c */
9676 #line 3277 "vtkParse.y"
9677 { postSig("("); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig("&"); }
9682 /* Line 936 of glr.c */
9683 #line 3278 "vtkParse.y"
9684 { chopSig(); postSig(") "); }
9689 /* Line 936 of glr.c */
9690 #line 3281 "vtkParse.y"
9696 /* Line 936 of glr.c */
9697 #line 3281 "vtkParse.y"
9703 /* Line 936 of glr.c */
9704 #line 9710 "vtkParse.tab.c"
9715 # undef YYRECOVERING
9719 /*ARGSUSED*/ static void
9720 yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
9732 /* Bison grammar-table manipulation. */
9734 /*-----------------------------------------------.
9735 | Release the memory associated to this symbol. |
9736 `-----------------------------------------------*/
9740 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
9746 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
9756 /** Number of symbols composing the right hand side of rule #RULE. */
9758 yyrhsLength (yyRuleNum yyrule)
9760 return yyr2[yyrule];
9764 yydestroyGLRState (char const *yymsg, yyGLRState *yys)
9766 if (yys->yyresolved)
9767 yydestruct (yymsg, yystos[yys->yylrState],
9768 &yys->yysemantics.yysval);
9774 if (yys->yysemantics.yyfirstVal)
9775 YYFPRINTF (stderr, "%s unresolved ", yymsg);
9777 YYFPRINTF (stderr, "%s incomplete ", yymsg);
9778 yy_symbol_print (stderr, yystos[yys->yylrState],
9780 YYFPRINTF (stderr, "\n");
9784 if (yys->yysemantics.yyfirstVal)
9786 yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
9789 for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
9791 yyrh = yyrh->yypred, yyn -= 1)
9792 yydestroyGLRState (yymsg, yyrh);
9797 /** Left-hand-side symbol for rule #RULE. */
9799 yylhsNonterm (yyRuleNum yyrule)
9801 return yyr1[yyrule];
9804 #define yyis_pact_ninf(yystate) \
9805 ((yystate) == YYPACT_NINF)
9807 /** True iff LR state STATE has only a default reduction (regardless
9810 yyisDefaultedState (yyStateNum yystate)
9812 return yyis_pact_ninf (yypact[yystate]);
9815 /** The default reduction for STATE, assuming it has one. */
9817 yydefaultAction (yyStateNum yystate)
9819 return yydefact[yystate];
9822 #define yyis_table_ninf(yytable_value) \
9825 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
9827 * R < 0: Reduce on rule -R.
9829 * R > 0: Shift to state R.
9830 * Set *CONFLICTS to a pointer into yyconfl to 0-terminated list of
9831 * conflicting reductions.
9834 yygetLRActions (yyStateNum yystate, int yytoken,
9835 int* yyaction, const short int** yyconflicts)
9837 int yyindex = yypact[yystate] + yytoken;
9838 if (yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
9840 *yyaction = -yydefact[yystate];
9841 *yyconflicts = yyconfl;
9843 else if (! yyis_table_ninf (yytable[yyindex]))
9845 *yyaction = yytable[yyindex];
9846 *yyconflicts = yyconfl + yyconflp[yyindex];
9851 *yyconflicts = yyconfl + yyconflp[yyindex];
9856 yyLRgotoState (yyStateNum yystate, yySymbol yylhs)
9859 yyr = yypgoto[yylhs - YYNTOKENS] + yystate;
9860 if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
9861 return yytable[yyr];
9863 return yydefgoto[yylhs - YYNTOKENS];
9867 yyisShiftAction (int yyaction)
9869 return 0 < yyaction;
9873 yyisErrorAction (int yyaction)
9875 return yyaction == 0;
9880 /** Return a fresh GLRStackItem. Callers should call
9881 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
9884 static yyGLRStackItem*
9885 yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
9887 yyGLRStackItem* yynewItem = yystackp->yynextFree;
9888 yystackp->yyspaceLeft -= 1;
9889 yystackp->yynextFree += 1;
9890 yynewItem->yystate.yyisState = yyisState;
9894 /** Add a new semantic action that will execute the action for rule
9895 * RULENUM on the semantic values in RHS to the list of
9896 * alternative actions for STATE. Assumes that RHS comes from
9897 * stack #K of *STACKP. */
9899 yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
9900 yyGLRState* rhs, yyRuleNum yyrule)
9902 yySemanticOption* yynewOption =
9903 &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
9904 yynewOption->yystate = rhs;
9905 yynewOption->yyrule = yyrule;
9906 if (yystackp->yytops.yylookaheadNeeds[yyk])
9908 yynewOption->yyrawchar = yychar;
9909 yynewOption->yyval = yylval;
9910 yynewOption->yyloc = yylloc;
9913 yynewOption->yyrawchar = YYEMPTY;
9914 yynewOption->yynext = yystate->yysemantics.yyfirstVal;
9915 yystate->yysemantics.yyfirstVal = yynewOption;
9917 YY_RESERVE_GLRSTACK (yystackp);
9922 /** Initialize SET to a singleton set containing an empty stack. */
9924 yyinitStateSet (yyGLRStateSet* yyset)
9927 yyset->yycapacity = 16;
9928 yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
9929 if (! yyset->yystates)
9931 yyset->yystates[0] = NULL;
9932 yyset->yylookaheadNeeds =
9933 (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
9934 if (! yyset->yylookaheadNeeds)
9936 YYFREE (yyset->yystates);
9942 static void yyfreeStateSet (yyGLRStateSet* yyset)
9944 YYFREE (yyset->yystates);
9945 YYFREE (yyset->yylookaheadNeeds);
9948 /** Initialize STACK to a single empty stack, with total maximum
9949 * capacity for all stacks of SIZE. */
9951 yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
9953 yystackp->yyerrState = 0;
9955 yystackp->yyspaceLeft = yysize;
9957 (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
9958 if (!yystackp->yyitems)
9960 yystackp->yynextFree = yystackp->yyitems;
9961 yystackp->yysplitPoint = NULL;
9962 yystackp->yylastDeleted = NULL;
9963 return yyinitStateSet (&yystackp->yytops);
9967 #if YYSTACKEXPANDABLE
9968 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
9969 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
9971 /** If STACK is expandable, extend it. WARNING: Pointers into the
9972 stack from outside should be considered invalid after this call.
9973 We always expand when there are 1 or fewer items left AFTER an
9974 allocation, so that we can avoid having external pointers exist
9975 across an allocation. */
9977 yyexpandGLRStack (yyGLRStack* yystackp)
9979 yyGLRStackItem* yynewItems;
9980 yyGLRStackItem* yyp0, *yyp1;
9981 size_t yysize, yynewSize;
9983 yysize = yystackp->yynextFree - yystackp->yyitems;
9984 if (YYMAXDEPTH - YYHEADROOM < yysize)
9985 yyMemoryExhausted (yystackp);
9986 yynewSize = 2*yysize;
9987 if (YYMAXDEPTH < yynewSize)
9988 yynewSize = YYMAXDEPTH;
9989 yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
9991 yyMemoryExhausted (yystackp);
9992 for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
9994 yyn -= 1, yyp0 += 1, yyp1 += 1)
9997 if (*(yybool *) yyp0)
9999 yyGLRState* yys0 = &yyp0->yystate;
10000 yyGLRState* yys1 = &yyp1->yystate;
10001 if (yys0->yypred != NULL)
10003 YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
10004 if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != NULL)
10005 yys1->yysemantics.yyfirstVal =
10006 YYRELOC(yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
10010 yySemanticOption* yyv0 = &yyp0->yyoption;
10011 yySemanticOption* yyv1 = &yyp1->yyoption;
10012 if (yyv0->yystate != NULL)
10013 yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
10014 if (yyv0->yynext != NULL)
10015 yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
10018 if (yystackp->yysplitPoint != NULL)
10019 yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
10020 yystackp->yysplitPoint, yystate);
10022 for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
10023 if (yystackp->yytops.yystates[yyn] != NULL)
10024 yystackp->yytops.yystates[yyn] =
10025 YYRELOC (yystackp->yyitems, yynewItems,
10026 yystackp->yytops.yystates[yyn], yystate);
10027 YYFREE (yystackp->yyitems);
10028 yystackp->yyitems = yynewItems;
10029 yystackp->yynextFree = yynewItems + yysize;
10030 yystackp->yyspaceLeft = yynewSize - yysize;
10035 yyfreeGLRStack (yyGLRStack* yystackp)
10037 YYFREE (yystackp->yyitems);
10038 yyfreeStateSet (&yystackp->yytops);
10041 /** Assuming that S is a GLRState somewhere on STACK, update the
10042 * splitpoint of STACK, if needed, so that it is at least as deep as
10045 yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
10047 if (yystackp->yysplitPoint != NULL && yystackp->yysplitPoint > yys)
10048 yystackp->yysplitPoint = yys;
10051 /** Invalidate stack #K in STACK. */
10053 yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
10055 if (yystackp->yytops.yystates[yyk] != NULL)
10056 yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
10057 yystackp->yytops.yystates[yyk] = NULL;
10060 /** Undelete the last stack that was marked as deleted. Can only be
10061 done once after a deletion, and only when all other stacks have
10064 yyundeleteLastStack (yyGLRStack* yystackp)
10066 if (yystackp->yylastDeleted == NULL || yystackp->yytops.yysize != 0)
10068 yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
10069 yystackp->yytops.yysize = 1;
10070 YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
10071 yystackp->yylastDeleted = NULL;
10075 yyremoveDeletes (yyGLRStack* yystackp)
10079 while (yyj < yystackp->yytops.yysize)
10081 if (yystackp->yytops.yystates[yyi] == NULL)
10085 YYDPRINTF ((stderr, "Removing dead stacks.\n"));
10087 yystackp->yytops.yysize -= 1;
10091 yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
10092 /* In the current implementation, it's unnecessary to copy
10093 yystackp->yytops.yylookaheadNeeds[yyi] since, after
10094 yyremoveDeletes returns, the parser immediately either enters
10095 deterministic operation or shifts a token. However, it doesn't
10096 hurt, and the code might evolve to need it. */
10097 yystackp->yytops.yylookaheadNeeds[yyj] =
10098 yystackp->yytops.yylookaheadNeeds[yyi];
10101 YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
10102 (unsigned long int) yyi, (unsigned long int) yyj));
10110 /** Shift to a new state on stack #K of STACK, corresponding to LR state
10111 * LRSTATE, at input position POSN, with (resolved) semantic value SVAL. */
10113 yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
10115 YYSTYPE* yyvalp, YYLTYPE* yylocp)
10117 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
10119 yynewState->yylrState = yylrState;
10120 yynewState->yyposn = yyposn;
10121 yynewState->yyresolved = yytrue;
10122 yynewState->yypred = yystackp->yytops.yystates[yyk];
10123 yynewState->yysemantics.yysval = *yyvalp;
10124 yynewState->yyloc = *yylocp;
10125 yystackp->yytops.yystates[yyk] = yynewState;
10127 YY_RESERVE_GLRSTACK (yystackp);
10130 /** Shift stack #K of YYSTACK, to a new state corresponding to LR
10131 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
10132 * semantic value of YYRHS under the action for YYRULE. */
10134 yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
10135 size_t yyposn, yyGLRState* rhs, yyRuleNum yyrule)
10137 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
10139 yynewState->yylrState = yylrState;
10140 yynewState->yyposn = yyposn;
10141 yynewState->yyresolved = yyfalse;
10142 yynewState->yypred = yystackp->yytops.yystates[yyk];
10143 yynewState->yysemantics.yyfirstVal = NULL;
10144 yystackp->yytops.yystates[yyk] = yynewState;
10146 /* Invokes YY_RESERVE_GLRSTACK. */
10147 yyaddDeferredAction (yystackp, yyk, yynewState, rhs, yyrule);
10150 /** Pop the symbols consumed by reduction #RULE from the top of stack
10151 * #K of STACK, and perform the appropriate semantic action on their
10152 * semantic values. Assumes that all ambiguities in semantic values
10153 * have been previously resolved. Set *VALP to the resulting value,
10154 * and *LOCP to the computed location (if any). Return value is as
10155 * for userAction. */
10157 yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
10158 YYSTYPE* yyvalp, YYLTYPE* yylocp)
10160 int yynrhs = yyrhsLength (yyrule);
10162 if (yystackp->yysplitPoint == NULL)
10164 /* Standard special case: single stack. */
10165 yyGLRStackItem* rhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
10166 YYASSERT (yyk == 0);
10167 yystackp->yynextFree -= yynrhs;
10168 yystackp->yyspaceLeft += yynrhs;
10169 yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
10170 return yyuserAction (yyrule, yynrhs, rhs,
10171 yyvalp, yylocp, yystackp);
10175 /* At present, doAction is never called in nondeterministic
10176 * mode, so this branch is never taken. It is here in
10177 * anticipation of a future feature that will allow immediate
10178 * evaluation of selected actions in nondeterministic mode. */
10181 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
10182 yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
10183 = yystackp->yytops.yystates[yyk];
10184 for (yyi = 0; yyi < yynrhs; yyi += 1)
10189 yyupdateSplit (yystackp, yys);
10190 yystackp->yytops.yystates[yyk] = yys;
10191 return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
10192 yyvalp, yylocp, yystackp);
10197 # define YY_REDUCE_PRINT(Args)
10199 # define YY_REDUCE_PRINT(Args) \
10202 yy_reduce_print Args; \
10205 /*----------------------------------------------------------.
10206 | Report that the RULE is going to be reduced on stack #K. |
10207 `----------------------------------------------------------*/
10209 /*ARGSUSED*/ static void
10210 yy_reduce_print (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
10211 YYSTYPE* yyvalp, YYLTYPE* yylocp)
10213 int yynrhs = yyrhsLength (yyrule);
10214 yybool yynormal __attribute__ ((__unused__)) =
10215 (yystackp->yysplitPoint == NULL);
10216 yyGLRStackItem* yyvsp = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
10221 YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
10222 (unsigned long int) yyk, yyrule - 1,
10223 (unsigned long int) yyrline[yyrule]);
10224 /* The symbols being reduced. */
10225 for (yyi = 0; yyi < yynrhs; yyi++)
10227 YYFPRINTF (stderr, " $%d = ", yyi + 1);
10228 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
10229 &(((yyGLRStackItem const *)yyvsp)[YYFILL ((yyi + 1) - (yynrhs))].yystate.yysemantics.yysval)
10231 YYFPRINTF (stderr, "\n");
10236 /** Pop items off stack #K of STACK according to grammar rule RULE,
10237 * and push back on the resulting nonterminal symbol. Perform the
10238 * semantic action associated with RULE and store its value with the
10239 * newly pushed state, if FORCEEVAL or if STACK is currently
10240 * unambiguous. Otherwise, store the deferred semantic action with
10241 * the new state. If the new state would have an identical input
10242 * position, LR state, and predecessor to an existing state on the stack,
10243 * it is identified with that existing state, eliminating stack #K from
10244 * the STACK. In this case, the (necessarily deferred) semantic value is
10245 * added to the options for the existing state's semantic value.
10248 yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
10249 yybool yyforceEval)
10251 size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
10253 if (yyforceEval || yystackp->yysplitPoint == NULL)
10256 YYLTYPE yyloc = {0};
10258 YY_REDUCE_PRINT ((yystackp, yyk, yyrule, &yysval, &yyloc));
10259 YYCHK (yydoAction (yystackp, yyk, yyrule, &yysval,
10261 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
10262 yyglrShift (yystackp, yyk,
10263 yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
10264 yylhsNonterm (yyrule)),
10265 yyposn, &yysval, &yyloc);
10271 yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
10272 yyStateNum yynewLRState;
10274 for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
10280 yyupdateSplit (yystackp, yys);
10281 yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
10282 YYDPRINTF ((stderr,
10283 "Reduced stack %lu by rule #%d; action deferred. Now in state %d.\n",
10284 (unsigned long int) yyk, yyrule - 1, yynewLRState));
10285 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
10286 if (yyi != yyk && yystackp->yytops.yystates[yyi] != NULL)
10288 yyGLRState* yyp, *yysplit = yystackp->yysplitPoint;
10289 yyp = yystackp->yytops.yystates[yyi];
10290 while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
10292 if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
10294 yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
10295 yymarkStackDeleted (yystackp, yyk);
10296 YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
10297 (unsigned long int) yyk,
10298 (unsigned long int) yyi));
10304 yystackp->yytops.yystates[yyk] = yys;
10305 yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
10311 yysplitStack (yyGLRStack* yystackp, size_t yyk)
10313 if (yystackp->yysplitPoint == NULL)
10315 YYASSERT (yyk == 0);
10316 yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
10318 if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
10320 yyGLRState** yynewStates;
10321 yybool* yynewLookaheadNeeds;
10323 yynewStates = NULL;
10325 if (yystackp->yytops.yycapacity
10326 > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
10327 yyMemoryExhausted (yystackp);
10328 yystackp->yytops.yycapacity *= 2;
10331 (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
10332 (yystackp->yytops.yycapacity
10333 * sizeof yynewStates[0]));
10334 if (yynewStates == NULL)
10335 yyMemoryExhausted (yystackp);
10336 yystackp->yytops.yystates = yynewStates;
10338 yynewLookaheadNeeds =
10339 (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
10340 (yystackp->yytops.yycapacity
10341 * sizeof yynewLookaheadNeeds[0]));
10342 if (yynewLookaheadNeeds == NULL)
10343 yyMemoryExhausted (yystackp);
10344 yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
10346 yystackp->yytops.yystates[yystackp->yytops.yysize]
10347 = yystackp->yytops.yystates[yyk];
10348 yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
10349 = yystackp->yytops.yylookaheadNeeds[yyk];
10350 yystackp->yytops.yysize += 1;
10351 return yystackp->yytops.yysize-1;
10354 /** True iff Y0 and Y1 represent identical options at the top level.
10355 * That is, they represent the same rule applied to RHS symbols
10356 * that produce the same terminal symbols. */
10358 yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
10360 if (yyy0->yyrule == yyy1->yyrule)
10362 yyGLRState *yys0, *yys1;
10364 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
10365 yyn = yyrhsLength (yyy0->yyrule);
10367 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
10368 if (yys0->yyposn != yys1->yyposn)
10376 /** Assuming identicalOptions (Y0,Y1), destructively merge the
10377 * alternative semantic values for the RHS-symbols of Y1 and Y0. */
10379 yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
10381 yyGLRState *yys0, *yys1;
10383 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
10384 yyn = yyrhsLength (yyy0->yyrule);
10386 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
10390 else if (yys0->yyresolved)
10392 yys1->yyresolved = yytrue;
10393 yys1->yysemantics.yysval = yys0->yysemantics.yysval;
10395 else if (yys1->yyresolved)
10397 yys0->yyresolved = yytrue;
10398 yys0->yysemantics.yysval = yys1->yysemantics.yysval;
10402 yySemanticOption** yyz0p;
10403 yySemanticOption* yyz1;
10404 yyz0p = &yys0->yysemantics.yyfirstVal;
10405 yyz1 = yys1->yysemantics.yyfirstVal;
10406 while (YYID (yytrue))
10408 if (yyz1 == *yyz0p || yyz1 == NULL)
10410 else if (*yyz0p == NULL)
10415 else if (*yyz0p < yyz1)
10417 yySemanticOption* yyz = *yyz0p;
10419 yyz1 = yyz1->yynext;
10420 (*yyz0p)->yynext = yyz;
10422 yyz0p = &(*yyz0p)->yynext;
10424 yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
10429 /** Y0 and Y1 represent two possible actions to take in a given
10430 * parsing state; return 0 if no combination is possible,
10431 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
10433 yypreference (yySemanticOption* y0, yySemanticOption* y1)
10435 yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
10436 int p0 = yydprec[r0], p1 = yydprec[r1];
10440 if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
10445 if (p0 == 0 || p1 == 0)
10454 static YYRESULTTAG yyresolveValue (yyGLRState* yys,
10455 yyGLRStack* yystackp);
10458 /** Resolve the previous N states starting at and including state S. If result
10459 * != yyok, some states may have been left unresolved possibly with empty
10460 * semantic option chains. Regardless of whether result = yyok, each state
10461 * has been left with consistent data so that yydestroyGLRState can be invoked
10464 yyresolveStates (yyGLRState* yys, int yyn,
10465 yyGLRStack* yystackp)
10469 YYASSERT (yys->yypred);
10470 YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp));
10471 if (! yys->yyresolved)
10472 YYCHK (yyresolveValue (yys, yystackp));
10477 /** Resolve the states for the RHS of OPT, perform its user action, and return
10478 * the semantic value and location. Regardless of whether result = yyok, all
10479 * RHS states have been destroyed (assuming the user action destroys all RHS
10480 * semantic values if invoked). */
10482 yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
10483 YYSTYPE* yyvalp, YYLTYPE* yylocp)
10485 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
10487 int yychar_current;
10488 YYSTYPE yylval_current;
10489 YYLTYPE yylloc_current;
10490 YYRESULTTAG yyflag;
10492 yynrhs = yyrhsLength (yyopt->yyrule);
10493 yyflag = yyresolveStates (yyopt->yystate, yynrhs, yystackp);
10494 if (yyflag != yyok)
10497 for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
10498 yydestroyGLRState ("Cleanup: popping", yys);
10502 yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;
10503 yychar_current = yychar;
10504 yylval_current = yylval;
10505 yylloc_current = yylloc;
10506 yychar = yyopt->yyrawchar;
10507 yylval = yyopt->yyval;
10508 yylloc = yyopt->yyloc;
10509 yyflag = yyuserAction (yyopt->yyrule, yynrhs,
10510 yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
10511 yyvalp, yylocp, yystackp);
10512 yychar = yychar_current;
10513 yylval = yylval_current;
10514 yylloc = yylloc_current;
10520 yyreportTree (yySemanticOption* yyx, int yyindent)
10522 int yynrhs = yyrhsLength (yyx->yyrule);
10525 yyGLRState* yystates[1 + YYMAXRHS];
10526 yyGLRState yyleftmost_state;
10528 for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
10529 yystates[yyi] = yys;
10532 yyleftmost_state.yyposn = 0;
10533 yystates[0] = &yyleftmost_state;
10538 if (yyx->yystate->yyposn < yys->yyposn + 1)
10539 YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
10540 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
10543 YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
10544 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
10545 yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
10546 (unsigned long int) yyx->yystate->yyposn);
10547 for (yyi = 1; yyi <= yynrhs; yyi += 1)
10549 if (yystates[yyi]->yyresolved)
10551 if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
10552 YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
10553 yytokenName (yyrhs[yyprhs[yyx->yyrule]+yyi-1]));
10555 YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
10556 yytokenName (yyrhs[yyprhs[yyx->yyrule]+yyi-1]),
10557 (unsigned long int) (yystates[yyi - 1]->yyposn + 1),
10558 (unsigned long int) yystates[yyi]->yyposn);
10561 yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
10566 /*ARGSUSED*/ static YYRESULTTAG
10567 yyreportAmbiguity (yySemanticOption* yyx0,
10568 yySemanticOption* yyx1)
10574 YYFPRINTF (stderr, "Ambiguity detected.\n");
10575 YYFPRINTF (stderr, "Option 1,\n");
10576 yyreportTree (yyx0, 2);
10577 YYFPRINTF (stderr, "\nOption 2,\n");
10578 yyreportTree (yyx1, 2);
10579 YYFPRINTF (stderr, "\n");
10582 yyerror (YY_("syntax is ambiguous"));
10586 /** Starting at and including state S1, resolve the location for each of the
10587 * previous N1 states that is unresolved. The first semantic option of a state
10588 * is always chosen. */
10590 yyresolveLocations (yyGLRState* yys1, int yyn1,
10591 yyGLRStack *yystackp)
10595 yyresolveLocations (yys1->yypred, yyn1 - 1, yystackp);
10596 if (!yys1->yyresolved)
10598 yySemanticOption *yyoption;
10599 yyGLRStackItem yyrhsloc[1 + YYMAXRHS];
10601 int yychar_current;
10602 YYSTYPE yylval_current;
10603 YYLTYPE yylloc_current;
10604 yyoption = yys1->yysemantics.yyfirstVal;
10605 YYASSERT (yyoption != NULL);
10606 yynrhs = yyrhsLength (yyoption->yyrule);
10611 yyresolveLocations (yyoption->yystate, yynrhs,
10613 for (yys = yyoption->yystate, yyn = yynrhs;
10615 yys = yys->yypred, yyn -= 1)
10616 yyrhsloc[yyn].yystate.yyloc = yys->yyloc;
10620 /* Both yyresolveAction and yyresolveLocations traverse the GSS
10621 in reverse rightmost order. It is only necessary to invoke
10622 yyresolveLocations on a subforest for which yyresolveAction
10623 would have been invoked next had an ambiguity not been
10624 detected. Thus the location of the previous state (but not
10625 necessarily the previous state itself) is guaranteed to be
10626 resolved already. */
10627 yyGLRState *yyprevious = yyoption->yystate;
10628 yyrhsloc[0].yystate.yyloc = yyprevious->yyloc;
10630 yychar_current = yychar;
10631 yylval_current = yylval;
10632 yylloc_current = yylloc;
10633 yychar = yyoption->yyrawchar;
10634 yylval = yyoption->yyval;
10635 yylloc = yyoption->yyloc;
10636 YYLLOC_DEFAULT ((yys1->yyloc), yyrhsloc, yynrhs);
10637 yychar = yychar_current;
10638 yylval = yylval_current;
10639 yylloc = yylloc_current;
10644 /** Resolve the ambiguity represented in state S, perform the indicated
10645 * actions, and set the semantic value of S. If result != yyok, the chain of
10646 * semantic options in S has been cleared instead or it has been left
10647 * unmodified except that redundant options may have been removed. Regardless
10648 * of whether result = yyok, S has been left with consistent data so that
10649 * yydestroyGLRState can be invoked if necessary. */
10651 yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp)
10653 yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
10654 yySemanticOption* yybest;
10655 yySemanticOption** yypp;
10658 YYRESULTTAG yyflag;
10659 YYLTYPE *yylocp = &yys->yyloc;
10661 yybest = yyoptionList;
10663 for (yypp = &yyoptionList->yynext; *yypp != NULL; )
10665 yySemanticOption* yyp = *yypp;
10667 if (yyidenticalOptions (yybest, yyp))
10669 yymergeOptionSets (yybest, yyp);
10670 *yypp = yyp->yynext;
10674 switch (yypreference (yybest, yyp))
10677 yyresolveLocations (yys, 1, yystackp);
10678 return yyreportAmbiguity (yybest, yyp);
10690 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
10691 but some compilers complain if the default case is
10695 yypp = &yyp->yynext;
10701 yySemanticOption* yyp;
10702 int yyprec = yydprec[yybest->yyrule];
10703 yyflag = yyresolveAction (yybest, yystackp, &yysval,
10705 if (yyflag == yyok)
10706 for (yyp = yybest->yynext; yyp != NULL; yyp = yyp->yynext)
10708 if (yyprec == yydprec[yyp->yyrule])
10710 YYSTYPE yysval_other;
10712 yyflag = yyresolveAction (yyp, yystackp, &yysval_other,
10714 if (yyflag != yyok)
10716 yydestruct ("Cleanup: discarding incompletely merged value for",
10717 yystos[yys->yylrState],
10721 yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
10726 yyflag = yyresolveAction (yybest, yystackp, &yysval, yylocp);
10728 if (yyflag == yyok)
10730 yys->yyresolved = yytrue;
10731 yys->yysemantics.yysval = yysval;
10734 yys->yysemantics.yyfirstVal = NULL;
10739 yyresolveStack (yyGLRStack* yystackp)
10741 if (yystackp->yysplitPoint != NULL)
10746 for (yyn = 0, yys = yystackp->yytops.yystates[0];
10747 yys != yystackp->yysplitPoint;
10748 yys = yys->yypred, yyn += 1)
10750 YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
10757 yycompressStack (yyGLRStack* yystackp)
10759 yyGLRState* yyp, *yyq, *yyr;
10761 if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == NULL)
10764 for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = NULL;
10765 yyp != yystackp->yysplitPoint;
10766 yyr = yyp, yyp = yyq, yyq = yyp->yypred)
10769 yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
10770 yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
10771 yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
10772 yystackp->yysplitPoint = NULL;
10773 yystackp->yylastDeleted = NULL;
10775 while (yyr != NULL)
10777 yystackp->yynextFree->yystate = *yyr;
10779 yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
10780 yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
10781 yystackp->yynextFree += 1;
10782 yystackp->yyspaceLeft -= 1;
10787 yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
10791 const short int* yyconflicts;
10794 while (yystackp->yytops.yystates[yyk] != NULL)
10796 yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
10797 YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
10798 (unsigned long int) yyk, yystate));
10800 YYASSERT (yystate != YYFINAL);
10802 if (yyisDefaultedState (yystate))
10804 yyrule = yydefaultAction (yystate);
10807 YYDPRINTF ((stderr, "Stack %lu dies.\n",
10808 (unsigned long int) yyk));
10809 yymarkStackDeleted (yystackp, yyk);
10812 YYCHK (yyglrReduce (yystackp, yyk, yyrule, yyfalse));
10817 yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
10818 if (yychar == YYEMPTY)
10820 YYDPRINTF ((stderr, "Reading a token: "));
10824 if (yychar <= YYEOF)
10826 yychar = yytoken = YYEOF;
10827 YYDPRINTF ((stderr, "Now at end of input.\n"));
10831 yytoken = YYTRANSLATE (yychar);
10832 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
10835 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
10837 while (*yyconflicts != 0)
10839 size_t yynewStack = yysplitStack (yystackp, yyk);
10840 YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
10841 (unsigned long int) yynewStack,
10842 (unsigned long int) yyk));
10843 YYCHK (yyglrReduce (yystackp, yynewStack,
10844 *yyconflicts, yyfalse));
10845 YYCHK (yyprocessOneStack (yystackp, yynewStack,
10850 if (yyisShiftAction (yyaction))
10852 else if (yyisErrorAction (yyaction))
10854 YYDPRINTF ((stderr, "Stack %lu dies.\n",
10855 (unsigned long int) yyk));
10856 yymarkStackDeleted (yystackp, yyk);
10860 YYCHK (yyglrReduce (yystackp, yyk, -yyaction,
10867 /*ARGSUSED*/ static void
10868 yyreportSyntaxError (yyGLRStack* yystackp)
10870 if (yystackp->yyerrState == 0)
10872 #if YYERROR_VERBOSE
10874 yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
10875 if (YYPACT_NINF < yyn && yyn <= YYLAST)
10877 yySymbol yytoken = YYTRANSLATE (yychar);
10878 size_t yysize0 = yytnamerr (NULL, yytokenName (yytoken));
10879 size_t yysize = yysize0;
10881 yybool yysize_overflow = yyfalse;
10882 char* yymsg = NULL;
10883 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
10884 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
10888 static char const yyunexpected[] = "syntax error, unexpected %s";
10889 static char const yyexpecting[] = ", expecting %s";
10890 static char const yyor[] = " or %s";
10891 char yyformat[sizeof yyunexpected
10892 + sizeof yyexpecting - 1
10893 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
10894 * (sizeof yyor - 1))];
10895 char const *yyprefix = yyexpecting;
10897 /* Start YYX at -YYN if negative to avoid negative indexes in
10899 int yyxbegin = yyn < 0 ? -yyn : 0;
10901 /* Stay within bounds of both yycheck and yytname. */
10902 int yychecklim = YYLAST - yyn + 1;
10903 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
10906 yyarg[0] = yytokenName (yytoken);
10907 yyfmt = yystpcpy (yyformat, yyunexpected);
10909 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
10910 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
10912 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
10916 yyformat[sizeof yyunexpected - 1] = '\0';
10919 yyarg[yycount++] = yytokenName (yyx);
10920 yysize1 = yysize + yytnamerr (NULL, yytokenName (yyx));
10921 yysize_overflow |= yysize1 < yysize;
10923 yyfmt = yystpcpy (yyfmt, yyprefix);
10927 yyf = YY_(yyformat);
10928 yysize1 = yysize + strlen (yyf);
10929 yysize_overflow |= yysize1 < yysize;
10932 if (!yysize_overflow)
10933 yymsg = (char *) YYMALLOC (yysize);
10939 while ((*yyp = *yyf))
10941 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
10943 yyp += yytnamerr (yyp, yyarg[yyi++]);
10957 yyerror (YY_("syntax error"));
10958 yyMemoryExhausted (yystackp);
10962 #endif /* YYERROR_VERBOSE */
10963 yyerror (YY_("syntax error"));
10968 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
10969 yylval, and yylloc are the syntactic category, semantic value, and location
10970 of the lookahead. */
10971 /*ARGSUSED*/ static void
10972 yyrecoverSyntaxError (yyGLRStack* yystackp)
10977 if (yystackp->yyerrState == 3)
10978 /* We just shifted the error token and (perhaps) took some
10979 reductions. Skip tokens until we can proceed. */
10980 while (YYID (yytrue))
10983 if (yychar == YYEOF)
10984 yyFail (yystackp, NULL);
10985 if (yychar != YYEMPTY)
10987 yytoken = YYTRANSLATE (yychar);
10988 yydestruct ("Error: discarding",
10991 YYDPRINTF ((stderr, "Reading a token: "));
10993 if (yychar <= YYEOF)
10995 yychar = yytoken = YYEOF;
10996 YYDPRINTF ((stderr, "Now at end of input.\n"));
11000 yytoken = YYTRANSLATE (yychar);
11001 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
11003 yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
11004 if (yyis_pact_ninf (yyj))
11007 if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
11009 if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
11012 else if (yytable[yyj] != 0 && ! yyis_table_ninf (yytable[yyj]))
11016 /* Reduce to one stack. */
11017 for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
11018 if (yystackp->yytops.yystates[yyk] != NULL)
11020 if (yyk >= yystackp->yytops.yysize)
11021 yyFail (yystackp, NULL);
11022 for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
11023 yymarkStackDeleted (yystackp, yyk);
11024 yyremoveDeletes (yystackp);
11025 yycompressStack (yystackp);
11027 /* Now pop stack until we find a state that shifts the error token. */
11028 yystackp->yyerrState = 3;
11029 while (yystackp->yytops.yystates[0] != NULL)
11031 yyGLRState *yys = yystackp->yytops.yystates[0];
11032 yyj = yypact[yys->yylrState];
11033 if (! yyis_pact_ninf (yyj))
11036 if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
11037 && yyisShiftAction (yytable[yyj]))
11039 /* Shift the error token having adjusted its location. */
11040 YYLTYPE yyerrloc = {0};
11041 YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
11042 &yylval, &yyerrloc);
11043 yyglrShift (yystackp, 0, yytable[yyj],
11044 yys->yyposn, &yylval, &yyerrloc);
11045 yys = yystackp->yytops.yystates[0];
11050 if (yys->yypred != NULL)
11051 yydestroyGLRState ("Error: popping", yys);
11052 yystackp->yytops.yystates[0] = yys->yypred;
11053 yystackp->yynextFree -= 1;
11054 yystackp->yyspaceLeft += 1;
11056 if (yystackp->yytops.yystates[0] == NULL)
11057 yyFail (yystackp, NULL);
11060 #define YYCHK1(YYE) \
11068 goto yyacceptlab; \
11070 goto yyuser_error; \
11085 yyGLRStack yystack;
11086 yyGLRStack* const yystackp = &yystack;
11089 YYDPRINTF ((stderr, "Starting parse\n"));
11092 yylval = yyval_default;
11095 if (! yyinitGLRStack (yystackp, YYINITDEPTH))
11096 goto yyexhaustedlab;
11097 switch (YYSETJMP (yystack.yyexception_buffer))
11100 case 1: goto yyabortlab;
11101 case 2: goto yyexhaustedlab;
11102 default: goto yybuglab;
11104 yyglrShift (&yystack, 0, 0, 0, &yylval, &yylloc);
11107 while (YYID (yytrue))
11109 /* For efficiency, we have two loops, the first of which is
11110 specialized to deterministic operation (single stack, no
11111 potential ambiguity). */
11112 /* Standard mode */
11113 while (YYID (yytrue))
11117 const short int* yyconflicts;
11119 yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
11120 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
11121 if (yystate == YYFINAL)
11123 if (yyisDefaultedState (yystate))
11125 yyrule = yydefaultAction (yystate);
11129 yyreportSyntaxError (&yystack);
11132 YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue));
11137 if (yychar == YYEMPTY)
11139 YYDPRINTF ((stderr, "Reading a token: "));
11143 if (yychar <= YYEOF)
11145 yychar = yytoken = YYEOF;
11146 YYDPRINTF ((stderr, "Now at end of input.\n"));
11150 yytoken = YYTRANSLATE (yychar);
11151 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
11154 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
11155 if (*yyconflicts != 0)
11157 if (yyisShiftAction (yyaction))
11159 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
11162 yyglrShift (&yystack, 0, yyaction, yyposn, &yylval, &yylloc);
11163 if (0 < yystack.yyerrState)
11164 yystack.yyerrState -= 1;
11166 else if (yyisErrorAction (yyaction))
11169 yyreportSyntaxError (&yystack);
11173 YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue));
11177 while (YYID (yytrue))
11179 yySymbol yytoken_to_shift;
11182 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
11183 yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
11185 /* yyprocessOneStack returns one of three things:
11187 - An error flag. If the caller is yyprocessOneStack, it
11188 immediately returns as well. When the caller is finally
11189 yyparse, it jumps to an error label via YYCHK1.
11191 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
11192 (&yystack, yys), which sets the top state of yys to NULL. Thus,
11193 yyparse's following invocation of yyremoveDeletes will remove
11196 - yyok, when ready to shift a token.
11198 Except in the first case, yyparse will invoke yyremoveDeletes and
11199 then shift the next token onto all remaining stacks. This
11200 synchronization of the shift (that is, after all preceding
11201 reductions on all stacks) helps prevent double destructor calls
11202 on yylval in the event of memory exhaustion. */
11204 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
11205 YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn));
11206 yyremoveDeletes (&yystack);
11207 if (yystack.yytops.yysize == 0)
11209 yyundeleteLastStack (&yystack);
11210 if (yystack.yytops.yysize == 0)
11211 yyFail (&yystack, YY_("syntax error"));
11212 YYCHK1 (yyresolveStack (&yystack));
11213 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
11215 yyreportSyntaxError (&yystack);
11219 /* If any yyglrShift call fails, it will fail after shifting. Thus,
11220 a copy of yylval will already be on stack 0 in the event of a
11221 failure in the following loop. Thus, yychar is set to YYEMPTY
11222 before the loop to make sure the user destructor for yylval isn't
11224 yytoken_to_shift = YYTRANSLATE (yychar);
11227 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
11230 const short int* yyconflicts;
11231 yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
11232 yygetLRActions (yystate, yytoken_to_shift, &yyaction,
11234 /* Note that yyconflicts were handled by yyprocessOneStack. */
11235 YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys));
11236 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
11237 yyglrShift (&yystack, yys, yyaction, yyposn,
11239 YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
11240 (unsigned long int) yys,
11241 yystack.yytops.yystates[yys]->yylrState));
11244 if (yystack.yytops.yysize == 1)
11246 YYCHK1 (yyresolveStack (&yystack));
11247 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
11248 yycompressStack (&yystack);
11254 yyrecoverSyntaxError (&yystack);
11255 yyposn = yystack.yytops.yystates[0]->yyposn;
11263 YYASSERT (yyfalse);
11271 yyerror (YY_("memory exhausted"));
11276 if (yychar != YYEMPTY)
11277 yydestruct ("Cleanup: discarding lookahead",
11278 YYTRANSLATE (yychar),
11281 /* If the stack is well-formed, pop the stack until it is empty,
11282 destroying its entries as we go. But free the stack regardless
11283 of whether it is well-formed. */
11284 if (yystack.yyitems)
11286 yyGLRState** yystates = yystack.yytops.yystates;
11289 size_t yysize = yystack.yytops.yysize;
11291 for (yyk = 0; yyk < yysize; yyk += 1)
11294 while (yystates[yyk])
11296 yyGLRState *yys = yystates[yyk];
11297 if (yys->yypred != NULL)
11298 yydestroyGLRState ("Cleanup: popping", yys);
11299 yystates[yyk] = yys->yypred;
11300 yystack.yynextFree -= 1;
11301 yystack.yyspaceLeft += 1;
11306 yyfreeGLRStack (&yystack);
11309 /* Make sure YYID is used. */
11310 return YYID (yyresult);
11313 /* DEBUGGING ONLY */
11315 static void yypstack (yyGLRStack* yystackp, size_t yyk)
11316 __attribute__ ((__unused__));
11317 static void yypdumpstack (yyGLRStack* yystackp) __attribute__ ((__unused__));
11320 yy_yypstack (yyGLRState* yys)
11324 yy_yypstack (yys->yypred);
11325 YYFPRINTF (stderr, " -> ");
11327 YYFPRINTF (stderr, "%d@%lu", yys->yylrState,
11328 (unsigned long int) yys->yyposn);
11332 yypstates (yyGLRState* yyst)
11335 YYFPRINTF (stderr, "<null>");
11337 yy_yypstack (yyst);
11338 YYFPRINTF (stderr, "\n");
11342 yypstack (yyGLRStack* yystackp, size_t yyk)
11344 yypstates (yystackp->yytops.yystates[yyk]);
11347 #define YYINDEX(YYX) \
11348 ((YYX) == NULL ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
11352 yypdumpstack (yyGLRStack* yystackp)
11354 yyGLRStackItem* yyp;
11356 for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
11358 YYFPRINTF (stderr, "%3lu. ",
11359 (unsigned long int) (yyp - yystackp->yyitems));
11360 if (*(yybool *) yyp)
11362 YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
11363 yyp->yystate.yyresolved, yyp->yystate.yylrState,
11364 (unsigned long int) yyp->yystate.yyposn,
11365 (long int) YYINDEX (yyp->yystate.yypred));
11366 if (! yyp->yystate.yyresolved)
11367 YYFPRINTF (stderr, ", firstVal: %ld",
11368 (long int) YYINDEX (yyp->yystate
11369 .yysemantics.yyfirstVal));
11373 YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
11374 yyp->yyoption.yyrule - 1,
11375 (long int) YYINDEX (yyp->yyoption.yystate),
11376 (long int) YYINDEX (yyp->yyoption.yynext));
11378 YYFPRINTF (stderr, "\n");
11380 YYFPRINTF (stderr, "Tops:");
11381 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
11382 YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long int) yyi,
11383 (long int) YYINDEX (yystackp->yytops.yystates[yyi]));
11384 YYFPRINTF (stderr, "\n");
11390 /* Line 2634 of glr.c */
11391 #line 3328 "vtkParse.y"
11393 #include <string.h>
11394 #include "lex.yy.c"
11396 /* fill in the type name if none given */
11397 const char *type_class(unsigned int type, const char *classname)
11401 if (classname[0] == '\0')
11403 switch ((type & VTK_PARSE_BASE_TYPE))
11406 classname = "auto";
11408 case VTK_PARSE_VOID:
11409 classname = "void";
11411 case VTK_PARSE_BOOL:
11412 classname = "bool";
11414 case VTK_PARSE_FLOAT:
11415 classname = "float";
11417 case VTK_PARSE_DOUBLE:
11418 classname = "double";
11420 case VTK_PARSE_LONG_DOUBLE:
11421 classname = "long double";
11423 case VTK_PARSE_CHAR:
11424 classname = "char";
11426 case VTK_PARSE_CHAR16_T:
11427 classname = "char16_t";
11429 case VTK_PARSE_CHAR32_T:
11430 classname = "char32_t";
11432 case VTK_PARSE_WCHAR_T:
11433 classname = "wchar_t";
11435 case VTK_PARSE_UNSIGNED_CHAR:
11436 classname = "unsigned char";
11438 case VTK_PARSE_SIGNED_CHAR:
11439 classname = "signed char";
11441 case VTK_PARSE_SHORT:
11442 classname = "short";
11444 case VTK_PARSE_UNSIGNED_SHORT:
11445 classname = "unsigned short";
11447 case VTK_PARSE_INT:
11450 case VTK_PARSE_UNSIGNED_INT:
11451 classname = "unsigned int";
11453 case VTK_PARSE_LONG:
11454 classname = "long";
11456 case VTK_PARSE_UNSIGNED_LONG:
11457 classname = "unsigned long";
11459 case VTK_PARSE_LONG_LONG:
11460 classname = "long long";
11462 case VTK_PARSE_UNSIGNED_LONG_LONG:
11463 classname = "unsigned long long";
11465 case VTK_PARSE___INT64:
11466 classname = "__int64";
11468 case VTK_PARSE_UNSIGNED___INT64:
11469 classname = "unsigned __int64";
11478 /* check whether this is the class we are looking for */
11479 void start_class(const char *classname, int is_struct_or_union)
11481 ClassInfo *outerClass = currentClass;
11483 currentClass = (ClassInfo *)malloc(sizeof(ClassInfo));
11484 vtkParse_InitClass(currentClass);
11485 currentClass->Name = classname;
11486 if (is_struct_or_union == 1)
11488 currentClass->ItemType = VTK_STRUCT_INFO;
11490 if (is_struct_or_union == 2)
11492 currentClass->ItemType = VTK_UNION_INFO;
11495 if (classname && classname[strlen(classname)-1] != '>')
11499 vtkParse_AddClassToClass(outerClass, currentClass);
11503 vtkParse_AddClassToNamespace(currentNamespace, currentClass);
11507 /* template information */
11508 if (currentTemplate)
11510 currentClass->Template = currentTemplate;
11511 currentTemplate = NULL;
11514 /* comment, if any */
11515 currentClass->Comment = vtkstrdup(getComment());
11517 access_level = VTK_ACCESS_PRIVATE;
11518 if (is_struct_or_union)
11520 access_level = VTK_ACCESS_PUBLIC;
11523 vtkParse_InitFunction(currentFunction);
11528 /* reached the end of a class definition */
11531 /* add default constructors */
11532 vtkParse_AddDefaultConstructors(currentClass, data->Strings);
11537 /* add a base class to the specified class */
11538 void add_base_class(ClassInfo *cls, const char *name, int al,
11539 unsigned int extra)
11541 /* "extra" can contain VTK_PARSE_VIRTUAL and VTK_PARSE_PACK */
11542 if (cls && al == VTK_ACCESS_PUBLIC &&
11543 (extra & VTK_PARSE_VIRTUAL) == 0 &&
11544 (extra & VTK_PARSE_PACK) == 0)
11546 vtkParse_AddStringToArray(&cls->SuperClasses,
11547 &cls->NumberOfSuperClasses,
11552 /* add a using declaration or directive */
11553 void add_using(const char *name, int is_namespace)
11558 item = (UsingInfo *)malloc(sizeof(UsingInfo));
11559 vtkParse_InitUsing(item);
11563 item->Scope = name;
11568 while (i > 0 && name[i-1] != ':') { i--; }
11569 item->Name = vtkstrdup(&name[i]);
11570 while (i > 0 && name[i-1] == ':') { i--; }
11571 item->Scope = vtkstrndup(name, i);
11576 vtkParse_AddUsingToClass(currentClass, item);
11580 vtkParse_AddUsingToNamespace(currentNamespace, item);
11584 /* start a new enum */
11585 void start_enum(const char *name, int is_scoped,
11586 unsigned int type, const char *basename)
11590 currentEnumType = (type ? type : VTK_PARSE_INT);
11591 currentEnumName = "int";
11592 currentEnumValue = NULL;
11594 if (type == 0 && is_scoped)
11596 type = VTK_PARSE_INT;
11601 currentEnumName = name;
11602 item = (EnumInfo *)malloc(sizeof(EnumInfo));
11603 vtkParse_InitEnum(item);
11605 item->Access = access_level;
11609 vtkParse_AddEnumToClass(currentClass, item);
11613 vtkParse_AddEnumToNamespace(currentNamespace, item);
11618 vtkParse_AddStringToArray(&item->SuperClasses,
11619 &item->NumberOfSuperClasses,
11620 type_class(type, basename));
11626 currentClass = item;
11631 /* finish the enum */
11634 if (currentClass && currentClass->ItemType == VTK_ENUM_INFO)
11639 currentEnumName = NULL;
11640 currentEnumValue = NULL;
11643 /* add a constant to the enum */
11644 void add_enum(const char *name, const char *value)
11646 static char text[2048];
11652 strcpy(text, value);
11653 currentEnumValue = value;
11655 else if (currentEnumValue)
11658 while (i > 0 && text[i-1] >= '0' &&
11659 text[i-1] <= '9') { i--; }
11661 if (i == 0 || text[i-1] == ' ' ||
11662 (i > 1 && text[i-2] == ' ' &&
11663 (text[i-1] == '-' || text[i-1] == '+')))
11665 if (i > 0 && text[i-1] != ' ')
11669 j = (int)strtol(&text[i], NULL, 10);
11670 sprintf(&text[i], "%li", j+1);
11675 strcpy(&text[i], " + 1");
11677 currentEnumValue = vtkstrdup(text);
11682 currentEnumValue = "0";
11685 add_constant(name, currentEnumValue, currentEnumType, currentEnumName, 2);
11688 /* for a macro constant, guess the constant type, doesn't do any math */
11689 unsigned int guess_constant_type(const char *valstring)
11691 unsigned int valtype = 0;
11696 if (valstring == NULL || valstring[0] == '\0')
11701 k = vtkParse_SkipId(valstring);
11702 if (valstring[k] == '\0')
11707 if (strcmp(valstring, "true") == 0 || strcmp(valstring, "false") == 0)
11709 return VTK_PARSE_BOOL;
11712 if (strcmp(valstring, "nullptr") == 0)
11714 return VTK_PARSE_NULLPTR_T;
11717 if (valstring[0] == '\'')
11719 return VTK_PARSE_CHAR;
11722 if (strncmp(valstring, "VTK_TYPE_CAST(", 14) == 0 ||
11723 strncmp(valstring, "static_cast<", 12) == 0 ||
11724 strncmp(valstring, "const_cast<", 11) == 0 ||
11725 strncmp(valstring, "(", 1) == 0)
11729 int is_unsigned = 0;
11731 cp = &valstring[1];
11732 if (valstring[0] == 'c')
11734 cp = &valstring[11];
11736 else if (valstring[0] == 's')
11738 cp = &valstring[12];
11740 else if (valstring[0] == 'V')
11742 cp = &valstring[14];
11745 if (strncmp(cp, "unsigned ", 9) == 0)
11752 for (k = 0; k < n && cp[k] != ',' &&
11753 cp[k] != '>' && cp[k] != ')'; k++) { ; };
11755 if (strncmp(cp, "long long", k) == 0)
11756 { valtype = VTK_PARSE_LONG_LONG; }
11757 else if (strncmp(cp, "__int64", k) == 0)
11758 { valtype = VTK_PARSE___INT64; }
11759 else if (strncmp(cp, "long", k) == 0)
11760 { valtype = VTK_PARSE_LONG; }
11761 else if (strncmp(cp, "short", k) == 0)
11762 { valtype = VTK_PARSE_SHORT; }
11763 else if (strncmp(cp, "signed char", k) == 0)
11764 { valtype = VTK_PARSE_SIGNED_CHAR; }
11765 else if (strncmp(cp, "char", k) == 0)
11766 { valtype = VTK_PARSE_CHAR; }
11767 else if (strncmp(cp, "int", k) == 0 ||
11768 strncmp(cp, "signed", k) == 0)
11769 { valtype = VTK_PARSE_INT; }
11770 else if (strncmp(cp, "float", k) == 0)
11771 { valtype = VTK_PARSE_FLOAT; }
11772 else if (strncmp(cp, "double", k) == 0)
11773 { valtype = VTK_PARSE_DOUBLE; }
11774 else if (strncmp(cp, "char *", k) == 0)
11775 { valtype = VTK_PARSE_CHAR_PTR; }
11779 if (valtype == 0) { valtype = VTK_PARSE_INT; }
11780 valtype = (valtype | VTK_PARSE_UNSIGNED);
11789 /* check the current scope */
11792 NamespaceInfo *scope = currentNamespace;
11793 if (namespaceDepth > 0)
11795 scope = namespaceStack[0];
11798 for (i = 0; i < scope->NumberOfConstants; i++)
11800 if (strcmp(scope->Constants[i]->Name, valstring) == 0)
11802 return scope->Constants[i]->Type;
11807 /* check for preprocessor macros */
11810 MacroInfo *macro = vtkParsePreprocess_GetMacro(
11811 preprocessor, valstring);
11813 if (macro && !macro->IsFunction)
11815 return guess_constant_type(macro->Definition);
11819 /* fall back to the preprocessor to evaluate the constant */
11823 int result = vtkParsePreprocess_EvaluateExpression(
11824 preprocessor, valstring, &val, &is_unsigned);
11826 if (result == VTK_PARSE_PREPROC_DOUBLE)
11828 return VTK_PARSE_DOUBLE;
11830 else if (result == VTK_PARSE_PREPROC_FLOAT)
11832 return VTK_PARSE_FLOAT;
11834 else if (result == VTK_PARSE_PREPROC_STRING)
11836 return VTK_PARSE_CHAR_PTR;
11838 else if (result == VTK_PARSE_OK)
11842 if ((preproc_uint_t)val <= VTK_UNSIGNED_INT_MAX)
11844 return VTK_PARSE_UNSIGNED_INT;
11848 #if defined(VTK_TYPE_USE_LONG_LONG)
11849 return VTK_PARSE_UNSIGNED_LONG_LONG;
11850 #elif defined(VTK_TYPE_USE___INT64)
11851 return VTK_PARSE_UNSIGNED___INT64;
11853 return VTK_PARSE_UNSIGNED_LONG;
11859 if (val >= VTK_INT_MIN && val <= VTK_INT_MAX)
11861 return VTK_PARSE_INT;
11865 #if defined(VTK_TYPE_USE_LONG_LONG)
11866 return VTK_PARSE_LONG_LONG;
11867 #elif defined(VTK_TYPE_USE___INT64)
11868 return VTK_PARSE___INT64;
11870 return VTK_PARSE_LONG;
11880 /* add a constant to the current class or namespace */
11881 void add_constant(const char *name, const char *value,
11882 unsigned int type, const char *typeclass, int flag)
11884 ValueInfo *con = (ValueInfo *)malloc(sizeof(ValueInfo));
11885 vtkParse_InitValue(con);
11886 con->ItemType = VTK_CONSTANT_INFO;
11888 con->Value = value;
11890 con->Class = type_class(type, typeclass);
11899 /* actually a macro, need to guess the type */
11900 ValueInfo **cptr = data->Contents->Constants;
11901 int n = data->Contents->NumberOfConstants;
11904 con->Access = VTK_ACCESS_PUBLIC;
11905 if (con->Type == 0)
11907 con->Type = guess_constant_type(con->Value);
11910 for (i = 0; i < n; i++)
11912 if (strcmp(cptr[i]->Name, con->Name) == 0)
11920 vtkParse_AddConstantToNamespace(data->Contents, con);
11924 vtkParse_FreeValue(con);
11927 else if (currentClass)
11929 con->Access = access_level;
11930 vtkParse_AddConstantToClass(currentClass, con);
11934 con->Access = VTK_ACCESS_PUBLIC;
11935 vtkParse_AddConstantToNamespace(currentNamespace, con);
11939 /* if the name is a const in this namespace, the scope it */
11940 const char *add_const_scope(const char *name)
11942 static char text[256];
11943 NamespaceInfo *scope = currentNamespace;
11947 strcpy(text, name);
11951 for (j = 0; j < currentClass->NumberOfConstants; j++)
11953 if (strcmp(currentClass->Constants[j]->Name, text) == 0)
11955 prepend_scope(text, currentClass->Name);
11960 i = namespaceDepth;
11961 while (scope && scope->Name)
11965 prepend_scope(text, scope->Name);
11969 for (j = 0; j < scope->NumberOfConstants; j++)
11971 if (strcmp(scope->Constants[j]->Name, text) == 0)
11973 prepend_scope(text, scope->Name);
11982 scope = namespaceStack[--i];
11989 /* guess the type from the ID */
11990 unsigned int guess_id_type(const char *cp)
11992 unsigned int t = 0;
12000 while (i > 0 && cp[i-1] != ':') { i--; }
12003 if (strcmp(dp, "vtkStdString") == 0 ||
12004 strcmp(cp, "std::string") == 0)
12006 t = VTK_PARSE_STRING;
12008 else if (strcmp(dp, "vtkUnicodeString") == 0)
12010 t = VTK_PARSE_UNICODE_STRING;
12012 else if (strncmp(dp, "vtk", 3) == 0)
12014 t = VTK_PARSE_OBJECT;
12016 else if (strncmp(dp, "Q", 1) == 0 ||
12017 strncmp(cp, "Qt::", 4) == 0)
12019 t = VTK_PARSE_QOBJECT;
12023 t = VTK_PARSE_UNKNOWN;
12030 /* add a template parameter to the current template */
12031 void add_template_parameter(
12032 unsigned int datatype, unsigned int extra, const char *funcSig)
12034 ValueInfo *param = (ValueInfo *)malloc(sizeof(ValueInfo));
12035 vtkParse_InitValue(param);
12036 handle_complex_type(param, datatype, extra, funcSig);
12037 param->Name = getVarName();
12038 vtkParse_AddParameterToTemplate(currentTemplate, param);
12041 /* add a parameter to a function */
12042 void add_parameter(FunctionInfo *func, unsigned int type,
12043 const char *typeclass, int count)
12046 ValueInfo *param = (ValueInfo *)malloc(sizeof(ValueInfo));
12047 vtkParse_InitValue(param);
12049 param->Type = type;
12050 param->Class = type_class(type, typeclass);
12054 param->Count = count;
12055 sprintf(text, "%i", count);
12056 vtkParse_AddStringToArray(¶m->Dimensions, ¶m->NumberOfDimensions,
12060 add_legacy_parameter(func, param);
12062 vtkParse_AddParameterToFunction(func, param);
12065 /* set the return type for the current function */
12066 void set_return(FunctionInfo *func, unsigned int type,
12067 const char *typeclass, int count)
12070 ValueInfo *val = (ValueInfo *)malloc(sizeof(ValueInfo));
12072 vtkParse_InitValue(val);
12074 val->Class = type_class(type, typeclass);
12078 val->Count = count;
12079 sprintf(text, "%i", count);
12080 vtkParse_AddStringToArray(&val->Dimensions, &val->NumberOfDimensions,
12084 func->ReturnValue = val;
12086 #ifndef VTK_PARSE_LEGACY_REMOVE
12087 func->ReturnType = val->Type;
12088 func->ReturnClass = val->Class;
12089 func->HaveHint = (count > 0);
12090 func->HintSize = count;
12094 int count_from_dimensions(ValueInfo *val)
12099 /* count is the product of the dimensions */
12101 if (val->NumberOfDimensions)
12104 for (i = 0; i < val->NumberOfDimensions; i++)
12107 cp = val->Dimensions[i];
12110 while (*cp != '\0' && *cp >= '0' && *cp <= '9') { cp++; }
12111 while (*cp != '\0' && (*cp == 'u' || *cp == 'l' ||
12112 *cp == 'U' || *cp == 'L')) { cp++; }
12115 n = (int)strtol(val->Dimensions[i], NULL, 0);
12125 /* deal with types that include function pointers or arrays */
12126 void handle_complex_type(
12127 ValueInfo *val, unsigned int datatype, unsigned int extra,
12128 const char *funcSig)
12130 FunctionInfo *func = 0;
12132 /* remove specifiers like "friend" and "typedef" */
12133 datatype &= VTK_PARSE_QUALIFIED_TYPE;
12135 /* remove the pack specifier caused by "..." */
12136 if ((extra & VTK_PARSE_PACK) != 0)
12139 extra ^= VTK_PARSE_PACK;
12142 /* if "extra" was set, parentheses were involved */
12143 if ((extra & VTK_PARSE_BASE_TYPE) == VTK_PARSE_FUNCTION)
12145 /* the current type becomes the function return type */
12146 func = getFunction();
12147 func->ReturnValue = (ValueInfo *)malloc(sizeof(ValueInfo));
12148 vtkParse_InitValue(func->ReturnValue);
12149 func->ReturnValue->Type = datatype;
12150 func->ReturnValue->Class = type_class(datatype, getTypeId());
12151 if (funcSig) { func->Signature = vtkstrdup(funcSig); }
12152 val->Function = func;
12154 #ifndef VTK_PARSE_LEGACY_REMOVE
12155 func->ReturnType = func->ReturnValue->Type;
12156 func->ReturnClass = func->ReturnValue->Class;
12159 /* the val type is whatever was inside the parentheses */
12161 setTypeId(func->Class ? "method" : "function");
12162 datatype = (extra & (VTK_PARSE_UNQUALIFIED_TYPE | VTK_PARSE_RVALUE));
12164 else if ((extra & VTK_PARSE_INDIRECT) == VTK_PARSE_BAD_INDIRECT)
12166 datatype = (datatype | VTK_PARSE_BAD_INDIRECT);
12168 else if ((extra & VTK_PARSE_INDIRECT) != 0)
12170 extra = (extra & (VTK_PARSE_INDIRECT | VTK_PARSE_RVALUE));
12172 if ((extra & VTK_PARSE_REF) != 0)
12174 datatype = (datatype | (extra & (VTK_PARSE_REF | VTK_PARSE_RVALUE)));
12175 extra = (extra & ~(VTK_PARSE_REF | VTK_PARSE_RVALUE));
12178 if (extra != 0 && getArrayNDims() > 0)
12180 /* pointer represents an unsized array bracket */
12181 datatype = add_indirection(datatype, VTK_PARSE_ARRAY);
12182 extra = ((extra >> 2) & VTK_PARSE_POINTER_MASK);
12185 datatype = add_indirection(datatype, extra);
12188 if (getArrayNDims() == 1)
12190 if ((datatype & VTK_PARSE_POINTER_LOWMASK) != VTK_PARSE_ARRAY)
12192 /* turn the first set of brackets into a pointer */
12193 datatype = add_indirection(datatype, VTK_PARSE_POINTER);
12197 pushArrayFront("");
12200 else if (getArrayNDims() > 1)
12202 if ((datatype & VTK_PARSE_POINTER_LOWMASK) != VTK_PARSE_ARRAY)
12204 /* turn the first set of brackets into a pointer */
12205 datatype = add_indirection(datatype, VTK_PARSE_ARRAY);
12209 pushArrayFront("");
12213 /* get the data type */
12214 val->Type = datatype;
12215 val->Class = type_class(datatype, getTypeId());
12217 /* copy contents of all brackets to the ArgDimensions */
12218 val->NumberOfDimensions = getArrayNDims();
12219 val->Dimensions = getArray();
12222 /* count is the product of the dimensions */
12223 val->Count = count_from_dimensions(val);
12226 /* add a parameter to the legacy part of the FunctionInfo struct */
12227 void add_legacy_parameter(FunctionInfo *func, ValueInfo *param)
12229 #ifndef VTK_PARSE_LEGACY_REMOVE
12230 int i = func->NumberOfArguments;
12234 func->NumberOfArguments = i + 1;
12235 func->ArgTypes[i] = param->Type;
12236 func->ArgClasses[i] = param->Class;
12237 func->ArgCounts[i] = param->Count;
12239 /* legacy wrappers need VTK_PARSE_FUNCTION without POINTER */
12240 if (param->Type == VTK_PARSE_FUNCTION_PTR)
12242 /* check for signature "void (*func)(void *)" */
12243 if (param->Function->NumberOfParameters == 1 &&
12244 param->Function->Parameters[0]->Type == VTK_PARSE_VOID_PTR &&
12245 param->Function->Parameters[0]->NumberOfDimensions == 0 &&
12246 param->Function->ReturnValue->Type == VTK_PARSE_VOID)
12248 func->ArgTypes[i] = VTK_PARSE_FUNCTION;
12254 func->ArrayFailure = 1;
12260 /* reject the function, do not output it */
12261 void reject_function()
12263 vtkParse_InitFunction(currentFunction);
12268 /* a simple routine that updates a few variables */
12269 void output_function()
12271 const char *macro = getMacro();
12276 /* reject template specializations */
12277 n = strlen(currentFunction->Name);
12278 if (currentFunction->Name[n-1] == '>')
12280 /* make sure there is a matching angle bracket */
12281 while (n > 0 && currentFunction->Name[n-1] != '<') { n--; }
12290 if (currentFunction->ReturnValue &&
12291 currentFunction->ReturnValue->Type & VTK_PARSE_FRIEND)
12293 currentFunction->ReturnValue->Type ^= VTK_PARSE_FRIEND;
12294 output_friend_function();
12299 if (currentFunction->ReturnValue &&
12300 currentFunction->ReturnValue->Type & VTK_PARSE_TYPEDEF)
12302 /* for now, reject it instead of turning a method into a typedef */
12303 currentFunction->ReturnValue->Type ^= VTK_PARSE_TYPEDEF;
12309 if (currentFunction->ReturnValue &&
12310 currentFunction->ReturnValue->Type & VTK_PARSE_STATIC)
12312 currentFunction->IsStatic = 1;
12316 if (currentFunction->ReturnValue &&
12317 currentFunction->ReturnValue->Type & VTK_PARSE_VIRTUAL)
12319 currentFunction->IsVirtual = 1;
12322 /* the signature */
12323 if (!currentFunction->Signature)
12325 currentFunction->Signature = getSig();
12328 /* template information */
12329 if (currentTemplate)
12331 currentFunction->Template = currentTemplate;
12332 currentTemplate = NULL;
12335 /* a void argument is the same as no parameters */
12336 if (currentFunction->NumberOfParameters == 1 &&
12337 (currentFunction->Parameters[0]->Type & VTK_PARSE_UNQUALIFIED_TYPE) ==
12340 currentFunction->NumberOfParameters = 0;
12343 /* is it defined in a legacy macro? */
12344 if (macro && strcmp(macro, "VTK_LEGACY") == 0)
12346 currentFunction->IsLegacy = 1;
12349 /* set public, protected */
12352 currentFunction->Access = access_level;
12356 currentFunction->Access = VTK_ACCESS_PUBLIC;
12359 #ifndef VTK_PARSE_LEGACY_REMOVE
12360 /* a void argument is the same as no parameters */
12361 if (currentFunction->NumberOfArguments == 1 &&
12362 (currentFunction->ArgTypes[0] & VTK_PARSE_UNQUALIFIED_TYPE) ==
12365 currentFunction->NumberOfArguments = 0;
12368 /* if return type is void, set return class to void */
12369 if (currentFunction->ReturnClass == NULL &&
12370 (currentFunction->ReturnType & VTK_PARSE_UNQUALIFIED_TYPE) ==
12373 currentFunction->ReturnClass = "void";
12376 /* set legacy flags */
12379 currentFunction->IsPublic = (access_level == VTK_ACCESS_PUBLIC);
12380 currentFunction->IsProtected = (access_level == VTK_ACCESS_PROTECTED);
12384 currentFunction->IsPublic = 1;
12385 currentFunction->IsProtected = 0;
12388 /* check for too many parameters */
12389 if (currentFunction->NumberOfParameters > MAX_ARGS)
12391 currentFunction->ArrayFailure = 1;
12394 for (i = 0; i < currentFunction->NumberOfParameters; i++)
12396 ValueInfo *param = currentFunction->Parameters[i];
12397 /* tell old wrappers that multi-dimensional arrays are bad */
12398 if ((param->Type & VTK_PARSE_POINTER_MASK) != 0)
12400 if (((param->Type & VTK_PARSE_INDIRECT) == VTK_PARSE_BAD_INDIRECT) ||
12401 ((param->Type & VTK_PARSE_POINTER_LOWMASK) != VTK_PARSE_POINTER))
12403 currentFunction->ArrayFailure = 1;
12407 /* allow only "void (*func)(void *)" as a valid function pointer */
12408 if ((param->Type & VTK_PARSE_BASE_TYPE) == VTK_PARSE_FUNCTION)
12410 if (i != 0 || param->Type != VTK_PARSE_FUNCTION_PTR ||
12411 currentFunction->NumberOfParameters != 2 ||
12412 currentFunction->Parameters[1]->Type != VTK_PARSE_VOID_PTR ||
12413 param->Function->NumberOfParameters != 1 ||
12414 param->Function->Parameters[0]->Type != VTK_PARSE_VOID_PTR ||
12415 param->Function->Parameters[0]->NumberOfDimensions != 0 ||
12416 param->Function->ReturnValue->Type != VTK_PARSE_VOID)
12418 currentFunction->ArrayFailure = 1;
12422 #endif /* VTK_PARSE_LEGACY_REMOVE */
12426 /* is it a delete function */
12427 if (currentFunction->Name && !strcmp("Delete",currentFunction->Name))
12429 currentClass->HasDelete = 1;
12432 currentFunction->Class = currentClass->Name;
12433 vtkParse_AddFunctionToClass(currentClass, currentFunction);
12435 currentFunction = (FunctionInfo *)malloc(sizeof(FunctionInfo));
12439 /* make sure this function isn't a repeat */
12441 for (i = 0; i < currentNamespace->NumberOfFunctions; i++)
12443 if (currentNamespace->Functions[i]->Name &&
12444 strcmp(currentNamespace->Functions[i]->Name,
12445 currentFunction->Name) == 0)
12447 if (currentNamespace->Functions[i]->NumberOfParameters ==
12448 currentFunction->NumberOfParameters)
12450 for (j = 0; j < currentFunction->NumberOfParameters; j++)
12452 if (currentNamespace->Functions[i]->Parameters[j]->Type ==
12453 currentFunction->Parameters[j]->Type)
12455 if (currentFunction->Parameters[j]->Type == VTK_PARSE_OBJECT &&
12456 strcmp(currentNamespace->Functions[i]->Parameters[j]->Class,
12457 currentFunction->Parameters[j]->Class) == 0)
12463 if (j == currentFunction->NumberOfParameters)
12474 vtkParse_AddFunctionToNamespace(currentNamespace, currentFunction);
12476 currentFunction = (FunctionInfo *)malloc(sizeof(FunctionInfo));
12480 vtkParse_InitFunction(currentFunction);
12484 /* output a function that is not a method of the current class */
12485 void output_friend_function()
12487 ClassInfo *tmpc = currentClass;
12488 currentClass = NULL;
12490 currentClass = tmpc;
12493 void outputSetVectorMacro(const char *var, unsigned int paramType,
12494 const char *typeText, int n)
12496 static const char *mnames[] = {
12498 "vtkSetVector2Macro", "vtkSetVector3Macro", "vtkSetVector4Macro",
12500 "vtkSetVector6Macro",
12504 m = (n > 7 ? 0 : n);
12506 sprintf(ntext, "%i", n);
12508 currentFunction->Macro = mnames[m];
12509 currentFunction->Name = vtkstrcat("Set", var);
12512 postSig(currentFunction->Name);
12515 for (i = 1; i < n; i++)
12521 for (i = 0; i < n; i++)
12523 add_parameter(currentFunction, paramType, getTypeId(), 0);
12525 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
12528 currentFunction->Macro = mnames[m];
12529 currentFunction->Name = vtkstrcat("Set", var);
12530 currentFunction->Signature =
12531 vtkstrcat7("void ", currentFunction->Name, "(", typeText,
12532 " a[", ntext, "]);");
12533 add_parameter(currentFunction, (VTK_PARSE_POINTER | paramType),
12535 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
12539 void outputGetVectorMacro(const char *var, unsigned int paramType,
12540 const char *typeText, int n)
12542 static const char *mnames[] = {
12544 "vtkGetVector2Macro", "vtkGetVector3Macro", "vtkGetVector4Macro",
12546 "vtkGetVector6Macro",
12549 m = (n > 7 ? 0 : n);
12551 currentFunction->Macro = mnames[m];
12552 currentFunction->Name = vtkstrcat("Get", var);
12553 currentFunction->Signature =
12554 vtkstrcat4(typeText, " *", currentFunction->Name, "();");
12555 set_return(currentFunction, (VTK_PARSE_POINTER | paramType), getTypeId(), n);
12559 /* Set a flag to ignore BTX/ETX markers in the files */
12560 void vtkParse_SetIgnoreBTX(int option)
12572 /* Set a flag to recurse into included files */
12573 void vtkParse_SetRecursive(int option)
12585 /* Set the global variable that stores the current executable */
12586 void vtkParse_SetCommandName(const char *name)
12588 CommandName = name;
12591 /* Parse a header file and return a FileInfo struct */
12592 FileInfo *vtkParse_ParseFile(
12593 const char *filename, FILE *ifile, FILE *errfile)
12597 FileInfo *file_info;
12600 /* "data" is a global variable used by the parser */
12601 data = (FileInfo *)malloc(sizeof(FileInfo));
12602 vtkParse_InitFile(data);
12603 data->Strings = (StringCache *)malloc(sizeof(StringCache));
12604 vtkParse_InitStringCache(data->Strings);
12606 /* "preprocessor" is a global struct used by the parser */
12607 preprocessor = (PreprocessInfo *)malloc(sizeof(PreprocessInfo));
12608 vtkParsePreprocess_Init(preprocessor, filename);
12609 preprocessor->Strings = data->Strings;
12610 vtkParsePreprocess_AddStandardMacros(preprocessor, VTK_PARSE_NATIVE);
12612 /* add include files specified on the command line */
12613 for (i = 0; i < NumberOfIncludeDirectories; i++)
12615 vtkParsePreprocess_IncludeDirectory(preprocessor, IncludeDirectories[i]);
12618 /* add macros specified on the command line */
12619 for (i = 0; i < NumberOfDefinitions; i++)
12621 const char *cp = Definitions[i];
12625 vtkParsePreprocess_RemoveMacro(preprocessor, &cp[1]);
12627 else if (*cp == 'D')
12629 const char *definition = &cp[1];
12630 while (*definition != '=' && *definition != '\0')
12634 if (*definition == '=')
12642 vtkParsePreprocess_AddMacro(preprocessor, &cp[1], definition);
12646 /* should explicitly check for vtkConfigure.h, or even explicitly load it */
12647 #ifdef VTK_USE_64BIT_IDS
12648 vtkParsePreprocess_AddMacro(preprocessor, "VTK_USE_64BIT_IDS", NULL);
12651 data->FileName = vtkstrdup(filename);
12655 namespaceDepth = 0;
12656 currentNamespace = (NamespaceInfo *)malloc(sizeof(NamespaceInfo));
12657 vtkParse_InitNamespace(currentNamespace);
12658 data->Contents = currentNamespace;
12661 currentTemplate = NULL;
12663 currentFunction = (FunctionInfo *)malloc(sizeof(FunctionInfo));
12664 vtkParse_InitFunction(currentFunction);
12668 if (getenv("DEBUG") != NULL)
12674 yyset_out(errfile);
12682 free(currentFunction);
12685 /* The main class name should match the file name */
12686 i = strlen(filename);
12691 if (filename[i] == '.')
12695 if (filename[i] == '/' || filename[i] == '\\')
12701 main_class = (char *)malloc(j-i+1);
12702 strncpy(main_class, &filename[i], j-i);
12703 main_class[j-i] = '\0';
12705 /* special treatment of the main class in the file */
12706 for (i = 0; i < currentNamespace->NumberOfClasses; i++)
12708 if (strcmp(currentNamespace->Classes[i]->Name, main_class) == 0)
12710 data->MainClass = currentNamespace->Classes[i];
12716 vtkParsePreprocess_Free(preprocessor);
12717 preprocessor = NULL;
12726 /* Read a hints file and update the FileInfo */
12727 int vtkParse_ReadHints(FileInfo *file_info, FILE *hfile, FILE *errfile)
12731 unsigned int h_type, type;
12733 FunctionInfo *func_info;
12734 ClassInfo *class_info;
12735 NamespaceInfo *contents;
12740 contents = file_info->Contents;
12742 /* read each hint line in succession */
12743 while ((n = fscanf(hfile,"%s %s %x %i", h_cls, h_func, &h_type, &h_value))
12749 fprintf(errfile, "Wrapping: error parsing hints file line %i\n", lineno);
12753 /* erase "ref" and qualifiers from hint type */
12754 type = ((h_type & VTK_PARSE_BASE_TYPE) |
12755 (h_type & VTK_PARSE_POINTER_LOWMASK));
12757 /* find the matching class */
12758 for (i = 0; i < contents->NumberOfClasses; i++)
12760 class_info = contents->Classes[i];
12762 if (strcmp(h_cls, class_info->Name) == 0)
12764 /* find the matching function */
12765 for (j = 0; j < class_info->NumberOfFunctions; j++)
12767 func_info = class_info->Functions[j];
12769 if ((strcmp(h_func, func_info->Name) == 0) &&
12770 func_info->ReturnValue &&
12771 (type == ((func_info->ReturnValue->Type & ~VTK_PARSE_REF) &
12772 VTK_PARSE_UNQUALIFIED_TYPE)))
12774 /* types that hints are accepted for */
12775 switch (func_info->ReturnValue->Type & VTK_PARSE_UNQUALIFIED_TYPE)
12777 case VTK_PARSE_FLOAT_PTR:
12778 case VTK_PARSE_VOID_PTR:
12779 case VTK_PARSE_DOUBLE_PTR:
12780 case VTK_PARSE_ID_TYPE_PTR:
12781 case VTK_PARSE_LONG_LONG_PTR:
12782 case VTK_PARSE_UNSIGNED_LONG_LONG_PTR:
12783 case VTK_PARSE___INT64_PTR:
12784 case VTK_PARSE_UNSIGNED___INT64_PTR:
12785 case VTK_PARSE_INT_PTR:
12786 case VTK_PARSE_UNSIGNED_INT_PTR:
12787 case VTK_PARSE_SHORT_PTR:
12788 case VTK_PARSE_UNSIGNED_SHORT_PTR:
12789 case VTK_PARSE_LONG_PTR:
12790 case VTK_PARSE_UNSIGNED_LONG_PTR:
12791 case VTK_PARSE_SIGNED_CHAR_PTR:
12792 case VTK_PARSE_UNSIGNED_CHAR_PTR:
12793 case VTK_PARSE_CHAR_PTR:
12795 if (func_info->ReturnValue->NumberOfDimensions == 0)
12798 sprintf(text, "%i", h_value);
12799 func_info->ReturnValue->Count = h_value;
12800 vtkParse_AddStringToArray(
12801 &func_info->ReturnValue->Dimensions,
12802 &func_info->ReturnValue->NumberOfDimensions,
12803 vtkParse_CacheString(
12804 file_info->Strings, text, strlen(text)));
12805 #ifndef VTK_PARSE_LEGACY_REMOVE
12806 func_info->HaveHint = 1;
12807 func_info->HintSize = h_value;
12815 "Wrapping: unhandled hint type %#x\n", h_type);
12827 /* Free the FileInfo struct returned by vtkParse_ParseFile() */
12828 void vtkParse_Free(FileInfo *file_info)
12830 vtkParse_FreeFile(file_info);
12831 vtkParse_FreeStringCache(file_info->Strings);
12832 free(file_info->Strings);
12836 /** Define a preprocessor macro. Function macros are not supported. */
12837 void vtkParse_DefineMacro(const char *name, const char *definition)
12839 size_t n = vtkParse_SkipId(name);
12843 if (definition == NULL)
12848 l = n + strlen(definition) + 3;
12849 cp = (char *)malloc(l);
12851 strncpy(&cp[1], name, n);
12853 if (definition[0] != '\0')
12856 strcpy(&cp[n+2], definition);
12860 vtkParse_AddStringToArray(&Definitions, &NumberOfDefinitions, cp);
12863 /** Undefine a preprocessor macro. */
12864 void vtkParse_UndefineMacro(const char *name)
12866 size_t n = vtkParse_SkipId(name);
12869 cp = (char *)malloc(n+2);
12871 strncpy(&cp[1], name, n);
12874 vtkParse_AddStringToArray(&Definitions, &NumberOfDefinitions, cp);
12877 /** Add an include directory, for use with the "-I" option. */
12878 void vtkParse_IncludeDirectory(const char *dirname)
12880 size_t n = strlen(dirname);
12884 for (i = 0; i < NumberOfIncludeDirectories; i++)
12886 if (strncmp(IncludeDirectories[i], dirname, n) == 0 &&
12887 IncludeDirectories[i][n] == '\0')
12893 cp = (char *)malloc(n+1);
12894 strcpy(cp, dirname);
12896 vtkParse_AddStringToArray(
12897 &IncludeDirectories, &NumberOfIncludeDirectories, cp);
12900 /** Return the full path to a header file. */
12901 const char *vtkParse_FindIncludeFile(const char *filename)
12903 static StringCache cache = {0, 0, 0, 0};
12904 static PreprocessInfo info = {0, 0, 0, 0, 0, 0, &cache, 0, 0, 0};
12908 /* add include files specified on the command line */
12909 for (i = 0; i < NumberOfIncludeDirectories; i++)
12911 vtkParsePreprocess_IncludeDirectory(&info, IncludeDirectories[i]);
12914 return vtkParsePreprocess_FindIncludeFile(&info, filename, 0, &val);