"Fossies" - the Fresh Open Source Software Archive

Member "grace-5.1.25/src/pars.c" (14 Feb 2015, 538607 Bytes) of package /linux/misc/grace-5.1.25.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "pars.c" see the Fossies "Dox" file reference documentation.

    1 /* A Bison parser, made by GNU Bison 3.0.2.  */
    2 
    3 /* Bison implementation for Yacc-like parsers in C
    4 
    5    Copyright (C) 1984, 1989-1990, 2000-2013 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 "3.0.2"
   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 
   62 
   63 
   64 /* Copy the first part of user declarations.  */
   65 #line 1 "pars.yacc" /* yacc.c:339  */
   66 
   67 /*
   68  * Grace - GRaphing, Advanced Computation and Exploration of data
   69  * 
   70  * Home page: http://plasma-gate.weizmann.ac.il/Grace/
   71  * 
   72  * Copyright (c) 1991-1995 Paul J Turner, Portland, OR
   73  * Copyright (c) 1996-2003 Grace Development Team
   74  * 
   75  * Maintained by Evgeny Stambulchik
   76  * 
   77  * 
   78  *                           All Rights Reserved
   79  * 
   80  *    This program is free software; you can redistribute it and/or modify
   81  *    it under the terms of the GNU General Public License as published by
   82  *    the Free Software Foundation; either version 2 of the License, or
   83  *    (at your option) any later version.
   84  * 
   85  *    This program is distributed in the hope that it will be useful,
   86  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
   87  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   88  *    GNU General Public License for more details.
   89  * 
   90  *    You should have received a copy of the GNU General Public License
   91  *    along with this program; if not, write to the Free Software
   92  *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   93  */
   94 
   95 /*  
   96  * 
   97  * evaluate expressions, commands, parameter files
   98  * 
   99  */
  100 
  101 #include <config.h>
  102 #include <cmath.h>
  103 
  104 #include <stdio.h>
  105 #include <stdlib.h>
  106 #include <unistd.h>
  107 #include <string.h>
  108 #include <ctype.h>
  109 #if defined(HAVE_SYS_PARAM_H)
  110 #  include <sys/param.h>
  111 #endif
  112 
  113 /* bison not always handles it well itself */
  114 #if defined(HAVE_ALLOCA_H)
  115 #  include <alloca.h>
  116 #endif
  117 
  118 #include "defines.h"
  119 #include "globals.h"
  120 #include "cephes/cephes.h"
  121 #include "device.h"
  122 #include "utils.h"
  123 #include "files.h"
  124 #include "graphs.h"
  125 #include "graphutils.h"
  126 #include "plotone.h"
  127 #include "dlmodule.h"
  128 #include "t1fonts.h"
  129 #include "ssdata.h"
  130 #include "protos.h"
  131 #include "parser.h"
  132 #include "mathstuff.h"
  133 
  134 #define MAX_PARS_STRING_LENGTH  4096
  135 
  136 #define CAST_DBL_TO_BOOL(x) (fabs(x) < 0.5 ? 0:1)
  137 
  138 typedef double (*ParserFnc)();
  139 
  140 extern graph *g;
  141 
  142 static double  s_result;    /* return value if a scalar expression is scanned*/
  143 static grarr *v_result;    /* return value if a vector expression is scanned*/
  144 
  145 static int expr_parsed, vexpr_parsed;
  146 
  147 static int interr;
  148 
  149 static grarr freelist[100];     /* temporary vectors */
  150 static int fcnt = 0;        /* number of the temporary vectors allocated */
  151 
  152 static target trgt_pool[100];   /* pool of temporary targets */
  153 static int tgtn = 0;        /* number of the temporary targets used */
  154 
  155 int naxis = 0;  /* current axis */
  156 static int curline, curbox, curellipse, curstring;
  157 /* these guys attempt to avoid reentrancy problems */
  158 static int gotparams = FALSE, gotread = FALSE, gotnlfit = FALSE; 
  159 int readxformat;
  160 static int nlfit_gno, nlfit_setno, nlfit_nsteps;
  161 static double *nlfit_warray = NULL;
  162 
  163 char batchfile[GR_MAXPATHLEN] = "",
  164      paramfile[GR_MAXPATHLEN] = "",
  165      readfile[GR_MAXPATHLEN] = "";
  166 
  167 static char f_string[MAX_PARS_STRING_LENGTH]; /* buffer for string to parse */
  168 static int pos;
  169 
  170 /* the graph, set, and its length of the parser's current state */
  171 static int whichgraph;
  172 static int whichset;
  173 
  174 /* the graph and set of the left part of a vector assignment */
  175 static int vasgn_gno;
  176 static int vasgn_setno;
  177 
  178 static int alias_force = FALSE; /* controls whether aliases can override
  179                                                        existing keywords */
  180 
  181 extern char print_file[];
  182 extern char *close_input;
  183 
  184 static int filltype_obs;
  185 
  186 static int index_shift = 0;     /* 0 for C, 1 for F77 index notation */
  187 
  188 static void free_tmpvrbl(grarr *vrbl);
  189 static void copy_vrbl(grarr *dest, grarr *src);
  190 static int find_set_bydata(double *data, target *tgt);
  191 
  192 static int getcharstr(void);
  193 static void ungetchstr(void);
  194 static int follow(int expect, int ifyes, int ifno);
  195 
  196 static int yylex(void);
  197 static int yyparse(void);
  198 static void yyerror(char *s);
  199 
  200 static int findf(symtab_entry *keytable, char *s);
  201 
  202 /* Total (intrinsic + user-defined) list of functions and keywords */
  203 symtab_entry *key;
  204 
  205 
  206 #line 207 "y.tab.c" /* yacc.c:339  */
  207 
  208 # ifndef YY_NULLPTR
  209 #  if defined __cplusplus && 201103L <= __cplusplus
  210 #   define YY_NULLPTR nullptr
  211 #  else
  212 #   define YY_NULLPTR 0
  213 #  endif
  214 # endif
  215 
  216 /* Enabling verbose error messages.  */
  217 #ifdef YYERROR_VERBOSE
  218 # undef YYERROR_VERBOSE
  219 # define YYERROR_VERBOSE 1
  220 #else
  221 # define YYERROR_VERBOSE 0
  222 #endif
  223 
  224 
  225 /* Debug traces.  */
  226 #ifndef YYDEBUG
  227 # define YYDEBUG 1
  228 #endif
  229 #if YYDEBUG
  230 extern int yydebug;
  231 #endif
  232 
  233 /* Token type.  */
  234 #ifndef YYTOKENTYPE
  235 # define YYTOKENTYPE
  236   enum yytokentype
  237   {
  238     KEY_VAR = 258,
  239     KEY_VEC = 259,
  240     KEY_CONST = 260,
  241     KEY_UNIT = 261,
  242     KEY_FUNC_I = 262,
  243     KEY_FUNC_D = 263,
  244     KEY_FUNC_NN = 264,
  245     KEY_FUNC_ND = 265,
  246     KEY_FUNC_DD = 266,
  247     KEY_FUNC_NND = 267,
  248     KEY_FUNC_PPD = 268,
  249     KEY_FUNC_PPPD = 269,
  250     KEY_FUNC_PPPPD = 270,
  251     KEY_FUNC_PPPPPD = 271,
  252     INDEX = 272,
  253     DATE = 273,
  254     VAR_D = 274,
  255     VEC_D = 275,
  256     CONSTANT = 276,
  257     UCONSTANT = 277,
  258     FUNC_I = 278,
  259     FUNC_D = 279,
  260     FUNC_NN = 280,
  261     FUNC_ND = 281,
  262     FUNC_DD = 282,
  263     FUNC_NND = 283,
  264     FUNC_PPD = 284,
  265     FUNC_PPPD = 285,
  266     FUNC_PPPPD = 286,
  267     FUNC_PPPPPD = 287,
  268     ABOVE = 288,
  269     ABSOLUTE = 289,
  270     ALIAS = 290,
  271     ALT = 291,
  272     ALTXAXIS = 292,
  273     ALTYAXIS = 293,
  274     ANGLE = 294,
  275     ANTIALIASING = 295,
  276     APPEND = 296,
  277     ARRANGE = 297,
  278     ARROW = 298,
  279     ASCENDING = 299,
  280     ASPLINE = 300,
  281     AUTO = 301,
  282     AUTOSCALE = 302,
  283     AUTOTICKS = 303,
  284     AVALUE = 304,
  285     AVG = 305,
  286     BACKGROUND = 306,
  287     BAR = 307,
  288     BARDY = 308,
  289     BARDYDY = 309,
  290     BASELINE = 310,
  291     BATCH = 311,
  292     BEGIN = 312,
  293     BELOW = 313,
  294     BETWEEN = 314,
  295     BLACKMAN = 315,
  296     BLOCK = 316,
  297     BOTH = 317,
  298     BOTTOM = 318,
  299     BOX = 319,
  300     CD = 320,
  301     CENTER = 321,
  302     CHAR = 322,
  303     CHART = 323,
  304     CHRSTR = 324,
  305     CLEAR = 325,
  306     CLICK = 326,
  307     CLIP = 327,
  308     CLOSE = 328,
  309     COEFFICIENTS = 329,
  310     COLOR = 330,
  311     COMMENT = 331,
  312     COMPLEX = 332,
  313     COMPUTING = 333,
  314     CONSTRAINTS = 334,
  315     COPY = 335,
  316     CYCLE = 336,
  317     DAYMONTH = 337,
  318     DAYOFWEEKL = 338,
  319     DAYOFWEEKS = 339,
  320     DAYOFYEAR = 340,
  321     DDMMYY = 341,
  322     DECIMAL = 342,
  323     DEF = 343,
  324     DEFAULT = 344,
  325     DEFINE = 345,
  326     DEGREESLAT = 346,
  327     DEGREESLON = 347,
  328     DEGREESMMLAT = 348,
  329     DEGREESMMLON = 349,
  330     DEGREESMMSSLAT = 350,
  331     DEGREESMMSSLON = 351,
  332     DESCENDING = 352,
  333     DESCRIPTION = 353,
  334     DEVICE = 354,
  335     DFT = 355,
  336     DIFFERENCE = 356,
  337     DISK = 357,
  338     DOWN = 358,
  339     DPI = 359,
  340     DROP = 360,
  341     DROPLINE = 361,
  342     ECHO = 362,
  343     ELLIPSE = 363,
  344     ENGINEERING = 364,
  345     ERRORBAR = 365,
  346     EXIT = 366,
  347     EXPONENTIAL = 367,
  348     FFT = 368,
  349     FILEP = 369,
  350     FILL = 370,
  351     FIT = 371,
  352     FIXED = 372,
  353     FIXEDPOINT = 373,
  354     FLUSH = 374,
  355     FOCUS = 375,
  356     FOLLOWS = 376,
  357     FONTP = 377,
  358     FORCE = 378,
  359     FORMAT = 379,
  360     FORMULA = 380,
  361     FRAMEP = 381,
  362     FREE = 382,
  363     FREQUENCY = 383,
  364     FROM = 384,
  365     GENERAL = 385,
  366     GETP = 386,
  367     GRAPH = 387,
  368     GRAPHNO = 388,
  369     GRID = 389,
  370     HAMMING = 390,
  371     HANNING = 391,
  372     HARDCOPY = 392,
  373     HBAR = 393,
  374     HELP = 394,
  375     HGAP = 395,
  376     HIDDEN = 396,
  377     HISTOGRAM = 397,
  378     HMS = 398,
  379     HORIZI = 399,
  380     HORIZONTAL = 400,
  381     HORIZO = 401,
  382     ID = 402,
  383     IFILTER = 403,
  384     IMAX = 404,
  385     IMIN = 405,
  386     IN = 406,
  387     INCREMENT = 407,
  388     INOUT = 408,
  389     INT = 409,
  390     INTEGRATE = 410,
  391     INTERPOLATE = 411,
  392     INVDFT = 412,
  393     INVERT = 413,
  394     INVFFT = 414,
  395     JUST = 415,
  396     KILL = 416,
  397     LABEL = 417,
  398     LANDSCAPE = 418,
  399     LAYOUT = 419,
  400     LEFT = 420,
  401     LEGEND = 421,
  402     LENGTH = 422,
  403     LINCONV = 423,
  404     LINE = 424,
  405     LINEAR = 425,
  406     LINESTYLE = 426,
  407     LINEWIDTH = 427,
  408     LINK = 428,
  409     LOAD = 429,
  410     LOCTYPE = 430,
  411     LOG = 431,
  412     LOGARITHMIC = 432,
  413     LOGIT = 433,
  414     LOGX = 434,
  415     LOGXY = 435,
  416     LOGY = 436,
  417     MAGIC = 437,
  418     MAGNITUDE = 438,
  419     MAJOR = 439,
  420     MAP = 440,
  421     MAXP = 441,
  422     MESH = 442,
  423     MINP = 443,
  424     MINOR = 444,
  425     MMDD = 445,
  426     MMDDHMS = 446,
  427     MMDDYY = 447,
  428     MMDDYYHMS = 448,
  429     MMSSLAT = 449,
  430     MMSSLON = 450,
  431     MMYY = 451,
  432     MONTHDAY = 452,
  433     MONTHL = 453,
  434     MONTHS = 454,
  435     MONTHSY = 455,
  436     MOVE = 456,
  437     NEGATE = 457,
  438     NEW = 458,
  439     NONE = 459,
  440     NONLFIT = 460,
  441     NORMAL = 461,
  442     NXY = 462,
  443     OFF = 463,
  444     OFFSET = 464,
  445     OFFSETX = 465,
  446     OFFSETY = 466,
  447     OFILTER = 467,
  448     ON = 468,
  449     ONREAD = 469,
  450     OP = 470,
  451     OPPOSITE = 471,
  452     OUT = 472,
  453     PAGE = 473,
  454     PARA = 474,
  455     PARAMETERS = 475,
  456     PARZEN = 476,
  457     PATTERN = 477,
  458     PERIOD = 478,
  459     PERP = 479,
  460     PHASE = 480,
  461     PIE = 481,
  462     PIPE = 482,
  463     PLACE = 483,
  464     POINT = 484,
  465     POLAR = 485,
  466     POLYI = 486,
  467     POLYO = 487,
  468     POP = 488,
  469     PORTRAIT = 489,
  470     POWER = 490,
  471     PREC = 491,
  472     PREPEND = 492,
  473     PRINT = 493,
  474     PS = 494,
  475     PUSH = 495,
  476     PUTP = 496,
  477     RAND = 497,
  478     READ = 498,
  479     REAL = 499,
  480     RECIPROCAL = 500,
  481     REDRAW = 501,
  482     REFERENCE = 502,
  483     REGNUM = 503,
  484     REGRESS = 504,
  485     RESIZE = 505,
  486     RESTRICT = 506,
  487     REVERSE = 507,
  488     RIGHT = 508,
  489     RISER = 509,
  490     ROT = 510,
  491     ROUNDED = 511,
  492     RSUM = 512,
  493     RULE = 513,
  494     RUNAVG = 514,
  495     RUNMAX = 515,
  496     RUNMED = 516,
  497     RUNMIN = 517,
  498     RUNSTD = 518,
  499     SAVEALL = 519,
  500     SCALE = 520,
  501     SCIENTIFIC = 521,
  502     SCROLL = 522,
  503     SD = 523,
  504     SET = 524,
  505     SETNUM = 525,
  506     SFORMAT = 526,
  507     SIGN = 527,
  508     SIZE = 528,
  509     SKIP = 529,
  510     SLEEP = 530,
  511     SMITH = 531,
  512     SORT = 532,
  513     SOURCE = 533,
  514     SPEC = 534,
  515     SPLINE = 535,
  516     SPLIT = 536,
  517     STACK = 537,
  518     STACKED = 538,
  519     STACKEDBAR = 539,
  520     STACKEDHBAR = 540,
  521     STAGGER = 541,
  522     START = 542,
  523     STOP = 543,
  524     STRING = 544,
  525     SUM = 545,
  526     SUBTITLE = 546,
  527     SWAP = 547,
  528     SYMBOL = 548,
  529     TARGET = 549,
  530     TICKLABEL = 550,
  531     TICKP = 551,
  532     TICKSP = 552,
  533     TIMER = 553,
  534     TIMESTAMP = 554,
  535     TITLE = 555,
  536     TO = 556,
  537     TOP = 557,
  538     TRIANGULAR = 558,
  539     TYPE = 559,
  540     UP = 560,
  541     UPDATEALL = 561,
  542     USE = 562,
  543     VERSION = 563,
  544     VERTI = 564,
  545     VERTICAL = 565,
  546     VERTO = 566,
  547     VGAP = 567,
  548     VIEW = 568,
  549     VX1 = 569,
  550     VX2 = 570,
  551     VXMAX = 571,
  552     VY1 = 572,
  553     VY2 = 573,
  554     VYMAX = 574,
  555     WELCH = 575,
  556     WITH = 576,
  557     WORLD = 577,
  558     WRAP = 578,
  559     WRITE = 579,
  560     WX1 = 580,
  561     WX2 = 581,
  562     WY1 = 582,
  563     WY2 = 583,
  564     X_TOK = 584,
  565     X0 = 585,
  566     X1 = 586,
  567     XAXES = 587,
  568     XAXIS = 588,
  569     XCOR = 589,
  570     XMAX = 590,
  571     XMIN = 591,
  572     XY = 592,
  573     XYAXES = 593,
  574     XYBOXPLOT = 594,
  575     XYCOLOR = 595,
  576     XYCOLPAT = 596,
  577     XYDX = 597,
  578     XYDXDX = 598,
  579     XYDXDXDYDY = 599,
  580     XYDXDY = 600,
  581     XYDY = 601,
  582     XYDYDY = 602,
  583     XYHILO = 603,
  584     XYR = 604,
  585     XYSIZE = 605,
  586     XYSTRING = 606,
  587     XYVMAP = 607,
  588     XYZ = 608,
  589     Y_TOK = 609,
  590     Y0 = 610,
  591     Y1 = 611,
  592     Y2 = 612,
  593     Y3 = 613,
  594     Y4 = 614,
  595     YAXES = 615,
  596     YAXIS = 616,
  597     YEAR = 617,
  598     YMAX = 618,
  599     YMIN = 619,
  600     YYMMDD = 620,
  601     YYMMDDHMS = 621,
  602     ZERO = 622,
  603     ZNORM = 623,
  604     FITPARM = 624,
  605     FITPMAX = 625,
  606     FITPMIN = 626,
  607     NUMBER = 627,
  608     NEW_TOKEN = 628,
  609     OR = 629,
  610     AND = 630,
  611     GT = 631,
  612     LT = 632,
  613     LE = 633,
  614     GE = 634,
  615     EQ = 635,
  616     NE = 636,
  617     UMINUS = 637,
  618     NOT = 638
  619   };
  620 #endif
  621 /* Tokens.  */
  622 #define KEY_VAR 258
  623 #define KEY_VEC 259
  624 #define KEY_CONST 260
  625 #define KEY_UNIT 261
  626 #define KEY_FUNC_I 262
  627 #define KEY_FUNC_D 263
  628 #define KEY_FUNC_NN 264
  629 #define KEY_FUNC_ND 265
  630 #define KEY_FUNC_DD 266
  631 #define KEY_FUNC_NND 267
  632 #define KEY_FUNC_PPD 268
  633 #define KEY_FUNC_PPPD 269
  634 #define KEY_FUNC_PPPPD 270
  635 #define KEY_FUNC_PPPPPD 271
  636 #define INDEX 272
  637 #define DATE 273
  638 #define VAR_D 274
  639 #define VEC_D 275
  640 #define CONSTANT 276
  641 #define UCONSTANT 277
  642 #define FUNC_I 278
  643 #define FUNC_D 279
  644 #define FUNC_NN 280
  645 #define FUNC_ND 281
  646 #define FUNC_DD 282
  647 #define FUNC_NND 283
  648 #define FUNC_PPD 284
  649 #define FUNC_PPPD 285
  650 #define FUNC_PPPPD 286
  651 #define FUNC_PPPPPD 287
  652 #define ABOVE 288
  653 #define ABSOLUTE 289
  654 #define ALIAS 290
  655 #define ALT 291
  656 #define ALTXAXIS 292
  657 #define ALTYAXIS 293
  658 #define ANGLE 294
  659 #define ANTIALIASING 295
  660 #define APPEND 296
  661 #define ARRANGE 297
  662 #define ARROW 298
  663 #define ASCENDING 299
  664 #define ASPLINE 300
  665 #define AUTO 301
  666 #define AUTOSCALE 302
  667 #define AUTOTICKS 303
  668 #define AVALUE 304
  669 #define AVG 305
  670 #define BACKGROUND 306
  671 #define BAR 307
  672 #define BARDY 308
  673 #define BARDYDY 309
  674 #define BASELINE 310
  675 #define BATCH 311
  676 #define BEGIN 312
  677 #define BELOW 313
  678 #define BETWEEN 314
  679 #define BLACKMAN 315
  680 #define BLOCK 316
  681 #define BOTH 317
  682 #define BOTTOM 318
  683 #define BOX 319
  684 #define CD 320
  685 #define CENTER 321
  686 #define CHAR 322
  687 #define CHART 323
  688 #define CHRSTR 324
  689 #define CLEAR 325
  690 #define CLICK 326
  691 #define CLIP 327
  692 #define CLOSE 328
  693 #define COEFFICIENTS 329
  694 #define COLOR 330
  695 #define COMMENT 331
  696 #define COMPLEX 332
  697 #define COMPUTING 333
  698 #define CONSTRAINTS 334
  699 #define COPY 335
  700 #define CYCLE 336
  701 #define DAYMONTH 337
  702 #define DAYOFWEEKL 338
  703 #define DAYOFWEEKS 339
  704 #define DAYOFYEAR 340
  705 #define DDMMYY 341
  706 #define DECIMAL 342
  707 #define DEF 343
  708 #define DEFAULT 344
  709 #define DEFINE 345
  710 #define DEGREESLAT 346
  711 #define DEGREESLON 347
  712 #define DEGREESMMLAT 348
  713 #define DEGREESMMLON 349
  714 #define DEGREESMMSSLAT 350
  715 #define DEGREESMMSSLON 351
  716 #define DESCENDING 352
  717 #define DESCRIPTION 353
  718 #define DEVICE 354
  719 #define DFT 355
  720 #define DIFFERENCE 356
  721 #define DISK 357
  722 #define DOWN 358
  723 #define DPI 359
  724 #define DROP 360
  725 #define DROPLINE 361
  726 #define ECHO 362
  727 #define ELLIPSE 363
  728 #define ENGINEERING 364
  729 #define ERRORBAR 365
  730 #define EXIT 366
  731 #define EXPONENTIAL 367
  732 #define FFT 368
  733 #define FILEP 369
  734 #define FILL 370
  735 #define FIT 371
  736 #define FIXED 372
  737 #define FIXEDPOINT 373
  738 #define FLUSH 374
  739 #define FOCUS 375
  740 #define FOLLOWS 376
  741 #define FONTP 377
  742 #define FORCE 378
  743 #define FORMAT 379
  744 #define FORMULA 380
  745 #define FRAMEP 381
  746 #define FREE 382
  747 #define FREQUENCY 383
  748 #define FROM 384
  749 #define GENERAL 385
  750 #define GETP 386
  751 #define GRAPH 387
  752 #define GRAPHNO 388
  753 #define GRID 389
  754 #define HAMMING 390
  755 #define HANNING 391
  756 #define HARDCOPY 392
  757 #define HBAR 393
  758 #define HELP 394
  759 #define HGAP 395
  760 #define HIDDEN 396
  761 #define HISTOGRAM 397
  762 #define HMS 398
  763 #define HORIZI 399
  764 #define HORIZONTAL 400
  765 #define HORIZO 401
  766 #define ID 402
  767 #define IFILTER 403
  768 #define IMAX 404
  769 #define IMIN 405
  770 #define IN 406
  771 #define INCREMENT 407
  772 #define INOUT 408
  773 #define INT 409
  774 #define INTEGRATE 410
  775 #define INTERPOLATE 411
  776 #define INVDFT 412
  777 #define INVERT 413
  778 #define INVFFT 414
  779 #define JUST 415
  780 #define KILL 416
  781 #define LABEL 417
  782 #define LANDSCAPE 418
  783 #define LAYOUT 419
  784 #define LEFT 420
  785 #define LEGEND 421
  786 #define LENGTH 422
  787 #define LINCONV 423
  788 #define LINE 424
  789 #define LINEAR 425
  790 #define LINESTYLE 426
  791 #define LINEWIDTH 427
  792 #define LINK 428
  793 #define LOAD 429
  794 #define LOCTYPE 430
  795 #define LOG 431
  796 #define LOGARITHMIC 432
  797 #define LOGIT 433
  798 #define LOGX 434
  799 #define LOGXY 435
  800 #define LOGY 436
  801 #define MAGIC 437
  802 #define MAGNITUDE 438
  803 #define MAJOR 439
  804 #define MAP 440
  805 #define MAXP 441
  806 #define MESH 442
  807 #define MINP 443
  808 #define MINOR 444
  809 #define MMDD 445
  810 #define MMDDHMS 446
  811 #define MMDDYY 447
  812 #define MMDDYYHMS 448
  813 #define MMSSLAT 449
  814 #define MMSSLON 450
  815 #define MMYY 451
  816 #define MONTHDAY 452
  817 #define MONTHL 453
  818 #define MONTHS 454
  819 #define MONTHSY 455
  820 #define MOVE 456
  821 #define NEGATE 457
  822 #define NEW 458
  823 #define NONE 459
  824 #define NONLFIT 460
  825 #define NORMAL 461
  826 #define NXY 462
  827 #define OFF 463
  828 #define OFFSET 464
  829 #define OFFSETX 465
  830 #define OFFSETY 466
  831 #define OFILTER 467
  832 #define ON 468
  833 #define ONREAD 469
  834 #define OP 470
  835 #define OPPOSITE 471
  836 #define OUT 472
  837 #define PAGE 473
  838 #define PARA 474
  839 #define PARAMETERS 475
  840 #define PARZEN 476
  841 #define PATTERN 477
  842 #define PERIOD 478
  843 #define PERP 479
  844 #define PHASE 480
  845 #define PIE 481
  846 #define PIPE 482
  847 #define PLACE 483
  848 #define POINT 484
  849 #define POLAR 485
  850 #define POLYI 486
  851 #define POLYO 487
  852 #define POP 488
  853 #define PORTRAIT 489
  854 #define POWER 490
  855 #define PREC 491
  856 #define PREPEND 492
  857 #define PRINT 493
  858 #define PS 494
  859 #define PUSH 495
  860 #define PUTP 496
  861 #define RAND 497
  862 #define READ 498
  863 #define REAL 499
  864 #define RECIPROCAL 500
  865 #define REDRAW 501
  866 #define REFERENCE 502
  867 #define REGNUM 503
  868 #define REGRESS 504
  869 #define RESIZE 505
  870 #define RESTRICT 506
  871 #define REVERSE 507
  872 #define RIGHT 508
  873 #define RISER 509
  874 #define ROT 510
  875 #define ROUNDED 511
  876 #define RSUM 512
  877 #define RULE 513
  878 #define RUNAVG 514
  879 #define RUNMAX 515
  880 #define RUNMED 516
  881 #define RUNMIN 517
  882 #define RUNSTD 518
  883 #define SAVEALL 519
  884 #define SCALE 520
  885 #define SCIENTIFIC 521
  886 #define SCROLL 522
  887 #define SD 523
  888 #define SET 524
  889 #define SETNUM 525
  890 #define SFORMAT 526
  891 #define SIGN 527
  892 #define SIZE 528
  893 #define SKIP 529
  894 #define SLEEP 530
  895 #define SMITH 531
  896 #define SORT 532
  897 #define SOURCE 533
  898 #define SPEC 534
  899 #define SPLINE 535
  900 #define SPLIT 536
  901 #define STACK 537
  902 #define STACKED 538
  903 #define STACKEDBAR 539
  904 #define STACKEDHBAR 540
  905 #define STAGGER 541
  906 #define START 542
  907 #define STOP 543
  908 #define STRING 544
  909 #define SUM 545
  910 #define SUBTITLE 546
  911 #define SWAP 547
  912 #define SYMBOL 548
  913 #define TARGET 549
  914 #define TICKLABEL 550
  915 #define TICKP 551
  916 #define TICKSP 552
  917 #define TIMER 553
  918 #define TIMESTAMP 554
  919 #define TITLE 555
  920 #define TO 556
  921 #define TOP 557
  922 #define TRIANGULAR 558
  923 #define TYPE 559
  924 #define UP 560
  925 #define UPDATEALL 561
  926 #define USE 562
  927 #define VERSION 563
  928 #define VERTI 564
  929 #define VERTICAL 565
  930 #define VERTO 566
  931 #define VGAP 567
  932 #define VIEW 568
  933 #define VX1 569
  934 #define VX2 570
  935 #define VXMAX 571
  936 #define VY1 572
  937 #define VY2 573
  938 #define VYMAX 574
  939 #define WELCH 575
  940 #define WITH 576
  941 #define WORLD 577
  942 #define WRAP 578
  943 #define WRITE 579
  944 #define WX1 580
  945 #define WX2 581
  946 #define WY1 582
  947 #define WY2 583
  948 #define X_TOK 584
  949 #define X0 585
  950 #define X1 586
  951 #define XAXES 587
  952 #define XAXIS 588
  953 #define XCOR 589
  954 #define XMAX 590
  955 #define XMIN 591
  956 #define XY 592
  957 #define XYAXES 593
  958 #define XYBOXPLOT 594
  959 #define XYCOLOR 595
  960 #define XYCOLPAT 596
  961 #define XYDX 597
  962 #define XYDXDX 598
  963 #define XYDXDXDYDY 599
  964 #define XYDXDY 600
  965 #define XYDY 601
  966 #define XYDYDY 602
  967 #define XYHILO 603
  968 #define XYR 604
  969 #define XYSIZE 605
  970 #define XYSTRING 606
  971 #define XYVMAP 607
  972 #define XYZ 608
  973 #define Y_TOK 609
  974 #define Y0 610
  975 #define Y1 611
  976 #define Y2 612
  977 #define Y3 613
  978 #define Y4 614
  979 #define YAXES 615
  980 #define YAXIS 616
  981 #define YEAR 617
  982 #define YMAX 618
  983 #define YMIN 619
  984 #define YYMMDD 620
  985 #define YYMMDDHMS 621
  986 #define ZERO 622
  987 #define ZNORM 623
  988 #define FITPARM 624
  989 #define FITPMAX 625
  990 #define FITPMIN 626
  991 #define NUMBER 627
  992 #define NEW_TOKEN 628
  993 #define OR 629
  994 #define AND 630
  995 #define GT 631
  996 #define LT 632
  997 #define LE 633
  998 #define GE 634
  999 #define EQ 635
 1000 #define NE 636
 1001 #define UMINUS 637
 1002 #define NOT 638
 1003 
 1004 /* Value type.  */
 1005 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 1006 typedef union YYSTYPE YYSTYPE;
 1007 union YYSTYPE
 1008 {
 1009 #line 142 "pars.yacc" /* yacc.c:355  */
 1010 
 1011     int     ival;
 1012     double  dval;
 1013     char   *sval;
 1014     double *dptr;
 1015     target *trgt;
 1016     grarr  *vrbl;
 1017 
 1018 #line 1019 "y.tab.c" /* yacc.c:355  */
 1019 };
 1020 # define YYSTYPE_IS_TRIVIAL 1
 1021 # define YYSTYPE_IS_DECLARED 1
 1022 #endif
 1023 
 1024 
 1025 extern YYSTYPE yylval;
 1026 
 1027 int yyparse (void);
 1028 
 1029 
 1030 
 1031 /* Copy the second part of user declarations.  */
 1032 
 1033 #line 1034 "y.tab.c" /* yacc.c:358  */
 1034 
 1035 #ifdef short
 1036 # undef short
 1037 #endif
 1038 
 1039 #ifdef YYTYPE_UINT8
 1040 typedef YYTYPE_UINT8 yytype_uint8;
 1041 #else
 1042 typedef unsigned char yytype_uint8;
 1043 #endif
 1044 
 1045 #ifdef YYTYPE_INT8
 1046 typedef YYTYPE_INT8 yytype_int8;
 1047 #else
 1048 typedef signed char yytype_int8;
 1049 #endif
 1050 
 1051 #ifdef YYTYPE_UINT16
 1052 typedef YYTYPE_UINT16 yytype_uint16;
 1053 #else
 1054 typedef unsigned short int yytype_uint16;
 1055 #endif
 1056 
 1057 #ifdef YYTYPE_INT16
 1058 typedef YYTYPE_INT16 yytype_int16;
 1059 #else
 1060 typedef short int yytype_int16;
 1061 #endif
 1062 
 1063 #ifndef YYSIZE_T
 1064 # ifdef __SIZE_TYPE__
 1065 #  define YYSIZE_T __SIZE_TYPE__
 1066 # elif defined size_t
 1067 #  define YYSIZE_T size_t
 1068 # elif ! defined YYSIZE_T
 1069 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 1070 #  define YYSIZE_T size_t
 1071 # else
 1072 #  define YYSIZE_T unsigned int
 1073 # endif
 1074 #endif
 1075 
 1076 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
 1077 
 1078 #ifndef YY_
 1079 # if defined YYENABLE_NLS && YYENABLE_NLS
 1080 #  if ENABLE_NLS
 1081 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
 1082 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
 1083 #  endif
 1084 # endif
 1085 # ifndef YY_
 1086 #  define YY_(Msgid) Msgid
 1087 # endif
 1088 #endif
 1089 
 1090 #ifndef YY_ATTRIBUTE
 1091 # if (defined __GNUC__                                               \
 1092       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
 1093      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
 1094 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
 1095 # else
 1096 #  define YY_ATTRIBUTE(Spec) /* empty */
 1097 # endif
 1098 #endif
 1099 
 1100 #ifndef YY_ATTRIBUTE_PURE
 1101 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
 1102 #endif
 1103 
 1104 #ifndef YY_ATTRIBUTE_UNUSED
 1105 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 1106 #endif
 1107 
 1108 #if !defined _Noreturn \
 1109      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
 1110 # if defined _MSC_VER && 1200 <= _MSC_VER
 1111 #  define _Noreturn __declspec (noreturn)
 1112 # else
 1113 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
 1114 # endif
 1115 #endif
 1116 
 1117 /* Suppress unused-variable warnings by "using" E.  */
 1118 #if ! defined lint || defined __GNUC__
 1119 # define YYUSE(E) ((void) (E))
 1120 #else
 1121 # define YYUSE(E) /* empty */
 1122 #endif
 1123 
 1124 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
 1125 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 1126 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
 1127     _Pragma ("GCC diagnostic push") \
 1128     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
 1129     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
 1130 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
 1131     _Pragma ("GCC diagnostic pop")
 1132 #else
 1133 # define YY_INITIAL_VALUE(Value) Value
 1134 #endif
 1135 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 1136 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 1137 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
 1138 #endif
 1139 #ifndef YY_INITIAL_VALUE
 1140 # define YY_INITIAL_VALUE(Value) /* Nothing. */
 1141 #endif
 1142 
 1143 
 1144 #if ! defined yyoverflow || YYERROR_VERBOSE
 1145 
 1146 /* The parser invokes alloca or malloc; define the necessary symbols.  */
 1147 
 1148 # ifdef YYSTACK_USE_ALLOCA
 1149 #  if YYSTACK_USE_ALLOCA
 1150 #   ifdef __GNUC__
 1151 #    define YYSTACK_ALLOC __builtin_alloca
 1152 #   elif defined __BUILTIN_VA_ARG_INCR
 1153 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
 1154 #   elif defined _AIX
 1155 #    define YYSTACK_ALLOC __alloca
 1156 #   elif defined _MSC_VER
 1157 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
 1158 #    define alloca _alloca
 1159 #   else
 1160 #    define YYSTACK_ALLOC alloca
 1161 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
 1162 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 1163       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
 1164 #     ifndef EXIT_SUCCESS
 1165 #      define EXIT_SUCCESS 0
 1166 #     endif
 1167 #    endif
 1168 #   endif
 1169 #  endif
 1170 # endif
 1171 
 1172 # ifdef YYSTACK_ALLOC
 1173    /* Pacify GCC's 'empty if-body' warning.  */
 1174 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
 1175 #  ifndef YYSTACK_ALLOC_MAXIMUM
 1176     /* The OS might guarantee only one guard page at the bottom of the stack,
 1177        and a page size can be as small as 4096 bytes.  So we cannot safely
 1178        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
 1179        to allow for a few compiler-allocated temporary stack slots.  */
 1180 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
 1181 #  endif
 1182 # else
 1183 #  define YYSTACK_ALLOC YYMALLOC
 1184 #  define YYSTACK_FREE YYFREE
 1185 #  ifndef YYSTACK_ALLOC_MAXIMUM
 1186 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
 1187 #  endif
 1188 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
 1189        && ! ((defined YYMALLOC || defined malloc) \
 1190              && (defined YYFREE || defined free)))
 1191 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 1192 #   ifndef EXIT_SUCCESS
 1193 #    define EXIT_SUCCESS 0
 1194 #   endif
 1195 #  endif
 1196 #  ifndef YYMALLOC
 1197 #   define YYMALLOC malloc
 1198 #   if ! defined malloc && ! defined EXIT_SUCCESS
 1199 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 1200 #   endif
 1201 #  endif
 1202 #  ifndef YYFREE
 1203 #   define YYFREE free
 1204 #   if ! defined free && ! defined EXIT_SUCCESS
 1205 void free (void *); /* INFRINGES ON USER NAME SPACE */
 1206 #   endif
 1207 #  endif
 1208 # endif
 1209 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
 1210 
 1211 
 1212 #if (! defined yyoverflow \
 1213      && (! defined __cplusplus \
 1214          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 1215 
 1216 /* A type that is properly aligned for any stack member.  */
 1217 union yyalloc
 1218 {
 1219   yytype_int16 yyss_alloc;
 1220   YYSTYPE yyvs_alloc;
 1221 };
 1222 
 1223 /* The size of the maximum gap between one aligned stack and the next.  */
 1224 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
 1225 
 1226 /* The size of an array large to enough to hold all stacks, each with
 1227    N elements.  */
 1228 # define YYSTACK_BYTES(N) \
 1229      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
 1230       + YYSTACK_GAP_MAXIMUM)
 1231 
 1232 # define YYCOPY_NEEDED 1
 1233 
 1234 /* Relocate STACK from its old location to the new one.  The
 1235    local variables YYSIZE and YYSTACKSIZE give the old and new number of
 1236    elements in the stack, and YYPTR gives the new location of the
 1237    stack.  Advance YYPTR to a properly aligned location for the next
 1238    stack.  */
 1239 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
 1240     do                                                                  \
 1241       {                                                                 \
 1242         YYSIZE_T yynewbytes;                                            \
 1243         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
 1244         Stack = &yyptr->Stack_alloc;                                    \
 1245         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
 1246         yyptr += yynewbytes / sizeof (*yyptr);                          \
 1247       }                                                                 \
 1248     while (0)
 1249 
 1250 #endif
 1251 
 1252 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
 1253 /* Copy COUNT objects from SRC to DST.  The source and destination do
 1254    not overlap.  */
 1255 # ifndef YYCOPY
 1256 #  if defined __GNUC__ && 1 < __GNUC__
 1257 #   define YYCOPY(Dst, Src, Count) \
 1258       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
 1259 #  else
 1260 #   define YYCOPY(Dst, Src, Count)              \
 1261       do                                        \
 1262         {                                       \
 1263           YYSIZE_T yyi;                         \
 1264           for (yyi = 0; yyi < (Count); yyi++)   \
 1265             (Dst)[yyi] = (Src)[yyi];            \
 1266         }                                       \
 1267       while (0)
 1268 #  endif
 1269 # endif
 1270 #endif /* !YYCOPY_NEEDED */
 1271 
 1272 /* YYFINAL -- State number of the termination state.  */
 1273 #define YYFINAL  523
 1274 /* YYLAST -- Last index in YYTABLE.  */
 1275 #define YYLAST   11879
 1276 
 1277 /* YYNTOKENS -- Number of terminals.  */
 1278 #define YYNTOKENS  400
 1279 /* YYNNTS -- Number of nonterminals.  */
 1280 #define YYNNTS  77
 1281 /* YYNRULES -- Number of rules.  */
 1282 #define YYNRULES  839
 1283 /* YYNSTATES -- Number of states.  */
 1284 #define YYNSTATES  1673
 1285 
 1286 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
 1287    by yylex, with out-of-bounds checking.  */
 1288 #define YYUNDEFTOK  2
 1289 #define YYMAXUTOK   638
 1290 
 1291 #define YYTRANSLATE(YYX)                                                \
 1292   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 1293 
 1294 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
 1295    as returned by yylex, without out-of-bounds checking.  */
 1296 static const yytype_uint16 yytranslate[] =
 1297 {
 1298        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1299        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1300        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1301        2,     2,     2,     2,     2,     2,     2,   388,     2,     2,
 1302      394,   395,   386,   384,   396,   385,   392,   387,     2,     2,
 1303        2,     2,     2,     2,     2,     2,     2,     2,   375,   393,
 1304        2,   399,     2,   374,     2,     2,     2,     2,     2,     2,
 1305        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1306        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1307        2,   397,     2,   398,   391,     2,     2,     2,     2,     2,
 1308        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1309        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1310        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1311        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1312        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1313        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1314        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1315        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1316        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1317        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1318        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1319        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1320        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1321        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1322        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1323        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
 1324        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
 1325       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 1326       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 1327       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 1328       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 1329       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
 1330       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
 1331       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
 1332       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
 1333       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
 1334      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 1335      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
 1336      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
 1337      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
 1338      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
 1339      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
 1340      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
 1341      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
 1342      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
 1343      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
 1344      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
 1345      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
 1346      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
 1347      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
 1348      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
 1349      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 1350      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
 1351      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
 1352      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 1353      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
 1354      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
 1355      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
 1356      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
 1357      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
 1358      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
 1359      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
 1360      365,   366,   367,   368,   369,   370,   371,   372,   373,   376,
 1361      377,   378,   379,   380,   381,   382,   383,   389,   390
 1362 };
 1363 
 1364 #if YYDEBUG
 1365   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 1366 static const yytype_uint16 yyrline[] =
 1367 {
 1368        0,   623,   623,   624,   628,   635,   636,   639,   641,   642,
 1369      643,   644,   645,   646,   647,   648,   649,   650,   651,   658,
 1370      661,   664,   667,   670,   673,   680,   714,   722,   725,   728,
 1371      731,   734,   738,   742,   746,   750,   754,   758,   762,   766,
 1372      770,   774,   778,   782,   786,   789,   792,   795,   798,   801,
 1373      804,   807,   810,   813,   816,   820,   827,   834,   841,   848,
 1374      855,   862,   869,   876,   881,   886,   889,   892,   895,   898,
 1375      901,   904,   913,   921,   932,   935,   938,   941,   944,   947,
 1376      950,   953,   956,   959,   964,   967,   971,   980,   990,   999,
 1377     1009,  1012,  1027,  1030,  1046,  1050,  1063,  1079,  1083,  1105,
 1378     1123,  1141,  1157,  1186,  1196,  1206,  1216,  1231,  1242,  1253,
 1379     1264,  1275,  1286,  1297,  1308,  1319,  1334,  1345,  1356,  1371,
 1380     1382,  1393,  1408,  1419,  1430,  1449,  1464,  1479,  1499,  1514,
 1381     1530,  1553,  1572,  1591,  1601,  1610,  1623,  1636,  1649,  1664,
 1382     1675,  1686,  1701,  1712,  1723,  1738,  1749,  1760,  1775,  1786,
 1383     1797,  1812,  1823,  1834,  1849,  1860,  1871,  1886,  1897,  1908,
 1384     1923,  1934,  1945,  1955,  1965,  1978,  1982,  1986,  1990,  1994,
 1385     2005,  2032,  2043,  2053,  2070,  2078,  2089,  2093,  2097,  2102,
 1386     2108,  2126,  2129,  2136,  2147,  2150,  2153,  2156,  2159,  2162,
 1387     2169,  2177,  2184,  2194,  2197,  2200,  2215,  2229,  2243,  2257,
 1388     2272,  2276,  2279,  2282,  2285,  2288,  2291,  2294,  2297,  2301,
 1389     2306,  2310,  2314,  2317,  2322,  2326,  2331,  2334,  2341,  2348,
 1390     2355,  2365,  2368,  2371,  2374,  2377,  2380,  2383,  2414,  2417,
 1391     2424,  2431,  2438,  2448,  2451,  2454,  2457,  2460,  2463,  2466,
 1392     2497,  2500,  2507,  2514,  2521,  2531,  2534,  2537,  2540,  2543,
 1393     2546,  2549,  2552,  2556,  2573,  2576,  2583,  2590,  2597,  2605,
 1394     2608,  2611,  2614,  2617,  2620,  2623,  2639,  2642,  2645,  2648,
 1395     2651,  2654,  2658,  2664,  2668,  2672,  2676,  2679,  2683,  2687,
 1396     2690,  2694,  2702,  2715,  2725,  2728,  2738,  2746,  2753,  2760,
 1397     2767,  2775,  2782,  2789,  2797,  2804,  2811,  2818,  2825,  2828,
 1398     2831,  2834,  2838,  2847,  2851,  2858,  2865,  2872,  2879,  2886,
 1399     2893,  2900,  2907,  2914,  2921,  2928,  2935,  2943,  2950,  2957,
 1400     2965,  2972,  2979,  2986,  2993,  3000,  3007,  3015,  3024,  3027,
 1401     3030,  3033,  3037,  3041,  3044,  3048,  3052,  3056,  3060,  3065,
 1402     3072,  3076,  3079,  3082,  3083,  3089,  3092,  3099,  3103,  3107,
 1403     3114,  3117,  3120,  3123,  3126,  3133,  3136,  3141,  3163,  3168,
 1404     3176,  3183,  3188,  3200,  3203,  3206,  3209,  3213,  3218,  3223,
 1405     3226,  3236,  3239,  3242,  3245,  3248,  3251,  3255,  3258,  3261,
 1406     3264,  3267,  3273,  3279,  3286,  3298,  3301,  3304,  3307,  3327,
 1407     3331,  3335,  3338,  3341,  3344,  3347,  3364,  3379,  3384,  3389,
 1408     3394,  3397,  3400,  3408,  3413,  3417,  3421,  3425,  3438,  3441,
 1409     3447,  3454,  3458,  3462,  3469,  3477,  3485,  3494,  3502,  3506,
 1410     3509,  3513,  3516,  3519,  3522,  3526,  3529,  3532,  3535,  3538,
 1411     3545,  3550,  3553,  3556,  3559,  3562,  3569,  3570,  3574,  3577,
 1412     3581,  3584,  3587,  3590,  3593,  3596,  3599,  3602,  3605,  3608,
 1413     3611,  3615,  3619,  3623,  3627,  3631,  3636,  3640,  3644,  3662,
 1414     3682,  3686,  3691,  3696,  3700,  3704,  3708,  3712,  3716,  3720,
 1415     3724,  3728,  3732,  3737,  3743,  3746,  3749,  3752,  3755,  3758,
 1416     3761,  3764,  3767,  3770,  3773,  3777,  3782,  3790,  3797,  3804,
 1417     3805,  3806,  3807,  3808,  3809,  3810,  3811,  3822,  3829,  3836,
 1418     3843,  3851,  3858,  3865,  3872,  3879,  3886,  3893,  3900,  3907,
 1419     3914,  3921,  3928,  3935,  3942,  3949,  3956,  3963,  3970,  3977,
 1420     3984,  3992,  4003,  4010,  4017,  4024,  4031,  4039,  4047,  4054,
 1421     4061,  4068,  4075,  4084,  4091,  4098,  4105,  4112,  4119,  4126,
 1422     4133,  4140,  4147,  4162,  4169,  4176,  4187,  4195,  4202,  4209,
 1423     4216,  4223,  4231,  4238,  4245,  4252,  4259,  4269,  4276,  4283,
 1424     4290,  4300,  4304,  4308,  4311,  4317,  4321,  4328,  4341,  4354,
 1425     4367,  4383,  4384,  4388,  4389,  4390,  4391,  4395,  4396,  4397,
 1426     4398,  4399,  4400,  4401,  4402,  4403,  4404,  4405,  4406,  4410,
 1427     4411,  4412,  4416,  4417,  4421,  4422,  4426,  4427,  4428,  4429,
 1428     4430,  4431,  4432,  4433,  4434,  4435,  4436,  4437,  4438,  4439,
 1429     4440,  4441,  4442,  4443,  4444,  4448,  4449,  4450,  4451,  4452,
 1430     4453,  4457,  4458,  4462,  4463,  4467,  4468,  4469,  4470,  4471,
 1431     4472,  4473,  4474,  4475,  4476,  4479,  4480,  4481,  4482,  4485,
 1432     4486,  4489,  4490,  4491,  4492,  4493,  4497,  4498,  4508,  4509,
 1433     4510,  4513,  4514,  4515,  4518,  4519,  4520,  4521,  4522,  4523,
 1434     4524,  4525,  4526,  4527,  4528,  4529,  4530,  4531,  4532,  4533,
 1435     4534,  4535,  4536,  4537,  4538,  4539,  4540,  4541,  4542,  4543,
 1436     4544,  4545,  4546,  4547,  4548,  4549,  4552,  4553,  4554,  4557,
 1437     4558,  4559,  4560,  4561,  4562,  4565,  4566,  4569,  4570,  4571,
 1438     4572,  4573,  4574,  4575,  4576,  4579,  4580,  4583,  4584,  4587,
 1439     4588,  4589,  4590,  4594,  4595,  4599,  4600,  4601,  4605,  4606,
 1440     4607,  4611,  4612,  4613,  4614,  4615,  4616,  4617,  4621,  4622,
 1441     4623,  4626,  4627,  4628,  4629,  4630,  4631,  4632,  4636,  4640,
 1442     4648,  4661,  4674,  4684,  4694,  4713,  4728,  4734,  4735,  4736,
 1443     4741,  4753,  4756,  4759,  4763,  4766,  4771,  4773,  4775,  4777,
 1444     4779,  4780,  4782,  4791,  4798,  4805,  4813,  4814,  4815,  4816,
 1445     4818,  4820,  4824,  4828,  4834,  4840,  4845,  4850,  4857,  4864,
 1446     4871,  4878,  4886,  4893,  4900,  4907,  4915,  4918,  4926,  4928,
 1447     4931,  4935,  4936,  4937,  4938,  4943,  4944,  4954,  4968,  4972,
 1448     4995,  5003,  5004,  5007,  5010,  5013,  5014,  5015,  5018,  5023,
 1449     5031,  5032,  5033,  5034,  5035,  5036,  5043,  5052,  5064,  5071,
 1450     5079,  5089,  5090,  5099,  5106,  5108,  5115,  5122,  5123,  5124,
 1451     5131,  5153,  5154,  5155,  5158,  5164,  5165,  5166,  5167,  5168
 1452 };
 1453 #endif
 1454 
 1455 #if YYDEBUG || YYERROR_VERBOSE || 0
 1456 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
 1457    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 1458 static const char *const yytname[] =
 1459 {
 1460   "$end", "error", "$undefined", "KEY_VAR", "KEY_VEC", "KEY_CONST",
 1461   "KEY_UNIT", "KEY_FUNC_I", "KEY_FUNC_D", "KEY_FUNC_NN", "KEY_FUNC_ND",
 1462   "KEY_FUNC_DD", "KEY_FUNC_NND", "KEY_FUNC_PPD", "KEY_FUNC_PPPD",
 1463   "KEY_FUNC_PPPPD", "KEY_FUNC_PPPPPD", "INDEX", "DATE", "VAR_D", "VEC_D",
 1464   "CONSTANT", "UCONSTANT", "FUNC_I", "FUNC_D", "FUNC_NN", "FUNC_ND",
 1465   "FUNC_DD", "FUNC_NND", "FUNC_PPD", "FUNC_PPPD", "FUNC_PPPPD",
 1466   "FUNC_PPPPPD", "ABOVE", "ABSOLUTE", "ALIAS", "ALT", "ALTXAXIS",
 1467   "ALTYAXIS", "ANGLE", "ANTIALIASING", "APPEND", "ARRANGE", "ARROW",
 1468   "ASCENDING", "ASPLINE", "AUTO", "AUTOSCALE", "AUTOTICKS", "AVALUE",
 1469   "AVG", "BACKGROUND", "BAR", "BARDY", "BARDYDY", "BASELINE", "BATCH",
 1470   "BEGIN", "BELOW", "BETWEEN", "BLACKMAN", "BLOCK", "BOTH", "BOTTOM",
 1471   "BOX", "CD", "CENTER", "CHAR", "CHART", "CHRSTR", "CLEAR", "CLICK",
 1472   "CLIP", "CLOSE", "COEFFICIENTS", "COLOR", "COMMENT", "COMPLEX",
 1473   "COMPUTING", "CONSTRAINTS", "COPY", "CYCLE", "DAYMONTH", "DAYOFWEEKL",
 1474   "DAYOFWEEKS", "DAYOFYEAR", "DDMMYY", "DECIMAL", "DEF", "DEFAULT",
 1475   "DEFINE", "DEGREESLAT", "DEGREESLON", "DEGREESMMLAT", "DEGREESMMLON",
 1476   "DEGREESMMSSLAT", "DEGREESMMSSLON", "DESCENDING", "DESCRIPTION",
 1477   "DEVICE", "DFT", "DIFFERENCE", "DISK", "DOWN", "DPI", "DROP", "DROPLINE",
 1478   "ECHO", "ELLIPSE", "ENGINEERING", "ERRORBAR", "EXIT", "EXPONENTIAL",
 1479   "FFT", "FILEP", "FILL", "FIT", "FIXED", "FIXEDPOINT", "FLUSH", "FOCUS",
 1480   "FOLLOWS", "FONTP", "FORCE", "FORMAT", "FORMULA", "FRAMEP", "FREE",
 1481   "FREQUENCY", "FROM", "GENERAL", "GETP", "GRAPH", "GRAPHNO", "GRID",
 1482   "HAMMING", "HANNING", "HARDCOPY", "HBAR", "HELP", "HGAP", "HIDDEN",
 1483   "HISTOGRAM", "HMS", "HORIZI", "HORIZONTAL", "HORIZO", "ID", "IFILTER",
 1484   "IMAX", "IMIN", "IN", "INCREMENT", "INOUT", "INT", "INTEGRATE",
 1485   "INTERPOLATE", "INVDFT", "INVERT", "INVFFT", "JUST", "KILL", "LABEL",
 1486   "LANDSCAPE", "LAYOUT", "LEFT", "LEGEND", "LENGTH", "LINCONV", "LINE",
 1487   "LINEAR", "LINESTYLE", "LINEWIDTH", "LINK", "LOAD", "LOCTYPE", "LOG",
 1488   "LOGARITHMIC", "LOGIT", "LOGX", "LOGXY", "LOGY", "MAGIC", "MAGNITUDE",
 1489   "MAJOR", "MAP", "MAXP", "MESH", "MINP", "MINOR", "MMDD", "MMDDHMS",
 1490   "MMDDYY", "MMDDYYHMS", "MMSSLAT", "MMSSLON", "MMYY", "MONTHDAY",
 1491   "MONTHL", "MONTHS", "MONTHSY", "MOVE", "NEGATE", "NEW", "NONE",
 1492   "NONLFIT", "NORMAL", "NXY", "OFF", "OFFSET", "OFFSETX", "OFFSETY",
 1493   "OFILTER", "ON", "ONREAD", "OP", "OPPOSITE", "OUT", "PAGE", "PARA",
 1494   "PARAMETERS", "PARZEN", "PATTERN", "PERIOD", "PERP", "PHASE", "PIE",
 1495   "PIPE", "PLACE", "POINT", "POLAR", "POLYI", "POLYO", "POP", "PORTRAIT",
 1496   "POWER", "PREC", "PREPEND", "PRINT", "PS", "PUSH", "PUTP", "RAND",
 1497   "READ", "REAL", "RECIPROCAL", "REDRAW", "REFERENCE", "REGNUM", "REGRESS",
 1498   "RESIZE", "RESTRICT", "REVERSE", "RIGHT", "RISER", "ROT", "ROUNDED",
 1499   "RSUM", "RULE", "RUNAVG", "RUNMAX", "RUNMED", "RUNMIN", "RUNSTD",
 1500   "SAVEALL", "SCALE", "SCIENTIFIC", "SCROLL", "SD", "SET", "SETNUM",
 1501   "SFORMAT", "SIGN", "SIZE", "SKIP", "SLEEP", "SMITH", "SORT", "SOURCE",
 1502   "SPEC", "SPLINE", "SPLIT", "STACK", "STACKED", "STACKEDBAR",
 1503   "STACKEDHBAR", "STAGGER", "START", "STOP", "STRING", "SUM", "SUBTITLE",
 1504   "SWAP", "SYMBOL", "TARGET", "TICKLABEL", "TICKP", "TICKSP", "TIMER",
 1505   "TIMESTAMP", "TITLE", "TO", "TOP", "TRIANGULAR", "TYPE", "UP",
 1506   "UPDATEALL", "USE", "VERSION", "VERTI", "VERTICAL", "VERTO", "VGAP",
 1507   "VIEW", "VX1", "VX2", "VXMAX", "VY1", "VY2", "VYMAX", "WELCH", "WITH",
 1508   "WORLD", "WRAP", "WRITE", "WX1", "WX2", "WY1", "WY2", "X_TOK", "X0",
 1509   "X1", "XAXES", "XAXIS", "XCOR", "XMAX", "XMIN", "XY", "XYAXES",
 1510   "XYBOXPLOT", "XYCOLOR", "XYCOLPAT", "XYDX", "XYDXDX", "XYDXDXDYDY",
 1511   "XYDXDY", "XYDY", "XYDYDY", "XYHILO", "XYR", "XYSIZE", "XYSTRING",
 1512   "XYVMAP", "XYZ", "Y_TOK", "Y0", "Y1", "Y2", "Y3", "Y4", "YAXES", "YAXIS",
 1513   "YEAR", "YMAX", "YMIN", "YYMMDD", "YYMMDDHMS", "ZERO", "ZNORM",
 1514   "FITPARM", "FITPMAX", "FITPMIN", "NUMBER", "NEW_TOKEN", "'?'", "':'",
 1515   "OR", "AND", "GT", "LT", "LE", "GE", "EQ", "NE", "'+'", "'-'", "'*'",
 1516   "'/'", "'%'", "UMINUS", "NOT", "'^'", "'.'", "';'", "'('", "')'", "','",
 1517   "'['", "']'", "'='", "$accept", "full_list", "multi_list", "list",
 1518   "expr", "sexpr", "iexpr", "nexpr", "indx", "jdate", "jrawdate", "array",
 1519   "vexpr", "asgn", "lside_array", "vasgn", "defines", "regionset",
 1520   "parmset", "actions", "options", "set_setprop", "setprop", "axisfeature",
 1521   "tickattr", "ticklabelattr", "axislabeldesc", "axisbardesc",
 1522   "nonlfitopts", "selectgraph", "selectset", "setaxis", "axis", "proctype",
 1523   "tickspectype", "filtertype", "filtermethod", "xytype", "graphtype",
 1524   "pagelayout", "pageorient", "regiontype", "scaletype", "onoff",
 1525   "runtype", "sourcetype", "justchoice", "inoutchoice", "formatchoice",
 1526   "signchoice", "direction", "worldview", "datacolumn", "sortdir",
 1527   "sorton", "ffttype", "fourierdata", "fourierloadx", "fourierloady",
 1528   "windowtype", "interpmethod", "stattype", "font_select", "lines_select",
 1529   "pattern_select", "color_select", "linew_select", "opchoice_sel",
 1530   "opchoice", "parmset_obs", "axislabeldesc_obs", "setprop_obs",
 1531   "tickattr_obs", "ticklabelattr_obs", "colpat_obs", "opchoice_sel_obs",
 1532   "opchoice_obs", YY_NULLPTR
 1533 };
 1534 #endif
 1535 
 1536 # ifdef YYPRINT
 1537 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
 1538    (internal) symbol number NUM (which must be that of a token).  */
 1539 static const yytype_uint16 yytoknum[] =
 1540 {
 1541        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 1542      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
 1543      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
 1544      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 1545      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
 1546      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
 1547      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
 1548      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
 1549      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
 1550      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
 1551      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
 1552      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
 1553      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
 1554      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
 1555      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
 1556      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
 1557      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
 1558      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
 1559      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
 1560      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
 1561      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
 1562      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
 1563      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
 1564      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
 1565      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
 1566      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
 1567      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
 1568      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
 1569      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
 1570      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
 1571      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
 1572      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
 1573      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
 1574      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
 1575      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
 1576      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
 1577      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
 1578      625,   626,   627,   628,    63,    58,   629,   630,   631,   632,
 1579      633,   634,   635,   636,    43,    45,    42,    47,    37,   637,
 1580      638,    94,    46,    59,    40,    41,    44,    91,    93,    61
 1581 };
 1582 # endif
 1583 
 1584 #define YYPACT_NINF -900
 1585 
 1586 #define yypact_value_is_default(Yystate) \
 1587   (!!((Yystate) == (-900)))
 1588 
 1589 #define YYTABLE_NINF -171
 1590 
 1591 #define yytable_value_is_error(Yytable_value) \
 1592   (!!((Yytable_value) == (-171)))
 1593 
 1594   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
 1595      STATE-NUM.  */
 1596 static const yytype_int16 yypact[] =
 1597 {
 1598     3356,  -900,  -289,  -319,   -53,  -900,  -274,  -264,  -256,  -248,
 1599     -241,  -234,  -197,  -160,  -124,   -87,    20,  -900,  -900,   315,
 1600      -80,    92,    79,  -900,  -900,   271,  7045,  5886,   289,    97,
 1601      289,   315,  -900,   295,   -13,   289,   289,  -900,   -30,  9479,
 1602     6077,   -19,  -900,   -71,  -900,   493, 11486,   202,   289,   -16,
 1603     -900,   270,   289,   -11,  -900,  -900,    -3,     3,    14,  -900,
 1604     -900,   -39,  4977,    19,  6268,  -144,   289,   -32,  -900,    25,
 1605     -900,   315,   259,    31,  5250,  -900,    93,   254,  -900,   289,
 1606       34,  4286,  -900,   413,   -50,    39,    43,   315,    44,  -900,
 1607     -900,  -900,  -900,  -900,   289,  -900,   -16,  -900, 10864,   315,
 1608      -58,   315,  9711,  5506,  -900,   111,   315,   315, 10864,  6459,
 1609      169,  7045,  -900,   289, 10864,  7521,  -900,  -900,  -900,  -900,
 1610     -900,  -900,   679,  7802,   315,  -900,  -900,  -900,  -900,  -900,
 1611     -900,   -93,  -900,    46,  -900,  -900,  -900,  -900,  -900,  -900,
 1612      -89,  -900, 10864,   -64,    47,    50,  -900, 10864,  8179,  8179,
 1613     8179,   444,    71,  -900,  3199,     4,  4936,  -900,    69,  -900,
 1614     -900,  -900,  -900,  -900,  -900,  -900,  -900,  6947, 11479,  -900,
 1615       -7,    78,  -900,    80,    82,  -900,  -900,  -166,  9479, 10864,
 1616    10864,  8179,  8179, 10864, 10864,  8179, 10864, 10864, 10864, 10864,
 1617    10864,  -900,    60,   -60,    86,   180, 10864,    60,   -48,  -900,
 1618     -900,  -900,  9856,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1619     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1620     -900,  -900,  -900,   289,    88,  -900,  -900,    89,    91,   109,
 1621      110,   114,   120,   121,   122,   124,  -900,   194, 10864, 10864,
 1622      -27,  -900,  -900,  -900,  -900,  -900,  -900, 10864, 10864, 10864,
 1623      370,  -291,   149,   151,  -900,  -900,  -900,  -900,   176,  -900,
 1624     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1625      176,   275,   304,  8578, 10864,   289,   305,  -900,  -900,  -900,
 1626     -900,  -900,  -900,  -900,   183,   289,   176,   -81,   315,  5319,
 1627      176,   149,  -900,   194,   -27,   458,   149,  -900,  -900,  -900,
 1628     -900, 10864,   289, 10864,   289, 10864,  -900,  -900,  -900,  -900,
 1629     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1630     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1631     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1632     -900,  -900,  -900,  -900,  -900,    -4,    60, 10864,  -900,  -900,
 1633     -900,  -900,  -900,   176, 10864,  -900,  9479,   176,   315,  8179,
 1634      315,   315,  -900,  -900,    86,   322,   685,   316,  9479, 10864,
 1635       60, 10864, 10864,   -27, 10864, 10864, 10864, 10864,   633,  -900,
 1636     -900,  -900,  -900,  -900,   315,  7947,  -900,   -27,   742,   149,
 1637     -900,  -900,  -900,  -900,    60,   296,   176, 10864, 10864, 10864,
 1638      297,   289,   315,   475,  -900,  -900, 10864,   273,  -900,  -900,
 1639    10864,  -900, 10864, 11009,  -900,  5319,  -900,  -900,  -900,     9,
 1640     8725,  -900,   176, 10864,   289,    75,    75,   176,    75,  9479,
 1641    10864,   134, 10864,   315,  -900,  -900,  -900,  -900,   315,   315,
 1642     -900,  8179,   176,  -900,  5319,  -262,  -900,  -900,  -900, 10864,
 1643    10864,  -900,   328,   289, 10864,   -27, 10864,   831,   149,  -900,
 1644     -900,  -900,  -900, 10864,   176,  -900,  -900,  -900,   225,  -900,
 1645     -900,   334,   289, 10864,   864,  -900,  -900,  -900,  -900, 10864,
 1646      176,  -900,  -900,  -900,  -900,  -285,  -900, 10864, 10864, 10864,
 1647    10864,   920, 10864, 10864, 10864, 10864,    86,  -900, 10864, 10864,
 1648    10864, 10864,  1126,   -41,    60,   148,   315,    60,   148,  5319,
 1649       60, 10864, 10864, 10864,   218,   219,   227,   -82,   230,   227,
 1650      230,  5995,  6185,  -900,  3718,  -900, 10864,  8179,  8179,  8179,
 1651     8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,
 1652     8179,   445, 10864,   229,  -900,  8179,  8179,  8179,  8179,  8179,
 1653     8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,
 1654     8179,   326,   491,   -72,    60,    60,    60,    45,   556,    -7,
 1655     -900,   828,  -129,   289, 10864,    60,  1949,  7111,    60,   289,
 1656    10864,    36,   278, 10864, 10864,  5697,  7045, 10864,   166,  -900,
 1657     -900,  -900,  -900,   402,   730, 10864,  4436,  4749,   265,  -900,
 1658     -900,   315,   315,  8179, 10864,  -900,  6377,   176,   247,   245,
 1659     5319,  -900,  3199,   250,  7669,  8010,  8407,   255,   256,  1327,
 1660     1372,   257,  1398,  1436,  1463,  1519,  -900,  9479,   176,    54,
 1661      315,   260,  -900,  -900,  -900,  -900,  -900, 10864,   176,  -900,
 1662      176, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864,
 1663     9856,  -900, 10864,  -900,  -900,  -900,  -900,  5319,  -900,  -900,
 1664     -900,   218,   218,  8430, 10864, 10864, 10864, 10864, 10864, 10864,
 1665    10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864,  -900,
 1666      315, 10864, 10864,   176,  -900,  -900,   176, 10864,  4035,  -156,
 1667    10864,     6,   289,   377,   261,  -900,  -900,  -900,  -900, 10864,
 1668      263,   176,  5319,   176,   441,  -900,  -900,  -900,  -900,   264,
 1669     5319,   176,   267,  3199,  1580,   284,   287,  -900,   -54,  -900,
 1670     -900,  -900,  -900,  -900, 10864,  -900,  -900,  5319,  -900,  -900,
 1671      289,  -900,  5319,  5319, 10864,   288, 10864, 10864, 10864, 10864,
 1672     -900,  -900, 10864,  -900,   -33,   379,   384,  1604,   291,   315,
 1673      176,   292,    60,  7907,  -900,  -900,  -900,  -900,  -900,  -900,
 1674     -900,   293,  8140,   320,   299,  -900,   176, 10864, 10864,   298,
 1675      176,   176,   289,   176,   289,   176,   289,  5319,   176,  -900,
 1676     1625,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1677     -900,  -900,  1659,   301,   302,   306,  8450,  -900,  -900,    -6,
 1678     -900,  1694, 10864,   176,  -900,  -900,  -900, 10864,  5319,   315,
 1679    10864,   176,  -900, 10864,  5319,   987,  5319,  5319,  5319,  5319,
 1680    10864,  -900,  -900,  -900,  -900,  5319,  5319,  5319,  5319, 10864,
 1681      289,   289,  -900,  -900,  -900,  -900,  -900,  -900,   309,  -900,
 1682     -900,  -900,  5319,  5319,  5319,  -900,  -900,   374,  -319,     2,
 1683      -64,    47,    50,  -900,   -16,  9558, 11487,  3318,    74,   600,
 1684     1068,  1503,  2039,  2066,  2039,  2066,  2039,  2066,  2039,  2066,
 1685     2039,  2066,  2039,  2066,   106,   205,   106,   205,   227,   230,
 1686      227,   230,   227,   230,   227,   230,  -900,  -326, 10864,  4141,
 1687     4874,    74,   600,  1068,  1503,  2039,  2066,  2039,  2066,  2039,
 1688     2066,  2039,  2066,  2039,  2066,  2039,  2066,   106,   205,   106,
 1689      205,   227,   230,   227,   230,   227,   230,   227,   230,  3199,
 1690     4936,   -28, 10864, 11486, 10864, 10864, 10864,  -900,  -900,  -900,
 1691     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1692     -900,  -900,  -900,  -900,  -900,  -900,   -16,  -900,  -900,  -900,
 1693     -900,  -900,  -900,  -900,  -900,  -900,  -900,   289,   427, 11486,
 1694    10864, 10864,   289, 10864, 10864,  -900,  -900,  -900, 10864,  -900,
 1695      176,   311,  -900, 10864,   179,   398, 10864,   -26,  -900,  -900,
 1696     -900,  -900,  -900,  -900, 10864, 10864,   280,  -900,  -900,  -900,
 1697     -900,   176,  -900, 10864,  -900,  -900,  -900,  -900,  -900,   289,
 1698     1814,  -900,    60, 10110,  8957, 10864, 10864,  -900,  -900,  -900,
 1699     -900,  -900,  -900,  1890,  -900,  -900,  -900,  -900,  -900,  -900,
 1700     -900,  -900,   435,   -36,   118,   -26,  7425,   176,  -900,  -900,
 1701     -900,  -900,  -900,  -900,  -900,  1925, 10864,   289,   437,  4180,
 1702      289,    68,  9102,   359, 10864,   289,    -2, 10864, 10864, 10255,
 1703    10487,   -17,   329,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1704     -900,    60,  -900, 10864,  -900,    60,  6920,   356,   357,  6692,
 1705    10864, 10864,  -900,    40, 10864, 10632,   -15,   336,  -900,  -900,
 1706     -900,  -900,  -900,  -900,  -900,  -900,    60,   337,   339,  8640,
 1707     -900, 10864,  -900,  -900,  -900,  -900,  -900, 10864,  8179,  8179,
 1708     8179, 10864, 10864, 10864, 10864, 10864,  5319,  -900,  -900, 10864,
 1709     8430,   343,  8682,   344,  1998,   363,  2122,  2196,  2233,  2257,
 1710     1018,  2453,  3526,  3526,  3526,  3526,  3526,  3526,   248,   248,
 1711      218,   218,   218,   218,  2305,  -900,  5319,  5319,  5319,  -900,
 1712      365,  -900,  -900,   289,  5319,    60,  -900,   176, 10864, 10864,
 1713     2475,  -900,  -900,  -900,  8179,  8179,  -900,  8179,   280,  -900,
 1714     -900,  -900,  5319,   176,  5319,   315,  2502,  5319,  5319,  -900,
 1715     2540,  -900,   371,   289, 10864,  -900,  -900,  8179,  -900, 10864,
 1716    10864, 10864,  -900, 10864,  5319,  5319,  -900,   176,   176,   176,
 1717    10864, 10864,  -900, 10864,  8324,  -900,  -900,  -900,  -900, 10864,
 1718     5319,  5319,  -900,  5319,  5319,  -900,  -900,  -900,  -900,  -900,
 1719     -900,  -900,  -900,  -900,  -900,  -900,  -900,   640,  2573,  2600,
 1720     -107,   176,   315,   229,   562, 10864, 10864,  5319,  8179,  8179,
 1721     -900,  -900,  5319, 11486,  2639,  -900,  2676,  -900,   176, 10864,
 1722     -900,  2699,  -900,   176,  -900,  -900,  -900, 10864,  5319,  -900,
 1723     -900,  -900,  -900,   -10,  -900,  -900,  -900,  5319,  -900,  -900,
 1724     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1725      176, 10864,  -900,  -900,  -900,  -900,  -900,  -900,  5319,  -900,
 1726    10864, 10864,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1727     -900,  2753, 10864,  -900,   176, 10864,  5319,  -900,   176,  -900,
 1728     -900,  -900,  -900,  -900,  2805,   473,   476,  -900,   176,  -900,
 1729     -900,  -900,  -900,  -900,  -900,    15,  5319,    22,  5319,  -900,
 1730     -900,   289,  -900,  -900,  -900,    60, 10864,  2883,   376,  -900,
 1731     -900,  -900,  -900,  -900,  -900,    60, 10864, 10864,  2883,   378,
 1732     -900,  -900,  -900,  -900,  5319,  5319,    60,  5319,   -34,  -900,
 1733     -900,  -900, 10864,  -900, 10864,  9334,  -900,   381,   380,  8777,
 1734     8827,  9154,  9176,  9206,  9550,   382,  2920,  2943,  3717,  3740,
 1735      383, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864,
 1736     -900,   176,  -900,   385,   387, 10864,  3763,  9578,  3858,  -900,
 1737      388, 10864, 10864, 10864,  -310,  4305,   389,  4463,  -900,  -900,
 1738     4492,  5319,   390,    13,  9732,  4531,   289, 10864, 10864,   289,
 1739      394,  8538,   395,  8917,  9063,  8917,  9063,  -900, 10864, 10864,
 1740     5319, 10864,  -900, 10864,  -900,  5319,  5319,  5319, 10864,  5319,
 1741     5319, 10864,  -900,  -900,  -900,  -900,  -900,  -900,   176,  -900,
 1742     5319, 10864,  -900,  5319,  -900, 10864,  -900,  -900,  -900,  -900,
 1743     -900,  5319,   391,  -900,  -900,   399,   405, 10864,  -900,  -900,
 1744     -900,  -900,  -900,  -900,  -900,  8179,  8179, 10864, 10864, 10864,
 1745    10864,   407,  9945,  9977,   408,  4565,  4706,  4790,  4830,  5073,
 1746    10864,  -900,  5094,    60,  -900,   -25,  -900,  5319,  5358,   410,
 1747      289, 10864,  -900, 10864, 10864,  -900,    60,  -900, 10864,   -31,
 1748     5403,  5564,   176, 10864,  -900,  5319,  5319,  5319,  5319,  5319,
 1749     5319,  5319,  5319,  -900,  -900,    16,  -202, 10068, 10170, 10212,
 1750    10312,  5738,  5946,  6120,  6299, 10864, 10864, 10864, 10864, 10864,
 1751    10864, 10864,  -900, 10864,   412,  -900,  -900,  -900,   419, 10864,
 1752    10864,   176,   400,   403,  6416,   423,  6505,   289, 10864, 10864,
 1753      425,  -900,  -900,  -900,  -900,  -900,  -900,  -900,   428,  -900,
 1754    10864,  -900,  -900,  -900,  -900,  8179, 10864, 10864, 10864,   424,
 1755    10354, 10684,  6530,  6649,  6789,  5319,  5319,    60,    60,  5319,
 1756      431,  -900,  -900, 10864,  -900, 10864,   176,  5319,  5319,    60,
 1757       38,   432, 10704, 10731,  6818,  6941,  6964,  -900, 10864, 10864,
 1758    10864,   452,   455, 10864,  5319,  1348,   460,  -900,  -900,  -900,
 1759      434, 10864,  -900,  -900,  8179, 10864, 10864, 10885,  7130,  7204,
 1760     -900,  -900,   463, 10864,  -900,   244,   464, 10907, 11031,  7241,
 1761      335, 10864, 10864,   465,  7340,  -900,  -900,  -900,   467, 10864,
 1762     -900,  -900,  8179,  -900,    60, 11051,  7540,   289, 10864,  -900,
 1763    11071, 11098, 11118,   468, 10864,   176,  7622,  -900,  -900,  -900,
 1764       60, 11138, 10864,   469,  7643,    60, 10864,   -45,  5319,  -900,
 1765       60,   472,  -900
 1766 };
 1767 
 1768   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
 1769      Performed when YYTABLE does not specify something else to do.  Zero
 1770      means the default is an error.  */
 1771 static const yytype_uint16 yydefact[] =
 1772 {
 1773        0,    18,     0,    20,    94,    31,     0,     0,     0,     0,
 1774        0,     0,     0,     0,     0,     0,     0,   575,   576,     0,
 1775        0,     0,   397,   401,   733,     0,     0,     0,     0,     0,
 1776      350,     0,   423,     0,     0,     0,     0,   709,     0,     0,
 1777        0,   352,   710,     0,   379,     0,     0,     0,     0,     0,
 1778      565,     0,   360,     0,   737,   736,     0,     0,     0,   711,
 1779      712,     0,     0,     0,     0,     0,     0,     0,   732,     0,
 1780      731,     0,   419,     0,     0,   422,   354,     0,   421,     0,
 1781       33,     0,   345,     0,     0,     0,     0,     0,     0,   641,
 1782      644,   643,   645,   642,     0,   734,     0,   569,     0,     0,
 1783        0,     0,     0,     0,   735,     0,     0,     0,     0,     0,
 1784        0,     0,   346,     0,     0,     0,    55,    56,    63,    57,
 1785       58,    64,     0,     0,     0,    59,    60,    61,    62,   697,
 1786      699,     0,   573,     0,   698,   700,   701,   702,   703,   704,
 1787        0,   574,     0,    21,    22,    23,    19,     0,     0,     0,
 1788        0,     0,     2,     5,     3,    97,     4,    15,     0,    16,
 1789       17,    10,     8,    13,    14,    12,   436,     0,     0,    11,
 1790        0,     0,    95,     0,     0,     9,   437,     0,     0,     0,
 1791        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1792        0,    84,     0,     0,     0,     0,     0,     0,     0,   398,
 1793      399,   400,     0,   204,   597,   598,   599,   596,   613,   610,
 1794      611,   601,   603,   606,   605,   602,   604,   607,   608,   609,
 1795      614,   612,   600,     0,     0,    20,    94,     0,     0,     0,
 1796        0,     0,     0,     0,     0,     0,   227,     0,     0,     0,
 1797        0,   640,   639,    33,    21,    22,    23,     0,     0,     0,
 1798        0,     0,   219,     0,   218,   222,   224,   223,   347,   178,
 1799      179,   426,   303,   427,   592,   428,   593,   425,   429,   340,
 1800      351,     0,     0,     0,     0,     0,     0,   278,   273,   276,
 1801      275,   274,   176,   177,   173,     0,   302,     0,     0,   349,
 1802      348,     0,   239,     0,     0,     0,   231,   230,   234,   236,
 1803      235,     0,     0,     0,     0,     0,   343,   435,   434,   433,
 1804      402,   432,   659,   667,   672,   671,   673,   661,   654,   682,
 1805      678,   683,   679,   684,   680,   658,   655,   656,   674,   665,
 1806      675,   662,   676,   685,   681,   664,   666,   670,   668,   669,
 1807      660,   657,   663,   677,   342,     0,     0,     0,   320,   322,
 1808      325,   324,   323,   361,     0,   566,     0,   359,     0,     0,
 1809        0,     0,   408,   378,   377,   375,     0,     0,     0,     0,
 1810        0,     0,     0,     0,     0,     0,     0,   701,     0,   304,
 1811      318,   768,   319,   769,     0,     0,   253,     0,     0,   243,
 1812      242,   247,   248,   246,     0,     0,   418,     0,     0,     0,
 1813        0,     0,     0,     0,   690,   693,     0,     0,   692,   694,
 1814        0,   691,     0,     0,   689,    87,    88,   752,   357,     0,
 1815        0,   794,   362,     0,     0,     0,     0,   403,     0,     0,
 1816        0,     0,     0,     0,   184,   187,   186,   188,     0,     0,
 1817      371,     0,   417,   570,   358,     0,   646,   647,   341,     0,
 1818        0,   424,     0,     0,     0,     0,     0,     0,   257,   256,
 1819      262,   260,   758,     0,   290,   291,   293,   761,     0,   211,
 1820      210,     0,     0,     0,     0,   266,   267,   270,   759,     0,
 1821      286,   287,   289,   760,   338,     0,   192,     0,     0,     0,
 1822        0,     0,   216,   228,   240,   254,   212,   213,     0,     0,
 1823        0,     0,     0,   413,     0,     0,     0,     0,     0,   284,
 1824        0,     0,     0,     0,    69,     0,    68,    97,   164,    83,
 1825      162,     0,     0,     1,     0,    32,     0,     0,     0,     0,
 1826        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1827        0,     0,     0,    24,   133,     0,     0,     0,     0,     0,
 1828        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1829        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1830      328,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1831        0,     0,     0,     0,     0,     0,     0,     0,     0,   438,
 1832      802,   804,   803,     0,     0,     0,     0,     0,     0,   571,
 1833      487,     0,     0,     0,     0,   202,    87,    91,     0,     0,
 1834      165,   365,    87,     0,     0,     0,     0,     0,     0,     0,
 1835        0,     0,     0,     0,     0,     0,   181,     0,   180,     0,
 1836        0,     0,   431,   298,   299,   301,   300,     0,   743,   742,
 1837      407,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1838      832,   831,   833,   226,   225,   756,   740,   745,   696,   695,
 1839      221,    68,    83,     0,     0,     0,     0,     0,     0,     0,
 1840        0,     0,     0,     0,     0,     0,     0,     0,     0,    24,
 1841        0,     0,     0,   739,   738,   741,   280,     0,     0,     0,
 1842        0,     0,     0,     0,     0,   238,   237,   757,   233,     0,
 1843        0,   562,   564,   561,     0,   327,   326,   787,   321,     0,
 1844      791,   200,     0,     0,     0,     0,     0,   376,     0,   762,
 1845      314,   313,   312,   315,     0,   307,   309,   786,   308,   305,
 1846        0,   306,   763,   764,     0,     0,     0,     0,     0,     0,
 1847      249,   245,     0,   208,     0,     0,     0,    87,     0,     0,
 1848      420,     0,     0,    87,   753,   622,   621,   623,   624,   430,
 1849      750,     0,     0,    19,     0,   355,   356,     0,     0,     0,
 1850      404,   405,     0,   411,     0,   409,     0,    92,    93,   201,
 1851        0,   625,   626,   631,   633,   627,   629,   630,   628,   632,
 1852      634,   185,     0,     0,     0,     0,     0,   707,   708,     0,
 1853      372,     0,     0,   265,   263,   259,   261,     0,   292,     0,
 1854        0,   272,   269,     0,   288,     0,   783,   782,   785,   784,
 1855        0,   217,   229,   241,   255,   779,   778,   781,   780,     0,
 1856        0,     0,   296,   636,   638,   635,   637,   294,     0,   297,
 1857      295,   344,   166,   167,   168,    65,   163,     0,     0,     0,
 1858        0,     0,     0,     6,   170,     0,     0,     0,    82,   140,
 1859       81,   143,    75,   146,    76,   149,    77,   155,    78,   152,
 1860       79,   158,    80,   161,    66,   117,    67,   120,    70,   123,
 1861       71,   126,    72,   129,    73,   132,    27,     0,     0,     0,
 1862        0,   139,   138,   142,   141,   145,   144,   148,   147,   154,
 1863      153,   151,   150,   157,   156,   160,   159,   116,   115,   119,
 1864      118,   122,   121,   125,   124,   128,   127,   131,   130,   172,
 1865      171,     0,     0,     0,     0,     0,     0,   333,   329,   770,
 1866      331,   774,   616,   619,   775,   771,   773,   772,   620,   617,
 1867      618,   776,   777,   615,   330,    30,     0,   567,    44,    45,
 1868       46,    47,    48,    49,    50,    51,   572,     0,     0,     0,
 1869        0,     0,     0,     0,     0,   463,   466,   467,     0,   460,
 1870      485,     0,   462,     0,     0,     0,     0,     0,   474,   480,
 1871      477,   476,   479,   475,     0,     0,     0,   799,   459,   458,
 1872      363,   486,   364,     0,   452,   455,   454,   453,   215,     0,
 1873        0,   798,     0,     0,     0,     0,     0,   440,   444,   442,
 1874      441,   443,   439,     0,    29,    28,    96,   495,   557,   559,
 1875      558,   560,     0,     0,     0,     0,     0,   546,   493,   554,
 1876      555,   795,   556,   494,   796,     0,     0,     0,     0,     0,
 1877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1878        0,     0,     0,   491,   522,   540,   541,   821,   531,   492,
 1879      829,     0,   653,     0,   651,     0,     0,   732,   731,     0,
 1880        0,     0,   652,     0,     0,     0,     0,     0,   489,   497,
 1881      504,   507,   510,   517,   490,   820,     0,     0,     0,     0,
 1882      203,     0,    52,    34,   104,    35,   105,     0,     0,     0,
 1883        0,     0,     0,     0,     0,     0,    86,    85,   370,     0,
 1884       87,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1885       82,    81,    75,    76,    77,    78,    79,    80,    66,    67,
 1886       70,    71,    72,    73,     0,   369,   277,   754,   279,   174,
 1887        0,   594,   595,     0,   196,     0,   198,   199,     0,     0,
 1888        0,   353,   563,    89,     0,     0,   392,     0,     0,   766,
 1889      311,   310,   317,   765,   316,     0,     0,   250,   790,   251,
 1890        0,   191,     0,     0,     0,    99,   373,     0,   205,   207,
 1891        0,   206,   751,     0,   792,   793,   101,   406,   412,   410,
 1892        0,     0,   102,     0,     0,   103,   705,   706,   368,     0,
 1893      264,   258,   374,   268,   271,   577,   578,   579,   580,   582,
 1894      581,   583,   584,   585,   586,   587,   588,     0,     0,     0,
 1895      415,   414,     0,     0,     0,     0,     0,   169,     0,     0,
 1896      788,   789,   332,     0,     0,   337,     0,   568,   473,     0,
 1897      469,     0,   470,   472,   468,   464,   461,     0,   807,   749,
 1898      747,   748,   746,     0,   808,   482,   481,   478,   839,   836,
 1899      837,   838,   835,   800,   457,   456,   832,   833,   805,   451,
 1900      214,     0,   801,   448,   449,   797,   446,   445,   447,   450,
 1901        0,     0,   650,   649,   648,   552,   548,   547,   834,   549,
 1902      550,     0,     0,   528,   526,     0,   525,   524,   532,   825,
 1903      824,   826,   543,   544,     0,     0,     0,   523,   527,   687,
 1904      688,   686,   830,   529,   530,     0,   533,     0,   534,   822,
 1905      823,     0,   811,   503,   814,     0,     0,   498,     0,   809,
 1906      513,   508,   511,   813,   812,     0,     0,     0,   817,     0,
 1907      810,   514,   509,   512,   501,   502,     0,   818,     0,   519,
 1908      815,   816,     0,   488,     0,     0,    25,     0,     0,     0,
 1909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1911      175,   339,   197,     0,     0,     0,     0,     0,     0,   767,
 1912        0,     0,     0,     0,     0,     0,     0,     0,   193,   194,
 1913        0,   190,     0,     0,     0,     0,     0,     0,     0,     0,
 1914        0,    74,     0,   134,   135,   136,   137,   334,     0,     0,
 1915      465,     0,   367,     0,   483,   366,   806,   553,     0,   496,
 1916      539,     0,   828,   827,   536,   535,   538,   537,   542,   515,
 1917      505,     0,   516,   506,   499,     0,   500,   591,   589,   590,
 1918      518,   819,     0,   714,   713,     0,     0,     0,    37,    36,
 1919      109,    38,   107,   108,   106,     0,     0,     0,     0,     0,
 1920        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1921        0,   391,     0,     0,    26,     0,   394,   252,     0,     0,
 1922        0,     0,   383,     0,     0,   385,     0,   395,     0,   182,
 1923        0,     0,   416,     0,    98,   335,   336,   471,   484,   551,
 1924      545,   520,   521,   386,   387,     0,     0,     0,     0,     0,
 1925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1926        0,     0,   195,     0,     0,   730,   728,   729,     0,     0,
 1927        0,   281,     0,     0,     0,     0,     0,     0,     0,     0,
 1928        0,   726,   725,   723,   721,   727,   722,   724,     0,    53,
 1929        0,    39,   110,    40,   111,     0,     0,     0,     0,     0,
 1930        0,     0,     0,     0,     0,   220,   232,     0,     0,   244,
 1931        0,   100,   384,     0,   396,     0,   183,   285,   283,     0,
 1932        0,     0,     0,     0,     0,     0,     0,   744,     0,     0,
 1933        0,     0,     0,     0,   189,   209,     0,   715,   716,   717,
 1934        0,     0,    41,   112,     0,     0,     0,     0,     0,     0,
 1935      390,   389,     0,     0,   393,     0,     0,     0,     0,     0,
 1936        0,     0,     0,     0,     0,   720,   718,   719,     0,     0,
 1937       42,   113,     0,   380,     0,     0,     0,     0,     0,   388,
 1938        0,     0,     0,     0,     0,   282,     0,    54,    43,   114,
 1939        0,     0,     0,     0,     0,     0,     0,     0,   755,   381,
 1940        0,     0,   382
 1941 };
 1942 
 1943   /* YYPGOTO[NTERM-NUM].  */
 1944 static const yytype_int16 yypgoto[] =
 1945 {
 1946     -900,  -900,  -900,   351,     0,  1524,  -170,  1755,   -37,  -900,
 1947     -900,  1140,  2000,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1948     -900,  -900,  -900,   290,  -900,  -900,  -900,  -900,  -900,  2371,
 1949      221,  -900,  -164,  -900,  -900,   829,  -900,   -76,  -900,  -900,
 1950     -900,  -900,   360,   769,  -900,  -301,  -900,  -900,  -899,  -900,
 1951     -900,   -20,  -586,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
 1952     -900,  -900,   -52,    48,   -14,    23,   195,  -192,  -900,  -900,
 1953     -900,  -900,  -900,  -900,  -292,  -174,  -149
 1954 };
 1955 
 1956   /* YYDEFGOTO[NTERM-NUM].  */
 1957 static const yytype_int16 yydefgoto[] =
 1958 {
 1959       -1,   151,   152,   153,   415,   638,   416,   639,   679,   609,
 1960      779,   251,   156,   157,   158,   159,   160,   161,   162,   163,
 1961      164,   165,   166,   599,  1078,  1053,  1028,  1017,   306,   291,
 1962      253,   169,   170,  1217,  1450,   269,  1143,   223,   944,   759,
 1963      760,   791,   837,   434,   171,   448,  1285,  1080,   344,  1312,
 1964      418,   660,   172,  1198,   799,   173,  1456,  1610,  1638,  1558,
 1965     1538,   174,   277,   435,   279,   436,   437,   983,  1252,   175,
 1966     1033,   176,  1084,  1059,   655,  1034,  1263
 1967 };
 1968 
 1969   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
 1970      positive, shift that token.  If negative, reduce the rule whose
 1971      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 1972 static const yytype_int16 yytable[] =
 1973 {
 1974      154,   697,  1016,   569,  1547,   428,   282,   283,   608,   191,
 1975      380,   613,   355,   617,   618,   510,   621,  1409,  1230,   815,
 1976     1535,   202,   362,   690,  1233,   202,  1141,   250,  1447,  1319,
 1977     1282,  1350,  1309,   350,   177,   484,  1258,  1259,  1196,   289,
 1978      295,   691,   241,   397,   446,   593,  1145,   242,   203,  1226,
 1979      256,   460,   923,   465,   302,  1607,   280,   476,   481,   443,
 1980     1240,  1434,   378,   299,   388,   504,  1142,   797,  1436,   507,
 1981      351,   202,  1153,   830,   394,   255,  1551,   202,   191,   241,
 1982      179,   278,   627,   831,   242,   382,  1490,   392,   298,   191,
 1983      398,  1197,   798,    49,    50,   349,   525,   931,   444,    49,
 1984       50,   541,  1249,   457,   395,   178,   354,   627,   765,   474,
 1985      381,   202,   391,   932,   180,   491,   259,   260,   543,   430,
 1986      181,   238,   239,   502,   772,   774,   461,   776,   466,  1283,
 1987      182,   700,   477,   482,   692,   264,   241,   693,   183,  1260,
 1988     1297,   242,   509,   192,   191,  1536,   184,   514,   516,   519,
 1989      521,  1552,  1553,   185,   241,   594,   633,  1423,   241,   242,
 1990      186,   261,   933,   242,   924,   303,  1608,   781,   274,   447,
 1991     1448,   430,   505,   238,   239,   968,   508,   446,   606,   610,
 1992      191,   612,   615,   934,   709,   619,   202,   622,   623,   624,
 1993      625,   591,   782,  1559,  1560,   262,   604,   187,   241,   266,
 1994     1310,   241,   595,   242,  1311,   263,   242,   238,   239,   363,
 1995      241,    49,    50,  1299,   241,   242,   590,  1284,   274,   242,
 1996     1554,   168,   257,   653,   935,   936,   937,  1261,   281,   304,
 1997       96,    97,   925,   368,   188,   300,   627,  1555,   191,   657,
 1998      195,  1249,   352,   201,   202,   264,  1250,   661,   662,   663,
 1999      305,  1231,   271,   345,   431,  1537,  1251,   383,   274,   393,
 2000      654,  1609,  1320,  1449,  1351,   926,   265,  1158,   241,   650,
 2001      189,   938,   421,   242,   698,   939,  1262,   202,   783,   695,
 2002      784,   999,   365,   239,   634,   627,   658,   432,   596,   597,
 2003      635,   368,   400,   198,  1435,   659,  1346,   598,   462,   785,
 2004      467,  1437,   447,   702,   478,   483,   431,   190,   440,   266,
 2005      541,   627,   636,  1014,   196,   542,   696,   346,  1635,  1556,
 2006      445,   940,   449,   946,   947,   833,   834,   468,   469,   941,
 2007      942,   705,   627,  1015,  1417,   511,  1557,  1286,   197,   432,
 2008      993,   239,  1287,   497,   433,   503,   202,  1300,    96,    97,
 2009     1669,  1670,   721,   729,   835,  1266,   710,   525,   191,   713,
 2010      284,   627,   272,   592,   288,   786,   787,   741,   706,   356,
 2011      202,   727,   887,   238,   239,   301,   732,   733,  1301,   267,
 2012      446,   354,   943,   358,   463,  1250,   268,   788,   401,   722,
 2013      755,   359,   525,   836,   419,  1251,   541,   360,   651,   747,
 2014      756,   542,  1032,  -170,  1058,  1083,   753,   433,   361,  1496,
 2015      241,   199,   762,   384,   720,   242,   652,   273,  1305,   399,
 2016      657,  1249,  1060,  1085,   274,   402,   420,  1636,   423,   777,
 2017      780,   429,   792,   438,  1090,   805,   757,   439,   441,   200,
 2018      506,   713,   479,   789,   523,   790,   512,    49,    50,   513,
 2019      801,   528,   529,   530,   531,   532,   533,   534,   535,   536,
 2020      537,   538,   539,   808,   524,   540,   238,   239,   560,  1637,
 2021     1253,   613,   601,  1113,   602,  1115,   603,   202,   629,   814,
 2022      525,   630,   178,   641,   651,   642,   241,   816,   817,   818,
 2023      819,   242,   537,   538,   539,   129,   130,   540,   825,   826,
 2024      827,   828,  1267,   643,   644,   447,   347,   758,   645,   694,
 2025     1012,   842,   843,   844,   646,   647,   648,   274,   649,   966,
 2026      134,   135,   136,   137,   138,   139,   857,   858,   860,   862,
 2027      864,   866,   868,   870,   872,   874,   876,   878,   880,   882,
 2028      884,   568,  1029,   588,  1055,   889,   891,   893,   895,   897,
 2029      899,   901,   903,   905,   907,   909,   911,   913,   915,   917,
 2030      919,   723,   980,   988,   307,  1250,   275,   995,   627,   238,
 2031      239,  1009,  1306,   238,   239,  1251,   680,   681,   687,   712,
 2032      688,   715,   716,  1000,    96,    97,   717,  1013,   276,   724,
 2033      752,   556,   557,   558,   967,  1035,   559,   744,   749,   981,
 2034      989,   802,   809,   713,   996,   735,   241,   810,  1010,   677,
 2035      241,   242,   886,   433,   308,   242,  1020,  1030,   540,  1056,
 2036     1081,   559,   544,   751,   979,    49,    50,  1106,   888,   994,
 2037      921,   922,  1086,  1008,   674,   675,   676,  1110,  1016,   677,
 2038     1092,  1019,  1112,  1091,  1114,  1093,  1116,  1117,  1118,  1119,
 2039     1148,  1097,  1098,  1101,   793,   525,  1109,  1149,  1151,   794,
 2040      795,  1152,  1153,  1154,  1120,  1121,  1122,  1123,  1124,  1125,
 2041     1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,  1134,  1156,
 2042     1172,  1136,  1137,  1157,  1165,  1173,  1175,  1138,  1177,  1180,
 2043     1144,   569,  1182,  1186,  1268,  1183,  1192,   177,  1193,  1150,
 2044     1239,   241,  1194,   945,  1160,  1222,   242,  1247,  1281,   526,
 2045     1295,   664,   665,   666,   667,   668,   669,   670,   671,   672,
 2046      673,   674,   675,   676,  1162,  1321,   677,   838,  1333,  1334,
 2047     1643,  1644,  1352,  1354,  1164,  1355,  1166,  1167,  1168,  1371,
 2048     1372,  1161,  1170,   492,   526,   856,   664,   665,   666,   667,
 2049      668,   669,   670,   671,   672,   673,   674,   675,   676,  1374,
 2050      202,   677,   309,  1380,   525,  1393,   678,  1184,  1185,  1406,
 2051     1432,   982,  1441,  1433,  1445,  1458,   997,  1457,  1465,  1470,
 2052     1011,  1480,  1481,  1486,  1492,  1495,  1513,   493,  1021,  1031,
 2053     1503,  1057,  1082,  1504,  1514,  1581,   254,  1022,  1582,   191,
 2054      718,  1515,  1200,  1525,  1526,   202,  1540,  1201,  1577,   297,
 2055     1203,    49,    50,  1204,   311,  1578,   348,  1223,  1584,  1597,
 2056     1218,  1589,  1087,  1088,  1590,   946,   947,  1603,  1611,  1219,
 2057     1625,   379,   526,   390,   664,   665,   666,   667,   668,   669,
 2058      670,   671,   672,   673,   674,   675,   676,  1620,   494,   677,
 2059     1621,  1108,   368,   525,   699,  1624,   238,   239,  1633,   956,
 2060     1639,  1647,  1649,   285,  1660,  1665,  1389,  1672,   840,   957,
 2061      948,   949,   459,   950,   951,   853,  1288,     0,   475,   591,
 2062        0,   952,   953,   954,   955,     0,   525,     0,  1227,     0,
 2063     1023,   129,   130,   241,  1024,   958,     0,     0,   242,     0,
 2064        0,  1135,   239,   202,   590,     0,     0,   274,     0,  1237,
 2065        0,     0,     0,     0,     0,     0,   134,   135,   136,   137,
 2066      138,   139,  1232,     0,  1234,     0,  1236,  1358,     0,     0,
 2067        0,  1365,     0,     0,     0,     0,   570,   589,     0,   600,
 2068        0,     0,   525,     0,     0,  1025,   605,     0,    96,    97,
 2069      368,  1274,   959,     0,     0,     0,     0,     0,  1026,     0,
 2070     1241,   626,     0,     0,     0,     0,   632,     0,   495,     0,
 2071     1176,     0,     0,  1248,     0,     0,  1257,   547,   548,   549,
 2072      550,   551,   552,   553,   554,   555,   556,   557,   558,     0,
 2073     1276,   559,  1205,  1206,  1207,  1208,  1209,  1210,  1211,  1212,
 2074     1213,  1214,  1215,  1216,     0,  1278,     0,   526,     0,   664,
 2075      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2076      675,   676,     0,  1255,   677,     0,  1291,  1277,     0,   734,
 2077     1202,     0,     0,     0,     0,     0,   241,   960,     0,  1296,
 2078      525,   242,  1304,     0,     0,     0,     0,     0,     0,  1316,
 2079     1318,   592,     0,     0,     0,     0,  1412,     0,     0,     0,
 2080        0,     0,     0,     0,   961,   962,  1327,     0,     0,  1338,
 2081     1344,  1345,     0,     0,  1347,     0,     0,     0,     0,     0,
 2082        0,     0,     0,   963,     0,     0,     0,     0,     0,  1331,
 2083      525,     0,  1342,     0,     0,     0,     0,     0,  1359,  1361,
 2084     1363,     0,  1366,  1367,  1368,  1369,     0,     0,     0,     0,
 2085        0,     0,     0,     0,  1330,   707,   526,  1341,   664,   665,
 2086      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
 2087      676,     0,   964,   677,     0,   719,     0,     0,   742,   726,
 2088      155,     0,     0,     0,     0,     0,     0,     0,   525,     0,
 2089        0,     0,     0,     0,   713,   713,     0,   713,     0,     0,
 2090        0,     0,     0,   743,     0,     0,     0,     0,     0,     0,
 2091     1256,     0,     0,     0,  1395,     0,     0,   612,     0,  1132,
 2092        0,  1132,     0,     0,     0,     0,     0,     0,     0,     0,
 2093     1400,  1401,     0,     0,   713,     0,     0,     0,     0,  1405,
 2094        0,     0,     0,     0,  1474,   526,     0,   664,   665,   666,
 2095      667,   668,   669,   670,   671,   672,   673,   674,   675,   676,
 2096        0,     0,   677,     0,     0,  1411,     0,   807,  1413,  1415,
 2097        0,     0,     0,     0,     0,     0,     0,     0,   526,  1420,
 2098      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
 2099      674,   675,   676,     0,     0,   677,     0,     0,     0,     0,
 2100      813,  1332,     0,     0,  1343,     0,     0,     0,     0,     0,
 2101        0,  1425,     0,   832,     0,     0,   839,     0,     0,   841,
 2102     1426,  1427,     0,     0,     0,     0,     0,     0,   517,   517,
 2103      517,     0,  1429,     0,   526,  1430,   664,   665,   666,   667,
 2104      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
 2105        0,   677,     0,     0,     0,     0,   820,     0,     0,     0,
 2106        0,   517,   517,     0,     0,   517,  1440,     0,     0,     0,
 2107        0,     0,   927,   928,   929,   930,  1443,     0,   600,     0,
 2108      965,   969,     0,     0,   972,   978,     0,   990,     0,   525,
 2109        0,   998,  1451,     0,     0,     0,     0,     0,     0,     0,
 2110        0,     0,  1018,     0,     0,  1054,  1079,     0,     0,     0,
 2111      525,     0,  1472,  1473,     0,  1475,  1476,  1477,  1478,  1479,
 2112        0,     0,     0,     0,     0,  1482,  1390,     0,     0,     0,
 2113        0,  1487,  1488,     0,   544,   665,   666,   667,   668,   669,
 2114      670,   671,   672,   673,   674,   675,   676,  1500,  1501,   677,
 2115        0,     0,     0,     0,     0,     0,     0,     0,  1505,  1506,
 2116      525,  1507,     0,  1508,     0,     0,     0,     0,  1509,     0,
 2117        0,  1510,     0,     0,     0,     0,     0,     0,     0,     0,
 2118        0,  1511,     0,  1410,     0,  1512,   529,   530,   531,   532,
 2119      533,   534,   535,   536,   537,   538,   539,     0,   525,   540,
 2120     1146,     0,     0,     0,     0,  1517,  1519,  1521,  1522,  1523,
 2121     1524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2122        0,     0,     0,     0,     0,   525,     0,  1159,     0,     0,
 2123        0,     0,     0,     0,  1544,     0,     0,     0,  1546,   517,
 2124      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
 2125      672,   673,   674,   675,   676,     0,     0,   677,     0,     0,
 2126        0,  1178,   829,     0,     0,   544,  1570,  1571,  1572,  1573,
 2127     1574,  1575,     0,  1576,     0,     0,     0,     0,     0,  1579,
 2128      193,   525,     0,     0,     0,     0,     0,     0,  1587,  1588,
 2129        0,     0,   258,     0,   270,     0,     0,     0,     0,   286,
 2130      287,     0,     0,   290,     0,  1592,  1594,  1595,  1596,     0,
 2131        0,     0,   353,     0,     0,     0,   357,     0,     0,     0,
 2132        0,   517,     0,  1604,     0,  1605,     0,     0,     0,     0,
 2133      396,     0,     0,     0,     0,     0,     0,     0,  1617,  1618,
 2134     1619,     0,   544,   422,     0,   427,     0,     0,     0,     0,
 2135        0,     0,     0,     0,  1627,  1629,  1630,     0,   442,     0,
 2136        0,     0,     0,  1634,   570,   589,   525,     0,     0,   464,
 2137        0,  1645,  1646,     0,   480,     0,     0,   485,     0,  1650,
 2138        0,     0,  1651,     0,  1623,     0,     0,   525,  1656,     0,
 2139        0,     0,     0,     0,  1661,     0,     0,     0,     0,     0,
 2140        0,     0,  1664,     0,   854,     0,  1668,   517,   517,   517,
 2141      517,   517,   517,   517,   517,   517,   517,   517,   517,   517,
 2142      517,   525,     0,     0,     0,   517,   517,   517,   517,   517,
 2143      517,   517,   517,   517,   517,   517,   517,   517,   517,   517,
 2144      517,   526,   607,   527,   528,   529,   530,   531,   532,   533,
 2145      534,   535,   536,   537,   538,   539,   525,   628,   540,     0,
 2146        0,     0,   526,  1099,   664,   665,   666,   667,   668,   669,
 2147      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
 2148        0,     0,     0,   517,  1254,     0,   545,   640,   546,   547,
 2149      548,   549,   550,   551,   552,   553,   554,   555,   556,   557,
 2150      558,     0,     0,   559,     0,     0,     0,     0,  1100,     0,
 2151        0,  1272,   526,     0,   664,   665,   666,   667,   668,   669,
 2152      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
 2153        0,     0,     0,     0,  1102,     0,     0,   683,     0,   686,
 2154        0,     0,     0,     0,     0,     0,     0,     0,     0,   689,
 2155      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
 2156      672,   673,   674,   675,   676,     0,   701,   677,   703,   417,
 2157     1322,     0,  1103,     0,  1324,  1329,   525,   526,  1340,   664,
 2158      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2159      675,   676,     0,     0,   677,  1353,     0,   451,     0,  1104,
 2160        0,     0,     0,   470,     0,     0,     0,     0,     0,   486,
 2161        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2162      711,   548,   549,   550,   551,   552,   553,   554,   555,   556,
 2163      557,   558,   683,   526,   559,   664,   665,   666,   667,   668,
 2164      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
 2165      677,     0,   525,     0,  1382,  1105,     0,     0,     0,     0,
 2166        0,     0,     0,     0,     0,   750,     0,     0,     0,     0,
 2167        0,     0,     0,     0,     0,   611,     0,     0,     0,     0,
 2168        0,     0,     0,   766,     0,     0,     0,   525,   770,   771,
 2169      773,   631,   775,   778,   545,     0,   546,   547,   548,   549,
 2170      550,   551,   552,   553,   554,   555,   556,   557,   558,     0,
 2171        0,   559,     0,     0,     0,     0,  1155,   803,   526,     0,
 2172      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
 2173      674,   675,   676,   656,     0,   677,   811,     0,     0,   526,
 2174     1174,   664,   665,   666,   667,   668,   669,   670,   671,   672,
 2175      673,   674,   675,   676,     0,     0,   677,     0,     0,     0,
 2176      525,  1190,  1424,     0,   202,     0,     0,     0,   684,   685,
 2177        0,     0,     0,   526,     0,   664,   665,   666,   667,   668,
 2178      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
 2179      677,     0,     0,     0,     0,  1191,     0,     0,     0,     0,
 2180      704,   525,     0,     0,     0,     0,     0,     0,   526,     0,
 2181      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
 2182      674,   675,   676,     0,     0,   677,     0,     0,   544,     0,
 2183     1199,     0,     0,     0,  1439,     0,     0,   970,     0,     0,
 2184        0,     0,   708,   991,  1442,     0,     0,     0,     0,     0,
 2185        0,     0,     0,     0,     0,  1446,   973,     0,  1027,     0,
 2186      238,   239,     0,   684,   725,     0,     0,   728,     0,   730,
 2187      731,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2188      740,     0,     0,     0,   525,     0,     0,     0,   518,   520,
 2189      522,  1107,   745,   746,   748,     0,     0,   241,     0,     0,
 2190        0,   754,   242,     0,     0,   761,     0,     0,   764,     0,
 2191        0,   274,     0,     0,     0,     0,     0,   974,   769,     0,
 2192        0,   614,   616,     0,     0,   620,     0,     0,   526,     0,
 2193      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
 2194      674,   675,   676,   975,   800,   677,     0,     0,     0,   804,
 2195     1271,   806,     0,     0,     0,     0,  1147,     0,   525,     0,
 2196        0,     0,   976,     0,     0,     0,     0,     0,   812,     0,
 2197        0,     0,     0,     0,     0,     0,     0,     0,   517,   517,
 2198      517,     0,     0,     0,     0,     0,     0,   821,   822,   823,
 2199      824,     0,  1534,   977,  1163,   525,     0,     0,     0,     0,
 2200        0,     0,     0,     0,   526,  1545,   664,   665,   666,   667,
 2201      668,   669,   670,   671,   672,   673,   674,   675,   676,   525,
 2202        0,   677,     0,     0,     0,     0,  1280,     0,     0,     0,
 2203        0,     0,     0,     0,   517,   517,  1187,   517,  1188,   526,
 2204     1189,   664,   665,   666,   667,   668,   669,   670,   671,   672,
 2205      673,   674,   675,   676,     0,     0,   677,   517,     0,     0,
 2206        0,  1292,     0,     0,     0,     0,     0,   525,     0,   971,
 2207        0,     0,   987,     0,   517,   992,     0,     0,     0,  1001,
 2208     1007,     0,     0,     0,     0,     0,  1601,  1602,     0,     0,
 2209        0,  1052,  1077,     0,  1220,  1221,     0,     0,  1606,   714,
 2210        0,     0,     0,     0,     0,     0,     0,     0,   517,   517,
 2211        0,   167,   526,     0,   664,   665,   666,   667,   668,   669,
 2212      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
 2213      194,     0,  1111,   194,  1373,     0,     0,     0,   252,     0,
 2214        0,     0,   194,     0,     0,     0,     0,   685,     0,     0,
 2215        0,   296,     0,  1653,     0,     0,   310,  -171,  -171,  -171,
 2216     -171,  -171,  -171,   535,   536,   537,   538,   539,     0,  1663,
 2217      540,     0,   364,     0,  1667,   389,     0,     0,     0,  1671,
 2218        0,   796,   194,  1140,  -171,  -171,  -171,  -171,  -171,  -171,
 2219      554,   555,   556,   557,   558,     0,     0,   559,   194,     0,
 2220        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2221      194,     0,   194,     0,   458,   525,     0,   194,   194,     0,
 2222        0,  1238,     0,     0,     0,     0,  1243,     0,     0,     0,
 2223        0,     0,     0,   496,  1169,   194,   526,   525,   664,   665,
 2224      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
 2225      676,     0,     0,   677,     0,     0,     0,     0,  1375,     0,
 2226        0,     0,     0,  1270,   525,     0,     0,   859,   861,   863,
 2227      865,   867,   869,   871,   873,   875,   877,   879,   881,   883,
 2228      885,     0,     0,     0,     0,   890,   892,   894,   896,   898,
 2229      900,   902,   904,   906,   908,   910,   912,   914,   916,   918,
 2230      920,  1294,   525,     0,  1298,     0,     0,     0,     0,  1308,
 2231      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
 2232      672,   673,   674,   675,   676,     0,     0,   677,     0,     0,
 2233        0,     0,  1376,     0,     0,   525,     0,     0,     0,     0,
 2234        0,     0,     0,  1089,     0,   517,   517,   526,     0,   664,
 2235      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2236      675,   676,   525,     0,   677,     0,     0,     0,     0,  1377,
 2237        0,   526,     0,   664,   665,   666,   667,   668,   669,   670,
 2238      671,   672,   673,   674,   675,   676,     0,     0,   677,     0,
 2239        0,     0,     0,  1378,     0,     0,     0,     0,     0,   194,
 2240        0,   525,     0,     0,     0,     0,     0,  1381,     0,     0,
 2241        0,     0,     0,     0,     0,     0,     0,     0,     0,   526,
 2242     1235,   664,   665,   666,   667,   668,   669,   670,   671,   672,
 2243      673,   674,   675,   676,     0,     0,   677,  1394,   525,     0,
 2244        0,  1379,     0,     0,     0,   517,     0,     0,     0,     0,
 2245        0,     0,     0,     0,     0,     0,  1242,     0,  1244,  1245,
 2246        0,   525,     0,  1246,     0,     0,     0,     0,     0,   194,
 2247        0,   194,   194,     0,     0,     0,     0,     0,     0,  1264,
 2248     1265,     0,     0,     0,     0,     0,     0,     0,  1269,     0,
 2249        0,     0,     0,     0,   517,   194,     0,     0,  1273,  1275,
 2250        0,  1279,     0,     0,     0,     0,     0,     0,     0,     0,
 2251        0,     0,     0,   194,     0,   525,     0,     0,     0,     0,
 2252        0,     0,   517,     0,     0,     0,     0,     0,     0,     0,
 2253        0,  1293,     0,     0,     0,     0,     0,     0,     0,  1307,
 2254        0,     0,  1313,  1314,   194,     0,     0,     0,     0,   194,
 2255      194,     0,     0,     0,     0,     0,     0,     0,  1323,     0,
 2256        0,  1328,     0,     0,  1339,     0,     0,   525,     0,     0,
 2257     1349,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2258      675,   676,     0,     0,   677,  1438,  1357,     0,     0,   526,
 2259        0,   664,   665,   666,   667,   668,   669,   670,   671,   672,
 2260      673,   674,   675,   676,  1370,     0,   677,     0,     0,     0,
 2261        0,  1385,     0,     0,     0,     0,   526,   194,   664,   665,
 2262      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
 2263      676,     0,     0,   677,     0,   855,     0,     0,  1391,     0,
 2264        0,     0,     0,  1383,  1384,   525,     0,     0,     0,     0,
 2265        0,     0,     0,     0,   526,     0,   664,   665,   666,   667,
 2266      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
 2267     1499,   677,  1396,  1502,     0,  1398,  1392,     0,  1399,     0,
 2268        0,     0,   525,     0,     0,     0,     0,   526,  1402,   664,
 2269      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2270      675,   676,     0,     0,   677,   525,     0,     0,     0,  1407,
 2271        0,     0,   194,   194,   526,     0,   664,   665,   666,   667,
 2272      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
 2273        0,   677,     0,     0,     0,     0,  1408,     0,     0,     0,
 2274        0,   194,  1422,     0,     0,     0,     0,     0,     0,     0,
 2275        0,     0,     0,   526,  1541,   664,   665,   666,   667,   668,
 2276      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
 2277      677,     0,     0,     0,     0,  1418,     0,     0,     0,     0,
 2278        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2279      526,   194,   664,   665,   666,   667,   668,   669,   670,   671,
 2280      672,   673,   674,   675,   676,     0,     0,   677,     0,     0,
 2281        0,  1586,  1419,   526,     0,   664,   665,   666,   667,   668,
 2282      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
 2283      677,     0,  1444,     0,     0,  1421,     0,     0,  1360,  1362,
 2284     1364,     0,     0,     0,     0,     0,     0,     0,     0,  1452,
 2285     1455,     0,     0,     0,     0,  1171,     0,     0,     0,     0,
 2286      194,     0,     0,     0,     0,     0,  1471,   526,     0,   664,
 2287      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2288      675,   676,     0,     0,   677,     0,     0,     0,  1489,  1428,
 2289        0,     0,     0,     0,  1386,  1387,     0,  1388,     0,     0,
 2290        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2291        0,  1655,     0,     0,     0,     0,     0,  1397,     0,   526,
 2292      194,   664,   665,   666,   667,   668,   669,   670,   671,   672,
 2293      673,   674,   675,   676,  1404,     0,   677,     0,     0,     0,
 2294        0,  1431,     0,     0,     0,     0,     0,     0,     0,     0,
 2295        0,     0,  1516,     0,     0,     0,     0,     0,     0,     0,
 2296        0,   525,     0,     0,     0,     0,     0,     0,  1414,  1416,
 2297        0,     0,     0,     0,     0,  1532,     0,     0,     0,     0,
 2298        0,     0,     0,     0,     0,     0,  1542,     0,  1543,     0,
 2299        0,     0,     0,     0,     0,     0,     0,   526,  1550,   664,
 2300      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2301      675,   676,     0,     0,   677,     0,     0,     0,     0,   -87,
 2302     1569,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2303        0,     0,     0,     0,   526,  1580,   664,   665,   666,   667,
 2304      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
 2305        0,   677,     0,     0,     0,  1591,  1466,   526,     0,   664,
 2306      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2307      675,   676,     0,     0,   677,     0,     0,     0,     0,  1467,
 2308      525,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2309        0,     0,     0,     0,     0,     0,    -7,     1,  1622,     0,
 2310        0,     0,     0,     0,     0,     0,  1626,     0,     0,     0,
 2311        0,     0,     0,     0,     2,     3,     4,     5,     0,     6,
 2312        7,     8,     9,    10,    11,    12,    13,    14,    15,     0,
 2313        0,    16,     0,    17,    18,     0,     0,    19,    20,     0,
 2314        0,     0,    21,    22,    23,     0,    24,    25,     0,     0,
 2315        0,     0,     0,     0,     0,     0,     0,    26,     0,     0,
 2316       27,    28,     0,     0,     0,     0,    29,     0,     0,    30,
 2317        0,     0,     0,     0,     0,     0,    31,    32,     0,     0,
 2318        0,     0,     0,     0,     0,    33,    34,     0,     0,     0,
 2319        0,     0,     0,     0,    35,    36,    37,    38,     0,     0,
 2320        0,     0,     0,    39,    40,  1518,  1520,    41,     0,    42,
 2321        0,     0,    43,     0,     0,    44,    45,     0,     0,     0,
 2322       46,     0,    47,     0,     0,     0,     0,    48,    49,    50,
 2323        0,     0,     0,    51,     0,    52,     0,     0,    53,     0,
 2324        0,     0,     0,     0,     0,    54,    55,     0,     0,     0,
 2325       56,    57,    58,    59,     0,    60,     0,    61,     0,     0,
 2326        0,     0,    62,     0,    63,    64,     0,     0,     0,    65,
 2327       66,     0,     0,     0,     0,     0,   194,     0,     0,     0,
 2328        0,    67,    68,    69,    70,     0,     0,     0,   525,     0,
 2329        0,     0,     0,     0,     0,     0,     0,    71,     0,    72,
 2330        0,    73,     0,     0,     0,  1593,     0,     0,     0,     0,
 2331        0,     0,     0,   526,    74,   527,   528,   529,   530,   531,
 2332      532,   533,   534,   535,   536,   537,   538,   539,     0,    75,
 2333      540,     0,     0,   194,    76,    77,    78,    79,    80,    81,
 2334        0,     0,    82,    83,    84,    85,     0,    86,    87,     0,
 2335        0,     0,     0,    88,  1628,    89,    90,    91,    92,    93,
 2336       94,     0,     0,     0,    95,    96,    97,     0,     0,     0,
 2337        0,    98,     0,    99,   100,     0,     0,   101,   102,     0,
 2338        0,     0,  1652,     0,     0,   103,   104,   105,   106,     0,
 2339      107,     0,     0,     0,   108,   109,   110,     0,     0,     0,
 2340      111,     0,   112,   113,   114,     0,     0,     0,     0,   115,
 2341      116,   117,   118,   119,   120,   121,     0,   122,   123,     0,
 2342      124,   125,   126,   127,   128,   129,   130,     0,   131,   132,
 2343      133,     0,   526,  1225,   664,   665,   666,   667,   668,   669,
 2344      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
 2345      134,   135,   136,   137,   138,   139,   140,   141,    -7,     1,
 2346        0,     0,     0,     0,   142,   143,   144,   145,   146,     0,
 2347        0,     0,     0,     0,     0,     0,   847,   848,     4,   525,
 2348      147,   148,     0,     0,     0,     0,   149,     0,     0,    -7,
 2349      150,     0,     0,    16,     0,    17,    18,     0,     0,    19,
 2350       20,     0,   525,     0,    21,    22,    23,     0,     0,    25,
 2351        0,     0,     0,     0,     0,     0,     0,     0,     0,    26,
 2352        0,     0,    27,    28,     0,   544,     0,     0,    29,     0,
 2353        0,    30,     0,     0,     0,     0,     0,     0,    31,    32,
 2354        0,     0,     0,     0,     0,     0,     0,    33,    34,     0,
 2355        0,     0,     0,     0,     0,     0,    35,    36,    37,    38,
 2356        0,     0,     0,     0,     0,    39,    40,     0,     0,    41,
 2357        0,    42,     0,     0,    43,     0,     0,    44,    45,     0,
 2358        0,     0,    46,     0,    47,     0,     0,     0,     0,    48,
 2359       49,    50,     0,     0,     0,    51,     0,    52,     0,     0,
 2360       53,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2361        0,     0,     0,    57,    58,    59,     0,    60,     0,    61,
 2362      544,     0,     0,     0,    62,     0,    63,    64,     0,     0,
 2363        0,    65,    66,     0,     0,     0,     0,     0,     0,     0,
 2364        0,     0,     0,    67,  -171,  -171,  -171,  -171,  -171,  -171,
 2365      672,   673,   674,   675,   676,     0,     0,   677,     0,    71,
 2366        0,    72,     0,    73,     0,     0,     0,     0,     0,     0,
 2367        0,     0,     0,     0,     0,     0,    74,     0,     0,     0,
 2368        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2369        0,    75,     0,     0,     0,     0,    76,    77,    78,    79,
 2370        0,    81,     0,     0,    82,    83,   849,    85,     0,    86,
 2371       87,     0,     0,     0,     0,     0,     0,    89,    90,    91,
 2372       92,    93,    94,     0,     0,     0,     0,    96,    97,     0,
 2373        0,     0,     0,    98,     0,    99,   100,     0,     0,   101,
 2374      102,     0,     0,     0,     0,     0,     0,   103,     0,   105,
 2375      106,     0,   107,     0,     0,     0,   108,   109,   110,     0,
 2376        0,     0,   111,     0,   112,   113,   114,     0,     0,     0,
 2377        0,   115,     0,     0,     0,     0,     0,     0,     0,   122,
 2378      123,     0,   124,     0,     0,     0,     0,   129,   130,     0,
 2379      131,   132,   133,   224,   225,   226,     5,     0,   227,   228,
 2380        8,   229,   230,   231,   232,   233,   234,   235,     0,     0,
 2381        0,     0,   134,   135,   136,   137,   138,   139,   140,   141,
 2382        0,     0,     0,     0,     0,    24,   142,   850,   851,   852,
 2383        0,   526,     0,   664,   665,   666,   667,   668,   669,   670,
 2384      671,   672,   673,   674,   675,   676,     0,     0,   677,     0,
 2385        0,    -7,     0,  1468,   526,     0,   664,   665,   666,   667,
 2386      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
 2387        0,   677,     0,     0,     0,     0,  1469,   545,     0,   546,
 2388      547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
 2389      557,   558,     0,     0,   559,     0,     0,     0,     0,  1483,
 2390        0,     0,     0,   525,     0,     0,     0,    49,    50,     0,
 2391        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2392        0,     0,     0,     0,    54,    55,     0,     0,     0,    56,
 2393        0,     0,     0,     0,     0,     0,     0,     0,   224,   225,
 2394      226,     5,     0,   227,   228,     8,   229,   230,   231,   232,
 2395      233,   234,   235,     0,     0,     0,     0,     0,     0,     0,
 2396        0,    68,     0,    70,     0,     0,     0,     0,     0,     0,
 2397       24,     0,   545,     0,   546,   547,   548,   549,   550,   551,
 2398      552,   553,   554,   555,   556,   557,   558,     0,     0,   559,
 2399        0,     0,     0,     0,  1485,     0,     0,     0,   312,     0,
 2400        0,     0,   313,   314,   315,   316,   317,   318,     0,     0,
 2401        0,   319,   320,   321,   322,   323,   324,   243,     0,     0,
 2402        0,     0,     0,     0,     0,     0,     0,     0,     0,   325,
 2403        0,     0,   326,     0,     0,     0,     0,     0,     0,     0,
 2404        0,     0,     0,    95,    96,    97,     0,     0,     0,     0,
 2405      327,     0,    49,    50,     0,     0,     0,     0,     0,     0,
 2406        0,     0,     0,   328,     0,   104,     0,   525,     0,    54,
 2407       55,     0,     0,     0,    56,     0,     0,     0,   204,   205,
 2408      206,     0,   424,     0,     0,     0,     0,   425,     0,   116,
 2409      117,   118,   119,   120,   121,   191,     0,     0,     0,     0,
 2410      125,   126,   127,   128,   129,   130,    68,     0,    70,     0,
 2411      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
 2412      339,     0,     0,     0,     0,     0,     0,     0,     0,   134,
 2413      135,   136,   137,   138,   139,     0,     0,     0,     0,     0,
 2414        0,     0,     0,     0,   244,   245,   246,   146,     0,     0,
 2415        0,     0,     0,     0,     0,   340,     0,     0,     0,   147,
 2416      247,     0,   243,     0,     0,   248,     0,     0,     0,   249,
 2417        0,     0,     0,  1139,     0,     0,     0,     0,     0,     0,
 2418        0,     0,     0,     0,     0,     0,   341,     0,    95,    96,
 2419       97,     0,     0,     0,   224,   225,   226,     5,     0,   227,
 2420      228,     8,   229,   230,   231,   232,   233,   234,   235,     0,
 2421      104,     0,     0,     0,     0,  1036,     0,  1037,     0,     0,
 2422        0,     0,     0,     0,     0,   544,    24,     0,     0,     0,
 2423        0,     0,     0,   426,   116,   117,   118,   119,   120,   121,
 2424        0,     0,     0,  1038,     0,   125,   126,   127,   128,   129,
 2425      130,   202,     0,     0,   525,   526,  1228,   527,   528,   529,
 2426      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
 2427        0,     0,   540,     0,   134,   135,   136,   137,   138,   139,
 2428        0,     0,     0,     0,     0,   342,   343,     0,     0,   244,
 2429      245,   246,   146,   525,     0,     0,     0,     0,   368,     0,
 2430     1039,  1040,     0,     0,   147,   247,     0,     0,    49,    50,
 2431      248,     0,     0,     0,   249,     0,     0,     0,     0,     0,
 2432        0,     0,     0,     0,     0,    54,    55,   525,     0,     0,
 2433       56,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2434     1041,     0,     0,     0,     0,     0,     0,     0,   239,     0,
 2435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2436        0,     0,    68,   207,    70,   208,   209,   210,   211,   212,
 2437      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
 2438        0,     0,     0,     0,   241,  1042,     0,     0,     0,   242,
 2439        0,  1025,     0,     0,     0,     0,     0,     0,     0,     0,
 2440        0,     0,     0,     0,  1043,     0,     0,     0,     0,     0,
 2441        0,     0,  1044,  1045,     0,     0,     0,     0,   243,   526,
 2442        0,   664,   665,   666,   667,   668,   669,   670,   671,   672,
 2443      673,   674,   675,   676,     0,     0,   677,     0,     0,     0,
 2444        0,  1491,     0,     0,    95,    96,    97,     0,  1046,     0,
 2445     1047,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2446        0,     0,  1048,  1049,  1050,     0,   104,     0,   525,     0,
 2447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2448     1051,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2449      116,   117,   118,   119,   120,   121,     0,     0,     0,     0,
 2450        0,   125,   126,   127,   128,   129,   130,   224,   225,   226,
 2451        5,     0,   227,   228,     8,   229,   230,   231,   232,   233,
 2452      234,   235,     0,     0,     0,  1061,     0,     0,     0,     0,
 2453      134,   135,   136,   137,   138,   139,     0,     0,     0,    24,
 2454        0,     0,     0,     0,     0,   244,   245,   246,   146,     0,
 2455        0,  1062,   525,     0,     0,     0,     0,     0,     0,     0,
 2456      147,   247,     0,     0,   202,     0,   248,     0,     0,     0,
 2457      249,     0,     0,     0,     0,     0,     0,   545,  1063,   546,
 2458      547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
 2459      557,   558,   525,     0,   559,     0,     0,     0,     0,  1493,
 2460        0,     0,     0,     0,     0,     0,   526,     0,   664,   665,
 2461      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
 2462      676,    49,    50,   677,     0,     0,     0,     0,  1494,     0,
 2463        0,     0,     0,     0,     0,     0,   544,     0,    54,    55,
 2464     1064,     0,     0,    56,     0,   526,     0,   664,   665,   666,
 2465      667,   668,   669,   670,   671,   672,   673,   674,   675,   676,
 2466        0,   239,   677,     0,     0,  1065,     0,  1498,     0,     0,
 2467        0,     0,     0,  1066,     0,  1067,     0,  1068,  1069,   526,
 2468        0,   664,   665,   666,   667,   668,   669,   670,   671,   672,
 2469      673,   674,   675,   676,     0,     0,   677,   241,   544,  1070,
 2470     1071,  1527,   242,     0,  1025,     0,  1072,     0,     0,     0,
 2471        0,     0,     0,     0,     0,     0,     0,  1073,     0,     0,
 2472        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2473        0,   243,     0,     0,     0,   224,   225,   226,     5,     0,
 2474      227,   228,     8,   229,   230,   231,   232,   233,   234,   235,
 2475        0,     0,     0,     0,     0,     0,     0,    95,    96,    97,
 2476        0,     0,  1074,     0,     0,     0,     0,    24,  1075,     0,
 2477        0,     0,     0,     0,     0,     0,     0,     0,     0,   104,
 2478        0,   366,     0,     0,   367,     0,     0,     0,     0,     0,
 2479        0,     0,   202,  1076,     0,     0,     0,     0,     0,     0,
 2480        0,     0,     0,   116,   117,   118,   119,   120,   121,     0,
 2481        0,     0,     0,     0,   125,   126,   127,   128,   129,   130,
 2482      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
 2483      672,   673,   674,   675,   676,   525,     0,   677,     0,   368,
 2484        0,     0,  1528,   134,   135,   136,   137,   138,   139,    49,
 2485       50,     0,     0,     0,     0,     0,   525,   369,   244,   245,
 2486      246,   146,     0,     0,     0,     0,    54,    55,     0,     0,
 2487        0,    56,     0,   147,   247,   370,     0,     0,     0,   248,
 2488        0,   371,     0,   249,   372,     0,     0,     0,   238,   239,
 2489        0,     0,   373,     0,     0,     0,     0,     0,     0,     0,
 2490        0,     0,     0,    68,   526,    70,   664,   665,   666,   667,
 2491      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
 2492        0,   677,     0,     0,     0,   241,  1529,     0,     0,     0,
 2493      242,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2494        0,     0,     0,     0,   526,     0,   664,   665,   666,   667,
 2495      668,   669,   670,   671,   672,   673,   674,   675,   676,   243,
 2496        0,   677,     0,     0,     0,     0,  1530,     0,     0,     0,
 2497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2498        0,     0,     0,     0,     0,    95,    96,    97,   545,  1229,
 2499      546,   547,   548,   549,   550,   551,   552,   553,   554,   555,
 2500      556,   557,   558,     0,     0,   559,   374,   104,   224,   225,
 2501      226,     5,     0,   227,   228,     8,   229,   230,   231,   232,
 2502      233,   234,   235,     0,     0,     0,     0,     0,     0,   375,
 2503        0,   116,   117,   118,   119,   120,   121,     0,     0,     0,
 2504       24,   403,   125,   126,   127,   128,   129,   130,   376,     0,
 2505      545,     0,   546,   547,   548,   549,   550,   551,   552,   553,
 2506      554,   555,   556,   557,   558,     0,     0,   559,     0,     0,
 2507        0,   134,   135,   377,   137,   138,   139,     0,     0,     0,
 2508        0,   525,     0,     0,     0,     0,   244,   245,   246,   146,
 2509        0,     0,     0,   404,     0,     0,     0,     0,     0,     0,
 2510        0,   147,   247,     0,     0,     0,     0,   248,     0,     0,
 2511        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
 2512      525,     0,    49,    50,     0,     0,     0,     0,     0,     0,
 2513        0,     0,     0,     0,     0,     0,     0,     0,     0,    54,
 2514       55,   405,     0,   406,    56,     0,     0,     0,     0,     0,
 2515        0,     0,     0,     0,   407,   408,     0,     0,     0,     0,
 2516        0,     0,     0,     0,     0,   525,     0,     0,     0,     0,
 2517        0,     0,     0,     0,     0,     0,    68,     0,    70,     0,
 2518        0,     0,     0,     0,     0,     0,     0,   526,     0,   664,
 2519      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2520      675,   676,     0,     0,   677,     0,     0,   409,   526,  1531,
 2521      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
 2522      674,   675,   676,     0,     0,   677,     0,     0,     0,     0,
 2523     1533,     0,   243,     0,     0,     0,     0,     0,     0,     0,
 2524      410,     0,     0,   411,     0,     0,     0,     0,     0,     0,
 2525        0,     0,     0,     0,     0,     0,     0,   412,    95,    96,
 2526       97,     0,     0,   413,   224,   225,   226,     5,     0,   227,
 2527      228,     8,   229,   230,   231,   232,   233,   234,   235,     0,
 2528      104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2529        0,     0,     0,     0,     0,   414,    24,     0,     0,     0,
 2530        0,     0,     0,     0,   116,   117,   118,   119,   120,   121,
 2531        0,     0,     0,   452,     0,   125,   126,   127,   128,   129,
 2532      130,   202,     0,     0,     0,     0,   525,     0,     0,     0,
 2533        0,     0,     0,     0,   453,     0,     0,     0,     0,     0,
 2534        0,     0,     0,     0,   134,   135,   136,   137,   138,   139,
 2535        0,     0,     0,     0,     0,     0,     0,     0,     0,   244,
 2536      245,   246,   146,     0,     0,     0,     0,     0,   368,     0,
 2537        0,     0,     0,     0,   147,   247,     0,     0,    49,    50,
 2538      248,     0,     0,     0,   249,     0,     0,     0,     0,     0,
 2539        0,     0,     0,     0,     0,    54,    55,     0,     0,     0,
 2540       56,     0,     0,     0,     0,     0,   454,     0,     0,     0,
 2541        0,     0,     0,     0,     0,     0,     0,     0,   239,     0,
 2542        0,   455,     0,     0,     0,     0,     0,     0,     0,     0,
 2543        0,     0,    68,   526,    70,   664,   665,   666,   667,   668,
 2544      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
 2545      677,     0,     0,     0,   241,   224,   225,   226,     5,   242,
 2546      227,   228,     8,   229,   230,   231,   232,   233,   234,   235,
 2547        0,     0,   526,     0,   664,   665,   666,   667,   668,   669,
 2548      670,   671,   672,   673,   674,   675,   676,    24,   243,   677,
 2549        0,     0,     0,     0,  1539,     0,     0,     0,     0,     0,
 2550      525,   456,     0,  1002,  1003,     0,     0,     0,     0,     0,
 2551        0,     0,   202,     0,    95,    96,    97,   526,     0,   664,
 2552      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
 2553      675,   676,     0,     0,   677,     0,   104,     0,     0,  1548,
 2554        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2555        0,     0,  1004,     0,     0,     0,     0,     0,     0,     0,
 2556      116,   117,   118,   119,   120,   121,     0,     0,     0,    49,
 2557       50,   125,   126,   127,   128,   129,   130,     0,     0,     0,
 2558        0,     0,     0,     0,     0,     0,    54,    55,     0,     0,
 2559        0,    56,     0,     0,     0,     0,     0,     0,     0,     0,
 2560      134,   135,   136,   137,   138,   139,     0,     0,   238,   239,
 2561        0,     0,     0,     0,     0,   244,   245,   246,   146,     0,
 2562        0,     0,     0,    68,     0,    70,     0,     0,     0,     0,
 2563      147,   247,     0,     0,     0,     0,   248,     0,     0,     0,
 2564      249,     0,     0,     0,   224,   225,   226,     5,     0,   227,
 2565      228,     8,   229,   230,   231,   232,   233,   234,   235,   274,
 2566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2567        0,     0,     0,     0,     0,     0,    24,     0,   526,   243,
 2568      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
 2569      674,   675,   676,     0,     0,   677,     0,     0,     0,     0,
 2570     1549,   202,     0,     0,     0,    95,    96,    97,   525,     0,
 2571     1005,  1006,     0,     0,   236,     0,     0,     0,     0,     0,
 2572        0,     0,     0,     0,     0,     0,     0,   104,     0,     0,
 2573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 2574        0,   237,     0