LCOV - code coverage report
Current view: top level - workdir/unxlngi6.pro/YaccTarget/connectivity/source/parse - sqlbison.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 385 2397 16.1 %
Date: 2012-08-25 Functions: 27 35 77.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 321 4274 7.5 %

           Branch data     Line data    Source code
       1                 :            : /* A Bison parser, made by GNU Bison 2.5.  */
       2                 :            : 
       3                 :            : /* Bison implementation for Yacc-like parsers in C
       4                 :            :    
       5                 :            :       Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
       6                 :            :    
       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.
      11                 :            :    
      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.
      16                 :            :    
      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/>.  */
      19                 :            : 
      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.
      29                 :            :    
      30                 :            :    This special exception was added by the Free Software Foundation in
      31                 :            :    version 2.2 of Bison.  */
      32                 :            : 
      33                 :            : /* C LALR(1) parser skeleton written by Richard Stallman, by
      34                 :            :    simplifying the original so-called "semantic" parser.  */
      35                 :            : 
      36                 :            : /* All symbols defined below should begin with yy or YY, to avoid
      37                 :            :    infringing on user name space.  This should be done even for local
      38                 :            :    variables, as they might otherwise be expanded by user macros.
      39                 :            :    There are some unavoidable exceptions within include files to
      40                 :            :    define necessary library symbols; they are noted "INFRINGES ON
      41                 :            :    USER NAME SPACE" below.  */
      42                 :            : 
      43                 :            : /* Identify Bison output.  */
      44                 :            : #define YYBISON 1
      45                 :            : 
      46                 :            : /* Bison version.  */
      47                 :            : #define YYBISON_VERSION "2.5"
      48                 :            : 
      49                 :            : /* Skeleton name.  */
      50                 :            : #define YYSKELETON_NAME "yacc.c"
      51                 :            : 
      52                 :            : /* Pure parsers.  */
      53                 :            : #define YYPURE 0
      54                 :            : 
      55                 :            : /* Push parsers.  */
      56                 :            : #define YYPUSH 0
      57                 :            : 
      58                 :            : /* Pull parsers.  */
      59                 :            : #define YYPULL 1
      60                 :            : 
      61                 :            : /* Using locations.  */
      62                 :            : #define YYLSP_NEEDED 0
      63                 :            : 
      64                 :            : /* Substitute the variable and function names.  */
      65                 :            : #define yyparse         SQLyyparse
      66                 :            : #define yylex           SQLyylex
      67                 :            : #define yyerror         SQLyyerror
      68                 :            : #define yylval          SQLyylval
      69                 :            : #define yychar          SQLyychar
      70                 :            : #define yydebug         SQLyydebug
      71                 :            : #define yynerrs         SQLyynerrs
      72                 :            : 
      73                 :            : 
      74                 :            : /* Copy the first part of user declarations.  */
      75                 :            : 
      76                 :            : 
      77                 :            : /*
      78                 :            :  * This file is part of the LibreOffice project.
      79                 :            :  *
      80                 :            :  * This Source Code Form is subject to the terms of the Mozilla Public
      81                 :            :  * License, v. 2.0. If a copy of the MPL was not distributed with this
      82                 :            :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
      83                 :            :  *
      84                 :            :  * This file incorporates work covered by the following license notice:
      85                 :            :  *
      86                 :            :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      87                 :            :  *   contributor license agreements. See the NOTICE file distributed
      88                 :            :  *   with this work for additional information regarding copyright
      89                 :            :  *   ownership. The ASF licenses this file to you under the Apache
      90                 :            :  *   License, Version 2.0 (the "License"); you may not use this file
      91                 :            :  *   except in compliance with the License. You may obtain a copy of
      92                 :            :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      93                 :            :  */
      94                 :            : 
      95                 :            : #include <vector>
      96                 :            : #include <string.h>
      97                 :            : #include "parse/sqlbison_exports.hxx"
      98                 :            : 
      99                 :            : #ifndef _CONNECTIVITY_SQLNODE_HXX
     100                 :            : #include <connectivity/sqlnode.hxx>
     101                 :            : #endif
     102                 :            : #ifndef _CONNECTIVITY_SQLPARSE_HXX
     103                 :            : #include <connectivity/sqlparse.hxx>
     104                 :            : #endif
     105                 :            : #ifndef _CONNECTIVITY_SQLINTERNALNODE_HXX
     106                 :            : #include <internalnode.hxx>
     107                 :            : #endif
     108                 :            : #ifndef _COM_SUN_STAR_LANG_LOCALE_HPP_
     109                 :            : #include <com/sun/star/lang/Locale.hpp>
     110                 :            : #endif
     111                 :            : #ifndef _COM_SUN_STAR_SDBC_DATATYPE_HPP_
     112                 :            : #include <com/sun/star/sdbc/DataType.hpp>
     113                 :            : #endif
     114                 :            : #ifndef _COM_SUN_STAR_UTIL_DATE_HPP_
     115                 :            : #include <com/sun/star/util/Date.hpp>
     116                 :            : #endif
     117                 :            : #ifndef _COM_SUN_STAR_UTIL_DATETIME_HPP_
     118                 :            : #include <com/sun/star/util/DateTime.hpp>
     119                 :            : #endif
     120                 :            : #ifndef _COM_SUN_STAR_UTIL_TIME_HPP_
     121                 :            : #include <com/sun/star/util/Time.hpp>
     122                 :            : #endif
     123                 :            : #ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTER_HPP_
     124                 :            : #include <com/sun/star/util/XNumberFormatter.hpp>
     125                 :            : #endif
     126                 :            : #ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATSSUPPLIER_HPP_
     127                 :            : #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
     128                 :            : #endif
     129                 :            : #ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATS_HPP_
     130                 :            : #include <com/sun/star/util/XNumberFormats.hpp>
     131                 :            : #endif
     132                 :            : #ifndef _COM_SUN_STAR_UTIL_NUMBERFORMAT_HPP_
     133                 :            : #include <com/sun/star/util/NumberFormat.hpp>
     134                 :            : #endif
     135                 :            : #ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTYPES_HPP_
     136                 :            : #include <com/sun/star/util/XNumberFormatTypes.hpp>
     137                 :            : #endif
     138                 :            : #ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
     139                 :            : #include <com/sun/star/beans/XPropertySet.hpp>
     140                 :            : #endif
     141                 :            : #ifndef _COM_SUN_STAR_I18N_KPARSETYPE_HPP_
     142                 :            : #include <com/sun/star/i18n/KParseType.hpp>
     143                 :            : #endif
     144                 :            : #ifndef _COM_SUN_STAR_I18N_KPARSETOKENS_HPP_
     145                 :            : #include <com/sun/star/i18n/KParseTokens.hpp>
     146                 :            : #endif
     147                 :            : #ifndef _CONNECTIVITY_SQLSCAN_HXX
     148                 :            : #include "sqlscan.hxx"
     149                 :            : #endif
     150                 :            : #ifndef _OSL_DIAGNOSE_H_
     151                 :            : #include <osl/diagnose.h>
     152                 :            : #endif
     153                 :            : #ifndef _DBHELPER_DBCONVERSION_HXX_
     154                 :            : #include "connectivity/dbconversion.hxx"
     155                 :            : #endif
     156                 :            : #include <rtl/ustrbuf.hxx>
     157                 :            : #include <sal/macros.h>
     158                 :            : 
     159                 :            : #if defined __SUNPRO_CC
     160                 :            : #pragma disable_warn
     161                 :            : #elif defined _MSC_VER
     162                 :            : #pragma warning(push, 1)
     163                 :            : #pragma warning(disable:4273 4701 4706)
     164                 :            : #endif
     165                 :            : 
     166                 :         56 : static ::rtl::OUString aEmptyString;
     167                 :            : 
     168                 :       2522 : static connectivity::OSQLInternalNode* newNode(const sal_Char* pNewValue,
     169                 :            :                                                              const connectivity::SQLNodeType eNodeType,
     170                 :            :                                                                  const sal_uInt32 nNodeID = 0)
     171                 :            : {
     172         [ +  - ]:       2522 :         return new connectivity::OSQLInternalNode(pNewValue, eNodeType, nNodeID);
     173                 :            : }
     174                 :            : 
     175                 :          0 : static connectivity::OSQLInternalNode* newNode(const ::rtl::OString& _NewValue,
     176                 :            :                                                             const connectivity::SQLNodeType eNodeType,
     177                 :            :                                                                 const sal_uInt32 nNodeID = 0)
     178                 :            : {
     179         [ #  # ]:          0 :         return new connectivity::OSQLInternalNode(_NewValue, eNodeType, nNodeID);
     180                 :            : }
     181                 :            : 
     182                 :      15480 : static connectivity::OSQLInternalNode* newNode(const ::rtl::OUString& _NewValue,
     183                 :            :                                                             const connectivity::SQLNodeType eNodeType,
     184                 :            :                                                                 const sal_uInt32 nNodeID = 0)
     185                 :            : {
     186         [ +  - ]:      15480 :         return new connectivity::OSQLInternalNode(_NewValue, eNodeType, nNodeID);
     187                 :            : }
     188                 :            : 
     189                 :            : 
     190                 :            : // yyi ist die interne Nr. der Regel, die gerade reduziert wird.
     191                 :            : // Ueber die Mapping-Tabelle yyrmap wird daraus eine externe Regel-Nr.
     192                 :            : #define SQL_NEW_RULE                    newNode(aEmptyString, SQL_NODE_RULE, yyr1[yyn])
     193                 :            : #define SQL_NEW_LISTRULE                newNode(aEmptyString, SQL_NODE_LISTRULE, yyr1[yyn])
     194                 :            : #define SQL_NEW_COMMALISTRULE   newNode(aEmptyString, SQL_NODE_COMMALISTRULE, yyr1[yyn])
     195                 :            : 
     196                 :            : 
     197                 :            : connectivity::OSQLParser* xxx_pGLOBAL_SQLPARSER;
     198                 :            : 
     199                 :            : #if !(defined MACOSX && defined PPC)
     200                 :            : #define YYERROR_VERBOSE
     201                 :            : #endif
     202                 :            : 
     203                 :            : #define SQLyyerror(s)                                           \
     204                 :            : {                                                                                       \
     205                 :            :         xxx_pGLOBAL_SQLPARSER->error(s);             \
     206                 :            : }
     207                 :            : 
     208                 :            : using namespace connectivity;
     209                 :            : #define SQLyylex xxx_pGLOBAL_SQLPARSER->SQLlex
     210                 :            : 
     211                 :            : 
     212                 :            : 
     213                 :            : /* Enabling traces.  */
     214                 :            : #ifndef YYDEBUG
     215                 :            : # define YYDEBUG 0
     216                 :            : #endif
     217                 :            : 
     218                 :            : /* Enabling verbose error messages.  */
     219                 :            : #ifdef YYERROR_VERBOSE
     220                 :            : # undef YYERROR_VERBOSE
     221                 :            : # define YYERROR_VERBOSE 1
     222                 :            : #else
     223                 :            : # define YYERROR_VERBOSE 0
     224                 :            : #endif
     225                 :            : 
     226                 :            : /* Enabling the token table.  */
     227                 :            : #ifndef YYTOKEN_TABLE
     228                 :            : # define YYTOKEN_TABLE 1
     229                 :            : #endif
     230                 :            : 
     231                 :            : 
     232                 :            : /* Tokens.  */
     233                 :            : #ifndef YYTOKENTYPE
     234                 :            : # define YYTOKENTYPE
     235                 :            :    /* Put the tokens into the symbol table, so that GDB and other debuggers
     236                 :            :       know about them.  */
     237                 :            :    enum yytokentype {
     238                 :            :      SQL_TOKEN_STRING = 258,
     239                 :            :      SQL_TOKEN_ACCESS_DATE = 259,
     240                 :            :      SQL_TOKEN_INT = 260,
     241                 :            :      SQL_TOKEN_REAL_NUM = 261,
     242                 :            :      SQL_TOKEN_INTNUM = 262,
     243                 :            :      SQL_TOKEN_APPROXNUM = 263,
     244                 :            :      SQL_TOKEN_NOT = 264,
     245                 :            :      SQL_TOKEN_NAME = 265,
     246                 :            :      SQL_TOKEN_UMINUS = 266,
     247                 :            :      SQL_TOKEN_ALL = 267,
     248                 :            :      SQL_TOKEN_ALTER = 268,
     249                 :            :      SQL_TOKEN_AMMSC = 269,
     250                 :            :      SQL_TOKEN_ANY = 270,
     251                 :            :      SQL_TOKEN_AS = 271,
     252                 :            :      SQL_TOKEN_ASC = 272,
     253                 :            :      SQL_TOKEN_AT = 273,
     254                 :            :      SQL_TOKEN_AUTHORIZATION = 274,
     255                 :            :      SQL_TOKEN_AVG = 275,
     256                 :            :      SQL_TOKEN_BETWEEN = 276,
     257                 :            :      SQL_TOKEN_BIT = 277,
     258                 :            :      SQL_TOKEN_BOTH = 278,
     259                 :            :      SQL_TOKEN_BY = 279,
     260                 :            :      SQL_TOKEN_CAST = 280,
     261                 :            :      SQL_TOKEN_CHARACTER = 281,
     262                 :            :      SQL_TOKEN_CHECK = 282,
     263                 :            :      SQL_TOKEN_COLLATE = 283,
     264                 :            :      SQL_TOKEN_COMMIT = 284,
     265                 :            :      SQL_TOKEN_CONTINUE = 285,
     266                 :            :      SQL_TOKEN_CONVERT = 286,
     267                 :            :      SQL_TOKEN_COUNT = 287,
     268                 :            :      SQL_TOKEN_CREATE = 288,
     269                 :            :      SQL_TOKEN_CROSS = 289,
     270                 :            :      SQL_TOKEN_CURRENT = 290,
     271                 :            :      SQL_TOKEN_CURSOR = 291,
     272                 :            :      SQL_TOKEN_DATE = 292,
     273                 :            :      SQL_TOKEN_DATEVALUE = 293,
     274                 :            :      SQL_TOKEN_DAY = 294,
     275                 :            :      SQL_TOKEN_DEC = 295,
     276                 :            :      SQL_TOKEN_DECIMAL = 296,
     277                 :            :      SQL_TOKEN_DECLARE = 297,
     278                 :            :      SQL_TOKEN_DEFAULT = 298,
     279                 :            :      SQL_TOKEN_DELETE = 299,
     280                 :            :      SQL_TOKEN_DESC = 300,
     281                 :            :      SQL_TOKEN_DISTINCT = 301,
     282                 :            :      SQL_TOKEN_DOUBLE = 302,
     283                 :            :      SQL_TOKEN_DROP = 303,
     284                 :            :      SQL_TOKEN_ESCAPE = 304,
     285                 :            :      SQL_TOKEN_EXCEPT = 305,
     286                 :            :      SQL_TOKEN_EXISTS = 306,
     287                 :            :      SQL_TOKEN_FALSE = 307,
     288                 :            :      SQL_TOKEN_FETCH = 308,
     289                 :            :      SQL_TOKEN_FLOAT = 309,
     290                 :            :      SQL_TOKEN_FOR = 310,
     291                 :            :      SQL_TOKEN_FOREIGN = 311,
     292                 :            :      SQL_TOKEN_FOUND = 312,
     293                 :            :      SQL_TOKEN_FROM = 313,
     294                 :            :      SQL_TOKEN_FULL = 314,
     295                 :            :      SQL_TOKEN_GRANT = 315,
     296                 :            :      SQL_TOKEN_GROUP = 316,
     297                 :            :      SQL_TOKEN_HAVING = 317,
     298                 :            :      SQL_TOKEN_IN = 318,
     299                 :            :      SQL_TOKEN_INDICATOR = 319,
     300                 :            :      SQL_TOKEN_INNER = 320,
     301                 :            :      SQL_TOKEN_INTEGER = 321,
     302                 :            :      SQL_TOKEN_INTO = 322,
     303                 :            :      SQL_TOKEN_IS = 323,
     304                 :            :      SQL_TOKEN_INTERSECT = 324,
     305                 :            :      SQL_TOKEN_JOIN = 325,
     306                 :            :      SQL_TOKEN_KEY = 326,
     307                 :            :      SQL_TOKEN_LEADING = 327,
     308                 :            :      SQL_TOKEN_LIKE = 328,
     309                 :            :      SQL_TOKEN_LOCAL = 329,
     310                 :            :      SQL_TOKEN_LOWER = 330,
     311                 :            :      SQL_TOKEN_MAX = 331,
     312                 :            :      SQL_TOKEN_MIN = 332,
     313                 :            :      SQL_TOKEN_NATURAL = 333,
     314                 :            :      SQL_TOKEN_NCHAR = 334,
     315                 :            :      SQL_TOKEN_NULL = 335,
     316                 :            :      SQL_TOKEN_NUMERIC = 336,
     317                 :            :      SQL_TOKEN_OCTET_LENGTH = 337,
     318                 :            :      SQL_TOKEN_OF = 338,
     319                 :            :      SQL_TOKEN_ON = 339,
     320                 :            :      SQL_TOKEN_OPTION = 340,
     321                 :            :      SQL_TOKEN_ORDER = 341,
     322                 :            :      SQL_TOKEN_OUTER = 342,
     323                 :            :      SQL_TOKEN_PRECISION = 343,
     324                 :            :      SQL_TOKEN_PRIMARY = 344,
     325                 :            :      SQL_TOKEN_PRIVILEGES = 345,
     326                 :            :      SQL_TOKEN_PROCEDURE = 346,
     327                 :            :      SQL_TOKEN_PUBLIC = 347,
     328                 :            :      SQL_TOKEN_REAL = 348,
     329                 :            :      SQL_TOKEN_REFERENCES = 349,
     330                 :            :      SQL_TOKEN_ROLLBACK = 350,
     331                 :            :      SQL_TOKEN_SCHEMA = 351,
     332                 :            :      SQL_TOKEN_SELECT = 352,
     333                 :            :      SQL_TOKEN_SET = 353,
     334                 :            :      SQL_TOKEN_SIZE = 354,
     335                 :            :      SQL_TOKEN_SMALLINT = 355,
     336                 :            :      SQL_TOKEN_SOME = 356,
     337                 :            :      SQL_TOKEN_SQLCODE = 357,
     338                 :            :      SQL_TOKEN_SQLERROR = 358,
     339                 :            :      SQL_TOKEN_SUM = 359,
     340                 :            :      SQL_TOKEN_TABLE = 360,
     341                 :            :      SQL_TOKEN_TIME = 361,
     342                 :            :      SQL_TOKEN_TIMESTAMP = 362,
     343                 :            :      SQL_TOKEN_TIMEZONE_HOUR = 363,
     344                 :            :      SQL_TOKEN_TIMEZONE_MINUTE = 364,
     345                 :            :      SQL_TOKEN_TO = 365,
     346                 :            :      SQL_TOKEN_TRAILING = 366,
     347                 :            :      SQL_TOKEN_TRANSLATE = 367,
     348                 :            :      SQL_TOKEN_TRIM = 368,
     349                 :            :      SQL_TOKEN_TRUE = 369,
     350                 :            :      SQL_TOKEN_UNION = 370,
     351                 :            :      SQL_TOKEN_UNIQUE = 371,
     352                 :            :      SQL_TOKEN_UNKNOWN = 372,
     353                 :            :      SQL_TOKEN_UPDATE = 373,
     354                 :            :      SQL_TOKEN_UPPER = 374,
     355                 :            :      SQL_TOKEN_USAGE = 375,
     356                 :            :      SQL_TOKEN_USER = 376,
     357                 :            :      SQL_TOKEN_USING = 377,
     358                 :            :      SQL_TOKEN_VALUES = 378,
     359                 :            :      SQL_TOKEN_VIEW = 379,
     360                 :            :      SQL_TOKEN_WHERE = 380,
     361                 :            :      SQL_TOKEN_WITH = 381,
     362                 :            :      SQL_TOKEN_WORK = 382,
     363                 :            :      SQL_TOKEN_ZONE = 383,
     364                 :            :      SQL_TOKEN_CALL = 384,
     365                 :            :      SQL_TOKEN_D = 385,
     366                 :            :      SQL_TOKEN_FN = 386,
     367                 :            :      SQL_TOKEN_T = 387,
     368                 :            :      SQL_TOKEN_TS = 388,
     369                 :            :      SQL_TOKEN_OJ = 389,
     370                 :            :      SQL_TOKEN_ASCII = 390,
     371                 :            :      SQL_TOKEN_BIT_LENGTH = 391,
     372                 :            :      SQL_TOKEN_CHAR = 392,
     373                 :            :      SQL_TOKEN_CHAR_LENGTH = 393,
     374                 :            :      SQL_TOKEN_SQL_TOKEN_INTNUM = 394,
     375                 :            :      SQL_TOKEN_CONCAT = 395,
     376                 :            :      SQL_TOKEN_DIFFERENCE = 396,
     377                 :            :      SQL_TOKEN_INSERT = 397,
     378                 :            :      SQL_TOKEN_LCASE = 398,
     379                 :            :      SQL_TOKEN_LEFT = 399,
     380                 :            :      SQL_TOKEN_LENGTH = 400,
     381                 :            :      SQL_TOKEN_LOCATE = 401,
     382                 :            :      SQL_TOKEN_LOCATE_2 = 402,
     383                 :            :      SQL_TOKEN_LTRIM = 403,
     384                 :            :      SQL_TOKEN_POSITION = 404,
     385                 :            :      SQL_TOKEN_REPEAT = 405,
     386                 :            :      SQL_TOKEN_REPLACE = 406,
     387                 :            :      SQL_TOKEN_RIGHT = 407,
     388                 :            :      SQL_TOKEN_RTRIM = 408,
     389                 :            :      SQL_TOKEN_SOUNDEX = 409,
     390                 :            :      SQL_TOKEN_SPACE = 410,
     391                 :            :      SQL_TOKEN_SUBSTRING = 411,
     392                 :            :      SQL_TOKEN_UCASE = 412,
     393                 :            :      SQL_TOKEN_CURRENT_DATE = 413,
     394                 :            :      SQL_TOKEN_CURRENT_TIME = 414,
     395                 :            :      SQL_TOKEN_CURRENT_TIMESTAMP = 415,
     396                 :            :      SQL_TOKEN_CURDATE = 416,
     397                 :            :      SQL_TOKEN_CURTIME = 417,
     398                 :            :      SQL_TOKEN_DAYNAME = 418,
     399                 :            :      SQL_TOKEN_DAYOFMONTH = 419,
     400                 :            :      SQL_TOKEN_DAYOFWEEK = 420,
     401                 :            :      SQL_TOKEN_DAYOFYEAR = 421,
     402                 :            :      SQL_TOKEN_EXTRACT = 422,
     403                 :            :      SQL_TOKEN_HOUR = 423,
     404                 :            :      SQL_TOKEN_MINUTE = 424,
     405                 :            :      SQL_TOKEN_MONTH = 425,
     406                 :            :      SQL_TOKEN_MONTHNAME = 426,
     407                 :            :      SQL_TOKEN_NOW = 427,
     408                 :            :      SQL_TOKEN_QUARTER = 428,
     409                 :            :      SQL_TOKEN_DATEDIFF = 429,
     410                 :            :      SQL_TOKEN_SECOND = 430,
     411                 :            :      SQL_TOKEN_TIMESTAMPADD = 431,
     412                 :            :      SQL_TOKEN_TIMESTAMPDIFF = 432,
     413                 :            :      SQL_TOKEN_TIMEVALUE = 433,
     414                 :            :      SQL_TOKEN_WEEK = 434,
     415                 :            :      SQL_TOKEN_YEAR = 435,
     416                 :            :      SQL_TOKEN_ABS = 436,
     417                 :            :      SQL_TOKEN_ACOS = 437,
     418                 :            :      SQL_TOKEN_ASIN = 438,
     419                 :            :      SQL_TOKEN_ATAN = 439,
     420                 :            :      SQL_TOKEN_ATAN2 = 440,
     421                 :            :      SQL_TOKEN_CEILING = 441,
     422                 :            :      SQL_TOKEN_COS = 442,
     423                 :            :      SQL_TOKEN_COT = 443,
     424                 :            :      SQL_TOKEN_DEGREES = 444,
     425                 :            :      SQL_TOKEN_EXP = 445,
     426                 :            :      SQL_TOKEN_FLOOR = 446,
     427                 :            :      SQL_TOKEN_LOGF = 447,
     428                 :            :      SQL_TOKEN_LOG = 448,
     429                 :            :      SQL_TOKEN_LN = 449,
     430                 :            :      SQL_TOKEN_LOG10 = 450,
     431                 :            :      SQL_TOKEN_MOD = 451,
     432                 :            :      SQL_TOKEN_PI = 452,
     433                 :            :      SQL_TOKEN_POWER = 453,
     434                 :            :      SQL_TOKEN_RADIANS = 454,
     435                 :            :      SQL_TOKEN_RAND = 455,
     436                 :            :      SQL_TOKEN_ROUNDMAGIC = 456,
     437                 :            :      SQL_TOKEN_ROUND = 457,
     438                 :            :      SQL_TOKEN_SIGN = 458,
     439                 :            :      SQL_TOKEN_SIN = 459,
     440                 :            :      SQL_TOKEN_SQRT = 460,
     441                 :            :      SQL_TOKEN_TAN = 461,
     442                 :            :      SQL_TOKEN_TRUNCATE = 462,
     443                 :            :      SQL_TOKEN_EVERY = 463,
     444                 :            :      SQL_TOKEN_INTERSECTION = 464,
     445                 :            :      SQL_TOKEN_FUSION = 465,
     446                 :            :      SQL_TOKEN_COLLECT = 466,
     447                 :            :      SQL_TOKEN_VAR_POP = 467,
     448                 :            :      SQL_TOKEN_VAR_SAMP = 468,
     449                 :            :      SQL_TOKEN_STDDEV_SAMP = 469,
     450                 :            :      SQL_TOKEN_STDDEV_POP = 470,
     451                 :            :      SQL_TOKEN_RANK = 471,
     452                 :            :      SQL_TOKEN_DENSE_RANK = 472,
     453                 :            :      SQL_TOKEN_PERCENT_RANK = 473,
     454                 :            :      SQL_TOKEN_CUME_DIST = 474,
     455                 :            :      SQL_TOKEN_PERCENTILE_CONT = 475,
     456                 :            :      SQL_TOKEN_PERCENTILE_DISC = 476,
     457                 :            :      SQL_TOKEN_WITHIN = 477,
     458                 :            :      SQL_TOKEN_ARRAY_AGG = 478,
     459                 :            :      SQL_TOKEN_CASE = 479,
     460                 :            :      SQL_TOKEN_THEN = 480,
     461                 :            :      SQL_TOKEN_END = 481,
     462                 :            :      SQL_TOKEN_NULLIF = 482,
     463                 :            :      SQL_TOKEN_COALESCE = 483,
     464                 :            :      SQL_TOKEN_WHEN = 484,
     465                 :            :      SQL_TOKEN_ELSE = 485,
     466                 :            :      SQL_TOKEN_BEFORE = 486,
     467                 :            :      SQL_TOKEN_AFTER = 487,
     468                 :            :      SQL_TOKEN_INSTEAD = 488,
     469                 :            :      SQL_TOKEN_EACH = 489,
     470                 :            :      SQL_TOKEN_REFERENCING = 490,
     471                 :            :      SQL_TOKEN_BEGIN = 491,
     472                 :            :      SQL_TOKEN_ATOMIC = 492,
     473                 :            :      SQL_TOKEN_TRIGGER = 493,
     474                 :            :      SQL_TOKEN_ROW = 494,
     475                 :            :      SQL_TOKEN_STATEMENT = 495,
     476                 :            :      SQL_TOKEN_NEW = 496,
     477                 :            :      SQL_TOKEN_OLD = 497,
     478                 :            :      SQL_TOKEN_VALUE = 498,
     479                 :            :      SQL_TOKEN_CURRENT_CATALOG = 499,
     480                 :            :      SQL_TOKEN_CURRENT_DEFAULT_TRANSFORM_GROUP = 500,
     481                 :            :      SQL_TOKEN_CURRENT_PATH = 501,
     482                 :            :      SQL_TOKEN_CURRENT_ROLE = 502,
     483                 :            :      SQL_TOKEN_CURRENT_SCHEMA = 503,
     484                 :            :      SQL_TOKEN_CURRENT_USER = 504,
     485                 :            :      SQL_TOKEN_SESSION_USER = 505,
     486                 :            :      SQL_TOKEN_SYSTEM_USER = 506,
     487                 :            :      SQL_TOKEN_VARCHAR = 507,
     488                 :            :      SQL_TOKEN_VARBINARY = 508,
     489                 :            :      SQL_TOKEN_VARYING = 509,
     490                 :            :      SQL_TOKEN_OBJECT = 510,
     491                 :            :      SQL_TOKEN_NCLOB = 511,
     492                 :            :      SQL_TOKEN_NATIONAL = 512,
     493                 :            :      SQL_TOKEN_LARGE = 513,
     494                 :            :      SQL_TOKEN_CLOB = 514,
     495                 :            :      SQL_TOKEN_BLOB = 515,
     496                 :            :      SQL_TOKEN_BIGINT = 516,
     497                 :            :      SQL_TOKEN_BINARY = 517,
     498                 :            :      SQL_TOKEN_WITHOUT = 518,
     499                 :            :      SQL_TOKEN_BOOLEAN = 519,
     500                 :            :      SQL_TOKEN_INTERVAL = 520,
     501                 :            :      SQL_TOKEN_OVER = 521,
     502                 :            :      SQL_TOKEN_ROW_NUMBER = 522,
     503                 :            :      SQL_TOKEN_NTILE = 523,
     504                 :            :      SQL_TOKEN_LEAD = 524,
     505                 :            :      SQL_TOKEN_LAG = 525,
     506                 :            :      SQL_TOKEN_RESPECT = 526,
     507                 :            :      SQL_TOKEN_IGNORE = 527,
     508                 :            :      SQL_TOKEN_NULLS = 528,
     509                 :            :      SQL_TOKEN_FIRST_VALUE = 529,
     510                 :            :      SQL_TOKEN_LAST_VALUE = 530,
     511                 :            :      SQL_TOKEN_NTH_VALUE = 531,
     512                 :            :      SQL_TOKEN_FIRST = 532,
     513                 :            :      SQL_TOKEN_LAST = 533,
     514                 :            :      SQL_TOKEN_EXCLUDE = 534,
     515                 :            :      SQL_TOKEN_OTHERS = 535,
     516                 :            :      SQL_TOKEN_TIES = 536,
     517                 :            :      SQL_TOKEN_FOLLOWING = 537,
     518                 :            :      SQL_TOKEN_UNBOUNDED = 538,
     519                 :            :      SQL_TOKEN_PRECEDING = 539,
     520                 :            :      SQL_TOKEN_RANGE = 540,
     521                 :            :      SQL_TOKEN_ROWS = 541,
     522                 :            :      SQL_TOKEN_PARTITION = 542,
     523                 :            :      SQL_TOKEN_WINDOW = 543,
     524                 :            :      SQL_TOKEN_NO = 544,
     525                 :            :      SQL_TOKEN_LIMIT = 545,
     526                 :            :      SQL_TOKEN_OFFSET = 546,
     527                 :            :      SQL_TOKEN_NEXT = 547,
     528                 :            :      SQL_TOKEN_ONLY = 548,
     529                 :            :      SQL_TOKEN_OR = 549,
     530                 :            :      SQL_TOKEN_AND = 550,
     531                 :            :      SQL_EQUAL = 551,
     532                 :            :      SQL_GREAT = 552,
     533                 :            :      SQL_LESS = 553,
     534                 :            :      SQL_NOTEQUAL = 554,
     535                 :            :      SQL_GREATEQ = 555,
     536                 :            :      SQL_LESSEQ = 556,
     537                 :            :      SQL_CONCAT = 557,
     538                 :            :      SQL_TOKEN_INVALIDSYMBOL = 558
     539                 :            :    };
     540                 :            : #endif
     541                 :            : 
     542                 :            : 
     543                 :            : 
     544                 :            : #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
     545                 :            : typedef union YYSTYPE
     546                 :            : {
     547                 :            : 
     548                 :            : 
     549                 :            :         connectivity::OSQLParseNode * pParseNode;
     550                 :            : 
     551                 :            : 
     552                 :            : 
     553                 :            : } YYSTYPE;
     554                 :            : # define YYSTYPE_IS_TRIVIAL 1
     555                 :            : # define yystype YYSTYPE /* obsolescent; will be withdrawn */
     556                 :            : # define YYSTYPE_IS_DECLARED 1
     557                 :            : #endif
     558                 :            : 
     559                 :            : 
     560                 :            : /* Copy the second part of user declarations.  */
     561                 :            : 
     562                 :            : 
     563                 :            : 
     564                 :            : #ifdef short
     565                 :            : # undef short
     566                 :            : #endif
     567                 :            : 
     568                 :            : #ifdef YYTYPE_UINT8
     569                 :            : typedef YYTYPE_UINT8 yytype_uint8;
     570                 :            : #else
     571                 :            : typedef unsigned char yytype_uint8;
     572                 :            : #endif
     573                 :            : 
     574                 :            : #ifdef YYTYPE_INT8
     575                 :            : typedef YYTYPE_INT8 yytype_int8;
     576                 :            : #elif (defined __STDC__ || defined __C99__FUNC__ \
     577                 :            :      || defined __cplusplus || defined _MSC_VER)
     578                 :            : typedef signed char yytype_int8;
     579                 :            : #else
     580                 :            : typedef short int yytype_int8;
     581                 :            : #endif
     582                 :            : 
     583                 :            : #ifdef YYTYPE_UINT16
     584                 :            : typedef YYTYPE_UINT16 yytype_uint16;
     585                 :            : #else
     586                 :            : typedef unsigned short int yytype_uint16;
     587                 :            : #endif
     588                 :            : 
     589                 :            : #ifdef YYTYPE_INT16
     590                 :            : typedef YYTYPE_INT16 yytype_int16;
     591                 :            : #else
     592                 :            : typedef short int yytype_int16;
     593                 :            : #endif
     594                 :            : 
     595                 :            : #ifndef YYSIZE_T
     596                 :            : # ifdef __SIZE_TYPE__
     597                 :            : #  define YYSIZE_T __SIZE_TYPE__
     598                 :            : # elif defined size_t
     599                 :            : #  define YYSIZE_T size_t
     600                 :            : # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
     601                 :            :      || defined __cplusplus || defined _MSC_VER)
     602                 :            : #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
     603                 :            : #  define YYSIZE_T size_t
     604                 :            : # else
     605                 :            : #  define YYSIZE_T unsigned int
     606                 :            : # endif
     607                 :            : #endif
     608                 :            : 
     609                 :            : #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
     610                 :            : 
     611                 :            : #ifndef YY_
     612                 :            : # if defined YYENABLE_NLS && YYENABLE_NLS
     613                 :            : #  if ENABLE_NLS
     614                 :            : #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
     615                 :            : #   define YY_(msgid) dgettext ("bison-runtime", msgid)
     616                 :            : #  endif
     617                 :            : # endif
     618                 :            : # ifndef YY_
     619                 :            : #  define YY_(msgid) msgid
     620                 :            : # endif
     621                 :            : #endif
     622                 :            : 
     623                 :            : /* Suppress unused-variable warnings by "using" E.  */
     624                 :            : #if ! defined lint || defined __GNUC__
     625                 :            : # define YYUSE(e) ((void) (e))
     626                 :            : #else
     627                 :            : # define YYUSE(e) /* empty */
     628                 :            : #endif
     629                 :            : 
     630                 :            : /* Identity function, used to suppress warnings about constant conditions.  */
     631                 :            : #ifndef lint
     632                 :            : # define YYID(n) (n)
     633                 :            : #else
     634                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
     635                 :            :      || defined __cplusplus || defined _MSC_VER)
     636                 :            : static int
     637                 :            : YYID (int yyi)
     638                 :            : #else
     639                 :            : static int
     640                 :            : YYID (yyi)
     641                 :            :     int yyi;
     642                 :            : #endif
     643                 :            : {
     644                 :            :   return yyi;
     645                 :            : }
     646                 :            : #endif
     647                 :            : 
     648                 :            : #if ! defined yyoverflow || YYERROR_VERBOSE
     649                 :            : 
     650                 :            : /* The parser invokes alloca or malloc; define the necessary symbols.  */
     651                 :            : 
     652                 :            : # ifdef YYSTACK_USE_ALLOCA
     653                 :            : #  if YYSTACK_USE_ALLOCA
     654                 :            : #   ifdef __GNUC__
     655                 :            : #    define YYSTACK_ALLOC __builtin_alloca
     656                 :            : #   elif defined __BUILTIN_VA_ARG_INCR
     657                 :            : #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
     658                 :            : #   elif defined _AIX
     659                 :            : #    define YYSTACK_ALLOC __alloca
     660                 :            : #   elif defined _MSC_VER
     661                 :            : #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
     662                 :            : #    define alloca _alloca
     663                 :            : #   else
     664                 :            : #    define YYSTACK_ALLOC alloca
     665                 :            : #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
     666                 :            :      || defined __cplusplus || defined _MSC_VER)
     667                 :            : #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
     668                 :            : #     ifndef EXIT_SUCCESS
     669                 :            : #      define EXIT_SUCCESS 0
     670                 :            : #     endif
     671                 :            : #    endif
     672                 :            : #   endif
     673                 :            : #  endif
     674                 :            : # endif
     675                 :            : 
     676                 :            : # ifdef YYSTACK_ALLOC
     677                 :            :    /* Pacify GCC's `empty if-body' warning.  */
     678                 :            : #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
     679                 :            : #  ifndef YYSTACK_ALLOC_MAXIMUM
     680                 :            :     /* The OS might guarantee only one guard page at the bottom of the stack,
     681                 :            :        and a page size can be as small as 4096 bytes.  So we cannot safely
     682                 :            :        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
     683                 :            :        to allow for a few compiler-allocated temporary stack slots.  */
     684                 :            : #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
     685                 :            : #  endif
     686                 :            : # else
     687                 :            : #  define YYSTACK_ALLOC YYMALLOC
     688                 :            : #  define YYSTACK_FREE YYFREE
     689                 :            : #  ifndef YYSTACK_ALLOC_MAXIMUM
     690                 :            : #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
     691                 :            : #  endif
     692                 :            : #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
     693                 :            :        && ! ((defined YYMALLOC || defined malloc) \
     694                 :            :              && (defined YYFREE || defined free)))
     695                 :            : #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
     696                 :            : #   ifndef EXIT_SUCCESS
     697                 :            : #    define EXIT_SUCCESS 0
     698                 :            : #   endif
     699                 :            : #  endif
     700                 :            : #  ifndef YYMALLOC
     701                 :            : #   define YYMALLOC malloc
     702                 :            : #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
     703                 :            :      || defined __cplusplus || defined _MSC_VER)
     704                 :            : void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
     705                 :            : #   endif
     706                 :            : #  endif
     707                 :            : #  ifndef YYFREE
     708                 :            : #   define YYFREE free
     709                 :            : #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
     710                 :            :      || defined __cplusplus || defined _MSC_VER)
     711                 :            : void free (void *); /* INFRINGES ON USER NAME SPACE */
     712                 :            : #   endif
     713                 :            : #  endif
     714                 :            : # endif
     715                 :            : #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
     716                 :            : 
     717                 :            : 
     718                 :            : #if (! defined yyoverflow \
     719                 :            :      && (! defined __cplusplus \
     720                 :            :          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
     721                 :            : 
     722                 :            : /* A type that is properly aligned for any stack member.  */
     723                 :            : union yyalloc
     724                 :            : {
     725                 :            :   yytype_int16 yyss_alloc;
     726                 :            :   YYSTYPE yyvs_alloc;
     727                 :            : };
     728                 :            : 
     729                 :            : /* The size of the maximum gap between one aligned stack and the next.  */
     730                 :            : # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
     731                 :            : 
     732                 :            : /* The size of an array large to enough to hold all stacks, each with
     733                 :            :    N elements.  */
     734                 :            : # define YYSTACK_BYTES(N) \
     735                 :            :      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
     736                 :            :       + YYSTACK_GAP_MAXIMUM)
     737                 :            : 
     738                 :            : # define YYCOPY_NEEDED 1
     739                 :            : 
     740                 :            : /* Relocate STACK from its old location to the new one.  The
     741                 :            :    local variables YYSIZE and YYSTACKSIZE give the old and new number of
     742                 :            :    elements in the stack, and YYPTR gives the new location of the
     743                 :            :    stack.  Advance YYPTR to a properly aligned location for the next
     744                 :            :    stack.  */
     745                 :            : # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
     746                 :            :     do                                                                  \
     747                 :            :       {                                                                 \
     748                 :            :         YYSIZE_T yynewbytes;                                            \
     749                 :            :         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                     \
     750                 :            :         Stack = &yyptr->Stack_alloc;                                     \
     751                 :            :         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
     752                 :            :         yyptr += yynewbytes / sizeof (*yyptr);                          \
     753                 :            :       }                                                                 \
     754                 :            :     while (YYID (0))
     755                 :            : 
     756                 :            : #endif
     757                 :            : 
     758                 :            : #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
     759                 :            : /* Copy COUNT objects from FROM to TO.  The source and destination do
     760                 :            :    not overlap.  */
     761                 :            : # ifndef YYCOPY
     762                 :            : #  if defined __GNUC__ && 1 < __GNUC__
     763                 :            : #   define YYCOPY(To, From, Count) \
     764                 :            :       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
     765                 :            : #  else
     766                 :            : #   define YYCOPY(To, From, Count)              \
     767                 :            :       do                                        \
     768                 :            :         {                                       \
     769                 :            :           YYSIZE_T yyi;                         \
     770                 :            :           for (yyi = 0; yyi < (Count); yyi++)        \
     771                 :            :             (To)[yyi] = (From)[yyi];            \
     772                 :            :         }                                       \
     773                 :            :       while (YYID (0))
     774                 :            : #  endif
     775                 :            : # endif
     776                 :            : #endif /* !YYCOPY_NEEDED */
     777                 :            : 
     778                 :            : /* YYFINAL -- State number of the termination state.  */
     779                 :            : #define YYFINAL  373
     780                 :            : /* YYLAST -- Last index in YYTABLE.  */
     781                 :            : #define YYLAST   8637
     782                 :            : 
     783                 :            : /* YYNTOKENS -- Number of terminals.  */
     784                 :            : #define YYNTOKENS  325
     785                 :            : /* YYNNTS -- Number of nonterminals.  */
     786                 :            : #define YYNNTS  345
     787                 :            : /* YYNRULES -- Number of rules.  */
     788                 :            : #define YYNRULES  791
     789                 :            : /* YYNRULES -- Number of states.  */
     790                 :            : #define YYNSTATES  1310
     791                 :            : 
     792                 :            : /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     793                 :            : #define YYUNDEFTOK  2
     794                 :            : #define YYMAXUTOK   558
     795                 :            : 
     796                 :            : #define YYTRANSLATE(YYX)                                                \
     797                 :            :   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
     798                 :            : 
     799                 :            : /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
     800                 :            : static const yytype_uint16 yytranslate[] =
     801                 :            : {
     802                 :            :        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     803                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     804                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     805                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     806                 :            :        3,     4,   321,   318,     5,   319,    13,   322,     2,     2,
     807                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     6,     7,
     808                 :            :        2,   323,     2,     8,     2,     2,     2,     2,     2,     2,
     809                 :            :        2,    16,     2,     2,     2,    14,     2,    15,     2,     2,
     810                 :            :       18,     2,     2,     2,    17,     2,     2,     2,     2,     2,
     811                 :            :        2,     9,     2,    10,     2,     2,     2,     2,     2,     2,
     812                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     813                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     814                 :            :        2,     2,     2,    11,     2,    12,     2,     2,     2,     2,
     815                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     816                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     817                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     818                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     819                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     820                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     821                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     822                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     823                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     824                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     825                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     826                 :            :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     827                 :            :        2,     2,     2,     2,     2,     2,     1,     2,    19,    20,
     828                 :            :       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
     829                 :            :       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
     830                 :            :       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
     831                 :            :       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
     832                 :            :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
     833                 :            :       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
     834                 :            :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
     835                 :            :       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
     836                 :            :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
     837                 :            :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     838                 :            :      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
     839                 :            :      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
     840                 :            :      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
     841                 :            :      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
     842                 :            :      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
     843                 :            :      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
     844                 :            :      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
     845                 :            :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     846                 :            :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
     847                 :            :      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
     848                 :            :      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
     849                 :            :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     850                 :            :      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
     851                 :            :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
     852                 :            :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
     853                 :            :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
     854                 :            :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
     855                 :            :      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
     856                 :            :      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     857                 :            :      311,   312,   313,   314,   315,   316,   317,   320,   324
     858                 :            : };
     859                 :            : 
     860                 :            : #if YYDEBUG
     861                 :            : /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
     862                 :            :    YYRHS.  */
     863                 :            : static const yytype_uint16 yyprhs[] =
     864                 :            : {
     865                 :            :        0,     0,     3,     5,     8,    10,    12,    14,    16,    18,
     866                 :            :       20,    27,    29,    33,    35,    37,    41,    42,    45,    47,
     867                 :            :       49,    52,    55,    57,    60,    63,    66,    69,    71,    76,
     868                 :            :       79,    85,    90,    98,   109,   114,   115,   119,   123,   125,
     869                 :            :      133,   134,   138,   139,   143,   151,   152,   156,   159,   161,
     870                 :            :      163,   167,   169,   172,   174,   177,   180,   182,   184,   188,
     871                 :            :      190,   192,   193,   197,   199,   203,   206,   209,   210,   212,
     872                 :            :      214,   215,   217,   219,   221,   223,   225,   227,   229,   231,
     873                 :            :      233,   237,   239,   244,   247,   252,   257,   263,   268,   270,
     874                 :            :      274,   276,   278,   280,   283,   290,   291,   293,   295,   297,
     875                 :            :      301,   305,   307,   309,   315,   317,   321,   323,   324,   326,
     876                 :            :      328,   333,   335,   337,   338,   340,   344,   345,   347,   349,
     877                 :            :      351,   353,   355,   356,   358,   364,   366,   368,   369,   371,
     878                 :            :      372,   375,   379,   389,   392,   394,   398,   399,   401,   402,
     879                 :            :      404,   405,   409,   412,   416,   418,   423,   427,   430,   431,
     880                 :            :      435,   437,   439,   443,   447,   448,   451,   453,   455,   457,
     881                 :            :      459,   461,   465,   467,   471,   473,   478,   480,   483,   485,
     882                 :            :      489,   491,   495,   497,   499,   501,   503,   505,   507,   509,
     883                 :            :      511,   514,   518,   521,   523,   525,   527,   529,   531,   533,
     884                 :            :      538,   541,   547,   550,   552,   557,   562,   565,   568,   570,
     885                 :            :      572,   573,   576,   581,   585,   588,   590,   592,   596,   600,
     886                 :            :      603,   605,   609,   612,   614,   616,   618,   620,   623,   626,
     887                 :            :      630,   632,   636,   638,   640,   642,   644,   646,   648,   650,
     888                 :            :      653,   656,   659,   662,   663,   666,   668,   675,   680,   682,
     889                 :            :      684,   686,   691,   696,   701,   706,   708,   710,   712,   714,
     890                 :            :      716,   718,   720,   722,   724,   726,   733,   735,   737,   739,
     891                 :            :      741,   743,   745,   747,   749,   751,   753,   755,   757,   759,
     892                 :            :      761,   763,   765,   767,   771,   775,   779,   784,   789,   794,
     893                 :            :      799,   804,   809,   814,   816,   818,   820,   822,   824,   826,
     894                 :            :      828,   830,   832,   834,   836,   838,   840,   842,   844,   846,
     895                 :            :      848,   850,   852,   854,   856,   858,   860,   862,   864,   866,
     896                 :            :      868,   870,   872,   874,   876,   878,   880,   882,   884,   886,
     897                 :            :      888,   890,   892,   894,   896,   898,   900,   902,   904,   906,
     898                 :            :      908,   910,   912,   914,   916,   918,   920,   922,   924,   926,
     899                 :            :      928,   930,   932,   934,   936,   938,   940,   942,   944,   946,
     900                 :            :      948,   950,   952,   954,   956,   958,   960,   962,   964,   966,
     901                 :            :      968,   970,   974,   978,   982,   984,   986,   988,   990,   992,
     902                 :            :      997,   999,  1001,  1003,  1005,  1006,  1009,  1014,  1015,  1017,
     903                 :            :     1024,  1026,  1028,  1030,  1032,  1034,  1037,  1040,  1046,  1048,
     904                 :            :     1050,  1051,  1053,  1062,  1064,  1066,  1069,  1072,  1074,  1076,
     905                 :            :     1078,  1080,  1081,  1083,  1086,  1090,  1092,  1096,  1098,  1102,
     906                 :            :     1103,  1105,  1106,  1108,  1109,  1111,  1116,  1118,  1122,  1126,
     907                 :            :     1128,  1131,  1132,  1134,  1138,  1140,  1142,  1144,  1146,  1149,
     908                 :            :     1151,  1154,  1157,  1162,  1164,  1166,  1168,  1171,  1173,  1176,
     909                 :            :     1180,  1183,  1186,  1190,  1191,  1194,  1199,  1200,  1204,  1206,
     910                 :            :     1210,  1211,  1213,  1215,  1218,  1221,  1223,  1225,  1227,  1233,
     911                 :            :     1238,  1244,  1246,  1248,  1250,  1252,  1254,  1256,  1258,  1260,
     912                 :            :     1262,  1264,  1266,  1268,  1270,  1272,  1274,  1276,  1278,  1280,
     913                 :            :     1286,  1294,  1295,  1301,  1303,  1309,  1311,  1313,  1315,  1321,
     914                 :            :     1323,  1325,  1327,  1329,  1331,  1333,  1335,  1338,  1340,  1342,
     915                 :            :     1343,  1345,  1347,  1350,  1355,  1361,  1367,  1369,  1371,  1376,
     916                 :            :     1378,  1380,  1382,  1386,  1388,  1393,  1395,  1397,  1402,  1407,
     917                 :            :     1408,  1410,  1412,  1414,  1416,  1418,  1420,  1427,  1429,  1431,
     918                 :            :     1433,  1435,  1437,  1439,  1443,  1445,  1447,  1449,  1451,  1454,
     919                 :            :     1457,  1459,  1463,  1467,  1469,  1473,  1477,  1479,  1481,  1483,
     920                 :            :     1485,  1488,  1490,  1492,  1495,  1497,  1499,  1501,  1503,  1505,
     921                 :            :     1507,  1509,  1512,  1514,  1517,  1520,  1523,  1527,  1529,  1533,
     922                 :            :     1539,  1547,  1549,  1553,  1557,  1559,  1563,  1569,  1573,  1575,
     923                 :            :     1579,  1583,  1585,  1587,  1589,  1591,  1593,  1595,  1599,  1603,
     924                 :            :     1605,  1607,  1610,  1612,  1615,  1617,  1619,  1621,  1629,  1631,
     925                 :            :     1633,  1634,  1636,  1638,  1640,  1642,  1644,  1645,  1648,  1656,
     926                 :            :     1661,  1663,  1665,  1670,  1677,  1684,  1691,  1696,  1701,  1705,
     927                 :            :     1709,  1712,  1714,  1716,  1718,  1720,  1723,  1725,  1727,  1729,
     928                 :            :     1733,  1737,  1741,  1743,  1745,  1749,  1755,  1763,  1771,  1773,
     929                 :            :     1775,  1777,  1778,  1782,  1783,  1785,  1789,  1792,  1794,  1796,
     930                 :            :     1798,  1800,  1802,  1805,  1808,  1812,  1816,  1819,  1821,  1822,
     931                 :            :     1824,  1828,  1829,  1831,  1835,  1838,  1839,  1841,  1843,  1845,
     932                 :            :     1847,  1849,  1854,  1859,  1862,  1866,  1870,  1873,  1878,  1883,
     933                 :            :     1887,  1889,  1895,  1900,  1903,  1906,  1910,  1913,  1915,  1920,
     934                 :            :     1923,  1925,  1927,  1928,  1932,  1938,  1941,  1944,  1947,  1949,
     935                 :            :     1951,  1953,  1955,  1960,  1962,  1964,  1966,  1969,  1971,  1973,
     936                 :            :     1977,  1981,  1982,  1986,  1990,  1993,  1995,  1997,  1999,  2001,
     937                 :            :     2003,  2005,  2010,  2015,  2020,  2022,  2024,  2030,  2035,  2037,
     938                 :            :     2040,  2045,  2047,  2051,  2053,  2055,  2057,  2059,  2061,  2063,
     939                 :            :     2065,  2068,  2073,  2074,  2077,  2079,  2081,  2083,  2085,  2088,
     940                 :            :     2090,  2094,  2095,  2098,  2100,  2102,  2106,  2116,  2117,  2120,
     941                 :            :     2122,  2124,  2127,  2129,  2131,  2134,  2135,  2138,  2140,  2144,
     942                 :            :     2145,  2149,  2151,  2153,  2154,  2157,  2159,  2165,  2167,  2171,
     943                 :            :     2173,  2175,  2178,  2183,  2188,  2193,  2198,  2200,  2202,  2204,
     944                 :            :     2206,  2208
     945                 :            : };
     946                 :            : 
     947                 :            : /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
     948                 :            : static const yytype_int16 yyrhs[] =
     949                 :            : {
     950                 :            :      326,     0,    -1,   327,    -1,   327,     7,    -1,   355,    -1,
     951                 :            :      328,    -1,   329,    -1,   340,    -1,   343,    -1,   649,    -1,
     952                 :            :       49,   121,   599,     3,   330,     4,    -1,   331,    -1,   330,
     953                 :            :        5,   331,    -1,   332,    -1,   337,    -1,   629,   605,   333,
     954                 :            :       -1,    -1,   333,   336,    -1,   558,    -1,   132,    -1,   105,
     955                 :            :       87,    -1,    25,    96,    -1,   335,    -1,    59,   432,    -1,
     956                 :            :       59,    96,    -1,    59,   137,    -1,    59,   334,    -1,    43,
     957                 :            :       -1,    43,     3,   407,     4,    -1,   110,   599,    -1,   110,
     958                 :            :      599,     3,   339,     4,    -1,   335,     3,   339,     4,    -1,
     959                 :            :       72,    87,     3,   339,     4,   110,   599,    -1,    72,    87,
     960                 :            :        3,   339,     4,   110,   599,     3,   339,     4,    -1,    43,
     961                 :            :        3,   407,     4,    -1,    -1,     3,   339,     4,    -1,   339,
     962                 :            :        5,   629,    -1,   629,    -1,    49,   140,   599,   342,    32,
     963                 :            :      376,   341,    -1,    -1,   142,    43,   101,    -1,    -1,     3,
     964                 :            :      339,     4,    -1,    76,   345,   100,   599,   126,   348,   344,
     965                 :            :       -1,    -1,   142,    76,   101,    -1,    28,   106,    -1,   346,
     966                 :            :       -1,   347,    -1,   346,     5,   347,    -1,   113,    -1,   158,
     967                 :            :      342,    -1,    60,    -1,   134,   342,    -1,   110,   342,    -1,
     968                 :            :      136,    -1,   349,    -1,   348,     5,   349,    -1,   108,    -1,
     969                 :            :      648,    -1,    -1,   102,    40,   351,    -1,   352,    -1,   351,
     970                 :            :        5,   352,    -1,   408,   353,    -1,   364,   353,    -1,    -1,
     971                 :            :       33,    -1,    61,    -1,    -1,    25,    -1,   357,    -1,   358,
     972                 :            :       -1,   359,    -1,   360,    -1,   365,    -1,   366,    -1,   371,
     973                 :            :       -1,   356,    -1,    11,   516,    12,    -1,   376,    -1,   356,
     974                 :            :      131,   546,   376,    -1,    45,   143,    -1,    60,    74,   599,
     975                 :            :      374,    -1,    69,   645,    83,   372,    -1,   158,    83,   599,
     976                 :            :      342,   547,    -1,   139,     3,   362,     4,    -1,   363,    -1,
     977                 :            :      362,     5,   363,    -1,   364,    -1,   575,    -1,    59,    -1,
     978                 :            :      111,   143,    -1,   113,   367,   377,    83,   372,   390,    -1,
     979                 :            :       -1,    28,    -1,    62,    -1,   369,    -1,   368,     5,   369,
     980                 :            :       -1,   629,   312,   370,    -1,   575,    -1,    59,    -1,   134,
     981                 :            :      599,   114,   368,   374,    -1,   373,    -1,   372,     5,   373,
     982                 :            :       -1,   431,    -1,    -1,   397,    -1,   543,    -1,   113,   367,
     983                 :            :      377,   390,    -1,   321,    -1,   429,    -1,    -1,   379,    -1,
     984                 :            :      307,   385,   382,    -1,    -1,   386,    -1,   293,    -1,   308,
     985                 :            :       -1,   255,    -1,   302,    -1,    -1,   384,    -1,    69,   381,
     986                 :            :      380,   382,   309,    -1,   432,    -1,   432,    -1,    -1,   389,
     987                 :            :       -1,    -1,   307,    23,    -1,   306,    23,   388,    -1,   391,
     988                 :            :      374,   398,   400,   489,   350,   387,   378,   383,    -1,    74,
     989                 :            :      392,    -1,   396,    -1,   392,     5,   396,    -1,    -1,    32,
     990                 :            :       -1,    -1,   255,    -1,    -1,   393,    26,   338,    -1,   599,
     991                 :            :      395,    -1,   428,   647,   338,    -1,   539,    -1,    11,   150,
     992                 :            :      539,    12,    -1,     3,   539,     4,    -1,   141,   407,    -1,
     993                 :            :       -1,    77,    40,   399,    -1,   603,    -1,   446,    -1,   399,
     994                 :            :        5,   603,    -1,   399,     5,   446,    -1,    -1,    78,   407,
     995                 :            :       -1,   130,    -1,    68,    -1,   133,    -1,    96,    -1,   408,
     996                 :            :       -1,     3,   407,     4,    -1,   364,    -1,     3,   407,     4,
     997                 :            :       -1,   402,    -1,   402,    84,   354,   401,    -1,   404,    -1,
     998                 :            :       25,   404,    -1,   405,    -1,   406,   311,   405,    -1,   406,
     999                 :            :       -1,   407,   310,   406,    -1,   410,    -1,   413,    -1,   424,
    1000                 :            :       -1,   426,    -1,   427,    -1,   419,    -1,   422,    -1,   416,
    1001                 :            :       -1,   411,   363,    -1,   363,   411,   363,    -1,   411,   363,
    1002                 :            :       -1,   314,    -1,   315,    -1,   312,    -1,   313,    -1,   317,
    1003                 :            :       -1,   316,    -1,    84,   354,    62,    74,    -1,    84,   354,
    1004                 :            :       -1,   354,    37,   363,   311,   363,    -1,   363,   412,    -1,
    1005                 :            :      412,    -1,   354,    89,   576,   417,    -1,   354,    89,   552,
    1006                 :            :      417,    -1,   363,   414,    -1,   363,   415,    -1,   414,    -1,
    1007                 :            :      415,    -1,    -1,    65,   576,    -1,    11,    65,    19,    12,
    1008                 :            :       -1,    84,   354,    96,    -1,   363,   418,    -1,   418,    -1,
    1009                 :            :      428,    -1,     3,   572,     4,    -1,   354,    79,   420,    -1,
    1010                 :            :      363,   421,    -1,   421,    -1,   411,   425,   428,    -1,   363,
    1011                 :            :      423,    -1,   423,    -1,    31,    -1,    28,    -1,   117,    -1,
    1012                 :            :       67,   428,    -1,   132,   428,    -1,     3,   547,     4,    -1,
    1013                 :            :      430,    -1,   429,     5,   430,    -1,   598,    -1,   646,    -1,
    1014                 :            :       21,    -1,    22,    -1,    23,    -1,    24,    -1,    20,    -1,
    1015                 :            :      432,    19,    -1,   432,    21,    -1,   432,    22,    -1,   432,
    1016                 :            :       24,    -1,    -1,    32,   629,    -1,   629,    -1,   165,     3,
    1017                 :            :      575,    79,   575,     4,    -1,   165,     3,   572,     4,    -1,
    1018                 :            :      434,    -1,   443,    -1,   439,    -1,   154,     3,   575,     4,
    1019                 :            :       -1,   155,     3,   575,     4,    -1,    98,     3,   575,     4,
    1020                 :            :       -1,   152,     3,   575,     4,    -1,   436,    -1,   437,    -1,
    1021                 :            :      438,    -1,   564,    -1,   191,    -1,   442,    -1,   440,    -1,
    1022                 :            :      575,    -1,   124,    -1,   125,    -1,   183,     3,   441,    74,
    1023                 :            :      575,     4,    -1,   445,    -1,   432,    -1,   646,    -1,   137,
    1024                 :            :       -1,    96,    -1,    68,    -1,   130,    -1,   259,    -1,   260,
    1025                 :            :       -1,   261,    -1,   262,    -1,   263,    -1,   264,    -1,   265,
    1026                 :            :       -1,   266,    -1,   267,    -1,   522,    -1,    11,   520,    12,
    1027                 :            :       -1,   453,     3,     4,    -1,   447,     3,     4,    -1,   448,
    1028                 :            :        3,   573,     4,    -1,   449,     3,   569,     4,    -1,   452,
    1029                 :            :        3,   570,     4,    -1,   457,     3,   571,     4,    -1,   453,
    1030                 :            :        3,   574,     4,    -1,   450,     3,   574,     4,    -1,   451,
    1031                 :            :        3,   574,     4,    -1,   459,    -1,   462,    -1,   454,    -1,
    1032                 :            :      460,    -1,   463,    -1,   455,    -1,   464,    -1,   218,    -1,
    1033                 :            :      195,    -1,   208,    -1,   209,    -1,   162,    -1,   190,    -1,
    1034                 :            :      456,    -1,   458,    -1,   461,    -1,   465,    -1,    26,    -1,
    1035                 :            :      161,    -1,   151,    -1,   159,    -1,   164,    -1,   169,    -1,
    1036                 :            :      171,    -1,   173,    -1,   166,    -1,   160,    -1,   168,    -1,
    1037                 :            :      167,    -1,   158,    -1,   153,    -1,   156,    -1,   157,    -1,
    1038                 :            :      163,    -1,   170,    -1,   177,    -1,   178,    -1,   188,    -1,
    1039                 :            :      181,    -1,   180,    -1,   182,    -1,   186,    -1,   179,    -1,
    1040                 :            :      187,    -1,   189,    -1,   184,    -1,   185,    -1,   191,    -1,
    1041                 :            :      196,    -1,    55,    -1,   194,    -1,    54,    -1,   192,    -1,
    1042                 :            :      193,    -1,   213,    -1,   197,    -1,   198,    -1,   199,    -1,
    1043                 :            :      200,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,
    1044                 :            :      207,    -1,   219,    -1,   220,    -1,   221,    -1,   222,    -1,
    1045                 :            :      206,    -1,   211,    -1,   210,    -1,   215,    -1,   217,    -1,
    1046                 :            :      201,    -1,   212,    -1,   214,    -1,   216,    -1,   223,    -1,
    1047                 :            :      467,   282,   487,    -1,   532,     3,     4,    -1,   283,     3,
    1048                 :            :        4,    -1,   522,    -1,   468,    -1,   474,    -1,   480,    -1,
    1049                 :            :      483,    -1,   284,     3,   471,     4,    -1,   646,    -1,   432,
    1050                 :            :       -1,   470,    -1,   469,    -1,    -1,     5,   477,    -1,     5,
    1051                 :            :      477,     5,   478,    -1,    -1,   479,    -1,   475,     3,   476,
    1052                 :            :      472,     4,   473,    -1,   285,    -1,   286,    -1,   575,    -1,
    1053                 :            :       23,    -1,   575,    -1,   287,   289,    -1,   288,   289,    -1,
    1054                 :            :      481,     3,   575,     4,   473,    -1,   290,    -1,   291,    -1,
    1055                 :            :       -1,   485,    -1,   292,     3,   575,     5,   484,     4,   482,
    1056                 :            :      473,    -1,   470,    -1,   469,    -1,    74,   293,    -1,    74,
    1057                 :            :      294,    -1,    26,    -1,   486,    -1,   488,    -1,   494,    -1,
    1058                 :            :       -1,   490,    -1,   304,   491,    -1,   491,     5,   492,    -1,
    1059                 :            :      492,    -1,   493,    32,   494,    -1,   486,    -1,     3,   498,
    1060                 :            :        4,    -1,    -1,   499,    -1,    -1,   500,    -1,    -1,   504,
    1061                 :            :       -1,   495,   496,   350,   497,    -1,   486,    -1,   303,    40,
    1062                 :            :      501,    -1,   501,     5,   502,    -1,   502,    -1,   603,   607,
    1063                 :            :       -1,    -1,   514,    -1,   505,   506,   503,    -1,   302,    -1,
    1064                 :            :      301,    -1,   507,    -1,   509,    -1,   299,   300,    -1,   508,
    1065                 :            :       -1,    51,   255,    -1,   444,   300,    -1,    37,   510,   311,
    1066                 :            :      511,    -1,   512,    -1,   512,    -1,   507,    -1,   299,   298,
    1067                 :            :       -1,   513,    -1,   444,   298,    -1,   295,    51,   255,    -1,
    1068                 :            :      295,    77,    -1,   295,   297,    -1,   295,   305,   296,    -1,
    1069                 :            :       -1,     8,   312,    -1,   515,   145,   599,   517,    -1,    -1,
    1070                 :            :        3,   518,     4,    -1,   519,    -1,   518,     5,   519,    -1,
    1071                 :            :       -1,   432,    -1,   646,    -1,   521,    19,    -1,   147,   446,
    1072                 :            :       -1,   146,    -1,   148,    -1,   149,    -1,   523,     3,   367,
    1073                 :            :      573,     4,    -1,    48,     3,   321,     4,    -1,    48,     3,
    1074                 :            :      367,   573,     4,    -1,   524,    -1,   531,    -1,    36,    -1,
    1075                 :            :       92,    -1,    93,    -1,   120,    -1,   224,    -1,    31,    -1,
    1076                 :            :      117,    -1,   231,    -1,   230,    -1,   229,    -1,   228,    -1,
    1077                 :            :      227,    -1,   226,    -1,   225,    -1,   525,    -1,   528,    -1,
    1078                 :            :      532,     3,   527,     4,   526,    -1,   532,     3,   527,    40,
    1079                 :            :      572,     4,   526,    -1,    -1,   238,    77,     3,   350,     4,
    1080                 :            :       -1,   572,    -1,   530,     3,   529,     4,   526,    -1,   556,
    1081                 :            :       -1,   236,    -1,   237,    -1,   239,     3,   575,   350,     4,
    1082                 :            :       -1,   232,    -1,   233,    -1,   234,    -1,   235,    -1,   160,
    1083                 :            :       -1,   168,    -1,    75,    -1,   100,   407,    -1,   534,    -1,
    1084                 :            :      540,    -1,    -1,    81,    -1,   533,    -1,   533,   103,    -1,
    1085                 :            :      396,    50,    86,   396,    -1,   396,    94,   536,    86,   396,
    1086                 :            :       -1,   396,   536,    86,   396,   535,    -1,   537,    -1,   538,
    1087                 :            :       -1,   138,     3,   339,     4,    -1,   376,    -1,   361,    -1,
    1088                 :            :      541,    -1,     3,   545,     4,    -1,   542,    -1,   375,    85,
    1089                 :            :      546,   544,    -1,   542,    -1,   543,    -1,   547,   131,   546,
    1090                 :            :      375,    -1,   547,    66,   546,   375,    -1,    -1,    28,    -1,
    1091                 :            :      545,    -1,   428,    -1,   575,    -1,   599,    -1,   605,    -1,
    1092                 :            :       41,     3,   549,    32,   550,     4,    -1,   444,    -1,   603,
    1093                 :            :       -1,   446,    -1,   548,    -1,   630,    -1,   466,    -1,     3,
    1094                 :            :      575,     4,    -1,   551,    -1,   552,    -1,   435,    -1,   553,
    1095                 :            :       -1,   319,   553,    -1,   318,   553,    -1,   554,    -1,   555,
    1096                 :            :      321,   554,    -1,   555,   322,   554,    -1,   555,    -1,   556,
    1097                 :            :      318,   555,    -1,   556,   319,   555,    -1,   558,    -1,   174,
    1098                 :            :       -1,   175,    -1,   176,    -1,    34,   560,    -1,    90,    -1,
    1099                 :            :      557,    -1,   557,   559,    -1,   561,    -1,   562,    -1,   196,
    1100                 :            :       -1,   186,    -1,    55,    -1,   184,    -1,   185,    -1,   564,
    1101                 :            :      610,    -1,   564,    -1,   191,   610,    -1,   564,   610,    -1,
    1102                 :            :      191,   622,    -1,   565,   126,   566,    -1,   567,    -1,   573,
    1103                 :            :        5,   573,    -1,   573,     5,   573,     5,   573,    -1,   573,
    1104                 :            :        5,   573,     5,   573,     5,   573,    -1,   575,    -1,   572,
    1105                 :            :        5,   575,    -1,   572,     7,   575,    -1,   642,    -1,   575,
    1106                 :            :      411,   575,    -1,   575,   138,   575,   411,   575,    -1,   575,
    1107                 :            :       40,   572,    -1,   573,    -1,   574,     5,   573,    -1,   574,
    1108                 :            :        7,   573,    -1,   556,    -1,   576,    -1,   563,    -1,   577,
    1109                 :            :       -1,   581,    -1,   578,    -1,   577,   318,   581,    -1,   575,
    1110                 :            :      320,   575,    -1,    19,    -1,   582,    -1,    44,   599,    -1,
    1111                 :            :      579,    -1,   579,   580,    -1,   588,    -1,   583,    -1,   584,
    1112                 :            :       -1,   172,     3,   585,    74,   576,   589,     4,    -1,   586,
    1113                 :            :       -1,   587,    -1,    -1,   590,    -1,   592,    -1,   593,    -1,
    1114                 :            :      594,    -1,   595,    -1,    -1,    71,   575,    -1,   172,     3,
    1115                 :            :      575,    74,   575,   589,     4,    -1,   172,     3,   572,     4,
    1116                 :            :       -1,   135,    -1,    91,    -1,   591,     3,   575,     4,    -1,
    1117                 :            :       47,     3,   576,   138,   599,     4,    -1,    47,     3,   549,
    1118                 :            :        5,   550,     4,    -1,   128,     3,   576,   138,   599,     4,
    1119                 :            :       -1,   129,     3,   596,     4,    -1,   597,   575,    74,   575,
    1120                 :            :       -1,   597,    74,   575,    -1,   575,    74,   575,    -1,    74,
    1121                 :            :      575,    -1,   575,    -1,    39,    -1,    88,    -1,   127,    -1,
    1122                 :            :      575,   433,    -1,   602,    -1,   601,    -1,   600,    -1,    26,
    1123                 :            :       13,   601,    -1,    26,     6,   601,    -1,    26,    13,   602,
    1124                 :            :       -1,    26,    -1,   629,    -1,    26,    13,   604,    -1,    26,
    1125                 :            :       13,    26,    13,   604,    -1,    26,    13,    26,    13,    26,
    1126                 :            :       13,   604,    -1,    26,     6,    26,    13,    26,    13,   604,
    1127                 :            :       -1,   629,    -1,   321,    -1,   608,    -1,    -1,    42,   114,
    1128                 :            :       26,    -1,    -1,   580,    -1,   609,   606,   607,    -1,   617,
    1129                 :            :      607,    -1,   619,    -1,   621,    -1,   625,    -1,   626,    -1,
    1130                 :            :      628,    -1,    42,   610,    -1,   153,   610,    -1,    42,   270,
    1131                 :            :      611,    -1,   153,   270,   611,    -1,   268,   611,    -1,   616,
    1132                 :            :       -1,    -1,   611,    -1,     3,    23,     4,    -1,    -1,   613,
    1133                 :            :       -1,     3,   614,     4,    -1,    23,   615,    -1,    -1,    14,
    1134                 :            :       -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    42,
    1135                 :            :      274,   271,   612,    -1,   153,   274,   271,   612,    -1,   275,
    1136                 :            :      612,    -1,   273,    42,   610,    -1,   273,   153,   610,    -1,
    1137                 :            :       95,   610,    -1,   273,    42,   270,   611,    -1,   273,   153,
    1138                 :            :      270,   611,    -1,    95,   270,   611,    -1,   618,    -1,   273,
    1139                 :            :       42,   274,   271,   612,    -1,    95,   274,   271,   612,    -1,
    1140                 :            :      272,   612,    -1,   278,   610,    -1,   278,   270,   611,    -1,
    1141                 :            :      269,   611,    -1,   620,    -1,   278,   274,   271,   612,    -1,
    1142                 :            :      276,   612,    -1,   623,    -1,   624,    -1,    -1,     3,    23,
    1143                 :            :        4,    -1,     3,    23,     5,    23,     4,    -1,    97,   622,
    1144                 :            :       -1,    57,   622,    -1,    56,   622,    -1,   116,    -1,    82,
    1145                 :            :       -1,    21,    -1,   277,    -1,    70,     3,    23,     4,    -1,
    1146                 :            :       70,    -1,   109,    -1,    63,    -1,    63,   104,    -1,   280,
    1147                 :            :       -1,    53,    -1,   122,   610,   627,    -1,   123,   610,   627,
    1148                 :            :       -1,    -1,   142,   122,   144,    -1,   279,   122,   144,    -1,
    1149                 :            :      281,   568,    -1,    26,    -1,   165,    -1,   154,    -1,   183,
    1150                 :            :       -1,   631,    -1,   632,    -1,   243,     3,   572,     4,    -1,
    1151                 :            :      244,     3,   575,     4,    -1,   244,     3,   572,     4,    -1,
    1152                 :            :      633,    -1,   634,    -1,   240,   644,   635,   641,   242,    -1,
    1153                 :            :      240,   639,   641,   242,    -1,   636,    -1,   639,   636,    -1,
    1154                 :            :      245,   637,   241,   642,    -1,   638,    -1,   637,     5,   638,
    1155                 :            :       -1,   364,    -1,   409,    -1,   412,    -1,   421,    -1,   414,
    1156                 :            :       -1,   418,    -1,   640,    -1,   639,   640,    -1,   245,   407,
    1157                 :            :      241,   642,    -1,    -1,   246,   642,    -1,   643,    -1,   575,
    1158                 :            :       -1,   364,    -1,    26,    -1,     6,    26,    -1,     8,    -1,
    1159                 :            :        9,    26,    10,    -1,    -1,   393,    26,    -1,    26,    -1,
    1160                 :            :      407,    -1,     3,   327,     4,    -1,    49,   254,   669,   651,
    1161                 :            :      652,   100,   602,   650,   655,    -1,    -1,   251,   662,    -1,
    1162                 :            :      247,    -1,   248,    -1,   249,    99,    -1,   158,    -1,    60,
    1163                 :            :       -1,   134,   653,    -1,    -1,    99,   654,    -1,   339,    -1,
    1164                 :            :      656,   658,   659,    -1,    -1,    71,   250,   657,    -1,   255,
    1165                 :            :       -1,   256,    -1,    -1,   245,   403,    -1,   661,    -1,   252,
    1166                 :            :      253,   660,     7,   242,    -1,   661,    -1,   660,     7,   661,
    1167                 :            :       -1,   327,    -1,   663,    -1,   662,   663,    -1,   258,   394,
    1168                 :            :      393,   667,    -1,   257,   394,   393,   668,    -1,   258,   121,
    1169                 :            :      393,   664,    -1,   257,   121,   393,   665,    -1,   666,    -1,
    1170                 :            :      666,    -1,    26,    -1,    26,    -1,    26,    -1,    26,    -1
    1171                 :            : };
    1172                 :            : 
    1173                 :            : /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
    1174                 :            : static const yytype_uint16 yyrline[] =
    1175                 :            : {
    1176                 :            :        0,   308,   308,   310,   318,   319,   377,   378,   379,   380,
    1177                 :            :      384,   395,   398,   404,   405,   409,   418,   419,   425,   428,
    1178                 :            :      429,   437,   441,   442,   446,   450,   454,   460,   461,   467,
    1179                 :            :      471,   481,   487,   496,   508,   516,   517,   525,   528,   534,
    1180                 :            :      546,   547,   555,   556,   564,   577,   578,   586,   590,   594,
    1181                 :            :      597,   603,   604,   608,   609,   613,   617,   622,   625,   631,
    1182                 :            :      632,   638,   639,   647,   650,   661,   666,   673,   674,   675,
    1183                 :            :      691,   692,   698,   700,   701,   702,   703,   704,   706,   707,
    1184                 :            :      708,   718,   719,   729,   748,   757,   766,   775,   785,   788,
    1185                 :            :      801,   812,   813,   818,   827,   838,   839,   840,   859,   862,
    1186                 :            :      868,   875,   876,   879,   889,   892,   898,   902,   903,   909,
    1187                 :            :      917,   928,   933,   936,   937,   940,   949,   950,   953,   954,
    1188                 :            :      957,   958,   961,   962,   965,   976,   979,   983,   984,   987,
    1189                 :            :      988,   996,  1005,  1021,  1029,  1032,  1038,  1039,  1042,  1043,
    1190                 :            :     1046,  1047,  1055,  1061,  1068,  1069,  1077,  1086,  1093,  1094,
    1191                 :            :     1102,  1105,  1108,  1111,  1117,  1118,  1126,  1127,  1128,  1129,
    1192                 :            :     1132,  1133,  1140,  1166,  1175,  1176,  1186,  1187,  1195,  1196,
    1193                 :            :     1205,  1206,  1215,  1216,  1217,  1218,  1219,  1220,  1221,  1222,
    1194                 :            :     1225,  1232,  1239,  1264,  1265,  1266,  1267,  1268,  1269,  1270,
    1195                 :            :     1278,  1286,  1324,  1330,  1333,  1343,  1353,  1359,  1365,  1387,
    1196                 :            :     1412,  1413,  1417,  1428,  1437,  1443,  1459,  1463,  1471,  1480,
    1197                 :            :     1486,  1502,  1511,  1517,  1534,  1535,  1536,  1540,  1546,  1552,
    1198                 :            :     1561,  1566,  1581,  1586,  1618,  1619,  1620,  1621,  1622,  1624,
    1199                 :            :     1636,  1648,  1660,  1676,  1677,  1683,  1686,  1696,  1706,  1707,
    1200                 :            :     1708,  1711,  1719,  1730,  1740,  1750,  1755,  1760,  1767,  1772,
    1201                 :            :     1779,  1780,  1781,  1784,  1789,  1808,  1820,  1821,  1824,  1825,
    1202                 :            :     1826,  1827,  1828,  1829,  1830,  1831,  1832,  1833,  1834,  1835,
    1203                 :            :     1836,  1837,  1840,  1841,  1848,  1855,  1862,  1870,  1878,  1886,
    1204                 :            :     1894,  1902,  1915,  1930,  1931,  1934,  1935,  1936,  1939,  1940,
    1205                 :            :     1943,  1944,  1945,  1946,  1949,  1950,  1953,  1956,  1957,  1958,
    1206                 :            :     1959,  1962,  1963,  1964,  1965,  1966,  1967,  1968,  1972,  1973,
    1207                 :            :     1974,  1977,  1980,  1984,  1985,  1986,  1987,  1988,  1991,  1992,
    1208                 :            :     1993,  1996,  1997,  1998,  1999,  2000,  2001,  2002,  2003,  2004,
    1209                 :            :     2005,  2006,  2007,  2008,  2009,  2013,  2014,  2017,  2020,  2021,
    1210                 :            :     2022,  2023,  2024,  2025,  2026,  2027,  2028,  2029,  2030,  2031,
    1211                 :            :     2032,  2033,  2034,  2035,  2036,  2037,  2040,  2041,  2042,  2045,
    1212                 :            :     2046,  2050,  2059,  2066,  2073,  2074,  2075,  2076,  2077,  2080,
    1213                 :            :     2090,  2093,  2096,  2097,  2100,  2101,  2107,  2117,  2118,  2122,
    1214                 :            :     2134,  2135,  2138,  2141,  2144,  2147,  2148,  2151,  2162,  2163,
    1215                 :            :     2166,  2167,  2170,  2184,  2185,  2188,  2194,  2202,  2205,  2206,
    1216                 :            :     2209,  2212,  2213,  2216,  2224,  2227,  2232,  2241,  2244,  2253,
    1217                 :            :     2254,  2257,  2258,  2261,  2262,  2265,  2271,  2274,  2283,  2286,
    1218                 :            :     2291,  2299,  2300,  2303,  2312,  2313,  2316,  2317,  2320,  2326,
    1219                 :            :     2327,  2335,  2343,  2353,  2356,  2359,  2360,  2366,  2369,  2377,
    1220                 :            :     2384,  2390,  2396,  2405,  2406,  2414,  2425,  2426,  2436,  2439,
    1221                 :            :     2446,  2447,  2448,  2452,  2458,  2467,  2468,  2469,  2473,  2482,
    1222                 :            :     2490,  2499,  2500,  2503,  2504,  2505,  2506,  2507,  2508,  2509,
    1223                 :            :     2510,  2511,  2512,  2513,  2514,  2515,  2516,  2520,  2521,  2524,
    1224                 :            :     2533,  2547,  2550,  2561,  2565,  2575,  2578,  2579,  2583,  2595,
    1225                 :            :     2596,  2597,  2598,  2601,  2606,  2611,  2618,  2626,  2627,  2630,
    1226                 :            :     2631,  2636,  2637,  2645,  2657,  2666,  2675,  2678,  2681,  2691,
    1227                 :            :     2692,  2696,  2697,  2706,  2707,  2717,  2720,  2721,  2729,  2739,
    1228                 :            :     2740,  2743,  2746,  2749,  2752,  2753,  2756,  2768,  2769,  2770,
    1229                 :            :     2771,  2772,  2773,  2774,  2781,  2785,  2786,  2789,  2790,  2796,
    1230                 :            :     2805,  2806,  2813,  2823,  2824,  2831,  2845,  2852,  2857,  2862,
    1231                 :            :     2869,  2877,  2891,  2896,  2904,  2930,  2991,  2992,  2993,  2994,
    1232                 :            :     2995,  2998,  3006,  3007,  3016,  3022,  3031,  3038,  3042,  3048,
    1233                 :            :     3057,  3067,  3070,  3074,  3086,  3087,  3094,  3102,  3111,  3114,
    1234                 :            :     3118,  3131,  3132,  3133,  3140,  3148,  3149,  3152,  3159,  3169,
    1235                 :            :     3170,  3173,  3181,  3182,  3190,  3191,  3194,  3201,  3214,  3238,
    1236                 :            :     3245,  3258,  3259,  3260,  3265,  3270,  3277,  3278,  3286,  3297,
    1237                 :            :     3307,  3308,  3311,  3321,  3331,  3343,  3355,  3365,  3373,  3380,
    1238                 :            :     3387,  3393,  3397,  3398,  3399,  3403,  3412,  3413,  3414,  3417,
    1239                 :            :     3424,  3433,  3443,  3449,  3458,  3464,  3471,  3481,  3505,  3508,
    1240                 :            :     3515,  3518,  3519,  3528,  3529,  3532,  3539,  3545,  3546,  3547,
    1241                 :            :     3548,  3549,  3552,  3558,  3564,  3571,  3578,  3584,  3587,  3588,
    1242                 :            :     3591,  3600,  3601,  3604,  3614,  3622,  3623,  3628,  3633,  3638,
    1243                 :            :     3643,  3650,  3658,  3666,  3674,  3681,  3688,  3694,  3702,  3710,
    1244                 :            :     3717,  3720,  3729,  3737,  3745,  3751,  3758,  3764,  3767,  3775,
    1245                 :            :     3783,  3784,  3787,  3788,  3795,  3806,  3812,  3818,  3824,  3825,
    1246                 :            :     3826,  3827,  3830,  3838,  3839,  3840,  3841,  3849,  3852,  3853,
    1247                 :            :     3860,  3869,  3870,  3877,  3886,  3896,  3897,  3903,  3909,  3917,
    1248                 :            :     3918,  3921,  3929,  3937,  3947,  3948,  3951,  3962,  3972,  3977,
    1249                 :            :     3984,  3994,  3997,  4002,  4003,  4004,  4005,  4006,  4007,  4010,
    1250                 :            :     4015,  4022,  4032,  4033,  4041,  4044,  4047,  4050,  4063,  4067,
    1251                 :            :     4070,  4085,  4086,  4093,  4098,  4112,  4115,  4130,  4133,  4141,
    1252                 :            :     4142,  4143,  4151,  4152,  4153,  4161,  4164,  4172,  4175,  4184,
    1253                 :            :     4187,  4196,  4197,  4200,  4203,  4211,  4212,  4223,  4228,  4235,
    1254                 :            :     4239,  4244,  4252,  4260,  4268,  4276,  4286,  4289,  4292,  4295,
    1255                 :            :     4298,  4301
    1256                 :            : };
    1257                 :            : #endif
    1258                 :            : 
    1259                 :            : #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
    1260                 :            : /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    1261                 :            :    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
    1262                 :            : static const char *const yytname[] =
    1263                 :            : {
    1264                 :            :   "$end", "error", "$undefined", "'('", "')'", "','", "':'", "';'", "'?'",
    1265                 :            :   "'['", "']'", "'{'", "'}'", "'.'", "'K'", "'M'", "'G'", "'T'", "'P'",
    1266                 :            :   "SQL_TOKEN_STRING", "SQL_TOKEN_ACCESS_DATE", "SQL_TOKEN_INT",
    1267                 :            :   "SQL_TOKEN_REAL_NUM", "SQL_TOKEN_INTNUM", "SQL_TOKEN_APPROXNUM",
    1268                 :            :   "SQL_TOKEN_NOT", "SQL_TOKEN_NAME", "SQL_TOKEN_UMINUS", "SQL_TOKEN_ALL",
    1269                 :            :   "SQL_TOKEN_ALTER", "SQL_TOKEN_AMMSC", "SQL_TOKEN_ANY", "SQL_TOKEN_AS",
    1270                 :            :   "SQL_TOKEN_ASC", "SQL_TOKEN_AT", "SQL_TOKEN_AUTHORIZATION",
    1271                 :            :   "SQL_TOKEN_AVG", "SQL_TOKEN_BETWEEN", "SQL_TOKEN_BIT", "SQL_TOKEN_BOTH",
    1272                 :            :   "SQL_TOKEN_BY", "SQL_TOKEN_CAST", "SQL_TOKEN_CHARACTER",
    1273                 :            :   "SQL_TOKEN_CHECK", "SQL_TOKEN_COLLATE", "SQL_TOKEN_COMMIT",
    1274                 :            :   "SQL_TOKEN_CONTINUE", "SQL_TOKEN_CONVERT", "SQL_TOKEN_COUNT",
    1275                 :            :   "SQL_TOKEN_CREATE", "SQL_TOKEN_CROSS", "SQL_TOKEN_CURRENT",
    1276                 :            :   "SQL_TOKEN_CURSOR", "SQL_TOKEN_DATE", "SQL_TOKEN_DATEVALUE",
    1277                 :            :   "SQL_TOKEN_DAY", "SQL_TOKEN_DEC", "SQL_TOKEN_DECIMAL",
    1278                 :            :   "SQL_TOKEN_DECLARE", "SQL_TOKEN_DEFAULT", "SQL_TOKEN_DELETE",
    1279                 :            :   "SQL_TOKEN_DESC", "SQL_TOKEN_DISTINCT", "SQL_TOKEN_DOUBLE",
    1280                 :            :   "SQL_TOKEN_DROP", "SQL_TOKEN_ESCAPE", "SQL_TOKEN_EXCEPT",
    1281                 :            :   "SQL_TOKEN_EXISTS", "SQL_TOKEN_FALSE", "SQL_TOKEN_FETCH",
    1282                 :            :   "SQL_TOKEN_FLOAT", "SQL_TOKEN_FOR", "SQL_TOKEN_FOREIGN",
    1283                 :            :   "SQL_TOKEN_FOUND", "SQL_TOKEN_FROM", "SQL_TOKEN_FULL", "SQL_TOKEN_GRANT",
    1284                 :            :   "SQL_TOKEN_GROUP", "SQL_TOKEN_HAVING", "SQL_TOKEN_IN",
    1285                 :            :   "SQL_TOKEN_INDICATOR", "SQL_TOKEN_INNER", "SQL_TOKEN_INTEGER",
    1286                 :            :   "SQL_TOKEN_INTO", "SQL_TOKEN_IS", "SQL_TOKEN_INTERSECT",
    1287                 :            :   "SQL_TOKEN_JOIN", "SQL_TOKEN_KEY", "SQL_TOKEN_LEADING", "SQL_TOKEN_LIKE",
    1288                 :            :   "SQL_TOKEN_LOCAL", "SQL_TOKEN_LOWER", "SQL_TOKEN_MAX", "SQL_TOKEN_MIN",
    1289                 :            :   "SQL_TOKEN_NATURAL", "SQL_TOKEN_NCHAR", "SQL_TOKEN_NULL",
    1290                 :            :   "SQL_TOKEN_NUMERIC", "SQL_TOKEN_OCTET_LENGTH", "SQL_TOKEN_OF",
    1291                 :            :   "SQL_TOKEN_ON", "SQL_TOKEN_OPTION", "SQL_TOKEN_ORDER", "SQL_TOKEN_OUTER",
    1292                 :            :   "SQL_TOKEN_PRECISION", "SQL_TOKEN_PRIMARY", "SQL_TOKEN_PRIVILEGES",
    1293                 :            :   "SQL_TOKEN_PROCEDURE", "SQL_TOKEN_PUBLIC", "SQL_TOKEN_REAL",
    1294                 :            :   "SQL_TOKEN_REFERENCES", "SQL_TOKEN_ROLLBACK", "SQL_TOKEN_SCHEMA",
    1295                 :            :   "SQL_TOKEN_SELECT", "SQL_TOKEN_SET", "SQL_TOKEN_SIZE",
    1296                 :            :   "SQL_TOKEN_SMALLINT", "SQL_TOKEN_SOME", "SQL_TOKEN_SQLCODE",
    1297                 :            :   "SQL_TOKEN_SQLERROR", "SQL_TOKEN_SUM", "SQL_TOKEN_TABLE",
    1298                 :            :   "SQL_TOKEN_TIME", "SQL_TOKEN_TIMESTAMP", "SQL_TOKEN_TIMEZONE_HOUR",
    1299                 :            :   "SQL_TOKEN_TIMEZONE_MINUTE", "SQL_TOKEN_TO", "SQL_TOKEN_TRAILING",
    1300                 :            :   "SQL_TOKEN_TRANSLATE", "SQL_TOKEN_TRIM", "SQL_TOKEN_TRUE",
    1301                 :            :   "SQL_TOKEN_UNION", "SQL_TOKEN_UNIQUE", "SQL_TOKEN_UNKNOWN",
    1302                 :            :   "SQL_TOKEN_UPDATE", "SQL_TOKEN_UPPER", "SQL_TOKEN_USAGE",
    1303                 :            :   "SQL_TOKEN_USER", "SQL_TOKEN_USING", "SQL_TOKEN_VALUES",
    1304                 :            :   "SQL_TOKEN_VIEW", "SQL_TOKEN_WHERE", "SQL_TOKEN_WITH", "SQL_TOKEN_WORK",
    1305                 :            :   "SQL_TOKEN_ZONE", "SQL_TOKEN_CALL", "SQL_TOKEN_D", "SQL_TOKEN_FN",
    1306                 :            :   "SQL_TOKEN_T", "SQL_TOKEN_TS", "SQL_TOKEN_OJ", "SQL_TOKEN_ASCII",
    1307                 :            :   "SQL_TOKEN_BIT_LENGTH", "SQL_TOKEN_CHAR", "SQL_TOKEN_CHAR_LENGTH",
    1308                 :            :   "SQL_TOKEN_SQL_TOKEN_INTNUM", "SQL_TOKEN_CONCAT", "SQL_TOKEN_DIFFERENCE",
    1309                 :            :   "SQL_TOKEN_INSERT", "SQL_TOKEN_LCASE", "SQL_TOKEN_LEFT",
    1310                 :            :   "SQL_TOKEN_LENGTH", "SQL_TOKEN_LOCATE", "SQL_TOKEN_LOCATE_2",
    1311                 :            :   "SQL_TOKEN_LTRIM", "SQL_TOKEN_POSITION", "SQL_TOKEN_REPEAT",
    1312                 :            :   "SQL_TOKEN_REPLACE", "SQL_TOKEN_RIGHT", "SQL_TOKEN_RTRIM",
    1313                 :            :   "SQL_TOKEN_SOUNDEX", "SQL_TOKEN_SPACE", "SQL_TOKEN_SUBSTRING",
    1314                 :            :   "SQL_TOKEN_UCASE", "SQL_TOKEN_CURRENT_DATE", "SQL_TOKEN_CURRENT_TIME",
    1315                 :            :   "SQL_TOKEN_CURRENT_TIMESTAMP", "SQL_TOKEN_CURDATE", "SQL_TOKEN_CURTIME",
    1316                 :            :   "SQL_TOKEN_DAYNAME", "SQL_TOKEN_DAYOFMONTH", "SQL_TOKEN_DAYOFWEEK",
    1317                 :            :   "SQL_TOKEN_DAYOFYEAR", "SQL_TOKEN_EXTRACT", "SQL_TOKEN_HOUR",
    1318                 :            :   "SQL_TOKEN_MINUTE", "SQL_TOKEN_MONTH", "SQL_TOKEN_MONTHNAME",
    1319                 :            :   "SQL_TOKEN_NOW", "SQL_TOKEN_QUARTER", "SQL_TOKEN_DATEDIFF",
    1320                 :            :   "SQL_TOKEN_SECOND", "SQL_TOKEN_TIMESTAMPADD", "SQL_TOKEN_TIMESTAMPDIFF",
    1321                 :            :   "SQL_TOKEN_TIMEVALUE", "SQL_TOKEN_WEEK", "SQL_TOKEN_YEAR",
    1322                 :            :   "SQL_TOKEN_ABS", "SQL_TOKEN_ACOS", "SQL_TOKEN_ASIN", "SQL_TOKEN_ATAN",
    1323                 :            :   "SQL_TOKEN_ATAN2", "SQL_TOKEN_CEILING", "SQL_TOKEN_COS", "SQL_TOKEN_COT",
    1324                 :            :   "SQL_TOKEN_DEGREES", "SQL_TOKEN_EXP", "SQL_TOKEN_FLOOR",
    1325                 :            :   "SQL_TOKEN_LOGF", "SQL_TOKEN_LOG", "SQL_TOKEN_LN", "SQL_TOKEN_LOG10",
    1326                 :            :   "SQL_TOKEN_MOD", "SQL_TOKEN_PI", "SQL_TOKEN_POWER", "SQL_TOKEN_RADIANS",
    1327                 :            :   "SQL_TOKEN_RAND", "SQL_TOKEN_ROUNDMAGIC", "SQL_TOKEN_ROUND",
    1328                 :            :   "SQL_TOKEN_SIGN", "SQL_TOKEN_SIN", "SQL_TOKEN_SQRT", "SQL_TOKEN_TAN",
    1329                 :            :   "SQL_TOKEN_TRUNCATE", "SQL_TOKEN_EVERY", "SQL_TOKEN_INTERSECTION",
    1330                 :            :   "SQL_TOKEN_FUSION", "SQL_TOKEN_COLLECT", "SQL_TOKEN_VAR_POP",
    1331                 :            :   "SQL_TOKEN_VAR_SAMP", "SQL_TOKEN_STDDEV_SAMP", "SQL_TOKEN_STDDEV_POP",
    1332                 :            :   "SQL_TOKEN_RANK", "SQL_TOKEN_DENSE_RANK", "SQL_TOKEN_PERCENT_RANK",
    1333                 :            :   "SQL_TOKEN_CUME_DIST", "SQL_TOKEN_PERCENTILE_CONT",
    1334                 :            :   "SQL_TOKEN_PERCENTILE_DISC", "SQL_TOKEN_WITHIN", "SQL_TOKEN_ARRAY_AGG",
    1335                 :            :   "SQL_TOKEN_CASE", "SQL_TOKEN_THEN", "SQL_TOKEN_END", "SQL_TOKEN_NULLIF",
    1336                 :            :   "SQL_TOKEN_COALESCE", "SQL_TOKEN_WHEN", "SQL_TOKEN_ELSE",
    1337                 :            :   "SQL_TOKEN_BEFORE", "SQL_TOKEN_AFTER", "SQL_TOKEN_INSTEAD",
    1338                 :            :   "SQL_TOKEN_EACH", "SQL_TOKEN_REFERENCING", "SQL_TOKEN_BEGIN",
    1339                 :            :   "SQL_TOKEN_ATOMIC", "SQL_TOKEN_TRIGGER", "SQL_TOKEN_ROW",
    1340                 :            :   "SQL_TOKEN_STATEMENT", "SQL_TOKEN_NEW", "SQL_TOKEN_OLD",
    1341                 :            :   "SQL_TOKEN_VALUE", "SQL_TOKEN_CURRENT_CATALOG",
    1342                 :            :   "SQL_TOKEN_CURRENT_DEFAULT_TRANSFORM_GROUP", "SQL_TOKEN_CURRENT_PATH",
    1343                 :            :   "SQL_TOKEN_CURRENT_ROLE", "SQL_TOKEN_CURRENT_SCHEMA",
    1344                 :            :   "SQL_TOKEN_CURRENT_USER", "SQL_TOKEN_SESSION_USER",
    1345                 :            :   "SQL_TOKEN_SYSTEM_USER", "SQL_TOKEN_VARCHAR", "SQL_TOKEN_VARBINARY",
    1346                 :            :   "SQL_TOKEN_VARYING", "SQL_TOKEN_OBJECT", "SQL_TOKEN_NCLOB",
    1347                 :            :   "SQL_TOKEN_NATIONAL", "SQL_TOKEN_LARGE", "SQL_TOKEN_CLOB",
    1348                 :            :   "SQL_TOKEN_BLOB", "SQL_TOKEN_BIGINT", "SQL_TOKEN_BINARY",
    1349                 :            :   "SQL_TOKEN_WITHOUT", "SQL_TOKEN_BOOLEAN", "SQL_TOKEN_INTERVAL",
    1350                 :            :   "SQL_TOKEN_OVER", "SQL_TOKEN_ROW_NUMBER", "SQL_TOKEN_NTILE",
    1351                 :            :   "SQL_TOKEN_LEAD", "SQL_TOKEN_LAG", "SQL_TOKEN_RESPECT",
    1352                 :            :   "SQL_TOKEN_IGNORE", "SQL_TOKEN_NULLS", "SQL_TOKEN_FIRST_VALUE",
    1353                 :            :   "SQL_TOKEN_LAST_VALUE", "SQL_TOKEN_NTH_VALUE", "SQL_TOKEN_FIRST",
    1354                 :            :   "SQL_TOKEN_LAST", "SQL_TOKEN_EXCLUDE", "SQL_TOKEN_OTHERS",
    1355                 :            :   "SQL_TOKEN_TIES", "SQL_TOKEN_FOLLOWING", "SQL_TOKEN_UNBOUNDED",
    1356                 :            :   "SQL_TOKEN_PRECEDING", "SQL_TOKEN_RANGE", "SQL_TOKEN_ROWS",
    1357                 :            :   "SQL_TOKEN_PARTITION", "SQL_TOKEN_WINDOW", "SQL_TOKEN_NO",
    1358                 :            :   "SQL_TOKEN_LIMIT", "SQL_TOKEN_OFFSET", "SQL_TOKEN_NEXT",
    1359                 :            :   "SQL_TOKEN_ONLY", "SQL_TOKEN_OR", "SQL_TOKEN_AND", "SQL_EQUAL",
    1360                 :            :   "SQL_GREAT", "SQL_LESS", "SQL_NOTEQUAL", "SQL_GREATEQ", "SQL_LESSEQ",
    1361                 :            :   "'+'", "'-'", "SQL_CONCAT", "'*'", "'/'", "'='",
    1362                 :            :   "SQL_TOKEN_INVALIDSYMBOL", "$accept", "sql_single_statement", "sql",
    1363                 :            :   "schema_element", "base_table_def", "base_table_element_commalist",
    1364                 :            :   "base_table_element", "column_def", "column_def_opt_list", "nil_fkt",
    1365                 :            :   "unique_spec", "column_def_opt", "table_constraint_def",
    1366                 :            :   "op_column_commalist", "column_commalist", "view_def",
    1367                 :            :   "opt_with_check_option", "opt_column_commalist", "privilege_def",
    1368                 :            :   "opt_with_grant_option", "privileges", "operation_commalist",
    1369                 :            :   "operation", "grantee_commalist", "grantee", "opt_order_by_clause",
    1370                 :            :   "ordering_spec_commalist", "ordering_spec", "opt_asc_desc", "sql_not",
    1371                 :            :   "manipulative_statement", "union_statement", "commit_statement",
    1372                 :            :   "delete_statement_searched", "fetch_statement", "insert_statement",
    1373                 :            :   "values_or_query_spec", "table_value_const_list",
    1374                 :            :   "row_value_constructor", "row_value_constructor_elem",
    1375                 :            :   "rollback_statement", "select_statement_into", "opt_all_distinct",
    1376                 :            :   "assignment_commalist", "assignment", "update_source",
    1377                 :            :   "update_statement_searched", "target_commalist", "target",
    1378                 :            :   "opt_where_clause", "query_term", "select_statement", "selection",
    1379                 :            :   "opt_result_offset_clause", "result_offset_clause",
    1380                 :            :   "opt_fetch_first_row_count", "first_or_next", "row_or_rows",
    1381                 :            :   "opt_fetch_first_clause", "fetch_first_clause", "offset_row_count",
    1382                 :            :   "fetch_first_row_count", "opt_limit_offset_clause", "opt_offset",
    1383                 :            :   "limit_offset_clause", "table_exp", "from_clause", "table_ref_commalist",
    1384                 :            :   "opt_as", "opt_row", "table_primary_as_range_column", "table_ref",
    1385                 :            :   "where_clause", "opt_group_by_clause", "column_ref_commalist",
    1386                 :            :   "opt_having_clause", "truth_value", "boolean_primary",
    1387                 :            :   "parenthesized_boolean_value_expression", "boolean_test",
    1388                 :            :   "boolean_factor", "boolean_term", "search_condition", "predicate",
    1389                 :            :   "comparison_predicate_part_2", "comparison_predicate", "comparison",
    1390                 :            :   "between_predicate_part_2", "between_predicate",
    1391                 :            :   "character_like_predicate_part_2", "other_like_predicate_part_2",
    1392                 :            :   "like_predicate", "opt_escape", "null_predicate_part_2", "test_for_null",
    1393                 :            :   "in_predicate_value", "in_predicate_part_2", "in_predicate",
    1394                 :            :   "quantified_comparison_predicate_part_2", "all_or_any_predicate",
    1395                 :            :   "any_all_some", "existence_test", "unique_test", "subquery",
    1396                 :            :   "scalar_exp_commalist", "select_sublist", "parameter_ref", "literal",
    1397                 :            :   "as_clause", "position_exp", "num_value_fct", "char_length_exp",
    1398                 :            :   "octet_length_exp", "bit_length_exp", "length_exp", "datetime_field",
    1399                 :            :   "extract_field", "time_zone_field", "extract_exp", "unsigned_value_spec",
    1400                 :            :   "general_value_spec", "set_fct_spec", "function_name0", "function_name1",
    1401                 :            :   "function_name2", "function_name12", "function_name23", "function_name3",
    1402                 :            :   "function_name", "string_function_1Argument",
    1403                 :            :   "string_function_2Argument", "string_function_3Argument",
    1404                 :            :   "string_function_4Argument", "string_function",
    1405                 :            :   "date_function_0Argument", "date_function_1Argument", "date_function",
    1406                 :            :   "numeric_function_0Argument", "numeric_function_1Argument",
    1407                 :            :   "numeric_function_2Argument", "numeric_function", "window_function",
    1408                 :            :   "window_function_type", "ntile_function",
    1409                 :            :   "dynamic_parameter_specification", "simple_value_specification",
    1410                 :            :   "number_of_tiles", "opt_lead_or_lag_function", "opt_null_treatment",
    1411                 :            :   "lead_or_lag_function", "lead_or_lag", "lead_or_lag_extent", "offset",
    1412                 :            :   "default_expression", "null_treatment", "first_or_last_value_function",
    1413                 :            :   "first_or_last_value", "opt_from_first_or_last", "nth_value_function",
    1414                 :            :   "nth_row", "from_first_or_last", "window_name",
    1415                 :            :   "window_name_or_specification", "in_line_window_specification",
    1416                 :            :   "opt_window_clause", "window_clause", "window_definition_list",
    1417                 :            :   "window_definition", "new_window_name", "window_specification",
    1418                 :            :   "opt_existing_window_name", "opt_window_partition_clause",
    1419                 :            :   "opt_window_frame_clause", "window_specification_details",
    1420                 :            :   "existing_window_name", "window_partition_clause",
    1421                 :            :   "window_partition_column_reference_list",
    1422                 :            :   "window_partition_column_reference", "opt_window_frame_exclusion",
    1423                 :            :   "window_frame_clause", "window_frame_units", "window_frame_extent",
    1424                 :            :   "window_frame_start", "window_frame_preceding", "window_frame_between",
    1425                 :            :   "window_frame_bound_1", "window_frame_bound_2", "window_frame_bound",
    1426                 :            :   "window_frame_following", "window_frame_exclusion", "op_parameter",
    1427                 :            :   "odbc_call_spec", "op_odbc_call_parameter", "odbc_parameter_commalist",
    1428                 :            :   "odbc_parameter", "odbc_fct_spec", "odbc_fct_type", "general_set_fct",
    1429                 :            :   "set_fct_type", "ordered_set_function", "hypothetical_set_function",
    1430                 :            :   "within_group_specification",
    1431                 :            :   "hypothetical_set_function_value_expression_list",
    1432                 :            :   "inverse_distribution_function",
    1433                 :            :   "inverse_distribution_function_argument",
    1434                 :            :   "inverse_distribution_function_type", "array_aggregate_function",
    1435                 :            :   "rank_function_type", "outer_join_type", "join_condition", "join_spec",
    1436                 :            :   "join_type", "cross_union", "qualified_join", "joined_table",
    1437                 :            :   "named_columns_join", "simple_table", "non_join_query_primary",
    1438                 :            :   "non_join_query_term", "query_primary", "non_join_query_exp", "all",
    1439                 :            :   "query_exp", "scalar_subquery", "cast_operand", "cast_target",
    1440                 :            :   "cast_spec", "value_exp_primary", "num_primary", "factor", "term",
    1441                 :            :   "num_value_exp", "datetime_primary", "datetime_value_fct", "time_zone",
    1442                 :            :   "time_zone_specifier", "datetime_factor", "datetime_term",
    1443                 :            :   "datetime_value_exp", "non_second_datetime_field", "start_field",
    1444                 :            :   "end_field", "single_datetime_field", "interval_qualifier",
    1445                 :            :   "function_arg_commalist2", "function_arg_commalist3",
    1446                 :            :   "function_arg_commalist4", "value_exp_commalist", "function_arg",
    1447                 :            :   "function_args_commalist", "value_exp", "string_value_exp",
    1448                 :            :   "char_value_exp", "concatenation", "char_primary", "collate_clause",
    1449                 :            :   "char_factor", "string_value_fct", "bit_value_fct", "bit_substring_fct",
    1450                 :            :   "bit_value_exp", "bit_factor", "bit_primary", "char_value_fct",
    1451                 :            :   "for_length", "char_substring_fct", "upper_lower", "fold",
    1452                 :            :   "form_conversion", "char_translation", "trim_fct", "trim_operands",
    1453                 :            :   "trim_spec", "derived_column", "table_node", "catalog_name",
    1454                 :            :   "schema_name", "table_name", "column_ref", "column_val", "data_type",
    1455                 :            :   "opt_char_set_spec", "opt_collate_clause", "predefined_type",
    1456                 :            :   "character_string_type", "opt_paren_precision", "paren_char_length",
    1457                 :            :   "opt_paren_char_large_length", "paren_character_large_object_length",
    1458                 :            :   "large_object_length", "opt_multiplier", "character_large_object_type",
    1459                 :            :   "national_character_string_type", "national_character_large_object_type",
    1460                 :            :   "binary_string_type", "binary_large_object_string_type", "numeric_type",
    1461                 :            :   "opt_paren_precision_scale", "exact_numeric_type",
    1462                 :            :   "approximate_numeric_type", "boolean_type", "datetime_type",
    1463                 :            :   "opt_with_or_without_time_zone", "interval_type", "column",
    1464                 :            :   "case_expression", "case_abbreviation", "case_specification",
    1465                 :            :   "simple_case", "searched_case", "simple_when_clause_list",
    1466                 :            :   "simple_when_clause", "when_operand_list", "when_operand",
    1467                 :            :   "searched_when_clause_list", "searched_when_clause", "else_clause",
    1468                 :            :   "result", "result_expression", "case_operand", "cursor", "parameter",
    1469                 :            :   "range_variable", "user", "trigger_definition", "op_referencing",
    1470                 :            :   "trigger_action_time", "trigger_event", "op_trigger_columnlist",
    1471                 :            :   "trigger_column_list", "triggered_action", "op_triggered_action_for",
    1472                 :            :   "trigger_for", "triggered_when_clause", "triggered_SQL_statement",
    1473                 :            :   "SQL_procedure_statement_list", "SQL_procedure_statement",
    1474                 :            :   "transition_table_or_variable_list", "transition_table_or_variable",
    1475                 :            :   "old_transition_table_name", "new_transition_table_name",
    1476                 :            :   "transition_table_name", "old_transition_variable_name",
    1477                 :            :   "new_transition_variable_name", "trigger_name", 0
    1478                 :            : };
    1479                 :            : #endif
    1480                 :            : 
    1481                 :            : # ifdef YYPRINT
    1482                 :            : /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    1483                 :            :    token YYLEX-NUM.  */
    1484                 :            : static const yytype_uint16 yytoknum[] =
    1485                 :            : {
    1486                 :            :        0,   256,   257,    40,    41,    44,    58,    59,    63,    91,
    1487                 :            :       93,   123,   125,    46,    75,    77,    71,    84,    80,   258,
    1488                 :            :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
    1489                 :            :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
    1490                 :            :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
    1491                 :            :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
    1492                 :            :      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
    1493                 :            :      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
    1494                 :            :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
    1495                 :            :      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
    1496                 :            :      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
    1497                 :            :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
    1498                 :            :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
    1499                 :            :      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
    1500                 :            :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
    1501                 :            :      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
    1502                 :            :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
    1503                 :            :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
    1504                 :            :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
    1505                 :            :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
    1506                 :            :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
    1507                 :            :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
    1508                 :            :      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
    1509                 :            :      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
    1510                 :            :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
    1511                 :            :      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
    1512                 :            :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
    1513                 :            :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
    1514                 :            :      519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    1515                 :            :      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
    1516                 :            :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
    1517                 :            :      549,   550,   551,   552,   553,   554,   555,   556,    43,    45,
    1518                 :            :      557,    42,    47,    61,   558
    1519                 :            : };
    1520                 :            : # endif
    1521                 :            : 
    1522                 :            : /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
    1523                 :            : static const yytype_uint16 yyr1[] =
    1524                 :            : {
    1525                 :            :        0,   325,   326,   326,   327,   327,   328,   328,   328,   328,
    1526                 :            :      329,   330,   330,   331,   331,   332,   333,   333,   334,   335,
    1527                 :            :      335,   336,   336,   336,   336,   336,   336,   336,   336,   336,
    1528                 :            :      336,   337,   337,   337,   337,   338,   338,   339,   339,   340,
    1529                 :            :      341,   341,   342,   342,   343,   344,   344,   345,   345,   346,
    1530                 :            :      346,   347,   347,   347,   347,   347,   347,   348,   348,   349,
    1531                 :            :      349,   350,   350,   351,   351,   352,   352,   353,   353,   353,
    1532                 :            :      354,   354,   355,   355,   355,   355,   355,   355,   355,   355,
    1533                 :            :      355,   356,   356,   357,   358,   359,   360,   361,   362,   362,
    1534                 :            :      363,   364,   364,   365,   366,   367,   367,   367,   368,   368,
    1535                 :            :      369,   370,   370,   371,   372,   372,   373,   374,   374,   375,
    1536                 :            :      376,   377,   377,   378,   378,   379,   380,   380,   381,   381,
    1537                 :            :      382,   382,   383,   383,   384,   385,   386,   387,   387,   388,
    1538                 :            :      388,   389,   390,   391,   392,   392,   393,   393,   394,   394,
    1539                 :            :      395,   395,   396,   396,   396,   396,   396,   397,   398,   398,
    1540                 :            :      399,   399,   399,   399,   400,   400,   401,   401,   401,   401,
    1541                 :            :      402,   402,   402,   403,   404,   404,   405,   405,   406,   406,
    1542                 :            :      407,   407,   408,   408,   408,   408,   408,   408,   408,   408,
    1543                 :            :      409,   410,   410,   411,   411,   411,   411,   411,   411,   411,
    1544                 :            :      411,   412,   413,   413,   414,   415,   416,   416,   416,   416,
    1545                 :            :      417,   417,   417,   418,   419,   419,   420,   420,   421,   422,
    1546                 :            :      422,   423,   424,   424,   425,   425,   425,   426,   427,   428,
    1547                 :            :      429,   429,   430,   431,   432,   432,   432,   432,   432,   432,
    1548                 :            :      432,   432,   432,   433,   433,   433,   434,   434,   435,   435,
    1549                 :            :      435,   436,   436,   437,   438,   439,   439,   439,   440,   440,
    1550                 :            :      441,   441,   441,   442,   442,   443,   444,   444,   445,   445,
    1551                 :            :      445,   445,   445,   445,   445,   445,   445,   445,   445,   445,
    1552                 :            :      445,   445,   446,   446,   446,   446,   446,   446,   446,   446,
    1553                 :            :      446,   446,   446,   447,   447,   448,   448,   448,   449,   449,
    1554                 :            :      450,   450,   450,   450,   451,   451,   452,   453,   453,   453,
    1555                 :            :      453,   454,   454,   454,   454,   454,   454,   454,   455,   455,
    1556                 :            :      455,   456,   457,   458,   458,   458,   458,   458,   459,   459,
    1557                 :            :      459,   460,   460,   460,   460,   460,   460,   460,   460,   460,
    1558                 :            :      460,   460,   460,   460,   460,   461,   461,   462,   463,   463,
    1559                 :            :      463,   463,   463,   463,   463,   463,   463,   463,   463,   463,
    1560                 :            :      463,   463,   463,   463,   463,   463,   464,   464,   464,   465,
    1561                 :            :      465,   466,   467,   467,   467,   467,   467,   467,   467,   468,
    1562                 :            :      469,   470,   471,   471,   472,   472,   472,   473,   473,   474,
    1563                 :            :      475,   475,   476,   477,   478,   479,   479,   480,   481,   481,
    1564                 :            :      482,   482,   483,   484,   484,   485,   485,   486,   487,   487,
    1565                 :            :      488,   489,   489,   490,   491,   491,   492,   493,   494,   495,
    1566                 :            :      495,   496,   496,   497,   497,   498,   499,   500,   501,   501,
    1567                 :            :      502,   503,   503,   504,   505,   505,   506,   506,   507,   507,
    1568                 :            :      507,   508,   509,   510,   511,   512,   512,   512,   513,   514,
    1569                 :            :      514,   514,   514,   515,   515,   516,   517,   517,   518,   518,
    1570                 :            :      519,   519,   519,   520,   520,   521,   521,   521,   522,   522,
    1571                 :            :      522,   522,   522,   523,   523,   523,   523,   523,   523,   523,
    1572                 :            :      523,   523,   523,   523,   523,   523,   523,   524,   524,   525,
    1573                 :            :      525,   526,   526,   527,   528,   529,   530,   530,   531,   532,
    1574                 :            :      532,   532,   532,   533,   533,   533,   534,   535,   535,   536,
    1575                 :            :      536,   536,   536,   537,   538,   538,   538,   539,   540,   541,
    1576                 :            :      541,   542,   542,   543,   543,   544,   545,   545,   545,   546,
    1577                 :            :      546,   547,   548,   549,   550,   550,   551,   552,   552,   552,
    1578                 :            :      552,   552,   552,   552,   552,   553,   553,   554,   554,   554,
    1579                 :            :      555,   555,   555,   556,   556,   556,   557,   558,   558,   558,
    1580                 :            :      559,   560,   561,   561,   562,   563,   564,   564,   564,   564,
    1581                 :            :      564,   565,   566,   566,   567,   567,   568,   568,   569,   570,
    1582                 :            :      571,   572,   572,   572,   573,   573,   573,   573,   574,   574,
    1583                 :            :      574,   575,   575,   575,   576,   577,   577,   578,   578,   579,
    1584                 :            :      579,   580,   581,   581,   582,   582,   583,   584,   585,   586,
    1585                 :            :      587,   588,   588,   588,   588,   588,   589,   589,   590,   590,
    1586                 :            :      591,   591,   592,   593,   593,   594,   595,   596,   596,   596,
    1587                 :            :      596,   596,   597,   597,   597,   598,   599,   599,   599,   600,
    1588                 :            :      600,   601,   602,   603,   603,   603,   603,   603,   604,   604,
    1589                 :            :      605,   606,   606,   607,   607,   608,   608,   608,   608,   608,
    1590                 :            :      608,   608,   609,   609,   609,   609,   609,   609,   610,   610,
    1591                 :            :      611,   612,   612,   613,   614,   615,   615,   615,   615,   615,
    1592                 :            :      615,   616,   616,   616,   617,   617,   617,   617,   617,   617,
    1593                 :            :      617,   618,   618,   618,   619,   619,   619,   619,   620,   620,
    1594                 :            :      621,   621,   622,   622,   622,   623,   623,   623,   623,   623,
    1595                 :            :      623,   623,   624,   624,   624,   624,   624,   625,   626,   626,
    1596                 :            :      626,   627,   627,   627,   628,   629,   629,   629,   629,   630,
    1597                 :            :      630,   631,   631,   631,   632,   632,   633,   634,   635,   635,
    1598                 :            :      636,   637,   637,   638,   638,   638,   638,   638,   638,   639,
    1599                 :            :      639,   640,   641,   641,   642,   643,   644,   645,   646,   646,
    1600                 :            :      646,   647,   647,   648,   327,   327,   649,   650,   650,   651,
    1601                 :            :      651,   651,   652,   652,   652,   653,   653,   654,   655,   656,
    1602                 :            :      656,   657,   657,   658,   658,   659,   659,   660,   660,   661,
    1603                 :            :      662,   662,   663,   663,   663,   663,   664,   665,   666,   667,
    1604                 :            :      668,   669
    1605                 :            : };
    1606                 :            : 
    1607                 :            : /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
    1608                 :            : static const yytype_uint8 yyr2[] =
    1609                 :            : {
    1610                 :            :        0,     2,     1,     2,     1,     1,     1,     1,     1,     1,
    1611                 :            :        6,     1,     3,     1,     1,     3,     0,     2,     1,     1,
    1612                 :            :        2,     2,     1,     2,     2,     2,     2,     1,     4,     2,
    1613                 :            :        5,     4,     7,    10,     4,     0,     3,     3,     1,     7,
    1614                 :            :        0,     3,     0,     3,     7,     0,     3,     2,     1,     1,
    1615                 :            :        3,     1,     2,     1,     2,     2,     1,     1,     3,     1,
    1616                 :            :        1,     0,     3,     1,     3,     2,     2,     0,     1,     1,
    1617                 :            :        0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1618                 :            :        3,     1,     4,     2,     4,     4,     5,     4,     1,     3,
    1619                 :            :        1,     1,     1,     2,     6,     0,     1,     1,     1,     3,
    1620                 :            :        3,     1,     1,     5,     1,     3,     1,     0,     1,     1,
    1621                 :            :        4,     1,     1,     0,     1,     3,     0,     1,     1,     1,
    1622                 :            :        1,     1,     0,     1,     5,     1,     1,     0,     1,     0,
    1623                 :            :        2,     3,     9,     2,     1,     3,     0,     1,     0,     1,
    1624                 :            :        0,     3,     2,     3,     1,     4,     3,     2,     0,     3,
    1625                 :            :        1,     1,     3,     3,     0,     2,     1,     1,     1,     1,
    1626                 :            :        1,     3,     1,     3,     1,     4,     1,     2,     1,     3,
    1627                 :            :        1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
    1628                 :            :        2,     3,     2,     1,     1,     1,     1,     1,     1,     4,
    1629                 :            :        2,     5,     2,     1,     4,     4,     2,     2,     1,     1,
    1630                 :            :        0,     2,     4,     3,     2,     1,     1,     3,     3,     2,
    1631                 :            :        1,     3,     2,     1,     1,     1,     1,     2,     2,     3,
    1632                 :            :        1,     3,     1,     1,     1,     1,     1,     1,     1,     2,
    1633                 :            :        2,     2,     2,     0,     2,     1,     6,     4,     1,     1,
    1634                 :            :        1,     4,     4,     4,     4,     1,     1,     1,     1,     1,
    1635                 :            :        1,     1,     1,     1,     1,     6,     1,     1,     1,     1,
    1636                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1637                 :            :        1,     1,     1,     3,     3,     3,     4,     4,     4,     4,
    1638                 :            :        4,     4,     4,     1,     1,     1,     1,     1,     1,     1,
    1639                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1640                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1641                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1642                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1643                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1644                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1645                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1646                 :            :        1,     3,     3,     3,     1,     1,     1,     1,     1,     4,
    1647                 :            :        1,     1,     1,     1,     0,     2,     4,     0,     1,     6,
    1648                 :            :        1,     1,     1,     1,     1,     2,     2,     5,     1,     1,
    1649                 :            :        0,     1,     8,     1,     1,     2,     2,     1,     1,     1,
    1650                 :            :        1,     0,     1,     2,     3,     1,     3,     1,     3,     0,
    1651                 :            :        1,     0,     1,     0,     1,     4,     1,     3,     3,     1,
    1652                 :            :        2,     0,     1,     3,     1,     1,     1,     1,     2,     1,
    1653                 :            :        2,     2,     4,     1,     1,     1,     2,     1,     2,     3,
    1654                 :            :        2,     2,     3,     0,     2,     4,     0,     3,     1,     3,
    1655                 :            :        0,     1,     1,     2,     2,     1,     1,     1,     5,     4,
    1656                 :            :        5,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1657                 :            :        1,     1,     1,     1,     1,     1,     1,     1,     1,     5,
    1658                 :            :        7,     0,     5,     1,     5,     1,     1,     1,     5,     1,
    1659                 :            :        1,     1,     1,     1,     1,     1,     2,     1,     1,     0,
    1660                 :            :        1,     1,     2,     4,     5,     5,     1,     1,     4,     1,
    1661                 :            :        1,     1,     3,     1,     4,     1,     1,     4,     4,     0,
    1662                 :            :        1,     1,     1,     1,     1,     1,     6,     1,     1,     1,
    1663                 :            :        1,     1,     1,     3,     1,     1,     1,     1,     2,     2,
    1664                 :            :        1,     3,     3,     1,     3,     3,     1,     1,     1,     1,
    1665                 :            :        2,     1,     1,     2,     1,     1,     1,     1,     1,     1,
    1666                 :            :        1,     2,     1,     2,     2,     2,     3,     1,     3,     5,
    1667                 :            :        7,     1,     3,     3,     1,     3,     5,     3,     1,     3,
    1668                 :            :        3,     1,     1,     1,     1,     1,     1,     3,     3,     1,
    1669                 :            :        1,     2,     1,     2,     1,     1,     1,     7,     1,     1,
    1670                 :            :        0,     1,     1,     1,     1,     1,     0,     2,     7,     4,
    1671                 :            :        1,     1,     4,     6,     6,     6,     4,     4,     3,     3,
    1672                 :            :        2,     1,     1,     1,     1,     2,     1,     1,     1,     3,
    1673                 :            :        3,     3,     1,     1,     3,     5,     7,     7,     1,     1,
    1674                 :            :        1,     0,     3,     0,     1,     3,     2,     1,     1,     1,
    1675                 :            :        1,     1,     2,     2,     3,     3,     2,     1,     0,     1,
    1676                 :            :        3,     0,     1,     3,     2,     0,     1,     1,     1,     1,
    1677                 :            :        1,     4,     4,     2,     3,     3,     2,     4,     4,     3,
    1678                 :            :        1,     5,     4,     2,     2,     3,     2,     1,     4,     2,
    1679                 :            :        1,     1,     0,     3,     5,     2,     2,     2,     1,     1,
    1680                 :            :        1,     1,     4,     1,     1,     1,     2,     1,     1,     3,
    1681                 :            :        3,     0,     3,     3,     2,     1,     1,     1,     1,     1,
    1682                 :            :        1,     4,     4,     4,     1,     1,     5,     4,     1,     2,
    1683                 :            :        4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
    1684                 :            :        2,     4,     0,     2,     1,     1,     1,     1,     2,     1,
    1685                 :            :        3,     0,     2,     1,     1,     3,     9,     0,     2,     1,
    1686                 :            :        1,     2,     1,     1,     2,     0,     2,     1,     3,     0,
    1687                 :            :        3,     1,     1,     0,     2,     1,     5,     1,     3,     1,
    1688                 :            :        1,     2,     4,     4,     4,     4,     1,     1,     1,     1,
    1689                 :            :        1,     1
    1690                 :            : };
    1691                 :            : 
    1692                 :            : /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
    1693                 :            :    Performed when YYTABLE doesn't specify something else to do.  Zero
    1694                 :            :    means the default is an error.  */
    1695                 :            : static const yytype_uint16 yydefact[] =
    1696                 :            : {
    1697                 :            :       70,    70,     0,   749,     0,   443,   589,   228,   224,   225,
    1698                 :            :      226,   227,    70,   715,   468,   463,     0,     0,     0,     0,
    1699                 :            :        0,   334,   332,    92,     0,     0,   261,     0,     0,    70,
    1700                 :            :      611,   464,   465,   260,     0,     0,    95,   469,   466,     0,
    1701                 :            :        0,   262,     0,     0,   610,   259,   302,     0,   313,   717,
    1702                 :            :        0,   314,   315,   312,   303,   309,   301,   294,   316,   304,
    1703                 :            :      716,   308,   311,   310,   305,   317,   306,     0,   307,   547,
    1704                 :            :      548,   549,   318,   319,   325,   322,   321,   323,   718,   328,
    1705                 :            :      329,   324,   326,   320,   327,   295,   330,   335,   336,   333,
    1706                 :            :      291,   331,   338,   339,   340,   341,   356,   342,   343,   344,
    1707                 :            :      345,   351,   346,   292,   293,   353,   352,   357,   337,   358,
    1708                 :            :      354,   359,   355,   290,   347,   348,   349,   350,   360,   467,
    1709                 :            :      476,   475,   474,   473,   472,   471,   470,   489,   490,   491,
    1710                 :            :      492,   486,   487,     0,     0,     0,     0,   263,   264,   265,
    1711                 :            :      266,   267,   268,   269,   270,   271,     0,     0,   380,   381,
    1712                 :            :      388,   389,     0,   185,   186,   183,   184,   188,   187,     0,
    1713                 :            :        0,     0,     2,     5,     6,     7,     8,     0,     4,    79,
    1714                 :            :       72,    73,    74,    75,    70,   162,    76,    77,    78,    81,
    1715                 :            :      164,   166,   168,   170,   754,   160,   172,     0,   193,   173,
    1716                 :            :      198,   199,   179,   205,   177,   210,   178,   213,   174,   175,
    1717                 :            :      176,   522,   257,   238,   536,   245,   246,   247,   240,   239,
    1718                 :            :      527,   256,   529,     0,     0,     0,     0,     0,     0,     0,
    1719                 :            :      285,   288,   296,     0,   297,   283,   286,   298,   284,   287,
    1720                 :            :      289,   299,   532,     0,   365,   366,     0,   367,     0,   368,
    1721                 :            :      272,     0,   461,   477,   478,     0,   462,     0,   530,   534,
    1722                 :            :      535,   537,   540,   543,   581,   552,   546,   554,   555,   583,
    1723                 :            :       91,   582,   584,   586,   592,   585,   590,   595,   596,   594,
    1724                 :            :      601,     0,   602,   603,   604,   605,   528,   633,   531,   719,
    1725                 :            :      720,   724,   725,   258,     9,    70,     0,     0,   510,     0,
    1726                 :            :       81,     0,   511,   513,   516,   521,     0,    91,   748,     0,
    1727                 :            :        0,   455,     0,   456,   457,     0,     0,     0,     0,    70,
    1728                 :            :        0,    71,   312,   167,     0,     0,     0,    83,     0,    95,
    1729                 :            :        0,     0,     0,     0,     0,   217,   747,     0,     0,    53,
    1730                 :            :       42,    51,    42,    56,    42,     0,    48,    49,   190,     0,
    1731                 :            :       93,    96,    97,     0,     0,     0,   218,   632,     0,   628,
    1732                 :            :      627,   626,     0,     0,     0,     0,     0,   600,     0,     0,
    1733                 :            :        0,    70,   746,   742,   739,     0,     0,     0,     0,     0,
    1734                 :            :        0,   539,   538,     1,     3,     0,     0,     0,   519,     0,
    1735                 :            :      192,   196,   197,   204,   209,   212,    70,    70,    70,   215,
    1736                 :            :      214,   216,   182,    90,     0,   229,   230,   231,   232,     0,
    1737                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1738                 :            :       95,     0,     0,     0,     0,     0,     0,     0,   553,     0,
    1739                 :            :        0,     0,   593,     0,   521,     0,   755,   519,   161,   219,
    1740                 :            :      519,   519,   533,   750,   444,   300,   454,   272,     0,     0,
    1741                 :            :       80,   273,   453,    70,    95,   509,     0,     0,   715,   717,
    1742                 :            :      716,   718,   639,   634,   638,     0,   523,     0,   582,     0,
    1743                 :            :        0,     0,    42,   791,     0,   107,     0,     0,    47,     0,
    1744                 :            :       55,    54,    52,     0,     0,     0,   203,     0,   111,     0,
    1745                 :            :      112,   220,   233,   222,     0,   582,   622,     0,   623,   624,
    1746                 :            :      621,     0,     0,     0,     0,     0,     0,     0,     0,    42,
    1747                 :            :        0,   571,     0,   571,     0,   598,   599,   332,   253,   254,
    1748                 :            :      328,   329,   324,   249,   331,   251,     0,   250,   248,   252,
    1749                 :            :       61,     0,     0,     0,     0,   740,     0,    70,   742,   728,
    1750                 :            :        0,     0,   571,     0,   571,   363,   371,   373,   372,     0,
    1751                 :            :      370,     0,     0,     0,   208,   206,   200,   200,   520,     0,
    1752                 :            :      181,     0,   169,   171,   211,   275,     0,   745,   574,   744,
    1753                 :            :        0,     0,   578,     0,     0,     0,     0,   274,     0,     0,
    1754                 :            :        0,   409,   397,   398,   361,   399,   400,   374,   382,     0,
    1755                 :            :        0,     0,   485,   362,     0,   483,   541,   542,   544,   545,
    1756                 :            :      551,   550,   588,   587,   591,     0,   512,     0,    88,     0,
    1757                 :            :        0,     0,     0,   446,     0,     0,     0,     0,     0,     0,
    1758                 :            :      459,     0,     0,     0,   759,   760,     0,     0,    70,    84,
    1759                 :            :      108,     0,    85,   104,   106,   223,   715,     0,    38,     0,
    1760                 :            :       50,   189,   243,     0,     0,   110,   107,     0,     0,   625,
    1761                 :            :      235,     0,   620,     0,   616,     0,     0,     0,   630,   632,
    1762                 :            :      629,   631,   107,    98,     0,   244,   241,   242,     0,   237,
    1763                 :            :        0,     0,     0,   609,     0,     0,     0,     0,     0,     0,
    1764                 :            :      745,   743,   727,    90,   734,     0,   193,   198,   205,   210,
    1765                 :            :        0,   731,     0,   729,   721,   723,   722,   369,     0,     0,
    1766                 :            :        0,     0,     0,   195,   194,    82,   157,   159,   156,   158,
    1767                 :            :      165,   276,     0,    70,     0,     0,   277,     0,   281,     0,
    1768                 :            :        0,   282,   278,     0,   280,   279,     0,   416,   411,     0,
    1769                 :            :      410,     0,     0,   377,     0,   481,   481,     0,   612,    87,
    1770                 :            :        0,   515,   514,   518,   109,   517,   450,   445,     0,     0,
    1771                 :            :      715,   635,   700,   658,   708,   692,   692,   705,   703,   699,
    1772                 :            :      658,   692,   704,   698,   658,   658,   658,     0,     0,   661,
    1773                 :            :        0,   661,   661,   701,   658,   707,     0,     0,   524,   525,
    1774                 :            :      640,   641,   657,   643,   680,   647,   687,   648,   690,   691,
    1775                 :            :      649,   650,   651,     0,     0,   460,     0,     0,     0,    19,
    1776                 :            :        0,    11,    13,     0,    14,     0,     0,   761,   763,   765,
    1777                 :            :      762,     0,   147,     0,    43,     0,     0,     0,     0,   133,
    1778                 :            :      134,   751,   506,   507,   144,   140,     0,   148,   221,   234,
    1779                 :            :        0,   619,   618,     0,     0,     0,   103,     0,    86,   572,
    1780                 :            :      573,     0,   606,   582,     0,    70,   488,   741,   182,    70,
    1781                 :            :        0,   726,   394,   393,     0,   191,   207,     0,   201,   577,
    1782                 :            :      190,     0,   575,   568,   579,   580,     0,     0,     0,    61,
    1783                 :            :      412,   408,   383,   375,   377,     0,     0,   387,   378,   458,
    1784                 :            :        0,   484,   479,     0,    89,   451,     0,   448,   452,     0,
    1785                 :            :        0,     0,     0,     0,   652,   659,     0,   697,   696,   706,
    1786                 :            :        0,     0,     0,   676,   695,   711,   711,     0,     0,   653,
    1787                 :            :      656,   686,     0,   683,   662,   658,   658,   673,   689,     0,
    1788                 :            :        0,   684,   558,   559,   560,   557,   692,   556,   658,     0,
    1789                 :            :      567,   714,   526,     0,   643,   644,   646,   614,   613,    70,
    1790                 :            :        0,    20,    10,     0,     0,    16,    40,     0,   764,     0,
    1791                 :            :      105,    37,   753,    59,    45,    57,    60,     0,   499,   144,
    1792                 :            :        0,     0,     0,   495,   500,   499,   493,   494,   501,     0,
    1793                 :            :      137,     0,    35,     0,   142,    94,     0,   154,   615,   617,
    1794                 :            :      632,    99,   102,   100,   101,   236,     0,     0,     0,   255,
    1795                 :            :       62,    63,    67,    67,     0,   733,     0,   735,   737,   738,
    1796                 :            :      736,   732,   730,   390,     0,     0,     0,     0,     0,   413,
    1797                 :            :        0,   379,   385,   386,     0,   481,   447,   450,   637,   636,
    1798                 :            :        0,   654,   661,     0,     0,   679,   661,     0,     0,   709,
    1799                 :            :      710,   655,   661,   665,     0,     0,     0,   674,     0,   675,
    1800                 :            :      685,   661,   565,   564,     0,     0,   645,     0,     0,    12,
    1801                 :            :        0,    15,     0,    39,   767,   766,   757,     0,     0,    44,
    1802                 :            :      146,   144,   135,     0,     0,   502,     0,   752,     0,   143,
    1803                 :            :       35,     0,    70,   401,   607,   608,   597,    70,    68,    69,
    1804                 :            :       66,    65,     0,   180,     0,   377,   391,   202,   576,   569,
    1805                 :            :        0,   715,   417,   419,   643,   425,   424,   415,   414,     0,
    1806                 :            :      376,   384,    61,   480,   449,   660,   671,   693,     0,   702,
    1807                 :            :      682,     0,     0,   672,   666,   667,   668,   669,   670,   664,
    1808                 :            :      663,   677,   661,   678,   688,   658,   562,   566,   642,    34,
    1809                 :            :        0,    31,     0,    27,     0,     0,    22,    17,     0,     0,
    1810                 :            :      769,    58,     0,   145,   503,     0,   499,     0,   141,   149,
    1811                 :            :      151,   150,   155,     0,    61,   402,    64,   395,   396,   392,
    1812                 :            :        0,     0,   420,     0,     0,     0,     0,   421,   426,   429,
    1813                 :            :      427,     0,     0,   712,   713,   681,   563,     0,    21,    70,
    1814                 :            :       24,    25,    26,    23,    18,    29,    41,   138,   138,   758,
    1815                 :            :      780,     0,   756,   773,    46,   504,    70,     0,   497,   505,
    1816                 :            :      498,    36,     0,   407,   403,   405,     0,   127,   570,   418,
    1817                 :            :        0,     0,   435,     0,   433,   437,   430,   428,   431,     0,
    1818                 :            :      423,   422,   482,   694,     0,     0,     0,   136,   139,   136,
    1819                 :            :      136,   136,   781,     0,     0,    70,   496,     0,   153,   152,
    1820                 :            :        0,     0,     0,   113,   128,   436,   438,     0,     0,   440,
    1821                 :            :      441,     0,    32,    28,     0,     0,     0,     0,     0,   771,
    1822                 :            :      772,   770,    70,   774,     0,   779,   768,   775,     0,   404,
    1823                 :            :      406,   129,     0,   122,   114,   432,   434,   439,   442,     0,
    1824                 :            :       30,   788,   785,   787,   790,   783,   784,   786,   789,   782,
    1825                 :            :        0,    70,   508,     0,   131,     0,   125,     0,   132,   123,
    1826                 :            :        0,   163,     0,   777,   130,   120,   121,   115,   118,   119,
    1827                 :            :      116,    33,    70,     0,   117,   126,   776,   778,     0,   124
    1828                 :            : };
    1829                 :            : 
    1830                 :            : /* YYDEFGOTO[NTERM-NUM].  */
    1831                 :            : static const yytype_int16 yydefgoto[] =
    1832                 :            : {
    1833                 :            :       -1,   161,  1255,   163,   164,   790,   791,   792,  1041,  1172,
    1834                 :            :      793,  1127,   794,  1059,   627,   165,  1043,   470,   166,  1049,
    1835                 :            :      335,   336,   337,   944,   945,   668,   980,   981,  1070,   167,
    1836                 :            :      168,   169,   170,   171,   172,   173,   288,   597,   174,   175,
    1837                 :            :      176,   177,   343,   652,   653,   973,   178,   622,   623,   619,
    1838                 :            :      289,   445,   479,  1263,  1264,  1303,  1300,  1297,  1288,  1289,
    1839                 :            :     1285,  1304,  1233,  1284,  1234,   635,   636,   809,   961,  1219,
    1840                 :            :      964,   948,   620,   967,  1139,  1063,   700,   180,  1253,   181,
    1841                 :            :      182,   183,   184,   185,   674,   186,   187,   188,   189,   190,
    1842                 :            :      191,   192,   693,   193,   194,   544,   195,   196,   197,   198,
    1843                 :            :      394,   199,   200,   201,   480,   481,   624,   202,   639,   203,
    1844                 :            :      204,   205,   206,   207,   208,   515,   516,   517,   209,   210,
    1845                 :            :      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
    1846                 :            :      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
    1847                 :            :      231,   232,   233,   234,   537,   538,   539,   722,   867,   235,
    1848                 :            :      236,   577,   863,  1090,   868,   237,   238,  1075,   239,   844,
    1849                 :            :     1076,  1193,   574,   575,  1144,  1145,  1194,  1195,  1196,   576,
    1850                 :            :      718,   859,  1087,   719,   720,   860,  1082,  1083,  1210,  1088,
    1851                 :            :     1089,  1157,  1202,  1159,  1160,  1203,  1265,  1204,  1205,  1211,
    1852                 :            :      305,   306,   737,   876,   877,   307,   308,   240,   241,   242,
    1853                 :            :      243,   871,   584,   244,   581,   245,   246,   247,   958,  1188,
    1854                 :            :     1189,   959,   812,   813,   814,  1190,   292,   293,   294,   732,
    1855                 :            :      295,   549,   296,   248,   455,   767,   249,   250,   251,   252,
    1856                 :            :      253,   254,   255,   256,   418,   591,   257,   258,   259,   518,
    1857                 :            :      919,  1117,   920,   921,   560,   565,   569,   585,   562,   563,
    1858                 :            :      260,   261,   262,   263,   264,   925,   265,   266,   267,   268,
    1859                 :            :      504,   505,   506,   269,   977,   270,   271,   272,   273,   274,
    1860                 :            :      275,   491,   492,   483,   815,   349,   350,   351,   276,   453,
    1861                 :            :      769,   924,   926,   770,   771,   884,   885,   903,   904,  1024,
    1862                 :            :     1109,   772,   773,   774,   775,   776,   777,   887,   778,   779,
    1863                 :            :      780,   781,  1019,   782,   277,   278,   279,   280,   281,   282,
    1864                 :            :      528,   529,   680,   681,   363,   364,   526,   558,   559,   365,
    1865                 :            :      327,   283,   962,   946,   284,  1130,   617,   801,   938,  1045,
    1866                 :            :     1182,  1183,  1251,  1225,  1256,  1292,  1257,  1179,  1180,  1276,
    1867                 :            :     1272,  1273,  1279,  1275,   464
    1868                 :            : };
    1869                 :            : 
    1870                 :            : /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    1871                 :            :    STATE-NUM.  */
    1872                 :            : #define YYPACT_NINF -1155
    1873                 :            : static const yytype_int16 yypact[] =
    1874                 :            : {
    1875                 :            :     2400,  1449,   127, -1155,   142,   448, -1155, -1155, -1155, -1155,
    1876                 :            :    -1155, -1155,  3034,   264, -1155, -1155,   193,    82,   198,   273,
    1877                 :            :       20, -1155, -1155, -1155,   189,   279, -1155,   301,   590,   380,
    1878                 :            :    -1155, -1155, -1155, -1155,   399,   276,    96, -1155, -1155,   436,
    1879                 :            :      439, -1155,   279,   433, -1155, -1155, -1155,   468, -1155,   475,
    1880                 :            :      488, -1155, -1155,   413, -1155, -1155, -1155, -1155, -1155, -1155,
    1881                 :            :      500, -1155, -1155, -1155, -1155, -1155, -1155,   528, -1155, -1155,
    1882                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,   545, -1155,
    1883                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1884                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1885                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1886                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1887                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1888                 :            :    -1155, -1155, -1155,   583,  4592,   610,   617, -1155, -1155, -1155,
    1889                 :            :    -1155, -1155, -1155, -1155, -1155, -1155,   626,   632, -1155, -1155,
    1890                 :            :    -1155, -1155,   650, -1155, -1155, -1155, -1155, -1155, -1155,  7793,
    1891                 :            :     7793,   521,   527, -1155, -1155, -1155, -1155,    80, -1155,   493,
    1892                 :            :    -1155, -1155, -1155, -1155,   136,   167, -1155, -1155, -1155, -1155,
    1893                 :            :      575, -1155, -1155,   368,   372, -1155, -1155,  4893, -1155, -1155,
    1894                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1895                 :            :    -1155, -1155,   473, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1896                 :            :    -1155, -1155, -1155,   681,   688,   693,   705,   712,   715,   717,
    1897                 :            :    -1155, -1155, -1155,   720, -1155, -1155, -1155, -1155, -1155, -1155,
    1898                 :            :    -1155, -1155, -1155,   445, -1155, -1155,   734, -1155,   744, -1155,
    1899                 :            :      453,   747, -1155, -1155, -1155,   764, -1155,   779, -1155, -1155,
    1900                 :            :    -1155, -1155, -1155,  -158,   144,   760, -1155, -1155, -1155, -1155,
    1901                 :            :      477, -1155,   480, -1155,   751, -1155, -1155, -1155, -1155, -1155,
    1902                 :            :    -1155,   796, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1903                 :            :    -1155, -1155, -1155, -1155, -1155,  1449,   798,   804, -1155,   726,
    1904                 :            :       91,    77, -1155, -1155,   727, -1155,   148,    13, -1155,   805,
    1905                 :            :      502, -1155,  8398, -1155, -1155,   672,   806,   807,   808,  2717,
    1906                 :            :      361, -1155, -1155, -1155,   794,   -10,  7213, -1155,  7213,    -9,
    1907                 :            :      433,   433,   800,   433,   105, -1155, -1155,   746,   724, -1155,
    1908                 :            :      828, -1155,   828, -1155,   828,   736,   827, -1155,    78,  7213,
    1909                 :            :    -1155, -1155, -1155,  1158,  7213,  4302, -1155,   116,   723, -1155,
    1910                 :            :    -1155, -1155,  7213,  7213,  7213,   433,  7213,  7213,  5183,  7213,
    1911                 :            :     5473,  3351, -1155,   320, -1155,   593,  7213,  7213,   830,   801,
    1912                 :            :     7213, -1155, -1155, -1155, -1155,  5763,   837,  7213,   813,  4893,
    1913                 :            :    -1155, -1155, -1155, -1155, -1155, -1155,   380,  3351,  3351, -1155,
    1914                 :            :    -1155, -1155, -1155, -1155,   279, -1155, -1155, -1155, -1155,   838,
    1915                 :            :     7213,  7213,  7213,  7213,  7213,  6053,  7213,   117,  7213,  7213,
    1916                 :            :       96,  7503,  6343,  7503,  7503,  7503,  7503,   753, -1155,  7213,
    1917                 :            :      100,   433, -1155,  7213,   840,  5763, -1155,   813, -1155, -1155,
    1918                 :            :      813,   813, -1155, -1155, -1155, -1155, -1155, -1155,   842,   433,
    1919                 :            :    -1155, -1155, -1155,  2717,    96, -1155,    77,   833,   834, -1155,
    1920                 :            :    -1155, -1155, -1155, -1155, -1155,   816,   477,   844,   713,   849,
    1921                 :            :     7213,   851,   828, -1155,  -114,   714,   105,   518, -1155,   104,
    1922                 :            :    -1155, -1155, -1155,   433,   600,   783, -1155,    30, -1155,   201,
    1923                 :            :      853, -1155,    28, -1155,   477,   721, -1155,  7213, -1155, -1155,
    1924                 :            :      -11,   856,  6633,   835,   839,   104,    32,    33,    41,   828,
    1925                 :            :      525,   -13,   539,   110,   789, -1155, -1155,   790, -1155, -1155,
    1926                 :            :      792,   793,   797,   865,   799, -1155,   802, -1155, -1155,   477,
    1927                 :            :      -28,  5473,    13,  -140,  7213, -1155,   628,  3351,   629, -1155,
    1928                 :            :      593,   557,   477,   584,    64, -1155,   473, -1155, -1155,   868,
    1929                 :            :    -1155,    75,   563,  5473, -1155, -1155,   107,    40, -1155,   768,
    1930                 :            :    -1155,   405, -1155,   368, -1155, -1155,   873,   263, -1155, -1155,
    1931                 :            :      876,   877, -1155,   627,   633,   879,   880, -1155,   638,   882,
    1932                 :            :      883,   861, -1155, -1155, -1155, -1155, -1155,   884,   477,    68,
    1933                 :            :     7213,   886,   144, -1155,   111,   532, -1155, -1155,  -158,  -158,
    1934                 :            :    -1155, -1155, -1155, -1155, -1155,    71, -1155,   566, -1155,   105,
    1935                 :            :      105,   105,  7213,   888,  1158,   866,    83,   858,   858,   433,
    1936                 :            :    -1155,   889,   479,   862, -1155, -1155,   803,   159,  3351, -1155,
    1937                 :            :    -1155,    50,   891, -1155, -1155, -1155, -1155,   577, -1155,   771,
    1938                 :            :    -1155, -1155, -1155,   197,   518, -1155,   714,  7213,   104, -1155,
    1939                 :            :    -1155,   433,   477,  7213, -1155,  7213,   120,   885, -1155,   885,
    1940                 :            :    -1155, -1155,   118, -1155,   592, -1155, -1155, -1155,   105, -1155,
    1941                 :            :     7213,  7213,  7213, -1155,  7213,  7213,  7213,   867,   901,  7213,
    1942                 :            :      477, -1155, -1155,    98, -1155,  4893,   903,   905,   908,   911,
    1943                 :            :       60, -1155,   675, -1155, -1155, -1155, -1155, -1155,   801,  5763,
    1944                 :            :      647,   841,  7213, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1945                 :            :    -1155, -1155,  7213,   380,  7213,  7213, -1155,  7213, -1155,  7213,
    1946                 :            :     7213, -1155, -1155,  7213, -1155, -1155,  7213, -1155,   615,   918,
    1947                 :            :    -1155,   900,   920,   311,   921,   696,   696,  7213, -1155, -1155,
    1948                 :            :     5763, -1155, -1155,   726, -1155,   726,   801, -1155,   852,   914,
    1949                 :            :      922, -1155, -1155,    49, -1155,   928,   928,   832,   935, -1155,
    1950                 :            :       52,   928, -1155, -1155,   936,   936,   162,   936,   936,   939,
    1951                 :            :       62,   939,   939, -1155,   184, -1155,   356,   940, -1155, -1155,
    1952                 :            :    -1155,   904, -1155,   751, -1155, -1155, -1155, -1155, -1155, -1155,
    1953                 :            :    -1155, -1155, -1155,   941,   943, -1155,   945,   863,   864, -1155,
    1954                 :            :      599, -1155, -1155,   946, -1155,  8040,   768, -1155, -1155,   855,
    1955                 :            :    -1155,   843,   372,   518, -1155,   104,    87,    99,   809,   947,
    1956                 :            :      589,   195, -1155, -1155, -1155,   195,   109,   881, -1155, -1155,
    1957                 :            :      952,   477,   477,  7213,   931,   104, -1155,  6923,    50,   477,
    1958                 :            :      477,    72,    24,   108,    73,  3668, -1155, -1155,    79,  3985,
    1959                 :            :     7213, -1155, -1155, -1155,   956, -1155, -1155,   942,   643,   532,
    1960                 :            :      902,   173,   477, -1155, -1155, -1155,   960,   961,   929,   869,
    1961                 :            :    -1155, -1155, -1155,   963,   311,   683,   686, -1155, -1155, -1155,
    1962                 :            :      893, -1155, -1155,   664, -1155,   473,   604, -1155, -1155,    85,
    1963                 :            :       85,   950,   936,   706, -1155, -1155,   953, -1155, -1155, -1155,
    1964                 :            :      955,   936,   708, -1155, -1155,   -49,   -49,   936,   711, -1155,
    1965                 :            :    -1155, -1155,   962, -1155, -1155,   200,    67, -1155, -1155,   936,
    1966                 :            :      716, -1155, -1155, -1155, -1155, -1155,   928, -1155,   936,   857,
    1967                 :            :    -1155, -1155, -1155,   870,   751, -1155, -1155, -1155, -1155,  3351,
    1968                 :            :      983, -1155, -1155,   479,   104, -1155,   847,   104, -1155,   931,
    1969                 :            :    -1155, -1155, -1155, -1155,    92, -1155, -1155,    99,    56,   986,
    1970                 :            :      197,   197,   915, -1155, -1155,   442, -1155, -1155,   897,   916,
    1971                 :            :    -1155,   977,  1001,   979, -1155, -1155,   966,   932, -1155,   477,
    1972                 :            :    -1155, -1155, -1155, -1155,   477, -1155,  7213,  1009,  1010, -1155,
    1973                 :            :     1011, -1155,   152,    93,   101, -1155,  5763, -1155, -1155, -1155,
    1974                 :            :    -1155, -1155, -1155,   944,  1003,  7213,  7213,  7213,   106,   345,
    1975                 :            :     7213, -1155, -1155, -1155,  1014,   696, -1155,   801, -1155, -1155,
    1976                 :            :     1015, -1155,   939,   684,  1016, -1155,   939,   899,   906, -1155,
    1977                 :            :    -1155, -1155,   939,   728,  1018,   936,   752, -1155,   936, -1155,
    1978                 :            :    -1155,   939, -1155,   898,   421,   999, -1155,    86,   104, -1155,
    1979                 :            :      689,   531,   984, -1155,  1021, -1155,   778,    87,   954, -1155,
    1980                 :            :    -1155,  1020,   589,   197,   948, -1155,   197, -1155,   104, -1155,
    1981                 :            :     1001,  8171,  3351,   729,   477, -1155, -1155,  3668, -1155, -1155,
    1982                 :            :    -1155, -1155,  7213, -1155,   408,   311, -1155, -1155,   477, -1155,
    1983                 :            :     1031,   133,  1032, -1155,   751, -1155, -1155, -1155, -1155,   732,
    1984                 :            :    -1155,   477,   869, -1155, -1155, -1155, -1155, -1155,  1017, -1155,
    1985                 :            :    -1155,   895,   907, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    1986                 :            :    -1155, -1155,   939, -1155, -1155,   936, -1155, -1155, -1155, -1155,
    1987                 :            :      694, -1155,   957,  1047,   491,   433, -1155, -1155,   951,   449,
    1988                 :            :      985, -1155,   958, -1155,   589,   197,   425,   707, -1155,  1049,
    1989                 :            :    -1155, -1155,   372,   861,   869, -1155, -1155, -1155, -1155, -1155,
    1990                 :            :     7213,   106, -1155,   782,   810,   755,   757,   763, -1155, -1155,
    1991                 :            :    -1155,  1056,  1057, -1155, -1155, -1155, -1155,   959, -1155,  3351,
    1992                 :            :    -1155, -1155, -1155,   473, -1155,  1059, -1155,   -22,     7,   449,
    1993                 :            :    -1155,   814, -1155,   821, -1155,   589,  3351,  1064, -1155, -1155,
    1994                 :            :    -1155, -1155,  8171, -1155,  1063, -1155,  1038,   765, -1155, -1155,
    1995                 :            :      260,   325, -1155,   761, -1155, -1155, -1155, -1155, -1155,    11,
    1996                 :            :    -1155, -1155, -1155, -1155,   433,    88,   104,  1041, -1155,  1041,
    1997                 :            :     1041,  1041, -1155,   474,  1071,  1766,   372,   104, -1155, -1155,
    1998                 :            :      861,  1072,  1053,   770, -1155, -1155, -1155,   782,   823, -1155,
    1999                 :            :    -1155,   784,  1076, -1155,   767,  1060,  1061,  1060,  1062, -1155,
    2000                 :            :    -1155, -1155,  3351, -1155,   829, -1155, -1155, -1155,   769, -1155,
    2001                 :            :    -1155,   776,   739,  1022, -1155, -1155, -1155, -1155, -1155,   104,
    2002                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    2003                 :            :       90,  2400, -1155,  1066, -1155,  -157,   473,   -86, -1155, -1155,
    2004                 :            :      772, -1155,  1083, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    2005                 :            :      739, -1155,  2083,  -157, -1155,   473, -1155, -1155,   785, -1155
    2006                 :            : };
    2007                 :            : 
    2008                 :            : /* YYPGOTO[NTERM-NUM].  */
    2009                 :            : static const yytype_int16 yypgoto[] =
    2010                 :            : {
    2011                 :            :    -1155, -1155,    58, -1155, -1155, -1155,   160, -1155, -1155, -1155,
    2012                 :            :       51, -1155, -1155,    35,  -902, -1155, -1155,  -245, -1155, -1155,
    2013                 :            :    -1155, -1155,   622, -1155,    53,  -790, -1155,    31,   114,   -23,
    2014                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,  -173,  -130,
    2015                 :            :    -1155, -1155,  -120, -1155,   274, -1155, -1155,   467,   299,  -175,
    2016                 :            :      132,     0,   499, -1155, -1155, -1155, -1155,  -199, -1155, -1155,
    2017                 :            :    -1155, -1155, -1155, -1155, -1155,   289, -1155, -1155,  -774,   -72,
    2018                 :            :    -1155,  -615, -1155, -1155, -1155, -1155, -1155, -1155, -1155,  1095,
    2019                 :            :      722,   725,     1,  -771, -1155, -1155,  -154,  -153, -1155,  -152,
    2020                 :            :      934, -1155,   564,  -147, -1155, -1155,  -144, -1155,   938, -1155,
    2021                 :            :    -1155, -1155, -1155,   -18, -1155,   478, -1155,  -359, -1155, -1155,
    2022                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,  -982,
    2023                 :            :    -1155,  -297, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    2024                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    2025                 :            :    -1155, -1155, -1155, -1155,   422,   426, -1155, -1155,  -797, -1155,
    2026                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    2027                 :            :    -1155,  -324, -1155, -1155, -1155, -1155, -1155,  -112, -1155,  -115,
    2028                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155,   -32, -1155, -1155,
    2029                 :            :    -1155, -1155,    34, -1155, -1155, -1155, -1155,  -117, -1155, -1155,
    2030                 :            :    -1155, -1155, -1155, -1155,   115, -1155, -1155,  -293, -1155, -1155,
    2031                 :            :    -1155,  -665, -1155, -1155, -1155, -1155, -1155,  -291, -1155, -1155,
    2032                 :            :    -1155,   166, -1155, -1155,  -707, -1155, -1155,   526,   178, -1155,
    2033                 :            :     -257,   123,  -393, -1155,   811,   516, -1155,   766,   621,   371,
    2034                 :            :      377,   730, -1155,     4, -1155, -1155, -1155, -1155, -1155,  -688,
    2035                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155,  -317,  -375,   253,
    2036                 :            :       12,  -306, -1155, -1155, -1155,   878,   731, -1155, -1155, -1155,
    2037                 :            :    -1155, -1155, -1155, -1155,   304, -1155, -1155, -1155, -1155, -1155,
    2038                 :            :    -1155, -1155, -1155, -1155,   -40, -1155,   293,  -479,  -919,  -457,
    2039                 :            :      337, -1155,  -842, -1155, -1155,  -708,  -591,  -718, -1155, -1155,
    2040                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1155,  -655, -1155, -1155,
    2041                 :            :    -1155, -1155,   244, -1155,  -307, -1155, -1155, -1155, -1155, -1155,
    2042                 :            :    -1155,   614, -1155,   306,   781,  -277,   619,  -491, -1155, -1155,
    2043                 :            :    -1155,  -346, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
    2044                 :            :    -1155, -1155, -1155, -1155, -1155, -1155, -1154, -1155,   -31, -1155,
    2045                 :            :    -1155,   -98, -1155, -1155, -1155
    2046                 :            : };
    2047                 :            : 
    2048                 :            : /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    2049                 :            :    positive, shift that token.  If negative, reduce the rule which
    2050                 :            :    number is the opposite.  If YYTABLE_NINF, syntax error.  */
    2051                 :            : #define YYTABLE_NINF -739
    2052                 :            : static const yytype_int16 yytable[] =
    2053                 :            : {
    2054                 :            :      179,   290,   291,   348,   362,   436,   338,   325,   454,   437,
    2055                 :            :      536,   438,   458,   297,   392,   651,   448,   432,   810,   341,
    2056                 :            :      379,   380,   381,   540,   346,   556,   561,   383,   424,   566,
    2057                 :            :      384,   570,  1040,   671,   632,  1044,   655,   656,   485,   500,
    2058                 :            :      502,   963,   893,   907,   908,   657,   895,   896,   899,   531,
    2059                 :            :      533,   691,   881,   342,   626,   881,   911,   393,   162,   287,
    2060                 :            :      638,   872,  1238,   643,   983,   839,   662,  1001,   686,   999,
    2061                 :            :      881,   547,   723,   621,   667,   728,   975,   979,   918,  1084,
    2062                 :            :      688,   428,  1036,   573,  -180,   611,   525,   471,  1239,   472,
    2063                 :            :     1119,   888,  1243,  1017,  1291,   976,   894,  1047,  1295,  1217,
    2064                 :            :      949,   669,   947,  -733,   905,   692,   952,  1156,   466,   740,
    2065                 :            :      808,   626,  -606,   942,   803,   726,   430,   375,   691,     6,
    2066                 :            :      571,   625,   493,   825,   341,   347,  1068,  1293,  1220,   494,
    2067                 :            :      626,   953,  1081,   614,   615,   616,  1120,   954,   375,   314,
    2068                 :            :      475,   320,  1141,   572,   449,  1296,   315,    18,  1307,   741,
    2069                 :            :      955,   727,   429,   298,  1069,   450,  1137,  -509,   342,   376,
    2070                 :            :      321,   311,   628,   413,   414,   881,   900,   901,   299,   377,
    2071                 :            :      388,  1201,   692,   451,   476,   640,  -509,   -90,   837,   976,
    2072                 :            :      376,   431,   449,   633,   664,  1068,   424,   881,   654,   -90,
    2073                 :            :     1072,    30,   -90,   450,   823,   943,   316,  1027,  1029,   460,
    2074                 :            :      807,   318,   542,   881,   -90,   724,   550,  1298,   808,   424,
    2075                 :            :     1033,   451,   444,  1069,   430,   906,   956,   613,   444,   798,
    2076                 :            :       29,  -136,  1299,   347,   957,   317,   690,   960,    39,    40,
    2077                 :            :     1018,   -90,  1084,  1218,  1048,    44,   -90,   449,   286,   449,
    2078                 :            :      949,   -90,  1152,  1051,   286,   393,   -90,   717,   450,   393,
    2079                 :            :      450,   -90,   598,   525,   658,  1201,   -90,   703,   449,   618,
    2080                 :            :      449,  1032,  1218,   323,   424,   828,   451,  -300,   451,   450,
    2081                 :            :      314,   450,    67,  1229,   322,   633,   319,   315,  1149,   431,
    2082                 :            :      461,   462,   324,   465,   634,   290,   291,   451,   625,   451,
    2083                 :            :      580,  1011,   419,   799,  1096,   393,   983,   297,  1100,   454,
    2084                 :            :     1015,   840,  1161,   702,  1103,   795,  1021,   419,  1240,   419,
    2085                 :            :      446,   452,   459,  1114,  1244,   499,  1241,   800,  1030,   882,
    2086                 :            :     -180,   297,   891,   883,   604,  1258,   892,   326,   456,   536,
    2087                 :            :      456,   819,   853,   419,   854,   855,  1052,  1028,   856,  -162,
    2088                 :            :     1093,   857,   540,   287,   419,   651,  1116,   703,   419,   992,
    2089                 :            :      419,   477,   419,   419,  1197,   482,   484,   490,   545,   833,
    2090                 :            :     -582,   419,   523,   551,   496,   497,   498,  1290,   501,   503,
    2091                 :            :      519,   520,   522,   675,   676,   677,   554,   875,   532,   534,
    2092                 :            :      678,   594,   541,   679,   419,   849,   848,   388,   419,   484,
    2093                 :            :      878,   419,   419,   419,  1165,   419,   388,   673,   388,   603,
    2094                 :            :      388,   704,   339,   705,   452,   311,   452,  1166,  -162,  -162,
    2095                 :            :      873,   912,   557,   557,   557,   557,   557,   557,   557,   340,
    2096                 :            :      578,   579,  1008,  1009,   532,  -535,  -535,  -535,  -535,  -535,
    2097                 :            :      419,   592,   897,   629,  1111,   595,   898,  1113,  1134,   344,
    2098                 :            :      419,  1136,   345,  1245,   446,  1246,  1247,  1248,   153,   154,
    2099                 :            :      155,   156,   157,   158,   909,   297,   300,   625,   910,   347,
    2100                 :            :     1046,   817,   415,   416,   -90,   -90,   -90,   -90,   -90,   -90,
    2101                 :            :     1025,   352,   557,   696,  1026,   952,   912,   826,   353,   -90,
    2102                 :            :      -90,   -90,   -90,   -90,   -90,   153,   154,   155,   156,   157,
    2103                 :            :      158,   354,   395,   419,   396,   397,   355,   398,   941,   642,
    2104                 :            :      953,   697,   838,   356,   646,   626,   954,   301,   302,   303,
    2105                 :            :      304,     7,     8,     9,    10,    11,   845,   953,   654,   955,
    2106                 :            :     1185,   373,   786,   954,     2,  1186,     3,     4,   523,   659,
    2107                 :            :      660,   357,   661,   522,   374,   698,   670,   660,   699,   661,
    2108                 :            :      913,   914,   915,   663,   660,   393,   661,   916,   358,   695,
    2109                 :            :      599,   787,   917,   600,   601,   532,  1122,   874,  1235,   393,
    2110                 :            :     1207,   684,   660,  1187,   661,   361,   524,   768,   768,   784,
    2111                 :            :      729,   730,   454,   454,  1123,   153,   154,   155,   156,   157,
    2112                 :            :      158,   804,   805,   419,   788,   956,   359,  1170,   685,   660,
    2113                 :            :     1124,   661,   557,   957,   301,   302,   303,   304,   865,   866,
    2114                 :            :      393,   820,   956,   932,   933,   913,   914,   915,  1006,  1007,
    2115                 :            :      957,   789,  1115,   366,   532,   811,   482,   917,   328,   802,
    2116                 :            :      367,  1079,  1080,  1236,   378,  1208,   795,   628,  1171,   368,
    2117                 :            :      628,   708,   709,   449,   710,   369,   788,   711,   709,   952,
    2118                 :            :      710,  1125,   714,   709,   450,   710,  1085,  1086,   875,   482,
    2119                 :            :      329,   846,   660,   370,   661,   821,   564,   822,   568,   386,
    2120                 :            :      329,   878,   451,   789,   953,    69,    70,    71,  1005,   660,
    2121                 :            :      954,   661,   829,   830,   831,  -499,   832,   484,   834,   387,
    2122                 :            :      850,   670,   388,   955,   399,   986,   987,   988,  1097,  1098,
    2123                 :            :      424,   400,   989,  1121,   805,   990,   401,   995,  1167,   805,
    2124                 :            :      330,  1147,  1148,   331,   484,   982,  1177,  1178,   402,   985,
    2125                 :            :      330,  1191,   805,   331,   532,   403,   851,   852,   404,   557,
    2126                 :            :      405,   557,   557,   406,   332,   557,   333,   407,   557,  1249,
    2127                 :            :     1250,   628,   733,   735,   332,  -364,   333,   408,     2,   532,
    2128                 :            :        3,     4,  1104,  1105,  1106,  1107,  1108,   409,   334,   956,
    2129                 :            :      410,   628,     7,     8,     9,    10,    11,   957,   334,     7,
    2130                 :            :        8,     9,    10,    11,  1140,  1173,   547,   411,   437,  1153,
    2131                 :            :      438,  1270,   805,  1282,   805,  1198,  1301,   805,   734,   734,
    2132                 :            :      371,   372,   412,  1154,   586,   587,   648,   650,     2,   811,
    2133                 :            :        3,     4,   588,   589,   417,   421,   936,   419,   420,   423,
    2134                 :            :       26,   425,     7,     8,     9,    10,    11,     2,   426,     3,
    2135                 :            :        4,   427,  -109,  1073,   434,   433,   984,   439,   440,   441,
    2136                 :            :      447,     7,     8,     9,    10,    11,   463,   442,    33,   467,
    2137                 :            :      468,   469,   474,  1154,   535,   969,   473,   495,   527,   974,
    2138                 :            :      543,   548,   555,   590,   596,   602,   605,   606,   607,   608,
    2139                 :            :       26,   609,   670,   610,   612,   618,   393,   631,   637,   641,
    2140                 :            :      644,   647,    41,   665,  -558,   649,  -559,  -560,  -330,    45,
    2141                 :            :      672,  -557,   687,  -556,   689,   524,   666,   701,    33,   742,
    2142                 :            :      706,   444,   707,   712,   347,   713,   715,   572,   716,   721,
    2143                 :            :      725,   736,   739,   785,   796,  1228,   803,   806,   824,   437,
    2144                 :            :      743,   438,   797,  1286,   827,   836,   847,   835,  -735,   628,
    2145                 :            :     -737,   744,    41,  -738,   745,   746,  -736,   841,   858,    45,
    2146                 :            :      628,   747,   861,   862,   864,   869,   633,   879,   748,   811,
    2147                 :            :     1037,   886,   811,   811,   870,   880,   889,   982,   890,   881,
    2148                 :            :      749,  1305,   902,   939,   922,   927,   923,   928,   929,   934,
    2149                 :            :      930,   931,   951,   750,   937,   751,   968,   970,   966,   950,
    2150                 :            :      993,   994,   628,  -582,   475,   996,   997,   752,  1000,   998,
    2151                 :            :     1004,   667,  1002,  1010,   753,  1003,  1013,  1012,  1014,  1016,
    2152                 :            :      754,   755,  1022,  1034,  1035,  1023,  1038,  1031,  1064,  1042,
    2153                 :            :     1050,   137,   138,   139,   140,   141,   142,   143,   144,   145,
    2154                 :            :     1055,  1053,  1056,  1057,  1058,  1060,  1061,  1078,   557,   557,
    2155                 :            :     1062,   756,  1091,  1065,  1066,  1077,  1067,  1092,  1074,  1095,
    2156                 :            :     1099,  1101,  1110,  1112,  -561,  1118,   805,  1128,  1102,  1129,
    2157                 :            :     1132,  1155,  1133,  1143,  1135,   811,  1150,  1151,   811,  1163,
    2158                 :            :     1162,   137,   138,   139,   140,   141,   142,   143,   144,   145,
    2159                 :            :     1169,  1164,  1176,  1168,  1192,  1207,  1181,  1208,  1209,  1184,
    2160                 :            :     1212,  1213,  1216,  1142,  1223,  1206,  1224,  1227,  1230,  1214,
    2161                 :            :     1231,  1232,  1237,   960,  1252,   571,  1261,  1262,  1267,  1269,
    2162                 :            :     1268,  1200,  1281,  1283,   484,  1175,  1271,  1274,  1278,  1294,
    2163                 :            :     1302,  1287,  1126,  1039,  1309,  1138,   630,  1071,  1146,   971,
    2164                 :            :     1131,   816,   940,   738,  1308,   965,  1221,   313,   382,   552,
    2165                 :            :      842,   694,   385,   553,   843,   818,  1260,   811,  1259,  1199,
    2166                 :            :     1266,  1054,  1094,  1158,   783,   731,   757,   758,  1174,   457,
    2167                 :            :      759,   760,   935,   761,   762,   763,   764,   978,   765,   766,
    2168                 :            :     1020,   582,   422,   546,   683,   991,   530,   682,  1222,  1277,
    2169                 :            :        0,   593,     0,     0,     0,     0,     0,     0,     0,     0,
    2170                 :            :        0,   360,   557,     0,     2,     0,     3,     4,     0,   310,
    2171                 :            :     1215,     0,     0,     0,  1242,     0,     0,     6,     7,     8,
    2172                 :            :        9,    10,    11,     0,    13,     0,     0,  1226,     0,    14,
    2173                 :            :        0,     0,     0,     0,    15,     0,     0,     0,     0,    16,
    2174                 :            :        0,     0,     0,     0,     0,    18,    19,     0,     0,     0,
    2175                 :            :        0,     0,    21,    22,     0,     0,     0,     0,     0,     0,
    2176                 :            :        0,     0,     0,     0,     0,   179,    26,     0,     0,     0,
    2177                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2178                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
    2179                 :            :       31,    32,     0,  1280,    33,     0,    34,     0,     0,     0,
    2180                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2181                 :            :        0,     0,     0,     0,     0,    37,     0,     0,    38,     0,
    2182                 :            :        0,   179,     0,     0,     0,     0,    39,    40,    41,     0,
    2183                 :            :        0,     0,     0,    44,     0,    45,     0,     0,     0,     0,
    2184                 :            :        0,     0,   179,     0,     0,     0,     0,     0,     0,    46,
    2185                 :            :       47,    48,    49,    50,    51,    52,   312,    54,    55,    56,
    2186                 :            :       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
    2187                 :            :       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
    2188                 :            :       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
    2189                 :            :       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
    2190                 :            :       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
    2191                 :            :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
    2192                 :            :      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
    2193                 :            :      127,   128,   129,   130,   131,   132,     0,   133,   134,     0,
    2194                 :            :        0,   135,   136,     0,     0,     0,     0,     0,     0,     0,
    2195                 :            :        0,     0,     0,     0,     0,     0,     0,   137,   138,   139,
    2196                 :            :      140,   141,   142,   143,   144,   145,     0,     0,     0,     0,
    2197                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2198                 :            :        0,   146,   147,   148,   149,     0,     0,     0,   150,   151,
    2199                 :            :      152,     0,   285,     0,     0,     2,     0,     3,     4,     0,
    2200                 :            :        5,     0,     0,     0,     0,     0,     0,     0,     6,     7,
    2201                 :            :        8,     9,    10,    11,    12,    13,   159,   160,     0,   478,
    2202                 :            :       14,     0,     0,     0,     0,    15,     0,     0,     0,     0,
    2203                 :            :       16,     0,     0,     0,    17,     0,    18,    19,    20,     0,
    2204                 :            :        0,     0,     0,    21,    22,     0,     0,     0,    23,    24,
    2205                 :            :        0,     0,     0,     0,     0,     0,    25,    26,    27,     0,
    2206                 :            :        0,     0,     0,     0,     0,    28,     0,     0,     0,     0,
    2207                 :            :        0,     0,     0,    29,     0,     0,     0,     0,     0,     0,
    2208                 :            :       30,    31,    32,     0,     0,    33,     0,    34,     0,     0,
    2209                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2210                 :            :       35,     0,    36,     0,     0,     0,    37,     0,     0,    38,
    2211                 :            :        0,     0,     0,     0,     0,     0,     0,    39,    40,    41,
    2212                 :            :        0,    42,     0,    43,    44,     0,    45,     0,   286,     0,
    2213                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2214                 :            :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
    2215                 :            :       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
    2216                 :            :       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
    2217                 :            :       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
    2218                 :            :       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
    2219                 :            :       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
    2220                 :            :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
    2221                 :            :      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
    2222                 :            :      126,   127,   128,   129,   130,   131,   132,     0,   133,   134,
    2223                 :            :        0,     0,   135,   136,     0,     0,     0,     0,     0,     0,
    2224                 :            :        0,     0,     0,     0,     0,     0,     0,     0,   137,   138,
    2225                 :            :      139,   140,   141,   142,   143,   144,   145,     0,     0,     0,
    2226                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2227                 :            :        0,     0,   146,   147,   148,   149,     0,     0,     0,   150,
    2228                 :            :      151,   152,     0,     0,     0,     0,     0,     0,     0,     0,
    2229                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2230                 :            :        0,   153,   154,   155,   156,   157,   158,   159,   160,     1,
    2231                 :            :        0,     0,     2,     0,     3,     4,     0,     5,     0,     0,
    2232                 :            :        0,     0,     0,     0,     0,     6,     7,     8,     9,    10,
    2233                 :            :       11,    12,    13,     0,     0,     0,     0,    14,     0,     0,
    2234                 :            :        0,     0,    15,     0,     0,     0,     0,    16,     0,     0,
    2235                 :            :        0,    17,     0,    18,    19,    20,     0,     0,     0,     0,
    2236                 :            :       21,    22,     0,     0,     0,    23,    24,     0,     0,     0,
    2237                 :            :        0,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2238                 :            :        0,     0,    28,     0,     0,     0,     0,     0,     0,     0,
    2239                 :            :       29,     0,     0,     0,     0,     0,     0,    30,    31,    32,
    2240                 :            :        0,     0,    33,     0,    34,     0,     0,     0,     0,     0,
    2241                 :            :        0,     0,     0,     0,     0,     0,     0,    35,     0,    36,
    2242                 :            :        0,     0,     0,    37,     0,     0,    38,     0,     0,     0,
    2243                 :            :        0,     0,     0,     0,    39,    40,    41,     0,    42,     0,
    2244                 :            :       43,    44,     0,    45,     0,     0,     0,     0,     0,     0,
    2245                 :            :        0,     0,     0,     0,     0,     0,     0,    46,    47,    48,
    2246                 :            :       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
    2247                 :            :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
    2248                 :            :       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
    2249                 :            :       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
    2250                 :            :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
    2251                 :            :       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
    2252                 :            :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
    2253                 :            :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
    2254                 :            :      129,   130,   131,   132,     0,   133,   134,     0,     0,   135,
    2255                 :            :      136,     0,     0,     0,     0,     0,     0,     0,  1254,     0,
    2256                 :            :        0,     0,     0,     0,     0,   137,   138,   139,   140,   141,
    2257                 :            :      142,   143,   144,   145,     0,     0,     0,     0,     0,     0,
    2258                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,   146,
    2259                 :            :      147,   148,   149,     0,     0,     0,   150,   151,   152,     0,
    2260                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2261                 :            :        0,     0,     0,     0,     0,     0,     0,     0,   153,   154,
    2262                 :            :      155,   156,   157,   158,   159,   160,     1,     0,     0,     2,
    2263                 :            :        0,     3,     4,     0,     5,     0,     0,     0,     0,     0,
    2264                 :            :        0,     0,     6,     7,     8,     9,    10,    11,    12,    13,
    2265                 :            :        0,     0,     0,     0,    14,     0,     0,     0,     0,    15,
    2266                 :            :        0,     0,     0,     0,    16,     0,     0,     0,    17,     0,
    2267                 :            :       18,    19,    20,     0,     0,     0,     0,    21,    22,     0,
    2268                 :            :        0,     0,    23,    24,     0,     0,     0,     0,     0,     0,
    2269                 :            :       25,    26,    27,     0,     0,     0,     0,     0,     0,    28,
    2270                 :            :        0,     0,     0,     0,     0,     0,     0,    29,     0,     0,
    2271                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2272                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2273                 :            :        0,     0,     0,     0,    35,     0,    36,     0,     0,     0,
    2274                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2275                 :            :        0,    39,    40,    41,     0,    42,     0,    43,    44,     0,
    2276                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2277                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2278                 :            :       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
    2279                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2280                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2281                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2282                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2283                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2284                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2285                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2286                 :            :      132,     0,   133,   134,     0,  1306,   135,   136,     0,     0,
    2287                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2288                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2289                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2290                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2291                 :            :        0,     0,     0,   150,   151,   152,     0,     0,     0,     0,
    2292                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2293                 :            :        0,     0,     0,     0,     0,   153,   154,   155,   156,   157,
    2294                 :            :      158,   159,   160,     1,     0,     0,     2,     0,     3,     4,
    2295                 :            :        0,     5,     0,     0,     0,     0,     0,     0,     0,     6,
    2296                 :            :        7,     8,     9,    10,    11,    12,    13,     0,     0,     0,
    2297                 :            :        0,    14,     0,     0,     0,     0,    15,     0,     0,     0,
    2298                 :            :        0,    16,     0,     0,     0,    17,     0,    18,    19,    20,
    2299                 :            :        0,     0,     0,     0,    21,    22,     0,     0,     0,    23,
    2300                 :            :       24,     0,     0,     0,     0,     0,     0,    25,    26,    27,
    2301                 :            :        0,     0,     0,     0,     0,     0,    28,     0,     0,     0,
    2302                 :            :        0,     0,     0,     0,    29,     0,     0,     0,     0,     0,
    2303                 :            :        0,    30,    31,    32,     0,     0,    33,     0,    34,     0,
    2304                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2305                 :            :        0,    35,     0,    36,     0,     0,     0,    37,     0,     0,
    2306                 :            :       38,     0,     0,     0,     0,     0,     0,     0,    39,    40,
    2307                 :            :       41,     0,    42,     0,    43,    44,     0,    45,     0,     0,
    2308                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2309                 :            :        0,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    2310                 :            :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
    2311                 :            :       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
    2312                 :            :       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    2313                 :            :       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    2314                 :            :       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    2315                 :            :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
    2316                 :            :      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
    2317                 :            :      125,   126,   127,   128,   129,   130,   131,   132,     0,   133,
    2318                 :            :      134,     0,     0,   135,   136,     0,     0,     0,     0,     0,
    2319                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,   137,
    2320                 :            :      138,   139,   140,   141,   142,   143,   144,   145,     0,     0,
    2321                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2322                 :            :        0,     0,     0,   146,   147,   148,   149,     0,     0,     0,
    2323                 :            :      150,   151,   152,     0,     0,     0,     0,     0,     0,     0,
    2324                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2325                 :            :        0,     0,   153,   154,   155,   156,   157,   158,   159,   160,
    2326                 :            :      443,     0,     0,     2,     0,     3,     4,     0,   310,     0,
    2327                 :            :        0,     0,     0,     0,     0,     0,     6,     7,     8,     9,
    2328                 :            :       10,    11,    12,    13,     0,     0,     0,     0,    14,     0,
    2329                 :            :        0,     0,     0,    15,     0,     0,     0,     0,    16,     0,
    2330                 :            :        0,     0,     0,     0,    18,    19,     0,     0,     0,     0,
    2331                 :            :        0,    21,    22,     0,     0,     0,    23,     0,     0,     0,
    2332                 :            :        0,     0,     0,     0,    25,    26,     0,     0,     0,     0,
    2333                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2334                 :            :        0,    29,     0,     0,     0,     0,     0,     0,    30,    31,
    2335                 :            :       32,     0,     0,    33,     0,    34,     0,     0,     0,     0,
    2336                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2337                 :            :      444,     0,     0,     0,    37,     0,     0,    38,     0,     0,
    2338                 :            :        0,     0,     0,     0,     0,    39,    40,    41,     0,    42,
    2339                 :            :        0,     0,    44,     0,    45,     0,   286,     0,     0,     0,
    2340                 :            :        0,     0,     0,     0,     0,     0,     0,     0,    46,    47,
    2341                 :            :       48,    49,    50,    51,    52,   312,    54,    55,    56,    57,
    2342                 :            :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
    2343                 :            :       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
    2344                 :            :       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
    2345                 :            :       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
    2346                 :            :       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
    2347                 :            :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
    2348                 :            :      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
    2349                 :            :      128,   129,   130,   131,   132,     0,   133,   134,     0,     0,
    2350                 :            :      135,   136,     0,     0,     0,     0,     0,     0,     0,     0,
    2351                 :            :        0,     0,     0,     0,     0,     0,   137,   138,   139,   140,
    2352                 :            :      141,   142,   143,   144,   145,     0,     0,     0,     0,     0,
    2353                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2354                 :            :      146,   147,   148,   149,     0,     0,     0,   150,   151,   152,
    2355                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2356                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,   153,
    2357                 :            :      154,   155,   156,   157,   158,   159,   160,   309,     0,     0,
    2358                 :            :        2,     0,     3,     4,     0,   310,     0,     0,     0,     0,
    2359                 :            :        0,     0,     0,     6,     7,     8,     9,    10,    11,   311,
    2360                 :            :       13,     0,     0,     0,     0,    14,     0,     0,     0,     0,
    2361                 :            :       15,     0,     0,     0,     0,    16,     0,     0,     0,     0,
    2362                 :            :        0,    18,    19,     0,     0,     0,     0,     0,    21,    22,
    2363                 :            :        0,     0,     0,    23,     0,     0,     0,     0,     0,     0,
    2364                 :            :        0,    25,    26,     0,     0,     0,     0,     0,     0,     0,
    2365                 :            :        0,     0,     0,     0,     0,     0,     0,     0,    29,     0,
    2366                 :            :        0,     0,     0,     0,     0,    30,    31,    32,     0,     0,
    2367                 :            :       33,     0,    34,     0,     0,     0,     0,     0,     0,     0,
    2368                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2369                 :            :        0,    37,     0,     0,    38,     0,     0,     0,     0,     0,
    2370                 :            :        0,     0,    39,    40,    41,     0,    42,     0,     0,    44,
    2371                 :            :        0,    45,     0,     0,     0,     0,     0,     0,     0,     0,
    2372                 :            :        0,     0,     0,     0,     0,    46,    47,    48,    49,    50,
    2373                 :            :       51,    52,   312,    54,    55,    56,    57,    58,    59,    60,
    2374                 :            :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
    2375                 :            :       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
    2376                 :            :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
    2377                 :            :       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
    2378                 :            :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
    2379                 :            :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
    2380                 :            :      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
    2381                 :            :      131,   132,     0,   133,   134,     0,     0,   135,   136,     0,
    2382                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2383                 :            :        0,     0,     0,   137,   138,   139,   140,   141,   142,   143,
    2384                 :            :      144,   145,     0,     0,     0,     0,     0,     0,     0,     0,
    2385                 :            :        0,     0,     0,     0,     0,     0,     0,   146,   147,   148,
    2386                 :            :      149,     0,     0,     0,   150,   151,   152,     0,     0,     0,
    2387                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2388                 :            :        0,     0,     0,     0,     0,     0,   153,   154,   155,   156,
    2389                 :            :      157,   158,   159,   160,   309,     0,     0,     2,     0,     3,
    2390                 :            :        4,     0,   310,     0,     0,     0,     0,     0,     0,     0,
    2391                 :            :        6,     7,     8,     9,    10,    11,    12,    13,     0,     0,
    2392                 :            :        0,     0,    14,     0,     0,     0,     0,    15,     0,     0,
    2393                 :            :        0,     0,    16,     0,     0,     0,     0,     0,    18,    19,
    2394                 :            :        0,     0,     0,     0,     0,    21,    22,     0,     0,     0,
    2395                 :            :       23,     0,     0,     0,     0,     0,     0,     0,    25,    26,
    2396                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2397                 :            :        0,     0,     0,     0,     0,    29,     0,     0,     0,     0,
    2398                 :            :        0,     0,    30,    31,    32,     0,     0,    33,     0,    34,
    2399                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2400                 :            :        0,     0,     0,     0,     0,     0,     0,     0,    37,     0,
    2401                 :            :        0,    38,     0,     0,     0,     0,     0,     0,     0,    39,
    2402                 :            :       40,    41,     0,    42,     0,     0,    44,     0,    45,     0,
    2403                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2404                 :            :        0,     0,    46,    47,    48,    49,    50,    51,    52,   312,
    2405                 :            :       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
    2406                 :            :       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
    2407                 :            :       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
    2408                 :            :       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
    2409                 :            :       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
    2410                 :            :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
    2411                 :            :      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
    2412                 :            :      124,   125,   126,   127,   128,   129,   130,   131,   132,     0,
    2413                 :            :      133,   134,     0,     0,   135,   136,     0,     0,     0,     0,
    2414                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2415                 :            :      137,   138,   139,   140,   141,   142,   143,   144,   145,     0,
    2416                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2417                 :            :        0,     0,     0,     0,   146,   147,   148,   149,     0,     0,
    2418                 :            :        0,   150,   151,   152,     0,     0,     0,     0,     0,     0,
    2419                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2420                 :            :        0,     0,     0,   153,   154,   155,   156,   157,   158,   159,
    2421                 :            :      160,   360,     0,     0,     2,     0,     3,     4,     0,   310,
    2422                 :            :        0,     0,     0,     0,     0,     0,     0,     6,     7,     8,
    2423                 :            :        9,    10,    11,   311,    13,     0,     0,     0,     0,    14,
    2424                 :            :        0,     0,     0,     0,    15,     0,     0,     0,     0,    16,
    2425                 :            :        0,     0,     0,     0,     0,    18,    19,     0,     0,     0,
    2426                 :            :        0,     0,    21,    22,     0,     0,     0,    23,     0,     0,
    2427                 :            :        0,     0,     0,     0,     0,    25,    26,     0,     0,     0,
    2428                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2429                 :            :        0,     0,    29,     0,     0,     0,     0,     0,     0,    30,
    2430                 :            :       31,    32,     0,     0,    33,     0,    34,     0,     0,     0,
    2431                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2432                 :            :        0,     0,     0,     0,     0,    37,     0,     0,    38,     0,
    2433                 :            :        0,     0,     0,     0,     0,     0,    39,    40,    41,     0,
    2434                 :            :       42,     0,     0,    44,     0,    45,     0,     0,     0,     0,
    2435                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,    46,
    2436                 :            :       47,    48,    49,    50,    51,    52,   312,    54,    55,    56,
    2437                 :            :       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
    2438                 :            :       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
    2439                 :            :       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
    2440                 :            :       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
    2441                 :            :       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
    2442                 :            :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
    2443                 :            :      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
    2444                 :            :      127,   128,   129,   130,   131,   132,     0,   133,   134,     0,
    2445                 :            :        0,   135,   136,     0,     0,     0,     0,     0,     0,     0,
    2446                 :            :        0,     0,     0,     0,     0,     0,     0,   137,   138,   139,
    2447                 :            :      140,   141,   142,   143,   144,   145,     0,     0,     0,     0,
    2448                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2449                 :            :        0,   146,   147,   148,   149,     0,     0,     0,   150,   151,
    2450                 :            :      152,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2451                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2452                 :            :      153,   154,   155,   156,   157,   158,   159,   160,   360,     0,
    2453                 :            :        0,     2,     0,     3,     4,     0,   310,     0,     0,     0,
    2454                 :            :        0,     0,     0,     0,     6,     7,     8,     9,    10,    11,
    2455                 :            :      311,    13,     0,     0,     0,     0,    14,     0,     0,     0,
    2456                 :            :        0,    15,     0,     0,     0,     0,    16,     0,     0,     0,
    2457                 :            :        0,     0,    18,    19,     0,     0,     0,     0,     0,    21,
    2458                 :            :       22,     0,     0,     0,    23,     0,     0,     0,     0,     0,
    2459                 :            :        0,     0,     0,    26,     0,     0,     0,     0,     0,     0,
    2460                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,    29,
    2461                 :            :        0,     0,     0,     0,     0,     0,    30,    31,    32,     0,
    2462                 :            :        0,    33,     0,    34,     0,     0,     0,     0,     0,     0,
    2463                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2464                 :            :        0,     0,    37,     0,     0,    38,     0,     0,     0,     0,
    2465                 :            :        0,     0,     0,    39,    40,    41,     0,     0,     0,     0,
    2466                 :            :       44,     0,    45,     0,     0,     0,     0,     0,     0,     0,
    2467                 :            :        0,     0,     0,     0,     0,     0,    46,    47,    48,    49,
    2468                 :            :       50,    51,    52,   312,    54,    55,    56,    57,    58,    59,
    2469                 :            :       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
    2470                 :            :       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
    2471                 :            :       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
    2472                 :            :       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
    2473                 :            :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
    2474                 :            :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
    2475                 :            :      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
    2476                 :            :      130,   131,   132,     0,   133,   134,     0,     0,   135,   136,
    2477                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2478                 :            :        0,     0,     0,     0,   137,   138,   139,   140,   141,   142,
    2479                 :            :      143,   144,   145,     0,     0,     0,     0,     0,     0,     0,
    2480                 :            :        0,     0,     0,     0,     0,     0,     0,     0,   146,   147,
    2481                 :            :      148,   149,     0,     0,     0,   150,   151,   152,     0,     0,
    2482                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2483                 :            :        0,     0,     0,     0,     0,     0,     0,   153,   154,   155,
    2484                 :            :      156,   157,   158,   159,   160,   360,     0,     0,     2,     0,
    2485                 :            :        3,     4,     0,   310,     0,     0,     0,     0,     0,     0,
    2486                 :            :        0,     6,     7,     8,     9,    10,    11,     0,    13,     0,
    2487                 :            :        0,     0,     0,    14,     0,     0,     0,     0,    15,     0,
    2488                 :            :        0,   486,     0,    16,     0,     0,     0,     0,     0,    18,
    2489                 :            :       19,     0,     0,     0,     0,     0,    21,    22,     0,     0,
    2490                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2491                 :            :       26,     0,     0,     0,     0,     0,   487,     0,     0,     0,
    2492                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2493                 :            :      488,     0,     0,    30,    31,    32,     0,     0,    33,     0,
    2494                 :            :       34,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2495                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
    2496                 :            :        0,     0,    38,     0,     0,     0,     0,     0,     0,   489,
    2497                 :            :       39,    40,    41,     0,     0,     0,     0,    44,     0,    45,
    2498                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2499                 :            :        0,     0,     0,    46,    47,    48,    49,    50,    51,    52,
    2500                 :            :      312,    54,    55,    56,    57,    58,    59,    60,    61,    62,
    2501                 :            :       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
    2502                 :            :       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
    2503                 :            :       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
    2504                 :            :       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
    2505                 :            :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
    2506                 :            :      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
    2507                 :            :      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
    2508                 :            :        0,   133,   134,     0,     0,   135,   136,     0,     0,     0,
    2509                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2510                 :            :        0,   137,   138,   139,   140,   141,   142,   143,   144,   145,
    2511                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2512                 :            :        0,     0,     0,     0,     0,   146,   147,   148,   149,     0,
    2513                 :            :        0,     0,   150,   151,   152,   360,     0,     0,     2,     0,
    2514                 :            :        3,     4,     0,   310,     0,     0,     0,     0,     0,     0,
    2515                 :            :        0,     6,     7,     8,     9,    10,    11,     0,    13,     0,
    2516                 :            :      159,   160,     0,    14,     0,     0,     0,     0,    15,     0,
    2517                 :            :        0,     0,     0,    16,     0,     0,     0,     0,     0,    18,
    2518                 :            :       19,     0,     0,     0,     0,     0,    21,    22,     0,     0,
    2519                 :            :        0,    23,     0,     0,     0,     0,     0,     0,     0,     0,
    2520                 :            :       26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2521                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2522                 :            :        0,     0,     0,    30,    31,    32,     0,     0,    33,     0,
    2523                 :            :       34,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2524                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
    2525                 :            :        0,     0,    38,     0,     0,     0,     0,     0,     0,     0,
    2526                 :            :       39,    40,    41,     0,     0,     0,     0,    44,     0,    45,
    2527                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2528                 :            :        0,     0,     0,    46,    47,    48,    49,    50,    51,    52,
    2529                 :            :      312,    54,    55,    56,    57,    58,    59,    60,    61,    62,
    2530                 :            :       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
    2531                 :            :       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
    2532                 :            :       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
    2533                 :            :       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
    2534                 :            :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
    2535                 :            :      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
    2536                 :            :      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
    2537                 :            :        0,   133,   134,     0,     0,   135,   136,   361,     0,     0,
    2538                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2539                 :            :        0,   137,   138,   139,   140,   141,   142,   143,   144,   145,
    2540                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2541                 :            :        0,     0,     0,     0,     0,   146,   147,   148,   149,     0,
    2542                 :            :        0,     0,   150,   151,   152,     0,     0,     0,     0,     0,
    2543                 :            :        0,     0,     0,     0,     0,     0,   360,     0,     0,     2,
    2544                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2545                 :            :      159,   160,     6,     7,     8,     9,    10,    11,     0,    13,
    2546                 :            :        0,   389,     0,     0,   390,     0,     0,     0,     0,    15,
    2547                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2548                 :            :       18,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2549                 :            :        0,     0,    23,     0,     0,     0,     0,     0,     0,     0,
    2550                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2551                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2552                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2553                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2554                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2555                 :            :      391,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2556                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2557                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2558                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2559                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2560                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2561                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2562                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2563                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2564                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2565                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2566                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2567                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2568                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2569                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2570                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2571                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2572                 :            :        0,     0,     0,   150,   151,   152,   360,     0,     0,     2,
    2573                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2574                 :            :        0,     0,     6,     7,     8,     9,    10,    11,     0,    13,
    2575                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2576                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2577                 :            :       18,    19,     0,     0,     0,     0,     0,    21,   507,     0,
    2578                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2579                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2580                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2581                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2582                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2583                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2584                 :            :       37,     0,     0,    38,     0,     0,     0,   508,   509,     0,
    2585                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2586                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2587                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2588                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2589                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2590                 :            :       72,    73,    74,    75,    76,    77,    78,   510,   511,   512,
    2591                 :            :       82,    83,    84,    85,   513,    87,    88,    89,    90,   514,
    2592                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2593                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2594                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2595                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2596                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2597                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2598                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2599                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2600                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2601                 :            :        0,     0,     0,   150,   151,   152,   521,     0,     0,     2,
    2602                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2603                 :            :        0,     0,     6,     7,     8,     9,    10,    11,     0,    13,
    2604                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2605                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2606                 :            :       18,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2607                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2608                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2609                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2610                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2611                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2612                 :            :        0,     0,     0,     0,     0,     0,   444,     0,     0,     0,
    2613                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2614                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2615                 :            :       45,     0,   286,     0,     0,     0,     0,     0,     0,     0,
    2616                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2617                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2618                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2619                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2620                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2621                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2622                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2623                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2624                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2625                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2626                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2627                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2628                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2629                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2630                 :            :        0,     0,     0,   150,   151,   152,   360,     0,     0,     2,
    2631                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2632                 :            :        0,     0,     6,     7,     8,     9,    10,    11,     0,    13,
    2633                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2634                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2635                 :            :       18,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2636                 :            :        0,     0,    23,     0,     0,     0,     0,     0,     0,     0,
    2637                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2638                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2639                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2640                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2641                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2642                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2643                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2644                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2645                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2646                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2647                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2648                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2649                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2650                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2651                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2652                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2653                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2654                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2655                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2656                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2657                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2658                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2659                 :            :        0,     0,     0,   150,   151,   152,   360,   567,     0,     2,
    2660                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2661                 :            :        0,     0,     6,     7,     8,     9,    10,    11,     0,    13,
    2662                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2663                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2664                 :            :       18,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2665                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2666                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2667                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2668                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2669                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2670                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2671                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2672                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2673                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2674                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2675                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2676                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2677                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2678                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2679                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2680                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2681                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2682                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2683                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2684                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2685                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2686                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2687                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2688                 :            :        0,     0,     0,   150,   151,   152,   360,   583,     0,     2,
    2689                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2690                 :            :        0,     0,     6,     7,     8,     9,    10,    11,     0,    13,
    2691                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2692                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2693                 :            :       18,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2694                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2695                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2696                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2697                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2698                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2699                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2700                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2701                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2702                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2703                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2704                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2705                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2706                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2707                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2708                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2709                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2710                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2711                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2712                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2713                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2714                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2715                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2716                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2717                 :            :        0,     0,     0,   150,   151,   152,   360,     0,     0,     2,
    2718                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2719                 :            :        0,     0,     6,     7,     8,     9,    10,    11,     0,    13,
    2720                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2721                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2722                 :            :       18,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2723                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2724                 :            :        0,    26,     0,     0,     0,     0,     0,   645,     0,     0,
    2725                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2726                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2727                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2728                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2729                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2730                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2731                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2732                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2733                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2734                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2735                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2736                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2737                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2738                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2739                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2740                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2741                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2742                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2743                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2744                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2745                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2746                 :            :        0,     0,     0,   150,   151,   152,   360,     0,     0,     2,
    2747                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2748                 :            :        0,     0,     6,     7,     8,     9,    10,    11,     0,    13,
    2749                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2750                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2751                 :            :       18,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2752                 :            :        0,     0,   972,     0,     0,     0,     0,     0,     0,     0,
    2753                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2754                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2755                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2756                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2757                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2758                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2759                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2760                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2761                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2762                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2763                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2764                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2765                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2766                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2767                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2768                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2769                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2770                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2771                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2772                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2773                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2774                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2775                 :            :        0,     0,     0,   150,   151,   152,   360,     0,     0,     2,
    2776                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2777                 :            :        0,     0,     6,     7,     8,     9,    10,    11,     0,    13,
    2778                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2779                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2780                 :            :       18,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2781                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2782                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2783                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2784                 :            :        0,     0,     0,     0,    30,    31,    32,     0,     0,    33,
    2785                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2786                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2787                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2788                 :            :        0,    39,    40,    41,     0,     0,     0,     0,    44,     0,
    2789                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2790                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2791                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2792                 :            :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    2793                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2794                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2795                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2796                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2797                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2798                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2799                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2800                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2801                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2802                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2803                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2804                 :            :        0,     0,     0,   150,   151,   152,   360,     0,     0,     2,
    2805                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2806                 :            :        0,     0,     0,     7,     8,     9,    10,    11,     0,    13,
    2807                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2808                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2809                 :            :        0,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2810                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2811                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2812                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2813                 :            :        0,     0,     0,     0,     0,    31,    32,     0,     0,    33,
    2814                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2815                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2816                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2817                 :            :        0,     0,     0,    41,     0,     0,     0,     0,     0,     0,
    2818                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2819                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2820                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2821                 :            :       62,    63,    64,    65,    66,     0,    68,     0,     0,     0,
    2822                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2823                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2824                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2825                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2826                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2827                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2828                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2829                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2830                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2831                 :            :      145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2832                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2833                 :            :        0,     0,     0,   150,   151,   152,   360,     0,     0,     2,
    2834                 :            :        0,     3,     4,     0,   310,     0,     0,     0,     0,     0,
    2835                 :            :        0,     0,     0,     7,     8,     9,    10,    11,     0,    13,
    2836                 :            :        0,   159,   160,     0,    14,     0,     0,     0,     0,    15,
    2837                 :            :        0,     0,     0,     0,    16,     0,     0,     0,     0,     0,
    2838                 :            :        0,    19,     0,     0,     0,     0,     0,    21,    22,     0,
    2839                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2840                 :            :        0,    26,     0,     0,     0,     0,     0,     0,     0,     0,
    2841                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2842                 :            :        0,     0,     0,     0,     0,    31,    32,     0,     0,    33,
    2843                 :            :        0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
    2844                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2845                 :            :       37,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    2846                 :            :        0,     0,     0,    41,     0,     0,     0,     0,     0,     0,
    2847                 :            :       45,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2848                 :            :        0,     0,     0,     0,    46,    47,    48,    49,    50,    51,
    2849                 :            :       52,   312,    54,    55,    56,    57,    58,    59,    60,    61,
    2850                 :            :       62,    63,    64,    65,    66,     0,    68,     0,     0,     0,
    2851                 :            :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    2852                 :            :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
    2853                 :            :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    2854                 :            :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
    2855                 :            :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    2856                 :            :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    2857                 :            :      132,     0,   133,   134,     0,     0,   135,   136,     0,     0,
    2858                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2859                 :            :        0,     0,   137,   138,   139,   140,   141,   142,   143,   144,
    2860                 :            :      145,   742,     0,     0,     0,     0,     0,     0,     0,     0,
    2861                 :            :        0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
    2862                 :            :        0,     0,   743,   150,   151,   152,     0,     0,     0,     0,
    2863                 :            :        0,     0,     0,   744,     0,     0,   745,   746,     0,     0,
    2864                 :            :        0,     0,     0,   747,     0,     0,     0,     0,     0,     0,
    2865                 :            :      748,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2866                 :            :        0,     0,   749,     0,     0,     0,     0,     0,     0,     0,
    2867                 :            :        0,     0,     0,     0,     0,   750,     0,   751,     0,     0,
    2868                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,   752,
    2869                 :            :        0,     0,     0,     0,     0,     0,   753,     0,     0,     0,
    2870                 :            :        0,     0,   754,   755,     0,     0,     0,     0,     0,     0,
    2871                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2872                 :            :        0,     0,   310,     0,     0,     0,     0,     0,     0,     0,
    2873                 :            :        0,     0,     0,   756,     0,     0,     0,    13,     0,     0,
    2874                 :            :        0,     0,    14,     0,     0,     0,     0,    15,     0,     0,
    2875                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,    19,
    2876                 :            :        0,     0,     0,     0,     0,    21,    22,     0,     0,     0,
    2877                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2878                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2879                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2880                 :            :        0,     0,     0,    31,    32,     0,     0,     0,     0,     0,
    2881                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2882                 :            :        0,     0,     0,     0,     0,     0,     0,     0,    37,     0,
    2883                 :            :        0,    38,     0,     0,     0,     0,     0,     0,     0,     0,
    2884                 :            :        0,     0,     0,     0,     0,     0,     0,     0,   757,   758,
    2885                 :            :        0,     0,   759,   760,     0,   761,   762,   763,   764,     0,
    2886                 :            :      765,   766,    46,     0,    48,   449,     0,    51,    52,   312,
    2887                 :            :       54,    55,    56,    57,    58,    59,   450,    61,    62,    63,
    2888                 :            :       64,    65,    66,     0,    68,     0,     0,     0,    72,    73,
    2889                 :            :       74,    75,    76,    77,   451,    79,    80,    81,    82,    83,
    2890                 :            :       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
    2891                 :            :       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
    2892                 :            :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
    2893                 :            :      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
    2894                 :            :      124,   125,   126,   127,   128,   129,   130,   131,   132,   310,
    2895                 :            :      133,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2896                 :            :        0,     0,     0,     0,   435,     0,     0,     0,     0,    14,
    2897                 :            :        0,     0,     0,     0,    15,     0,     0,     0,     0,     0,
    2898                 :            :        0,     0,     0,     0,     0,     0,    19,     0,     0,     0,
    2899                 :            :        0,     0,    21,    22,     0,     0,     0,     0,     0,     0,
    2900                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2901                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2902                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2903                 :            :       31,    32,     0,     0,     0,     0,     0,     0,     0,     0,
    2904                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2905                 :            :        0,     0,     0,     0,     0,    37,     0,     0,    38,     0,
    2906                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2907                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2908                 :            :        0,     0,     0,     0,     0,     0,     0,     0,     0,    46,
    2909                 :            :        0,    48,     0,     0,    51,    52,   312,    54,    55,    56,
    2910                 :            :       57,    58,    59,     0,    61,    62,    63,    64,    65,    66,
    2911                 :            :        0,    68,     0,     0,     0,    72,    73,    74,    75,    76,
    2912                 :            :       77,     0,    79,    80,    81,    82,    83,    84,    85,    86,
    2913                 :            :       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
    2914                 :            :       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
    2915                 :            :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
    2916                 :            :      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
    2917                 :            :      127,   128,   129,   130,   131,   132,     0,   133
    2918                 :            : };
    2919                 :            : 
    2920                 :            : #define yypact_value_is_default(yystate) \
    2921                 :            :   ((yystate) == (-1155))
    2922                 :            : 
    2923                 :            : #define yytable_value_is_error(yytable_value) \
    2924                 :            :   YYID (0)
    2925                 :            : 
    2926                 :            : static const yytype_int16 yycheck[] =
    2927                 :            : {
    2928                 :            :        0,     1,     1,    43,   134,   302,    29,    25,   315,   302,
    2929                 :            :      369,   302,   318,     1,   187,   494,    26,     4,   633,    28,
    2930                 :            :      174,   174,   174,   369,    42,   400,   401,   174,   285,   404,
    2931                 :            :      174,   406,   934,   524,     4,   937,     4,     4,   344,   356,
    2932                 :            :      357,   815,   750,   761,   762,     4,   754,   755,   756,   366,
    2933                 :            :      367,    11,     3,    62,    26,     3,   764,   187,     0,     1,
    2934                 :            :       32,   726,    51,    74,   835,     5,    79,   864,     4,   859,
    2935                 :            :        3,   377,     4,   466,   102,     4,     4,     4,   766,   998,
    2936                 :            :        5,     4,   924,   407,     5,   460,   363,   332,    77,   334,
    2937                 :            :        4,   746,     4,   142,     4,    71,   751,     5,   255,   121,
    2938                 :            :      807,   241,     3,     5,    42,    65,    50,  1089,     3,    26,
    2939                 :            :       11,    26,     4,    26,     5,     4,    66,    37,    11,    19,
    2940                 :            :        3,   467,     6,     5,    28,    26,    33,  1281,   121,    13,
    2941                 :            :       26,    75,    26,   247,   248,   249,  1038,    81,    37,     6,
    2942                 :            :       62,   121,  1061,    26,   154,   302,    13,    47,  1302,   606,
    2943                 :            :       94,    40,     4,    26,    61,   165,  1058,    66,    62,    79,
    2944                 :            :      140,    25,   469,   321,   322,     3,   757,   758,    26,    89,
    2945                 :            :      310,  1153,    65,   183,    96,   482,    85,    25,   669,    71,
    2946                 :            :       79,   131,   154,    74,    74,    33,   443,     3,   495,    37,
    2947                 :            :       89,    91,    25,   165,    74,   108,     3,   905,   906,   319,
    2948                 :            :        3,     3,   375,     3,    37,   580,   379,   293,    11,   466,
    2949                 :            :      918,   183,   113,    61,    66,   153,   160,   462,   113,    60,
    2950                 :            :       84,    26,   308,    26,   168,   143,   543,    32,   128,   129,
    2951                 :            :      279,    79,  1151,   255,   142,   135,    84,   154,   139,   154,
    2952                 :            :      947,    89,  1084,   950,   139,   375,    79,   571,   165,   379,
    2953                 :            :      165,    84,   425,   530,   499,  1237,    89,    84,   154,   141,
    2954                 :            :      154,   916,   255,    74,   521,   658,   183,     3,   183,   165,
    2955                 :            :        6,   165,   172,  1192,   254,    74,     3,    13,  1075,   131,
    2956                 :            :      320,   321,     3,   323,    83,   285,   285,   183,   634,   183,
    2957                 :            :      410,   882,   320,   134,  1012,   425,  1067,   285,  1016,   606,
    2958                 :            :      891,   241,  1092,    40,  1022,   612,   897,   320,   297,   320,
    2959                 :            :      309,   321,   321,  1031,  1216,   355,   305,   158,   909,   270,
    2960                 :            :      241,   309,   270,   274,   444,  1227,   274,    26,   316,   688,
    2961                 :            :      318,   638,   707,   320,   709,   710,   951,   270,   713,   241,
    2962                 :            :     1005,   716,   688,   285,   320,   824,  1034,    84,   320,   840,
    2963                 :            :      320,   339,   320,   320,  1144,   343,   344,   345,   376,   665,
    2964                 :            :      320,   320,   361,   386,   352,   353,   354,  1269,   356,   357,
    2965                 :            :      358,   359,   360,   527,   527,   527,   394,   736,   366,   367,
    2966                 :            :      527,   421,   370,   527,   320,   702,   692,   310,   320,   377,
    2967                 :            :      736,   320,   320,   320,  1112,   320,   310,   527,   310,   439,
    2968                 :            :      310,   138,     3,   557,   321,    25,   321,  1115,   310,   311,
    2969                 :            :      727,    55,   400,   401,   402,   403,   404,   405,   406,   143,
    2970                 :            :      408,   409,   879,   880,   412,   318,   319,   320,   321,   322,
    2971                 :            :      320,   419,   270,   473,  1025,   423,   274,  1028,  1053,     3,
    2972                 :            :      320,  1056,     3,  1217,   443,  1219,  1220,  1221,   312,   313,
    2973                 :            :      314,   315,   316,   317,   270,   443,     8,   803,   274,    26,
    2974                 :            :      939,   636,   318,   319,   312,   313,   314,   315,   316,   317,
    2975                 :            :      270,     3,   460,    68,   274,    50,    55,   652,     3,   312,
    2976                 :            :      313,   314,   315,   316,   317,   312,   313,   314,   315,   316,
    2977                 :            :      317,     3,    19,   320,    21,    22,    83,    24,   805,   487,
    2978                 :            :       75,    96,   675,     3,   492,    26,    81,   146,   147,   148,
    2979                 :            :      149,    20,    21,    22,    23,    24,   689,    75,   825,    94,
    2980                 :            :     1135,     0,    43,    81,     6,   100,     8,     9,   527,     4,
    2981                 :            :        5,     3,     7,   521,     7,   130,   524,     5,   133,     7,
    2982                 :            :      184,   185,   186,     4,     5,   675,     7,   191,     3,   549,
    2983                 :            :      427,    72,   196,   430,   431,   543,    25,   730,   298,   689,
    2984                 :            :      300,     4,     5,   138,     7,   245,   246,   607,   608,   609,
    2985                 :            :        4,     5,   879,   880,    43,   312,   313,   314,   315,   316,
    2986                 :            :      317,     4,     5,   320,   105,   160,     3,    96,     4,     5,
    2987                 :            :       59,     7,   580,   168,   146,   147,   148,   149,   287,   288,
    2988                 :            :      730,   641,   160,     4,     5,   184,   185,   186,     4,     5,
    2989                 :            :      168,   132,   191,     3,   602,   633,   604,   196,    28,   618,
    2990                 :            :        3,   996,   997,   298,   131,   300,   933,   934,   137,     3,
    2991                 :            :      937,     4,     5,   154,     7,     3,   105,     4,     5,    50,
    2992                 :            :        7,   110,     4,     5,   165,     7,   301,   302,  1007,   637,
    2993                 :            :       60,     4,     5,     3,     7,   643,   403,   645,   405,    84,
    2994                 :            :       60,  1007,   183,   132,    75,   174,   175,   176,     4,     5,
    2995                 :            :       81,     7,   660,   661,   662,    86,   664,   665,   666,   311,
    2996                 :            :      703,   669,   310,    94,     3,   839,   839,   839,     4,     5,
    2997                 :            :      947,     3,   839,     4,     5,   839,     3,   851,     4,     5,
    2998                 :            :      110,   293,   294,   113,   692,   835,   257,   258,     3,   839,
    2999                 :            :      110,     4,     5,   113,   702,     3,   704,   705,     3,   707,
    3000                 :            :        3,   709,   710,     3,   134,   713,   136,   282,   716,   255,
    3001                 :            :      256,  1038,   600,   601,   134,   282,   136,     3,     6,   727,
    3002                 :            :        8,     9,    14,    15,    16,    17,    18,     3,   158,   160,
    3003                 :            :        3,  1058,    20,    21,    22,    23,    24,   168,   158,    20,
    3004                 :            :       21,    22,    23,    24,  1061,  1124,  1072,     3,  1061,    37,
    3005                 :            :     1061,     4,     5,     4,     5,  1150,     4,     5,   600,   601,
    3006                 :            :      159,   160,     3,    51,   413,   414,   493,   494,     6,   807,
    3007                 :            :        8,     9,   415,   416,    34,    44,   796,   320,   318,     3,
    3008                 :            :       68,     3,    20,    21,    22,    23,    24,     6,     4,     8,
    3009                 :            :        9,    85,    85,   986,   312,    10,   839,   145,    12,    12,
    3010                 :            :       26,    20,    21,    22,    23,    24,    26,    19,    96,    83,
    3011                 :            :      106,     3,     5,    51,     4,   823,   100,   114,   245,   827,
    3012                 :            :        3,    28,     4,    90,     4,     3,    13,    13,    32,     5,
    3013                 :            :       68,   138,   840,     4,     3,   141,   986,    74,     5,   138,
    3014                 :            :        4,    26,   130,    74,    74,    26,    74,    74,     3,   137,
    3015                 :            :      242,    74,     4,    74,   311,   246,    74,     4,    96,    21,
    3016                 :            :        4,   113,     5,     4,    26,     5,     4,    26,     5,     5,
    3017                 :            :        4,     3,    26,     4,    32,  1192,     5,   126,    13,  1192,
    3018                 :            :       42,  1192,    99,  1262,   312,     4,    65,    40,     5,  1216,
    3019                 :            :        5,    53,   130,     5,    56,    57,     5,   242,   303,   137,
    3020                 :            :     1227,    63,     4,    23,     4,     4,    74,    13,    70,   947,
    3021                 :            :      929,     3,   950,   951,   238,    13,   104,  1067,     3,     3,
    3022                 :            :       82,  1300,     3,   100,     4,     4,    42,     4,     3,     3,
    3023                 :            :       87,    87,     5,    95,    99,    97,     4,    26,    77,   150,
    3024                 :            :        4,    19,  1269,   320,    62,     5,     5,   109,     5,    40,
    3025                 :            :       77,   102,   289,    23,   116,   289,    23,   271,    23,   271,
    3026                 :            :      122,   123,   271,   126,   114,    23,     3,   271,   976,   142,
    3027                 :            :        4,   259,   260,   261,   262,   263,   264,   265,   266,   267,
    3028                 :            :      103,    86,    86,    26,     3,    26,    40,   995,   996,   997,
    3029                 :            :       78,   153,  1000,     4,     4,    12,     5,     3,    74,     4,
    3030                 :            :        4,   122,     4,   271,   126,    26,     5,    43,   122,   251,
    3031                 :            :       76,   299,    12,   304,    86,  1053,     5,     5,  1056,   144,
    3032                 :            :       23,   259,   260,   261,   262,   263,   264,   265,   266,   267,
    3033                 :            :        3,   144,   101,    96,     5,   300,    71,   300,   295,   101,
    3034                 :            :        4,     4,     3,  1062,   250,   255,   245,     3,     5,   110,
    3035                 :            :       32,   306,   311,    32,     3,     3,    23,   307,   255,     3,
    3036                 :            :      296,   299,   253,   307,  1072,  1125,    26,    26,    26,    23,
    3037                 :            :        7,    69,  1041,   933,   309,  1060,   474,   983,  1067,   825,
    3038                 :            :     1047,   634,   803,   604,  1303,   816,  1178,    12,   174,   387,
    3039                 :            :      688,   547,   174,   388,   688,   637,  1231,  1135,  1230,  1151,
    3040                 :            :     1237,   955,  1007,  1089,   608,   599,   268,   269,  1124,   318,
    3041                 :            :      272,   273,   795,   275,   276,   277,   278,   833,   280,   281,
    3042                 :            :      896,   411,   264,   377,   530,   839,   365,   528,  1179,  1247,
    3043                 :            :       -1,   420,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3044                 :            :       -1,     3,  1150,    -1,     6,    -1,     8,     9,    -1,    11,
    3045                 :            :     1169,    -1,    -1,    -1,  1214,    -1,    -1,    19,    20,    21,
    3046                 :            :       22,    23,    24,    -1,    26,    -1,    -1,  1186,    -1,    31,
    3047                 :            :       -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    41,
    3048                 :            :       -1,    -1,    -1,    -1,    -1,    47,    48,    -1,    -1,    -1,
    3049                 :            :       -1,    -1,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
    3050                 :            :       -1,    -1,    -1,    -1,    -1,  1225,    68,    -1,    -1,    -1,
    3051                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3052                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
    3053                 :            :       92,    93,    -1,  1252,    96,    -1,    98,    -1,    -1,    -1,
    3054                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3055                 :            :       -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,
    3056                 :            :       -1,  1281,    -1,    -1,    -1,    -1,   128,   129,   130,    -1,
    3057                 :            :       -1,    -1,    -1,   135,    -1,   137,    -1,    -1,    -1,    -1,
    3058                 :            :       -1,    -1,  1302,    -1,    -1,    -1,    -1,    -1,    -1,   151,
    3059                 :            :      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
    3060                 :            :      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
    3061                 :            :      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
    3062                 :            :      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
    3063                 :            :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
    3064                 :            :      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
    3065                 :            :      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    3066                 :            :      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
    3067                 :            :      232,   233,   234,   235,   236,   237,    -1,   239,   240,    -1,
    3068                 :            :       -1,   243,   244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3069                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   259,   260,   261,
    3070                 :            :      262,   263,   264,   265,   266,   267,    -1,    -1,    -1,    -1,
    3071                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3072                 :            :       -1,   283,   284,   285,   286,    -1,    -1,    -1,   290,   291,
    3073                 :            :      292,    -1,     3,    -1,    -1,     6,    -1,     8,     9,    -1,
    3074                 :            :       11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,    20,
    3075                 :            :       21,    22,    23,    24,    25,    26,   318,   319,    -1,   321,
    3076                 :            :       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,
    3077                 :            :       41,    -1,    -1,    -1,    45,    -1,    47,    48,    49,    -1,
    3078                 :            :       -1,    -1,    -1,    54,    55,    -1,    -1,    -1,    59,    60,
    3079                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    69,    -1,
    3080                 :            :       -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,
    3081                 :            :       -1,    -1,    -1,    84,    -1,    -1,    -1,    -1,    -1,    -1,
    3082                 :            :       91,    92,    93,    -1,    -1,    96,    -1,    98,    -1,    -1,
    3083                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3084                 :            :      111,    -1,   113,    -1,    -1,    -1,   117,    -1,    -1,   120,
    3085                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,   129,   130,
    3086                 :            :       -1,   132,    -1,   134,   135,    -1,   137,    -1,   139,    -1,
    3087                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    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,   179,   180,
    3091                 :            :      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
    3092                 :            :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
    3093                 :            :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
    3094                 :            :      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
    3095                 :            :      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
    3096                 :            :      231,   232,   233,   234,   235,   236,   237,    -1,   239,   240,
    3097                 :            :       -1,    -1,   243,   244,    -1,    -1,    -1,    -1,    -1,    -1,
    3098                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   259,   260,
    3099                 :            :      261,   262,   263,   264,   265,   266,   267,    -1,    -1,    -1,
    3100                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3101                 :            :       -1,    -1,   283,   284,   285,   286,    -1,    -1,    -1,   290,
    3102                 :            :      291,   292,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3103                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3104                 :            :       -1,   312,   313,   314,   315,   316,   317,   318,   319,     3,
    3105                 :            :       -1,    -1,     6,    -1,     8,     9,    -1,    11,    -1,    -1,
    3106                 :            :       -1,    -1,    -1,    -1,    -1,    19,    20,    21,    22,    23,
    3107                 :            :       24,    25,    26,    -1,    -1,    -1,    -1,    31,    -1,    -1,
    3108                 :            :       -1,    -1,    36,    -1,    -1,    -1,    -1,    41,    -1,    -1,
    3109                 :            :       -1,    45,    -1,    47,    48,    49,    -1,    -1,    -1,    -1,
    3110                 :            :       54,    55,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,
    3111                 :            :       -1,    -1,    -1,    67,    68,    69,    -1,    -1,    -1,    -1,
    3112                 :            :       -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3113                 :            :       84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
    3114                 :            :       -1,    -1,    96,    -1,    98,    -1,    -1,    -1,    -1,    -1,
    3115                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,
    3116                 :            :       -1,    -1,    -1,   117,    -1,    -1,   120,    -1,    -1,    -1,
    3117                 :            :       -1,    -1,    -1,    -1,   128,   129,   130,    -1,   132,    -1,
    3118                 :            :      134,   135,    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,
    3119                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   151,   152,   153,
    3120                 :            :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
    3121                 :            :      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
    3122                 :            :      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
    3123                 :            :      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
    3124                 :            :      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
    3125                 :            :      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
    3126                 :            :      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
    3127                 :            :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
    3128                 :            :      234,   235,   236,   237,    -1,   239,   240,    -1,    -1,   243,
    3129                 :            :      244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   252,    -1,
    3130                 :            :       -1,    -1,    -1,    -1,    -1,   259,   260,   261,   262,   263,
    3131                 :            :      264,   265,   266,   267,    -1,    -1,    -1,    -1,    -1,    -1,
    3132                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   283,
    3133                 :            :      284,   285,   286,    -1,    -1,    -1,   290,   291,   292,    -1,
    3134                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3135                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,   313,
    3136                 :            :      314,   315,   316,   317,   318,   319,     3,    -1,    -1,     6,
    3137                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3138                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    25,    26,
    3139                 :            :       -1,    -1,    -1,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3140                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    45,    -1,
    3141                 :            :       47,    48,    49,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3142                 :            :       -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    -1,    -1,
    3143                 :            :       67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
    3144                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,    -1,
    3145                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3146                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3147                 :            :       -1,    -1,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
    3148                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3149                 :            :       -1,   128,   129,   130,    -1,   132,    -1,   134,   135,    -1,
    3150                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3151                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3152                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3153                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3154                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3155                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3156                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3157                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3158                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3159                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3160                 :            :      237,    -1,   239,   240,    -1,   242,   243,   244,    -1,    -1,
    3161                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3162                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3163                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3164                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3165                 :            :       -1,    -1,    -1,   290,   291,   292,    -1,    -1,    -1,    -1,
    3166                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3167                 :            :       -1,    -1,    -1,    -1,    -1,   312,   313,   314,   315,   316,
    3168                 :            :      317,   318,   319,     3,    -1,    -1,     6,    -1,     8,     9,
    3169                 :            :       -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,
    3170                 :            :       20,    21,    22,    23,    24,    25,    26,    -1,    -1,    -1,
    3171                 :            :       -1,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,
    3172                 :            :       -1,    41,    -1,    -1,    -1,    45,    -1,    47,    48,    49,
    3173                 :            :       -1,    -1,    -1,    -1,    54,    55,    -1,    -1,    -1,    59,
    3174                 :            :       60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    69,
    3175                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,
    3176                 :            :       -1,    -1,    -1,    -1,    84,    -1,    -1,    -1,    -1,    -1,
    3177                 :            :       -1,    91,    92,    93,    -1,    -1,    96,    -1,    98,    -1,
    3178                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3179                 :            :       -1,   111,    -1,   113,    -1,    -1,    -1,   117,    -1,    -1,
    3180                 :            :      120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,   129,
    3181                 :            :      130,    -1,   132,    -1,   134,   135,    -1,   137,    -1,    -1,
    3182                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3183                 :            :       -1,   151,   152,   153,   154,   155,   156,   157,   158,   159,
    3184                 :            :      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
    3185                 :            :      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
    3186                 :            :      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
    3187                 :            :      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
    3188                 :            :      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
    3189                 :            :      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
    3190                 :            :      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
    3191                 :            :      230,   231,   232,   233,   234,   235,   236,   237,    -1,   239,
    3192                 :            :      240,    -1,    -1,   243,   244,    -1,    -1,    -1,    -1,    -1,
    3193                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   259,
    3194                 :            :      260,   261,   262,   263,   264,   265,   266,   267,    -1,    -1,
    3195                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3196                 :            :       -1,    -1,    -1,   283,   284,   285,   286,    -1,    -1,    -1,
    3197                 :            :      290,   291,   292,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3198                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3199                 :            :       -1,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
    3200                 :            :        3,    -1,    -1,     6,    -1,     8,     9,    -1,    11,    -1,
    3201                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    19,    20,    21,    22,
    3202                 :            :       23,    24,    25,    26,    -1,    -1,    -1,    -1,    31,    -1,
    3203                 :            :       -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    41,    -1,
    3204                 :            :       -1,    -1,    -1,    -1,    47,    48,    -1,    -1,    -1,    -1,
    3205                 :            :       -1,    54,    55,    -1,    -1,    -1,    59,    -1,    -1,    -1,
    3206                 :            :       -1,    -1,    -1,    -1,    67,    68,    -1,    -1,    -1,    -1,
    3207                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3208                 :            :       -1,    84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
    3209                 :            :       93,    -1,    -1,    96,    -1,    98,    -1,    -1,    -1,    -1,
    3210                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3211                 :            :      113,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,    -1,
    3212                 :            :       -1,    -1,    -1,    -1,    -1,   128,   129,   130,    -1,   132,
    3213                 :            :       -1,    -1,   135,    -1,   137,    -1,   139,    -1,    -1,    -1,
    3214                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   151,   152,
    3215                 :            :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
    3216                 :            :      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
    3217                 :            :      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
    3218                 :            :      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
    3219                 :            :      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
    3220                 :            :      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
    3221                 :            :      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
    3222                 :            :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
    3223                 :            :      233,   234,   235,   236,   237,    -1,   239,   240,    -1,    -1,
    3224                 :            :      243,   244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3225                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   259,   260,   261,   262,
    3226                 :            :      263,   264,   265,   266,   267,    -1,    -1,    -1,    -1,    -1,
    3227                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3228                 :            :      283,   284,   285,   286,    -1,    -1,    -1,   290,   291,   292,
    3229                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3230                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
    3231                 :            :      313,   314,   315,   316,   317,   318,   319,     3,    -1,    -1,
    3232                 :            :        6,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,
    3233                 :            :       -1,    -1,    -1,    19,    20,    21,    22,    23,    24,    25,
    3234                 :            :       26,    -1,    -1,    -1,    -1,    31,    -1,    -1,    -1,    -1,
    3235                 :            :       36,    -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,
    3236                 :            :       -1,    47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,
    3237                 :            :       -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,
    3238                 :            :       -1,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3239                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,
    3240                 :            :       -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,
    3241                 :            :       96,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3242                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3243                 :            :       -1,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,
    3244                 :            :       -1,    -1,   128,   129,   130,    -1,   132,    -1,    -1,   135,
    3245                 :            :       -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3246                 :            :       -1,    -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,
    3247                 :            :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
    3248                 :            :      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
    3249                 :            :      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
    3250                 :            :      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
    3251                 :            :      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
    3252                 :            :      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
    3253                 :            :      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
    3254                 :            :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
    3255                 :            :      236,   237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,
    3256                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3257                 :            :       -1,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
    3258                 :            :      266,   267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3259                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,
    3260                 :            :      286,    -1,    -1,    -1,   290,   291,   292,    -1,    -1,    -1,
    3261                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3262                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   312,   313,   314,   315,
    3263                 :            :      316,   317,   318,   319,     3,    -1,    -1,     6,    -1,     8,
    3264                 :            :        9,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3265                 :            :       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3266                 :            :       -1,    -1,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
    3267                 :            :       -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,    47,    48,
    3268                 :            :       -1,    -1,    -1,    -1,    -1,    54,    55,    -1,    -1,    -1,
    3269                 :            :       59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,
    3270                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3271                 :            :       -1,    -1,    -1,    -1,    -1,    84,    -1,    -1,    -1,    -1,
    3272                 :            :       -1,    -1,    91,    92,    93,    -1,    -1,    96,    -1,    98,
    3273                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3274                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,
    3275                 :            :       -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
    3276                 :            :      129,   130,    -1,   132,    -1,    -1,   135,    -1,   137,    -1,
    3277                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3278                 :            :       -1,    -1,   151,   152,   153,   154,   155,   156,   157,   158,
    3279                 :            :      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
    3280                 :            :      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
    3281                 :            :      179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
    3282                 :            :      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
    3283                 :            :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
    3284                 :            :      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
    3285                 :            :      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
    3286                 :            :      229,   230,   231,   232,   233,   234,   235,   236,   237,    -1,
    3287                 :            :      239,   240,    -1,    -1,   243,   244,    -1,    -1,    -1,    -1,
    3288                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3289                 :            :      259,   260,   261,   262,   263,   264,   265,   266,   267,    -1,
    3290                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3291                 :            :       -1,    -1,    -1,    -1,   283,   284,   285,   286,    -1,    -1,
    3292                 :            :       -1,   290,   291,   292,    -1,    -1,    -1,    -1,    -1,    -1,
    3293                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3294                 :            :       -1,    -1,    -1,   312,   313,   314,   315,   316,   317,   318,
    3295                 :            :      319,     3,    -1,    -1,     6,    -1,     8,     9,    -1,    11,
    3296                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,    20,    21,
    3297                 :            :       22,    23,    24,    25,    26,    -1,    -1,    -1,    -1,    31,
    3298                 :            :       -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    41,
    3299                 :            :       -1,    -1,    -1,    -1,    -1,    47,    48,    -1,    -1,    -1,
    3300                 :            :       -1,    -1,    54,    55,    -1,    -1,    -1,    59,    -1,    -1,
    3301                 :            :       -1,    -1,    -1,    -1,    -1,    67,    68,    -1,    -1,    -1,
    3302                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3303                 :            :       -1,    -1,    84,    -1,    -1,    -1,    -1,    -1,    -1,    91,
    3304                 :            :       92,    93,    -1,    -1,    96,    -1,    98,    -1,    -1,    -1,
    3305                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3306                 :            :       -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,
    3307                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   128,   129,   130,    -1,
    3308                 :            :      132,    -1,    -1,   135,    -1,   137,    -1,    -1,    -1,    -1,
    3309                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   151,
    3310                 :            :      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
    3311                 :            :      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
    3312                 :            :      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
    3313                 :            :      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
    3314                 :            :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
    3315                 :            :      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
    3316                 :            :      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    3317                 :            :      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
    3318                 :            :      232,   233,   234,   235,   236,   237,    -1,   239,   240,    -1,
    3319                 :            :       -1,   243,   244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3320                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   259,   260,   261,
    3321                 :            :      262,   263,   264,   265,   266,   267,    -1,    -1,    -1,    -1,
    3322                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3323                 :            :       -1,   283,   284,   285,   286,    -1,    -1,    -1,   290,   291,
    3324                 :            :      292,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3325                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3326                 :            :      312,   313,   314,   315,   316,   317,   318,   319,     3,    -1,
    3327                 :            :       -1,     6,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,
    3328                 :            :       -1,    -1,    -1,    -1,    19,    20,    21,    22,    23,    24,
    3329                 :            :       25,    26,    -1,    -1,    -1,    -1,    31,    -1,    -1,    -1,
    3330                 :            :       -1,    36,    -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,
    3331                 :            :       -1,    -1,    47,    48,    -1,    -1,    -1,    -1,    -1,    54,
    3332                 :            :       55,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
    3333                 :            :       -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
    3334                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,
    3335                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
    3336                 :            :       -1,    96,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,
    3337                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3338                 :            :       -1,    -1,   117,    -1,    -1,   120,    -1,    -1,    -1,    -1,
    3339                 :            :       -1,    -1,    -1,   128,   129,   130,    -1,    -1,    -1,    -1,
    3340                 :            :      135,    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3341                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   151,   152,   153,   154,
    3342                 :            :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
    3343                 :            :      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
    3344                 :            :      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
    3345                 :            :      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
    3346                 :            :      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
    3347                 :            :      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
    3348                 :            :      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
    3349                 :            :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
    3350                 :            :      235,   236,   237,    -1,   239,   240,    -1,    -1,   243,   244,
    3351                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3352                 :            :       -1,    -1,    -1,    -1,   259,   260,   261,   262,   263,   264,
    3353                 :            :      265,   266,   267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3354                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   283,   284,
    3355                 :            :      285,   286,    -1,    -1,    -1,   290,   291,   292,    -1,    -1,
    3356                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3357                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,   313,   314,
    3358                 :            :      315,   316,   317,   318,   319,     3,    -1,    -1,     6,    -1,
    3359                 :            :        8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,
    3360                 :            :       -1,    19,    20,    21,    22,    23,    24,    -1,    26,    -1,
    3361                 :            :       -1,    -1,    -1,    31,    -1,    -1,    -1,    -1,    36,    -1,
    3362                 :            :       -1,    39,    -1,    41,    -1,    -1,    -1,    -1,    -1,    47,
    3363                 :            :       48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,    -1,
    3364                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3365                 :            :       68,    -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,
    3366                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3367                 :            :       88,    -1,    -1,    91,    92,    93,    -1,    -1,    96,    -1,
    3368                 :            :       98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3369                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
    3370                 :            :       -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,   127,
    3371                 :            :      128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,   137,
    3372                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3373                 :            :       -1,    -1,    -1,   151,   152,   153,   154,   155,   156,   157,
    3374                 :            :      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
    3375                 :            :      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
    3376                 :            :      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
    3377                 :            :      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
    3378                 :            :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
    3379                 :            :      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
    3380                 :            :      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
    3381                 :            :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
    3382                 :            :       -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,    -1,
    3383                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3384                 :            :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
    3385                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3386                 :            :       -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,    -1,
    3387                 :            :       -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,    -1,
    3388                 :            :        8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,
    3389                 :            :       -1,    19,    20,    21,    22,    23,    24,    -1,    26,    -1,
    3390                 :            :      318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,    -1,
    3391                 :            :       -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,    47,
    3392                 :            :       48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,    -1,
    3393                 :            :       -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3394                 :            :       68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3395                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3396                 :            :       -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,    -1,
    3397                 :            :       98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3398                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
    3399                 :            :       -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3400                 :            :      128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,   137,
    3401                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3402                 :            :       -1,    -1,    -1,   151,   152,   153,   154,   155,   156,   157,
    3403                 :            :      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
    3404                 :            :      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
    3405                 :            :      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
    3406                 :            :      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
    3407                 :            :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
    3408                 :            :      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
    3409                 :            :      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
    3410                 :            :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
    3411                 :            :       -1,   239,   240,    -1,    -1,   243,   244,   245,    -1,    -1,
    3412                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3413                 :            :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
    3414                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3415                 :            :       -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,    -1,
    3416                 :            :       -1,    -1,   290,   291,   292,    -1,    -1,    -1,    -1,    -1,
    3417                 :            :       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,     6,
    3418                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3419                 :            :      318,   319,    19,    20,    21,    22,    23,    24,    -1,    26,
    3420                 :            :       -1,    28,    -1,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3421                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3422                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3423                 :            :       -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3424                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3425                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3426                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3427                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3428                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3429                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3430                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3431                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3432                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3433                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3434                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3435                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3436                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3437                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3438                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3439                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3440                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3441                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3442                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3443                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3444                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3445                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3446                 :            :       -1,    -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,
    3447                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3448                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    -1,    26,
    3449                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3450                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3451                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3452                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3453                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3454                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3455                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3456                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3457                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3458                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,   124,   125,    -1,
    3459                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3460                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3461                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3462                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3463                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3464                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3465                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3466                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3467                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3468                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3469                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3470                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3471                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3472                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3473                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3474                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3475                 :            :       -1,    -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,
    3476                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3477                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    -1,    26,
    3478                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3479                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3480                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3481                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3482                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3483                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3484                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3485                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3486                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,    -1,    -1,
    3487                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3488                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3489                 :            :      137,    -1,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3490                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3491                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3492                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3493                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3494                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3495                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3496                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3497                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3498                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3499                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3500                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3501                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3502                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3503                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3504                 :            :       -1,    -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,
    3505                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3506                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    -1,    26,
    3507                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3508                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3509                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3510                 :            :       -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3511                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3512                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3513                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3514                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3515                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3516                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3517                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3518                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3519                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3520                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3521                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3522                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3523                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3524                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3525                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3526                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3527                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3528                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3529                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3530                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3531                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3532                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3533                 :            :       -1,    -1,    -1,   290,   291,   292,     3,     4,    -1,     6,
    3534                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3535                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    -1,    26,
    3536                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3537                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3538                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3539                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3540                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3541                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3542                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3543                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3544                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3545                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3546                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3547                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3548                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3549                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3550                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3551                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3552                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3553                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3554                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3555                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3556                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3557                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3558                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3559                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3560                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3561                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3562                 :            :       -1,    -1,    -1,   290,   291,   292,     3,     4,    -1,     6,
    3563                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3564                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    -1,    26,
    3565                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3566                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3567                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3568                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3569                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3570                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3571                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3572                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3573                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3574                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3575                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3576                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3577                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3578                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3579                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3580                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3581                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3582                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3583                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3584                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3585                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3586                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3587                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3588                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3589                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3590                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3591                 :            :       -1,    -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,
    3592                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3593                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    -1,    26,
    3594                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3595                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3596                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3597                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3598                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,
    3599                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3600                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3601                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3602                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3603                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3604                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3605                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3606                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3607                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3608                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3609                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3610                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3611                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3612                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3613                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3614                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3615                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3616                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3617                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3618                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3619                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3620                 :            :       -1,    -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,
    3621                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3622                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    -1,    26,
    3623                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3624                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3625                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3626                 :            :       -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3627                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3628                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3629                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3630                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3631                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3632                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3633                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3634                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3635                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3636                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3637                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3638                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3639                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3640                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3641                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3642                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3643                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3644                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3645                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3646                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3647                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3648                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3649                 :            :       -1,    -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,
    3650                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3651                 :            :       -1,    -1,    19,    20,    21,    22,    23,    24,    -1,    26,
    3652                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3653                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3654                 :            :       47,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3655                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3656                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3657                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3658                 :            :       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    96,
    3659                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3660                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3661                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3662                 :            :       -1,   128,   129,   130,    -1,    -1,    -1,    -1,   135,    -1,
    3663                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3664                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3665                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3666                 :            :      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
    3667                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3668                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3669                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3670                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3671                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3672                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3673                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3674                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3675                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3676                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3677                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3678                 :            :       -1,    -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,
    3679                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3680                 :            :       -1,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
    3681                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3682                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3683                 :            :       -1,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3684                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3685                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3686                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3687                 :            :       -1,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    96,
    3688                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3689                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3690                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3691                 :            :       -1,    -1,    -1,   130,    -1,    -1,    -1,    -1,    -1,    -1,
    3692                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3693                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3694                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3695                 :            :      167,   168,   169,   170,   171,    -1,   173,    -1,    -1,    -1,
    3696                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3697                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3698                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3699                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3700                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3701                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3702                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3703                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3704                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3705                 :            :      267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3706                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3707                 :            :       -1,    -1,    -1,   290,   291,   292,     3,    -1,    -1,     6,
    3708                 :            :       -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,
    3709                 :            :       -1,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
    3710                 :            :       -1,   318,   319,    -1,    31,    -1,    -1,    -1,    -1,    36,
    3711                 :            :       -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    3712                 :            :       -1,    48,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
    3713                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3714                 :            :       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3715                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3716                 :            :       -1,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    96,
    3717                 :            :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3718                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3719                 :            :      117,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3720                 :            :       -1,    -1,    -1,   130,    -1,    -1,    -1,    -1,    -1,    -1,
    3721                 :            :      137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3722                 :            :       -1,    -1,    -1,    -1,   151,   152,   153,   154,   155,   156,
    3723                 :            :      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
    3724                 :            :      167,   168,   169,   170,   171,    -1,   173,    -1,    -1,    -1,
    3725                 :            :      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
    3726                 :            :      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
    3727                 :            :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
    3728                 :            :      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
    3729                 :            :      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
    3730                 :            :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
    3731                 :            :      237,    -1,   239,   240,    -1,    -1,   243,   244,    -1,    -1,
    3732                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3733                 :            :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
    3734                 :            :      267,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3735                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   283,   284,   285,   286,
    3736                 :            :       -1,    -1,    42,   290,   291,   292,    -1,    -1,    -1,    -1,
    3737                 :            :       -1,    -1,    -1,    53,    -1,    -1,    56,    57,    -1,    -1,
    3738                 :            :       -1,    -1,    -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,
    3739                 :            :       70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3740                 :            :       -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3741                 :            :       -1,    -1,    -1,    -1,    -1,    95,    -1,    97,    -1,    -1,
    3742                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3743                 :            :       -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,    -1,    -1,
    3744                 :            :       -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
    3745                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3746                 :            :       -1,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3747                 :            :       -1,    -1,    -1,   153,    -1,    -1,    -1,    26,    -1,    -1,
    3748                 :            :       -1,    -1,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
    3749                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,
    3750                 :            :       -1,    -1,    -1,    -1,    -1,    54,    55,    -1,    -1,    -1,
    3751                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3752                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3753                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3754                 :            :       -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,
    3755                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3756                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,
    3757                 :            :       -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3758                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,   269,
    3759                 :            :       -1,    -1,   272,   273,    -1,   275,   276,   277,   278,    -1,
    3760                 :            :      280,   281,   151,    -1,   153,   154,    -1,   156,   157,   158,
    3761                 :            :      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
    3762                 :            :      169,   170,   171,    -1,   173,    -1,    -1,    -1,   177,   178,
    3763                 :            :      179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
    3764                 :            :      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
    3765                 :            :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
    3766                 :            :      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
    3767                 :            :      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
    3768                 :            :      229,   230,   231,   232,   233,   234,   235,   236,   237,    11,
    3769                 :            :      239,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3770                 :            :       -1,    -1,    -1,    -1,    26,    -1,    -1,    -1,    -1,    31,
    3771                 :            :       -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
    3772                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,    -1,
    3773                 :            :       -1,    -1,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
    3774                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3775                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3776                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3777                 :            :       92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3778                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3779                 :            :       -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,
    3780                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3781                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3782                 :            :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   151,
    3783                 :            :       -1,   153,    -1,    -1,   156,   157,   158,   159,   160,   161,
    3784                 :            :      162,   163,   164,    -1,   166,   167,   168,   169,   170,   171,
    3785                 :            :       -1,   173,    -1,    -1,    -1,   177,   178,   179,   180,   181,
    3786                 :            :      182,    -1,   184,   185,   186,   187,   188,   189,   190,   191,
    3787                 :            :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
    3788                 :            :      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
    3789                 :            :      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    3790                 :            :      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
    3791                 :            :      232,   233,   234,   235,   236,   237,    -1,   239
    3792                 :            : };
    3793                 :            : 
    3794                 :            : /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    3795                 :            :    symbol of state STATE-NUM.  */
    3796                 :            : static const yytype_uint16 yystos[] =
    3797                 :            : {
    3798                 :            :        0,     3,     6,     8,     9,    11,    19,    20,    21,    22,
    3799                 :            :       23,    24,    25,    26,    31,    36,    41,    45,    47,    48,
    3800                 :            :       49,    54,    55,    59,    60,    67,    68,    69,    76,    84,
    3801                 :            :       91,    92,    93,    96,    98,   111,   113,   117,   120,   128,
    3802                 :            :      129,   130,   132,   134,   135,   137,   151,   152,   153,   154,
    3803                 :            :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
    3804                 :            :      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
    3805                 :            :      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
    3806                 :            :      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
    3807                 :            :      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
    3808                 :            :      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
    3809                 :            :      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
    3810                 :            :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
    3811                 :            :      235,   236,   237,   239,   240,   243,   244,   259,   260,   261,
    3812                 :            :      262,   263,   264,   265,   266,   267,   283,   284,   285,   286,
    3813                 :            :      290,   291,   292,   312,   313,   314,   315,   316,   317,   318,
    3814                 :            :      319,   326,   327,   328,   329,   340,   343,   354,   355,   356,
    3815                 :            :      357,   358,   359,   360,   363,   364,   365,   366,   371,   376,
    3816                 :            :      402,   404,   405,   406,   407,   408,   410,   411,   412,   413,
    3817                 :            :      414,   415,   416,   418,   419,   421,   422,   423,   424,   426,
    3818                 :            :      427,   428,   432,   434,   435,   436,   437,   438,   439,   443,
    3819                 :            :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
    3820                 :            :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
    3821                 :            :      464,   465,   466,   467,   468,   474,   475,   480,   481,   483,
    3822                 :            :      522,   523,   524,   525,   528,   530,   531,   532,   548,   551,
    3823                 :            :      552,   553,   554,   555,   556,   557,   558,   561,   562,   563,
    3824                 :            :      575,   576,   577,   578,   579,   581,   582,   583,   584,   588,
    3825                 :            :      590,   591,   592,   593,   594,   595,   603,   629,   630,   631,
    3826                 :            :      632,   633,   634,   646,   649,     3,   139,   327,   361,   375,
    3827                 :            :      376,   407,   541,   542,   543,   545,   547,   575,    26,    26,
    3828                 :            :        8,   146,   147,   148,   149,   515,   516,   520,   521,     3,
    3829                 :            :       11,    25,   158,   404,     6,    13,     3,   143,     3,     3,
    3830                 :            :      121,   140,   254,    74,     3,   428,    26,   645,    28,    60,
    3831                 :            :      110,   113,   134,   136,   158,   345,   346,   347,   354,     3,
    3832                 :            :      143,    28,    62,   367,     3,     3,   428,    26,   599,   600,
    3833                 :            :      601,   602,     3,     3,     3,    83,     3,     3,     3,     3,
    3834                 :            :        3,   245,   364,   639,   640,   644,     3,     3,     3,     3,
    3835                 :            :        3,   553,   553,     0,     7,    37,    79,    89,   131,   411,
    3836                 :            :      412,   414,   415,   418,   421,   423,    84,   311,   310,    28,
    3837                 :            :       31,   117,   363,   364,   425,    19,    21,    22,    24,     3,
    3838                 :            :        3,     3,     3,     3,     3,     3,     3,   282,     3,     3,
    3839                 :            :        3,     3,     3,   321,   322,   318,   319,    34,   559,   320,
    3840                 :            :      318,    44,   580,     3,   545,     3,     4,    85,     4,     4,
    3841                 :            :       66,   131,     4,    10,   312,    26,   446,   522,   532,   145,
    3842                 :            :       12,    12,    19,     3,   113,   376,   407,    26,    26,   154,
    3843                 :            :      165,   183,   321,   604,   629,   549,   575,   549,   576,   321,
    3844                 :            :      367,   599,   599,    26,   669,   599,     3,    83,   106,     3,
    3845                 :            :      342,   342,   342,   100,     5,    62,    96,   575,   321,   377,
    3846                 :            :      429,   430,   575,   598,   575,   576,    39,    74,    88,   127,
    3847                 :            :      575,   596,   597,     6,    13,   114,   575,   575,   575,   599,
    3848                 :            :      572,   575,   572,   575,   585,   586,   587,    55,   124,   125,
    3849                 :            :      184,   185,   186,   191,   196,   440,   441,   442,   564,   575,
    3850                 :            :      575,     3,   575,   407,   246,   640,   641,   245,   635,   636,
    3851                 :            :      639,   572,   575,   572,   575,     4,   432,   469,   470,   471,
    3852                 :            :      646,   575,   363,     3,   420,   428,   552,   576,    28,   546,
    3853                 :            :      363,   354,   405,   406,   428,     4,   573,   575,   642,   643,
    3854                 :            :      569,   573,   573,   574,   574,   570,   573,     4,   574,   571,
    3855                 :            :      573,     3,    26,   486,   487,   488,   494,   476,   575,   575,
    3856                 :            :      367,   529,   556,     4,   527,   572,   554,   554,   555,   555,
    3857                 :            :       90,   560,   575,   581,   599,   575,     4,   362,   363,   546,
    3858                 :            :      546,   546,     3,   599,   367,    13,    13,    32,     5,   138,
    3859                 :            :        4,   573,     3,   342,   247,   248,   249,   651,   141,   374,
    3860                 :            :      397,   547,   372,   373,   431,   646,    26,   339,   629,   599,
    3861                 :            :      347,    74,     4,    74,    83,   390,   391,     5,    32,   433,
    3862                 :            :      629,   138,   575,    74,     4,    74,   575,    26,   601,    26,
    3863                 :            :      601,   602,   368,   369,   629,     4,     4,     4,   342,     4,
    3864                 :            :        5,     7,    79,     4,    74,    74,    74,   102,   350,   241,
    3865                 :            :      575,   642,   242,   364,   409,   411,   412,   414,   418,   421,
    3866                 :            :      637,   638,   641,   636,     4,     4,     4,     4,     5,   311,
    3867                 :            :      572,    11,    65,   417,   417,   376,    68,    96,   130,   133,
    3868                 :            :      401,     4,    40,    84,   138,   411,     4,     5,     4,     5,
    3869                 :            :        7,     4,     4,     5,     4,     4,     5,   486,   495,   498,
    3870                 :            :      499,     5,   472,     4,   573,     4,     4,    40,     4,     4,
    3871                 :            :        5,   542,   544,   375,   543,   375,     3,   517,   377,    26,
    3872                 :            :       26,   604,    21,    42,    53,    56,    57,    63,    70,    82,
    3873                 :            :       95,    97,   109,   116,   122,   123,   153,   268,   269,   272,
    3874                 :            :      273,   275,   276,   277,   278,   280,   281,   550,   599,   605,
    3875                 :            :      608,   609,   616,   617,   618,   619,   620,   621,   623,   624,
    3876                 :            :      625,   626,   628,   550,   599,     4,    43,    72,   105,   132,
    3877                 :            :      330,   331,   332,   335,   337,   629,    32,    99,    60,   134,
    3878                 :            :      158,   652,   407,     5,     4,     5,   126,     3,    11,   392,
    3879                 :            :      396,   428,   537,   538,   539,   599,   372,   374,   430,   629,
    3880                 :            :      599,   575,   575,    74,    13,     5,   374,   312,   547,   575,
    3881                 :            :      575,   575,   575,   576,   575,    40,     4,   642,   363,     5,
    3882                 :            :      241,   242,   469,   470,   484,   363,     4,    65,   576,   572,
    3883                 :            :      354,   575,   575,   573,   573,   573,   573,   573,   303,   496,
    3884                 :            :      500,     4,    23,   477,     4,   287,   288,   473,   479,     4,
    3885                 :            :      238,   526,   526,   572,   363,   432,   518,   519,   646,    13,
    3886                 :            :       13,     3,   270,   274,   610,   611,     3,   622,   622,   104,
    3887                 :            :        3,   270,   274,   610,   622,   610,   610,   270,   274,   610,
    3888                 :            :      611,   611,     3,   612,   613,    42,   153,   612,   612,   270,
    3889                 :            :      274,   610,    55,   184,   185,   186,   191,   196,   564,   565,
    3890                 :            :      567,   568,     4,    42,   606,   580,   607,     4,     4,     3,
    3891                 :            :       87,    87,     4,     5,     3,   605,   376,    99,   653,   100,
    3892                 :            :      373,   629,    26,   108,   348,   349,   648,     3,   396,   539,
    3893                 :            :      150,     5,    50,    75,    81,    94,   160,   168,   533,   536,
    3894                 :            :       32,   393,   647,   393,   395,   390,    77,   398,     4,   575,
    3895                 :            :       26,   369,    59,   370,   575,     4,    71,   589,   589,     4,
    3896                 :            :      351,   352,   364,   408,   354,   364,   411,   412,   414,   418,
    3897                 :            :      421,   638,   642,     4,    19,   411,     5,     5,    40,   350,
    3898                 :            :        5,   473,   289,   289,    77,     4,     4,     5,   604,   604,
    3899                 :            :       23,   611,   271,    23,    23,   611,   271,   142,   279,   627,
    3900                 :            :      627,   611,   271,    23,   614,   270,   274,   610,   270,   610,
    3901                 :            :      611,   271,   622,   610,   126,   114,   607,   407,     3,   331,
    3902                 :            :      339,   333,   142,   341,   339,   654,   602,     5,   142,   344,
    3903                 :            :        4,   539,   396,    86,   536,   103,    86,    26,     3,   338,
    3904                 :            :       26,    40,    78,   400,   575,     4,     4,     5,    33,    61,
    3905                 :            :      353,   353,    89,   363,    74,   482,   485,    12,   575,   573,
    3906                 :            :      573,    26,   501,   502,   603,   301,   302,   497,   504,   505,
    3907                 :            :      478,   575,     3,   526,   519,     4,   612,     4,     5,     4,
    3908                 :            :      612,   122,   122,   612,    14,    15,    16,    17,    18,   615,
    3909                 :            :        4,   611,   271,   611,   612,   191,   564,   566,    26,     4,
    3910                 :            :      339,     4,    25,    43,    59,   110,   335,   336,    43,   251,
    3911                 :            :      650,   349,    76,    12,   396,    86,   396,   339,   338,   399,
    3912                 :            :      446,   603,   407,   304,   489,   490,   352,   293,   294,   473,
    3913                 :            :        5,     5,   607,    37,    51,   299,   444,   506,   507,   508,
    3914                 :            :      509,   350,    23,   144,   144,   612,   610,     4,    96,     3,
    3915                 :            :       96,   137,   334,   432,   558,   599,   101,   257,   258,   662,
    3916                 :            :      663,    71,   655,   656,   101,   396,   100,   138,   534,   535,
    3917                 :            :      540,     4,     5,   486,   491,   492,   493,   350,   573,   502,
    3918                 :            :      299,   444,   507,   510,   512,   513,   255,   300,   300,   295,
    3919                 :            :      503,   514,     4,     4,   110,   407,     3,   121,   255,   394,
    3920                 :            :      121,   394,   663,   250,   245,   658,   407,     3,   446,   603,
    3921                 :            :        5,    32,   306,   387,   389,   298,   298,   311,    51,    77,
    3922                 :            :      297,   305,   599,     4,   339,   393,   393,   393,   393,   255,
    3923                 :            :      256,   657,     3,   403,   252,   327,   659,   661,   339,   492,
    3924                 :            :      494,    23,   307,   378,   379,   511,   512,   255,   296,     3,
    3925                 :            :        4,    26,   665,   666,    26,   668,   664,   666,    26,   667,
    3926                 :            :      407,   253,     4,   307,   388,   385,   432,    69,   383,   384,
    3927                 :            :      339,     4,   660,   661,    23,   255,   302,   382,   293,   308,
    3928                 :            :      381,     4,     7,   380,   386,   432,   242,   661,   382,   309
    3929                 :            : };
    3930                 :            : 
    3931                 :            : #define yyerrok         (yyerrstatus = 0)
    3932                 :            : #define yyclearin       (yychar = YYEMPTY)
    3933                 :            : #define YYEMPTY         (-2)
    3934                 :            : #define YYEOF           0
    3935                 :            : 
    3936                 :            : #define YYACCEPT        goto yyacceptlab
    3937                 :            : #define YYABORT         goto yyabortlab
    3938                 :            : #define YYERROR         goto yyerrorlab
    3939                 :            : 
    3940                 :            : 
    3941                 :            : /* Like YYERROR except do call yyerror.  This remains here temporarily
    3942                 :            :    to ease the transition to the new meaning of YYERROR, for GCC.
    3943                 :            :    Once GCC version 2 has supplanted version 1, this can go.  However,
    3944                 :            :    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
    3945                 :            :    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
    3946                 :            :    discussed.  */
    3947                 :            : 
    3948                 :            : #define YYFAIL          goto yyerrlab
    3949                 :            : #if defined YYFAIL
    3950                 :            :   /* This is here to suppress warnings from the GCC cpp's
    3951                 :            :      -Wunused-macros.  Normally we don't worry about that warning, but
    3952                 :            :      some users do, and we want to make it easy for users to remove
    3953                 :            :      YYFAIL uses, which will produce warnings from Bison 2.5.  */
    3954                 :            : #endif
    3955                 :            : 
    3956                 :            : #define YYRECOVERING()  (!!yyerrstatus)
    3957                 :            : 
    3958                 :            : #define YYBACKUP(Token, Value)                                  \
    3959                 :            : do                                                              \
    3960                 :            :   if (yychar == YYEMPTY && yylen == 1)                          \
    3961                 :            :     {                                                           \
    3962                 :            :       yychar = (Token);                                         \
    3963                 :            :       yylval = (Value);                                         \
    3964                 :            :       YYPOPSTACK (1);                                           \
    3965                 :            :       goto yybackup;                                            \
    3966                 :            :     }                                                           \
    3967                 :            :   else                                                          \
    3968                 :            :     {                                                           \
    3969                 :            :       yyerror (YY_("syntax error: cannot back up")); \
    3970                 :            :       YYERROR;                                                  \
    3971                 :            :     }                                                           \
    3972                 :            : while (YYID (0))
    3973                 :            : 
    3974                 :            : 
    3975                 :            : #define YYTERROR        1
    3976                 :            : #define YYERRCODE       256
    3977                 :            : 
    3978                 :            : 
    3979                 :            : /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
    3980                 :            :    If N is 0, then set CURRENT to the empty location which ends
    3981                 :            :    the previous symbol: RHS[0] (always defined).  */
    3982                 :            : 
    3983                 :            : #define YYRHSLOC(Rhs, K) ((Rhs)[K])
    3984                 :            : #ifndef YYLLOC_DEFAULT
    3985                 :            : # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
    3986                 :            :     do                                                                  \
    3987                 :            :       if (YYID (N))                                                    \
    3988                 :            :         {                                                               \
    3989                 :            :           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
    3990                 :            :           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
    3991                 :            :           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
    3992                 :            :           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
    3993                 :            :         }                                                               \
    3994                 :            :       else                                                              \
    3995                 :            :         {                                                               \
    3996                 :            :           (Current).first_line   = (Current).last_line   =              \
    3997                 :            :             YYRHSLOC (Rhs, 0).last_line;                                \
    3998                 :            :           (Current).first_column = (Current).last_column =              \
    3999                 :            :             YYRHSLOC (Rhs, 0).last_column;                              \
    4000                 :            :         }                                                               \
    4001                 :            :     while (YYID (0))
    4002                 :            : #endif
    4003                 :            : 
    4004                 :            : 
    4005                 :            : /* This macro is provided for backward compatibility. */
    4006                 :            : 
    4007                 :            : #ifndef YY_LOCATION_PRINT
    4008                 :            : # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
    4009                 :            : #endif
    4010                 :            : 
    4011                 :            : 
    4012                 :            : /* YYLEX -- calling `yylex' with the right arguments.  */
    4013                 :            : 
    4014                 :            : #ifdef YYLEX_PARAM
    4015                 :            : # define YYLEX yylex (YYLEX_PARAM)
    4016                 :            : #else
    4017                 :            : # define YYLEX yylex ()
    4018                 :            : #endif
    4019                 :            : 
    4020                 :            : /* Enable debugging if requested.  */
    4021                 :            : #if YYDEBUG
    4022                 :            : 
    4023                 :            : # ifndef YYFPRINTF
    4024                 :            : #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
    4025                 :            : #  define YYFPRINTF fprintf
    4026                 :            : # endif
    4027                 :            : 
    4028                 :            : # define YYDPRINTF(Args)                        \
    4029                 :            : do {                                            \
    4030                 :            :   if (yydebug)                                  \
    4031                 :            :     YYFPRINTF Args;                             \
    4032                 :            : } while (YYID (0))
    4033                 :            : 
    4034                 :            : # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
    4035                 :            : do {                                                                      \
    4036                 :            :   if (yydebug)                                                            \
    4037                 :            :     {                                                                     \
    4038                 :            :       YYFPRINTF (stderr, "%s ", Title);                                         \
    4039                 :            :       yy_symbol_print (stderr,                                            \
    4040                 :            :                   Type, Value); \
    4041                 :            :       YYFPRINTF (stderr, "\n");                                                 \
    4042                 :            :     }                                                                     \
    4043                 :            : } while (YYID (0))
    4044                 :            : 
    4045                 :            : 
    4046                 :            : /*--------------------------------.
    4047                 :            : | Print this symbol on YYOUTPUT.  |
    4048                 :            : `--------------------------------*/
    4049                 :            : 
    4050                 :            : /*ARGSUSED*/
    4051                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4052                 :            :      || defined __cplusplus || defined _MSC_VER)
    4053                 :            : static void
    4054                 :            : yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
    4055                 :            : #else
    4056                 :            : static void
    4057                 :            : yy_symbol_value_print (yyoutput, yytype, yyvaluep)
    4058                 :            :     FILE *yyoutput;
    4059                 :            :     int yytype;
    4060                 :            :     YYSTYPE const * const yyvaluep;
    4061                 :            : #endif
    4062                 :            : {
    4063                 :            :   if (!yyvaluep)
    4064                 :            :     return;
    4065                 :            : # ifdef YYPRINT
    4066                 :            :   if (yytype < YYNTOKENS)
    4067                 :            :     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
    4068                 :            : # else
    4069                 :            :   YYUSE (yyoutput);
    4070                 :            : # endif
    4071                 :            :   switch (yytype)
    4072                 :            :     {
    4073                 :            :       default:
    4074                 :            :         break;
    4075                 :            :     }
    4076                 :            : }
    4077                 :            : 
    4078                 :            : 
    4079                 :            : /*--------------------------------.
    4080                 :            : | Print this symbol on YYOUTPUT.  |
    4081                 :            : `--------------------------------*/
    4082                 :            : 
    4083                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4084                 :            :      || defined __cplusplus || defined _MSC_VER)
    4085                 :            : static void
    4086                 :            : yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
    4087                 :            : #else
    4088                 :            : static void
    4089                 :            : yy_symbol_print (yyoutput, yytype, yyvaluep)
    4090                 :            :     FILE *yyoutput;
    4091                 :            :     int yytype;
    4092                 :            :     YYSTYPE const * const yyvaluep;
    4093                 :            : #endif
    4094                 :            : {
    4095                 :            :   if (yytype < YYNTOKENS)
    4096                 :            :     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    4097                 :            :   else
    4098                 :            :     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
    4099                 :            : 
    4100                 :            :   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
    4101                 :            :   YYFPRINTF (yyoutput, ")");
    4102                 :            : }
    4103                 :            : 
    4104                 :            : /*------------------------------------------------------------------.
    4105                 :            : | yy_stack_print -- Print the state stack from its BOTTOM up to its |
    4106                 :            : | TOP (included).                                                   |
    4107                 :            : `------------------------------------------------------------------*/
    4108                 :            : 
    4109                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4110                 :            :      || defined __cplusplus || defined _MSC_VER)
    4111                 :            : static void
    4112                 :            : yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
    4113                 :            : #else
    4114                 :            : static void
    4115                 :            : yy_stack_print (yybottom, yytop)
    4116                 :            :     yytype_int16 *yybottom;
    4117                 :            :     yytype_int16 *yytop;
    4118                 :            : #endif
    4119                 :            : {
    4120                 :            :   YYFPRINTF (stderr, "Stack now");
    4121                 :            :   for (; yybottom <= yytop; yybottom++)
    4122                 :            :     {
    4123                 :            :       int yybot = *yybottom;
    4124                 :            :       YYFPRINTF (stderr, " %d", yybot);
    4125                 :            :     }
    4126                 :            :   YYFPRINTF (stderr, "\n");
    4127                 :            : }
    4128                 :            : 
    4129                 :            : # define YY_STACK_PRINT(Bottom, Top)                            \
    4130                 :            : do {                                                            \
    4131                 :            :   if (yydebug)                                                  \
    4132                 :            :     yy_stack_print ((Bottom), (Top));                           \
    4133                 :            : } while (YYID (0))
    4134                 :            : 
    4135                 :            : 
    4136                 :            : /*------------------------------------------------.
    4137                 :            : | Report that the YYRULE is going to be reduced.  |
    4138                 :            : `------------------------------------------------*/
    4139                 :            : 
    4140                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4141                 :            :      || defined __cplusplus || defined _MSC_VER)
    4142                 :            : static void
    4143                 :            : yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
    4144                 :            : #else
    4145                 :            : static void
    4146                 :            : yy_reduce_print (yyvsp, yyrule)
    4147                 :            :     YYSTYPE *yyvsp;
    4148                 :            :     int yyrule;
    4149                 :            : #endif
    4150                 :            : {
    4151                 :            :   int yynrhs = yyr2[yyrule];
    4152                 :            :   int yyi;
    4153                 :            :   unsigned long int yylno = yyrline[yyrule];
    4154                 :            :   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
    4155                 :            :              yyrule - 1, yylno);
    4156                 :            :   /* The symbols being reduced.  */
    4157                 :            :   for (yyi = 0; yyi < yynrhs; yyi++)
    4158                 :            :     {
    4159                 :            :       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
    4160                 :            :       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
    4161                 :            :                        &(yyvsp[(yyi + 1) - (yynrhs)])
    4162                 :            :                                        );
    4163                 :            :       YYFPRINTF (stderr, "\n");
    4164                 :            :     }
    4165                 :            : }
    4166                 :            : 
    4167                 :            : # define YY_REDUCE_PRINT(Rule)          \
    4168                 :            : do {                                    \
    4169                 :            :   if (yydebug)                          \
    4170                 :            :     yy_reduce_print (yyvsp, Rule); \
    4171                 :            : } while (YYID (0))
    4172                 :            : 
    4173                 :            : /* Nonzero means print parse trace.  It is left uninitialized so that
    4174                 :            :    multiple parsers can coexist.  */
    4175                 :            : int yydebug;
    4176                 :            : #else /* !YYDEBUG */
    4177                 :            : # define YYDPRINTF(Args)
    4178                 :            : # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
    4179                 :            : # define YY_STACK_PRINT(Bottom, Top)
    4180                 :            : # define YY_REDUCE_PRINT(Rule)
    4181                 :            : #endif /* !YYDEBUG */
    4182                 :            : 
    4183                 :            : 
    4184                 :            : /* YYINITDEPTH -- initial size of the parser's stacks.  */
    4185                 :            : #ifndef YYINITDEPTH
    4186                 :            : # define YYINITDEPTH 200
    4187                 :            : #endif
    4188                 :            : 
    4189                 :            : /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
    4190                 :            :    if the built-in stack extension method is used).
    4191                 :            : 
    4192                 :            :    Do not make this value too large; the results are undefined if
    4193                 :            :    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
    4194                 :            :    evaluated with infinite-precision integer arithmetic.  */
    4195                 :            : 
    4196                 :            : #ifndef YYMAXDEPTH
    4197                 :            : # define YYMAXDEPTH 10000
    4198                 :            : #endif
    4199                 :            : 
    4200                 :            : 
    4201                 :            : #if YYERROR_VERBOSE
    4202                 :            : 
    4203                 :            : # ifndef yystrlen
    4204                 :            : #  if defined __GLIBC__ && defined _STRING_H
    4205                 :            : #   define yystrlen strlen
    4206                 :            : #  else
    4207                 :            : /* Return the length of YYSTR.  */
    4208                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4209                 :            :      || defined __cplusplus || defined _MSC_VER)
    4210                 :            : static YYSIZE_T
    4211                 :            : yystrlen (const char *yystr)
    4212                 :            : #else
    4213                 :            : static YYSIZE_T
    4214                 :            : yystrlen (yystr)
    4215                 :            :     const char *yystr;
    4216                 :            : #endif
    4217                 :            : {
    4218                 :            :   YYSIZE_T yylen;
    4219                 :            :   for (yylen = 0; yystr[yylen]; yylen++)
    4220                 :            :     continue;
    4221                 :            :   return yylen;
    4222                 :            : }
    4223                 :            : #  endif
    4224                 :            : # endif
    4225                 :            : 
    4226                 :            : # ifndef yystpcpy
    4227                 :            : #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
    4228                 :            : #   define yystpcpy stpcpy
    4229                 :            : #  else
    4230                 :            : /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    4231                 :            :    YYDEST.  */
    4232                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4233                 :            :      || defined __cplusplus || defined _MSC_VER)
    4234                 :            : static char *
    4235                 :            : yystpcpy (char *yydest, const char *yysrc)
    4236                 :            : #else
    4237                 :            : static char *
    4238                 :            : yystpcpy (yydest, yysrc)
    4239                 :            :     char *yydest;
    4240                 :            :     const char *yysrc;
    4241                 :            : #endif
    4242                 :            : {
    4243                 :            :   char *yyd = yydest;
    4244                 :            :   const char *yys = yysrc;
    4245                 :            : 
    4246                 :            :   while ((*yyd++ = *yys++) != '\0')
    4247                 :            :     continue;
    4248                 :            : 
    4249                 :            :   return yyd - 1;
    4250                 :            : }
    4251                 :            : #  endif
    4252                 :            : # endif
    4253                 :            : 
    4254                 :            : # ifndef yytnamerr
    4255                 :            : /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
    4256                 :            :    quotes and backslashes, so that it's suitable for yyerror.  The
    4257                 :            :    heuristic is that double-quoting is unnecessary unless the string
    4258                 :            :    contains an apostrophe, a comma, or backslash (other than
    4259                 :            :    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
    4260                 :            :    null, do not copy; instead, return the length of what the result
    4261                 :            :    would have been.  */
    4262                 :            : static YYSIZE_T
    4263                 :          0 : yytnamerr (char *yyres, const char *yystr)
    4264                 :            : {
    4265         [ #  # ]:          0 :   if (*yystr == '"')
    4266                 :            :     {
    4267                 :          0 :       YYSIZE_T yyn = 0;
    4268                 :          0 :       char const *yyp = yystr;
    4269                 :            : 
    4270                 :          0 :       for (;;)
    4271   [ #  #  #  # ]:          0 :         switch (*++yyp)
    4272                 :            :           {
    4273                 :            :           case '\'':
    4274                 :            :           case ',':
    4275                 :          0 :             goto do_not_strip_quotes;
    4276                 :            : 
    4277                 :            :           case '\\':
    4278         [ #  # ]:          0 :             if (*++yyp != '\\')
    4279                 :          0 :               goto do_not_strip_quotes;
    4280                 :            :             /* Fall through.  */
    4281                 :            :           default:
    4282         [ #  # ]:          0 :             if (yyres)
    4283                 :          0 :               yyres[yyn] = *yyp;
    4284                 :          0 :             yyn++;
    4285                 :          0 :             break;
    4286                 :            : 
    4287                 :            :           case '"':
    4288         [ #  # ]:          0 :             if (yyres)
    4289                 :          0 :               yyres[yyn] = '\0';
    4290                 :          0 :             return yyn;
    4291                 :            :           }
    4292                 :            :     do_not_strip_quotes: ;
    4293                 :            :     }
    4294                 :            : 
    4295         [ #  # ]:          0 :   if (! yyres)
    4296                 :          0 :     return yystrlen (yystr);
    4297                 :            : 
    4298                 :          0 :   return yystpcpy (yyres, yystr) - yyres;
    4299                 :            : }
    4300                 :            : # endif
    4301                 :            : 
    4302                 :            : /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
    4303                 :            :    about the unexpected token YYTOKEN for the state stack whose top is
    4304                 :            :    YYSSP.
    4305                 :            : 
    4306                 :            :    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
    4307                 :            :    not large enough to hold the message.  In that case, also set
    4308                 :            :    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
    4309                 :            :    required number of bytes is too large to store.  */
    4310                 :            : static int
    4311                 :          0 : yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
    4312                 :            :                 yytype_int16 *yyssp, int yytoken)
    4313                 :            : {
    4314                 :          0 :   YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
    4315                 :          0 :   YYSIZE_T yysize = yysize0;
    4316                 :            :   YYSIZE_T yysize1;
    4317                 :            :   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
    4318                 :            :   /* Internationalized format string. */
    4319                 :          0 :   const char *yyformat = 0;
    4320                 :            :   /* Arguments of yyformat. */
    4321                 :            :   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
    4322                 :            :   /* Number of reported tokens (one for the "unexpected", one per
    4323                 :            :      "expected"). */
    4324                 :          0 :   int yycount = 0;
    4325                 :            : 
    4326                 :            :   /* There are many possibilities here to consider:
    4327                 :            :      - Assume YYFAIL is not used.  It's too flawed to consider.  See
    4328                 :            :        <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
    4329                 :            :        for details.  YYERROR is fine as it does not invoke this
    4330                 :            :        function.
    4331                 :            :      - If this state is a consistent state with a default action, then
    4332                 :            :        the only way this function was invoked is if the default action
    4333                 :            :        is an error action.  In that case, don't check for expected
    4334                 :            :        tokens because there are none.
    4335                 :            :      - The only way there can be no lookahead present (in yychar) is if
    4336                 :            :        this state is a consistent state with a default action.  Thus,
    4337                 :            :        detecting the absence of a lookahead is sufficient to determine
    4338                 :            :        that there is no unexpected or expected token to report.  In that
    4339                 :            :        case, just report a simple "syntax error".
    4340                 :            :      - Don't assume there isn't a lookahead just because this state is a
    4341                 :            :        consistent state with a default action.  There might have been a
    4342                 :            :        previous inconsistent state, consistent state with a non-default
    4343                 :            :        action, or user semantic action that manipulated yychar.
    4344                 :            :      - Of course, the expected token list depends on states to have
    4345                 :            :        correct lookahead information, and it depends on the parser not
    4346                 :            :        to perform extra reductions after fetching a lookahead from the
    4347                 :            :        scanner and before detecting a syntax error.  Thus, state merging
    4348                 :            :        (from LALR or IELR) and default reductions corrupt the expected
    4349                 :            :        token list.  However, the list is correct for canonical LR with
    4350                 :            :        one exception: it will still contain any token that will not be
    4351                 :            :        accepted due to an error action in a later state.
    4352                 :            :   */
    4353         [ #  # ]:          0 :   if (yytoken != YYEMPTY)
    4354                 :            :     {
    4355                 :          0 :       int yyn = yypact[*yyssp];
    4356                 :          0 :       yyarg[yycount++] = yytname[yytoken];
    4357         [ #  # ]:          0 :       if (!yypact_value_is_default (yyn))
    4358                 :            :         {
    4359                 :            :           /* Start YYX at -YYN if negative to avoid negative indexes in
    4360                 :            :              YYCHECK.  In other words, skip the first -YYN actions for
    4361                 :            :              this state because they are default actions.  */
    4362         [ #  # ]:          0 :           int yyxbegin = yyn < 0 ? -yyn : 0;
    4363                 :            :           /* Stay within bounds of both yycheck and yytname.  */
    4364                 :          0 :           int yychecklim = YYLAST - yyn + 1;
    4365                 :          0 :           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
    4366                 :            :           int yyx;
    4367                 :            : 
    4368         [ #  # ]:          0 :           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    4369 [ #  # ][ #  # ]:          0 :             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
    4370                 :            :                 && !yytable_value_is_error (yytable[yyx + yyn]))
    4371                 :            :               {
    4372         [ #  # ]:          0 :                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
    4373                 :            :                   {
    4374                 :          0 :                     yycount = 1;
    4375                 :          0 :                     yysize = yysize0;
    4376                 :          0 :                     break;
    4377                 :            :                   }
    4378                 :          0 :                 yyarg[yycount++] = yytname[yyx];
    4379                 :          0 :                 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
    4380         [ #  # ]:          0 :                 if (! (yysize <= yysize1
    4381                 :            :                        && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
    4382                 :          0 :                   return 2;
    4383                 :          0 :                 yysize = yysize1;
    4384                 :            :               }
    4385                 :            :         }
    4386                 :            :     }
    4387                 :            : 
    4388   [ #  #  #  #  :          0 :   switch (yycount)
                #  #  # ]
    4389                 :            :     {
    4390                 :            : # define YYCASE_(N, S)                      \
    4391                 :            :       case N:                               \
    4392                 :            :         yyformat = S;                       \
    4393                 :            :       break
    4394                 :          0 :       YYCASE_(0, YY_("syntax error"));
    4395                 :          0 :       YYCASE_(1, YY_("syntax error, unexpected %s"));
    4396                 :          0 :       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
    4397                 :          0 :       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
    4398                 :          0 :       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
    4399                 :          0 :       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
    4400                 :            : # undef YYCASE_
    4401                 :            :     }
    4402                 :            : 
    4403                 :          0 :   yysize1 = yysize + yystrlen (yyformat);
    4404         [ #  # ]:          0 :   if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
    4405                 :          0 :     return 2;
    4406                 :          0 :   yysize = yysize1;
    4407                 :            : 
    4408         [ #  # ]:          0 :   if (*yymsg_alloc < yysize)
    4409                 :            :     {
    4410                 :          0 :       *yymsg_alloc = 2 * yysize;
    4411         [ #  # ]:          0 :       if (! (yysize <= *yymsg_alloc
    4412                 :          0 :              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
    4413                 :          0 :         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
    4414                 :          0 :       return 1;
    4415                 :            :     }
    4416                 :            : 
    4417                 :            :   /* Avoid sprintf, as that infringes on the user's name space.
    4418                 :            :      Don't have undefined behavior even if the translation
    4419                 :            :      produced a string with the wrong number of "%s"s.  */
    4420                 :            :   {
    4421                 :          0 :     char *yyp = *yymsg;
    4422                 :          0 :     int yyi = 0;
    4423         [ #  # ]:          0 :     while ((*yyp = *yyformat) != '\0')
    4424 [ #  # ][ #  # ]:          0 :       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
                 [ #  # ]
    4425                 :            :         {
    4426                 :          0 :           yyp += yytnamerr (yyp, yyarg[yyi++]);
    4427                 :          0 :           yyformat += 2;
    4428                 :            :         }
    4429                 :            :       else
    4430                 :            :         {
    4431                 :          0 :           yyp++;
    4432                 :          0 :           yyformat++;
    4433                 :            :         }
    4434                 :            :   }
    4435                 :          0 :   return 0;
    4436                 :            : }
    4437                 :            : #endif /* YYERROR_VERBOSE */
    4438                 :            : 
    4439                 :            : /*-----------------------------------------------.
    4440                 :            : | Release the memory associated to this symbol.  |
    4441                 :            : `-----------------------------------------------*/
    4442                 :            : 
    4443                 :            : /*ARGSUSED*/
    4444                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4445                 :            :      || defined __cplusplus || defined _MSC_VER)
    4446                 :            : static void
    4447                 :       1118 : yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
    4448                 :            : #else
    4449                 :            : static void
    4450                 :            : yydestruct (yymsg, yytype, yyvaluep)
    4451                 :            :     const char *yymsg;
    4452                 :            :     int yytype;
    4453                 :            :     YYSTYPE *yyvaluep;
    4454                 :            : #endif
    4455                 :            : {
    4456                 :            :   YYUSE (yyvaluep);
    4457                 :            : 
    4458         [ -  + ]:       1118 :   if (!yymsg)
    4459                 :          0 :     yymsg = "Deleting";
    4460                 :            :   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
    4461                 :            : 
    4462                 :            :   switch (yytype)
    4463                 :            :     {
    4464                 :            : 
    4465                 :            :       default:
    4466                 :       1118 :         break;
    4467                 :            :     }
    4468                 :       1118 : }
    4469                 :            : 
    4470                 :            : 
    4471                 :            : /* Prevent warnings from -Wmissing-prototypes.  */
    4472                 :            : #ifdef YYPARSE_PARAM
    4473                 :            : #if defined __STDC__ || defined __cplusplus
    4474                 :            : int yyparse (void *YYPARSE_PARAM);
    4475                 :            : #else
    4476                 :            : int yyparse ();
    4477                 :            : #endif
    4478                 :            : #else /* ! YYPARSE_PARAM */
    4479                 :            : #if defined __STDC__ || defined __cplusplus
    4480                 :            : int yyparse (void);
    4481                 :            : #else
    4482                 :            : int yyparse ();
    4483                 :            : #endif
    4484                 :            : #endif /* ! YYPARSE_PARAM */
    4485                 :            : 
    4486                 :            : 
    4487                 :            : /* The lookahead symbol.  */
    4488                 :            : int yychar;
    4489                 :            : 
    4490                 :            : /* The semantic value of the lookahead symbol.  */
    4491                 :            : YYSTYPE yylval;
    4492                 :            : 
    4493                 :            : /* Number of syntax errors so far.  */
    4494                 :            : int yynerrs;
    4495                 :            : 
    4496                 :            : 
    4497                 :            : /*----------.
    4498                 :            : | yyparse.  |
    4499                 :            : `----------*/
    4500                 :            : 
    4501                 :            : #ifdef YYPARSE_PARAM
    4502                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4503                 :            :      || defined __cplusplus || defined _MSC_VER)
    4504                 :            : int
    4505                 :            : yyparse (void *YYPARSE_PARAM)
    4506                 :            : #else
    4507                 :            : int
    4508                 :            : yyparse (YYPARSE_PARAM)
    4509                 :            :     void *YYPARSE_PARAM;
    4510                 :            : #endif
    4511                 :            : #else /* ! YYPARSE_PARAM */
    4512                 :            : #if (defined __STDC__ || defined __C99__FUNC__ \
    4513                 :            :      || defined __cplusplus || defined _MSC_VER)
    4514                 :            : int
    4515                 :        560 : yyparse (void)
    4516                 :            : #else
    4517                 :            : int
    4518                 :            : yyparse ()
    4519                 :            : 
    4520                 :            : #endif
    4521                 :            : #endif
    4522                 :            : {
    4523                 :            :     int yystate;
    4524                 :            :     /* Number of tokens to shift before error messages enabled.  */
    4525                 :            :     int yyerrstatus;
    4526                 :            : 
    4527                 :            :     /* The stacks and their tools:
    4528                 :            :        `yyss': related to states.
    4529                 :            :        `yyvs': related to semantic values.
    4530                 :            : 
    4531                 :            :        Refer to the stacks thru separate pointers, to allow yyoverflow
    4532                 :            :        to reallocate them elsewhere.  */
    4533                 :            : 
    4534                 :            :     /* The state stack.  */
    4535                 :            :     yytype_int16 yyssa[YYINITDEPTH];
    4536                 :            :     yytype_int16 *yyss;
    4537                 :            :     yytype_int16 *yyssp;
    4538                 :            : 
    4539                 :            :     /* The semantic value stack.  */
    4540                 :            :     YYSTYPE yyvsa[YYINITDEPTH];
    4541                 :            :     YYSTYPE *yyvs;
    4542                 :            :     YYSTYPE *yyvsp;
    4543                 :            : 
    4544                 :            :     YYSIZE_T yystacksize;
    4545                 :            : 
    4546                 :            :   int yyn;
    4547                 :            :   int yyresult;
    4548                 :            :   /* Lookahead token as an internal (translated) token number.  */
    4549                 :            :   int yytoken;
    4550                 :            :   /* The variables used to return semantic value and location from the
    4551                 :            :      action routines.  */
    4552                 :            :   YYSTYPE yyval;
    4553                 :            : 
    4554                 :            : #if YYERROR_VERBOSE
    4555                 :            :   /* Buffer for error messages, and its allocated size.  */
    4556                 :            :   char yymsgbuf[128];
    4557                 :        560 :   char *yymsg = yymsgbuf;
    4558                 :        560 :   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
    4559                 :            : #endif
    4560                 :            : 
    4561                 :            : #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
    4562                 :            : 
    4563                 :            :   /* The number of symbols on the RHS of the reduced rule.
    4564                 :            :      Keep to zero when no symbol should be popped.  */
    4565                 :        560 :   int yylen = 0;
    4566                 :            : 
    4567                 :        560 :   yytoken = 0;
    4568                 :        560 :   yyss = yyssa;
    4569                 :        560 :   yyvs = yyvsa;
    4570                 :        560 :   yystacksize = YYINITDEPTH;
    4571                 :            : 
    4572                 :            :   YYDPRINTF ((stderr, "Starting parse\n"));
    4573                 :            : 
    4574                 :        560 :   yystate = 0;
    4575                 :        560 :   yyerrstatus = 0;
    4576                 :        560 :   yynerrs = 0;
    4577                 :        560 :   yychar = YYEMPTY; /* Cause a token to be read.  */
    4578                 :            : 
    4579                 :            :   /* Initialize stack pointers.
    4580                 :            :      Waste one element of value and location stack
    4581                 :            :      so that they stay on the same level as the state stack.
    4582                 :            :      The wasted elements are never initialized.  */
    4583                 :        560 :   yyssp = yyss;
    4584                 :        560 :   yyvsp = yyvs;
    4585                 :            : 
    4586                 :        560 :   goto yysetstate;
    4587                 :            : 
    4588                 :            : /*------------------------------------------------------------.
    4589                 :            : | yynewstate -- Push a new state, which is found in yystate.  |
    4590                 :            : `------------------------------------------------------------*/
    4591                 :            :  yynewstate:
    4592                 :            :   /* In all cases, when you get here, the value and location stacks
    4593                 :            :      have just been pushed.  So pushing a state here evens the stacks.  */
    4594                 :      70888 :   yyssp++;
    4595                 :            : 
    4596                 :            :  yysetstate:
    4597                 :      71448 :   *yyssp = yystate;
    4598                 :            : 
    4599         [ -  + ]:      71448 :   if (yyss + yystacksize - 1 <= yyssp)
    4600                 :            :     {
    4601                 :            :       /* Get the current used size of the three stacks, in elements.  */
    4602                 :          0 :       YYSIZE_T yysize = yyssp - yyss + 1;
    4603                 :            : 
    4604                 :            : #ifdef yyoverflow
    4605                 :            :       {
    4606                 :            :         /* Give user a chance to reallocate the stack.  Use copies of
    4607                 :            :            these so that the &'s don't force the real ones into
    4608                 :            :            memory.  */
    4609                 :            :         YYSTYPE *yyvs1 = yyvs;
    4610                 :            :         yytype_int16 *yyss1 = yyss;
    4611                 :            : 
    4612                 :            :         /* Each stack pointer address is followed by the size of the
    4613                 :            :            data in use in that stack, in bytes.  This used to be a
    4614                 :            :            conditional around just the two extra args, but that might
    4615                 :            :            be undefined if yyoverflow is a macro.  */
    4616                 :            :         yyoverflow (YY_("memory exhausted"),
    4617                 :            :                     &yyss1, yysize * sizeof (*yyssp),
    4618                 :            :                     &yyvs1, yysize * sizeof (*yyvsp),
    4619                 :            :                     &yystacksize);
    4620                 :            : 
    4621                 :            :         yyss = yyss1;
    4622                 :            :         yyvs = yyvs1;
    4623                 :            :       }
    4624                 :            : #else /* no yyoverflow */
    4625                 :            : # ifndef YYSTACK_RELOCATE
    4626                 :            :       goto yyexhaustedlab;
    4627                 :            : # else
    4628                 :            :       /* Extend the stack our own way.  */
    4629         [ #  # ]:          0 :       if (YYMAXDEPTH <= yystacksize)
    4630                 :          0 :         goto yyexhaustedlab;
    4631                 :          0 :       yystacksize *= 2;
    4632         [ #  # ]:          0 :       if (YYMAXDEPTH < yystacksize)
    4633                 :          0 :         yystacksize = YYMAXDEPTH;
    4634                 :            : 
    4635                 :            :       {
    4636                 :          0 :         yytype_int16 *yyss1 = yyss;
    4637                 :            :         union yyalloc *yyptr =
    4638                 :          0 :           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    4639         [ #  # ]:          0 :         if (! yyptr)
    4640                 :          0 :           goto yyexhaustedlab;
    4641                 :          0 :         YYSTACK_RELOCATE (yyss_alloc, yyss);
    4642                 :          0 :         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
    4643                 :            : #  undef YYSTACK_RELOCATE
    4644         [ #  # ]:          0 :         if (yyss1 != yyssa)
    4645                 :          0 :           YYSTACK_FREE (yyss1);
    4646                 :            :       }
    4647                 :            : # endif
    4648                 :            : #endif /* no yyoverflow */
    4649                 :            : 
    4650                 :          0 :       yyssp = yyss + yysize - 1;
    4651                 :          0 :       yyvsp = yyvs + yysize - 1;
    4652                 :            : 
    4653                 :            :       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    4654                 :            :                   (unsigned long int) yystacksize));
    4655                 :            : 
    4656         [ #  # ]:          0 :       if (yyss + yystacksize - 1 <= yyssp)
    4657                 :          0 :         YYABORT;
    4658                 :            :     }
    4659                 :            : 
    4660                 :            :   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
    4661                 :            : 
    4662         [ +  + ]:      71448 :   if (yystate == YYFINAL)
    4663                 :        558 :     YYACCEPT;
    4664                 :            : 
    4665                 :      70890 :   goto yybackup;
    4666                 :            : 
    4667                 :            : /*-----------.
    4668                 :            : | yybackup.  |
    4669                 :            : `-----------*/
    4670                 :            : yybackup:
    4671                 :            : 
    4672                 :            :   /* Do appropriate processing given the current state.  Read a
    4673                 :            :      lookahead token if we need one and don't already have one.  */
    4674                 :            : 
    4675                 :            :   /* First try to decide what to do without reference to lookahead token.  */
    4676                 :      70890 :   yyn = yypact[yystate];
    4677         [ +  + ]:      70890 :   if (yypact_value_is_default (yyn))
    4678                 :      33036 :     goto yydefault;
    4679                 :            : 
    4680                 :            :   /* Not known => get a lookahead token if don't already have one.  */
    4681                 :            : 
    4682                 :            :   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
    4683         [ +  + ]:      37854 :   if (yychar == YYEMPTY)
    4684                 :            :     {
    4685                 :            :       YYDPRINTF ((stderr, "Reading a token: "));
    4686         [ +  - ]:      11662 :       yychar = YYLEX;
    4687                 :            :     }
    4688                 :            : 
    4689         [ +  + ]:      37854 :   if (yychar <= YYEOF)
    4690                 :            :     {
    4691                 :       7244 :       yychar = yytoken = YYEOF;
    4692                 :            :       YYDPRINTF ((stderr, "Now at end of input.\n"));
    4693                 :            :     }
    4694                 :            :   else
    4695                 :            :     {
    4696         [ +  - ]:      30610 :       yytoken = YYTRANSLATE (yychar);
    4697                 :            :       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
    4698                 :            :     }
    4699                 :            : 
    4700                 :            :   /* If the proper action on seeing token YYTOKEN is to reduce or to
    4701                 :            :      detect an error, take that action.  */
    4702                 :      37854 :   yyn += yytoken;
    4703 [ +  + ][ +  - ]:      37854 :   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
                 [ +  + ]
    4704                 :            :     goto yydefault;
    4705                 :      13242 :   yyn = yytable[yyn];
    4706         [ +  + ]:      13242 :   if (yyn <= 0)
    4707                 :            :     {
    4708                 :            :       if (yytable_value_is_error (yyn))
    4709                 :            :         goto yyerrlab;
    4710                 :       1582 :       yyn = -yyn;
    4711                 :       1582 :       goto yyreduce;
    4712                 :            :     }
    4713                 :            : 
    4714                 :            :   /* Count tokens shifted since error; after three, turn off error
    4715                 :            :      status.  */
    4716         [ -  + ]:      11660 :   if (yyerrstatus)
    4717                 :          0 :     yyerrstatus--;
    4718                 :            : 
    4719                 :            :   /* Shift the lookahead token.  */
    4720                 :            :   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
    4721                 :            : 
    4722                 :            :   /* Discard the shifted token.  */
    4723                 :      11660 :   yychar = YYEMPTY;
    4724                 :            : 
    4725                 :      11660 :   yystate = yyn;
    4726                 :      11660 :   *++yyvsp = yylval;
    4727                 :            : 
    4728                 :      11660 :   goto yynewstate;
    4729                 :            : 
    4730                 :            : 
    4731                 :            : /*-----------------------------------------------------------.
    4732                 :            : | yydefault -- do the default action for the current state.  |
    4733                 :            : `-----------------------------------------------------------*/
    4734                 :            : yydefault:
    4735                 :      57648 :   yyn = yydefact[yystate];
    4736         [ -  + ]:      57648 :   if (yyn == 0)
    4737                 :          0 :     goto yyerrlab;
    4738                 :      57648 :   goto yyreduce;
    4739                 :            : 
    4740                 :            : 
    4741                 :            : /*-----------------------------.
    4742                 :            : | yyreduce -- Do a reduction.  |
    4743                 :            : `-----------------------------*/
    4744                 :            : yyreduce:
    4745                 :            :   /* yyn is the number of a rule to reduce with.  */
    4746                 :      59230 :   yylen = yyr2[yyn];
    4747                 :            : 
    4748                 :            :   /* If YYLEN is nonzero, implement the default value of the action:
    4749                 :            :      `$$ = $1'.
    4750                 :            : 
    4751                 :            :      Otherwise, the following line sets YYVAL to garbage.
    4752                 :            :      This behavior is undocumented and Bison
    4753                 :            :      users should not rely upon it.  Assigning to YYVAL
    4754                 :            :      unconditionally makes the parser a bit smaller, and it avoids a
    4755                 :            :      GCC warning that YYVAL may be used uninitialized.  */
    4756                 :      59230 :   yyval = yyvsp[1-yylen];
    4757                 :            : 
    4758                 :            : 
    4759                 :            :   YY_REDUCE_PRINT (yyn);
    4760   [ +  -  -  -  :      59230 :   switch (yyn)
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  +  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  +  +  
          +  -  -  +  +  
          +  -  -  -  -  
          -  -  -  -  -  
          -  -  +  -  -  
          -  -  -  -  +  
          -  +  +  +  -  
          -  +  -  +  -  
          -  -  +  +  +  
          -  +  -  +  +  
          +  -  -  -  +  
          +  +  +  -  -  
          -  +  +  +  +  
          -  -  -  +  +  
          -  +  -  -  +  
          -  -  -  -  -  
          -  -  -  -  -  
          -  +  +  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          +  +  -  -  -  
          -  +  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  +  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  +  -  -  
          -  +  +  +  -  
          -  -  +  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          +  -  -  -  -  
          +  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
          -  -  -  -  -  
                -  -  + ]
    4761                 :            :     {
    4762                 :            :         case 2:
    4763                 :            : 
    4764         [ +  - ]:        558 :     { xxx_pGLOBAL_SQLPARSER->setParseTree( (yyvsp[(1) - (1)].pParseNode) ); }
    4765                 :        558 :     break;
    4766                 :            : 
    4767                 :            :   case 3:
    4768                 :            : 
    4769         [ #  # ]:          0 :     { xxx_pGLOBAL_SQLPARSER->setParseTree( (yyvsp[(1) - (2)].pParseNode) ); }
    4770                 :          0 :     break;
    4771                 :            : 
    4772                 :            :   case 5:
    4773                 :            : 
    4774                 :            :     {
    4775         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    4776         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    4777                 :            :            }
    4778                 :          0 :     break;
    4779                 :            : 
    4780                 :            :   case 10:
    4781                 :            : 
    4782         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4783         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    4784         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode));
    4785         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    4786 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4787         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
    4788 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
    4789                 :          0 :     break;
    4790                 :            : 
    4791                 :            :   case 11:
    4792                 :            : 
    4793         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    4794         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    4795                 :          0 :     break;
    4796                 :            : 
    4797                 :            :   case 12:
    4798                 :            : 
    4799         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    4800                 :          0 :                 (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    4801                 :          0 :     break;
    4802                 :            : 
    4803                 :            :   case 15:
    4804                 :            : 
    4805         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4806         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    4807         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    4808         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    4809                 :            :                         }
    4810                 :          0 :     break;
    4811                 :            : 
    4812                 :            :   case 16:
    4813                 :            : 
    4814         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_LISTRULE;}
    4815                 :          0 :     break;
    4816                 :            : 
    4817                 :            :   case 17:
    4818                 :            : 
    4819         [ #  # ]:          0 :     {(yyvsp[(1) - (2)].pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    4820                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (2)].pParseNode);}
    4821                 :          0 :     break;
    4822                 :            : 
    4823                 :            :   case 20:
    4824                 :            : 
    4825                 :            :     {
    4826         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    4827         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    4828         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    4829                 :            :                 }
    4830                 :          0 :     break;
    4831                 :            : 
    4832                 :            :   case 21:
    4833                 :            : 
    4834         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4835         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    4836         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    4837                 :          0 :     break;
    4838                 :            : 
    4839                 :            :   case 23:
    4840                 :            : 
    4841         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4842         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    4843         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    4844                 :          0 :     break;
    4845                 :            : 
    4846                 :            :   case 24:
    4847                 :            : 
    4848         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4849         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    4850         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    4851                 :          0 :     break;
    4852                 :            : 
    4853                 :            :   case 25:
    4854                 :            : 
    4855         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4856         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    4857         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    4858                 :          0 :     break;
    4859                 :            : 
    4860                 :            :   case 26:
    4861                 :            : 
    4862                 :            :     {
    4863         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    4864         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    4865         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    4866                 :            :                         }
    4867                 :          0 :     break;
    4868                 :            : 
    4869                 :            :   case 28:
    4870                 :            : 
    4871         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4872         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    4873 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4874         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    4875 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
    4876                 :          0 :     break;
    4877                 :            : 
    4878                 :            :   case 29:
    4879                 :            : 
    4880         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4881         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    4882         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    4883                 :          0 :     break;
    4884                 :            : 
    4885                 :            :   case 30:
    4886                 :            : 
    4887         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4888         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    4889         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    4890 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4891         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    4892 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
    4893                 :          0 :     break;
    4894                 :            : 
    4895                 :            :   case 31:
    4896                 :            : 
    4897         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4898         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    4899 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4900         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    4901 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
    4902                 :          0 :     break;
    4903                 :            : 
    4904                 :            :   case 32:
    4905                 :            : 
    4906         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4907         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    4908         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode));
    4909 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4910         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
    4911 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    4912         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
    4913         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));}
    4914                 :          0 :     break;
    4915                 :            : 
    4916                 :            :   case 33:
    4917                 :            : 
    4918         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4919         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (10)].pParseNode));
    4920         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (10)].pParseNode));
    4921 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (10)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4922         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (10)].pParseNode));
    4923 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (10)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    4924         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (10)].pParseNode));
    4925         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (10)].pParseNode));
    4926 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(8) - (10)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4927         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(9) - (10)].pParseNode));
    4928 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(10) - (10)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
    4929                 :          0 :     break;
    4930                 :            : 
    4931                 :            :   case 34:
    4932                 :            : 
    4933         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4934         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    4935 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4936         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    4937 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
    4938                 :          0 :     break;
    4939                 :            : 
    4940                 :            :   case 35:
    4941                 :            : 
    4942         [ +  - ]:        116 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    4943                 :        116 :     break;
    4944                 :            : 
    4945                 :            :   case 36:
    4946                 :            : 
    4947         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4948 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    4949         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    4950 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    4951                 :            :                 }
    4952                 :          0 :     break;
    4953                 :            : 
    4954                 :            :   case 37:
    4955                 :            : 
    4956         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    4957                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    4958                 :          0 :     break;
    4959                 :            : 
    4960                 :            :   case 38:
    4961                 :            : 
    4962         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    4963         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    4964                 :          0 :     break;
    4965                 :            : 
    4966                 :            :   case 39:
    4967                 :            : 
    4968         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4969         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    4970         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode));
    4971         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
    4972         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
    4973         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
    4974         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
    4975         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));}
    4976                 :          0 :     break;
    4977                 :            : 
    4978                 :            :   case 40:
    4979                 :            : 
    4980         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    4981                 :          0 :     break;
    4982                 :            : 
    4983                 :            :   case 41:
    4984                 :            : 
    4985         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4986         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    4987         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    4988         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
    4989                 :          0 :     break;
    4990                 :            : 
    4991                 :            :   case 42:
    4992                 :            : 
    4993         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    4994                 :          0 :     break;
    4995                 :            : 
    4996                 :            :   case 43:
    4997                 :            : 
    4998         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    4999 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    5000         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5001 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
    5002                 :          0 :     break;
    5003                 :            : 
    5004                 :            :   case 44:
    5005                 :            : 
    5006         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5007         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    5008         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode));
    5009         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
    5010         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
    5011         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
    5012         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
    5013         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));}
    5014                 :          0 :     break;
    5015                 :            : 
    5016                 :            :   case 45:
    5017                 :            : 
    5018         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5019                 :          0 :     break;
    5020                 :            : 
    5021                 :            :   case 46:
    5022                 :            : 
    5023         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5024         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5025         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5026         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
    5027                 :          0 :     break;
    5028                 :            : 
    5029                 :            :   case 47:
    5030                 :            : 
    5031         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5032         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5033         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5034                 :          0 :     break;
    5035                 :            : 
    5036                 :            :   case 49:
    5037                 :            : 
    5038         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5039         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5040                 :          0 :     break;
    5041                 :            : 
    5042                 :            :   case 50:
    5043                 :            : 
    5044         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5045                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5046                 :          0 :     break;
    5047                 :            : 
    5048                 :            :   case 52:
    5049                 :            : 
    5050         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5051         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5052         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5053                 :          0 :     break;
    5054                 :            : 
    5055                 :            :   case 54:
    5056                 :            : 
    5057         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5058         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5059         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5060                 :          0 :     break;
    5061                 :            : 
    5062                 :            :   case 55:
    5063                 :            : 
    5064         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5065         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5066         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5067                 :          0 :     break;
    5068                 :            : 
    5069                 :            :   case 57:
    5070                 :            : 
    5071         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5072         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5073                 :          0 :     break;
    5074                 :            : 
    5075                 :            :   case 58:
    5076                 :            : 
    5077         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5078                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5079                 :          0 :     break;
    5080                 :            : 
    5081                 :            :   case 61:
    5082                 :            : 
    5083         [ +  - ]:        460 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5084                 :        460 :     break;
    5085                 :            : 
    5086                 :            :   case 62:
    5087                 :            : 
    5088         [ +  - ]:         26 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5089         [ +  - ]:         26 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5090         [ +  - ]:         26 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5091         [ +  - ]:         26 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
    5092                 :         26 :     break;
    5093                 :            : 
    5094                 :            :   case 63:
    5095                 :            : 
    5096         [ +  - ]:         26 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5097         [ +  - ]:         26 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5098                 :         26 :     break;
    5099                 :            : 
    5100                 :            :   case 64:
    5101                 :            : 
    5102         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5103                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5104                 :          0 :     break;
    5105                 :            : 
    5106                 :            :   case 65:
    5107                 :            : 
    5108         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5109         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5110         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5111                 :          0 :     break;
    5112                 :            : 
    5113                 :            :   case 66:
    5114                 :            : 
    5115         [ +  - ]:         26 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5116         [ +  - ]:         26 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5117         [ +  - ]:         26 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5118                 :         26 :     break;
    5119                 :            : 
    5120                 :            :   case 67:
    5121                 :            : 
    5122         [ +  - ]:         26 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5123                 :         26 :     break;
    5124                 :            : 
    5125                 :            :   case 70:
    5126                 :            : 
    5127         [ +  - ]:        122 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5128                 :        122 :     break;
    5129                 :            : 
    5130                 :            :   case 80:
    5131                 :            : 
    5132                 :            :     {
    5133         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5134 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("{", SQL_NODE_PUNCTUATION));
    5135         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5136 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode("}", SQL_NODE_PUNCTUATION));
    5137                 :            :                 }
    5138                 :          0 :     break;
    5139                 :            : 
    5140                 :            :   case 82:
    5141                 :            : 
    5142                 :            :     {
    5143         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5144         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5145         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5146         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5147         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    5148                 :            :                 }
    5149                 :          0 :     break;
    5150                 :            : 
    5151                 :            :   case 83:
    5152                 :            : 
    5153         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5154         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5155         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5156                 :          0 :     break;
    5157                 :            : 
    5158                 :            :   case 84:
    5159                 :            : 
    5160         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5161         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5162         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5163         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5164         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));}
    5165                 :          0 :     break;
    5166                 :            : 
    5167                 :            :   case 85:
    5168                 :            : 
    5169         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5170         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5171         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5172         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5173         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));}
    5174                 :          0 :     break;
    5175                 :            : 
    5176                 :            :   case 86:
    5177                 :            : 
    5178         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5179         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    5180         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    5181         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    5182         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    5183         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));}
    5184                 :          0 :     break;
    5185                 :            : 
    5186                 :            :   case 87:
    5187                 :            : 
    5188         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5189         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5190 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    5191         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5192 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    5193                 :            :                 }
    5194                 :          0 :     break;
    5195                 :            : 
    5196                 :            :   case 88:
    5197                 :            : 
    5198         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5199         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5200                 :          0 :     break;
    5201                 :            : 
    5202                 :            :   case 89:
    5203                 :            : 
    5204         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5205                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5206                 :          0 :     break;
    5207                 :            : 
    5208                 :            :   case 93:
    5209                 :            : 
    5210         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5211         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5212         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5213                 :          0 :     break;
    5214                 :            : 
    5215                 :            :   case 94:
    5216                 :            : 
    5217         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5218         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    5219         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode));
    5220         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    5221         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
    5222         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
    5223         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode)); }
    5224                 :          0 :     break;
    5225                 :            : 
    5226                 :            :   case 95:
    5227                 :            : 
    5228         [ +  - ]:        486 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5229                 :        486 :     break;
    5230                 :            : 
    5231                 :            :   case 98:
    5232                 :            : 
    5233         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5234         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5235                 :          0 :     break;
    5236                 :            : 
    5237                 :            :   case 99:
    5238                 :            : 
    5239         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5240                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5241                 :          0 :     break;
    5242                 :            : 
    5243                 :            :   case 100:
    5244                 :            : 
    5245         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5246         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5247         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5248         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
    5249                 :          0 :     break;
    5250                 :            : 
    5251                 :            :   case 103:
    5252                 :            : 
    5253         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5254         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    5255         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    5256         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    5257         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    5258         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));}
    5259                 :          0 :     break;
    5260                 :            : 
    5261                 :            :   case 104:
    5262                 :            : 
    5263         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5264         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5265                 :          0 :     break;
    5266                 :            : 
    5267                 :            :   case 105:
    5268                 :            : 
    5269         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5270                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5271                 :          0 :     break;
    5272                 :            : 
    5273                 :            :   case 107:
    5274                 :            : 
    5275         [ +  - ]:        198 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5276                 :        198 :     break;
    5277                 :            : 
    5278                 :            :   case 109:
    5279                 :            : 
    5280                 :            :     {
    5281         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5282         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    5283                 :            :                 }
    5284                 :          0 :     break;
    5285                 :            : 
    5286                 :            :   case 110:
    5287                 :            : 
    5288                 :            :     {
    5289         [ +  - ]:        486 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5290         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5291         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5292         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5293         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    5294                 :            :                 }
    5295                 :        486 :     break;
    5296                 :            : 
    5297                 :            :   case 111:
    5298                 :            : 
    5299                 :            :     {
    5300         [ +  - ]:        278 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5301 [ +  - ][ +  - ]:        278 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
    5302                 :            :                 }
    5303                 :        278 :     break;
    5304                 :            : 
    5305                 :            :   case 113:
    5306                 :            : 
    5307         [ +  - ]:        486 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5308                 :        486 :     break;
    5309                 :            : 
    5310                 :            :   case 115:
    5311                 :            : 
    5312                 :            :     {
    5313         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    5314         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5315         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5316         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5317                 :            :         }
    5318                 :          0 :     break;
    5319                 :            : 
    5320                 :            :   case 116:
    5321                 :            : 
    5322         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5323                 :          0 :     break;
    5324                 :            : 
    5325                 :            :   case 122:
    5326                 :            : 
    5327         [ +  - ]:        486 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5328                 :        486 :     break;
    5329                 :            : 
    5330                 :            :   case 124:
    5331                 :            : 
    5332                 :            :     {
    5333         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    5334         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    5335         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    5336         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    5337         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    5338         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    5339                 :            :         }
    5340                 :          0 :     break;
    5341                 :            : 
    5342                 :            :   case 127:
    5343                 :            : 
    5344         [ +  - ]:        486 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5345                 :        486 :     break;
    5346                 :            : 
    5347                 :            :   case 129:
    5348                 :            : 
    5349         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5350                 :          0 :     break;
    5351                 :            : 
    5352                 :            :   case 130:
    5353                 :            : 
    5354                 :            :     {
    5355         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    5356         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5357         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5358                 :            :         }
    5359                 :          0 :     break;
    5360                 :            : 
    5361                 :            :   case 131:
    5362                 :            : 
    5363                 :            :     {
    5364         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    5365         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5366         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5367         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5368                 :            :         }
    5369                 :          0 :     break;
    5370                 :            : 
    5371                 :            :   case 132:
    5372                 :            : 
    5373                 :            :     {
    5374         [ +  - ]:        486 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5375         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(1) - (9)].pParseNode));
    5376         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(2) - (9)].pParseNode));
    5377         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(3) - (9)].pParseNode));
    5378         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(4) - (9)].pParseNode));
    5379         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(5) - (9)].pParseNode));
    5380         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(6) - (9)].pParseNode));
    5381         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(7) - (9)].pParseNode));
    5382         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(8) - (9)].pParseNode));
    5383         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(9) - (9)].pParseNode));
    5384                 :            :                 }
    5385                 :        486 :     break;
    5386                 :            : 
    5387                 :            :   case 133:
    5388                 :            : 
    5389         [ +  - ]:        486 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5390         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5391         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5392                 :        486 :     break;
    5393                 :            : 
    5394                 :            :   case 134:
    5395                 :            : 
    5396         [ +  - ]:        486 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5397         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5398                 :        486 :     break;
    5399                 :            : 
    5400                 :            :   case 135:
    5401                 :            : 
    5402         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5403                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5404                 :          0 :     break;
    5405                 :            : 
    5406                 :            :   case 136:
    5407                 :            : 
    5408         [ +  - ]:        116 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5409                 :        116 :     break;
    5410                 :            : 
    5411                 :            :   case 138:
    5412                 :            : 
    5413         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5414                 :          0 :     break;
    5415                 :            : 
    5416                 :            :   case 140:
    5417                 :            : 
    5418         [ +  - ]:        370 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5419                 :        370 :     break;
    5420                 :            : 
    5421                 :            :   case 141:
    5422                 :            : 
    5423         [ +  - ]:        116 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5424         [ +  - ]:        116 :                     (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5425         [ +  - ]:        116 :                     (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5426         [ +  - ]:        116 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5427                 :            :                 }
    5428                 :        116 :     break;
    5429                 :            : 
    5430                 :            :   case 142:
    5431                 :            : 
    5432                 :            :     {
    5433         [ +  - ]:        486 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5434         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5435         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5436                 :            :                 }
    5437                 :        486 :     break;
    5438                 :            : 
    5439                 :            :   case 143:
    5440                 :            : 
    5441                 :            :     {
    5442         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5443         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5444         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5445         [ #  # ]:          0 :                     (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5446                 :            :                 }
    5447                 :          0 :     break;
    5448                 :            : 
    5449                 :            :   case 145:
    5450                 :            : 
    5451                 :            :     {
    5452         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5453 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode) = newNode("{", SQL_NODE_PUNCTUATION));
    5454         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5455         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5456 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode("}", SQL_NODE_PUNCTUATION));
    5457                 :            :                 }
    5458                 :          0 :     break;
    5459                 :            : 
    5460                 :            :   case 146:
    5461                 :            : 
    5462                 :            :     {
    5463         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5464 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    5465         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5466 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    5467                 :            :                 }
    5468                 :          0 :     break;
    5469                 :            : 
    5470                 :            :   case 147:
    5471                 :            : 
    5472         [ +  - ]:        288 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5473         [ +  - ]:        288 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5474         [ +  - ]:        288 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5475                 :        288 :     break;
    5476                 :            : 
    5477                 :            :   case 148:
    5478                 :            : 
    5479         [ +  - ]:        426 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5480                 :        426 :     break;
    5481                 :            : 
    5482                 :            :   case 149:
    5483                 :            : 
    5484         [ +  - ]:         60 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5485         [ +  - ]:         60 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5486         [ +  - ]:         60 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5487         [ +  - ]:         60 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
    5488                 :         60 :     break;
    5489                 :            : 
    5490                 :            :   case 150:
    5491                 :            : 
    5492         [ +  - ]:         60 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5493         [ +  - ]:         60 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5494                 :         60 :     break;
    5495                 :            : 
    5496                 :            :   case 151:
    5497                 :            : 
    5498         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5499         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    5500                 :          0 :     break;
    5501                 :            : 
    5502                 :            :   case 152:
    5503                 :            : 
    5504         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5505                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5506                 :          0 :     break;
    5507                 :            : 
    5508                 :            :   case 153:
    5509                 :            : 
    5510         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5511                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    5512                 :          0 :     break;
    5513                 :            : 
    5514                 :            :   case 154:
    5515                 :            : 
    5516         [ +  - ]:        446 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5517                 :        446 :     break;
    5518                 :            : 
    5519                 :            :   case 155:
    5520                 :            : 
    5521         [ +  - ]:         40 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5522         [ +  - ]:         40 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5523         [ +  - ]:         40 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5524                 :         40 :     break;
    5525                 :            : 
    5526                 :            :   case 161:
    5527                 :            : 
    5528                 :            :     { // boolean_primary: rule 2
    5529         [ +  - ]:       1026 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5530 [ +  - ][ +  - ]:       1026 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    5531         [ +  - ]:       1026 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5532 [ +  - ][ +  - ]:       1026 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    5533                 :            :                 }
    5534                 :       1026 :     break;
    5535                 :            : 
    5536                 :            :   case 162:
    5537                 :            : 
    5538                 :            :     {
    5539         [ +  - ]:         72 :                 if(xxx_pGLOBAL_SQLPARSER->inPredicateCheck())// boolean_primary: rule 3
    5540                 :            :                         {
    5541         [ +  - ]:         72 :                             (yyval.pParseNode) = SQL_NEW_RULE;
    5542         [ +  - ]:         72 :                             sal_Int16 nErg = xxx_pGLOBAL_SQLPARSER->buildComparsionRule((yyval.pParseNode),(yyvsp[(1) - (1)].pParseNode));
    5543         [ +  - ]:         72 :                             if(nErg == 1)
    5544                 :            :                             {
    5545                 :         72 :                                     OSQLParseNode* pTemp = (yyval.pParseNode);
    5546         [ +  - ]:         72 :                                     (yyval.pParseNode) = pTemp->removeAt((sal_uInt32)0);
    5547 [ +  - ][ +  - ]:         72 :                                     delete pTemp;
    5548                 :            :                             }
    5549                 :            :                             else
    5550                 :            :                             {
    5551 [ #  # ][ #  # ]:          0 :                                     delete (yyval.pParseNode);
    5552         [ #  # ]:          0 :                                     if(nErg)
    5553                 :          0 :                                             YYERROR;
    5554                 :            :                                     else
    5555                 :          0 :                                             YYABORT;
    5556                 :            :                             }
    5557                 :            :                         }
    5558                 :            :                         else
    5559                 :          0 :                                 YYERROR;
    5560                 :            :                 }
    5561                 :         72 :     break;
    5562                 :            : 
    5563                 :            :   case 163:
    5564                 :            : 
    5565                 :            :     { // boolean_primary: rule 2
    5566         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    5567 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    5568         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5569 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    5570                 :            :         }
    5571                 :          0 :     break;
    5572                 :            : 
    5573                 :            :   case 165:
    5574                 :            : 
    5575                 :            :     {
    5576         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5577         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5578         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5579         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5580         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    5581                 :            :                 }
    5582                 :          0 :     break;
    5583                 :            : 
    5584                 :            :   case 167:
    5585                 :            : 
    5586                 :            :     { // boolean_factor: rule 1
    5587         [ #  # ]:          0 :                     (yyval.pParseNode) = SQL_NEW_RULE;
    5588         [ #  # ]:          0 :                     (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5589         [ #  # ]:          0 :                     (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5590                 :            :                 }
    5591                 :          0 :     break;
    5592                 :            : 
    5593                 :            :   case 169:
    5594                 :            : 
    5595                 :            :     {
    5596         [ +  - ]:        588 :                         (yyval.pParseNode) = SQL_NEW_RULE; // boolean_term: rule 1
    5597         [ +  - ]:        588 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5598         [ +  - ]:        588 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5599         [ +  - ]:        588 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5600                 :            :                 }
    5601                 :        588 :     break;
    5602                 :            : 
    5603                 :            :   case 171:
    5604                 :            : 
    5605                 :            :     {
    5606         [ +  - ]:        548 :                         (yyval.pParseNode) = SQL_NEW_RULE; // search_condition
    5607         [ +  - ]:        548 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5608         [ +  - ]:        548 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5609         [ +  - ]:        548 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5610                 :            :                 }
    5611                 :        548 :     break;
    5612                 :            : 
    5613                 :            :   case 180:
    5614                 :            : 
    5615                 :            :     {
    5616         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE; // comparison_predicate: rule 1
    5617         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5618         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5619                 :            :                 }
    5620                 :          0 :     break;
    5621                 :            : 
    5622                 :            :   case 181:
    5623                 :            : 
    5624                 :            :     {
    5625         [ +  - ]:       1346 :                         (yyval.pParseNode) = SQL_NEW_RULE; // comparison_predicate: rule 1
    5626         [ +  - ]:       1346 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5627         [ +  - ]:       1346 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5628         [ +  - ]:       1346 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5629                 :            :                 }
    5630                 :       1346 :     break;
    5631                 :            : 
    5632                 :            :   case 182:
    5633                 :            : 
    5634                 :            :     {
    5635         [ #  # ]:          0 :                         if(xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // comparison_predicate: rule 2
    5636                 :            :                         {
    5637         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    5638         [ #  # ]:          0 :                                 sal_Int16 nErg = xxx_pGLOBAL_SQLPARSER->buildPredicateRule((yyval.pParseNode),(yyvsp[(2) - (2)].pParseNode),(yyvsp[(1) - (2)].pParseNode));
    5639         [ #  # ]:          0 :                                 if(nErg == 1)
    5640                 :            :                                 {
    5641                 :          0 :                                         OSQLParseNode* pTemp = (yyval.pParseNode);
    5642         [ #  # ]:          0 :                                         (yyval.pParseNode) = pTemp->removeAt((sal_uInt32)0);
    5643 [ #  # ][ #  # ]:          0 :                                         delete pTemp;
    5644                 :            :                                 }
    5645                 :            :                                 else
    5646                 :            :                                 {
    5647 [ #  # ][ #  # ]:          0 :                                         delete (yyval.pParseNode);
    5648                 :          0 :                                         YYABORT;
    5649                 :            :                                 }
    5650                 :            :                         }
    5651                 :            :                         else
    5652                 :            :                         {
    5653                 :          0 :                                 YYERROR;
    5654                 :            :                         }
    5655                 :            :                 }
    5656                 :          0 :     break;
    5657                 :            : 
    5658                 :            :   case 189:
    5659                 :            : 
    5660                 :            :     {
    5661         [ #  # ]:          0 :                   (yyval.pParseNode) = SQL_NEW_RULE;
    5662         [ #  # ]:          0 :                   (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5663         [ #  # ]:          0 :                   (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5664         [ #  # ]:          0 :                   (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5665         [ #  # ]:          0 :                   (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    5666                 :            :                 }
    5667                 :          0 :     break;
    5668                 :            : 
    5669                 :            :   case 190:
    5670                 :            : 
    5671                 :            :     {
    5672         [ +  - ]:          2 :                   (yyval.pParseNode) = SQL_NEW_RULE;
    5673         [ +  - ]:          2 :                   (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5674         [ +  - ]:          2 :                   (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5675                 :            :                 }
    5676                 :          2 :     break;
    5677                 :            : 
    5678                 :            :   case 191:
    5679                 :            : 
    5680                 :            :     {
    5681         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // between_predicate: rule 2
    5682                 :            :                         {
    5683         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    5684                 :            : 
    5685         [ #  # ]:          0 :                                 sal_Int16 nErg = xxx_pGLOBAL_SQLPARSER->buildPredicateRule((yyval.pParseNode),(yyvsp[(3) - (5)].pParseNode),(yyvsp[(2) - (5)].pParseNode),(yyvsp[(5) - (5)].pParseNode));
    5686         [ #  # ]:          0 :                                 if(nErg == 1)
    5687                 :            :                                 {
    5688                 :          0 :                                         OSQLParseNode* pTemp = (yyval.pParseNode);
    5689         [ #  # ]:          0 :                                         (yyval.pParseNode) = pTemp->removeAt((sal_uInt32)0);
    5690         [ #  # ]:          0 :                                         OSQLParseNode* pColumnRef = (yyval.pParseNode)->removeAt((sal_uInt32)0);
    5691         [ #  # ]:          0 :                                         (yyval.pParseNode)->insert(0,(yyvsp[(1) - (5)].pParseNode));
    5692 [ #  # ][ #  # ]:          0 :                                         OSQLParseNode* pBetween_predicate = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::between_predicate));
                 [ #  # ]
    5693         [ #  # ]:          0 :                                         pBetween_predicate->append(pColumnRef);
    5694         [ #  # ]:          0 :                                         pBetween_predicate->append((yyval.pParseNode));
    5695                 :          0 :                                         (yyval.pParseNode) = pBetween_predicate;
    5696                 :            : 
    5697 [ #  # ][ #  # ]:          0 :                                         delete pTemp;
    5698 [ #  # ][ #  # ]:          0 :                                         delete (yyvsp[(4) - (5)].pParseNode);
    5699                 :            :                                 }
    5700                 :            :                                 else
    5701                 :            :                                 {
    5702 [ #  # ][ #  # ]:          0 :                                         delete (yyval.pParseNode);
    5703                 :          0 :                                         YYABORT;
    5704                 :            :                                 }
    5705                 :            :                         }
    5706                 :            :                         else
    5707                 :            :                         {
    5708         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE; // between_predicate: rule 1
    5709         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    5710         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    5711         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    5712         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    5713         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    5714                 :            :                         }
    5715                 :            :                 }
    5716                 :          0 :     break;
    5717                 :            : 
    5718                 :            :   case 192:
    5719                 :            : 
    5720                 :            :     {
    5721         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE; // between_predicate: rule 1
    5722         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5723         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5724                 :            :                 }
    5725                 :          0 :     break;
    5726                 :            : 
    5727                 :            :   case 194:
    5728                 :            : 
    5729                 :            :     {
    5730         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 1
    5731         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5732         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5733         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5734         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    5735                 :            :                 }
    5736                 :          0 :     break;
    5737                 :            : 
    5738                 :            :   case 195:
    5739                 :            : 
    5740                 :            :     {
    5741         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 1
    5742         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    5743         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5744         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5745         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    5746                 :            :                 }
    5747                 :          0 :     break;
    5748                 :            : 
    5749                 :            :   case 196:
    5750                 :            : 
    5751                 :            :     {
    5752         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 1
    5753         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5754         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5755                 :            :                 }
    5756                 :          0 :     break;
    5757                 :            : 
    5758                 :            :   case 197:
    5759                 :            : 
    5760                 :            :     {
    5761         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;  // like_predicate: rule 3
    5762         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5763         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5764                 :            :                 }
    5765                 :          0 :     break;
    5766                 :            : 
    5767                 :            :   case 198:
    5768                 :            : 
    5769                 :            :     {
    5770         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())  // like_predicate: rule 5
    5771                 :            :                         {
    5772 [ #  # ][ #  # ]:          0 :                                 OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
    5773 [ #  # ][ #  # ]:          0 :                                 pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
    5774                 :            : 
    5775         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    5776         [ #  # ]:          0 :                                 (yyval.pParseNode)->append(pColumnRef);
    5777         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    5778         [ #  # ]:          0 :                                 OSQLParseNode* p2nd = (yyvsp[(1) - (1)].pParseNode)->removeAt(2);
    5779         [ #  # ]:          0 :                                 OSQLParseNode* p3rd = (yyvsp[(1) - (1)].pParseNode)->removeAt(2);
    5780 [ #  # ][ #  # ]:          0 :                                 if ( !xxx_pGLOBAL_SQLPARSER->buildLikeRule((yyvsp[(1) - (1)].pParseNode),p2nd,p3rd) )
    5781                 :            :                                 {
    5782 [ #  # ][ #  # ]:          0 :                                         delete (yyval.pParseNode);
    5783                 :            :                                         YYABORT;
    5784                 :            :                                 }
    5785         [ #  # ]:          0 :                                 (yyvsp[(1) - (1)].pParseNode)->append(p3rd);
    5786                 :            :                         }
    5787                 :            :                         else
    5788                 :          0 :                                 YYERROR;
    5789                 :            :                 }
    5790                 :          0 :     break;
    5791                 :            : 
    5792                 :            :   case 199:
    5793                 :            : 
    5794                 :            :     {
    5795         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // like_predicate: rule 6
    5796                 :            :                         {
    5797 [ #  # ][ #  # ]:          0 :                                 OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
    5798 [ #  # ][ #  # ]:          0 :                                 pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
    5799                 :            : 
    5800         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    5801         [ #  # ]:          0 :                                 (yyval.pParseNode)->append(pColumnRef);
    5802         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    5803         [ #  # ]:          0 :                                 OSQLParseNode* p2nd = (yyvsp[(1) - (1)].pParseNode)->removeAt(2);
    5804         [ #  # ]:          0 :                                 OSQLParseNode* p3rd = (yyvsp[(1) - (1)].pParseNode)->removeAt(2);
    5805 [ #  # ][ #  # ]:          0 :                                 if ( !xxx_pGLOBAL_SQLPARSER->buildLikeRule((yyvsp[(1) - (1)].pParseNode),p2nd,p3rd) )
    5806                 :            :                                 {
    5807 [ #  # ][ #  # ]:          0 :                                         delete (yyval.pParseNode);
    5808                 :            :                                         YYABORT;
    5809                 :            :                                 }
    5810         [ #  # ]:          0 :                                 (yyvsp[(1) - (1)].pParseNode)->append(p3rd);
    5811                 :            :                         }
    5812                 :            :                         else
    5813                 :          0 :                                 YYERROR;
    5814                 :            :                 }
    5815                 :          0 :     break;
    5816                 :            : 
    5817                 :            :   case 200:
    5818                 :            : 
    5819         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    5820                 :          0 :     break;
    5821                 :            : 
    5822                 :            :   case 201:
    5823                 :            : 
    5824         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5825         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5826         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5827                 :          0 :     break;
    5828                 :            : 
    5829                 :            :   case 202:
    5830                 :            : 
    5831                 :            :     {
    5832         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5833 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode) = newNode("{", SQL_NODE_PUNCTUATION));
    5834         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    5835         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    5836 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode("}", SQL_NODE_PUNCTUATION));
    5837                 :            :                 }
    5838                 :          0 :     break;
    5839                 :            : 
    5840                 :            :   case 203:
    5841                 :            : 
    5842                 :            :     {
    5843         [ +  - ]:        120 :                 (yyval.pParseNode) = SQL_NEW_RULE; // test_for_null: rule 1
    5844         [ +  - ]:        120 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5845         [ +  - ]:        120 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5846         [ +  - ]:        120 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5847                 :            :         }
    5848                 :        120 :     break;
    5849                 :            : 
    5850                 :            :   case 204:
    5851                 :            : 
    5852                 :            :     {
    5853         [ +  - ]:        120 :                         (yyval.pParseNode) = SQL_NEW_RULE; // test_for_null: rule 1
    5854         [ +  - ]:        120 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5855         [ +  - ]:        120 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5856                 :            :                 }
    5857                 :        120 :     break;
    5858                 :            : 
    5859                 :            :   case 205:
    5860                 :            : 
    5861                 :            :     {
    5862         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())// test_for_null: rule 2
    5863                 :            :                         {
    5864 [ #  # ][ #  # ]:          0 :                                 OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
    5865 [ #  # ][ #  # ]:          0 :                                 pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
    5866                 :            : 
    5867         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    5868         [ #  # ]:          0 :                                 (yyval.pParseNode)->append(pColumnRef);
    5869         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    5870                 :            :                         }
    5871                 :            :                         else
    5872                 :          0 :                                 YYERROR;
    5873                 :            :                 }
    5874                 :          0 :     break;
    5875                 :            : 
    5876                 :            :   case 206:
    5877                 :            : 
    5878         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5879         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    5880                 :            :                 }
    5881                 :          0 :     break;
    5882                 :            : 
    5883                 :            :   case 207:
    5884                 :            : 
    5885         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5886 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    5887         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5888 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    5889                 :            :                 }
    5890                 :          0 :     break;
    5891                 :            : 
    5892                 :            :   case 208:
    5893                 :            : 
    5894                 :            :     {
    5895         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;// in_predicate: rule 1
    5896         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5897         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5898         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5899                 :            :         }
    5900                 :          0 :     break;
    5901                 :            : 
    5902                 :            :   case 209:
    5903                 :            : 
    5904                 :            :     {
    5905         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;// in_predicate: rule 1
    5906         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5907         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5908                 :            :                 }
    5909                 :          0 :     break;
    5910                 :            : 
    5911                 :            :   case 210:
    5912                 :            : 
    5913                 :            :     {
    5914         [ #  # ]:          0 :                         if ( xxx_pGLOBAL_SQLPARSER->inPredicateCheck() )// in_predicate: rule 2
    5915                 :            :                         {
    5916 [ #  # ][ #  # ]:          0 :                                 OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
    5917 [ #  # ][ #  # ]:          0 :                                 pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
    5918                 :            : 
    5919         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    5920         [ #  # ]:          0 :                                 (yyval.pParseNode)->append(pColumnRef);
    5921         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    5922                 :            :                         }
    5923                 :            :                         else
    5924                 :          0 :                                 YYERROR;
    5925                 :            :                 }
    5926                 :          0 :     break;
    5927                 :            : 
    5928                 :            :   case 211:
    5929                 :            : 
    5930                 :            :     {
    5931         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    5932         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    5933         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5934         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5935                 :            :         }
    5936                 :          0 :     break;
    5937                 :            : 
    5938                 :            :   case 212:
    5939                 :            : 
    5940                 :            :     {
    5941         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    5942         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5943         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    5944                 :            :                 }
    5945                 :          0 :     break;
    5946                 :            : 
    5947                 :            :   case 213:
    5948                 :            : 
    5949                 :            :     {
    5950         [ #  # ]:          0 :                         if(xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
    5951                 :            :                         {
    5952 [ #  # ][ #  # ]:          0 :                                 OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
    5953 [ #  # ][ #  # ]:          0 :                                 pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
    5954                 :            : 
    5955         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    5956         [ #  # ]:          0 :                                 (yyval.pParseNode)->append(pColumnRef);
    5957         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    5958                 :            :                         }
    5959                 :            :                         else
    5960                 :          0 :                                 YYERROR;
    5961                 :            :                 }
    5962                 :          0 :     break;
    5963                 :            : 
    5964                 :            :   case 217:
    5965                 :            : 
    5966         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5967         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5968         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5969                 :          0 :     break;
    5970                 :            : 
    5971                 :            :   case 218:
    5972                 :            : 
    5973         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5974         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    5975         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    5976                 :          0 :     break;
    5977                 :            : 
    5978                 :            :   case 219:
    5979                 :            : 
    5980         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    5981 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    5982         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    5983 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
    5984                 :          0 :     break;
    5985                 :            : 
    5986                 :            :   case 220:
    5987                 :            : 
    5988                 :            :     {
    5989         [ +  - ]:        208 :                         (yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    5990         [ +  - ]:        208 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    5991                 :            :                 }
    5992                 :        208 :     break;
    5993                 :            : 
    5994                 :            :   case 221:
    5995                 :            : 
    5996                 :            :     {
    5997         [ +  - ]:        232 :                         (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    5998                 :        232 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
    5999                 :            :                 }
    6000                 :        232 :     break;
    6001                 :            : 
    6002                 :            :   case 229:
    6003                 :            : 
    6004                 :            :     {
    6005         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
    6006                 :            :                         {
    6007         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    6008         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6009         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6010         [ #  # ]:          0 :                                 xxx_pGLOBAL_SQLPARSER->reduceLiteral((yyval.pParseNode), sal_True);
    6011                 :            :                         }
    6012                 :            :                         else
    6013                 :          0 :                                 YYERROR;
    6014                 :            :                 }
    6015                 :          0 :     break;
    6016                 :            : 
    6017                 :            :   case 230:
    6018                 :            : 
    6019                 :            :     {
    6020         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
    6021                 :            :                         {
    6022         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    6023         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6024         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6025         [ #  # ]:          0 :                                 xxx_pGLOBAL_SQLPARSER->reduceLiteral((yyval.pParseNode), sal_True);
    6026                 :            :                         }
    6027                 :            :                         else
    6028                 :          0 :                                 YYERROR;
    6029                 :            :                 }
    6030                 :          0 :     break;
    6031                 :            : 
    6032                 :            :   case 231:
    6033                 :            : 
    6034                 :            :     {
    6035         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
    6036                 :            :                         {
    6037         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    6038         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6039         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6040         [ #  # ]:          0 :                                 xxx_pGLOBAL_SQLPARSER->reduceLiteral((yyval.pParseNode), sal_True);
    6041                 :            :                         }
    6042                 :            :                         else
    6043                 :          0 :                                 YYERROR;
    6044                 :            :                 }
    6045                 :          0 :     break;
    6046                 :            : 
    6047                 :            :   case 232:
    6048                 :            : 
    6049                 :            :     {
    6050         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
    6051                 :            :                         {
    6052         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    6053         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6054         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6055         [ #  # ]:          0 :                                 xxx_pGLOBAL_SQLPARSER->reduceLiteral((yyval.pParseNode), sal_True);
    6056                 :            :                         }
    6057                 :            :                         else
    6058                 :          0 :                                 YYERROR;
    6059                 :            :                 }
    6060                 :          0 :     break;
    6061                 :            : 
    6062                 :            :   case 233:
    6063                 :            : 
    6064         [ +  - ]:        440 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6065                 :        440 :     break;
    6066                 :            : 
    6067                 :            :   case 234:
    6068                 :            : 
    6069                 :            :     {
    6070         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6071         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6072         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6073                 :            :                 }
    6074                 :          0 :     break;
    6075                 :            : 
    6076                 :            :   case 236:
    6077                 :            : 
    6078                 :            :     {
    6079         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6080         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    6081 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6082         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    6083         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
    6084         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
    6085 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6086                 :            :                 }
    6087                 :          0 :     break;
    6088                 :            : 
    6089                 :            :   case 237:
    6090                 :            : 
    6091                 :            :     {
    6092         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6093         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6094 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6095         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6096 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6097                 :            :                 }
    6098                 :          0 :     break;
    6099                 :            : 
    6100                 :            :   case 241:
    6101                 :            : 
    6102                 :            :     {
    6103         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6104         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6105 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6106         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6107 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6108                 :            :                 }
    6109                 :          0 :     break;
    6110                 :            : 
    6111                 :            :   case 242:
    6112                 :            : 
    6113                 :            :     {
    6114         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6115         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6116 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6117         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6118 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6119                 :            :                 }
    6120                 :          0 :     break;
    6121                 :            : 
    6122                 :            :   case 243:
    6123                 :            : 
    6124                 :            :     {
    6125         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6126         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6127 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6128         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6129 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6130                 :            :                 }
    6131                 :          0 :     break;
    6132                 :            : 
    6133                 :            :   case 244:
    6134                 :            : 
    6135                 :            :     {
    6136         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6137         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6138 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6139         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6140 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6141                 :            :                 }
    6142                 :          0 :     break;
    6143                 :            : 
    6144                 :            :   case 245:
    6145                 :            : 
    6146                 :            :     {
    6147         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6148         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6149                 :            :                 }
    6150                 :          0 :     break;
    6151                 :            : 
    6152                 :            :   case 246:
    6153                 :            : 
    6154                 :            :     {
    6155         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6156         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6157                 :            :                 }
    6158                 :          0 :     break;
    6159                 :            : 
    6160                 :            :   case 247:
    6161                 :            : 
    6162                 :            :     {
    6163         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6164         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6165                 :            :                 }
    6166                 :          0 :     break;
    6167                 :            : 
    6168                 :            :   case 248:
    6169                 :            : 
    6170                 :            :     {
    6171         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6172         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6173                 :            :                 }
    6174                 :          0 :     break;
    6175                 :            : 
    6176                 :            :   case 249:
    6177                 :            : 
    6178                 :            :     {
    6179         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6180         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6181                 :            :                 }
    6182                 :          0 :     break;
    6183                 :            : 
    6184                 :            :   case 253:
    6185                 :            : 
    6186                 :            :     {
    6187         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6188         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6189                 :            :                 }
    6190                 :          0 :     break;
    6191                 :            : 
    6192                 :            :   case 254:
    6193                 :            : 
    6194                 :            :     {
    6195         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6196         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6197                 :            :                 }
    6198                 :          0 :     break;
    6199                 :            : 
    6200                 :            :   case 255:
    6201                 :            : 
    6202                 :            :     {
    6203         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6204         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    6205 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6206         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    6207         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
    6208         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
    6209 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6210                 :            :                 }
    6211                 :          0 :     break;
    6212                 :            : 
    6213                 :            :   case 273:
    6214                 :            : 
    6215                 :            :     {
    6216         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6217 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("{", SQL_NODE_PUNCTUATION));
    6218         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6219 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode("}", SQL_NODE_PUNCTUATION));
    6220                 :            :                 }
    6221                 :          0 :     break;
    6222                 :            : 
    6223                 :            :   case 274:
    6224                 :            : 
    6225                 :            :     {
    6226         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6227         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6228 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6229 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6230                 :            :                 }
    6231                 :          0 :     break;
    6232                 :            : 
    6233                 :            :   case 275:
    6234                 :            : 
    6235                 :            :     {
    6236         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6237         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6238 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6239 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6240                 :            :                 }
    6241                 :          0 :     break;
    6242                 :            : 
    6243                 :            :   case 276:
    6244                 :            : 
    6245                 :            :     {
    6246         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6247         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6248 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6249         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6250 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6251                 :            :                 }
    6252                 :          0 :     break;
    6253                 :            : 
    6254                 :            :   case 277:
    6255                 :            : 
    6256                 :            :     {
    6257         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6258         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6259 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6260         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6261 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6262                 :            :                 }
    6263                 :          0 :     break;
    6264                 :            : 
    6265                 :            :   case 278:
    6266                 :            : 
    6267                 :            :     {
    6268         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6269         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6270 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6271         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6272 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6273                 :            :                 }
    6274                 :          0 :     break;
    6275                 :            : 
    6276                 :            :   case 279:
    6277                 :            : 
    6278                 :            :     {
    6279         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6280         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6281 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6282         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6283 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6284                 :            :                 }
    6285                 :          0 :     break;
    6286                 :            : 
    6287                 :            :   case 280:
    6288                 :            : 
    6289                 :            :     {
    6290         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6291         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6292 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6293         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6294 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6295                 :            :                 }
    6296                 :          0 :     break;
    6297                 :            : 
    6298                 :            :   case 281:
    6299                 :            : 
    6300                 :            :     {
    6301 [ #  # ][ #  # ]:          0 :                         if ( (yyvsp[(3) - (4)].pParseNode)->count() == 1 || (yyvsp[(3) - (4)].pParseNode)->count() == 2 )
                 [ #  # ]
    6302                 :            :                         {
    6303         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    6304         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6305 [ #  # ][ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6306         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6307 [ #  # ][ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6308                 :            :                         }
    6309                 :            :                         else
    6310                 :          0 :                                 YYERROR;
    6311                 :            :                 }
    6312                 :          0 :     break;
    6313                 :            : 
    6314                 :            :   case 282:
    6315                 :            : 
    6316                 :            :     {
    6317 [ #  # ][ #  # ]:          0 :                         if ( (yyvsp[(3) - (4)].pParseNode)->count() == 2 || (yyvsp[(3) - (4)].pParseNode)->count() == 3)
                 [ #  # ]
    6318                 :            :                         {
    6319         [ #  # ]:          0 :                                 (yyval.pParseNode) = SQL_NEW_RULE;
    6320         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6321 [ #  # ][ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6322         [ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6323 [ #  # ][ #  # ]:          0 :                                 (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6324                 :            :                         }
    6325                 :            :                         else
    6326                 :          0 :                                 YYERROR;
    6327                 :            :                 }
    6328                 :          0 :     break;
    6329                 :            : 
    6330                 :            :   case 361:
    6331                 :            : 
    6332                 :            :     {
    6333         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6334         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6335         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6336         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6337                 :            :         }
    6338                 :          0 :     break;
    6339                 :            : 
    6340                 :            :   case 362:
    6341                 :            : 
    6342                 :            :     {
    6343         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6344         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6345 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6346 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6347                 :            :                 }
    6348                 :          0 :     break;
    6349                 :            : 
    6350                 :            :   case 363:
    6351                 :            : 
    6352                 :            :     {
    6353         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6354         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6355 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6356 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6357                 :            :                 }
    6358                 :          0 :     break;
    6359                 :            : 
    6360                 :            :   case 369:
    6361                 :            : 
    6362                 :            :     {
    6363         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6364         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6365 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6366         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6367 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6368                 :            :         }
    6369                 :          0 :     break;
    6370                 :            : 
    6371                 :            :   case 374:
    6372                 :            : 
    6373         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6374                 :          0 :     break;
    6375                 :            : 
    6376                 :            :   case 375:
    6377                 :            : 
    6378                 :            :     {
    6379         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6380 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
    6381         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6382                 :            :                 }
    6383                 :          0 :     break;
    6384                 :            : 
    6385                 :            :   case 376:
    6386                 :            : 
    6387                 :            :     {
    6388         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6389 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
    6390         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    6391 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
    6392         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    6393                 :            :                 }
    6394                 :          0 :     break;
    6395                 :            : 
    6396                 :            :   case 377:
    6397                 :            : 
    6398         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6399                 :          0 :     break;
    6400                 :            : 
    6401                 :            :   case 379:
    6402                 :            : 
    6403                 :            :     {
    6404         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6405         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    6406 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6407         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    6408         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
    6409 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6410         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode));
    6411                 :            :         }
    6412                 :          0 :     break;
    6413                 :            : 
    6414                 :            :   case 387:
    6415                 :            : 
    6416                 :            :     {
    6417         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6418         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6419 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6420         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    6421 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6422         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    6423                 :            :         }
    6424                 :          0 :     break;
    6425                 :            : 
    6426                 :            :   case 390:
    6427                 :            : 
    6428         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6429                 :          0 :     break;
    6430                 :            : 
    6431                 :            :   case 392:
    6432                 :            : 
    6433                 :            :     {
    6434         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6435         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (8)].pParseNode));
    6436 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (8)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6437         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (8)].pParseNode));
    6438 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (8)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
    6439         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (8)].pParseNode));
    6440 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (8)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6441         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (8)].pParseNode));
    6442         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(8) - (8)].pParseNode));
    6443                 :            :         }
    6444                 :          0 :     break;
    6445                 :            : 
    6446                 :            :   case 395:
    6447                 :            : 
    6448                 :            :     {
    6449         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6450         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6451         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6452                 :            :                 }
    6453                 :          0 :     break;
    6454                 :            : 
    6455                 :            :   case 396:
    6456                 :            : 
    6457                 :            :     {
    6458         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6459         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6460         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6461                 :            :                 }
    6462                 :          0 :     break;
    6463                 :            : 
    6464                 :            :   case 401:
    6465                 :            : 
    6466         [ +  - ]:        486 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6467                 :        486 :     break;
    6468                 :            : 
    6469                 :            :   case 403:
    6470                 :            : 
    6471                 :            :     {
    6472         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6473         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6474         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6475                 :            :         }
    6476                 :          0 :     break;
    6477                 :            : 
    6478                 :            :   case 404:
    6479                 :            : 
    6480         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6481                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    6482                 :          0 :     break;
    6483                 :            : 
    6484                 :            :   case 405:
    6485                 :            : 
    6486         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    6487         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    6488                 :          0 :     break;
    6489                 :            : 
    6490                 :            :   case 406:
    6491                 :            : 
    6492                 :            :     {
    6493         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6494         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6495         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6496         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6497                 :            :         }
    6498                 :          0 :     break;
    6499                 :            : 
    6500                 :            :   case 408:
    6501                 :            : 
    6502                 :            :     {
    6503         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6504 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6505         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6506 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6507                 :            :         }
    6508                 :          0 :     break;
    6509                 :            : 
    6510                 :            :   case 409:
    6511                 :            : 
    6512         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6513                 :          0 :     break;
    6514                 :            : 
    6515                 :            :   case 411:
    6516                 :            : 
    6517         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6518                 :          0 :     break;
    6519                 :            : 
    6520                 :            :   case 413:
    6521                 :            : 
    6522         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6523                 :          0 :     break;
    6524                 :            : 
    6525                 :            :   case 417:
    6526                 :            : 
    6527                 :            :     {
    6528         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6529         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6530         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6531         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6532                 :            :         }
    6533                 :          0 :     break;
    6534                 :            : 
    6535                 :            :   case 418:
    6536                 :            : 
    6537         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6538                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    6539                 :          0 :     break;
    6540                 :            : 
    6541                 :            :   case 419:
    6542                 :            : 
    6543         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    6544         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    6545                 :          0 :     break;
    6546                 :            : 
    6547                 :            :   case 420:
    6548                 :            : 
    6549                 :            :     {
    6550         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6551         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6552         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6553                 :            :         }
    6554                 :          0 :     break;
    6555                 :            : 
    6556                 :            :   case 421:
    6557                 :            : 
    6558         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6559                 :          0 :     break;
    6560                 :            : 
    6561                 :            :   case 423:
    6562                 :            : 
    6563                 :            :     {
    6564         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6565         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6566         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6567         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6568                 :            :         }
    6569                 :          0 :     break;
    6570                 :            : 
    6571                 :            :   case 428:
    6572                 :            : 
    6573                 :            :     {
    6574         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6575         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6576         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6577                 :            :                 }
    6578                 :          0 :     break;
    6579                 :            : 
    6580                 :            :   case 430:
    6581                 :            : 
    6582                 :            :     {
    6583         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6584         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6585         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6586                 :            :                 }
    6587                 :          0 :     break;
    6588                 :            : 
    6589                 :            :   case 431:
    6590                 :            : 
    6591                 :            :     {
    6592         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6593         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6594         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6595                 :            :         }
    6596                 :          0 :     break;
    6597                 :            : 
    6598                 :            :   case 432:
    6599                 :            : 
    6600                 :            :     {
    6601         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6602         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6603         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    6604         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6605         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    6606                 :            :         }
    6607                 :          0 :     break;
    6608                 :            : 
    6609                 :            :   case 436:
    6610                 :            : 
    6611                 :            :     {
    6612         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6613         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6614         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6615                 :            :         }
    6616                 :          0 :     break;
    6617                 :            : 
    6618                 :            :   case 438:
    6619                 :            : 
    6620                 :            :     {
    6621         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6622         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6623         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6624                 :            :         }
    6625                 :          0 :     break;
    6626                 :            : 
    6627                 :            :   case 439:
    6628                 :            : 
    6629                 :            :     {
    6630         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6631         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6632         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6633         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6634                 :            :                 }
    6635                 :          0 :     break;
    6636                 :            : 
    6637                 :            :   case 440:
    6638                 :            : 
    6639                 :            :     {
    6640         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6641         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6642         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6643                 :            :                 }
    6644                 :          0 :     break;
    6645                 :            : 
    6646                 :            :   case 441:
    6647                 :            : 
    6648                 :            :     {
    6649         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6650         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6651         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6652                 :            :                 }
    6653                 :          0 :     break;
    6654                 :            : 
    6655                 :            :   case 442:
    6656                 :            : 
    6657                 :            :     {
    6658         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6659         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    6660         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6661         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6662                 :            :                 }
    6663                 :          0 :     break;
    6664                 :            : 
    6665                 :            :   case 443:
    6666                 :            : 
    6667         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6668                 :          0 :     break;
    6669                 :            : 
    6670                 :            :   case 444:
    6671                 :            : 
    6672                 :            :     {
    6673         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6674 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode("?", SQL_NODE_PUNCTUATION));
    6675         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6676                 :            :                 }
    6677                 :          0 :     break;
    6678                 :            : 
    6679                 :            :   case 445:
    6680                 :            : 
    6681                 :            :     {
    6682         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6683         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6684         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    6685         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6686         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    6687                 :            :                 }
    6688                 :          0 :     break;
    6689                 :            : 
    6690                 :            :   case 446:
    6691                 :            : 
    6692         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6693                 :          0 :     break;
    6694                 :            : 
    6695                 :            :   case 447:
    6696                 :            : 
    6697                 :            :     {
    6698         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6699 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6700         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6701 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6702                 :            :                 }
    6703                 :          0 :     break;
    6704                 :            : 
    6705                 :            :   case 448:
    6706                 :            : 
    6707         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    6708         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    6709                 :          0 :     break;
    6710                 :            : 
    6711                 :            :   case 449:
    6712                 :            : 
    6713                 :            :     {
    6714         [ #  # ]:          0 :                         (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    6715                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
    6716                 :            :                 }
    6717                 :          0 :     break;
    6718                 :            : 
    6719                 :            :   case 450:
    6720                 :            : 
    6721         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6722                 :          0 :     break;
    6723                 :            : 
    6724                 :            :   case 453:
    6725                 :            : 
    6726                 :            :     {
    6727         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6728         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6729         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6730                 :            :                 }
    6731                 :          0 :     break;
    6732                 :            : 
    6733                 :            :   case 454:
    6734                 :            : 
    6735                 :            :     {
    6736         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6737         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6738         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6739                 :            :                 }
    6740                 :          0 :     break;
    6741                 :            : 
    6742                 :            :   case 458:
    6743                 :            : 
    6744                 :            :     {
    6745         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6746         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6747 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6748         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    6749         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    6750 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6751                 :            :                 }
    6752                 :          0 :     break;
    6753                 :            : 
    6754                 :            :   case 459:
    6755                 :            : 
    6756                 :            :     {
    6757         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6758         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6759 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6760 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
    6761 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6762                 :            :                 }
    6763                 :          0 :     break;
    6764                 :            : 
    6765                 :            :   case 460:
    6766                 :            : 
    6767                 :            :     {
    6768         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6769         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6770 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6771         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    6772         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    6773 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6774                 :            :                 }
    6775                 :          0 :     break;
    6776                 :            : 
    6777                 :            :   case 479:
    6778                 :            : 
    6779                 :            :     {
    6780         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6781         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6782 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6783         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    6784 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6785         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    6786                 :            :                 }
    6787                 :          0 :     break;
    6788                 :            : 
    6789                 :            :   case 480:
    6790                 :            : 
    6791                 :            :     {
    6792         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6793         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    6794 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6795         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
    6796         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
    6797         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
    6798 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6799         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));
    6800                 :            :         }
    6801                 :          0 :     break;
    6802                 :            : 
    6803                 :            :   case 481:
    6804                 :            : 
    6805                 :            :     {
    6806         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6807                 :            :         }
    6808                 :          0 :     break;
    6809                 :            : 
    6810                 :            :   case 482:
    6811                 :            : 
    6812                 :            :     {
    6813         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6814         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6815         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    6816 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6817         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    6818 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6819                 :            :         }
    6820                 :          0 :     break;
    6821                 :            : 
    6822                 :            :   case 484:
    6823                 :            : 
    6824                 :            :     {
    6825         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6826         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6827 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6828         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    6829 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6830                 :            :         }
    6831                 :          0 :     break;
    6832                 :            : 
    6833                 :            :   case 488:
    6834                 :            : 
    6835                 :            :     {
    6836         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    6837         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6838 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6839         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    6840         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    6841 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6842                 :            :         }
    6843                 :          0 :     break;
    6844                 :            : 
    6845                 :            :   case 493:
    6846                 :            : 
    6847                 :            :     {
    6848         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6849         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6850                 :            :                 }
    6851                 :          0 :     break;
    6852                 :            : 
    6853                 :            :   case 494:
    6854                 :            : 
    6855                 :            :     {
    6856         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6857         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6858                 :            :                 }
    6859                 :          0 :     break;
    6860                 :            : 
    6861                 :            :   case 495:
    6862                 :            : 
    6863                 :            :     {
    6864         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6865         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6866                 :            :                 }
    6867                 :          0 :     break;
    6868                 :            : 
    6869                 :            :   case 496:
    6870                 :            : 
    6871                 :            :     {
    6872         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6873         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6874         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6875                 :            :                 }
    6876                 :          0 :     break;
    6877                 :            : 
    6878                 :            :   case 499:
    6879                 :            : 
    6880         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6881                 :          0 :     break;
    6882                 :            : 
    6883                 :            :   case 500:
    6884                 :            : 
    6885                 :            :     {
    6886         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6887         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    6888                 :            :                 }
    6889                 :          0 :     break;
    6890                 :            : 
    6891                 :            :   case 502:
    6892                 :            : 
    6893                 :            :     {
    6894         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6895         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    6896         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    6897                 :            :                 }
    6898                 :          0 :     break;
    6899                 :            : 
    6900                 :            :   case 503:
    6901                 :            : 
    6902                 :            :     {
    6903         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6904         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6905         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    6906         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6907         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    6908                 :            :                 }
    6909                 :          0 :     break;
    6910                 :            : 
    6911                 :            :   case 504:
    6912                 :            : 
    6913                 :            :     {
    6914         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6915         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6916         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    6917         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    6918         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    6919         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    6920                 :            :                 }
    6921                 :          0 :     break;
    6922                 :            : 
    6923                 :            :   case 505:
    6924                 :            : 
    6925                 :            :     {
    6926         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6927         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    6928         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    6929         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    6930         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    6931         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    6932                 :            :                 }
    6933                 :          0 :     break;
    6934                 :            : 
    6935                 :            :   case 508:
    6936                 :            : 
    6937                 :            :     {
    6938         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6939         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6940 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6941         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6942 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6943                 :            :                 }
    6944                 :          0 :     break;
    6945                 :            : 
    6946                 :            :   case 512:
    6947                 :            : 
    6948                 :            :     {
    6949         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6950 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    6951         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    6952 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    6953                 :            :                 }
    6954                 :          0 :     break;
    6955                 :            : 
    6956                 :            :   case 514:
    6957                 :            : 
    6958                 :            :     {
    6959         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6960         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6961         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    6962         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6963         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    6964                 :            :                 }
    6965                 :          0 :     break;
    6966                 :            : 
    6967                 :            :   case 517:
    6968                 :            : 
    6969                 :            :     {
    6970         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6971         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6972         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    6973         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6974         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    6975                 :            :                 }
    6976                 :          0 :     break;
    6977                 :            : 
    6978                 :            :   case 518:
    6979                 :            : 
    6980                 :            :     {
    6981         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6982         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    6983         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    6984         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    6985         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    6986                 :            :                 }
    6987                 :          0 :     break;
    6988                 :            : 
    6989                 :            :   case 519:
    6990                 :            : 
    6991         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    6992                 :          0 :     break;
    6993                 :            : 
    6994                 :            :   case 526:
    6995                 :            : 
    6996                 :            :     {
    6997         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    6998         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    6999 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7000         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    7001         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
    7002         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
    7003 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7004                 :            :                 }
    7005                 :          0 :     break;
    7006                 :            : 
    7007                 :            :   case 533:
    7008                 :            : 
    7009                 :            :     {
    7010         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7011 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7012         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7013 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7014                 :            :                 }
    7015                 :          0 :     break;
    7016                 :            : 
    7017                 :            :   case 538:
    7018                 :            : 
    7019                 :            :     {
    7020         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7021 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode("-", SQL_NODE_PUNCTUATION));
    7022         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7023                 :            :                 }
    7024                 :          0 :     break;
    7025                 :            : 
    7026                 :            :   case 539:
    7027                 :            : 
    7028                 :            :     {
    7029         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7030 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode("+", SQL_NODE_PUNCTUATION));
    7031         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7032                 :            :                 }
    7033                 :          0 :     break;
    7034                 :            : 
    7035                 :            :   case 541:
    7036                 :            : 
    7037                 :            :     {
    7038         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7039         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7040 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
    7041         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7042                 :            :                 }
    7043                 :          0 :     break;
    7044                 :            : 
    7045                 :            :   case 542:
    7046                 :            : 
    7047                 :            :     {
    7048         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7049         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7050 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("/", SQL_NODE_PUNCTUATION));
    7051         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7052                 :            :                 }
    7053                 :          0 :     break;
    7054                 :            : 
    7055                 :            :   case 544:
    7056                 :            : 
    7057                 :            :     {
    7058         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7059         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7060 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("+", SQL_NODE_PUNCTUATION));
    7061         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7062                 :            :                 }
    7063                 :          0 :     break;
    7064                 :            : 
    7065                 :            :   case 545:
    7066                 :            : 
    7067                 :            :     {
    7068         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7069         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7070 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("-", SQL_NODE_PUNCTUATION));
    7071         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7072                 :            :                 }
    7073                 :          0 :     break;
    7074                 :            : 
    7075                 :            :   case 546:
    7076                 :            : 
    7077                 :            :     {
    7078         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7079         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7080                 :            :                 }
    7081                 :          0 :     break;
    7082                 :            : 
    7083                 :            :   case 547:
    7084                 :            : 
    7085                 :            :     {
    7086         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7087         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7088                 :            :                 }
    7089                 :          0 :     break;
    7090                 :            : 
    7091                 :            :   case 548:
    7092                 :            : 
    7093                 :            :     {
    7094         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7095         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7096                 :            :                 }
    7097                 :          0 :     break;
    7098                 :            : 
    7099                 :            :   case 549:
    7100                 :            : 
    7101                 :            :     {
    7102         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7103         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7104                 :            :                 }
    7105                 :          0 :     break;
    7106                 :            : 
    7107                 :            :   case 550:
    7108                 :            : 
    7109                 :            :     {
    7110         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7111         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7112         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7113                 :            :                 }
    7114                 :          0 :     break;
    7115                 :            : 
    7116                 :            :   case 551:
    7117                 :            : 
    7118                 :            :     {
    7119         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7120         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7121                 :            :                 }
    7122                 :          0 :     break;
    7123                 :            : 
    7124                 :            :   case 552:
    7125                 :            : 
    7126                 :            :     {
    7127         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7128         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7129                 :            :                 }
    7130                 :          0 :     break;
    7131                 :            : 
    7132                 :            :   case 553:
    7133                 :            : 
    7134                 :            :     {
    7135         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7136         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7137         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7138                 :            :                 }
    7139                 :          0 :     break;
    7140                 :            : 
    7141                 :            :   case 554:
    7142                 :            : 
    7143                 :            :     {
    7144         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7145         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7146                 :            :                 }
    7147                 :          0 :     break;
    7148                 :            : 
    7149                 :            :   case 555:
    7150                 :            : 
    7151                 :            :     {
    7152         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7153         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7154                 :            :                 }
    7155                 :          0 :     break;
    7156                 :            : 
    7157                 :            :   case 561:
    7158                 :            : 
    7159                 :            :     {
    7160         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7161         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7162         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7163                 :            :                 }
    7164                 :          0 :     break;
    7165                 :            : 
    7166                 :            :   case 563:
    7167                 :            : 
    7168                 :            :     {
    7169         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7170         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7171         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7172                 :            :                 }
    7173                 :          0 :     break;
    7174                 :            : 
    7175                 :            :   case 564:
    7176                 :            : 
    7177                 :            :     {
    7178         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7179         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7180         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7181                 :            :                 }
    7182                 :          0 :     break;
    7183                 :            : 
    7184                 :            :   case 565:
    7185                 :            : 
    7186                 :            :     {
    7187         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7188         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7189         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7190                 :            :                 }
    7191                 :          0 :     break;
    7192                 :            : 
    7193                 :            :   case 566:
    7194                 :            : 
    7195                 :            :     {
    7196         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7197         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7198         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7199         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7200                 :            :                 }
    7201                 :          0 :     break;
    7202                 :            : 
    7203                 :            :   case 568:
    7204                 :            : 
    7205         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    7206         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7207         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
    7208                 :          0 :     break;
    7209                 :            : 
    7210                 :            :   case 569:
    7211                 :            : 
    7212                 :            :     {
    7213         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    7214         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    7215         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    7216         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    7217                 :            :                 }
    7218                 :          0 :     break;
    7219                 :            : 
    7220                 :            :   case 570:
    7221                 :            : 
    7222                 :            :     {
    7223         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    7224         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    7225         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
    7226         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
    7227         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));
    7228                 :            :                 }
    7229                 :          0 :     break;
    7230                 :            : 
    7231                 :            :   case 571:
    7232                 :            : 
    7233         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    7234         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    7235                 :          0 :     break;
    7236                 :            : 
    7237                 :            :   case 572:
    7238                 :            : 
    7239         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7240                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    7241                 :          0 :     break;
    7242                 :            : 
    7243                 :            :   case 573:
    7244                 :            : 
    7245                 :            :     {
    7246         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
    7247                 :            :                         {
    7248         [ #  # ]:          0 :                                 (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7249                 :          0 :                                 (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
    7250                 :            :                         }
    7251                 :            :                         else
    7252                 :          0 :                                 YYERROR;
    7253                 :            :                 }
    7254                 :          0 :     break;
    7255                 :            : 
    7256                 :            :   case 575:
    7257                 :            : 
    7258                 :            :     {
    7259         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7260         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7261         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7262         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7263                 :            :                 }
    7264                 :          0 :     break;
    7265                 :            : 
    7266                 :            :   case 576:
    7267                 :            : 
    7268                 :            :     {
    7269         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7270         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    7271         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    7272         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    7273         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    7274                 :            :                 }
    7275                 :          0 :     break;
    7276                 :            : 
    7277                 :            :   case 577:
    7278                 :            : 
    7279                 :            :     {
    7280         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7281         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7282         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7283         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7284                 :            :                 }
    7285                 :          0 :     break;
    7286                 :            : 
    7287                 :            :   case 578:
    7288                 :            : 
    7289         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    7290         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    7291                 :          0 :     break;
    7292                 :            : 
    7293                 :            :   case 579:
    7294                 :            : 
    7295         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7296                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    7297                 :          0 :     break;
    7298                 :            : 
    7299                 :            :   case 580:
    7300                 :            : 
    7301                 :            :     {
    7302         [ #  # ]:          0 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
    7303                 :            :                         {
    7304         [ #  # ]:          0 :                                 (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7305                 :          0 :                                 (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
    7306                 :            :                         }
    7307                 :            :                         else
    7308                 :          0 :                                 YYERROR;
    7309                 :            :                 }
    7310                 :          0 :     break;
    7311                 :            : 
    7312                 :            :   case 583:
    7313                 :            : 
    7314                 :            :     {
    7315         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7316         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7317                 :            :                 }
    7318                 :          0 :     break;
    7319                 :            : 
    7320                 :            :   case 587:
    7321                 :            : 
    7322                 :            :     {
    7323         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7324         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7325 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("+", SQL_NODE_PUNCTUATION));
    7326         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7327                 :            :                 }
    7328                 :          0 :     break;
    7329                 :            : 
    7330                 :            :   case 588:
    7331                 :            : 
    7332                 :            :     {
    7333         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7334         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7335         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7336         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7337                 :            :                 }
    7338                 :          0 :     break;
    7339                 :            : 
    7340                 :            :   case 591:
    7341                 :            : 
    7342                 :            :     {
    7343         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7344         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7345         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7346                 :            :                 }
    7347                 :          0 :     break;
    7348                 :            : 
    7349                 :            :   case 593:
    7350                 :            : 
    7351                 :            :     {
    7352         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7353         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7354         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7355                 :            :                 }
    7356                 :          0 :     break;
    7357                 :            : 
    7358                 :            :   case 596:
    7359                 :            : 
    7360                 :            :     {
    7361         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7362         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7363                 :            :                 }
    7364                 :          0 :     break;
    7365                 :            : 
    7366                 :            :   case 597:
    7367                 :            : 
    7368                 :            :     {
    7369         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7370         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    7371 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7372         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
    7373         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
    7374         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
    7375         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
    7376 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7377                 :            :                 }
    7378                 :          0 :     break;
    7379                 :            : 
    7380                 :            :   case 598:
    7381                 :            : 
    7382                 :            :     {
    7383         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7384         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7385                 :            :                 }
    7386                 :          0 :     break;
    7387                 :            : 
    7388                 :            :   case 599:
    7389                 :            : 
    7390                 :            :     {
    7391         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7392         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7393                 :            :                 }
    7394                 :          0 :     break;
    7395                 :            : 
    7396                 :            :   case 600:
    7397                 :            : 
    7398         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    7399                 :          0 :     break;
    7400                 :            : 
    7401                 :            :   case 603:
    7402                 :            : 
    7403                 :            :     {
    7404         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7405         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7406                 :            :                 }
    7407                 :          0 :     break;
    7408                 :            : 
    7409                 :            :   case 604:
    7410                 :            : 
    7411                 :            :     {
    7412         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7413         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7414                 :            :                 }
    7415                 :          0 :     break;
    7416                 :            : 
    7417                 :            :   case 605:
    7418                 :            : 
    7419                 :            :     {
    7420         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7421         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    7422                 :            :                 }
    7423                 :          0 :     break;
    7424                 :            : 
    7425                 :            :   case 606:
    7426                 :            : 
    7427         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    7428                 :          0 :     break;
    7429                 :            : 
    7430                 :            :   case 607:
    7431                 :            : 
    7432                 :            :     {
    7433         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7434         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7435         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7436                 :            :                 }
    7437                 :          0 :     break;
    7438                 :            : 
    7439                 :            :   case 608:
    7440                 :            : 
    7441                 :            :     {
    7442         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7443         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    7444 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7445         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
    7446         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
    7447         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
    7448         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
    7449 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7450                 :            :                 }
    7451                 :          0 :     break;
    7452                 :            : 
    7453                 :            :   case 609:
    7454                 :            : 
    7455                 :            :     {
    7456         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7457         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7458 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7459         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7460 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7461                 :            :                 }
    7462                 :          0 :     break;
    7463                 :            : 
    7464                 :            :   case 612:
    7465                 :            : 
    7466                 :            :     {
    7467         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7468         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7469 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7470         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7471 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7472                 :            :                 }
    7473                 :          0 :     break;
    7474                 :            : 
    7475                 :            :   case 613:
    7476                 :            : 
    7477                 :            :     {
    7478         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7479         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    7480 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7481         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    7482         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
    7483         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
    7484 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7485                 :            :                 }
    7486                 :          0 :     break;
    7487                 :            : 
    7488                 :            :   case 614:
    7489                 :            : 
    7490                 :            :     {
    7491         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7492         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    7493 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7494         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    7495 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
    7496         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
    7497 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7498                 :            :                 }
    7499                 :          0 :     break;
    7500                 :            : 
    7501                 :            :   case 615:
    7502                 :            : 
    7503                 :            :     {
    7504         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7505         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
    7506 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7507         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
    7508         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
    7509         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
    7510 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7511                 :            :                 }
    7512                 :          0 :     break;
    7513                 :            : 
    7514                 :            :   case 616:
    7515                 :            : 
    7516                 :            :     {
    7517         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7518         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7519 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7520         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7521 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7522                 :            :                 }
    7523                 :          0 :     break;
    7524                 :            : 
    7525                 :            :   case 617:
    7526                 :            : 
    7527                 :            :     {
    7528         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7529         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7530         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    7531         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7532         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    7533                 :            :                 }
    7534                 :          0 :     break;
    7535                 :            : 
    7536                 :            :   case 618:
    7537                 :            : 
    7538                 :            :     {
    7539         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7540         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7541         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7542         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7543                 :            :                 }
    7544                 :          0 :     break;
    7545                 :            : 
    7546                 :            :   case 619:
    7547                 :            : 
    7548                 :            :     {
    7549         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7550         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7551         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7552         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7553                 :            :                 }
    7554                 :          0 :     break;
    7555                 :            : 
    7556                 :            :   case 620:
    7557                 :            : 
    7558                 :            :     {
    7559         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7560         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7561         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7562                 :            :                 }
    7563                 :          0 :     break;
    7564                 :            : 
    7565                 :            :   case 625:
    7566                 :            : 
    7567                 :            :     {
    7568         [ +  - ]:        440 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7569         [ +  - ]:        440 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7570         [ +  - ]:        440 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7571                 :            :                 }
    7572                 :        440 :     break;
    7573                 :            : 
    7574                 :            :   case 629:
    7575                 :            : 
    7576                 :            :     {
    7577         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7578         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7579 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7580         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7581                 :            :                 }
    7582                 :          0 :     break;
    7583                 :            : 
    7584                 :            :   case 630:
    7585                 :            : 
    7586                 :            :     {
    7587         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7588         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7589 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(":", SQL_NODE_PUNCTUATION));
    7590         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7591                 :            :                 }
    7592                 :          0 :     break;
    7593                 :            : 
    7594                 :            :   case 631:
    7595                 :            : 
    7596                 :            :     {
    7597         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7598         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7599 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7600         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7601                 :            :                 }
    7602                 :          0 :     break;
    7603                 :            : 
    7604                 :            :   case 632:
    7605                 :            : 
    7606         [ +  - ]:        486 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    7607         [ +  - ]:        486 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    7608                 :        486 :     break;
    7609                 :            : 
    7610                 :            :   case 633:
    7611                 :            : 
    7612         [ +  - ]:       1690 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    7613         [ +  - ]:       1690 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    7614                 :       1690 :     break;
    7615                 :            : 
    7616                 :            :   case 634:
    7617                 :            : 
    7618         [ +  - ]:        142 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    7619         [ +  - ]:        142 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7620 [ +  - ][ +  - ]:        142 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7621         [ +  - ]:        142 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7622                 :            :                         }
    7623                 :        142 :     break;
    7624                 :            : 
    7625                 :            :   case 635:
    7626                 :            : 
    7627         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    7628         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    7629 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7630         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    7631 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7632         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));}
    7633                 :          0 :     break;
    7634                 :            : 
    7635                 :            :   case 636:
    7636                 :            : 
    7637         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    7638         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    7639 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode)= newNode(".", SQL_NODE_PUNCTUATION));
    7640         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
    7641 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7642         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
    7643 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7644         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));
    7645                 :            :                         }
    7646                 :          0 :     break;
    7647                 :            : 
    7648                 :            :   case 637:
    7649                 :            : 
    7650         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    7651         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
    7652 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode)= newNode(":", SQL_NODE_PUNCTUATION));
    7653         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
    7654 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7655         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
    7656 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
    7657         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));
    7658                 :            :                         }
    7659                 :          0 :     break;
    7660                 :            : 
    7661                 :            :   case 638:
    7662                 :            : 
    7663         [ +  - ]:        142 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    7664         [ +  - ]:        142 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    7665                 :        142 :     break;
    7666                 :            : 
    7667                 :            :   case 639:
    7668                 :            : 
    7669                 :            :     {
    7670         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7671 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
    7672                 :            :                 }
    7673                 :          0 :     break;
    7674                 :            : 
    7675                 :            :   case 641:
    7676                 :            : 
    7677         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    7678                 :          0 :     break;
    7679                 :            : 
    7680                 :            :   case 642:
    7681                 :            : 
    7682                 :            :     {
    7683         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7684         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7685         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7686         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7687                 :            :                 }
    7688                 :          0 :     break;
    7689                 :            : 
    7690                 :            :   case 643:
    7691                 :            : 
    7692         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    7693                 :          0 :     break;
    7694                 :            : 
    7695                 :            :   case 645:
    7696                 :            : 
    7697                 :            :     {
    7698         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7699         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7700         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7701         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7702                 :            :                 }
    7703                 :          0 :     break;
    7704                 :            : 
    7705                 :            :   case 646:
    7706                 :            : 
    7707                 :            :     {
    7708         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7709         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7710         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7711                 :            :                 }
    7712                 :          0 :     break;
    7713                 :            : 
    7714                 :            :   case 652:
    7715                 :            : 
    7716                 :            :     {
    7717         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7718         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7719         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7720                 :            :                 }
    7721                 :          0 :     break;
    7722                 :            : 
    7723                 :            :   case 653:
    7724                 :            : 
    7725                 :            :     {
    7726         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7727         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7728         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7729                 :            :                 }
    7730                 :          0 :     break;
    7731                 :            : 
    7732                 :            :   case 654:
    7733                 :            : 
    7734                 :            :     {
    7735         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7736         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7737         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7738         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7739                 :            :                 }
    7740                 :          0 :     break;
    7741                 :            : 
    7742                 :            :   case 655:
    7743                 :            : 
    7744                 :            :     {
    7745         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7746         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7747         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7748         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7749                 :            :                 }
    7750                 :          0 :     break;
    7751                 :            : 
    7752                 :            :   case 656:
    7753                 :            : 
    7754                 :            :     {
    7755         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7756         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7757         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7758                 :            :                 }
    7759                 :          0 :     break;
    7760                 :            : 
    7761                 :            :   case 658:
    7762                 :            : 
    7763         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    7764                 :          0 :     break;
    7765                 :            : 
    7766                 :            :   case 660:
    7767                 :            : 
    7768                 :            :     {
    7769         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    7770 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7771         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7772 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7773                 :            :         }
    7774                 :          0 :     break;
    7775                 :            : 
    7776                 :            :   case 661:
    7777                 :            : 
    7778         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    7779                 :          0 :     break;
    7780                 :            : 
    7781                 :            :   case 663:
    7782                 :            : 
    7783                 :            :     {
    7784         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    7785 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    7786         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7787 [ #  # ][ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    7788                 :            :         }
    7789                 :          0 :     break;
    7790                 :            : 
    7791                 :            :   case 664:
    7792                 :            : 
    7793                 :            :     {
    7794         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    7795         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7796         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7797                 :            :         }
    7798                 :          0 :     break;
    7799                 :            : 
    7800                 :            :   case 665:
    7801                 :            : 
    7802         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    7803                 :          0 :     break;
    7804                 :            : 
    7805                 :            :   case 666:
    7806                 :            : 
    7807                 :            :     {
    7808         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7809 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("K", SQL_NODE_PUNCTUATION));
    7810                 :            :                 }
    7811                 :          0 :     break;
    7812                 :            : 
    7813                 :            :   case 667:
    7814                 :            : 
    7815                 :            :     {
    7816         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7817 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("M", SQL_NODE_PUNCTUATION));
    7818                 :            :                 }
    7819                 :          0 :     break;
    7820                 :            : 
    7821                 :            :   case 668:
    7822                 :            : 
    7823                 :            :     {
    7824         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7825 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("G", SQL_NODE_PUNCTUATION));
    7826                 :            :                 }
    7827                 :          0 :     break;
    7828                 :            : 
    7829                 :            :   case 669:
    7830                 :            : 
    7831                 :            :     {
    7832         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7833 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("T", SQL_NODE_PUNCTUATION));
    7834                 :            :                 }
    7835                 :          0 :     break;
    7836                 :            : 
    7837                 :            :   case 670:
    7838                 :            : 
    7839                 :            :     {
    7840         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7841 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("P", SQL_NODE_PUNCTUATION));
    7842                 :            :                 }
    7843                 :          0 :     break;
    7844                 :            : 
    7845                 :            :   case 671:
    7846                 :            : 
    7847                 :            :     {
    7848         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7849         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7850         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    7851         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7852         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    7853                 :            :                 }
    7854                 :          0 :     break;
    7855                 :            : 
    7856                 :            :   case 672:
    7857                 :            : 
    7858                 :            :     {
    7859         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7860         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7861         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    7862         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7863         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    7864                 :            :                 }
    7865                 :          0 :     break;
    7866                 :            : 
    7867                 :            :   case 673:
    7868                 :            : 
    7869                 :            :     {
    7870         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7871         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7872         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7873                 :            :                 }
    7874                 :          0 :     break;
    7875                 :            : 
    7876                 :            :   case 674:
    7877                 :            : 
    7878                 :            :     {
    7879         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7880         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7881         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7882         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7883                 :            :                 }
    7884                 :          0 :     break;
    7885                 :            : 
    7886                 :            :   case 675:
    7887                 :            : 
    7888                 :            :     {
    7889         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7890         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7891         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7892         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7893                 :            :                 }
    7894                 :          0 :     break;
    7895                 :            : 
    7896                 :            :   case 676:
    7897                 :            : 
    7898                 :            :     {
    7899         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7900         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7901         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7902                 :            :                 }
    7903                 :          0 :     break;
    7904                 :            : 
    7905                 :            :   case 677:
    7906                 :            : 
    7907                 :            :     {
    7908         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7909         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7910         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    7911         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7912         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    7913                 :            :                 }
    7914                 :          0 :     break;
    7915                 :            : 
    7916                 :            :   case 678:
    7917                 :            : 
    7918                 :            :     {
    7919         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7920         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7921         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    7922         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7923         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    7924                 :            :                 }
    7925                 :          0 :     break;
    7926                 :            : 
    7927                 :            :   case 679:
    7928                 :            : 
    7929                 :            :     {
    7930         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7931         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7932         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7933         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7934                 :            :                 }
    7935                 :          0 :     break;
    7936                 :            : 
    7937                 :            :   case 681:
    7938                 :            : 
    7939                 :            :     {
    7940         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7941         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    7942         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    7943         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    7944         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    7945         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    7946                 :            :                 }
    7947                 :          0 :     break;
    7948                 :            : 
    7949                 :            :   case 682:
    7950                 :            : 
    7951                 :            :     {
    7952         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7953         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    7954         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    7955         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    7956         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    7957                 :            :                 }
    7958                 :          0 :     break;
    7959                 :            : 
    7960                 :            :   case 683:
    7961                 :            : 
    7962                 :            :     {
    7963         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7964         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7965         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7966                 :            :                 }
    7967                 :          0 :     break;
    7968                 :            : 
    7969                 :            :   case 684:
    7970                 :            : 
    7971                 :            :     {
    7972         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7973         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7974         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7975                 :            :                 }
    7976                 :          0 :     break;
    7977                 :            : 
    7978                 :            :   case 685:
    7979                 :            : 
    7980                 :            :     {
    7981         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7982         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    7983         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    7984         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    7985                 :            :                 }
    7986                 :          0 :     break;
    7987                 :            : 
    7988                 :            :   case 686:
    7989                 :            : 
    7990                 :            :     {
    7991         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    7992         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    7993         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    7994                 :            :                 }
    7995                 :          0 :     break;
    7996                 :            : 
    7997                 :            :   case 688:
    7998                 :            : 
    7999                 :            :     {
    8000         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8001         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8002         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    8003         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8004         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    8005                 :            :                 }
    8006                 :          0 :     break;
    8007                 :            : 
    8008                 :            :   case 689:
    8009                 :            : 
    8010                 :            :     {
    8011         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8012         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8013         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8014                 :            :                 }
    8015                 :          0 :     break;
    8016                 :            : 
    8017                 :            :   case 692:
    8018                 :            : 
    8019         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    8020                 :          0 :     break;
    8021                 :            : 
    8022                 :            :   case 693:
    8023                 :            : 
    8024                 :            :     {
    8025         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8026 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    8027         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    8028 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    8029                 :            :                 }
    8030                 :          0 :     break;
    8031                 :            : 
    8032                 :            :   case 694:
    8033                 :            : 
    8034                 :            :     {
    8035         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8036 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    8037         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    8038 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
    8039         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    8040 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    8041                 :            :                 }
    8042                 :          0 :     break;
    8043                 :            : 
    8044                 :            :   case 695:
    8045                 :            : 
    8046                 :            :     {
    8047         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8048         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8049         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8050                 :            :                 }
    8051                 :          0 :     break;
    8052                 :            : 
    8053                 :            :   case 696:
    8054                 :            : 
    8055                 :            :     {
    8056         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8057         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8058         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8059                 :            :                 }
    8060                 :          0 :     break;
    8061                 :            : 
    8062                 :            :   case 697:
    8063                 :            : 
    8064                 :            :     {
    8065         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8066         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8067         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8068                 :            :                 }
    8069                 :          0 :     break;
    8070                 :            : 
    8071                 :            :   case 702:
    8072                 :            : 
    8073                 :            :     {
    8074         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8075         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8076 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    8077         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8078 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    8079                 :            :                 }
    8080                 :          0 :     break;
    8081                 :            : 
    8082                 :            :   case 706:
    8083                 :            : 
    8084                 :            :     {
    8085         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8086         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8087         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8088                 :            :                 }
    8089                 :          0 :     break;
    8090                 :            : 
    8091                 :            :   case 709:
    8092                 :            : 
    8093                 :            :     {
    8094         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8095         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    8096         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    8097         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    8098                 :            :                 }
    8099                 :          0 :     break;
    8100                 :            : 
    8101                 :            :   case 710:
    8102                 :            : 
    8103                 :            :     {
    8104         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8105         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    8106         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    8107         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    8108                 :            :                 }
    8109                 :          0 :     break;
    8110                 :            : 
    8111                 :            :   case 711:
    8112                 :            : 
    8113         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    8114                 :          0 :     break;
    8115                 :            : 
    8116                 :            :   case 712:
    8117                 :            : 
    8118                 :            :     {
    8119         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8120         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    8121         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    8122         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    8123                 :            :                 }
    8124                 :          0 :     break;
    8125                 :            : 
    8126                 :            :   case 713:
    8127                 :            : 
    8128                 :            :     {
    8129         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8130         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    8131         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    8132         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    8133                 :            :                 }
    8134                 :          0 :     break;
    8135                 :            : 
    8136                 :            :   case 714:
    8137                 :            : 
    8138                 :            :     {
    8139         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8140         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8141         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8142                 :            :         }
    8143                 :          0 :     break;
    8144                 :            : 
    8145                 :            :   case 716:
    8146                 :            : 
    8147                 :            :     {
    8148                 :          0 :                         sal_uInt32 nNod = (yyval.pParseNode)->getRuleID();
    8149 [ #  # ][ #  # ]:          0 :                         delete (yyval.pParseNode);
    8150 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode) = newNode(xxx_pGLOBAL_SQLPARSER->TokenIDToStr(nNod), SQL_NODE_NAME);
    8151                 :            :                 }
    8152                 :          0 :     break;
    8153                 :            : 
    8154                 :            :   case 717:
    8155                 :            : 
    8156                 :            :     {
    8157                 :          0 :                         sal_uInt32 nNod = (yyval.pParseNode)->getRuleID();
    8158 [ #  # ][ #  # ]:          0 :                         delete (yyval.pParseNode);
    8159 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode) = newNode(xxx_pGLOBAL_SQLPARSER->TokenIDToStr(nNod), SQL_NODE_NAME);
    8160                 :            :                 }
    8161                 :          0 :     break;
    8162                 :            : 
    8163                 :            :   case 718:
    8164                 :            : 
    8165                 :            :     {
    8166                 :          0 :                         sal_uInt32 nNod = (yyval.pParseNode)->getRuleID();
    8167 [ #  # ][ #  # ]:          0 :                         delete (yyval.pParseNode);
    8168 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode) = newNode(xxx_pGLOBAL_SQLPARSER->TokenIDToStr(nNod), SQL_NODE_NAME);
    8169                 :            :                 }
    8170                 :          0 :     break;
    8171                 :            : 
    8172                 :            :   case 721:
    8173                 :            : 
    8174                 :            :     {
    8175         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8176         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8177 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    8178         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8179 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    8180                 :            :                 }
    8181                 :          0 :     break;
    8182                 :            : 
    8183                 :            :   case 722:
    8184                 :            : 
    8185                 :            :     {
    8186         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8187         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8188 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    8189         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8190 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    8191                 :            :                 }
    8192                 :          0 :     break;
    8193                 :            : 
    8194                 :            :   case 723:
    8195                 :            : 
    8196                 :            :     {
    8197         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8198         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8199 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
    8200         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8201 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
    8202                 :            :                 }
    8203                 :          0 :     break;
    8204                 :            : 
    8205                 :            :   case 726:
    8206                 :            : 
    8207                 :            :     {
    8208         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8209         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    8210         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    8211         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    8212         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
    8213         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    8214                 :            :                 }
    8215                 :          0 :     break;
    8216                 :            : 
    8217                 :            :   case 727:
    8218                 :            : 
    8219                 :            :     {
    8220         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8221         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8222         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    8223         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8224         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    8225                 :            :                 }
    8226                 :          0 :     break;
    8227                 :            : 
    8228                 :            :   case 728:
    8229                 :            : 
    8230                 :            :     {
    8231         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_LISTRULE;
    8232         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    8233                 :            :                 }
    8234                 :          0 :     break;
    8235                 :            : 
    8236                 :            :   case 729:
    8237                 :            : 
    8238                 :            :     {
    8239         [ #  # ]:          0 :                         (yyvsp[(1) - (2)].pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8240                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (2)].pParseNode);
    8241                 :            :                 }
    8242                 :          0 :     break;
    8243                 :            : 
    8244                 :            :   case 730:
    8245                 :            : 
    8246                 :            :     {
    8247         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8248         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8249         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    8250         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8251         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    8252                 :            :                 }
    8253                 :          0 :     break;
    8254                 :            : 
    8255                 :            :   case 731:
    8256                 :            : 
    8257         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
    8258         [ #  # ]:          0 :                 (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    8259                 :          0 :     break;
    8260                 :            : 
    8261                 :            :   case 732:
    8262                 :            : 
    8263         [ #  # ]:          0 :     {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    8264                 :          0 :                 (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
    8265                 :          0 :     break;
    8266                 :            : 
    8267                 :            :   case 739:
    8268                 :            : 
    8269                 :            :     {
    8270         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_LISTRULE;
    8271         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    8272                 :            :                 }
    8273                 :          0 :     break;
    8274                 :            : 
    8275                 :            :   case 740:
    8276                 :            : 
    8277                 :            :     {
    8278         [ #  # ]:          0 :                         (yyvsp[(1) - (2)].pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8279                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (2)].pParseNode);
    8280                 :            :                 }
    8281                 :          0 :     break;
    8282                 :            : 
    8283                 :            :   case 741:
    8284                 :            : 
    8285                 :            :     {
    8286         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8287         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8288         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    8289         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8290         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    8291                 :            :                 }
    8292                 :          0 :     break;
    8293                 :            : 
    8294                 :            :   case 742:
    8295                 :            : 
    8296         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    8297                 :          0 :     break;
    8298                 :            : 
    8299                 :            :   case 743:
    8300                 :            : 
    8301                 :            :     {
    8302         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_RULE;
    8303         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8304         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8305                 :            :                 }
    8306                 :          0 :     break;
    8307                 :            : 
    8308                 :            :   case 747:
    8309                 :            : 
    8310         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    8311         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
    8312                 :          0 :     break;
    8313                 :            : 
    8314                 :            :   case 748:
    8315                 :            : 
    8316         [ +  - ]:         50 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    8317 [ +  - ][ +  - ]:         50 :                         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode(":", SQL_NODE_PUNCTUATION));
    8318         [ +  - ]:         50 :                         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
    8319                 :         50 :     break;
    8320                 :            : 
    8321                 :            :   case 749:
    8322                 :            : 
    8323         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE; // test
    8324 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("?", SQL_NODE_PUNCTUATION));}
    8325                 :          0 :     break;
    8326                 :            : 
    8327                 :            :   case 750:
    8328                 :            : 
    8329         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    8330 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("[", SQL_NODE_PUNCTUATION));
    8331         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    8332 [ #  # ][ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode("]", SQL_NODE_PUNCTUATION));}
    8333                 :          0 :     break;
    8334                 :            : 
    8335                 :            :   case 751:
    8336                 :            : 
    8337         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;}
    8338                 :          0 :     break;
    8339                 :            : 
    8340                 :            :   case 752:
    8341                 :            : 
    8342         [ #  # ]:          0 :     {(yyval.pParseNode) = SQL_NEW_RULE;
    8343         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8344         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8345                 :            :         }
    8346                 :          0 :     break;
    8347                 :            : 
    8348                 :            :   case 754:
    8349                 :            : 
    8350                 :            :     {
    8351         [ +  + ]:         74 :                         if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // sql: rule 1
    8352                 :            :                         {
    8353                 :         72 :                                 (yyval.pParseNode) = (yyvsp[(1) - (1)].pParseNode);
    8354 [ +  - ][ +  - ]:         72 :                                 if ( SQL_ISRULE((yyval.pParseNode),search_condition) )
         [ -  + ][ -  + ]
    8355                 :            :                                 {
    8356 [ #  # ][ #  # ]:          0 :                                         (yyval.pParseNode)->insert(0,newNode("(", SQL_NODE_PUNCTUATION));
    8357 [ #  # ][ #  # ]:          0 :                                         (yyval.pParseNode)->append(newNode(")", SQL_NODE_PUNCTUATION));
    8358                 :            :                                 }
    8359                 :            :                         }
    8360                 :            :                         else
    8361                 :          2 :                                 YYERROR;
    8362                 :            :                 }
    8363                 :         72 :     break;
    8364                 :            : 
    8365                 :            :   case 756:
    8366                 :            : 
    8367                 :            :     {
    8368         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8369         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (9)].pParseNode));
    8370         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (9)].pParseNode));
    8371         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(3) - (9)].pParseNode));
    8372         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(4) - (9)].pParseNode));
    8373         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(5) - (9)].pParseNode));
    8374         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(6) - (9)].pParseNode));
    8375         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(7) - (9)].pParseNode));
    8376         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(8) - (9)].pParseNode));
    8377         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(9) - (9)].pParseNode));
    8378                 :            :     }
    8379                 :          0 :     break;
    8380                 :            : 
    8381                 :            :   case 757:
    8382                 :            : 
    8383                 :            :     {
    8384         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8385                 :            :         }
    8386                 :          0 :     break;
    8387                 :            : 
    8388                 :            :   case 758:
    8389                 :            : 
    8390                 :            :     {
    8391         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8392         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8393         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8394                 :            :     }
    8395                 :          0 :     break;
    8396                 :            : 
    8397                 :            :   case 761:
    8398                 :            : 
    8399                 :            :     {
    8400         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8401         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8402         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8403                 :            :     }
    8404                 :          0 :     break;
    8405                 :            : 
    8406                 :            :   case 764:
    8407                 :            : 
    8408                 :            :     {
    8409         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8410         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8411         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8412                 :            :     }
    8413                 :          0 :     break;
    8414                 :            : 
    8415                 :            :   case 765:
    8416                 :            : 
    8417                 :            :     {
    8418         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8419                 :            :         }
    8420                 :          0 :     break;
    8421                 :            : 
    8422                 :            :   case 766:
    8423                 :            : 
    8424                 :            :     {
    8425         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8426         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8427         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8428                 :            :     }
    8429                 :          0 :     break;
    8430                 :            : 
    8431                 :            :   case 768:
    8432                 :            : 
    8433                 :            :     {
    8434         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8435         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    8436         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    8437         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    8438                 :            :     }
    8439                 :          0 :     break;
    8440                 :            : 
    8441                 :            :   case 769:
    8442                 :            : 
    8443                 :            :     {
    8444         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8445                 :            :                 }
    8446                 :          0 :     break;
    8447                 :            : 
    8448                 :            :   case 770:
    8449                 :            : 
    8450                 :            :     {
    8451         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8452         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
    8453         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
    8454         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    8455                 :            :     }
    8456                 :          0 :     break;
    8457                 :            : 
    8458                 :            :   case 773:
    8459                 :            : 
    8460                 :            :     {
    8461         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8462                 :            :         }
    8463                 :          0 :     break;
    8464                 :            : 
    8465                 :            :   case 774:
    8466                 :            : 
    8467                 :            :     {
    8468         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8469         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
    8470         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8471                 :            :     }
    8472                 :          0 :     break;
    8473                 :            : 
    8474                 :            :   case 776:
    8475                 :            : 
    8476                 :            :     {
    8477         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8478         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
    8479         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
    8480         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
    8481 [ #  # ][ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(";", SQL_NODE_PUNCTUATION));
    8482         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
    8483                 :            :     }
    8484                 :          0 :     break;
    8485                 :            : 
    8486                 :            :   case 777:
    8487                 :            : 
    8488                 :            :     {
    8489         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_LISTRULE;
    8490         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    8491                 :            :                 }
    8492                 :          0 :     break;
    8493                 :            : 
    8494                 :            :   case 778:
    8495                 :            : 
    8496                 :            :     {
    8497         [ #  # ]:          0 :                         (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
    8498                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
    8499                 :            :                 }
    8500                 :          0 :     break;
    8501                 :            : 
    8502                 :            :   case 780:
    8503                 :            : 
    8504                 :            :     {
    8505         [ #  # ]:          0 :                         (yyval.pParseNode) = SQL_NEW_LISTRULE;
    8506         [ #  # ]:          0 :                         (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
    8507                 :            :                 }
    8508                 :          0 :     break;
    8509                 :            : 
    8510                 :            :   case 781:
    8511                 :            : 
    8512                 :            :     {
    8513         [ #  # ]:          0 :                         (yyvsp[(1) - (2)].pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
    8514                 :          0 :                         (yyval.pParseNode) = (yyvsp[(1) - (2)].pParseNode);
    8515                 :            :                 }
    8516                 :          0 :     break;
    8517                 :            : 
    8518                 :            :   case 782:
    8519                 :            : 
    8520                 :            :     {
    8521         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8522         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8523         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    8524         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8525         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    8526                 :            :     }
    8527                 :          0 :     break;
    8528                 :            : 
    8529                 :            :   case 783:
    8530                 :            : 
    8531                 :            :     {
    8532         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8533         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8534         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    8535         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8536         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    8537                 :            :     }
    8538                 :          0 :     break;
    8539                 :            : 
    8540                 :            :   case 784:
    8541                 :            : 
    8542                 :            :     {
    8543         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8544         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8545         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    8546         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8547         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    8548                 :            :     }
    8549                 :          0 :     break;
    8550                 :            : 
    8551                 :            :   case 785:
    8552                 :            : 
    8553                 :            :     {
    8554         [ #  # ]:          0 :                 (yyval.pParseNode) = SQL_NEW_RULE;
    8555         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
    8556         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
    8557         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
    8558         [ #  # ]:          0 :         (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
    8559                 :            :     }
    8560                 :          0 :     break;
    8561                 :            : 
    8562                 :            : 
    8563                 :            : 
    8564                 :      42886 :       default: break;
    8565                 :            :     }
    8566                 :            :   /* User semantic actions sometimes alter yychar, and that requires
    8567                 :            :      that yytoken be updated with the new translation.  We take the
    8568                 :            :      approach of translating immediately before every use of yytoken.
    8569                 :            :      One alternative is translating here after every semantic action,
    8570                 :            :      but that translation would be missed if the semantic action invokes
    8571                 :            :      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
    8572                 :            :      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
    8573                 :            :      incorrect destructor might then be invoked immediately.  In the
    8574                 :            :      case of YYERROR or YYBACKUP, subsequent parser actions might lead
    8575                 :            :      to an incorrect destructor call or verbose syntax error message
    8576                 :            :      before the lookahead is translated.  */
    8577                 :            :   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
    8578                 :            : 
    8579                 :      59228 :   YYPOPSTACK (yylen);
    8580                 :      59228 :   yylen = 0;
    8581                 :            :   YY_STACK_PRINT (yyss, yyssp);
    8582                 :            : 
    8583                 :      59228 :   *++yyvsp = yyval;
    8584                 :            : 
    8585                 :            :   /* Now `shift' the result of the reduction.  Determine what state
    8586                 :            :      that goes to, based on the state we popped back to and the rule
    8587                 :            :      number reduced by.  */
    8588                 :            : 
    8589                 :      59228 :   yyn = yyr1[yyn];
    8590                 :            : 
    8591                 :      59228 :   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
    8592 [ +  + ][ +  - ]:      59228 :   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                 [ +  + ]
    8593                 :      11784 :     yystate = yytable[yystate];
    8594                 :            :   else
    8595                 :      47444 :     yystate = yydefgoto[yyn - YYNTOKENS];
    8596                 :            : 
    8597                 :      59228 :   goto yynewstate;
    8598                 :            : 
    8599                 :            : 
    8600                 :            : /*------------------------------------.
    8601                 :            : | yyerrlab -- here on detecting error |
    8602                 :            : `------------------------------------*/
    8603                 :            : yyerrlab:
    8604                 :            :   /* Make sure we have latest lookahead translation.  See comments at
    8605                 :            :      user semantic actions for why this is necessary.  */
    8606 [ #  # ][ #  # ]:          0 :   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
    8607                 :            : 
    8608                 :            :   /* If not already recovering from an error, report this error.  */
    8609         [ #  # ]:          0 :   if (!yyerrstatus)
    8610                 :            :     {
    8611                 :          0 :       ++yynerrs;
    8612                 :            : #if ! YYERROR_VERBOSE
    8613                 :            :       yyerror (YY_("syntax error"));
    8614                 :            : #else
    8615                 :            : # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
    8616                 :            :                                         yyssp, yytoken)
    8617                 :            :       {
    8618                 :          0 :         char const *yymsgp = YY_("syntax error");
    8619                 :            :         int yysyntax_error_status;
    8620                 :          0 :         yysyntax_error_status = YYSYNTAX_ERROR;
    8621         [ #  # ]:          0 :         if (yysyntax_error_status == 0)
    8622                 :          0 :           yymsgp = yymsg;
    8623         [ #  # ]:          0 :         else if (yysyntax_error_status == 1)
    8624                 :            :           {
    8625         [ #  # ]:          0 :             if (yymsg != yymsgbuf)
    8626                 :          0 :               YYSTACK_FREE (yymsg);
    8627                 :          0 :             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
    8628         [ #  # ]:          0 :             if (!yymsg)
    8629                 :            :               {
    8630                 :          0 :                 yymsg = yymsgbuf;
    8631                 :          0 :                 yymsg_alloc = sizeof yymsgbuf;
    8632                 :          0 :                 yysyntax_error_status = 2;
    8633                 :            :               }
    8634                 :            :             else
    8635                 :            :               {
    8636                 :          0 :                 yysyntax_error_status = YYSYNTAX_ERROR;
    8637                 :          0 :                 yymsgp = yymsg;
    8638                 :            :               }
    8639                 :            :           }
    8640         [ #  # ]:          0 :         yyerror (yymsgp);
    8641         [ #  # ]:          0 :         if (yysyntax_error_status == 2)
    8642                 :          0 :           goto yyexhaustedlab;
    8643                 :            :       }
    8644                 :            : # undef YYSYNTAX_ERROR
    8645                 :            : #endif
    8646                 :            :     }
    8647                 :            : 
    8648                 :            : 
    8649                 :            : 
    8650         [ #  # ]:          0 :   if (yyerrstatus == 3)
    8651                 :            :     {
    8652                 :            :       /* If just tried and failed to reuse lookahead token after an
    8653                 :            :          error, discard it.  */
    8654                 :            : 
    8655         [ #  # ]:          0 :       if (yychar <= YYEOF)
    8656                 :            :         {
    8657                 :            :           /* Return failure if at end of input.  */
    8658         [ #  # ]:          0 :           if (yychar == YYEOF)
    8659                 :          0 :             YYABORT;
    8660                 :            :         }
    8661                 :            :       else
    8662                 :            :         {
    8663                 :            :           yydestruct ("Error: discarding",
    8664                 :          0 :                       yytoken, &yylval);
    8665                 :          0 :           yychar = YYEMPTY;
    8666                 :            :         }
    8667                 :            :     }
    8668                 :            : 
    8669                 :            :   /* Else will try to reuse lookahead token after shifting the error
    8670                 :            :      token.  */
    8671                 :          0 :   goto yyerrlab1;
    8672                 :            : 
    8673                 :            : 
    8674                 :            : /*---------------------------------------------------.
    8675                 :            : | yyerrorlab -- error raised explicitly by YYERROR.  |
    8676                 :            : `---------------------------------------------------*/
    8677                 :            : yyerrorlab:
    8678                 :            : 
    8679                 :            :   /* Pacify compilers like GCC when the user code never invokes
    8680                 :            :      YYERROR and the label yyerrorlab therefore never appears in user
    8681                 :            :      code.  */
    8682                 :            :   if (/*CONSTCOND*/ 0)
    8683                 :            :      goto yyerrorlab;
    8684                 :            : 
    8685                 :            :   /* Do not reclaim the symbols of the rule which action triggered
    8686                 :            :      this YYERROR.  */
    8687                 :          2 :   YYPOPSTACK (yylen);
    8688                 :          2 :   yylen = 0;
    8689                 :            :   YY_STACK_PRINT (yyss, yyssp);
    8690                 :          2 :   yystate = *yyssp;
    8691                 :          2 :   goto yyerrlab1;
    8692                 :            : 
    8693                 :            : 
    8694                 :            : /*-------------------------------------------------------------.
    8695                 :            : | yyerrlab1 -- common code for both syntax error and YYERROR.  |
    8696                 :            : `-------------------------------------------------------------*/
    8697                 :            : yyerrlab1:
    8698                 :          2 :   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
    8699                 :            : 
    8700                 :          0 :   for (;;)
    8701                 :            :     {
    8702                 :          2 :       yyn = yypact[yystate];
    8703         [ +  - ]:          2 :       if (!yypact_value_is_default (yyn))
    8704                 :            :         {
    8705                 :          2 :           yyn += YYTERROR;
    8706 [ +  - ][ +  - ]:          2 :           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
                 [ -  + ]
    8707                 :            :             {
    8708                 :          0 :               yyn = yytable[yyn];
    8709         [ #  # ]:          0 :               if (0 < yyn)
    8710                 :          0 :                 break;
    8711                 :            :             }
    8712                 :            :         }
    8713                 :            : 
    8714                 :            :       /* Pop the current state because it cannot handle the error token.  */
    8715         [ +  - ]:          2 :       if (yyssp == yyss)
    8716                 :          2 :         YYABORT;
    8717                 :            : 
    8718                 :            : 
    8719                 :            :       yydestruct ("Error: popping",
    8720                 :          0 :                   yystos[yystate], yyvsp);
    8721                 :          0 :       YYPOPSTACK (1);
    8722                 :          0 :       yystate = *yyssp;
    8723                 :            :       YY_STACK_PRINT (yyss, yyssp);
    8724                 :            :     }
    8725                 :            : 
    8726                 :          0 :   *++yyvsp = yylval;
    8727                 :            : 
    8728                 :            : 
    8729                 :            :   /* Shift the error token.  */
    8730                 :            :   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
    8731                 :            : 
    8732                 :          0 :   yystate = yyn;
    8733                 :          0 :   goto yynewstate;
    8734                 :            : 
    8735                 :            : 
    8736                 :            : /*-------------------------------------.
    8737                 :            : | yyacceptlab -- YYACCEPT comes here.  |
    8738                 :            : `-------------------------------------*/
    8739                 :            : yyacceptlab:
    8740                 :        558 :   yyresult = 0;
    8741                 :        558 :   goto yyreturn;
    8742                 :            : 
    8743                 :            : /*-----------------------------------.
    8744                 :            : | yyabortlab -- YYABORT comes here.  |
    8745                 :            : `-----------------------------------*/
    8746                 :            : yyabortlab:
    8747                 :          2 :   yyresult = 1;
    8748                 :          2 :   goto yyreturn;
    8749                 :            : 
    8750                 :            : #if !defined(yyoverflow) || YYERROR_VERBOSE
    8751                 :            : /*-------------------------------------------------.
    8752                 :            : | yyexhaustedlab -- memory exhaustion comes here.  |
    8753                 :            : `-------------------------------------------------*/
    8754                 :            : yyexhaustedlab:
    8755         [ #  # ]:          0 :   yyerror (YY_("memory exhausted"));
    8756                 :          0 :   yyresult = 2;
    8757                 :            :   /* Fall through.  */
    8758                 :            : #endif
    8759                 :            : 
    8760                 :            : yyreturn:
    8761         [ +  + ]:        560 :   if (yychar != YYEMPTY)
    8762                 :            :     {
    8763                 :            :       /* Make sure we have latest lookahead translation.  See comments at
    8764                 :            :          user semantic actions for why this is necessary.  */
    8765         [ +  - ]:          2 :       yytoken = YYTRANSLATE (yychar);
    8766                 :            :       yydestruct ("Cleanup: discarding lookahead",
    8767                 :          2 :                   yytoken, &yylval);
    8768                 :            :     }
    8769                 :            :   /* Do not reclaim the symbols of the rule which action triggered
    8770                 :            :      this YYABORT or YYACCEPT.  */
    8771                 :        560 :   YYPOPSTACK (yylen);
    8772                 :            :   YY_STACK_PRINT (yyss, yyssp);
    8773         [ +  + ]:       1676 :   while (yyssp != yyss)
    8774                 :            :     {
    8775                 :            :       yydestruct ("Cleanup: popping",
    8776                 :       1116 :                   yystos[*yyssp], yyvsp);
    8777                 :       1116 :       YYPOPSTACK (1);
    8778                 :            :     }
    8779                 :            : #ifndef yyoverflow
    8780         [ -  + ]:        560 :   if (yyss != yyssa)
    8781                 :          0 :     YYSTACK_FREE (yyss);
    8782                 :            : #endif
    8783                 :            : #if YYERROR_VERBOSE
    8784         [ -  + ]:        560 :   if (yymsg != yymsgbuf)
    8785                 :          0 :     YYSTACK_FREE (yymsg);
    8786                 :            : #endif
    8787                 :            :   /* Make sure YYID is used.  */
    8788                 :        560 :   return YYID (yyresult);
    8789                 :            : }
    8790                 :            : 
    8791                 :            : 
    8792                 :            : 
    8793                 :            : 
    8794                 :            : 
    8795                 :            : 
    8796                 :            : using namespace ::com::sun::star::sdbc;
    8797                 :            : using namespace ::com::sun::star::beans;
    8798                 :            : using namespace ::com::sun::star::uno;
    8799                 :            : using namespace ::com::sun::star::i18n;
    8800                 :            : using namespace ::com::sun::star::lang;
    8801                 :            : using namespace ::com::sun::star::util;
    8802                 :            : using namespace ::osl;
    8803                 :            : using namespace ::dbtools;
    8804                 :            : 
    8805                 :            : //============================================================
    8806                 :            : //= a helper for static ascii pseudo-unicode strings
    8807                 :            : //============================================================
    8808                 :            : // string constants
    8809                 :            : struct _ConstAsciiString_
    8810                 :            : {
    8811                 :            :         sal_Int32 length;
    8812                 :            :         sal_Char  const* str;
    8813                 :            : 
    8814                 :         92 :         operator rtl::OUString () const { return rtl::OUString(str, length, RTL_TEXTENCODING_ASCII_US); }
    8815                 :            :         operator const sal_Char * () const { return str; }
    8816                 :       1728 :         operator ::rtl::OString() const { return str; }
    8817                 :            : };
    8818                 :            : 
    8819                 :            : #define IMPLEMENT_CONSTASCII_STRING( name, string ) \
    8820                 :            :         _ConstAsciiString_ const name = { sizeof(string)-1, string }
    8821                 :            : 
    8822                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_GENERAL, "Syntax error in SQL expression");
    8823                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_VALUE_NO_LIKE, "The value #1 can not be used with LIKE.");
    8824                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_FIELD_NO_LIKE, "LIKE can not be used with this field.");
    8825                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_COMPARE, "The entered criterion can not be compared with this field.");
    8826                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_DATE_COMPARE, "The field can not be compared with a date.");
    8827                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_REAL_COMPARE,     "The field can not be compared with a floating point number.");
    8828                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_INT_COMPARE,      "The field can not be compared with a number.");
    8829                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_TABLE,    "The database does not contain a table named \"#\".");
    8830                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_TABLE_OR_QUERY,   "The database does contain neither a table nor a query named \"#\".");
    8831                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_COLUMN,   "The column \"#1\" is unknown in the table \"#2\".");
    8832                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_TABLE_EXIST,      "The database already contains a table or view with name \"#\".");
    8833                 :            : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_QUERY_EXIST,      "The database already contains a query with name \"#\".");
    8834                 :            : 
    8835                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_LIKE, "LIKE");
    8836                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_NOT, "NOT");
    8837                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_NULL, "NULL");
    8838                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_TRUE, "True");
    8839                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_FALSE, "False");
    8840                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_IS, "IS");
    8841                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_BETWEEN, "BETWEEN");
    8842                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_OR, "OR");
    8843                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_AND, "AND");
    8844                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_AVG, "AVG");
    8845                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_COUNT, "COUNT");
    8846                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_MAX, "MAX");
    8847                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_MIN, "MIN");
    8848                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_SUM, "SUM");
    8849                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_EVERY, "EVERY");
    8850                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_ANY, "ANY");
    8851                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_SOME, "SOME");
    8852                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_STDDEV_POP, "STDDEV_POP");
    8853                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_STDDEV_SAMP, "STDDEV_SAMP");
    8854                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_VAR_SAMP, "VAR_SAMP");
    8855                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_VAR_POP, "VAR_POP");
    8856                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_COLLECT, "COLLECT");
    8857                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_FUSION, "FUSION");
    8858                 :            : IMPLEMENT_CONSTASCII_STRING(KEY_STR_INTERSECTION, "INTERSECTION");
    8859                 :            : 
    8860                 :            : IMPLEMENT_CONSTASCII_STRING(FIELD_STR_NULLDATE, "NullDate");
    8861                 :            : 
    8862                 :            : IMPLEMENT_CONSTASCII_STRING(STR_SQL_TOKEN, "SQL_TOKEN_");
    8863                 :            : 
    8864                 :            : //==========================================================================
    8865                 :            : //= OParseContext
    8866                 :            : //==========================================================================
    8867                 :            : //-----------------------------------------------------------------------------
    8868                 :         56 : OParseContext::OParseContext()
    8869                 :            : {
    8870                 :         56 : }
    8871                 :            : 
    8872                 :            : //-----------------------------------------------------------------------------
    8873                 :         56 : OParseContext::~OParseContext()
    8874                 :            : {
    8875         [ -  + ]:         56 : }
    8876                 :            : 
    8877                 :            : //-----------------------------------------------------------------------------
    8878                 :         92 : ::rtl::OUString OParseContext::getErrorMessage(ErrorCode _eCode) const
    8879                 :            : {
    8880                 :         92 :         ::rtl::OUString aMsg;
    8881   [ +  -  -  -  :         92 :         switch (_eCode)
          -  -  -  +  -  
             -  -  -  - ]
    8882                 :            :         {
    8883         [ +  - ]:          4 :                 case ERROR_GENERAL:                                     aMsg = ERROR_STR_GENERAL; break;
    8884         [ #  # ]:          0 :                 case ERROR_VALUE_NO_LIKE:                       aMsg = ERROR_STR_VALUE_NO_LIKE; break;
    8885         [ #  # ]:          0 :                 case ERROR_FIELD_NO_LIKE:                       aMsg = ERROR_STR_FIELD_NO_LIKE; break;
    8886         [ #  # ]:          0 :                 case ERROR_INVALID_COMPARE:                     aMsg = ERROR_STR_INVALID_COMPARE; break;
    8887         [ #  # ]:          0 :                 case ERROR_INVALID_INT_COMPARE:         aMsg = ERROR_STR_INVALID_INT_COMPARE; break;
    8888         [ #  # ]:          0 :                 case ERROR_INVALID_DATE_COMPARE:        aMsg = ERROR_STR_INVALID_DATE_COMPARE; break;
    8889         [ #  # ]:          0 :                 case ERROR_INVALID_REAL_COMPARE:        aMsg = ERROR_STR_INVALID_REAL_COMPARE; break;
    8890         [ +  - ]:         88 :                 case ERROR_INVALID_TABLE:                       aMsg = ERROR_STR_INVALID_TABLE; break;
    8891         [ #  # ]:          0 :                 case ERROR_INVALID_TABLE_OR_QUERY:  aMsg = ERROR_STR_INVALID_TABLE_OR_QUERY; break;
    8892         [ #  # ]:          0 :                 case ERROR_INVALID_COLUMN:                      aMsg = ERROR_STR_INVALID_COLUMN; break;
    8893         [ #  # ]:          0 :                 case ERROR_INVALID_TABLE_EXIST:         aMsg = ERROR_STR_INVALID_TABLE_EXIST; break;
    8894         [ #  # ]:          0 :                 case ERROR_INVALID_QUERY_EXIST:         aMsg = ERROR_STR_INVALID_QUERY_EXIST; break;
    8895                 :            :         default:
    8896                 :            :             OSL_FAIL( "OParseContext::getErrorMessage: unknown error code!" );
    8897                 :          0 :             break;
    8898                 :            :         }
    8899                 :         92 :         return aMsg;
    8900                 :            : }
    8901                 :            : 
    8902                 :            : //-----------------------------------------------------------------------------
    8903                 :       1728 : ::rtl::OString OParseContext::getIntlKeywordAscii(InternationalKeyCode _eKey) const
    8904                 :            : {
    8905                 :       1728 :         ::rtl::OString aKeyword;
    8906   [ +  +  +  +  :       1728 :         switch (_eKey)
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
                   -  - ]
    8907                 :            :         {
    8908         [ +  - ]:         72 :                 case KEY_LIKE:          aKeyword = KEY_STR_LIKE; break;
    8909         [ +  - ]:         72 :                 case KEY_NOT:           aKeyword = KEY_STR_NOT; break;
    8910         [ +  - ]:         72 :                 case KEY_NULL:          aKeyword = KEY_STR_NULL; break;
    8911         [ +  - ]:         72 :                 case KEY_TRUE:          aKeyword = KEY_STR_TRUE; break;
    8912         [ +  - ]:         72 :                 case KEY_FALSE:         aKeyword = KEY_STR_FALSE; break;
    8913         [ +  - ]:         72 :                 case KEY_IS:            aKeyword = KEY_STR_IS; break;
    8914         [ +  - ]:         72 :                 case KEY_BETWEEN:       aKeyword = KEY_STR_BETWEEN; break;
    8915         [ +  - ]:         72 :                 case KEY_OR:            aKeyword = KEY_STR_OR; break;
    8916         [ +  - ]:         72 :                 case KEY_AND:           aKeyword = KEY_STR_AND; break;
    8917         [ +  - ]:         72 :                 case KEY_AVG:           aKeyword = KEY_STR_AVG; break;
    8918         [ +  - ]:         72 :                 case KEY_COUNT:         aKeyword = KEY_STR_COUNT; break;
    8919         [ +  - ]:         72 :                 case KEY_MAX:           aKeyword = KEY_STR_MAX; break;
    8920         [ +  - ]:         72 :                 case KEY_MIN:           aKeyword = KEY_STR_MIN; break;
    8921         [ +  - ]:         72 :                 case KEY_SUM:           aKeyword = KEY_STR_SUM; break;
    8922         [ +  - ]:         72 :         case KEY_EVERY:     aKeyword = KEY_STR_EVERY; break;
    8923         [ +  - ]:         72 :         case KEY_ANY:       aKeyword = KEY_STR_ANY; break;
    8924         [ +  - ]:         72 :         case KEY_SOME:      aKeyword = KEY_STR_SOME; break;
    8925         [ +  - ]:         72 :         case KEY_STDDEV_POP: aKeyword = KEY_STR_STDDEV_POP; break;
    8926         [ +  - ]:         72 :         case KEY_STDDEV_SAMP: aKeyword = KEY_STR_STDDEV_SAMP; break;
    8927         [ +  - ]:         72 :         case KEY_VAR_SAMP:  aKeyword = KEY_STR_VAR_SAMP; break;
    8928         [ +  - ]:         72 :         case KEY_VAR_POP:   aKeyword = KEY_STR_VAR_POP; break;
    8929         [ +  - ]:         72 :         case KEY_COLLECT:   aKeyword = KEY_STR_COLLECT; break;
    8930         [ +  - ]:         72 :         case KEY_FUSION:    aKeyword = KEY_STR_FUSION; break;
    8931         [ +  - ]:         72 :         case KEY_INTERSECTION:aKeyword = KEY_STR_INTERSECTION; break;
    8932                 :          0 :         case KEY_NONE:      break;
    8933                 :            :         default:
    8934                 :            :             OSL_FAIL( "OParseContext::getIntlKeywordAscii: unknown key!" );
    8935                 :          0 :             break;
    8936                 :            :         }
    8937                 :       1728 :         return aKeyword;
    8938                 :            : }
    8939                 :            : 
    8940                 :            : //-----------------------------------------------------------------------------
    8941                 :         72 : IParseContext::InternationalKeyCode OParseContext::getIntlKeyCode(const ::rtl::OString& rToken) const
    8942                 :            : {
    8943                 :            :         static IParseContext::InternationalKeyCode Intl_TokenID[] =
    8944                 :            :         {
    8945                 :            :                 KEY_LIKE, KEY_NOT, KEY_NULL, KEY_TRUE,
    8946                 :            :                 KEY_FALSE, KEY_IS, KEY_BETWEEN, KEY_OR,
    8947                 :            :                 KEY_AND, KEY_AVG, KEY_COUNT, KEY_MAX,
    8948                 :            :                 KEY_MIN, KEY_SUM, KEY_EVERY,KEY_ANY,KEY_SOME,
    8949                 :            :         KEY_STDDEV_POP,KEY_STDDEV_SAMP,KEY_VAR_SAMP,
    8950                 :            :         KEY_VAR_POP,KEY_COLLECT,KEY_FUSION,KEY_INTERSECTION
    8951                 :            :         };
    8952                 :            : 
    8953                 :         72 :         sal_uInt32 nCount = SAL_N_ELEMENTS( Intl_TokenID );
    8954         [ +  + ]:       1800 :         for (sal_uInt32 i = 0; i < nCount; i++)
    8955                 :            :         {
    8956         [ +  - ]:       1728 :                 ::rtl::OString aKey = getIntlKeywordAscii(Intl_TokenID[i]);
    8957         [ -  + ]:       1728 :                 if (rToken.equalsIgnoreAsciiCase(aKey))
    8958                 :       1728 :                         return Intl_TokenID[i];
    8959         [ +  - ]:       1728 :         }
    8960                 :            : 
    8961                 :         72 :         return KEY_NONE;
    8962                 :            : }
    8963                 :            : 
    8964                 :            : //------------------------------------------------------------------------------
    8965                 :       3422 : static Locale& impl_getLocaleInstance( )
    8966                 :            : {
    8967                 :            :         static Locale s_aLocale(
    8968                 :            :                 ::rtl::OUString( "en"  ),
    8969                 :            :                 ::rtl::OUString( "US"  ),
    8970                 :            :                 ::rtl::OUString( )
    8971 [ +  + ][ +  - ]:       3422 :         );
    8972                 :       3422 :         return s_aLocale;
    8973                 :            : }
    8974                 :            : 
    8975                 :            : //------------------------------------------------------------------------------
    8976                 :        360 : Locale OParseContext::getPreferredLocale( ) const
    8977                 :            : {
    8978                 :        360 :         return getDefaultLocale();
    8979                 :            : }
    8980                 :            : 
    8981                 :            : //------------------------------------------------------------------------------
    8982                 :       3422 : const Locale& OParseContext::getDefaultLocale()
    8983                 :            : {
    8984                 :       3422 :         return impl_getLocaleInstance();
    8985                 :            : }
    8986                 :            : 
    8987                 :            : //==========================================================================
    8988                 :            : //= misc
    8989                 :            : //==========================================================================
    8990                 :            : // Der (leider globale) yylval fuer die Uebergabe von
    8991                 :            : // Werten vom Scanner an den Parser. Die globale Variable
    8992                 :            : // wird nur kurzzeitig verwendet, der Parser liest die Variable
    8993                 :            : // sofort nach dem Scanner-Aufruf in eine gleichnamige eigene
    8994                 :            : // Member-Variable.
    8995                 :            : 
    8996                 :            : const double fMilliSecondsPerDay = 86400000.0;
    8997                 :            : 
    8998                 :            : //------------------------------------------------------------------------------
    8999                 :            : 
    9000                 :            : 
    9001                 :            : //------------------------------------------------------------------
    9002                 :          0 : ::rtl::OUString ConvertLikeToken(const OSQLParseNode* pTokenNode, const OSQLParseNode* pEscapeNode, sal_Bool bInternational)
    9003                 :            : {
    9004                 :          0 :         ::rtl::OUStringBuffer aMatchStr(0);
    9005         [ #  # ]:          0 :         if (pTokenNode->isToken())
    9006                 :            :         {
    9007                 :          0 :                 sal_Unicode cEscape = 0;
    9008         [ #  # ]:          0 :                 if (pEscapeNode->count())
    9009         [ #  # ]:          0 :                         cEscape = pEscapeNode->getChild(1)->getTokenValue().toChar();
    9010                 :            : 
    9011                 :            :                 // Platzhalter austauschen
    9012 [ #  # ][ #  # ]:          0 :                 aMatchStr = pTokenNode->getTokenValue();
    9013                 :          0 :                 const sal_Int32 nLen = aMatchStr.getLength();
    9014                 :          0 :                 ::rtl::OUStringBuffer sSearch,sReplace;
    9015         [ #  # ]:          0 :                 if ( bInternational )
    9016                 :            :                 {
    9017         [ #  # ]:          0 :                     sSearch.appendAscii("%_",2);
    9018         [ #  # ]:          0 :                     sReplace.appendAscii("*?",2);
    9019                 :            :                 }
    9020                 :            :                 else
    9021                 :            :                 {
    9022         [ #  # ]:          0 :                     sSearch.appendAscii("*?",2);
    9023         [ #  # ]:          0 :                     sReplace.appendAscii("%_",2);
    9024                 :            :                 }
    9025                 :            : 
    9026                 :          0 :                 bool wasEscape = false;
    9027         [ #  # ]:          0 :                 for (sal_Int32 i = 0; i < nLen; i++)
    9028                 :            :                 {
    9029                 :          0 :                         const sal_Unicode c = aMatchStr[i];
    9030                 :            :                         // SQL standard requires the escape to be followed
    9031                 :            :                         // by a meta-character ('%', '_' or itself), else error
    9032                 :            :                         // We are more lenient here and let it escape anything.
    9033                 :            :                         // Especially since some databases (e.g. Microsoft SQL Server)
    9034                 :            :                         // have more meta-characters than the standard, such as e.g. '[' and ']'
    9035         [ #  # ]:          0 :                         if (wasEscape)
    9036                 :            :                         {
    9037                 :          0 :                                 wasEscape=false;
    9038                 :          0 :                                 continue;
    9039                 :            :                         }
    9040         [ #  # ]:          0 :                         if (c == cEscape)
    9041                 :            :                         {
    9042                 :          0 :                                 wasEscape=true;
    9043                 :          0 :                                 continue;
    9044                 :            :                         }
    9045                 :          0 :                         int match = -1;
    9046         [ #  # ]:          0 :                         if (c == sSearch[0])
    9047                 :          0 :                                 match=0;
    9048         [ #  # ]:          0 :                         else if (c == sSearch[1])
    9049                 :          0 :                                 match=1;
    9050                 :            : 
    9051         [ #  # ]:          0 :                         if (match != -1)
    9052                 :            :                         {
    9053                 :          0 :                                 aMatchStr[i] = sReplace[match];
    9054                 :            :                         }
    9055                 :          0 :                 }
    9056                 :            :         }
    9057         [ #  # ]:          0 :         return aMatchStr.makeStringAndClear();
    9058                 :            : }
    9059                 :            : 
    9060                 :            : //==========================================================================
    9061                 :            : //= OSQLParser
    9062                 :            : //==========================================================================
    9063                 :            : 
    9064                 :            : sal_uInt32                          OSQLParser::s_nRuleIDs[OSQLParseNode::rule_count + 1];
    9065                 :         56 : OSQLParser::RuleIDMap   OSQLParser::s_aReverseRuleIDLookup;
    9066                 :         56 : OParseContext               OSQLParser::s_aDefaultContext;
    9067                 :            : 
    9068                 :            : sal_Int32                       OSQLParser::s_nRefCount = 0;
    9069                 :            : //      ::osl::Mutex            OSQLParser::s_aMutex;
    9070                 :            : OSQLScanner*            OSQLParser::s_pScanner = 0;
    9071                 :            : OSQLParseNodesGarbageCollector*         OSQLParser::s_pGarbageCollector = 0;
    9072                 :         56 : ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XLocaleData>            OSQLParser::s_xLocaleData = NULL;
    9073                 :            : //-----------------------------------------------------------------------------
    9074                 :        776 : void setParser(OSQLParser* _pParser)
    9075                 :            : {
    9076                 :        776 :         xxx_pGLOBAL_SQLPARSER = _pParser;
    9077                 :        776 : }
    9078                 :            : // -------------------------------------------------------------------------
    9079                 :        558 : void OSQLParser::setParseTree(OSQLParseNode * pNewParseTree)
    9080                 :            : {
    9081 [ +  - ][ +  - ]:        558 :         ::osl::MutexGuard aGuard(getMutex());
    9082         [ +  - ]:        558 :         m_pParseTree = pNewParseTree;
    9083                 :        558 : }
    9084                 :            : //-----------------------------------------------------------------------------
    9085                 :            : 
    9086                 :            : /** Delete all comments in a query.
    9087                 :            : 
    9088                 :            :     See also getComment()/concatComment() implementation for
    9089                 :            :     OQueryController::translateStatement().
    9090                 :            :  */
    9091                 :        488 : static ::rtl::OUString delComment( const ::rtl::OUString& rQuery )
    9092                 :            : {
    9093                 :            :     // First a quick search if there is any "--" or "//" or "/*", if not then the whole
    9094                 :            :     // copying loop is pointless.
    9095         [ +  - ]:        976 :     if (rQuery.indexOfAsciiL( "--", 2, 0) < 0 && rQuery.indexOfAsciiL( "//", 2, 0) < 0 &&
           [ +  -  +  - ]
                 [ +  - ]
    9096                 :        488 :             rQuery.indexOfAsciiL( "/*", 2, 0) < 0)
    9097                 :        488 :         return rQuery;
    9098                 :            : 
    9099                 :          0 :     const sal_Unicode* pCopy = rQuery.getStr();
    9100                 :          0 :     sal_Int32 nQueryLen = rQuery.getLength();
    9101                 :          0 :     bool bIsText1  = false;     // "text"
    9102                 :          0 :     bool bIsText2  = false;     // 'text'
    9103                 :          0 :     bool bComment2 = false;     // /* comment */
    9104                 :          0 :     bool bComment  = false;     // -- or // comment
    9105                 :          0 :     ::rtl::OUStringBuffer aBuf(nQueryLen);
    9106         [ #  # ]:          0 :     for (sal_Int32 i=0; i < nQueryLen; ++i)
    9107                 :            :     {
    9108         [ #  # ]:          0 :         if (bComment2)
    9109                 :            :         {
    9110         [ #  # ]:          0 :             if ((i+1) < nQueryLen)
    9111                 :            :             {
    9112 [ #  # ][ #  # ]:          0 :                 if (pCopy[i]=='*' && pCopy[i+1]=='/')
    9113                 :            :                 {
    9114                 :          0 :                     bComment2 = false;
    9115                 :          0 :                     ++i;
    9116                 :            :                 }
    9117                 :            :             }
    9118                 :            :             else
    9119                 :            :             {
    9120                 :            :                 // comment can't close anymore, actually an error, but..
    9121                 :            :             }
    9122                 :          0 :             continue;
    9123                 :            :         }
    9124         [ #  # ]:          0 :         if (pCopy[i] == '\n')
    9125                 :          0 :             bComment = false;
    9126         [ #  # ]:          0 :         else if (!bComment)
    9127                 :            :         {
    9128 [ #  # ][ #  # ]:          0 :             if (pCopy[i] == '\"' && !bIsText2)
    9129                 :          0 :                 bIsText1 = !bIsText1;
    9130 [ #  # ][ #  # ]:          0 :             else if (pCopy[i] == '\'' && !bIsText1)
    9131                 :          0 :                 bIsText2 = !bIsText2;
    9132 [ #  # ][ #  # ]:          0 :             if (!bIsText1 && !bIsText2 && (i+1) < nQueryLen)
                 [ #  # ]
    9133                 :            :             {
    9134 [ #  # ][ #  # ]:          0 :                 if ((pCopy[i]=='-' && pCopy[i+1]=='-') || (pCopy[i]=='/' && pCopy[i+1]=='/'))
         [ #  # ][ #  # ]
    9135                 :          0 :                     bComment = true;
    9136 [ #  # ][ #  # ]:          0 :                 else if ((pCopy[i]=='/' && pCopy[i+1]=='*'))
    9137                 :          0 :                     bComment2 = true;
    9138                 :            :             }
    9139                 :            :         }
    9140 [ #  # ][ #  # ]:          0 :         if (!bComment && !bComment2)
    9141         [ #  # ]:          0 :             aBuf.append( &pCopy[i], 1);
    9142                 :            :     }
    9143         [ #  # ]:        488 :     return aBuf.makeStringAndClear();
    9144                 :            : }
    9145                 :            : //-----------------------------------------------------------------------------
    9146                 :        488 : OSQLParseNode* OSQLParser::parseTree(::rtl::OUString& rErrorMessage,
    9147                 :            :                                                                          const ::rtl::OUString& rStatement,
    9148                 :            :                                                                      sal_Bool bInternational)
    9149                 :            : {
    9150                 :            : 
    9151                 :            : 
    9152                 :            :         // Guard the parsing
    9153 [ +  - ][ +  - ]:        488 :         ::osl::MutexGuard aGuard(getMutex());
    9154                 :            :         // must be reset
    9155                 :        488 :         setParser(this);
    9156                 :            : 
    9157                 :            :         // delete comments before parsing
    9158         [ +  - ]:        488 :         ::rtl::OUString sTemp = delComment(rStatement);
    9159                 :            : 
    9160                 :            :         // defines how to scan
    9161         [ +  - ]:        488 :         s_pScanner->SetRule(s_pScanner->GetSQLRule()); // initial
    9162         [ +  - ]:        488 :         s_pScanner->prepareScan(sTemp, m_pContext, bInternational);
    9163                 :            : 
    9164                 :        488 :         SQLyylval.pParseNode = NULL;
    9165                 :            :         //      SQLyypvt = NULL;
    9166                 :        488 :         m_pParseTree = NULL;
    9167                 :        488 :         m_sErrorMessage = ::rtl::OUString();
    9168                 :            : 
    9169                 :            :         // ... und den Parser anwerfen ...
    9170 [ +  + ][ +  - ]:        488 :         if (SQLyyparse() != 0)
    9171                 :            :         {
    9172                 :            :                 // only set the error message, if it's not already set
    9173         [ +  - ]:          2 :                 if (!m_sErrorMessage.getLength())
    9174                 :          2 :                         m_sErrorMessage = s_pScanner->getErrorMessage();
    9175         [ +  - ]:          2 :                 if (!m_sErrorMessage.getLength())
    9176         [ +  - ]:          2 :                         m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_GENERAL);
    9177                 :            : 
    9178                 :          2 :                 rErrorMessage = m_sErrorMessage;
    9179                 :            : 
    9180                 :            :                 // clear the garbage collector
    9181 [ +  - ][ +  - ]:          2 :                 (*s_pGarbageCollector)->clearAndDelete();
    9182                 :          2 :                 return NULL;
    9183                 :            :         }
    9184                 :            :         else
    9185                 :            :         {
    9186 [ +  - ][ +  - ]:        486 :                 (*s_pGarbageCollector)->clear();
    9187                 :            : 
    9188                 :            :                 // Das Ergebnis liefern (den Root Parse Node):
    9189                 :            : 
    9190                 :            :                 //      OSL_ENSURE(Sdbyyval.pParseNode != NULL,"OSQLParser: Parser hat keinen ParseNode geliefert");
    9191                 :            :                 //      return Sdbyyval.pParseNode;
    9192                 :            :                 // geht nicht wegen Bug in MKS YACC-erzeugtem Code (es wird ein falscher ParseNode
    9193                 :            :                 // geliefert).
    9194                 :            : 
    9195                 :            :                 // Stattdessen setzt die Parse-Routine jetzt den Member pParseTree
    9196                 :            :                 // - einfach diesen zurueckliefern:
    9197                 :            :                 OSL_ENSURE(m_pParseTree != NULL,"OSQLParser: Parser hat keinen ParseTree geliefert");
    9198                 :        486 :                 return m_pParseTree;
    9199         [ +  - ]:        488 :         }
    9200                 :            : }
    9201                 :            : //-----------------------------------------------------------------------------
    9202                 :       2330 : ::rtl::OString OSQLParser::TokenIDToStr(sal_uInt32 nTokenID, const IParseContext* pContext)
    9203                 :            : {
    9204                 :       2330 :         ::rtl::OString aStr;
    9205         [ -  + ]:       2330 :         if (pContext)
    9206                 :            :         {
    9207                 :          0 :                 IParseContext::InternationalKeyCode eKeyCode = IParseContext::KEY_NONE;
    9208   [ #  #  #  #  :          0 :                 switch( nTokenID )
          #  #  #  #  #  
          #  #  #  #  #  
                      # ]
    9209                 :            :                 {
    9210                 :          0 :                         case SQL_TOKEN_LIKE: eKeyCode = IParseContext::KEY_LIKE; break;
    9211                 :          0 :                         case SQL_TOKEN_NOT: eKeyCode = IParseContext::KEY_NOT; break;
    9212                 :          0 :                         case SQL_TOKEN_NULL: eKeyCode = IParseContext::KEY_NULL; break;
    9213                 :          0 :                         case SQL_TOKEN_TRUE: eKeyCode = IParseContext::KEY_TRUE; break;
    9214                 :          0 :                         case SQL_TOKEN_FALSE: eKeyCode = IParseContext::KEY_FALSE; break;
    9215                 :          0 :                         case SQL_TOKEN_IS: eKeyCode = IParseContext::KEY_IS; break;
    9216                 :          0 :                         case SQL_TOKEN_BETWEEN: eKeyCode = IParseContext::KEY_BETWEEN; break;
    9217                 :          0 :                         case SQL_TOKEN_OR: eKeyCode = IParseContext::KEY_OR; break;
    9218                 :          0 :                         case SQL_TOKEN_AND: eKeyCode = IParseContext::KEY_AND; break;
    9219                 :          0 :                         case SQL_TOKEN_AVG: eKeyCode = IParseContext::KEY_AVG; break;
    9220                 :          0 :                         case SQL_TOKEN_COUNT: eKeyCode = IParseContext::KEY_COUNT; break;
    9221                 :          0 :                         case SQL_TOKEN_MAX: eKeyCode = IParseContext::KEY_MAX; break;
    9222                 :          0 :                         case SQL_TOKEN_MIN: eKeyCode = IParseContext::KEY_MIN; break;
    9223                 :          0 :                         case SQL_TOKEN_SUM: eKeyCode = IParseContext::KEY_SUM; break;
    9224                 :            :                 }
    9225         [ #  # ]:          0 :                 if ( eKeyCode != IParseContext::KEY_NONE )
    9226         [ #  # ]:          0 :                     aStr = pContext->getIntlKeywordAscii(eKeyCode);
    9227                 :            :         }
    9228                 :            : 
    9229         [ +  - ]:       2330 :         if (!aStr.getLength())
    9230                 :            :         {
    9231         [ +  - ]:       2330 :                 aStr = yytname[YYTRANSLATE(nTokenID)];
    9232         [ +  - ]:       2330 :                 if(!aStr.compareTo("SQL_TOKEN_",10))
    9233                 :       2330 :                         aStr = aStr.copy(10);
    9234                 :            :         }
    9235                 :       2330 :         return aStr;
    9236                 :            : }
    9237                 :            : 
    9238                 :            : #if OSL_DEBUG_LEVEL > 1
    9239                 :            : ::rtl::OUString OSQLParser::RuleIDToStr(sal_uInt32 nRuleID)
    9240                 :            : {
    9241                 :            :         OSL_ENSURE(nRuleID < SAL_N_ELEMENTS(yytname), "OSQLParser::RuleIDToStr: Invalid nRuleId!");
    9242                 :            :         return ::rtl::OUString::createFromAscii(yytname[nRuleID]);
    9243                 :            : }
    9244                 :            : #endif
    9245                 :            : 
    9246                 :            : //-----------------------------------------------------------------------------
    9247                 :       5148 : sal_uInt32 OSQLParser::StrToRuleID(const ::rtl::OString & rValue)
    9248                 :            : {
    9249                 :            :         // Search for the given name in yytname and return the index
    9250                 :            :         // (or UNKNOWN_RULE, if not found)
    9251                 :            :         static sal_uInt32 nLen = SAL_N_ELEMENTS(yytname);
    9252         [ +  + ]:     801008 :         for (sal_uInt32 i = YYTRANSLATE(SQL_TOKEN_INVALIDSYMBOL); i < (nLen-1); i++)
    9253                 :            :         {
    9254         [ +  + ]:     800644 :                 if (rValue == yytname[i])
    9255                 :       4784 :                         return i;
    9256                 :            :         }
    9257                 :            : 
    9258                 :            :         // Not found
    9259                 :       5148 :         return OSQLParseNode::UNKNOWN_RULE;
    9260                 :            : }
    9261                 :            : 
    9262                 :            : //-----------------------------------------------------------------------------
    9263                 :      13216 : OSQLParseNode::Rule OSQLParser::RuleIDToRule( sal_uInt32 _nRule )
    9264                 :            : {
    9265                 :      13216 :     return s_aReverseRuleIDLookup[ _nRule ];
    9266                 :            : }
    9267                 :            : 
    9268                 :            : //-----------------------------------------------------------------------------
    9269                 :     107496 : sal_uInt32 OSQLParser::RuleID(OSQLParseNode::Rule eRule)
    9270                 :            : {
    9271                 :     107496 :         return s_nRuleIDs[(sal_uInt16)eRule];
    9272                 :            : }
    9273                 :            : // -------------------------------------------------------------------------
    9274                 :         72 : sal_Int16 OSQLParser::buildNode(OSQLParseNode*& pAppend,OSQLParseNode* pCompare,OSQLParseNode* pLiteral,OSQLParseNode* pLiteral2)
    9275                 :            : {
    9276         [ +  - ]:         72 :         OSQLParseNode* pColumnRef = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
    9277         [ +  - ]:         72 :         pColumnRef->append(new OSQLInternalNode(m_sFieldName,SQL_NODE_NAME));
    9278                 :         72 :         OSQLParseNode* pComp = NULL;
    9279 [ -  + ][ #  # ]:         72 :         if ( SQL_ISTOKEN( pCompare, BETWEEN) && pLiteral2 )
         [ -  + ][ +  - ]
    9280         [ #  # ]:          0 :                 pComp = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::between_predicate_part_2));
    9281                 :            :         else
    9282         [ +  - ]:         72 :                 pComp = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::comparison_predicate));
    9283                 :            : 
    9284                 :         72 :         pComp->append(pColumnRef);
    9285                 :         72 :         pComp->append(pCompare);
    9286                 :         72 :         pComp->append(pLiteral);
    9287         [ -  + ]:         72 :         if ( pLiteral2 )
    9288                 :            :         {
    9289         [ #  # ]:          0 :                 pComp->append(new OSQLInternalNode(aEmptyString, SQL_NODE_KEYWORD,SQL_TOKEN_AND));
    9290                 :          0 :                 pComp->append(pLiteral2);
    9291                 :            :         }
    9292                 :         72 :         pAppend->append(pComp);
    9293                 :         72 :         return 1;
    9294                 :            : }
    9295                 :            : //-----------------------------------------------------------------------------
    9296                 :          0 : sal_Int16 OSQLParser::buildStringNodes(OSQLParseNode*& pLiteral)
    9297                 :            : {
    9298         [ #  # ]:          0 :         if(!pLiteral)
    9299                 :          0 :                 return 1;
    9300                 :            : 
    9301 [ #  # ][ #  # ]:          0 :         if(SQL_ISRULE(pLiteral,set_fct_spec) || SQL_ISRULE(pLiteral,general_set_fct) || SQL_ISRULE(pLiteral,column_ref)
         [ #  # ][ #  # ]
         [ #  # ][ #  #  
             #  #  #  # ]
                 [ #  # ]
    9302                 :          0 :                 || SQL_ISRULE(pLiteral,subquery))
    9303                 :          0 :                 return 1; // here I have a function that I can't transform into a string
    9304                 :            : 
    9305 [ #  # ][ #  # ]:          0 :         if(pLiteral->getNodeType() == SQL_NODE_INTNUM || pLiteral->getNodeType() == SQL_NODE_APPROXNUM || pLiteral->getNodeType() == SQL_NODE_ACCESS_DATE)
         [ #  # ][ #  # ]
    9306                 :            :         {
    9307                 :          0 :                 OSQLParseNode* pParent = pLiteral->getParent();
    9308                 :            : 
    9309         [ #  # ]:          0 :                 OSQLParseNode* pNewNode = new OSQLInternalNode(pLiteral->getTokenValue(), SQL_NODE_STRING);
    9310                 :          0 :                 pParent->replace(pLiteral, pNewNode);
    9311         [ #  # ]:          0 :                 delete pLiteral;
    9312                 :          0 :                 pLiteral = NULL;
    9313                 :          0 :                 return 1;
    9314                 :            :         }
    9315                 :            : 
    9316         [ #  # ]:          0 :         for(sal_uInt32 i=0;i<pLiteral->count();++i)
    9317                 :            :         {
    9318         [ #  # ]:          0 :                 OSQLParseNode* pChild = pLiteral->getChild(i);
    9319         [ #  # ]:          0 :                 buildStringNodes(pChild);
    9320                 :            :         }
    9321 [ #  # ][ #  # ]:          0 :         if(SQL_ISRULE(pLiteral,term) || SQL_ISRULE(pLiteral,value_exp_primary))
         [ #  # ][ #  # ]
                 [ #  # ]
    9322                 :            :         {
    9323                 :          0 :                 m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_COMPARE);
    9324                 :          0 :                 return 0;
    9325                 :            :         }
    9326                 :          0 :         return 1;
    9327                 :            : }
    9328                 :            : //-----------------------------------------------------------------------------
    9329                 :         72 : sal_Int16 OSQLParser::buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode* pLiteral)
    9330                 :            : {
    9331 [ +  - ][ +  - ]:         72 :         OSQLParseNode* pComp = new OSQLInternalNode(::rtl::OUString("="), SQL_NODE_EQUAL);
    9332         [ +  - ]:         72 :         return buildPredicateRule(pAppend,pLiteral,pComp);
    9333                 :            : }
    9334                 :            : 
    9335                 :            : 
    9336                 :            : //-----------------------------------------------------------------------------
    9337                 :          0 : void OSQLParser::reduceLiteral(OSQLParseNode*& pLiteral, sal_Bool bAppendBlank)
    9338                 :            : {
    9339                 :            :         OSL_ENSURE(pLiteral->isRule(), "This is no ::com::sun::star::chaos::Rule");
    9340                 :            :         OSL_ENSURE(pLiteral->count() == 2, "OSQLParser::ReduceLiteral() Invalid count");
    9341                 :          0 :         OSQLParseNode* pTemp = pLiteral;
    9342 [ #  # ][ #  # ]:          0 :         ::rtl::OUStringBuffer aValue(pLiteral->getChild(0)->getTokenValue());
    9343         [ #  # ]:          0 :         if (bAppendBlank)
    9344                 :            :         {
    9345         [ #  # ]:          0 :                 aValue.appendAscii(" ");
    9346                 :            :         }
    9347                 :            : 
    9348 [ #  # ][ #  # ]:          0 :         aValue.append(pLiteral->getChild(1)->getTokenValue());
    9349                 :            : 
    9350 [ #  # ][ #  # ]:          0 :         pLiteral = new OSQLInternalNode(aValue.makeStringAndClear(),SQL_NODE_STRING);
                 [ #  # ]
    9351 [ #  # ][ #  # ]:          0 :         delete pTemp;
    9352                 :          0 : }
    9353                 :            : 
    9354                 :            : // -------------------------------------------------------------------------
    9355                 :          0 : void OSQLParser::error(const sal_Char *fmt)
    9356                 :            : {
    9357         [ #  # ]:          0 :         if(!m_sErrorMessage.getLength())
    9358                 :            :         {
    9359         [ #  # ]:          0 :                 ::rtl::OUString sStr(fmt,strlen(fmt),RTL_TEXTENCODING_UTF8);
    9360                 :          0 :                 ::rtl::OUString sSQL_TOKEN("SQL_TOKEN_");
    9361                 :            : 
    9362                 :          0 :                 sal_Int32 nPos1 = sStr.indexOf(sSQL_TOKEN);
    9363         [ #  # ]:          0 :                 if(nPos1 != -1)
    9364                 :            :                 {
    9365                 :          0 :                         ::rtl::OUString sFirst  = sStr.copy(0,nPos1);
    9366                 :          0 :                         sal_Int32 nPos2 = sStr.indexOf(sSQL_TOKEN,nPos1+1);
    9367         [ #  # ]:          0 :                         if(nPos2 != -1)
    9368                 :            :                         {
    9369                 :          0 :                                 ::rtl::OUString sSecond = sStr.copy(nPos1+sSQL_TOKEN.getLength(),nPos2-nPos1-sSQL_TOKEN.getLength());
    9370                 :          0 :                                 sFirst  += sSecond;
    9371                 :          0 :                                 sFirst  += sStr.copy(nPos2+sSQL_TOKEN.getLength());
    9372                 :            :                         }
    9373                 :            :                         else
    9374                 :          0 :                                 sFirst += sStr.copy(nPos1+sSQL_TOKEN.getLength());
    9375                 :            : 
    9376                 :          0 :                         m_sErrorMessage = sFirst;
    9377                 :            :                 }
    9378                 :            :                 else
    9379                 :          0 :                         m_sErrorMessage = sStr;
    9380                 :            : 
    9381                 :          0 :                 ::rtl::OUString aError = s_pScanner->getErrorMessage();
    9382         [ #  # ]:          0 :                 if(aError.getLength())
    9383                 :            :                 {
    9384                 :          0 :                         m_sErrorMessage += ::rtl::OUString(", ");
    9385                 :          0 :                         m_sErrorMessage += aError;
    9386                 :          0 :                 }
    9387                 :            :         }
    9388                 :          0 : }
    9389                 :            : // -------------------------------------------------------------------------
    9390                 :      11662 : int OSQLParser::SQLlex()
    9391                 :            : {
    9392                 :      11662 :         return s_pScanner->SQLlex();
    9393 [ +  - ][ +  - ]:        168 : }
    9394                 :            : 
    9395                 :            : #if defined __SUNPRO_CC
    9396                 :            : #pragma enable_warn
    9397                 :            : #elif defined _MSC_VER
    9398                 :            : #pragma warning(pop)
    9399                 :            : #endif
    9400                 :            : 

Generated by: LCOV version 1.10