~ubuntu-branches/ubuntu/precise/mesa/precise-updates

« back to all changes in this revision

Viewing changes to src/glsl/glsl_parser.cpp

  • Committer: Package Import Robot
  • Author(s): Robert Hooker
  • Date: 2012-02-02 12:05:48 UTC
  • mfrom: (1.7.1) (3.3.27 sid)
  • Revision ID: package-import@ubuntu.com-20120202120548-nvkma85jq0h4coix
Tags: 8.0~rc2-0ubuntu4
Drop drisearchdir handling, it is no longer needed with multiarch
and dri-alternates being removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
110
110
 
111
111
#define YYLEX_PARAM state->scanner
112
112
 
 
113
#undef yyerror
 
114
 
 
115
static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg)
 
116
{
 
117
   _mesa_glsl_error(loc, st, "%s", msg);
 
118
}
113
119
 
114
120
 
115
121
/* Line 189 of yacc.c  */
116
 
#line 117 "glsl_parser.cpp"
 
122
#line 123 "glsl_parser.cpp"
117
123
 
118
124
/* Enabling traces.  */
119
125
#ifndef YYDEBUG
210
216
     USAMPLERCUBE = 325,
211
217
     USAMPLER1DARRAY = 326,
212
218
     USAMPLER2DARRAY = 327,
213
 
     STRUCT = 328,
214
 
     VOID_TOK = 329,
215
 
     WHILE = 330,
216
 
     IDENTIFIER = 331,
217
 
     TYPE_IDENTIFIER = 332,
218
 
     NEW_IDENTIFIER = 333,
219
 
     FLOATCONSTANT = 334,
220
 
     INTCONSTANT = 335,
221
 
     UINTCONSTANT = 336,
222
 
     BOOLCONSTANT = 337,
223
 
     FIELD_SELECTION = 338,
224
 
     LEFT_OP = 339,
225
 
     RIGHT_OP = 340,
226
 
     INC_OP = 341,
227
 
     DEC_OP = 342,
228
 
     LE_OP = 343,
229
 
     GE_OP = 344,
230
 
     EQ_OP = 345,
231
 
     NE_OP = 346,
232
 
     AND_OP = 347,
233
 
     OR_OP = 348,
234
 
     XOR_OP = 349,
235
 
     MUL_ASSIGN = 350,
236
 
     DIV_ASSIGN = 351,
237
 
     ADD_ASSIGN = 352,
238
 
     MOD_ASSIGN = 353,
239
 
     LEFT_ASSIGN = 354,
240
 
     RIGHT_ASSIGN = 355,
241
 
     AND_ASSIGN = 356,
242
 
     XOR_ASSIGN = 357,
243
 
     OR_ASSIGN = 358,
244
 
     SUB_ASSIGN = 359,
245
 
     INVARIANT = 360,
246
 
     LOWP = 361,
247
 
     MEDIUMP = 362,
248
 
     HIGHP = 363,
249
 
     SUPERP = 364,
250
 
     PRECISION = 365,
251
 
     VERSION = 366,
252
 
     EXTENSION = 367,
253
 
     LINE = 368,
254
 
     COLON = 369,
255
 
     EOL = 370,
256
 
     INTERFACE = 371,
257
 
     OUTPUT = 372,
258
 
     PRAGMA_DEBUG_ON = 373,
259
 
     PRAGMA_DEBUG_OFF = 374,
260
 
     PRAGMA_OPTIMIZE_ON = 375,
261
 
     PRAGMA_OPTIMIZE_OFF = 376,
262
 
     PRAGMA_INVARIANT_ALL = 377,
263
 
     LAYOUT_TOK = 378,
264
 
     ASM = 379,
265
 
     CLASS = 380,
266
 
     UNION = 381,
267
 
     ENUM = 382,
268
 
     TYPEDEF = 383,
269
 
     TEMPLATE = 384,
270
 
     THIS = 385,
271
 
     PACKED_TOK = 386,
272
 
     GOTO = 387,
273
 
     INLINE_TOK = 388,
274
 
     NOINLINE = 389,
275
 
     VOLATILE = 390,
276
 
     PUBLIC_TOK = 391,
277
 
     STATIC = 392,
278
 
     EXTERN = 393,
279
 
     EXTERNAL = 394,
280
 
     LONG_TOK = 395,
281
 
     SHORT_TOK = 396,
282
 
     DOUBLE_TOK = 397,
283
 
     HALF = 398,
284
 
     FIXED_TOK = 399,
285
 
     UNSIGNED = 400,
286
 
     INPUT_TOK = 401,
287
 
     OUPTUT = 402,
288
 
     HVEC2 = 403,
289
 
     HVEC3 = 404,
290
 
     HVEC4 = 405,
291
 
     DVEC2 = 406,
292
 
     DVEC3 = 407,
293
 
     DVEC4 = 408,
294
 
     FVEC2 = 409,
295
 
     FVEC3 = 410,
296
 
     FVEC4 = 411,
297
 
     SAMPLER2DRECT = 412,
298
 
     SAMPLER3DRECT = 413,
299
 
     SAMPLER2DRECTSHADOW = 414,
300
 
     SIZEOF = 415,
301
 
     CAST = 416,
302
 
     NAMESPACE = 417,
303
 
     USING = 418,
304
 
     ERROR_TOK = 419,
305
 
     COMMON = 420,
306
 
     PARTITION = 421,
307
 
     ACTIVE = 422,
308
 
     SAMPLERBUFFER = 423,
309
 
     FILTER = 424,
310
 
     IMAGE1D = 425,
311
 
     IMAGE2D = 426,
312
 
     IMAGE3D = 427,
313
 
     IMAGECUBE = 428,
314
 
     IMAGE1DARRAY = 429,
315
 
     IMAGE2DARRAY = 430,
316
 
     IIMAGE1D = 431,
317
 
     IIMAGE2D = 432,
318
 
     IIMAGE3D = 433,
319
 
     IIMAGECUBE = 434,
320
 
     IIMAGE1DARRAY = 435,
321
 
     IIMAGE2DARRAY = 436,
322
 
     UIMAGE1D = 437,
323
 
     UIMAGE2D = 438,
324
 
     UIMAGE3D = 439,
325
 
     UIMAGECUBE = 440,
326
 
     UIMAGE1DARRAY = 441,
327
 
     UIMAGE2DARRAY = 442,
328
 
     IMAGE1DSHADOW = 443,
329
 
     IMAGE2DSHADOW = 444,
330
 
     IMAGEBUFFER = 445,
331
 
     IIMAGEBUFFER = 446,
332
 
     UIMAGEBUFFER = 447,
333
 
     IMAGE1DARRAYSHADOW = 448,
334
 
     IMAGE2DARRAYSHADOW = 449,
335
 
     ROW_MAJOR = 450
 
219
     SAMPLEREXTERNALOES = 328,
 
220
     STRUCT = 329,
 
221
     VOID_TOK = 330,
 
222
     WHILE = 331,
 
223
     IDENTIFIER = 332,
 
224
     TYPE_IDENTIFIER = 333,
 
225
     NEW_IDENTIFIER = 334,
 
226
     FLOATCONSTANT = 335,
 
227
     INTCONSTANT = 336,
 
228
     UINTCONSTANT = 337,
 
229
     BOOLCONSTANT = 338,
 
230
     FIELD_SELECTION = 339,
 
231
     LEFT_OP = 340,
 
232
     RIGHT_OP = 341,
 
233
     INC_OP = 342,
 
234
     DEC_OP = 343,
 
235
     LE_OP = 344,
 
236
     GE_OP = 345,
 
237
     EQ_OP = 346,
 
238
     NE_OP = 347,
 
239
     AND_OP = 348,
 
240
     OR_OP = 349,
 
241
     XOR_OP = 350,
 
242
     MUL_ASSIGN = 351,
 
243
     DIV_ASSIGN = 352,
 
244
     ADD_ASSIGN = 353,
 
245
     MOD_ASSIGN = 354,
 
246
     LEFT_ASSIGN = 355,
 
247
     RIGHT_ASSIGN = 356,
 
248
     AND_ASSIGN = 357,
 
249
     XOR_ASSIGN = 358,
 
250
     OR_ASSIGN = 359,
 
251
     SUB_ASSIGN = 360,
 
252
     INVARIANT = 361,
 
253
     LOWP = 362,
 
254
     MEDIUMP = 363,
 
255
     HIGHP = 364,
 
256
     SUPERP = 365,
 
257
     PRECISION = 366,
 
258
     VERSION_TOK = 367,
 
259
     EXTENSION = 368,
 
260
     LINE = 369,
 
261
     COLON = 370,
 
262
     EOL = 371,
 
263
     INTERFACE = 372,
 
264
     OUTPUT = 373,
 
265
     PRAGMA_DEBUG_ON = 374,
 
266
     PRAGMA_DEBUG_OFF = 375,
 
267
     PRAGMA_OPTIMIZE_ON = 376,
 
268
     PRAGMA_OPTIMIZE_OFF = 377,
 
269
     PRAGMA_INVARIANT_ALL = 378,
 
270
     LAYOUT_TOK = 379,
 
271
     ASM = 380,
 
272
     CLASS = 381,
 
273
     UNION = 382,
 
274
     ENUM = 383,
 
275
     TYPEDEF = 384,
 
276
     TEMPLATE = 385,
 
277
     THIS = 386,
 
278
     PACKED_TOK = 387,
 
279
     GOTO = 388,
 
280
     INLINE_TOK = 389,
 
281
     NOINLINE = 390,
 
282
     VOLATILE = 391,
 
283
     PUBLIC_TOK = 392,
 
284
     STATIC = 393,
 
285
     EXTERN = 394,
 
286
     EXTERNAL = 395,
 
287
     LONG_TOK = 396,
 
288
     SHORT_TOK = 397,
 
289
     DOUBLE_TOK = 398,
 
290
     HALF = 399,
 
291
     FIXED_TOK = 400,
 
292
     UNSIGNED = 401,
 
293
     INPUT_TOK = 402,
 
294
     OUPTUT = 403,
 
295
     HVEC2 = 404,
 
296
     HVEC3 = 405,
 
297
     HVEC4 = 406,
 
298
     DVEC2 = 407,
 
299
     DVEC3 = 408,
 
300
     DVEC4 = 409,
 
301
     FVEC2 = 410,
 
302
     FVEC3 = 411,
 
303
     FVEC4 = 412,
 
304
     SAMPLER2DRECT = 413,
 
305
     SAMPLER3DRECT = 414,
 
306
     SAMPLER2DRECTSHADOW = 415,
 
307
     SIZEOF = 416,
 
308
     CAST = 417,
 
309
     NAMESPACE = 418,
 
310
     USING = 419,
 
311
     ERROR_TOK = 420,
 
312
     COMMON = 421,
 
313
     PARTITION = 422,
 
314
     ACTIVE = 423,
 
315
     SAMPLERBUFFER = 424,
 
316
     FILTER = 425,
 
317
     IMAGE1D = 426,
 
318
     IMAGE2D = 427,
 
319
     IMAGE3D = 428,
 
320
     IMAGECUBE = 429,
 
321
     IMAGE1DARRAY = 430,
 
322
     IMAGE2DARRAY = 431,
 
323
     IIMAGE1D = 432,
 
324
     IIMAGE2D = 433,
 
325
     IIMAGE3D = 434,
 
326
     IIMAGECUBE = 435,
 
327
     IIMAGE1DARRAY = 436,
 
328
     IIMAGE2DARRAY = 437,
 
329
     UIMAGE1D = 438,
 
330
     UIMAGE2D = 439,
 
331
     UIMAGE3D = 440,
 
332
     UIMAGECUBE = 441,
 
333
     UIMAGE1DARRAY = 442,
 
334
     UIMAGE2DARRAY = 443,
 
335
     IMAGE1DSHADOW = 444,
 
336
     IMAGE2DSHADOW = 445,
 
337
     IMAGEBUFFER = 446,
 
338
     IIMAGEBUFFER = 447,
 
339
     UIMAGEBUFFER = 448,
 
340
     IMAGE1DARRAYSHADOW = 449,
 
341
     IMAGE2DARRAYSHADOW = 450,
 
342
     ROW_MAJOR = 451
336
343
   };
337
344
#endif
338
345
 
343
350
{
344
351
 
345
352
/* Line 214 of yacc.c  */
346
 
#line 52 "glsl_parser.yy"
 
353
#line 58 "glsl_parser.yy"
347
354
 
348
355
   int n;
349
356
   float real;
362
369
   ast_declarator_list *declarator_list;
363
370
   ast_struct_specifier *struct_specifier;
364
371
   ast_declaration *declaration;
 
372
   ast_switch_body *switch_body;
 
373
   ast_case_label *case_label;
 
374
   ast_case_label_list *case_label_list;
 
375
   ast_case_statement *case_statement;
 
376
   ast_case_statement_list *case_statement_list;
365
377
 
366
378
   struct {
367
379
      ast_node *cond;
376
388
 
377
389
 
378
390
/* Line 214 of yacc.c  */
379
 
#line 380 "glsl_parser.cpp"
 
391
#line 392 "glsl_parser.cpp"
380
392
} YYSTYPE;
381
393
# define YYSTYPE_IS_TRIVIAL 1
382
394
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
401
413
 
402
414
 
403
415
/* Line 264 of yacc.c  */
404
 
#line 405 "glsl_parser.cpp"
 
416
#line 417 "glsl_parser.cpp"
405
417
 
406
418
#ifdef short
407
419
# undef short
618
630
/* YYFINAL -- State number of the termination state.  */
619
631
#define YYFINAL  5
620
632
/* YYLAST -- Last index in YYTABLE.  */
621
 
#define YYLAST   3692
 
633
#define YYLAST   3941
622
634
 
623
635
/* YYNTOKENS -- Number of terminals.  */
624
 
#define YYNTOKENS  220
 
636
#define YYNTOKENS  221
625
637
/* YYNNTS -- Number of nonterminals.  */
626
 
#define YYNNTS  93
 
638
#define YYNNTS  97
627
639
/* YYNRULES -- Number of rules.  */
628
 
#define YYNRULES  291
 
640
#define YYNRULES  299
629
641
/* YYNRULES -- Number of states.  */
630
 
#define YYNSTATES  434
 
642
#define YYNSTATES  445
631
643
 
632
644
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
633
645
#define YYUNDEFTOK  2
634
 
#define YYMAXUTOK   450
 
646
#define YYMAXUTOK   451
635
647
 
636
648
#define YYTRANSLATE(YYX)                                                \
637
649
  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
642
654
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
643
655
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
644
656
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
645
 
       2,     2,     2,   204,     2,     2,     2,   208,   211,     2,
646
 
     196,   197,   206,   202,   201,   203,   200,   207,     2,     2,
647
 
       2,     2,     2,     2,     2,     2,     2,     2,   215,   217,
648
 
     209,   216,   210,   214,     2,     2,     2,     2,     2,     2,
649
 
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
650
 
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
651
 
       2,   198,     2,   199,   212,     2,     2,     2,     2,     2,
652
 
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
653
 
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
654
 
       2,     2,     2,   218,   213,   219,   205,     2,     2,     2,
 
657
       2,     2,     2,   205,     2,     2,     2,   209,   212,     2,
 
658
     197,   198,   207,   203,   202,   204,   201,   208,     2,     2,
 
659
       2,     2,     2,     2,     2,     2,     2,     2,   216,   218,
 
660
     210,   217,   211,   215,     2,     2,     2,     2,     2,     2,
 
661
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
662
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
663
       2,   199,     2,   200,   213,     2,     2,     2,     2,     2,
 
664
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
665
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
666
       2,     2,     2,   219,   214,   220,   206,     2,     2,     2,
655
667
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
656
668
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
657
669
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
684
696
     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
685
697
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
686
698
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
687
 
     195
 
699
     195,   196
688
700
};
689
701
 
690
702
#if YYDEBUG
715
727
     580,   582,   584,   586,   588,   590,   592,   594,   596,   598,
716
728
     600,   602,   604,   606,   608,   610,   612,   614,   616,   618,
717
729
     620,   622,   624,   626,   628,   630,   632,   634,   636,   638,
718
 
     640,   642,   644,   646,   648,   650,   656,   661,   663,   666,
719
 
     670,   672,   676,   678,   683,   685,   687,   689,   691,   693,
 
730
     640,   642,   644,   646,   648,   650,   652,   658,   663,   665,
 
731
     668,   672,   674,   678,   680,   685,   687,   689,   691,   693,
720
732
     695,   697,   699,   701,   703,   705,   708,   709,   714,   716,
721
733
     718,   721,   725,   727,   730,   732,   735,   741,   745,   747,
722
 
     749,   754,   760,   764,   767,   773,   781,   788,   790,   792,
723
 
     794,   795,   798,   802,   805,   808,   811,   815,   818,   820,
724
 
     822,   824
 
734
     749,   754,   760,   763,   767,   771,   774,   776,   779,   782,
 
735
     785,   787,   790,   796,   804,   811,   813,   815,   817,   818,
 
736
     821,   825,   828,   831,   834,   838,   841,   843,   845,   847
725
737
};
726
738
 
727
739
/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
728
740
static const yytype_int16 yyrhs[] =
729
741
{
730
 
     221,     0,    -1,    -1,   223,   225,   222,   228,    -1,    -1,
731
 
     111,    80,   115,    -1,   118,   115,    -1,   119,   115,    -1,
732
 
     120,   115,    -1,   121,   115,    -1,   122,   115,    -1,    -1,
733
 
     225,   227,    -1,    76,    -1,    77,    -1,    78,    -1,   112,
734
 
     226,   114,   226,   115,    -1,   311,    -1,   228,   311,    -1,
735
 
      76,    -1,    78,    -1,   229,    -1,    80,    -1,    81,    -1,
736
 
      79,    -1,    82,    -1,   196,   260,   197,    -1,   230,    -1,
737
 
     231,   198,   232,   199,    -1,   233,    -1,   231,   200,   226,
738
 
      -1,   231,    86,    -1,   231,    87,    -1,   260,    -1,   234,
739
 
      -1,   235,    -1,   231,   200,   240,    -1,   237,   197,    -1,
740
 
     236,   197,    -1,   238,    74,    -1,   238,    -1,   238,   258,
741
 
      -1,   237,   201,   258,    -1,   239,   196,    -1,   281,    -1,
742
 
     229,    -1,    83,    -1,   242,   197,    -1,   241,   197,    -1,
743
 
     243,    74,    -1,   243,    -1,   243,   258,    -1,   242,   201,
744
 
     258,    -1,   229,   196,    -1,   231,    -1,    86,   244,    -1,
745
 
      87,   244,    -1,   245,   244,    -1,   202,    -1,   203,    -1,
746
 
     204,    -1,   205,    -1,   244,    -1,   246,   206,   244,    -1,
747
 
     246,   207,   244,    -1,   246,   208,   244,    -1,   246,    -1,
748
 
     247,   202,   246,    -1,   247,   203,   246,    -1,   247,    -1,
749
 
     248,    84,   247,    -1,   248,    85,   247,    -1,   248,    -1,
750
 
     249,   209,   248,    -1,   249,   210,   248,    -1,   249,    88,
751
 
     248,    -1,   249,    89,   248,    -1,   249,    -1,   250,    90,
752
 
     249,    -1,   250,    91,   249,    -1,   250,    -1,   251,   211,
753
 
     250,    -1,   251,    -1,   252,   212,   251,    -1,   252,    -1,
754
 
     253,   213,   252,    -1,   253,    -1,   254,    92,   253,    -1,
755
 
     254,    -1,   255,    94,   254,    -1,   255,    -1,   256,    93,
756
 
     255,    -1,   256,    -1,   256,   214,   260,   215,   258,    -1,
757
 
     257,    -1,   244,   259,   258,    -1,   216,    -1,    95,    -1,
758
 
      96,    -1,    98,    -1,    97,    -1,   104,    -1,    99,    -1,
759
 
     100,    -1,   101,    -1,   102,    -1,   103,    -1,   258,    -1,
760
 
     260,   201,   258,    -1,   257,    -1,   263,   217,    -1,   271,
761
 
     217,    -1,   110,   285,   282,   217,    -1,   264,   197,    -1,
762
 
     266,    -1,   265,    -1,   266,   268,    -1,   265,   201,   268,
763
 
      -1,   273,   229,   196,    -1,   281,   226,    -1,   281,   226,
764
 
     198,   261,   199,    -1,   278,   269,   267,    -1,   269,   267,
765
 
      -1,   278,   269,   270,    -1,   269,   270,    -1,    -1,    33,
766
 
      -1,    34,    -1,    35,    -1,   281,    -1,   272,    -1,   271,
767
 
     201,   226,    -1,   271,   201,   226,   198,   199,    -1,   271,
768
 
     201,   226,   198,   261,   199,    -1,   271,   201,   226,   198,
769
 
     199,   216,   291,    -1,   271,   201,   226,   198,   261,   199,
770
 
     216,   291,    -1,   271,   201,   226,   216,   291,    -1,   273,
771
 
      -1,   273,   226,    -1,   273,   226,   198,   199,    -1,   273,
772
 
     226,   198,   261,   199,    -1,   273,   226,   198,   199,   216,
773
 
     291,    -1,   273,   226,   198,   261,   199,   216,   291,    -1,
774
 
     273,   226,   216,   291,    -1,   105,   229,    -1,   281,    -1,
775
 
     279,   281,    -1,   123,   196,   275,   197,    -1,   276,    -1,
776
 
     275,   201,   276,    -1,   226,    -1,   226,   216,    80,    -1,
777
 
      40,    -1,    39,    -1,    38,    -1,     4,    -1,   280,    -1,
778
 
     274,    -1,   274,   280,    -1,   277,    -1,   277,   280,    -1,
779
 
     105,   280,    -1,   105,   277,   280,    -1,   105,    -1,     4,
 
742
     222,     0,    -1,    -1,   224,   226,   223,   229,    -1,    -1,
 
743
     112,    81,   116,    -1,   119,   116,    -1,   120,   116,    -1,
 
744
     121,   116,    -1,   122,   116,    -1,   123,   116,    -1,    -1,
 
745
     226,   228,    -1,    77,    -1,    78,    -1,    79,    -1,   113,
 
746
     227,   115,   227,   116,    -1,   316,    -1,   229,   316,    -1,
 
747
      77,    -1,    79,    -1,   230,    -1,    81,    -1,    82,    -1,
 
748
      80,    -1,    83,    -1,   197,   261,   198,    -1,   231,    -1,
 
749
     232,   199,   233,   200,    -1,   234,    -1,   232,   201,   227,
 
750
      -1,   232,    87,    -1,   232,    88,    -1,   261,    -1,   235,
 
751
      -1,   236,    -1,   232,   201,   241,    -1,   238,   198,    -1,
 
752
     237,   198,    -1,   239,    75,    -1,   239,    -1,   239,   259,
 
753
      -1,   238,   202,   259,    -1,   240,   197,    -1,   282,    -1,
 
754
     230,    -1,    84,    -1,   243,   198,    -1,   242,   198,    -1,
 
755
     244,    75,    -1,   244,    -1,   244,   259,    -1,   243,   202,
 
756
     259,    -1,   230,   197,    -1,   232,    -1,    87,   245,    -1,
 
757
      88,   245,    -1,   246,   245,    -1,   203,    -1,   204,    -1,
 
758
     205,    -1,   206,    -1,   245,    -1,   247,   207,   245,    -1,
 
759
     247,   208,   245,    -1,   247,   209,   245,    -1,   247,    -1,
 
760
     248,   203,   247,    -1,   248,   204,   247,    -1,   248,    -1,
 
761
     249,    85,   248,    -1,   249,    86,   248,    -1,   249,    -1,
 
762
     250,   210,   249,    -1,   250,   211,   249,    -1,   250,    89,
 
763
     249,    -1,   250,    90,   249,    -1,   250,    -1,   251,    91,
 
764
     250,    -1,   251,    92,   250,    -1,   251,    -1,   252,   212,
 
765
     251,    -1,   252,    -1,   253,   213,   252,    -1,   253,    -1,
 
766
     254,   214,   253,    -1,   254,    -1,   255,    93,   254,    -1,
 
767
     255,    -1,   256,    95,   255,    -1,   256,    -1,   257,    94,
 
768
     256,    -1,   257,    -1,   257,   215,   261,   216,   259,    -1,
 
769
     258,    -1,   245,   260,   259,    -1,   217,    -1,    96,    -1,
 
770
      97,    -1,    99,    -1,    98,    -1,   105,    -1,   100,    -1,
 
771
     101,    -1,   102,    -1,   103,    -1,   104,    -1,   259,    -1,
 
772
     261,   202,   259,    -1,   258,    -1,   264,   218,    -1,   272,
 
773
     218,    -1,   111,   286,   283,   218,    -1,   265,   198,    -1,
 
774
     267,    -1,   266,    -1,   267,   269,    -1,   266,   202,   269,
 
775
      -1,   274,   230,   197,    -1,   282,   227,    -1,   282,   227,
 
776
     199,   262,   200,    -1,   279,   270,   268,    -1,   270,   268,
 
777
      -1,   279,   270,   271,    -1,   270,   271,    -1,    -1,    33,
 
778
      -1,    34,    -1,    35,    -1,   282,    -1,   273,    -1,   272,
 
779
     202,   227,    -1,   272,   202,   227,   199,   200,    -1,   272,
 
780
     202,   227,   199,   262,   200,    -1,   272,   202,   227,   199,
 
781
     200,   217,   292,    -1,   272,   202,   227,   199,   262,   200,
 
782
     217,   292,    -1,   272,   202,   227,   217,   292,    -1,   274,
 
783
      -1,   274,   227,    -1,   274,   227,   199,   200,    -1,   274,
 
784
     227,   199,   262,   200,    -1,   274,   227,   199,   200,   217,
 
785
     292,    -1,   274,   227,   199,   262,   200,   217,   292,    -1,
 
786
     274,   227,   217,   292,    -1,   106,   230,    -1,   282,    -1,
 
787
     280,   282,    -1,   124,   197,   276,   198,    -1,   277,    -1,
 
788
     276,   202,   277,    -1,   227,    -1,   227,   217,    81,    -1,
 
789
      40,    -1,    39,    -1,    38,    -1,     4,    -1,   281,    -1,
 
790
     275,    -1,   275,   281,    -1,   278,    -1,   278,   281,    -1,
 
791
     106,   281,    -1,   106,   278,   281,    -1,   106,    -1,     4,
780
792
      -1,     3,    -1,    37,    -1,    32,    37,    -1,    33,    -1,
781
793
      34,    -1,    32,    33,    -1,    32,    34,    -1,    36,    -1,
782
 
     282,    -1,   285,   282,    -1,   283,    -1,   283,   198,   199,
783
 
      -1,   283,   198,   261,   199,    -1,   284,    -1,   286,    -1,
784
 
      77,    -1,    74,    -1,     6,    -1,     7,    -1,     8,    -1,
 
794
     283,    -1,   286,   283,    -1,   284,    -1,   284,   199,   200,
 
795
      -1,   284,   199,   262,   200,    -1,   285,    -1,   287,    -1,
 
796
      78,    -1,    75,    -1,     6,    -1,     7,    -1,     8,    -1,
785
797
       5,    -1,    29,    -1,    30,    -1,    31,    -1,    20,    -1,
786
798
      21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
787
799
      26,    -1,    27,    -1,    28,    -1,    41,    -1,    42,    -1,
788
800
      43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,
789
 
      48,    -1,    49,    -1,    50,    -1,    51,    -1,   157,    -1,
790
 
      52,    -1,    53,    -1,    54,    -1,    55,    -1,   159,    -1,
791
 
      56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
792
 
      61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
793
 
      66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,
794
 
      71,    -1,    72,    -1,   108,    -1,   107,    -1,   106,    -1,
795
 
      73,   226,   218,   287,   219,    -1,    73,   218,   287,   219,
796
 
      -1,   288,    -1,   287,   288,    -1,   281,   289,   217,    -1,
797
 
     290,    -1,   289,   201,   290,    -1,   226,    -1,   226,   198,
798
 
     261,   199,    -1,   258,    -1,   262,    -1,   295,    -1,   294,
799
 
      -1,   292,    -1,   300,    -1,   301,    -1,   304,    -1,   305,
800
 
      -1,   306,    -1,   310,    -1,   218,   219,    -1,    -1,   218,
801
 
     296,   299,   219,    -1,   298,    -1,   294,    -1,   218,   219,
802
 
      -1,   218,   299,   219,    -1,   293,    -1,   299,   293,    -1,
803
 
     217,    -1,   260,   217,    -1,    14,   196,   260,   197,   302,
804
 
      -1,   293,    12,   293,    -1,   293,    -1,   260,    -1,   273,
805
 
     226,   216,   291,    -1,    17,   196,   260,   197,   295,    -1,
806
 
      18,   260,   215,    -1,    19,   215,    -1,    75,   196,   303,
807
 
     197,   297,    -1,    11,   293,    75,   196,   260,   197,   217,
808
 
      -1,    13,   196,   307,   309,   197,   297,    -1,   300,    -1,
809
 
     292,    -1,   303,    -1,    -1,   308,   217,    -1,   308,   217,
810
 
     260,    -1,    10,   217,    -1,     9,   217,    -1,    16,   217,
811
 
      -1,    16,   260,   217,    -1,    15,   217,    -1,   312,    -1,
812
 
     262,    -1,   224,    -1,   263,   298,    -1
 
801
      48,    -1,    49,    -1,    50,    -1,    51,    -1,   158,    -1,
 
802
      52,    -1,    53,    -1,    73,    -1,    54,    -1,    55,    -1,
 
803
     160,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,
 
804
      60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,
 
805
      65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,
 
806
      70,    -1,    71,    -1,    72,    -1,   109,    -1,   108,    -1,
 
807
     107,    -1,    74,   227,   219,   288,   220,    -1,    74,   219,
 
808
     288,   220,    -1,   289,    -1,   288,   289,    -1,   282,   290,
 
809
     218,    -1,   291,    -1,   290,   202,   291,    -1,   227,    -1,
 
810
     227,   199,   262,   200,    -1,   259,    -1,   263,    -1,   296,
 
811
      -1,   295,    -1,   293,    -1,   301,    -1,   302,    -1,   305,
 
812
      -1,   311,    -1,   315,    -1,   219,   220,    -1,    -1,   219,
 
813
     297,   300,   220,    -1,   299,    -1,   295,    -1,   219,   220,
 
814
      -1,   219,   300,   220,    -1,   294,    -1,   300,   294,    -1,
 
815
     218,    -1,   261,   218,    -1,    14,   197,   261,   198,   303,
 
816
      -1,   294,    12,   294,    -1,   294,    -1,   261,    -1,   274,
 
817
     227,   217,   292,    -1,    17,   197,   261,   198,   306,    -1,
 
818
     219,   220,    -1,   219,   310,   220,    -1,    18,   261,   216,
 
819
      -1,    19,   216,    -1,   307,    -1,   308,   307,    -1,   308,
 
820
     294,    -1,   309,   294,    -1,   309,    -1,   310,   309,    -1,
 
821
      76,   197,   304,   198,   298,    -1,    11,   294,    76,   197,
 
822
     261,   198,   218,    -1,    13,   197,   312,   314,   198,   298,
 
823
      -1,   301,    -1,   293,    -1,   304,    -1,    -1,   313,   218,
 
824
      -1,   313,   218,   261,    -1,    10,   218,    -1,     9,   218,
 
825
      -1,    16,   218,    -1,    16,   261,   218,    -1,    15,   218,
 
826
      -1,   317,    -1,   263,    -1,   225,    -1,   264,   299,    -1
813
827
};
814
828
 
815
829
/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
816
830
static const yytype_uint16 yyrline[] =
817
831
{
818
 
       0,   218,   218,   217,   229,   231,   271,   272,   273,   274,
819
 
     275,   287,   289,   293,   294,   295,   299,   308,   316,   327,
820
 
     328,   332,   339,   346,   353,   360,   367,   374,   375,   381,
821
 
     385,   392,   398,   407,   411,   415,   416,   425,   426,   430,
822
 
     431,   435,   441,   453,   457,   463,   470,   480,   481,   485,
823
 
     486,   490,   496,   508,   519,   520,   526,   532,   542,   543,
824
 
     544,   545,   549,   550,   556,   562,   571,   572,   578,   587,
825
 
     588,   594,   603,   604,   610,   616,   622,   631,   632,   638,
826
 
     647,   648,   657,   658,   667,   668,   677,   678,   687,   688,
827
 
     697,   698,   707,   708,   717,   718,   727,   728,   729,   730,
828
 
     731,   732,   733,   734,   735,   736,   737,   741,   745,   761,
829
 
     765,   770,   774,   783,   787,   788,   792,   797,   805,   819,
830
 
     829,   844,   851,   856,   867,   880,   883,   888,   893,   902,
831
 
     906,   907,   917,   927,   937,   947,   957,   971,   982,   991,
832
 
    1000,  1009,  1018,  1027,  1036,  1050,  1057,  1068,  1075,  1076,
833
 
    1095,  1147,  1188,  1193,  1198,  1206,  1214,  1215,  1216,  1221,
834
 
    1222,  1227,  1232,  1238,  1246,  1251,  1256,  1261,  1267,  1272,
835
 
    1277,  1282,  1287,  1295,  1299,  1307,  1308,  1314,  1323,  1329,
836
 
    1335,  1344,  1345,  1346,  1347,  1348,  1349,  1350,  1351,  1352,
837
 
    1353,  1354,  1355,  1356,  1357,  1358,  1359,  1360,  1361,  1362,
838
 
    1363,  1364,  1365,  1366,  1367,  1368,  1369,  1370,  1371,  1372,
839
 
    1373,  1374,  1375,  1376,  1377,  1378,  1379,  1380,  1381,  1382,
840
 
    1383,  1384,  1385,  1386,  1387,  1388,  1389,  1390,  1391,  1392,
841
 
    1393,  1394,  1398,  1408,  1418,  1431,  1438,  1447,  1452,  1460,
842
 
    1475,  1480,  1488,  1495,  1504,  1508,  1514,  1515,  1519,  1520,
843
 
    1521,  1522,  1523,  1524,  1525,  1529,  1536,  1535,  1549,  1550,
844
 
    1554,  1560,  1569,  1579,  1591,  1597,  1606,  1615,  1620,  1628,
845
 
    1632,  1646,  1650,  1651,  1655,  1662,  1669,  1679,  1680,  1684,
846
 
    1686,  1692,  1697,  1706,  1712,  1718,  1724,  1730,  1739,  1740,
847
 
    1741,  1745
 
832
       0,   236,   236,   235,   247,   249,   289,   290,   291,   292,
 
833
     293,   305,   307,   311,   312,   313,   317,   326,   334,   345,
 
834
     346,   350,   357,   364,   371,   378,   385,   392,   393,   399,
 
835
     403,   410,   416,   425,   429,   433,   434,   443,   444,   448,
 
836
     449,   453,   459,   471,   475,   481,   488,   498,   499,   503,
 
837
     504,   508,   514,   526,   537,   538,   544,   550,   560,   561,
 
838
     562,   563,   567,   568,   574,   580,   589,   590,   596,   605,
 
839
     606,   612,   621,   622,   628,   634,   640,   649,   650,   656,
 
840
     665,   666,   675,   676,   685,   686,   695,   696,   705,   706,
 
841
     715,   716,   725,   726,   735,   736,   745,   746,   747,   748,
 
842
     749,   750,   751,   752,   753,   754,   755,   759,   763,   779,
 
843
     783,   788,   792,   801,   805,   806,   810,   815,   823,   837,
 
844
     847,   862,   869,   874,   885,   898,   901,   906,   911,   920,
 
845
     924,   925,   935,   945,   955,   965,   975,   989,   996,  1005,
 
846
    1014,  1023,  1032,  1041,  1050,  1064,  1071,  1082,  1089,  1090,
 
847
    1109,  1168,  1209,  1214,  1219,  1227,  1235,  1236,  1237,  1242,
 
848
    1243,  1248,  1253,  1259,  1267,  1272,  1277,  1282,  1288,  1293,
 
849
    1298,  1303,  1308,  1316,  1320,  1328,  1329,  1335,  1344,  1350,
 
850
    1356,  1365,  1366,  1367,  1368,  1369,  1370,  1371,  1372,  1373,
 
851
    1374,  1375,  1376,  1377,  1378,  1379,  1380,  1381,  1382,  1383,
 
852
    1384,  1385,  1386,  1387,  1388,  1389,  1390,  1391,  1392,  1393,
 
853
    1394,  1395,  1396,  1397,  1398,  1399,  1400,  1401,  1402,  1403,
 
854
    1404,  1405,  1406,  1407,  1408,  1409,  1410,  1411,  1412,  1413,
 
855
    1414,  1415,  1416,  1420,  1430,  1440,  1453,  1460,  1469,  1474,
 
856
    1482,  1497,  1502,  1510,  1517,  1526,  1530,  1536,  1537,  1541,
 
857
    1542,  1543,  1544,  1545,  1546,  1550,  1557,  1556,  1570,  1571,
 
858
    1575,  1581,  1590,  1600,  1612,  1618,  1627,  1636,  1641,  1649,
 
859
    1653,  1671,  1678,  1683,  1691,  1695,  1702,  1709,  1717,  1724,
 
860
    1732,  1739,  1747,  1754,  1761,  1771,  1772,  1776,  1778,  1784,
 
861
    1789,  1798,  1804,  1810,  1816,  1822,  1831,  1832,  1833,  1837
848
862
};
849
863
#endif
850
864
 
866
880
  "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
867
881
  "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
868
882
  "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
869
 
  "USAMPLER2DARRAY", "STRUCT", "VOID_TOK", "WHILE", "IDENTIFIER",
870
 
  "TYPE_IDENTIFIER", "NEW_IDENTIFIER", "FLOATCONSTANT", "INTCONSTANT",
871
 
  "UINTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP",
872
 
  "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP",
873
 
  "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN",
874
 
  "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN",
875
 
  "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT", "LOWP", "MEDIUMP", "HIGHP",
876
 
  "SUPERP", "PRECISION", "VERSION", "EXTENSION", "LINE", "COLON", "EOL",
877
 
  "INTERFACE", "OUTPUT", "PRAGMA_DEBUG_ON", "PRAGMA_DEBUG_OFF",
878
 
  "PRAGMA_OPTIMIZE_ON", "PRAGMA_OPTIMIZE_OFF", "PRAGMA_INVARIANT_ALL",
879
 
  "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM", "TYPEDEF", "TEMPLATE",
880
 
  "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK", "NOINLINE", "VOLATILE",
881
 
  "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL", "LONG_TOK", "SHORT_TOK",
882
 
  "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED", "INPUT_TOK", "OUPTUT",
883
 
  "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3", "DVEC4", "FVEC2", "FVEC3",
884
 
  "FVEC4", "SAMPLER2DRECT", "SAMPLER3DRECT", "SAMPLER2DRECTSHADOW",
885
 
  "SIZEOF", "CAST", "NAMESPACE", "USING", "ERROR_TOK", "COMMON",
886
 
  "PARTITION", "ACTIVE", "SAMPLERBUFFER", "FILTER", "IMAGE1D", "IMAGE2D",
887
 
  "IMAGE3D", "IMAGECUBE", "IMAGE1DARRAY", "IMAGE2DARRAY", "IIMAGE1D",
888
 
  "IIMAGE2D", "IIMAGE3D", "IIMAGECUBE", "IIMAGE1DARRAY", "IIMAGE2DARRAY",
889
 
  "UIMAGE1D", "UIMAGE2D", "UIMAGE3D", "UIMAGECUBE", "UIMAGE1DARRAY",
890
 
  "UIMAGE2DARRAY", "IMAGE1DSHADOW", "IMAGE2DSHADOW", "IMAGEBUFFER",
891
 
  "IIMAGEBUFFER", "UIMAGEBUFFER", "IMAGE1DARRAYSHADOW",
892
 
  "IMAGE2DARRAYSHADOW", "ROW_MAJOR", "'('", "')'", "'['", "']'", "'.'",
893
 
  "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'", "'%'", "'<'", "'>'",
894
 
  "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "'{'", "'}'", "$accept",
895
 
  "translation_unit", "$@1", "version_statement", "pragma_statement",
896
 
  "extension_statement_list", "any_identifier", "extension_statement",
897
 
  "external_declaration_list", "variable_identifier", "primary_expression",
898
 
  "postfix_expression", "integer_expression", "function_call",
899
 
  "function_call_or_method", "function_call_generic",
900
 
  "function_call_header_no_parameters",
 
883
  "USAMPLER2DARRAY", "SAMPLEREXTERNALOES", "STRUCT", "VOID_TOK", "WHILE",
 
884
  "IDENTIFIER", "TYPE_IDENTIFIER", "NEW_IDENTIFIER", "FLOATCONSTANT",
 
885
  "INTCONSTANT", "UINTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION",
 
886
  "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP",
 
887
  "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN",
 
888
  "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
 
889
  "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT", "LOWP", "MEDIUMP",
 
890
  "HIGHP", "SUPERP", "PRECISION", "VERSION_TOK", "EXTENSION", "LINE",
 
891
  "COLON", "EOL", "INTERFACE", "OUTPUT", "PRAGMA_DEBUG_ON",
 
892
  "PRAGMA_DEBUG_OFF", "PRAGMA_OPTIMIZE_ON", "PRAGMA_OPTIMIZE_OFF",
 
893
  "PRAGMA_INVARIANT_ALL", "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM",
 
894
  "TYPEDEF", "TEMPLATE", "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK",
 
895
  "NOINLINE", "VOLATILE", "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL",
 
896
  "LONG_TOK", "SHORT_TOK", "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED",
 
897
  "INPUT_TOK", "OUPTUT", "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3",
 
898
  "DVEC4", "FVEC2", "FVEC3", "FVEC4", "SAMPLER2DRECT", "SAMPLER3DRECT",
 
899
  "SAMPLER2DRECTSHADOW", "SIZEOF", "CAST", "NAMESPACE", "USING",
 
900
  "ERROR_TOK", "COMMON", "PARTITION", "ACTIVE", "SAMPLERBUFFER", "FILTER",
 
901
  "IMAGE1D", "IMAGE2D", "IMAGE3D", "IMAGECUBE", "IMAGE1DARRAY",
 
902
  "IMAGE2DARRAY", "IIMAGE1D", "IIMAGE2D", "IIMAGE3D", "IIMAGECUBE",
 
903
  "IIMAGE1DARRAY", "IIMAGE2DARRAY", "UIMAGE1D", "UIMAGE2D", "UIMAGE3D",
 
904
  "UIMAGECUBE", "UIMAGE1DARRAY", "UIMAGE2DARRAY", "IMAGE1DSHADOW",
 
905
  "IMAGE2DSHADOW", "IMAGEBUFFER", "IIMAGEBUFFER", "UIMAGEBUFFER",
 
906
  "IMAGE1DARRAYSHADOW", "IMAGE2DARRAYSHADOW", "ROW_MAJOR", "'('", "')'",
 
907
  "'['", "']'", "'.'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'",
 
908
  "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'",
 
909
  "'{'", "'}'", "$accept", "translation_unit", "$@1", "version_statement",
 
910
  "pragma_statement", "extension_statement_list", "any_identifier",
 
911
  "extension_statement", "external_declaration_list",
 
912
  "variable_identifier", "primary_expression", "postfix_expression",
 
913
  "integer_expression", "function_call", "function_call_or_method",
 
914
  "function_call_generic", "function_call_header_no_parameters",
901
915
  "function_call_header_with_parameters", "function_call_header",
902
916
  "function_identifier", "method_call_generic",
903
917
  "method_call_header_no_parameters", "method_call_header_with_parameters",
924
938
  "compound_statement_no_new_scope", "statement_list",
925
939
  "expression_statement", "selection_statement",
926
940
  "selection_rest_statement", "condition", "switch_statement",
927
 
  "case_label", "iteration_statement", "for_init_statement",
 
941
  "switch_body", "case_label", "case_label_list", "case_statement",
 
942
  "case_statement_list", "iteration_statement", "for_init_statement",
928
943
  "conditionopt", "for_rest_statement", "jump_statement",
929
944
  "external_declaration", "function_definition", 0
930
945
};
954
969
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
955
970
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
956
971
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
957
 
     445,   446,   447,   448,   449,   450,    40,    41,    91,    93,
958
 
      46,    44,    43,    45,    33,   126,    42,    47,    37,    60,
959
 
      62,    38,    94,   124,    63,    58,    61,    59,   123,   125
 
972
     445,   446,   447,   448,   449,   450,   451,    40,    41,    91,
 
973
      93,    46,    44,    43,    45,    33,   126,    42,    47,    37,
 
974
      60,    62,    38,    94,   124,    63,    58,    61,    59,   123,
 
975
     125
960
976
};
961
977
# endif
962
978
 
963
979
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
964
980
static const yytype_uint16 yyr1[] =
965
981
{
966
 
       0,   220,   222,   221,   223,   223,   224,   224,   224,   224,
967
 
     224,   225,   225,   226,   226,   226,   227,   228,   228,   229,
968
 
     229,   230,   230,   230,   230,   230,   230,   231,   231,   231,
969
 
     231,   231,   231,   232,   233,   234,   234,   235,   235,   236,
970
 
     236,   237,   237,   238,   239,   239,   239,   240,   240,   241,
971
 
     241,   242,   242,   243,   244,   244,   244,   244,   245,   245,
972
 
     245,   245,   246,   246,   246,   246,   247,   247,   247,   248,
973
 
     248,   248,   249,   249,   249,   249,   249,   250,   250,   250,
974
 
     251,   251,   252,   252,   253,   253,   254,   254,   255,   255,
975
 
     256,   256,   257,   257,   258,   258,   259,   259,   259,   259,
976
 
     259,   259,   259,   259,   259,   259,   259,   260,   260,   261,
977
 
     262,   262,   262,   263,   264,   264,   265,   265,   266,   267,
978
 
     267,   268,   268,   268,   268,   269,   269,   269,   269,   270,
979
 
     271,   271,   271,   271,   271,   271,   271,   272,   272,   272,
980
 
     272,   272,   272,   272,   272,   273,   273,   274,   275,   275,
981
 
     276,   276,   277,   277,   277,   278,   279,   279,   279,   279,
982
 
     279,   279,   279,   279,   280,   280,   280,   280,   280,   280,
983
 
     280,   280,   280,   281,   281,   282,   282,   282,   283,   283,
984
 
     283,   284,   284,   284,   284,   284,   284,   284,   284,   284,
985
 
     284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
986
 
     284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
987
 
     284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
988
 
     284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
989
 
     284,   284,   285,   285,   285,   286,   286,   287,   287,   288,
990
 
     289,   289,   290,   290,   291,   292,   293,   293,   294,   294,
991
 
     294,   294,   294,   294,   294,   295,   296,   295,   297,   297,
992
 
     298,   298,   299,   299,   300,   300,   301,   302,   302,   303,
993
 
     303,   304,   305,   305,   306,   306,   306,   307,   307,   308,
994
 
     308,   309,   309,   310,   310,   310,   310,   310,   311,   311,
995
 
     311,   312
 
982
       0,   221,   223,   222,   224,   224,   225,   225,   225,   225,
 
983
     225,   226,   226,   227,   227,   227,   228,   229,   229,   230,
 
984
     230,   231,   231,   231,   231,   231,   231,   232,   232,   232,
 
985
     232,   232,   232,   233,   234,   235,   235,   236,   236,   237,
 
986
     237,   238,   238,   239,   240,   240,   240,   241,   241,   242,
 
987
     242,   243,   243,   244,   245,   245,   245,   245,   246,   246,
 
988
     246,   246,   247,   247,   247,   247,   248,   248,   248,   249,
 
989
     249,   249,   250,   250,   250,   250,   250,   251,   251,   251,
 
990
     252,   252,   253,   253,   254,   254,   255,   255,   256,   256,
 
991
     257,   257,   258,   258,   259,   259,   260,   260,   260,   260,
 
992
     260,   260,   260,   260,   260,   260,   260,   261,   261,   262,
 
993
     263,   263,   263,   264,   265,   265,   266,   266,   267,   268,
 
994
     268,   269,   269,   269,   269,   270,   270,   270,   270,   271,
 
995
     272,   272,   272,   272,   272,   272,   272,   273,   273,   273,
 
996
     273,   273,   273,   273,   273,   274,   274,   275,   276,   276,
 
997
     277,   277,   278,   278,   278,   279,   280,   280,   280,   280,
 
998
     280,   280,   280,   280,   281,   281,   281,   281,   281,   281,
 
999
     281,   281,   281,   282,   282,   283,   283,   283,   284,   284,
 
1000
     284,   285,   285,   285,   285,   285,   285,   285,   285,   285,
 
1001
     285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
 
1002
     285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
 
1003
     285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
 
1004
     285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
 
1005
     285,   285,   285,   286,   286,   286,   287,   287,   288,   288,
 
1006
     289,   290,   290,   291,   291,   292,   293,   294,   294,   295,
 
1007
     295,   295,   295,   295,   295,   296,   297,   296,   298,   298,
 
1008
     299,   299,   300,   300,   301,   301,   302,   303,   303,   304,
 
1009
     304,   305,   306,   306,   307,   307,   308,   308,   309,   309,
 
1010
     310,   310,   311,   311,   311,   312,   312,   313,   313,   314,
 
1011
     314,   315,   315,   315,   315,   315,   316,   316,   316,   317
996
1012
};
997
1013
 
998
1014
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1021
1037
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1022
1038
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1023
1039
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1024
 
       1,     1,     1,     1,     1,     5,     4,     1,     2,     3,
1025
 
       1,     3,     1,     4,     1,     1,     1,     1,     1,     1,
 
1040
       1,     1,     1,     1,     1,     1,     5,     4,     1,     2,
 
1041
       3,     1,     3,     1,     4,     1,     1,     1,     1,     1,
1026
1042
       1,     1,     1,     1,     1,     2,     0,     4,     1,     1,
1027
1043
       2,     3,     1,     2,     1,     2,     5,     3,     1,     1,
1028
 
       4,     5,     3,     2,     5,     7,     6,     1,     1,     1,
1029
 
       0,     2,     3,     2,     2,     2,     3,     2,     1,     1,
1030
 
       1,     2
 
1044
       4,     5,     2,     3,     3,     2,     1,     2,     2,     2,
 
1045
       1,     2,     5,     7,     6,     1,     1,     1,     0,     2,
 
1046
       3,     2,     2,     2,     3,     2,     1,     1,     1,     2
1031
1047
};
1032
1048
 
1033
1049
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1040
1056
     184,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1041
1057
     186,   187,   188,     0,   168,   169,   172,   166,   154,   153,
1042
1058
     152,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1043
 
     207,   208,   210,   211,   212,   213,   215,   216,   217,   218,
1044
 
     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1045
 
     229,   230,   231,     0,   181,   180,   163,   234,   233,   232,
1046
 
       0,     0,     0,     0,     0,     0,     0,   209,   214,   290,
1047
 
       3,   289,     0,     0,   115,   125,     0,   130,   137,   157,
1048
 
     159,     0,   156,   145,   173,   175,   178,     0,   179,    17,
1049
 
     288,     0,   170,   171,   167,     0,     0,    19,    20,   144,
1050
 
       0,   161,     0,     6,     7,     8,     9,    10,     0,    18,
1051
 
     110,     0,   291,   113,   125,   155,   126,   127,   128,   116,
1052
 
       0,   125,     0,   111,    13,    15,   138,     0,   158,   160,
1053
 
     146,     0,   174,     0,     0,     0,   237,     0,   162,     0,
1054
 
     150,     0,   148,     0,     0,     0,     0,     0,     0,     0,
1055
 
       0,     0,     0,     0,    24,    22,    23,    25,    46,     0,
1056
 
       0,     0,    58,    59,    60,    61,   264,   256,   260,    21,
1057
 
      27,    54,    29,    34,    35,     0,     0,    40,     0,    62,
1058
 
       0,    66,    69,    72,    77,    80,    82,    84,    86,    88,
1059
 
      90,    92,    94,   107,     0,   245,     0,   145,   248,   262,
1060
 
     247,   246,     0,   249,   250,   251,   252,   253,   254,   117,
1061
 
     122,   124,   129,     0,   131,     0,     0,   118,   176,    62,
1062
 
     109,     0,    44,    16,   242,     0,   240,   236,   238,     0,
1063
 
     112,     0,   147,     0,   284,   283,     0,     0,     0,   287,
1064
 
     285,     0,     0,     0,   273,     0,    55,    56,     0,   255,
1065
 
       0,    31,    32,     0,     0,    38,    37,     0,   181,    41,
1066
 
      43,    97,    98,   100,    99,   102,   103,   104,   105,   106,
1067
 
     101,    96,     0,    57,     0,     0,     0,     0,     0,     0,
1068
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1069
 
       0,     0,     0,     0,     0,   265,   261,   263,   119,   121,
1070
 
     123,     0,     0,   139,     0,   244,   143,   177,     0,     0,
1071
 
     239,   235,   151,   149,     0,   278,   277,   280,     0,   286,
1072
 
       0,   272,   163,   269,     0,     0,    26,     0,     0,    33,
1073
 
      30,     0,    36,     0,     0,    50,    42,    95,    63,    64,
1074
 
      65,    67,    68,    70,    71,    75,    76,    73,    74,    78,
1075
 
      79,    81,    83,    85,    87,    89,    91,     0,   108,     0,
1076
 
     132,     0,   136,     0,   140,     0,   241,     0,   279,     0,
1077
 
       0,     0,     0,     0,     0,   257,    28,    53,    48,    47,
1078
 
       0,   181,    51,     0,     0,     0,   133,   141,     0,   243,
1079
 
       0,   281,     0,   268,   266,   271,     0,   259,   274,   258,
1080
 
      52,    93,   120,   134,     0,   142,     0,   282,   276,     0,
1081
 
     270,   135,   275,   267
 
1059
     207,   208,   210,   211,   213,   214,   216,   217,   218,   219,
 
1060
     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
 
1061
     230,   231,   232,   212,     0,   181,   180,   163,   235,   234,
 
1062
     233,     0,     0,     0,     0,     0,     0,     0,   209,   215,
 
1063
     298,     3,   297,     0,     0,   115,   125,     0,   130,   137,
 
1064
     157,   159,     0,   156,   145,   173,   175,   178,     0,   179,
 
1065
      17,   296,     0,   170,   171,   167,     0,     0,    19,    20,
 
1066
     144,     0,   161,     0,     6,     7,     8,     9,    10,     0,
 
1067
      18,   110,     0,   299,   113,   125,   155,   126,   127,   128,
 
1068
     116,     0,   125,     0,   111,    13,    15,   138,     0,   158,
 
1069
     160,   146,     0,   174,     0,     0,     0,   238,     0,   162,
 
1070
       0,   150,     0,   148,     0,     0,     0,     0,     0,     0,
 
1071
       0,     0,     0,    24,    22,    23,    25,    46,     0,     0,
 
1072
       0,    58,    59,    60,    61,   264,   256,   260,    21,    27,
 
1073
      54,    29,    34,    35,     0,     0,    40,     0,    62,     0,
 
1074
      66,    69,    72,    77,    80,    82,    84,    86,    88,    90,
 
1075
      92,    94,   107,     0,   246,     0,   145,   249,   262,   248,
 
1076
     247,     0,   250,   251,   252,   253,   254,   117,   122,   124,
 
1077
     129,     0,   131,     0,     0,   118,   176,    62,   109,     0,
 
1078
      44,    16,   243,     0,   241,   237,   239,     0,   112,     0,
 
1079
     147,     0,   292,   291,     0,     0,     0,   295,   293,     0,
 
1080
       0,     0,    55,    56,     0,   255,     0,    31,    32,     0,
 
1081
       0,    38,    37,     0,   181,    41,    43,    97,    98,   100,
 
1082
      99,   102,   103,   104,   105,   106,   101,    96,     0,    57,
 
1083
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1084
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1085
       0,   265,   261,   263,   119,   121,   123,     0,     0,   139,
 
1086
       0,   245,   143,   177,     0,     0,   240,   236,   151,   149,
 
1087
       0,   286,   285,   288,     0,   294,     0,   163,   269,     0,
 
1088
       0,    26,     0,     0,    33,    30,     0,    36,     0,     0,
 
1089
      50,    42,    95,    63,    64,    65,    67,    68,    70,    71,
 
1090
      75,    76,    73,    74,    78,    79,    81,    83,    85,    87,
 
1091
      89,    91,     0,   108,     0,   132,     0,   136,     0,   140,
 
1092
       0,   242,     0,   287,     0,     0,     0,     0,     0,     0,
 
1093
     257,    28,    53,    48,    47,     0,   181,    51,     0,     0,
 
1094
       0,   133,   141,     0,   244,     0,   289,     0,   268,   266,
 
1095
       0,   271,     0,   259,   282,   258,    52,    93,   120,   134,
 
1096
       0,   142,     0,   290,   284,     0,     0,     0,   272,   276,
 
1097
       0,   280,     0,   270,   135,   283,   267,     0,   275,   278,
 
1098
     277,   279,   273,   281,   274
1082
1099
};
1083
1100
 
1084
1101
/* YYDEFGOTO[NTERM-NUM].  */
1085
1102
static const yytype_int16 yydefgoto[] =
1086
1103
{
1087
 
      -1,     2,     9,     3,    89,     6,   160,    10,    90,   189,
1088
 
     190,   191,   348,   192,   193,   194,   195,   196,   197,   198,
1089
 
     352,   353,   354,   355,   199,   200,   201,   202,   203,   204,
1090
 
     205,   206,   207,   208,   209,   210,   211,   212,   213,   292,
1091
 
     214,   241,   215,   216,    93,    94,    95,   230,   139,   140,
1092
 
     231,    96,    97,    98,    99,   161,   162,   100,   141,   101,
1093
 
     102,   242,   104,   105,   106,   107,   108,   155,   156,   245,
1094
 
     246,   326,   218,   219,   220,   221,   270,   418,   419,   222,
1095
 
     223,   224,   414,   345,   225,   226,   227,   337,   389,   390,
1096
 
     228,   109,   110
 
1104
      -1,     2,     9,     3,    90,     6,   161,    10,    91,   188,
 
1105
     189,   190,   343,   191,   192,   193,   194,   195,   196,   197,
 
1106
     347,   348,   349,   350,   198,   199,   200,   201,   202,   203,
 
1107
     204,   205,   206,   207,   208,   209,   210,   211,   212,   288,
 
1108
     213,   239,   214,   215,    94,    95,    96,   228,   140,   141,
 
1109
     229,    97,    98,    99,   100,   162,   163,   101,   142,   102,
 
1110
     103,   240,   105,   106,   107,   108,   109,   156,   157,   243,
 
1111
     244,   322,   217,   218,   219,   220,   266,   414,   415,   221,
 
1112
     222,   223,   409,   340,   224,   411,   429,   430,   431,   432,
 
1113
     225,   333,   384,   385,   226,   110,   111
1097
1114
};
1098
1115
 
1099
1116
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1100
1117
   STATE-NUM.  */
1101
 
#define YYPACT_NINF -366
 
1118
#define YYPACT_NINF -355
1102
1119
static const yytype_int16 yypact[] =
1103
1120
{
1104
 
     -57,   -43,    62,  -366,   -50,  -366,   -30,  -366,    67,  3341,
1105
 
    -366,  -366,  -366,  -366,    -6,  -366,  -366,  -366,  -366,  -366,
1106
 
    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
1107
 
    -366,  -366,  -366,     8,  -366,  -366,  -366,  -366,  -366,  -366,
1108
 
    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
1109
 
    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
1110
 
    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
1111
 
    -366,  -366,  -366,   -65,  -366,  -366,   226,  -366,  -366,  -366,
1112
 
      51,   -31,   -28,     6,    13,    15,   -44,  -366,  -366,  -366,
1113
 
    3341,  -366,  -183,   -47,   -29,    18,  -169,  -366,   140,    24,
1114
 
      24,  3460,  -366,  -366,  -366,   -24,  -366,  3533,  -366,  -366,
1115
 
    -366,    67,  -366,  -366,  -366,  3460,   -48,  -366,  -366,  -366,
1116
 
      24,  -366,  3533,  -366,  -366,  -366,  -366,  -366,    67,  -366,
1117
 
    -366,   408,  -366,  -366,    55,  -366,  -366,  -366,  -366,  -366,
1118
 
    3460,   200,    67,  -366,   -20,   -18,  -178,    23,  -366,  -366,
1119
 
    -366,  2225,  -366,    72,    67,  1598,  -366,  3460,  -366,     4,
1120
 
      10,   -84,  -366,    11,    14,  1059,    40,    42,    29,  1836,
1121
 
      43,  2783,    34,    54,  -366,  -366,  -366,  -366,  -366,  2783,
1122
 
    2783,  2783,  -366,  -366,  -366,  -366,  -366,    32,  -366,    56,
1123
 
    -366,   -71,  -366,  -366,  -366,    57,   -81,  2969,    61,   -27,
1124
 
    2783,    35,   -88,   -41,   -70,    33,    60,    41,    59,   181,
1125
 
     180,   -89,  -366,  -366,  -168,  -366,    58,    80,  -366,  -366,
1126
 
    -366,  -366,   625,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
1127
 
    -366,  -366,    67,  3460,  -177,  2411,  2783,  -366,  -366,  -366,
1128
 
    -366,    78,  -366,  -366,    81,  -137,  -366,  -366,  -366,  1717,
1129
 
    -366,   201,  -366,    67,  -366,  -366,   205,  1478,  2783,  -366,
1130
 
    -366,  -134,  2783,  -115,  -366,  2039,  -366,  -366,   -60,  -366,
1131
 
    1059,  -366,  -366,  2783,   140,  -366,  -366,  2783,    85,  -366,
1132
 
    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
1133
 
    -366,  -366,  2783,  -366,  2783,  2783,  2783,  2783,  2783,  2783,
1134
 
    2783,  2783,  2783,  2783,  2783,  2783,  2783,  2783,  2783,  2783,
1135
 
    2783,  2783,  2783,  2783,  2783,  -366,  -366,  -366,    86,  -366,
1136
 
    -366,  2597,  2783,    69,    87,  -366,  -366,  -366,  2783,    67,
1137
 
    -366,  -366,  -366,  -366,    91,  -366,  -366,  2039,   -59,  -366,
1138
 
     -46,  -366,   129,    88,    67,    93,  -366,   842,    89,    88,
1139
 
    -366,    95,  -366,    96,   -37,  3155,  -366,  -366,  -366,  -366,
1140
 
    -366,    35,    35,   -88,   -88,   -41,   -41,   -41,   -41,   -70,
1141
 
     -70,    33,    60,    41,    59,   181,   180,   -96,  -366,  2783,
1142
 
      76,    97,  -366,  2783,    79,    98,  -366,  2783,  -366,    77,
1143
 
     101,  1059,    83,    90,  1275,  -366,  -366,  -366,  -366,  -366,
1144
 
    2783,   102,  -366,  2783,   108,  2783,    94,  -366,  2783,  -366,
1145
 
     -26,  2783,  1275,   297,  -366,  -366,  2783,  -366,  -366,  -366,
1146
 
    -366,  -366,  -366,  -366,  2783,  -366,   100,    88,  -366,  1059,
1147
 
    -366,  -366,  -366,  -366
 
1121
     -38,   -40,    81,  -355,   -32,  -355,   -27,  -355,    52,  3587,
 
1122
    -355,  -355,  -355,  -355,   -26,  -355,  -355,  -355,  -355,  -355,
 
1123
    -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
 
1124
    -355,  -355,  -355,    38,  -355,  -355,  -355,  -355,  -355,  -355,
 
1125
    -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
 
1126
    -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
 
1127
    -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
 
1128
    -355,  -355,  -355,  -355,   -67,  -355,  -355,   251,  -355,  -355,
 
1129
    -355,    51,   -14,    -8,    11,    19,    24,   -87,  -355,  -355,
 
1130
    -355,  3587,  -355,  -162,  -107,   -46,    15,  -180,  -355,    96,
 
1131
     264,   264,  3707,  -355,  -355,  -355,   -57,  -355,  3781,  -355,
 
1132
    -355,  -355,    52,  -355,  -355,  -355,  3707,   -48,  -355,  -355,
 
1133
    -355,   264,  -355,  3781,  -355,  -355,  -355,  -355,  -355,    52,
 
1134
    -355,  -355,   422,  -355,  -355,    29,  -355,  -355,  -355,  -355,
 
1135
    -355,  3707,   143,    52,  -355,   -17,   -12,  -178,    18,  -355,
 
1136
    -355,  -355,  2465,  -355,    73,    52,  1834,  -355,  3707,  -355,
 
1137
       3,     9,  -168,  -355,    10,    14,  1293,    30,    33,    17,
 
1138
    2074,    40,    44,  -355,  -355,  -355,  -355,  -355,  3026,  3026,
 
1139
    3026,  -355,  -355,  -355,  -355,  -355,   -11,  -355,    47,  -355,
 
1140
     -60,  -355,  -355,  -355,    49,  -125,  3213,    48,    16,  3026,
 
1141
     -25,  -138,    12,   -66,    46,    37,    45,    36,   158,   164,
 
1142
     -81,  -355,  -355,  -171,  -355,    35,    64,  -355,  -355,  -355,
 
1143
    -355,   640,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
 
1144
      52,  3707,  -163,  2652,  3026,  -355,  -355,  -355,  -355,    65,
 
1145
    -355,  -355,    82,  -160,  -355,  -355,  -355,  1954,  -355,   199,
 
1146
    -355,    52,  -355,  -355,   210,  1714,  3026,  -355,  -355,  -157,
 
1147
    3026,  2278,  -355,  -355,  -122,  -355,  1293,  -355,  -355,  3026,
 
1148
      96,  -355,  -355,  3026,    94,  -355,  -355,  -355,  -355,  -355,
 
1149
    -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  3026,  -355,
 
1150
    3026,  3026,  3026,  3026,  3026,  3026,  3026,  3026,  3026,  3026,
 
1151
    3026,  3026,  3026,  3026,  3026,  3026,  3026,  3026,  3026,  3026,
 
1152
    3026,  -355,  -355,  -355,    95,  -355,  -355,  2839,  3026,    76,
 
1153
      99,  -355,  -355,  -355,  3026,    52,  -355,  -355,  -355,  -355,
 
1154
      98,  -355,  -355,  2278,  -115,  -355,  -102,   239,   100,    52,
 
1155
     105,  -355,   858,   104,   100,  -355,   108,  -355,   109,   -76,
 
1156
    3400,  -355,  -355,  -355,  -355,  -355,   -25,   -25,  -138,  -138,
 
1157
      12,    12,    12,    12,   -66,   -66,    46,    37,    45,    36,
 
1158
     158,   164,  -165,  -355,  3026,    89,   110,  -355,  3026,    91,
 
1159
     111,  -355,  3026,  -355,    97,   114,  1293,    90,   102,  1510,
 
1160
    -355,  -355,  -355,  -355,  -355,  3026,   115,  -355,  3026,   116,
 
1161
    3026,   103,  -355,  3026,  -355,   -47,  3026,  1510,   302,  -355,
 
1162
     -10,  -355,  3026,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
 
1163
    3026,  -355,   107,   100,  -355,  1293,  3026,   101,  -355,  -355,
 
1164
    1076,  1293,    -2,  -355,  -355,  -355,  -355,  -147,  -355,  -355,
 
1165
    -355,  -355,  -355,  1293,  -355
1148
1166
};
1149
1167
 
1150
1168
/* YYPGOTO[NTERM-NUM].  */
1151
1169
static const yytype_int16 yypgoto[] =
1152
1170
{
1153
 
    -366,  -366,  -366,  -366,  -366,  -366,    -7,  -366,  -366,   -62,
1154
 
    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
1155
 
    -366,  -366,  -366,  -366,  -101,  -366,  -113,  -109,  -121,   -61,
1156
 
       5,     3,     9,    16,     2,     7,  -366,  -142,  -100,  -366,
1157
 
    -164,  -225,    21,    22,  -366,  -366,  -366,    82,   186,   173,
1158
 
      92,  -366,  -366,  -242,  -366,  -366,    68,   -73,  -366,  -366,
1159
 
     -74,    -9,   -67,  -366,  -366,   243,  -366,   170,  -147,  -366,
1160
 
       0,  -298,    73,  -159,  -365,   -58,  -366,   -80,   239,    63,
1161
 
      84,  -366,  -366,    -2,  -366,  -366,  -366,  -366,  -366,  -366,
1162
 
    -366,   246,  -366
 
1171
    -355,  -355,  -355,  -355,  -355,  -355,    -7,  -355,  -355,   -59,
 
1172
    -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,  -355,
 
1173
    -355,  -355,  -355,  -355,  -100,  -355,  -106,  -127,  -134,   -82,
 
1174
      20,    22,    26,    21,    27,    13,  -355,  -145,  -164,  -355,
 
1175
    -166,  -213,    -6,    34,  -355,  -355,  -355,   106,   187,   193,
 
1176
     112,  -355,  -355,  -232,  -355,  -355,    78,   -71,  -355,  -355,
 
1177
     -75,    -9,   -64,  -355,  -355,   255,  -355,   180,  -141,  -355,
 
1178
      23,  -250,    84,  -161,  -354,  -355,  -355,   -65,   247,    75,
 
1179
      92,  -355,  -355,    25,  -355,  -355,   -86,  -355,   -83,  -355,
 
1180
    -355,  -355,  -355,  -355,  -355,   254,  -355
1163
1181
};
1164
1182
 
1165
1183
/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1169
1187
#define YYTABLE_NINF -115
1170
1188
static const yytype_int16 yytable[] =
1171
1189
{
1172
 
     103,    14,   121,   120,   312,   261,   256,   263,   248,   240,
1173
 
     324,    11,    12,    13,   119,   271,   272,   268,   301,   302,
1174
 
     235,   321,   135,   344,   382,   148,   149,    15,    16,   417,
1175
 
      91,    92,   142,   314,   130,   131,   147,     4,   236,   322,
1176
 
     152,   112,   113,   299,   300,   114,   158,   417,   143,   315,
1177
 
     239,   136,   137,   138,     1,   159,    33,    34,    35,   135,
1178
 
      36,    37,     5,   317,   329,     7,   116,   314,   281,   282,
1179
 
     283,   284,   285,   286,   287,   288,   289,   290,   266,   267,
1180
 
     330,   103,     8,   339,   123,   407,   314,   124,   136,   137,
1181
 
     138,   146,   150,   240,   338,   344,   381,   279,   340,   293,
1182
 
     341,   343,   248,   385,   153,   314,   154,   423,   111,   349,
1183
 
     425,    91,    92,   252,   297,   298,   276,   253,   430,   403,
1184
 
     277,   125,   217,   305,   306,   313,   431,   273,   126,   274,
1185
 
     127,   232,    15,    16,   239,   234,   325,   346,   391,   303,
1186
 
     304,   314,   314,    11,    12,    13,   154,   244,   154,   377,
1187
 
     133,   392,   128,   115,   404,   314,   217,    77,    78,    79,
1188
 
     399,    33,    34,    35,   400,    36,    37,    38,    39,    40,
1189
 
     157,   426,   134,   343,   151,   314,   -19,   356,   -20,   240,
1190
 
     365,   366,   367,   368,   361,   362,   240,   243,   317,   291,
1191
 
     363,   364,   357,   358,   359,   360,   239,   239,   239,   239,
1192
 
     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
1193
 
     239,   239,   351,   217,   378,  -114,   144,    12,   145,   237,
1194
 
     239,   250,   325,   410,   232,   318,   251,   239,   254,    15,
1195
 
      16,   255,   413,   136,   137,   138,   257,   240,   258,   262,
1196
 
     154,   294,   295,   296,   369,   370,   259,   427,   217,   264,
1197
 
     265,   269,   -45,   308,   275,   402,   217,   280,    33,    34,
1198
 
      35,   217,    36,    37,    38,    39,    40,   350,   121,   120,
1199
 
     433,   307,   309,   310,   311,   130,   -44,   327,   239,   328,
1200
 
     334,   332,   -39,   325,   379,   383,   384,   387,   396,   314,
1201
 
     394,   397,   405,   398,   411,   408,   406,   409,   412,   -49,
1202
 
     420,   187,   117,   421,   118,   325,   416,   422,   325,   429,
1203
 
     424,   372,   371,   375,   233,   319,   325,   432,   373,   376,
1204
 
     229,   333,   244,   122,   325,   320,   374,   249,   217,   386,
1205
 
     335,   132,   428,   347,   415,   388,   129,   393,   217,     0,
1206
 
       0,   336,     0,     0,     0,     0,     0,     0,     0,     0,
1207
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1208
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1209
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1210
 
       0,     0,   217,     0,     0,   217,     0,     0,     0,     0,
1211
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1212
 
       0,     0,     0,   217,     0,     0,     0,     0,     0,     0,
1213
 
       0,    15,    16,    17,    18,    19,    20,   163,   164,   165,
1214
 
     217,   166,   167,   168,   169,   170,   171,   172,    21,    22,
1215
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1216
 
      33,    34,    35,     0,    36,    37,    38,    39,    40,    41,
1217
 
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1218
 
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1219
 
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1220
 
      72,    73,    74,   173,   117,    75,   118,   174,   175,   176,
1221
 
     177,   178,     0,     0,   179,   180,     0,     0,     0,     0,
1222
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1223
 
       0,     0,     0,    76,    77,    78,    79,     0,    80,     0,
1224
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1225
 
       0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
1226
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1227
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1228
 
       0,     0,     0,     0,     0,    87,     0,    88,     0,     0,
1229
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1230
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1231
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1232
 
       0,     0,     0,     0,   181,     0,     0,     0,     0,     0,
1233
 
     182,   183,   184,   185,     0,     0,     0,     0,     0,     0,
1234
 
       0,     0,     0,     0,     0,   186,   187,   188,    15,    16,
1235
 
      17,    18,    19,    20,   163,   164,   165,     0,   166,   167,
1236
 
     168,   169,   170,   171,   172,    21,    22,    23,    24,    25,
1237
 
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1238
 
       0,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1239
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1240
 
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1241
 
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1242
 
     173,   117,    75,   118,   174,   175,   176,   177,   178,     0,
1243
 
       0,   179,   180,     0,     0,     0,     0,     0,     0,     0,
1244
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1245
 
      76,    77,    78,    79,     0,    80,     0,     0,     0,     0,
1246
 
       0,     0,     0,     0,     0,     0,     0,     0,    86,     0,
1247
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1248
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1249
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1250
 
       0,     0,    87,     0,    88,     0,     0,     0,     0,     0,
1251
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1252
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1253
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1254
 
       0,   181,     0,     0,     0,     0,     0,   182,   183,   184,
1255
 
     185,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1256
 
       0,     0,   186,   187,   316,    15,    16,    17,    18,    19,
1257
 
      20,   163,   164,   165,     0,   166,   167,   168,   169,   170,
1258
 
     171,   172,    21,    22,    23,    24,    25,    26,    27,    28,
 
1190
     104,    14,   122,    92,   259,   254,   121,   238,   426,   427,
 
1191
      11,    12,    13,   308,   264,   246,   426,   427,   120,   136,
 
1192
     320,   233,   143,   297,   298,   149,   150,   267,   268,   339,
 
1193
     250,   310,   275,   136,   251,   413,   317,   310,   144,   234,
 
1194
     148,     4,   325,    93,   153,   310,   159,   311,   137,   138,
 
1195
     139,   398,   237,   413,   318,   310,   131,   132,   326,   160,
 
1196
     313,   335,   137,   138,   139,   293,   294,   117,   377,   444,
 
1197
     321,   113,   114,   272,     1,   115,   341,   273,   262,   263,
 
1198
     310,     5,   104,   386,     7,    92,     8,   310,   238,   112,
 
1199
     334,   134,   147,   151,   336,   338,   387,   295,   296,   289,
 
1200
     310,   339,   124,   344,   376,   154,   246,   155,   125,   351,
 
1201
     129,   380,   277,   278,   279,   280,   281,   282,   283,   284,
 
1202
     285,   286,   394,   216,   352,    93,   395,   126,   402,    11,
 
1203
      12,    13,   230,   237,   309,   127,   232,   301,   302,   269,
 
1204
     128,   270,   152,   372,   299,   300,   373,   155,   242,   155,
 
1205
     419,   422,   116,   421,   321,   310,   135,   216,    78,    79,
 
1206
      80,   399,   433,   360,   361,   362,   363,   338,   358,   359,
 
1207
     434,   158,   238,   145,    12,   146,   137,   138,   139,   238,
 
1208
     -19,   313,   290,   291,   292,   -20,   397,   356,   357,   241,
 
1209
     353,   354,   355,   237,   237,   237,   237,   237,   237,   237,
 
1210
     237,   237,   237,   237,   237,   237,   237,   237,   237,   265,
 
1211
     428,   346,   216,  -114,   321,   235,   405,   237,   442,   364,
 
1212
     365,   248,   230,   314,   237,   408,   249,   255,   252,   238,
 
1213
     256,   416,   253,   287,   417,   257,   321,   260,   155,   321,
 
1214
     423,   261,    15,    16,   -45,   276,   216,   271,   321,   303,
 
1215
     305,   306,   216,   131,    15,    16,   321,   216,   304,   307,
 
1216
     437,   -44,   122,   345,   436,   323,   121,    15,    16,   439,
 
1217
     441,    33,    34,    35,   237,    36,    37,    38,    39,    40,
 
1218
     328,   324,   441,    33,    34,    35,   330,    36,    37,    38,
 
1219
      39,    40,   -39,   378,   374,   382,    33,    34,    35,   379,
 
1220
      36,    37,   310,   389,   391,   392,   400,   393,   403,   410,
 
1221
     401,   404,   407,   -49,   425,   406,   418,   438,   242,   412,
 
1222
     420,   371,   227,   366,   216,   435,   367,   369,   118,   329,
 
1223
     119,   368,   388,   216,   370,   231,   123,   315,   247,   331,
 
1224
     133,   342,   424,   316,   440,   130,     0,   332,   381,   443,
 
1225
       0,     0,     0,     0,     0,     0,     0,     0,   383,     0,
 
1226
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1227
       0,     0,     0,     0,     0,     0,     0,   216,     0,     0,
 
1228
     216,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1229
       0,     0,     0,     0,     0,     0,     0,     0,   216,     0,
 
1230
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1231
       0,     0,     0,     0,     0,     0,   216,     0,     0,     0,
 
1232
       0,   216,   216,     0,     0,    15,    16,    17,    18,    19,
 
1233
      20,   164,   165,   166,   216,   167,   168,   169,   170,   171,
 
1234
       0,     0,    21,    22,    23,    24,    25,    26,    27,    28,
1259
1235
      29,    30,    31,    32,    33,    34,    35,     0,    36,    37,
1260
1236
      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1261
1237
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1262
1238
      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1263
 
      68,    69,    70,    71,    72,    73,    74,   173,   117,    75,
1264
 
     118,   174,   175,   176,   177,   178,     0,     0,   179,   180,
1265
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1266
 
       0,     0,     0,     0,     0,     0,     0,    76,    77,    78,
1267
 
      79,     0,    80,     0,     0,     0,     0,     0,     0,     0,
1268
 
       0,     0,     0,     0,     0,    86,     0,     0,     0,     0,
1269
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1270
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1271
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,    87,
1272
 
       0,    88,     0,     0,     0,     0,     0,     0,     0,     0,
1273
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1274
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1275
 
       0,     0,     0,     0,     0,     0,     0,     0,   181,     0,
1276
 
       0,     0,     0,     0,   182,   183,   184,   185,     0,     0,
1277
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,   186,
1278
 
     187,   395,    15,    16,    17,    18,    19,    20,   163,   164,
1279
 
     165,     0,   166,   167,   168,   169,   170,   171,   172,    21,
 
1239
      68,    69,    70,    71,    72,    73,    74,    75,   172,   118,
 
1240
      76,   119,   173,   174,   175,   176,   177,     0,     0,   178,
 
1241
     179,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1242
       0,     0,     0,     0,     0,     0,     0,     0,    77,    78,
 
1243
      79,    80,     0,    81,     0,     0,     0,     0,     0,     0,
 
1244
       0,     0,     0,     0,     0,     0,    87,     0,     0,     0,
 
1245
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1246
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1247
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1248
      88,     0,    89,     0,     0,     0,     0,     0,     0,     0,
 
1249
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1250
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1251
       0,     0,     0,     0,     0,     0,     0,     0,     0,   180,
 
1252
       0,     0,     0,     0,     0,   181,   182,   183,   184,     0,
 
1253
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1254
     185,   186,   187,    15,    16,    17,    18,    19,    20,   164,
 
1255
     165,   166,     0,   167,   168,   169,   170,   171,     0,     0,
 
1256
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 
1257
      31,    32,    33,    34,    35,     0,    36,    37,    38,    39,
 
1258
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 
1259
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
 
1260
      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
 
1261
      70,    71,    72,    73,    74,    75,   172,   118,    76,   119,
 
1262
     173,   174,   175,   176,   177,     0,     0,   178,   179,     0,
 
1263
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1264
       0,     0,     0,     0,     0,     0,    77,    78,    79,    80,
 
1265
       0,    81,     0,     0,     0,     0,     0,     0,     0,     0,
 
1266
       0,     0,     0,     0,    87,     0,     0,     0,     0,     0,
 
1267
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1268
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1269
       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
 
1270
      89,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1271
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1272
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1273
       0,     0,     0,     0,     0,     0,     0,   180,     0,     0,
 
1274
       0,     0,     0,   181,   182,   183,   184,     0,     0,     0,
 
1275
       0,     0,     0,     0,     0,     0,     0,     0,   185,   186,
 
1276
     312,    15,    16,    17,    18,    19,    20,   164,   165,   166,
 
1277
       0,   167,   168,   169,   170,   171,     0,     0,    21,    22,
 
1278
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 
1279
      33,    34,    35,     0,    36,    37,    38,    39,    40,    41,
 
1280
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 
1281
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
 
1282
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
 
1283
      72,    73,    74,    75,   172,   118,    76,   119,   173,   174,
 
1284
     175,   176,   177,     0,     0,   178,   179,     0,     0,     0,
 
1285
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1286
       0,     0,     0,     0,    77,    78,    79,    80,     0,    81,
 
1287
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1288
       0,     0,    87,     0,     0,     0,     0,     0,     0,     0,
 
1289
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1290
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1291
       0,     0,     0,     0,     0,     0,    88,     0,    89,     0,
 
1292
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1293
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1294
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1295
       0,     0,     0,     0,     0,   180,     0,     0,     0,     0,
 
1296
       0,   181,   182,   183,   184,     0,     0,     0,     0,     0,
 
1297
       0,     0,     0,     0,     0,     0,   185,   186,   390,    15,
 
1298
      16,    17,    18,    19,    20,   164,   165,   166,     0,   167,
 
1299
     168,   169,   170,   171,   426,   427,    21,    22,    23,    24,
 
1300
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 
1301
      35,     0,    36,    37,    38,    39,    40,    41,    42,    43,
 
1302
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 
1303
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
 
1304
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
 
1305
      74,    75,   172,   118,    76,   119,   173,   174,   175,   176,
 
1306
     177,     0,     0,   178,   179,     0,     0,     0,     0,     0,
 
1307
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1308
       0,     0,    77,    78,    79,    80,     0,    81,     0,     0,
 
1309
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1310
      87,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1311
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1312
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1313
       0,     0,     0,     0,    88,     0,    89,     0,     0,     0,
 
1314
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1315
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1316
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1317
       0,     0,     0,   180,     0,     0,     0,     0,     0,   181,
 
1318
     182,   183,   184,     0,     0,     0,     0,     0,     0,     0,
 
1319
       0,     0,     0,     0,   185,   186,    15,    16,    17,    18,
 
1320
      19,    20,   164,   165,   166,     0,   167,   168,   169,   170,
 
1321
     171,     0,     0,    21,    22,    23,    24,    25,    26,    27,
 
1322
      28,    29,    30,    31,    32,    33,    34,    35,     0,    36,
 
1323
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 
1324
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
 
1325
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
 
1326
      67,    68,    69,    70,    71,    72,    73,    74,    75,   172,
 
1327
     118,    76,   119,   173,   174,   175,   176,   177,     0,     0,
 
1328
     178,   179,     0,     0,     0,     0,     0,     0,     0,     0,
 
1329
       0,     0,     0,     0,     0,     0,     0,     0,     0,    77,
 
1330
      78,    79,    80,     0,    81,     0,     0,     0,     0,     0,
 
1331
       0,     0,     0,     0,     0,     0,     0,    87,     0,     0,
 
1332
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1333
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1334
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1335
       0,    88,     0,    89,     0,     0,     0,     0,     0,     0,
 
1336
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1337
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1338
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1339
     180,     0,     0,     0,     0,     0,   181,   182,   183,   184,
 
1340
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1341
       0,   185,   186,    15,    16,    17,    18,    19,    20,   164,
 
1342
     165,   166,     0,   167,   168,   169,   170,   171,     0,     0,
 
1343
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 
1344
      31,    32,    33,    34,    35,     0,    36,    37,    38,    39,
 
1345
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 
1346
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
 
1347
      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
 
1348
      70,    71,    72,    73,    74,    75,   172,   118,    76,   119,
 
1349
     173,   174,   175,   176,   177,     0,     0,   178,   179,     0,
 
1350
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1351
       0,     0,     0,     0,     0,     0,    77,    78,    79,    80,
 
1352
       0,    81,     0,     0,     0,     0,     0,     0,     0,     0,
 
1353
       0,     0,     0,     0,    87,     0,     0,     0,     0,     0,
 
1354
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1355
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1356
       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
 
1357
      89,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1358
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1359
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1360
       0,     0,     0,     0,     0,     0,     0,   180,     0,     0,
 
1361
       0,     0,     0,   181,   182,   183,   184,    15,    16,    17,
 
1362
      18,    19,    20,     0,     0,     0,     0,     0,   185,   132,
 
1363
       0,     0,     0,     0,    21,    22,    23,    24,    25,    26,
 
1364
      27,    28,    29,    30,    31,    32,    33,    34,    35,     0,
 
1365
      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
 
1366
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 
1367
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 
1368
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
 
1369
       0,   118,    76,   119,   173,   174,   175,   176,   177,     0,
 
1370
       0,   178,   179,     0,     0,     0,     0,     0,     0,     0,
 
1371
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1372
      77,    78,    79,    80,     0,    81,     0,     0,     0,     0,
 
1373
       0,     0,     0,     0,     0,     0,     0,     0,    87,    17,
 
1374
      18,    19,    20,     0,     0,     0,     0,     0,     0,     0,
 
1375
       0,     0,     0,     0,    21,    22,    23,    24,    25,    26,
 
1376
      27,    28,    29,    30,    31,    32,     0,     0,     0,     0,
 
1377
       0,     0,    88,     0,    89,    41,    42,    43,    44,    45,
 
1378
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 
1379
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 
1380
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
 
1381
       0,   180,    76,     0,     0,     0,     0,   181,   182,   183,
 
1382
     184,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1383
       0,     0,   185,     0,     0,     0,     0,     0,     0,     0,
 
1384
       0,    78,    79,    80,     0,     0,     0,     0,     0,     0,
 
1385
       0,     0,     0,     0,     0,     0,     0,     0,     0,    17,
 
1386
      18,    19,    20,     0,     0,     0,     0,     0,     0,     0,
 
1387
       0,     0,     0,     0,    21,    22,    23,    24,    25,    26,
 
1388
      27,    28,    29,    30,    31,    32,     0,     0,     0,     0,
 
1389
       0,     0,    88,     0,    89,    41,    42,    43,    44,    45,
 
1390
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 
1391
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 
1392
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
 
1393
       0,     0,    76,     0,     0,     0,     0,     0,     0,     0,
 
1394
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1395
       0,     0,     0,     0,   245,     0,     0,     0,     0,     0,
 
1396
       0,    78,    79,    80,     0,     0,     0,     0,     0,     0,
 
1397
       0,     0,     0,     0,     0,     0,     0,     0,     0,    17,
 
1398
      18,    19,    20,     0,     0,     0,     0,     0,     0,     0,
 
1399
       0,     0,     0,     0,    21,    22,    23,    24,    25,    26,
 
1400
      27,    28,    29,    30,    31,    32,     0,     0,     0,     0,
 
1401
       0,     0,    88,     0,    89,    41,    42,    43,    44,    45,
 
1402
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 
1403
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 
1404
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
 
1405
       0,   118,    76,   119,   173,   174,   175,   176,   177,     0,
 
1406
       0,   178,   179,     0,     0,     0,     0,     0,     0,     0,
 
1407
       0,     0,     0,     0,   327,     0,     0,     0,     0,     0,
 
1408
       0,    78,    79,    80,     0,     0,     0,     0,     0,     0,
 
1409
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1410
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1411
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1412
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1413
       0,     0,    88,     0,    89,     0,     0,     0,     0,     0,
 
1414
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1415
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1416
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1417
       0,   180,     0,     0,     0,     0,     0,   181,   182,   183,
 
1418
     184,    15,    16,    17,    18,    19,    20,     0,     0,     0,
 
1419
       0,     0,   258,     0,     0,     0,     0,     0,    21,    22,
 
1420
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 
1421
      33,    34,    35,     0,    36,    37,    38,    39,    40,    41,
 
1422
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 
1423
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
 
1424
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
 
1425
      72,    73,    74,    75,     0,   118,    76,   119,   173,   174,
 
1426
     175,   176,   177,     0,     0,   178,   179,     0,     0,     0,
 
1427
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1428
       0,     0,     0,     0,   337,    78,    79,    80,     0,     0,
 
1429
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1430
       0,     0,    87,     0,     0,     0,     0,     0,     0,     0,
 
1431
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1432
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1433
       0,     0,     0,     0,     0,     0,    88,     0,    89,     0,
 
1434
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1435
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1436
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1437
      17,    18,    19,    20,     0,   180,     0,     0,     0,     0,
 
1438
       0,   181,   182,   183,   184,    21,    22,    23,    24,    25,
 
1439
      26,    27,    28,    29,    30,    31,    32,     0,     0,     0,
 
1440
       0,     0,     0,     0,     0,     0,    41,    42,    43,    44,
 
1441
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 
1442
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
 
1443
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
 
1444
      75,     0,   118,    76,   119,   173,   174,   175,   176,   177,
 
1445
       0,     0,   178,   179,     0,     0,     0,     0,     0,     0,
 
1446
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1447
       0,     0,    78,    79,    80,     0,     0,     0,     0,     0,
 
1448
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1449
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1450
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1451
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1452
       0,     0,     0,    88,     0,    89,     0,     0,     0,     0,
 
1453
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1454
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1455
       0,     0,     0,     0,     0,     0,     0,    17,    18,    19,
 
1456
      20,     0,   180,     0,     0,   236,     0,     0,   181,   182,
 
1457
     183,   184,    21,    22,    23,    24,    25,    26,    27,    28,
 
1458
      29,    30,    31,    32,     0,     0,     0,     0,     0,     0,
 
1459
       0,     0,     0,    41,    42,    43,    44,    45,    46,    47,
 
1460
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
 
1461
      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
 
1462
      68,    69,    70,    71,    72,    73,    74,    75,     0,   118,
 
1463
      76,   119,   173,   174,   175,   176,   177,     0,     0,   178,
 
1464
     179,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1465
       0,     0,     0,     0,     0,     0,     0,     0,     0,    78,
 
1466
      79,    80,     0,     0,     0,     0,     0,     0,     0,     0,
 
1467
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1468
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1469
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1470
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1471
      88,     0,    89,     0,     0,     0,     0,     0,     0,     0,
 
1472
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1473
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1474
       0,     0,     0,     0,    17,    18,    19,    20,     0,   180,
 
1475
       0,     0,   319,     0,     0,   181,   182,   183,   184,    21,
1280
1476
      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1281
 
      32,    33,    34,    35,     0,    36,    37,    38,    39,    40,
 
1477
      32,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1282
1478
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1283
1479
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1284
1480
      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1285
 
      71,    72,    73,    74,   173,   117,    75,   118,   174,   175,
1286
 
     176,   177,   178,     0,     0,   179,   180,     0,     0,     0,
1287
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1288
 
       0,     0,     0,     0,    76,    77,    78,    79,     0,    80,
1289
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1290
 
       0,     0,    86,     0,     0,     0,     0,     0,     0,     0,
1291
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1292
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1293
 
       0,     0,     0,     0,     0,     0,    87,     0,    88,     0,
1294
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1295
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1296
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1297
 
       0,     0,     0,     0,     0,   181,     0,     0,     0,     0,
1298
 
       0,   182,   183,   184,   185,     0,     0,     0,     0,     0,
1299
 
       0,     0,     0,     0,     0,     0,   186,   187,    15,    16,
1300
 
      17,    18,    19,    20,   163,   164,   165,     0,   166,   167,
1301
 
     168,   169,   170,   171,   172,    21,    22,    23,    24,    25,
1302
 
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1303
 
       0,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1304
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1305
 
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1306
 
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1307
 
     173,   117,    75,   118,   174,   175,   176,   177,   178,     0,
1308
 
       0,   179,   180,     0,     0,     0,     0,     0,     0,     0,
1309
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1310
 
      76,    77,    78,    79,     0,    80,     0,     0,     0,     0,
1311
 
       0,     0,     0,     0,     0,     0,     0,     0,    86,     0,
1312
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1313
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1314
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1315
 
       0,     0,    87,     0,    88,     0,     0,     0,     0,     0,
1316
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1317
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1318
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1319
 
       0,   181,     0,     0,     0,     0,     0,   182,   183,   184,
1320
 
     185,    15,    16,    17,    18,    19,    20,     0,     0,     0,
1321
 
       0,     0,   186,   131,     0,     0,     0,     0,    21,    22,
1322
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1323
 
      33,    34,    35,     0,    36,    37,    38,    39,    40,    41,
1324
 
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1325
 
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1326
 
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1327
 
      72,    73,    74,     0,   117,    75,   118,   174,   175,   176,
1328
 
     177,   178,     0,     0,   179,   180,     0,     0,     0,     0,
1329
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1330
 
       0,     0,     0,    76,    77,    78,    79,     0,    80,     0,
1331
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1332
 
       0,    86,     0,    17,    18,    19,    20,     0,     0,     0,
1333
 
       0,     0,     0,     0,     0,     0,     0,     0,    21,    22,
1334
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1335
 
       0,     0,     0,     0,     0,    87,     0,    88,     0,    41,
1336
 
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1337
 
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1338
 
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1339
 
      72,    73,    74,     0,   181,    75,     0,     0,     0,     0,
1340
 
     182,   183,   184,   185,     0,     0,     0,     0,     0,     0,
1341
 
       0,     0,     0,     0,     0,   186,     0,     0,     0,     0,
1342
 
       0,     0,     0,     0,    77,    78,    79,     0,     0,     0,
1343
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1344
 
       0,     0,    17,    18,    19,    20,     0,     0,     0,     0,
1345
 
       0,     0,     0,     0,     0,     0,     0,    21,    22,    23,
1346
 
      24,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1347
 
       0,     0,     0,     0,     0,    87,     0,    88,    41,    42,
1348
 
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1349
 
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1350
 
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1351
 
      73,    74,     0,     0,    75,     0,     0,     0,     0,     0,
1352
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1353
 
       0,     0,     0,     0,     0,     0,     0,   247,     0,     0,
1354
 
       0,     0,     0,    77,    78,    79,     0,     0,     0,     0,
1355
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1356
 
       0,    17,    18,    19,    20,     0,     0,     0,     0,     0,
1357
 
       0,     0,     0,     0,     0,     0,    21,    22,    23,    24,
 
1481
      71,    72,    73,    74,    75,     0,   118,    76,   119,   173,
 
1482
     174,   175,   176,   177,     0,     0,   178,   179,     0,     0,
 
1483
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1484
       0,     0,     0,     0,     0,     0,    78,    79,    80,     0,
 
1485
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1486
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1487
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1488
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1489
       0,     0,     0,     0,     0,     0,     0,    88,     0,    89,
 
1490
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1491
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1492
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1493
       0,    17,    18,    19,    20,     0,   180,     0,     0,   375,
 
1494
       0,     0,   181,   182,   183,   184,    21,    22,    23,    24,
1358
1495
      25,    26,    27,    28,    29,    30,    31,    32,     0,     0,
1359
 
       0,     0,     0,     0,    87,     0,    88,    41,    42,    43,
 
1496
       0,     0,     0,     0,     0,     0,     0,    41,    42,    43,
1360
1497
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1361
1498
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1362
1499
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1363
 
      74,     0,   117,    75,   118,   174,   175,   176,   177,   178,
1364
 
       0,     0,   179,   180,     0,     0,     0,     0,     0,     0,
1365
 
       0,     0,     0,     0,     0,     0,   331,     0,     0,     0,
1366
 
       0,     0,    77,    78,    79,     0,     0,     0,     0,     0,
1367
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1368
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1369
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1370
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1371
 
       0,     0,     0,    87,     0,    88,     0,     0,     0,     0,
1372
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1373
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1374
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1375
 
       0,     0,   181,     0,     0,     0,     0,     0,   182,   183,
1376
 
     184,   185,    15,    16,    17,    18,    19,    20,     0,     0,
1377
 
       0,     0,     0,   260,     0,     0,     0,     0,     0,    21,
1378
 
      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1379
 
      32,    33,    34,    35,     0,    36,    37,    38,    39,    40,
1380
 
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1381
 
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1382
 
      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1383
 
      71,    72,    73,    74,     0,   117,    75,   118,   174,   175,
1384
 
     176,   177,   178,     0,     0,   179,   180,     0,     0,     0,
1385
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1386
 
       0,     0,     0,     0,   342,    77,    78,    79,     0,     0,
1387
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1388
 
       0,     0,    86,     0,     0,     0,     0,     0,     0,     0,
1389
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1390
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1391
 
       0,     0,     0,     0,     0,     0,    87,     0,    88,     0,
1392
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1393
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1394
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1395
 
      17,    18,    19,    20,     0,   181,     0,     0,     0,     0,
1396
 
       0,   182,   183,   184,   185,    21,    22,    23,    24,    25,
1397
 
      26,    27,    28,    29,    30,    31,    32,     0,     0,     0,
1398
 
       0,     0,     0,     0,     0,     0,    41,    42,    43,    44,
1399
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1400
 
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1401
 
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1402
 
       0,   117,    75,   118,   174,   175,   176,   177,   178,     0,
1403
 
       0,   179,   180,     0,     0,     0,     0,     0,     0,     0,
1404
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1405
 
       0,    77,    78,    79,     0,     0,     0,     0,     0,     0,
1406
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1407
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1408
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1409
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1410
 
       0,     0,    87,     0,    88,     0,     0,     0,     0,     0,
1411
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1412
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1413
 
       0,     0,     0,     0,     0,     0,    17,    18,    19,    20,
1414
 
       0,   181,     0,     0,   238,     0,     0,   182,   183,   184,
1415
 
     185,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1416
 
      30,    31,    32,     0,     0,     0,     0,     0,     0,     0,
1417
 
       0,     0,    41,    42,    43,    44,    45,    46,    47,    48,
1418
 
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1419
 
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1420
 
      69,    70,    71,    72,    73,    74,     0,   117,    75,   118,
1421
 
     174,   175,   176,   177,   178,     0,     0,   179,   180,     0,
1422
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1423
 
       0,     0,     0,     0,     0,     0,     0,    77,    78,    79,
1424
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1425
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1426
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1427
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1428
 
       0,     0,     0,     0,     0,     0,     0,     0,    87,     0,
1429
 
      88,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1430
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1431
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1432
 
       0,     0,    17,    18,    19,    20,     0,   181,     0,     0,
1433
 
     323,     0,     0,   182,   183,   184,   185,    21,    22,    23,
1434
 
      24,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1435
 
       0,     0,     0,     0,     0,     0,     0,     0,    41,    42,
1436
 
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1437
 
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1438
 
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1439
 
      73,    74,     0,   117,    75,   118,   174,   175,   176,   177,
1440
 
     178,     0,     0,   179,   180,     0,     0,     0,     0,     0,
1441
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1442
 
       0,     0,     0,    77,    78,    79,     0,     0,     0,     0,
1443
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1444
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1445
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1446
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1447
 
       0,     0,     0,     0,    87,     0,    88,     0,     0,     0,
 
1500
      74,    75,     0,   118,    76,   119,   173,   174,   175,   176,
 
1501
     177,     0,     0,   178,   179,     0,     0,     0,     0,     0,
 
1502
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1503
       0,     0,     0,    78,    79,    80,     0,     0,     0,     0,
 
1504
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1505
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1506
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1507
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1508
       0,     0,     0,     0,    88,     0,    89,     0,     0,     0,
1448
1509
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1449
1510
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1450
1511
       0,     0,     0,     0,     0,     0,     0,     0,    17,    18,
1451
 
      19,    20,     0,   181,     0,     0,   380,     0,     0,   182,
1452
 
     183,   184,   185,    21,    22,    23,    24,    25,    26,    27,
 
1512
      19,    20,     0,   180,     0,     0,     0,     0,     0,   181,
 
1513
     182,   183,   184,    21,    22,    23,    24,    25,    26,    27,
1453
1514
      28,    29,    30,    31,    32,     0,     0,     0,     0,     0,
1454
1515
       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
1455
1516
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1456
1517
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1457
 
      67,    68,    69,    70,    71,    72,    73,    74,     0,   117,
1458
 
      75,   118,   174,   175,   176,   177,   178,     0,     0,   179,
1459
 
     180,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1460
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,    77,
1461
 
      78,    79,     0,     0,     0,     0,     0,     0,     0,     0,
1462
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1463
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1464
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1465
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1466
 
      87,     0,    88,     0,     0,     0,     0,     0,     0,     0,
1467
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1468
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469
 
       0,     0,     0,     0,    17,    18,    19,    20,     0,   181,
1470
 
       0,     0,     0,     0,     0,   182,   183,   184,   185,    21,
1471
 
      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1472
 
      32,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1473
 
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1474
 
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1475
 
      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1476
 
      71,    72,    73,   278,     0,   117,    75,   118,   174,   175,
1477
 
     176,   177,   178,     0,     0,   179,   180,     0,     0,     0,
1478
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1479
 
       0,     0,     0,     0,     0,    77,    78,    79,     0,     0,
1480
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1481
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1482
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1483
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1484
 
       0,     0,     0,     0,     0,     0,    87,     0,    88,     0,
1485
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1486
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1487
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1488
 
      17,    18,    19,    20,     0,   181,     0,     0,     0,     0,
1489
 
       0,   182,   183,   184,   185,    21,    22,    23,    24,    25,
1490
 
      26,    27,    28,    29,    30,    31,    32,     0,     0,     0,
1491
 
       0,     0,     0,     0,     0,     0,    41,    42,    43,    44,
1492
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1493
 
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1494
 
      65,    66,    67,    68,    69,    70,    71,    72,    73,   401,
1495
 
       0,   117,    75,   118,   174,   175,   176,   177,   178,     0,
1496
 
       0,   179,   180,     0,     0,     0,     0,     0,     0,     0,
1497
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1498
 
       0,    77,    78,    79,     0,     0,     0,     0,     0,     0,
1499
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1501
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1502
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1503
 
       0,     0,    87,     0,    88,     0,     0,     0,     0,     0,
1504
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1505
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1506
 
       0,     0,     0,     0,    15,    16,    17,    18,    19,    20,
1507
 
       0,   181,     0,     0,     0,     0,     0,   182,   183,   184,
1508
 
     185,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1509
 
      30,    31,    32,    33,    34,    35,     0,    36,    37,    38,
1510
 
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1511
 
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1512
 
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1513
 
      69,    70,    71,    72,    73,    74,     0,     0,    75,     0,
1514
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1515
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1516
 
       0,     0,     0,     0,     0,     0,    76,    77,    78,    79,
1517
 
       0,    80,     0,     0,     0,     0,     0,     0,     0,    81,
1518
 
      82,    83,    84,    85,    86,    17,    18,    19,    20,     0,
1519
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1518
      67,    68,    69,    70,    71,    72,    73,    74,   274,     0,
 
1519
     118,    76,   119,   173,   174,   175,   176,   177,     0,     0,
 
1520
     178,   179,     0,     0,     0,     0,     0,     0,     0,     0,
 
1521
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1522
      78,    79,    80,     0,     0,     0,     0,     0,     0,     0,
 
1523
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1524
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1525
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1526
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1527
       0,    88,     0,    89,     0,     0,     0,     0,     0,     0,
 
1528
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1529
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1530
       0,     0,     0,     0,     0,    17,    18,    19,    20,     0,
 
1531
     180,     0,     0,     0,     0,     0,   181,   182,   183,   184,
1520
1532
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1521
 
      31,    32,     0,     0,     0,     0,     0,     0,    87,     0,
1522
 
      88,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 
1533
      31,    32,     0,     0,     0,     0,     0,     0,     0,     0,
 
1534
       0,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1523
1535
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1524
1536
      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1525
 
      70,    71,    72,    73,    74,     0,     0,    75,    17,    18,
1526
 
      19,    20,     0,     0,     0,     0,     0,     0,     0,     0,
1527
 
       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
1528
 
      28,    29,    30,    31,    32,     0,    77,    78,    79,     0,
1529
 
       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
1530
 
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1531
 
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1532
 
      67,    68,    69,    70,    71,    72,    73,    74,     0,     0,
1533
 
      75,     0,     0,     0,     0,     0,     0,    87,     0,    88,
1534
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1535
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1536
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1537
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1538
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1539
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1540
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1541
 
      87,     0,    88
 
1537
      70,    71,    72,    73,    74,   396,     0,   118,    76,   119,
 
1538
     173,   174,   175,   176,   177,     0,     0,   178,   179,     0,
 
1539
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1540
       0,     0,     0,     0,     0,     0,     0,    78,    79,    80,
 
1541
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1542
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1543
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1544
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1545
       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
 
1546
      89,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1547
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1548
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1549
      15,    16,    17,    18,    19,    20,     0,   180,     0,     0,
 
1550
       0,     0,     0,   181,   182,   183,   184,    21,    22,    23,
 
1551
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 
1552
      34,    35,     0,    36,    37,    38,    39,    40,    41,    42,
 
1553
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 
1554
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
 
1555
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
 
1556
      73,    74,    75,     0,     0,    76,     0,     0,     0,     0,
 
1557
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1558
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1559
       0,     0,     0,    77,    78,    79,    80,     0,    81,     0,
 
1560
       0,     0,     0,     0,     0,     0,    82,    83,    84,    85,
 
1561
      86,    87,    17,    18,    19,    20,     0,     0,     0,     0,
 
1562
       0,     0,     0,     0,     0,     0,     0,    21,    22,    23,
 
1563
      24,    25,    26,    27,    28,    29,    30,    31,    32,     0,
 
1564
       0,     0,     0,     0,     0,    88,     0,    89,    41,    42,
 
1565
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 
1566
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
 
1567
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
 
1568
      73,    74,    75,     0,     0,    76,    17,    18,    19,    20,
 
1569
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1570
       0,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 
1571
      30,    31,    32,     0,    78,    79,    80,     0,     0,     0,
 
1572
       0,     0,    41,    42,    43,    44,    45,    46,    47,    48,
 
1573
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
 
1574
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
 
1575
      69,    70,    71,    72,    73,    74,    75,     0,     0,    76,
 
1576
       0,     0,     0,     0,     0,    88,     0,    89,     0,     0,
 
1577
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1578
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1579
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1580
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1581
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1582
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1583
       0,     0,     0,     0,     0,     0,     0,     0,     0,    88,
 
1584
       0,    89
1542
1585
};
1543
1586
 
1544
1587
static const yytype_int16 yycheck[] =
1545
1588
{
1546
 
       9,     8,    76,    76,    93,   169,   165,   171,   155,   151,
1547
 
     235,    76,    77,    78,    76,    86,    87,   181,    88,    89,
1548
 
     198,   198,     4,   265,   322,    99,   100,     3,     4,   394,
1549
 
       9,     9,   201,   201,   217,   218,    98,    80,   216,   216,
1550
 
     107,    33,    34,    84,    85,    37,   120,   412,   217,   217,
1551
 
     151,    33,    34,    35,   111,   122,    32,    33,    34,     4,
1552
 
      36,    37,     0,   222,   201,   115,    73,   201,    95,    96,
1553
 
      97,    98,    99,   100,   101,   102,   103,   104,   179,   180,
1554
 
     217,    90,   112,   217,   115,   383,   201,   115,    33,    34,
1555
 
      35,    98,   101,   235,   258,   337,   321,   197,   262,   200,
1556
 
     215,   265,   249,   328,   111,   201,   115,   405,   114,   273,
1557
 
     408,    90,    90,   197,   202,   203,   197,   201,   416,   215,
1558
 
     201,   115,   131,    90,    91,   214,   424,   198,   115,   200,
1559
 
     115,   140,     3,     4,   235,   142,   236,   197,   197,   209,
1560
 
     210,   201,   201,    76,    77,    78,   155,   154,   157,   313,
1561
 
     197,   197,   196,   218,   379,   201,   165,   106,   107,   108,
1562
 
     197,    32,    33,    34,   201,    36,    37,    38,    39,    40,
1563
 
     218,   197,   201,   337,   198,   201,   196,   277,   196,   321,
1564
 
     301,   302,   303,   304,   297,   298,   328,   115,   347,   216,
1565
 
     299,   300,   292,   294,   295,   296,   297,   298,   299,   300,
1566
 
     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
1567
 
     311,   312,   274,   222,   314,   197,    76,    77,    78,   196,
1568
 
     321,   217,   322,   387,   233,   232,   216,   328,   217,     3,
1569
 
       4,   217,   391,    33,    34,    35,   196,   379,   196,   196,
1570
 
     249,   206,   207,   208,   305,   306,   217,   411,   257,   215,
1571
 
     196,   219,   196,   212,   197,   355,   265,   196,    32,    33,
1572
 
      34,   270,    36,    37,    38,    39,    40,   274,   342,   342,
1573
 
     429,   211,   213,    92,    94,   217,   196,   199,   379,   198,
1574
 
      75,    80,   197,   383,   198,   216,   199,   196,   199,   201,
1575
 
     197,   196,   216,   197,   217,   216,   199,   199,   197,   197,
1576
 
     400,   218,    76,   403,    78,   405,   216,   199,   408,    12,
1577
 
     216,   308,   307,   311,   141,   233,   416,   217,   309,   312,
1578
 
     134,   253,   329,    80,   424,   233,   310,   157,   337,   329,
1579
 
     257,    92,   412,   270,   392,   337,    90,   344,   347,    -1,
1580
 
      -1,   257,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1581
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1582
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1583
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1584
 
      -1,    -1,   391,    -1,    -1,   394,    -1,    -1,    -1,    -1,
1585
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1586
 
      -1,    -1,    -1,   412,    -1,    -1,    -1,    -1,    -1,    -1,
1587
 
      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
1588
 
     429,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1589
 
      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1590
 
      32,    33,    34,    -1,    36,    37,    38,    39,    40,    41,
1591
 
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1592
 
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1593
 
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1594
 
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1595
 
      82,    83,    -1,    -1,    86,    87,    -1,    -1,    -1,    -1,
1596
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1597
 
      -1,    -1,    -1,   105,   106,   107,   108,    -1,   110,    -1,
1598
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1599
 
      -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1600
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1601
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1602
 
      -1,    -1,    -1,    -1,    -1,   157,    -1,   159,    -1,    -1,
1603
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1604
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1605
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1606
 
      -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,    -1,
1607
 
     202,   203,   204,   205,    -1,    -1,    -1,    -1,    -1,    -1,
1608
 
      -1,    -1,    -1,    -1,    -1,   217,   218,   219,     3,     4,
1609
 
       5,     6,     7,     8,     9,    10,    11,    -1,    13,    14,
1610
 
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1611
 
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1612
 
      -1,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1613
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1614
 
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1615
 
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1616
 
      75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
1617
 
      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1618
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1619
 
     105,   106,   107,   108,    -1,   110,    -1,    -1,    -1,    -1,
1620
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,    -1,
1621
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1622
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1623
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1624
 
      -1,    -1,   157,    -1,   159,    -1,    -1,    -1,    -1,    -1,
1625
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1626
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1627
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1628
 
      -1,   196,    -1,    -1,    -1,    -1,    -1,   202,   203,   204,
1629
 
     205,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1630
 
      -1,    -1,   217,   218,   219,     3,     4,     5,     6,     7,
1631
 
       8,     9,    10,    11,    -1,    13,    14,    15,    16,    17,
1632
 
      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
 
1589
       9,     8,    77,     9,   170,   166,    77,   152,    18,    19,
 
1590
      77,    78,    79,    94,   180,   156,    18,    19,    77,     4,
 
1591
     233,   199,   202,    89,    90,   100,   101,    87,    88,   261,
 
1592
     198,   202,   196,     4,   202,   389,   199,   202,   218,   217,
 
1593
      99,    81,   202,     9,   108,   202,   121,   218,    33,    34,
 
1594
      35,   216,   152,   407,   217,   202,   218,   219,   218,   123,
 
1595
     221,   218,    33,    34,    35,   203,   204,    74,   318,   216,
 
1596
     234,    33,    34,   198,   112,    37,   198,   202,   178,   179,
 
1597
     202,     0,    91,   198,   116,    91,   113,   202,   233,   115,
 
1598
     256,   198,    99,   102,   260,   261,   198,    85,    86,   199,
 
1599
     202,   333,   116,   269,   317,   112,   247,   116,   116,   273,
 
1600
     197,   324,    96,    97,    98,    99,   100,   101,   102,   103,
 
1601
     104,   105,   198,   132,   288,    91,   202,   116,   378,    77,
 
1602
      78,    79,   141,   233,   215,   116,   143,    91,    92,   199,
 
1603
     116,   201,   199,   309,   210,   211,   310,   156,   155,   158,
 
1604
     400,   198,   219,   403,   318,   202,   202,   166,   107,   108,
 
1605
     109,   374,   412,   297,   298,   299,   300,   333,   295,   296,
 
1606
     420,   219,   317,    77,    78,    79,    33,    34,    35,   324,
 
1607
     197,   342,   207,   208,   209,   197,   350,   293,   294,   116,
 
1608
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
 
1609
     300,   301,   302,   303,   304,   305,   306,   307,   308,   220,
 
1610
     220,   270,   221,   198,   378,   197,   382,   317,   220,   301,
 
1611
     302,   218,   231,   230,   324,   386,   217,   197,   218,   374,
 
1612
     197,   395,   218,   217,   398,   218,   400,   197,   247,   403,
 
1613
     406,   197,     3,     4,   197,   197,   255,   198,   412,   212,
 
1614
     214,    93,   261,   218,     3,     4,   420,   266,   213,    95,
 
1615
     426,   197,   337,   270,   425,   200,   337,     3,     4,   430,
 
1616
     431,    32,    33,    34,   374,    36,    37,    38,    39,    40,
 
1617
      81,   199,   443,    32,    33,    34,    76,    36,    37,    38,
 
1618
      39,    40,   198,   217,   199,   197,    32,    33,    34,   200,
 
1619
      36,    37,   202,   198,   200,   197,   217,   198,   217,   219,
 
1620
     200,   200,   198,   198,    12,   218,   200,   216,   325,   217,
 
1621
     217,   308,   135,   303,   333,   218,   304,   306,    77,   251,
 
1622
      79,   305,   339,   342,   307,   142,    81,   231,   158,   255,
 
1623
      93,   266,   407,   231,   430,    91,    -1,   255,   325,   432,
 
1624
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   333,    -1,
 
1625
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1626
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   386,    -1,    -1,
 
1627
     389,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1628
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   407,    -1,
 
1629
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1630
      -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,    -1,    -1,
 
1631
      -1,   430,   431,    -1,    -1,     3,     4,     5,     6,     7,
 
1632
       8,     9,    10,    11,   443,    13,    14,    15,    16,    17,
 
1633
      -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
1633
1634
      28,    29,    30,    31,    32,    33,    34,    -1,    36,    37,
1634
1635
      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1635
1636
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1636
1637
      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1637
1638
      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1638
 
      78,    79,    80,    81,    82,    83,    -1,    -1,    86,    87,
1639
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1640
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
1641
 
     108,    -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1642
 
      -1,    -1,    -1,    -1,    -1,   123,    -1,    -1,    -1,    -1,
1643
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1644
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1645
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   157,
1646
 
      -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1647
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1648
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1649
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   196,    -1,
1650
 
      -1,    -1,    -1,    -1,   202,   203,   204,   205,    -1,    -1,
1651
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   217,
1652
 
     218,   219,     3,     4,     5,     6,     7,     8,     9,    10,
1653
 
      11,    -1,    13,    14,    15,    16,    17,    18,    19,    20,
 
1639
      78,    79,    80,    81,    82,    83,    84,    -1,    -1,    87,
 
1640
      88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1641
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,   107,
 
1642
     108,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
 
1643
      -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,
 
1644
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1645
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1646
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1647
     158,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1648
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1649
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1650
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,
 
1651
      -1,    -1,    -1,    -1,    -1,   203,   204,   205,   206,    -1,
 
1652
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1653
     218,   219,   220,     3,     4,     5,     6,     7,     8,     9,
 
1654
      10,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
 
1655
      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 
1656
      30,    31,    32,    33,    34,    -1,    36,    37,    38,    39,
 
1657
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 
1658
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
 
1659
      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
 
1660
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
 
1661
      80,    81,    82,    83,    84,    -1,    -1,    87,    88,    -1,
 
1662
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1663
      -1,    -1,    -1,    -1,    -1,    -1,   106,   107,   108,   109,
 
1664
      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1665
      -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,    -1,    -1,
 
1666
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1667
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1668
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,    -1,
 
1669
     160,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1670
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1671
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1672
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,
 
1673
      -1,    -1,    -1,   203,   204,   205,   206,    -1,    -1,    -1,
 
1674
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   218,   219,
 
1675
     220,     3,     4,     5,     6,     7,     8,     9,    10,    11,
 
1676
      -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
 
1677
      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 
1678
      32,    33,    34,    -1,    36,    37,    38,    39,    40,    41,
 
1679
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 
1680
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
 
1681
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
 
1682
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
 
1683
      82,    83,    84,    -1,    -1,    87,    88,    -1,    -1,    -1,
 
1684
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1685
      -1,    -1,    -1,    -1,   106,   107,   108,   109,    -1,   111,
 
1686
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1687
      -1,    -1,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1688
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1689
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1690
      -1,    -1,    -1,    -1,    -1,    -1,   158,    -1,   160,    -1,
 
1691
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1692
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1693
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1694
      -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,
 
1695
      -1,   203,   204,   205,   206,    -1,    -1,    -1,    -1,    -1,
 
1696
      -1,    -1,    -1,    -1,    -1,    -1,   218,   219,   220,     3,
 
1697
       4,     5,     6,     7,     8,     9,    10,    11,    -1,    13,
 
1698
      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
 
1699
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 
1700
      34,    -1,    36,    37,    38,    39,    40,    41,    42,    43,
 
1701
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 
1702
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
 
1703
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
 
1704
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
 
1705
      84,    -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,
 
1706
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1707
      -1,    -1,   106,   107,   108,   109,    -1,   111,    -1,    -1,
 
1708
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1709
     124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1710
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1711
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1712
      -1,    -1,    -1,    -1,   158,    -1,   160,    -1,    -1,    -1,
 
1713
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1714
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1715
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1716
      -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,    -1,   203,
 
1717
     204,   205,   206,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1718
      -1,    -1,    -1,    -1,   218,   219,     3,     4,     5,     6,
 
1719
       7,     8,     9,    10,    11,    -1,    13,    14,    15,    16,
 
1720
      17,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
 
1721
      27,    28,    29,    30,    31,    32,    33,    34,    -1,    36,
 
1722
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 
1723
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
 
1724
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
 
1725
      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
 
1726
      77,    78,    79,    80,    81,    82,    83,    84,    -1,    -1,
 
1727
      87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1728
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,
 
1729
     107,   108,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
 
1730
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,    -1,
 
1731
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1732
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1733
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1734
      -1,   158,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1,
 
1735
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1736
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1737
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1738
     197,    -1,    -1,    -1,    -1,    -1,   203,   204,   205,   206,
 
1739
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1740
      -1,   218,   219,     3,     4,     5,     6,     7,     8,     9,
 
1741
      10,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
 
1742
      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 
1743
      30,    31,    32,    33,    34,    -1,    36,    37,    38,    39,
 
1744
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 
1745
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
 
1746
      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
 
1747
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
 
1748
      80,    81,    82,    83,    84,    -1,    -1,    87,    88,    -1,
 
1749
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1750
      -1,    -1,    -1,    -1,    -1,    -1,   106,   107,   108,   109,
 
1751
      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1752
      -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,    -1,    -1,
 
1753
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1754
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1755
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,    -1,
 
1756
     160,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1757
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1758
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1759
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,
 
1760
      -1,    -1,    -1,   203,   204,   205,   206,     3,     4,     5,
 
1761
       6,     7,     8,    -1,    -1,    -1,    -1,    -1,   218,   219,
 
1762
      -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
 
1763
      26,    27,    28,    29,    30,    31,    32,    33,    34,    -1,
 
1764
      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
 
1765
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 
1766
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 
1767
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
 
1768
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    -1,
 
1769
      -1,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1770
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1771
     106,   107,   108,   109,    -1,   111,    -1,    -1,    -1,    -1,
 
1772
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   124,     5,
 
1773
       6,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1774
      -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
 
1775
      26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
 
1776
      -1,    -1,   158,    -1,   160,    41,    42,    43,    44,    45,
 
1777
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 
1778
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 
1779
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
 
1780
      -1,   197,    78,    -1,    -1,    -1,    -1,   203,   204,   205,
 
1781
     206,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1782
      -1,    -1,   218,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1783
      -1,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
 
1784
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
 
1785
       6,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1786
      -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
 
1787
      26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
 
1788
      -1,    -1,   158,    -1,   160,    41,    42,    43,    44,    45,
 
1789
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 
1790
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 
1791
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
 
1792
      -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1793
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1794
      -1,    -1,    -1,    -1,   220,    -1,    -1,    -1,    -1,    -1,
 
1795
      -1,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
 
1796
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
 
1797
       6,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1798
      -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
 
1799
      26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
 
1800
      -1,    -1,   158,    -1,   160,    41,    42,    43,    44,    45,
 
1801
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 
1802
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
 
1803
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
 
1804
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    -1,
 
1805
      -1,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1806
      -1,    -1,    -1,    -1,   220,    -1,    -1,    -1,    -1,    -1,
 
1807
      -1,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
 
1808
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1809
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1810
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1811
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1812
      -1,    -1,   158,    -1,   160,    -1,    -1,    -1,    -1,    -1,
 
1813
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1814
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1815
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1816
      -1,   197,    -1,    -1,    -1,    -1,    -1,   203,   204,   205,
 
1817
     206,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1,
 
1818
      -1,    -1,   218,    -1,    -1,    -1,    -1,    -1,    20,    21,
 
1819
      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 
1820
      32,    33,    34,    -1,    36,    37,    38,    39,    40,    41,
 
1821
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 
1822
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
 
1823
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
 
1824
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
 
1825
      82,    83,    84,    -1,    -1,    87,    88,    -1,    -1,    -1,
 
1826
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1827
      -1,    -1,    -1,    -1,   106,   107,   108,   109,    -1,    -1,
 
1828
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1829
      -1,    -1,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1830
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1831
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1832
      -1,    -1,    -1,    -1,    -1,    -1,   158,    -1,   160,    -1,
 
1833
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1834
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1835
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1836
       5,     6,     7,     8,    -1,   197,    -1,    -1,    -1,    -1,
 
1837
      -1,   203,   204,   205,   206,    20,    21,    22,    23,    24,
 
1838
      25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
 
1839
      -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43,    44,
 
1840
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 
1841
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
 
1842
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
 
1843
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
 
1844
      -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,
 
1845
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1846
      -1,    -1,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
 
1847
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1848
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1849
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1850
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1851
      -1,    -1,    -1,   158,    -1,   160,    -1,    -1,    -1,    -1,
 
1852
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1853
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1854
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,     7,
 
1855
       8,    -1,   197,    -1,    -1,   200,    -1,    -1,   203,   204,
 
1856
     205,   206,    20,    21,    22,    23,    24,    25,    26,    27,
 
1857
      28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
 
1858
      -1,    -1,    -1,    41,    42,    43,    44,    45,    46,    47,
 
1859
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
 
1860
      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
 
1861
      68,    69,    70,    71,    72,    73,    74,    75,    -1,    77,
 
1862
      78,    79,    80,    81,    82,    83,    84,    -1,    -1,    87,
 
1863
      88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1864
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
 
1865
     108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1866
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1867
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1868
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1869
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1870
     158,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1871
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1872
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1873
      -1,    -1,    -1,    -1,     5,     6,     7,     8,    -1,   197,
 
1874
      -1,    -1,   200,    -1,    -1,   203,   204,   205,   206,    20,
1654
1875
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1655
 
      31,    32,    33,    34,    -1,    36,    37,    38,    39,    40,
 
1876
      31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1656
1877
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1657
1878
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1658
1879
      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1659
 
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1660
 
      81,    82,    83,    -1,    -1,    86,    87,    -1,    -1,    -1,
1661
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1662
 
      -1,    -1,    -1,    -1,   105,   106,   107,   108,    -1,   110,
1663
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1664
 
      -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1665
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1666
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1667
 
      -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,   159,    -1,
1668
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1669
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1670
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1671
 
      -1,    -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,
1672
 
      -1,   202,   203,   204,   205,    -1,    -1,    -1,    -1,    -1,
1673
 
      -1,    -1,    -1,    -1,    -1,    -1,   217,   218,     3,     4,
1674
 
       5,     6,     7,     8,     9,    10,    11,    -1,    13,    14,
1675
 
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1676
 
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1677
 
      -1,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1678
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1679
 
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1680
 
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1681
 
      75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
1682
 
      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1683
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1684
 
     105,   106,   107,   108,    -1,   110,    -1,    -1,    -1,    -1,
1685
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,    -1,
1686
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1687
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1688
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1689
 
      -1,    -1,   157,    -1,   159,    -1,    -1,    -1,    -1,    -1,
1690
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1691
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1692
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1693
 
      -1,   196,    -1,    -1,    -1,    -1,    -1,   202,   203,   204,
1694
 
     205,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1,
1695
 
      -1,    -1,   217,   218,    -1,    -1,    -1,    -1,    20,    21,
1696
 
      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1697
 
      32,    33,    34,    -1,    36,    37,    38,    39,    40,    41,
1698
 
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1699
 
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1700
 
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1701
 
      72,    73,    74,    -1,    76,    77,    78,    79,    80,    81,
1702
 
      82,    83,    -1,    -1,    86,    87,    -1,    -1,    -1,    -1,
1703
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1704
 
      -1,    -1,    -1,   105,   106,   107,   108,    -1,   110,    -1,
1705
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1706
 
      -1,   123,    -1,     5,     6,     7,     8,    -1,    -1,    -1,
1707
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
1708
 
      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1709
 
      -1,    -1,    -1,    -1,    -1,   157,    -1,   159,    -1,    41,
1710
 
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1711
 
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1712
 
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1713
 
      72,    73,    74,    -1,   196,    77,    -1,    -1,    -1,    -1,
1714
 
     202,   203,   204,   205,    -1,    -1,    -1,    -1,    -1,    -1,
1715
 
      -1,    -1,    -1,    -1,    -1,   217,    -1,    -1,    -1,    -1,
1716
 
      -1,    -1,    -1,    -1,   106,   107,   108,    -1,    -1,    -1,
1717
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1718
 
      -1,    -1,     5,     6,     7,     8,    -1,    -1,    -1,    -1,
1719
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
1720
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
1721
 
      -1,    -1,    -1,    -1,    -1,   157,    -1,   159,    41,    42,
1722
 
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1723
 
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1724
 
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1725
 
      73,    74,    -1,    -1,    77,    -1,    -1,    -1,    -1,    -1,
1726
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1727
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   219,    -1,    -1,
1728
 
      -1,    -1,    -1,   106,   107,   108,    -1,    -1,    -1,    -1,
1729
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1730
 
      -1,     5,     6,     7,     8,    -1,    -1,    -1,    -1,    -1,
1731
 
      -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
 
1880
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
 
1881
      81,    82,    83,    84,    -1,    -1,    87,    88,    -1,    -1,
 
1882
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1883
      -1,    -1,    -1,    -1,    -1,    -1,   107,   108,   109,    -1,
 
1884
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1885
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1886
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1887
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1888
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,    -1,   160,
 
1889
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1890
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1891
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1892
      -1,     5,     6,     7,     8,    -1,   197,    -1,    -1,   200,
 
1893
      -1,    -1,   203,   204,   205,   206,    20,    21,    22,    23,
1732
1894
      24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1,
1733
 
      -1,    -1,    -1,    -1,   157,    -1,   159,    41,    42,    43,
 
1895
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43,
1734
1896
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1735
1897
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1736
1898
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1737
 
      74,    -1,    76,    77,    78,    79,    80,    81,    82,    83,
1738
 
      -1,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
1739
 
      -1,    -1,    -1,    -1,    -1,    -1,   219,    -1,    -1,    -1,
1740
 
      -1,    -1,   106,   107,   108,    -1,    -1,    -1,    -1,    -1,
1741
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1742
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1743
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1744
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1745
 
      -1,    -1,    -1,   157,    -1,   159,    -1,    -1,    -1,    -1,
1746
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1747
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1748
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1749
 
      -1,    -1,   196,    -1,    -1,    -1,    -1,    -1,   202,   203,
1750
 
     204,   205,     3,     4,     5,     6,     7,     8,    -1,    -1,
1751
 
      -1,    -1,    -1,   217,    -1,    -1,    -1,    -1,    -1,    20,
1752
 
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1753
 
      31,    32,    33,    34,    -1,    36,    37,    38,    39,    40,
1754
 
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1755
 
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1756
 
      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1757
 
      71,    72,    73,    74,    -1,    76,    77,    78,    79,    80,
1758
 
      81,    82,    83,    -1,    -1,    86,    87,    -1,    -1,    -1,
1759
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1760
 
      -1,    -1,    -1,    -1,   105,   106,   107,   108,    -1,    -1,
1761
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1762
 
      -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1763
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1764
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1765
 
      -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,   159,    -1,
1766
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1767
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1768
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1769
 
       5,     6,     7,     8,    -1,   196,    -1,    -1,    -1,    -1,
1770
 
      -1,   202,   203,   204,   205,    20,    21,    22,    23,    24,
1771
 
      25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
1772
 
      -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43,    44,
1773
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1774
 
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1775
 
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1776
 
      -1,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
1777
 
      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1778
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1779
 
      -1,   106,   107,   108,    -1,    -1,    -1,    -1,    -1,    -1,
1780
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1781
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1782
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1783
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1784
 
      -1,    -1,   157,    -1,   159,    -1,    -1,    -1,    -1,    -1,
1785
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1786
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1787
 
      -1,    -1,    -1,    -1,    -1,    -1,     5,     6,     7,     8,
1788
 
      -1,   196,    -1,    -1,   199,    -1,    -1,   202,   203,   204,
1789
 
     205,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1790
 
      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1791
 
      -1,    -1,    41,    42,    43,    44,    45,    46,    47,    48,
1792
 
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1793
 
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1794
 
      69,    70,    71,    72,    73,    74,    -1,    76,    77,    78,
1795
 
      79,    80,    81,    82,    83,    -1,    -1,    86,    87,    -1,
1796
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1797
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,   107,   108,
1798
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1799
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1800
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1801
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1802
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,
1803
 
     159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1804
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1805
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1806
 
      -1,    -1,     5,     6,     7,     8,    -1,   196,    -1,    -1,
1807
 
     199,    -1,    -1,   202,   203,   204,   205,    20,    21,    22,
1808
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
1809
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    42,
1810
 
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1811
 
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1812
 
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1813
 
      73,    74,    -1,    76,    77,    78,    79,    80,    81,    82,
1814
 
      83,    -1,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
1815
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1816
 
      -1,    -1,    -1,   106,   107,   108,    -1,    -1,    -1,    -1,
1817
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1818
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1819
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1820
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1821
 
      -1,    -1,    -1,    -1,   157,    -1,   159,    -1,    -1,    -1,
 
1899
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
 
1900
      84,    -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,
 
1901
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1902
      -1,    -1,    -1,   107,   108,   109,    -1,    -1,    -1,    -1,
 
1903
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1904
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1905
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1906
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1907
      -1,    -1,    -1,    -1,   158,    -1,   160,    -1,    -1,    -1,
1822
1908
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1823
1909
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1824
1910
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,
1825
 
       7,     8,    -1,   196,    -1,    -1,   199,    -1,    -1,   202,
1826
 
     203,   204,   205,    20,    21,    22,    23,    24,    25,    26,
 
1911
       7,     8,    -1,   197,    -1,    -1,    -1,    -1,    -1,   203,
 
1912
     204,   205,   206,    20,    21,    22,    23,    24,    25,    26,
1827
1913
      27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
1828
1914
      -1,    -1,    -1,    -1,    41,    42,    43,    44,    45,    46,
1829
1915
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1830
1916
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1831
 
      67,    68,    69,    70,    71,    72,    73,    74,    -1,    76,
1832
 
      77,    78,    79,    80,    81,    82,    83,    -1,    -1,    86,
1833
 
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1834
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,
1835
 
     107,   108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1836
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1837
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1838
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1839
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1840
 
     157,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1841
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1842
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1843
 
      -1,    -1,    -1,    -1,     5,     6,     7,     8,    -1,   196,
1844
 
      -1,    -1,    -1,    -1,    -1,   202,   203,   204,   205,    20,
1845
 
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1846
 
      31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1847
 
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1848
 
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1849
 
      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1850
 
      71,    72,    73,    74,    -1,    76,    77,    78,    79,    80,
1851
 
      81,    82,    83,    -1,    -1,    86,    87,    -1,    -1,    -1,
1852
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1853
 
      -1,    -1,    -1,    -1,    -1,   106,   107,   108,    -1,    -1,
1854
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1855
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1856
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1857
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1858
 
      -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,   159,    -1,
1859
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1860
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1861
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1862
 
       5,     6,     7,     8,    -1,   196,    -1,    -1,    -1,    -1,
1863
 
      -1,   202,   203,   204,   205,    20,    21,    22,    23,    24,
1864
 
      25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
1865
 
      -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43,    44,
1866
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1867
 
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1868
 
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1869
 
      -1,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
1870
 
      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1871
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1872
 
      -1,   106,   107,   108,    -1,    -1,    -1,    -1,    -1,    -1,
1873
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1874
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1875
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1876
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1877
 
      -1,    -1,   157,    -1,   159,    -1,    -1,    -1,    -1,    -1,
1878
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1879
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1880
 
      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
1881
 
      -1,   196,    -1,    -1,    -1,    -1,    -1,   202,   203,   204,
1882
 
     205,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1883
 
      29,    30,    31,    32,    33,    34,    -1,    36,    37,    38,
1884
 
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1885
 
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1886
 
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1887
 
      69,    70,    71,    72,    73,    74,    -1,    -1,    77,    -1,
1888
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1889
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1890
 
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
1891
 
      -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
1892
 
     119,   120,   121,   122,   123,     5,     6,     7,     8,    -1,
1893
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1917
      67,    68,    69,    70,    71,    72,    73,    74,    75,    -1,
 
1918
      77,    78,    79,    80,    81,    82,    83,    84,    -1,    -1,
 
1919
      87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1920
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1921
     107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1922
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1923
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1924
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1925
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1926
      -1,   158,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1,
 
1927
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1928
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1929
      -1,    -1,    -1,    -1,    -1,     5,     6,     7,     8,    -1,
 
1930
     197,    -1,    -1,    -1,    -1,    -1,   203,   204,   205,   206,
1894
1931
      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1895
 
      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,
1896
 
     159,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 
1932
      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1933
      -1,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1897
1934
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1898
1935
      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1899
 
      70,    71,    72,    73,    74,    -1,    -1,    77,     5,     6,
1900
 
       7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1901
 
      -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
1902
 
      27,    28,    29,    30,    31,    -1,   106,   107,   108,    -1,
1903
 
      -1,    -1,    -1,    -1,    41,    42,    43,    44,    45,    46,
1904
 
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1905
 
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1906
 
      67,    68,    69,    70,    71,    72,    73,    74,    -1,    -1,
1907
 
      77,    -1,    -1,    -1,    -1,    -1,    -1,   157,    -1,   159,
1908
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1909
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1910
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1911
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1912
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1913
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1914
 
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1915
 
     157,    -1,   159
 
1936
      70,    71,    72,    73,    74,    75,    -1,    77,    78,    79,
 
1937
      80,    81,    82,    83,    84,    -1,    -1,    87,    88,    -1,
 
1938
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1939
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,   108,   109,
 
1940
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1941
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1942
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1943
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1944
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,    -1,
 
1945
     160,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1946
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1947
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1948
       3,     4,     5,     6,     7,     8,    -1,   197,    -1,    -1,
 
1949
      -1,    -1,    -1,   203,   204,   205,   206,    20,    21,    22,
 
1950
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 
1951
      33,    34,    -1,    36,    37,    38,    39,    40,    41,    42,
 
1952
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 
1953
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
 
1954
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
 
1955
      73,    74,    75,    -1,    -1,    78,    -1,    -1,    -1,    -1,
 
1956
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1957
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1958
      -1,    -1,    -1,   106,   107,   108,   109,    -1,   111,    -1,
 
1959
      -1,    -1,    -1,    -1,    -1,    -1,   119,   120,   121,   122,
 
1960
     123,   124,     5,     6,     7,     8,    -1,    -1,    -1,    -1,
 
1961
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
 
1962
      23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
 
1963
      -1,    -1,    -1,    -1,    -1,   158,    -1,   160,    41,    42,
 
1964
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 
1965
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
 
1966
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
 
1967
      73,    74,    75,    -1,    -1,    78,     5,     6,     7,     8,
 
1968
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1969
      -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 
1970
      29,    30,    31,    -1,   107,   108,   109,    -1,    -1,    -1,
 
1971
      -1,    -1,    41,    42,    43,    44,    45,    46,    47,    48,
 
1972
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
 
1973
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
 
1974
      69,    70,    71,    72,    73,    74,    75,    -1,    -1,    78,
 
1975
      -1,    -1,    -1,    -1,    -1,   158,    -1,   160,    -1,    -1,
 
1976
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1977
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1978
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1979
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1980
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1981
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
1982
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   158,
 
1983
      -1,   160
1916
1984
};
1917
1985
 
1918
1986
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1919
1987
   symbol of state STATE-NUM.  */
1920
1988
static const yytype_uint16 yystos[] =
1921
1989
{
1922
 
       0,   111,   221,   223,    80,     0,   225,   115,   112,   222,
1923
 
     227,    76,    77,    78,   226,     3,     4,     5,     6,     7,
 
1990
       0,   112,   222,   224,    81,     0,   226,   116,   113,   223,
 
1991
     228,    77,    78,    79,   227,     3,     4,     5,     6,     7,
1924
1992
       8,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1925
1993
      29,    30,    31,    32,    33,    34,    36,    37,    38,    39,
1926
1994
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1927
1995
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1928
1996
      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1929
 
      70,    71,    72,    73,    74,    77,   105,   106,   107,   108,
1930
 
     110,   118,   119,   120,   121,   122,   123,   157,   159,   224,
1931
 
     228,   262,   263,   264,   265,   266,   271,   272,   273,   274,
1932
 
     277,   279,   280,   281,   282,   283,   284,   285,   286,   311,
1933
 
     312,   114,    33,    34,    37,   218,   226,    76,    78,   229,
1934
 
     277,   280,   285,   115,   115,   115,   115,   115,   196,   311,
1935
 
     217,   218,   298,   197,   201,     4,    33,    34,    35,   268,
1936
 
     269,   278,   201,   217,    76,    78,   226,   229,   280,   280,
1937
 
     281,   198,   282,   226,   281,   287,   288,   218,   280,   282,
1938
 
     226,   275,   276,     9,    10,    11,    13,    14,    15,    16,
1939
 
      17,    18,    19,    75,    79,    80,    81,    82,    83,    86,
1940
 
      87,   196,   202,   203,   204,   205,   217,   218,   219,   229,
1941
 
     230,   231,   233,   234,   235,   236,   237,   238,   239,   244,
1942
 
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1943
 
     255,   256,   257,   258,   260,   262,   263,   281,   292,   293,
1944
 
     294,   295,   299,   300,   301,   304,   305,   306,   310,   268,
1945
 
     267,   270,   281,   269,   226,   198,   216,   196,   199,   244,
1946
 
     257,   261,   281,   115,   226,   289,   290,   219,   288,   287,
1947
 
     217,   216,   197,   201,   217,   217,   293,   196,   196,   217,
1948
 
     217,   260,   196,   260,   215,   196,   244,   244,   260,   219,
1949
 
     296,    86,    87,   198,   200,   197,   197,   201,    74,   258,
1950
 
     196,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1951
 
     104,   216,   259,   244,   206,   207,   208,   202,   203,    84,
1952
 
      85,    88,    89,   209,   210,    90,    91,   211,   212,   213,
1953
 
      92,    94,    93,   214,   201,   217,   219,   293,   226,   267,
1954
 
     270,   198,   216,   199,   261,   258,   291,   199,   198,   201,
1955
 
     217,   219,    80,   276,    75,   292,   300,   307,   260,   217,
1956
 
     260,   215,   105,   260,   273,   303,   197,   299,   232,   260,
1957
 
     226,   229,   240,   241,   242,   243,   258,   258,   244,   244,
1958
 
     244,   246,   246,   247,   247,   248,   248,   248,   248,   249,
1959
 
     249,   250,   251,   252,   253,   254,   255,   260,   258,   198,
1960
 
     199,   261,   291,   216,   199,   261,   290,   196,   303,   308,
1961
 
     309,   197,   197,   226,   197,   219,   199,   196,   197,   197,
1962
 
     201,    74,   258,   215,   261,   216,   199,   291,   216,   199,
1963
 
     260,   217,   197,   293,   302,   295,   216,   294,   297,   298,
1964
 
     258,   258,   199,   291,   216,   291,   197,   260,   297,    12,
1965
 
     291,   291,   217,   293
 
1997
      70,    71,    72,    73,    74,    75,    78,   106,   107,   108,
 
1998
     109,   111,   119,   120,   121,   122,   123,   124,   158,   160,
 
1999
     225,   229,   263,   264,   265,   266,   267,   272,   273,   274,
 
2000
     275,   278,   280,   281,   282,   283,   284,   285,   286,   287,
 
2001
     316,   317,   115,    33,    34,    37,   219,   227,    77,    79,
 
2002
     230,   278,   281,   286,   116,   116,   116,   116,   116,   197,
 
2003
     316,   218,   219,   299,   198,   202,     4,    33,    34,    35,
 
2004
     269,   270,   279,   202,   218,    77,    79,   227,   230,   281,
 
2005
     281,   282,   199,   283,   227,   282,   288,   289,   219,   281,
 
2006
     283,   227,   276,   277,     9,    10,    11,    13,    14,    15,
 
2007
      16,    17,    76,    80,    81,    82,    83,    84,    87,    88,
 
2008
     197,   203,   204,   205,   206,   218,   219,   220,   230,   231,
 
2009
     232,   234,   235,   236,   237,   238,   239,   240,   245,   246,
 
2010
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
 
2011
     257,   258,   259,   261,   263,   264,   282,   293,   294,   295,
 
2012
     296,   300,   301,   302,   305,   311,   315,   269,   268,   271,
 
2013
     282,   270,   227,   199,   217,   197,   200,   245,   258,   262,
 
2014
     282,   116,   227,   290,   291,   220,   289,   288,   218,   217,
 
2015
     198,   202,   218,   218,   294,   197,   197,   218,   218,   261,
 
2016
     197,   197,   245,   245,   261,   220,   297,    87,    88,   199,
 
2017
     201,   198,   198,   202,    75,   259,   197,    96,    97,    98,
 
2018
      99,   100,   101,   102,   103,   104,   105,   217,   260,   245,
 
2019
     207,   208,   209,   203,   204,    85,    86,    89,    90,   210,
 
2020
     211,    91,    92,   212,   213,   214,    93,    95,    94,   215,
 
2021
     202,   218,   220,   294,   227,   268,   271,   199,   217,   200,
 
2022
     262,   259,   292,   200,   199,   202,   218,   220,    81,   277,
 
2023
      76,   293,   301,   312,   261,   218,   261,   106,   261,   274,
 
2024
     304,   198,   300,   233,   261,   227,   230,   241,   242,   243,
 
2025
     244,   259,   259,   245,   245,   245,   247,   247,   248,   248,
 
2026
     249,   249,   249,   249,   250,   250,   251,   252,   253,   254,
 
2027
     255,   256,   261,   259,   199,   200,   262,   292,   217,   200,
 
2028
     262,   291,   197,   304,   313,   314,   198,   198,   227,   198,
 
2029
     220,   200,   197,   198,   198,   202,    75,   259,   216,   262,
 
2030
     217,   200,   292,   217,   200,   261,   218,   198,   294,   303,
 
2031
     219,   306,   217,   295,   298,   299,   259,   259,   200,   292,
 
2032
     217,   292,   198,   261,   298,    12,    18,    19,   220,   307,
 
2033
     308,   309,   310,   292,   292,   218,   294,   261,   216,   294,
 
2034
     307,   294,   220,   309,   216
1966
2035
};
1967
2036
 
1968
2037
#define yyerrok         (yyerrstatus = 0)
2643
2712
/* User initialization code.  */
2644
2713
 
2645
2714
/* Line 1251 of yacc.c  */
2646
 
#line 41 "glsl_parser.yy"
 
2715
#line 47 "glsl_parser.yy"
2647
2716
{
2648
2717
   yylloc.first_line = 1;
2649
2718
   yylloc.first_column = 1;
2653
2722
}
2654
2723
 
2655
2724
/* Line 1251 of yacc.c  */
2656
 
#line 2657 "glsl_parser.cpp"
 
2725
#line 2726 "glsl_parser.cpp"
2657
2726
  yylsp[0] = yylloc;
2658
2727
 
2659
2728
  goto yysetstate;
2841
2910
        case 2:
2842
2911
 
2843
2912
/* Line 1464 of yacc.c  */
2844
 
#line 218 "glsl_parser.yy"
 
2913
#line 236 "glsl_parser.yy"
2845
2914
    {
2846
2915
           _mesa_glsl_initialize_types(state);
2847
2916
        ;}
2850
2919
  case 3:
2851
2920
 
2852
2921
/* Line 1464 of yacc.c  */
2853
 
#line 222 "glsl_parser.yy"
 
2922
#line 240 "glsl_parser.yy"
2854
2923
    {
2855
2924
           delete state->symbols;
2856
2925
           state->symbols = new(ralloc_parent(state)) glsl_symbol_table;
2861
2930
  case 5:
2862
2931
 
2863
2932
/* Line 1464 of yacc.c  */
2864
 
#line 232 "glsl_parser.yy"
 
2933
#line 250 "glsl_parser.yy"
2865
2934
    {
2866
2935
           bool supported = false;
2867
2936
 
2903
2972
  case 10:
2904
2973
 
2905
2974
/* Line 1464 of yacc.c  */
2906
 
#line 276 "glsl_parser.yy"
 
2975
#line 294 "glsl_parser.yy"
2907
2976
    {
2908
2977
           if (state->language_version < 120) {
2909
2978
              _mesa_glsl_warning(& (yylsp[(1) - (2)]), state,
2918
2987
  case 16:
2919
2988
 
2920
2989
/* Line 1464 of yacc.c  */
2921
 
#line 300 "glsl_parser.yy"
 
2990
#line 318 "glsl_parser.yy"
2922
2991
    {
2923
2992
           if (!_mesa_glsl_process_extension((yyvsp[(2) - (5)].identifier), & (yylsp[(2) - (5)]), (yyvsp[(4) - (5)].identifier), & (yylsp[(4) - (5)]), state)) {
2924
2993
              YYERROR;
2929
2998
  case 17:
2930
2999
 
2931
3000
/* Line 1464 of yacc.c  */
2932
 
#line 309 "glsl_parser.yy"
 
3001
#line 327 "glsl_parser.yy"
2933
3002
    {
2934
3003
           /* FINISHME: The NULL test is required because pragmas are set to
2935
3004
            * FINISHME: NULL. (See production rule for external_declaration.)
2942
3011
  case 18:
2943
3012
 
2944
3013
/* Line 1464 of yacc.c  */
2945
 
#line 317 "glsl_parser.yy"
 
3014
#line 335 "glsl_parser.yy"
2946
3015
    {
2947
3016
           /* FINISHME: The NULL test is required because pragmas are set to
2948
3017
            * FINISHME: NULL. (See production rule for external_declaration.)
2955
3024
  case 21:
2956
3025
 
2957
3026
/* Line 1464 of yacc.c  */
2958
 
#line 333 "glsl_parser.yy"
 
3027
#line 351 "glsl_parser.yy"
2959
3028
    {
2960
3029
           void *ctx = state;
2961
3030
           (yyval.expression) = new(ctx) ast_expression(ast_identifier, NULL, NULL, NULL);
2967
3036
  case 22:
2968
3037
 
2969
3038
/* Line 1464 of yacc.c  */
2970
 
#line 340 "glsl_parser.yy"
 
3039
#line 358 "glsl_parser.yy"
2971
3040
    {
2972
3041
           void *ctx = state;
2973
3042
           (yyval.expression) = new(ctx) ast_expression(ast_int_constant, NULL, NULL, NULL);
2979
3048
  case 23:
2980
3049
 
2981
3050
/* Line 1464 of yacc.c  */
2982
 
#line 347 "glsl_parser.yy"
 
3051
#line 365 "glsl_parser.yy"
2983
3052
    {
2984
3053
           void *ctx = state;
2985
3054
           (yyval.expression) = new(ctx) ast_expression(ast_uint_constant, NULL, NULL, NULL);
2991
3060
  case 24:
2992
3061
 
2993
3062
/* Line 1464 of yacc.c  */
2994
 
#line 354 "glsl_parser.yy"
 
3063
#line 372 "glsl_parser.yy"
2995
3064
    {
2996
3065
           void *ctx = state;
2997
3066
           (yyval.expression) = new(ctx) ast_expression(ast_float_constant, NULL, NULL, NULL);
3003
3072
  case 25:
3004
3073
 
3005
3074
/* Line 1464 of yacc.c  */
3006
 
#line 361 "glsl_parser.yy"
 
3075
#line 379 "glsl_parser.yy"
3007
3076
    {
3008
3077
           void *ctx = state;
3009
3078
           (yyval.expression) = new(ctx) ast_expression(ast_bool_constant, NULL, NULL, NULL);
3015
3084
  case 26:
3016
3085
 
3017
3086
/* Line 1464 of yacc.c  */
3018
 
#line 368 "glsl_parser.yy"
 
3087
#line 386 "glsl_parser.yy"
3019
3088
    {
3020
3089
           (yyval.expression) = (yyvsp[(2) - (3)].expression);
3021
3090
        ;}
3024
3093
  case 28:
3025
3094
 
3026
3095
/* Line 1464 of yacc.c  */
3027
 
#line 376 "glsl_parser.yy"
 
3096
#line 394 "glsl_parser.yy"
3028
3097
    {
3029
3098
           void *ctx = state;
3030
3099
           (yyval.expression) = new(ctx) ast_expression(ast_array_index, (yyvsp[(1) - (4)].expression), (yyvsp[(3) - (4)].expression), NULL);
3035
3104
  case 29:
3036
3105
 
3037
3106
/* Line 1464 of yacc.c  */
3038
 
#line 382 "glsl_parser.yy"
 
3107
#line 400 "glsl_parser.yy"
3039
3108
    {
3040
3109
           (yyval.expression) = (yyvsp[(1) - (1)].expression);
3041
3110
        ;}
3044
3113
  case 30:
3045
3114
 
3046
3115
/* Line 1464 of yacc.c  */
3047
 
#line 386 "glsl_parser.yy"
 
3116
#line 404 "glsl_parser.yy"
3048
3117
    {
3049
3118
           void *ctx = state;
3050
3119
           (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), NULL, NULL);
3056
3125
  case 31:
3057
3126
 
3058
3127
/* Line 1464 of yacc.c  */
3059
 
#line 393 "glsl_parser.yy"
 
3128
#line 411 "glsl_parser.yy"
3060
3129
    {
3061
3130
           void *ctx = state;
3062
3131
           (yyval.expression) = new(ctx) ast_expression(ast_post_inc, (yyvsp[(1) - (2)].expression), NULL, NULL);
3067
3136
  case 32:
3068
3137
 
3069
3138
/* Line 1464 of yacc.c  */
3070
 
#line 399 "glsl_parser.yy"
 
3139
#line 417 "glsl_parser.yy"
3071
3140
    {
3072
3141
           void *ctx = state;
3073
3142
           (yyval.expression) = new(ctx) ast_expression(ast_post_dec, (yyvsp[(1) - (2)].expression), NULL, NULL);
3078
3147
  case 36:
3079
3148
 
3080
3149
/* Line 1464 of yacc.c  */
3081
 
#line 417 "glsl_parser.yy"
 
3150
#line 435 "glsl_parser.yy"
3082
3151
    {
3083
3152
           void *ctx = state;
3084
3153
           (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL);
3089
3158
  case 41:
3090
3159
 
3091
3160
/* Line 1464 of yacc.c  */
3092
 
#line 436 "glsl_parser.yy"
 
3161
#line 454 "glsl_parser.yy"
3093
3162
    {
3094
3163
           (yyval.expression) = (yyvsp[(1) - (2)].expression);
3095
3164
           (yyval.expression)->set_location(yylloc);
3100
3169
  case 42:
3101
3170
 
3102
3171
/* Line 1464 of yacc.c  */
3103
 
#line 442 "glsl_parser.yy"
 
3172
#line 460 "glsl_parser.yy"
3104
3173
    {
3105
3174
           (yyval.expression) = (yyvsp[(1) - (3)].expression);
3106
3175
           (yyval.expression)->set_location(yylloc);
3111
3180
  case 44:
3112
3181
 
3113
3182
/* Line 1464 of yacc.c  */
3114
 
#line 458 "glsl_parser.yy"
 
3183
#line 476 "glsl_parser.yy"
3115
3184
    {
3116
3185
           void *ctx = state;
3117
3186
           (yyval.expression) = new(ctx) ast_function_expression((yyvsp[(1) - (1)].type_specifier));
3122
3191
  case 45:
3123
3192
 
3124
3193
/* Line 1464 of yacc.c  */
3125
 
#line 464 "glsl_parser.yy"
 
3194
#line 482 "glsl_parser.yy"
3126
3195
    {
3127
3196
           void *ctx = state;
3128
3197
           ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier));
3134
3203
  case 46:
3135
3204
 
3136
3205
/* Line 1464 of yacc.c  */
3137
 
#line 471 "glsl_parser.yy"
 
3206
#line 489 "glsl_parser.yy"
3138
3207
    {
3139
3208
           void *ctx = state;
3140
3209
           ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier));
3146
3215
  case 51:
3147
3216
 
3148
3217
/* Line 1464 of yacc.c  */
3149
 
#line 491 "glsl_parser.yy"
 
3218
#line 509 "glsl_parser.yy"
3150
3219
    {
3151
3220
           (yyval.expression) = (yyvsp[(1) - (2)].expression);
3152
3221
           (yyval.expression)->set_location(yylloc);
3157
3226
  case 52:
3158
3227
 
3159
3228
/* Line 1464 of yacc.c  */
3160
 
#line 497 "glsl_parser.yy"
 
3229
#line 515 "glsl_parser.yy"
3161
3230
    {
3162
3231
           (yyval.expression) = (yyvsp[(1) - (3)].expression);
3163
3232
           (yyval.expression)->set_location(yylloc);
3168
3237
  case 53:
3169
3238
 
3170
3239
/* Line 1464 of yacc.c  */
3171
 
#line 509 "glsl_parser.yy"
 
3240
#line 527 "glsl_parser.yy"
3172
3241
    {
3173
3242
           void *ctx = state;
3174
3243
           ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (2)].identifier));
3180
3249
  case 55:
3181
3250
 
3182
3251
/* Line 1464 of yacc.c  */
3183
 
#line 521 "glsl_parser.yy"
 
3252
#line 539 "glsl_parser.yy"
3184
3253
    {
3185
3254
           void *ctx = state;
3186
3255
           (yyval.expression) = new(ctx) ast_expression(ast_pre_inc, (yyvsp[(2) - (2)].expression), NULL, NULL);
3191
3260
  case 56:
3192
3261
 
3193
3262
/* Line 1464 of yacc.c  */
3194
 
#line 527 "glsl_parser.yy"
 
3263
#line 545 "glsl_parser.yy"
3195
3264
    {
3196
3265
           void *ctx = state;
3197
3266
           (yyval.expression) = new(ctx) ast_expression(ast_pre_dec, (yyvsp[(2) - (2)].expression), NULL, NULL);
3202
3271
  case 57:
3203
3272
 
3204
3273
/* Line 1464 of yacc.c  */
3205
 
#line 533 "glsl_parser.yy"
 
3274
#line 551 "glsl_parser.yy"
3206
3275
    {
3207
3276
           void *ctx = state;
3208
3277
           (yyval.expression) = new(ctx) ast_expression((yyvsp[(1) - (2)].n), (yyvsp[(2) - (2)].expression), NULL, NULL);
3213
3282
  case 58:
3214
3283
 
3215
3284
/* Line 1464 of yacc.c  */
3216
 
#line 542 "glsl_parser.yy"
 
3285
#line 560 "glsl_parser.yy"
3217
3286
    { (yyval.n) = ast_plus; ;}
3218
3287
    break;
3219
3288
 
3220
3289
  case 59:
3221
3290
 
3222
3291
/* Line 1464 of yacc.c  */
3223
 
#line 543 "glsl_parser.yy"
 
3292
#line 561 "glsl_parser.yy"
3224
3293
    { (yyval.n) = ast_neg; ;}
3225
3294
    break;
3226
3295
 
3227
3296
  case 60:
3228
3297
 
3229
3298
/* Line 1464 of yacc.c  */
3230
 
#line 544 "glsl_parser.yy"
 
3299
#line 562 "glsl_parser.yy"
3231
3300
    { (yyval.n) = ast_logic_not; ;}
3232
3301
    break;
3233
3302
 
3234
3303
  case 61:
3235
3304
 
3236
3305
/* Line 1464 of yacc.c  */
3237
 
#line 545 "glsl_parser.yy"
 
3306
#line 563 "glsl_parser.yy"
3238
3307
    { (yyval.n) = ast_bit_not; ;}
3239
3308
    break;
3240
3309
 
3241
3310
  case 63:
3242
3311
 
3243
3312
/* Line 1464 of yacc.c  */
3244
 
#line 551 "glsl_parser.yy"
 
3313
#line 569 "glsl_parser.yy"
3245
3314
    {
3246
3315
           void *ctx = state;
3247
3316
           (yyval.expression) = new(ctx) ast_expression_bin(ast_mul, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3252
3321
  case 64:
3253
3322
 
3254
3323
/* Line 1464 of yacc.c  */
3255
 
#line 557 "glsl_parser.yy"
 
3324
#line 575 "glsl_parser.yy"
3256
3325
    {
3257
3326
           void *ctx = state;
3258
3327
           (yyval.expression) = new(ctx) ast_expression_bin(ast_div, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3263
3332
  case 65:
3264
3333
 
3265
3334
/* Line 1464 of yacc.c  */
3266
 
#line 563 "glsl_parser.yy"
 
3335
#line 581 "glsl_parser.yy"
3267
3336
    {
3268
3337
           void *ctx = state;
3269
3338
           (yyval.expression) = new(ctx) ast_expression_bin(ast_mod, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3274
3343
  case 67:
3275
3344
 
3276
3345
/* Line 1464 of yacc.c  */
3277
 
#line 573 "glsl_parser.yy"
 
3346
#line 591 "glsl_parser.yy"
3278
3347
    {
3279
3348
           void *ctx = state;
3280
3349
           (yyval.expression) = new(ctx) ast_expression_bin(ast_add, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3285
3354
  case 68:
3286
3355
 
3287
3356
/* Line 1464 of yacc.c  */
3288
 
#line 579 "glsl_parser.yy"
 
3357
#line 597 "glsl_parser.yy"
3289
3358
    {
3290
3359
           void *ctx = state;
3291
3360
           (yyval.expression) = new(ctx) ast_expression_bin(ast_sub, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3296
3365
  case 70:
3297
3366
 
3298
3367
/* Line 1464 of yacc.c  */
3299
 
#line 589 "glsl_parser.yy"
 
3368
#line 607 "glsl_parser.yy"
3300
3369
    {
3301
3370
           void *ctx = state;
3302
3371
           (yyval.expression) = new(ctx) ast_expression_bin(ast_lshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3307
3376
  case 71:
3308
3377
 
3309
3378
/* Line 1464 of yacc.c  */
3310
 
#line 595 "glsl_parser.yy"
 
3379
#line 613 "glsl_parser.yy"
3311
3380
    {
3312
3381
           void *ctx = state;
3313
3382
           (yyval.expression) = new(ctx) ast_expression_bin(ast_rshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3318
3387
  case 73:
3319
3388
 
3320
3389
/* Line 1464 of yacc.c  */
3321
 
#line 605 "glsl_parser.yy"
 
3390
#line 623 "glsl_parser.yy"
3322
3391
    {
3323
3392
           void *ctx = state;
3324
3393
           (yyval.expression) = new(ctx) ast_expression_bin(ast_less, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3329
3398
  case 74:
3330
3399
 
3331
3400
/* Line 1464 of yacc.c  */
3332
 
#line 611 "glsl_parser.yy"
 
3401
#line 629 "glsl_parser.yy"
3333
3402
    {
3334
3403
           void *ctx = state;
3335
3404
           (yyval.expression) = new(ctx) ast_expression_bin(ast_greater, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3340
3409
  case 75:
3341
3410
 
3342
3411
/* Line 1464 of yacc.c  */
3343
 
#line 617 "glsl_parser.yy"
 
3412
#line 635 "glsl_parser.yy"
3344
3413
    {
3345
3414
           void *ctx = state;
3346
3415
           (yyval.expression) = new(ctx) ast_expression_bin(ast_lequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3351
3420
  case 76:
3352
3421
 
3353
3422
/* Line 1464 of yacc.c  */
3354
 
#line 623 "glsl_parser.yy"
 
3423
#line 641 "glsl_parser.yy"
3355
3424
    {
3356
3425
           void *ctx = state;
3357
3426
           (yyval.expression) = new(ctx) ast_expression_bin(ast_gequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3362
3431
  case 78:
3363
3432
 
3364
3433
/* Line 1464 of yacc.c  */
3365
 
#line 633 "glsl_parser.yy"
 
3434
#line 651 "glsl_parser.yy"
3366
3435
    {
3367
3436
           void *ctx = state;
3368
3437
           (yyval.expression) = new(ctx) ast_expression_bin(ast_equal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3373
3442
  case 79:
3374
3443
 
3375
3444
/* Line 1464 of yacc.c  */
3376
 
#line 639 "glsl_parser.yy"
 
3445
#line 657 "glsl_parser.yy"
3377
3446
    {
3378
3447
           void *ctx = state;
3379
3448
           (yyval.expression) = new(ctx) ast_expression_bin(ast_nequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3384
3453
  case 81:
3385
3454
 
3386
3455
/* Line 1464 of yacc.c  */
3387
 
#line 649 "glsl_parser.yy"
 
3456
#line 667 "glsl_parser.yy"
3388
3457
    {
3389
3458
           void *ctx = state;
3390
3459
           (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3395
3464
  case 83:
3396
3465
 
3397
3466
/* Line 1464 of yacc.c  */
3398
 
#line 659 "glsl_parser.yy"
 
3467
#line 677 "glsl_parser.yy"
3399
3468
    {
3400
3469
           void *ctx = state;
3401
3470
           (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3406
3475
  case 85:
3407
3476
 
3408
3477
/* Line 1464 of yacc.c  */
3409
 
#line 669 "glsl_parser.yy"
 
3478
#line 687 "glsl_parser.yy"
3410
3479
    {
3411
3480
           void *ctx = state;
3412
3481
           (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3417
3486
  case 87:
3418
3487
 
3419
3488
/* Line 1464 of yacc.c  */
3420
 
#line 679 "glsl_parser.yy"
 
3489
#line 697 "glsl_parser.yy"
3421
3490
    {
3422
3491
           void *ctx = state;
3423
3492
           (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3428
3497
  case 89:
3429
3498
 
3430
3499
/* Line 1464 of yacc.c  */
3431
 
#line 689 "glsl_parser.yy"
 
3500
#line 707 "glsl_parser.yy"
3432
3501
    {
3433
3502
           void *ctx = state;
3434
3503
           (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3439
3508
  case 91:
3440
3509
 
3441
3510
/* Line 1464 of yacc.c  */
3442
 
#line 699 "glsl_parser.yy"
 
3511
#line 717 "glsl_parser.yy"
3443
3512
    {
3444
3513
           void *ctx = state;
3445
3514
           (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3450
3519
  case 93:
3451
3520
 
3452
3521
/* Line 1464 of yacc.c  */
3453
 
#line 709 "glsl_parser.yy"
 
3522
#line 727 "glsl_parser.yy"
3454
3523
    {
3455
3524
           void *ctx = state;
3456
3525
           (yyval.expression) = new(ctx) ast_expression(ast_conditional, (yyvsp[(1) - (5)].expression), (yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].expression));
3461
3530
  case 95:
3462
3531
 
3463
3532
/* Line 1464 of yacc.c  */
3464
 
#line 719 "glsl_parser.yy"
 
3533
#line 737 "glsl_parser.yy"
3465
3534
    {
3466
3535
           void *ctx = state;
3467
3536
           (yyval.expression) = new(ctx) ast_expression((yyvsp[(2) - (3)].n), (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL);
3472
3541
  case 96:
3473
3542
 
3474
3543
/* Line 1464 of yacc.c  */
3475
 
#line 727 "glsl_parser.yy"
 
3544
#line 745 "glsl_parser.yy"
3476
3545
    { (yyval.n) = ast_assign; ;}
3477
3546
    break;
3478
3547
 
3479
3548
  case 97:
3480
3549
 
3481
3550
/* Line 1464 of yacc.c  */
3482
 
#line 728 "glsl_parser.yy"
 
3551
#line 746 "glsl_parser.yy"
3483
3552
    { (yyval.n) = ast_mul_assign; ;}
3484
3553
    break;
3485
3554
 
3486
3555
  case 98:
3487
3556
 
3488
3557
/* Line 1464 of yacc.c  */
3489
 
#line 729 "glsl_parser.yy"
 
3558
#line 747 "glsl_parser.yy"
3490
3559
    { (yyval.n) = ast_div_assign; ;}
3491
3560
    break;
3492
3561
 
3493
3562
  case 99:
3494
3563
 
3495
3564
/* Line 1464 of yacc.c  */
3496
 
#line 730 "glsl_parser.yy"
 
3565
#line 748 "glsl_parser.yy"
3497
3566
    { (yyval.n) = ast_mod_assign; ;}
3498
3567
    break;
3499
3568
 
3500
3569
  case 100:
3501
3570
 
3502
3571
/* Line 1464 of yacc.c  */
3503
 
#line 731 "glsl_parser.yy"
 
3572
#line 749 "glsl_parser.yy"
3504
3573
    { (yyval.n) = ast_add_assign; ;}
3505
3574
    break;
3506
3575
 
3507
3576
  case 101:
3508
3577
 
3509
3578
/* Line 1464 of yacc.c  */
3510
 
#line 732 "glsl_parser.yy"
 
3579
#line 750 "glsl_parser.yy"
3511
3580
    { (yyval.n) = ast_sub_assign; ;}
3512
3581
    break;
3513
3582
 
3514
3583
  case 102:
3515
3584
 
3516
3585
/* Line 1464 of yacc.c  */
3517
 
#line 733 "glsl_parser.yy"
 
3586
#line 751 "glsl_parser.yy"
3518
3587
    { (yyval.n) = ast_ls_assign; ;}
3519
3588
    break;
3520
3589
 
3521
3590
  case 103:
3522
3591
 
3523
3592
/* Line 1464 of yacc.c  */
3524
 
#line 734 "glsl_parser.yy"
 
3593
#line 752 "glsl_parser.yy"
3525
3594
    { (yyval.n) = ast_rs_assign; ;}
3526
3595
    break;
3527
3596
 
3528
3597
  case 104:
3529
3598
 
3530
3599
/* Line 1464 of yacc.c  */
3531
 
#line 735 "glsl_parser.yy"
 
3600
#line 753 "glsl_parser.yy"
3532
3601
    { (yyval.n) = ast_and_assign; ;}
3533
3602
    break;
3534
3603
 
3535
3604
  case 105:
3536
3605
 
3537
3606
/* Line 1464 of yacc.c  */
3538
 
#line 736 "glsl_parser.yy"
 
3607
#line 754 "glsl_parser.yy"
3539
3608
    { (yyval.n) = ast_xor_assign; ;}
3540
3609
    break;
3541
3610
 
3542
3611
  case 106:
3543
3612
 
3544
3613
/* Line 1464 of yacc.c  */
3545
 
#line 737 "glsl_parser.yy"
 
3614
#line 755 "glsl_parser.yy"
3546
3615
    { (yyval.n) = ast_or_assign; ;}
3547
3616
    break;
3548
3617
 
3549
3618
  case 107:
3550
3619
 
3551
3620
/* Line 1464 of yacc.c  */
3552
 
#line 742 "glsl_parser.yy"
 
3621
#line 760 "glsl_parser.yy"
3553
3622
    {
3554
3623
           (yyval.expression) = (yyvsp[(1) - (1)].expression);
3555
3624
        ;}
3558
3627
  case 108:
3559
3628
 
3560
3629
/* Line 1464 of yacc.c  */
3561
 
#line 746 "glsl_parser.yy"
 
3630
#line 764 "glsl_parser.yy"
3562
3631
    {
3563
3632
           void *ctx = state;
3564
3633
           if ((yyvsp[(1) - (3)].expression)->oper != ast_sequence) {
3576
3645
  case 110:
3577
3646
 
3578
3647
/* Line 1464 of yacc.c  */
3579
 
#line 766 "glsl_parser.yy"
 
3648
#line 784 "glsl_parser.yy"
3580
3649
    {
3581
3650
           state->symbols->pop_scope();
3582
3651
           (yyval.node) = (yyvsp[(1) - (2)].function);
3586
3655
  case 111:
3587
3656
 
3588
3657
/* Line 1464 of yacc.c  */
3589
 
#line 771 "glsl_parser.yy"
 
3658
#line 789 "glsl_parser.yy"
3590
3659
    {
3591
3660
           (yyval.node) = (yyvsp[(1) - (2)].declarator_list);
3592
3661
        ;}
3595
3664
  case 112:
3596
3665
 
3597
3666
/* Line 1464 of yacc.c  */
3598
 
#line 775 "glsl_parser.yy"
 
3667
#line 793 "glsl_parser.yy"
3599
3668
    {
3600
3669
           (yyvsp[(3) - (4)].type_specifier)->precision = (yyvsp[(2) - (4)].n);
3601
3670
           (yyvsp[(3) - (4)].type_specifier)->is_precision_statement = true;
3606
3675
  case 116:
3607
3676
 
3608
3677
/* Line 1464 of yacc.c  */
3609
 
#line 793 "glsl_parser.yy"
 
3678
#line 811 "glsl_parser.yy"
3610
3679
    {
3611
3680
           (yyval.function) = (yyvsp[(1) - (2)].function);
3612
3681
           (yyval.function)->parameters.push_tail(& (yyvsp[(2) - (2)].parameter_declarator)->link);
3616
3685
  case 117:
3617
3686
 
3618
3687
/* Line 1464 of yacc.c  */
3619
 
#line 798 "glsl_parser.yy"
 
3688
#line 816 "glsl_parser.yy"
3620
3689
    {
3621
3690
           (yyval.function) = (yyvsp[(1) - (3)].function);
3622
3691
           (yyval.function)->parameters.push_tail(& (yyvsp[(3) - (3)].parameter_declarator)->link);
3626
3695
  case 118:
3627
3696
 
3628
3697
/* Line 1464 of yacc.c  */
3629
 
#line 806 "glsl_parser.yy"
 
3698
#line 824 "glsl_parser.yy"
3630
3699
    {
3631
3700
           void *ctx = state;
3632
3701
           (yyval.function) = new(ctx) ast_function();
3642
3711
  case 119:
3643
3712
 
3644
3713
/* Line 1464 of yacc.c  */
3645
 
#line 820 "glsl_parser.yy"
 
3714
#line 838 "glsl_parser.yy"
3646
3715
    {
3647
3716
           void *ctx = state;
3648
3717
           (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
3657
3726
  case 120:
3658
3727
 
3659
3728
/* Line 1464 of yacc.c  */
3660
 
#line 830 "glsl_parser.yy"
 
3729
#line 848 "glsl_parser.yy"
3661
3730
    {
3662
3731
           void *ctx = state;
3663
3732
           (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
3674
3743
  case 121:
3675
3744
 
3676
3745
/* Line 1464 of yacc.c  */
3677
 
#line 845 "glsl_parser.yy"
 
3746
#line 863 "glsl_parser.yy"
3678
3747
    {
3679
3748
           (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i;
3680
3749
 
3686
3755
  case 122:
3687
3756
 
3688
3757
/* Line 1464 of yacc.c  */
3689
 
#line 852 "glsl_parser.yy"
 
3758
#line 870 "glsl_parser.yy"
3690
3759
    {
3691
3760
           (yyval.parameter_declarator) = (yyvsp[(2) - (2)].parameter_declarator);
3692
3761
           (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier);
3696
3765
  case 123:
3697
3766
 
3698
3767
/* Line 1464 of yacc.c  */
3699
 
#line 857 "glsl_parser.yy"
 
3768
#line 875 "glsl_parser.yy"
3700
3769
    {
3701
3770
           void *ctx = state;
3702
3771
           (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i;
3712
3781
  case 124:
3713
3782
 
3714
3783
/* Line 1464 of yacc.c  */
3715
 
#line 868 "glsl_parser.yy"
 
3784
#line 886 "glsl_parser.yy"
3716
3785
    {
3717
3786
           void *ctx = state;
3718
3787
           (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
3726
3795
  case 125:
3727
3796
 
3728
3797
/* Line 1464 of yacc.c  */
3729
 
#line 880 "glsl_parser.yy"
 
3798
#line 898 "glsl_parser.yy"
3730
3799
    {
3731
3800
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
3732
3801
        ;}
3735
3804
  case 126:
3736
3805
 
3737
3806
/* Line 1464 of yacc.c  */
3738
 
#line 884 "glsl_parser.yy"
 
3807
#line 902 "glsl_parser.yy"
3739
3808
    {
3740
3809
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
3741
3810
           (yyval.type_qualifier).flags.q.in = 1;
3745
3814
  case 127:
3746
3815
 
3747
3816
/* Line 1464 of yacc.c  */
3748
 
#line 889 "glsl_parser.yy"
 
3817
#line 907 "glsl_parser.yy"
3749
3818
    {
3750
3819
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
3751
3820
           (yyval.type_qualifier).flags.q.out = 1;
3755
3824
  case 128:
3756
3825
 
3757
3826
/* Line 1464 of yacc.c  */
3758
 
#line 894 "glsl_parser.yy"
 
3827
#line 912 "glsl_parser.yy"
3759
3828
    {
3760
3829
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
3761
3830
           (yyval.type_qualifier).flags.q.in = 1;
3766
3835
  case 131:
3767
3836
 
3768
3837
/* Line 1464 of yacc.c  */
3769
 
#line 908 "glsl_parser.yy"
 
3838
#line 926 "glsl_parser.yy"
3770
3839
    {
3771
3840
           void *ctx = state;
3772
3841
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (3)].identifier), false, NULL, NULL);
3781
3850
  case 132:
3782
3851
 
3783
3852
/* Line 1464 of yacc.c  */
3784
 
#line 918 "glsl_parser.yy"
 
3853
#line 936 "glsl_parser.yy"
3785
3854
    {
3786
3855
           void *ctx = state;
3787
3856
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), true, NULL, NULL);
3796
3865
  case 133:
3797
3866
 
3798
3867
/* Line 1464 of yacc.c  */
3799
 
#line 928 "glsl_parser.yy"
 
3868
#line 946 "glsl_parser.yy"
3800
3869
    {
3801
3870
           void *ctx = state;
3802
3871
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (6)].identifier), true, (yyvsp[(5) - (6)].expression), NULL);
3811
3880
  case 134:
3812
3881
 
3813
3882
/* Line 1464 of yacc.c  */
3814
 
#line 938 "glsl_parser.yy"
 
3883
#line 956 "glsl_parser.yy"
3815
3884
    {
3816
3885
           void *ctx = state;
3817
3886
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (7)].identifier), true, NULL, (yyvsp[(7) - (7)].expression));
3826
3895
  case 135:
3827
3896
 
3828
3897
/* Line 1464 of yacc.c  */
3829
 
#line 948 "glsl_parser.yy"
 
3898
#line 966 "glsl_parser.yy"
3830
3899
    {
3831
3900
           void *ctx = state;
3832
3901
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (8)].identifier), true, (yyvsp[(5) - (8)].expression), (yyvsp[(8) - (8)].expression));
3841
3910
  case 136:
3842
3911
 
3843
3912
/* Line 1464 of yacc.c  */
3844
 
#line 958 "glsl_parser.yy"
 
3913
#line 976 "glsl_parser.yy"
3845
3914
    {
3846
3915
           void *ctx = state;
3847
3916
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), false, NULL, (yyvsp[(5) - (5)].expression));
3856
3925
  case 137:
3857
3926
 
3858
3927
/* Line 1464 of yacc.c  */
3859
 
#line 972 "glsl_parser.yy"
 
3928
#line 990 "glsl_parser.yy"
3860
3929
    {
3861
3930
           void *ctx = state;
3862
 
           if ((yyvsp[(1) - (1)].fully_specified_type)->specifier->type_specifier != ast_struct) {
3863
 
              _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "empty declaration list\n");
3864
 
              YYERROR;
3865
 
           } else {
3866
 
              (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (1)].fully_specified_type));
3867
 
              (yyval.declarator_list)->set_location(yylloc);
3868
 
           }
 
3931
           /* Empty declaration list is valid. */
 
3932
           (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (1)].fully_specified_type));
 
3933
           (yyval.declarator_list)->set_location(yylloc);
3869
3934
        ;}
3870
3935
    break;
3871
3936
 
3872
3937
  case 138:
3873
3938
 
3874
3939
/* Line 1464 of yacc.c  */
3875
 
#line 983 "glsl_parser.yy"
 
3940
#line 997 "glsl_parser.yy"
3876
3941
    {
3877
3942
           void *ctx = state;
3878
3943
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL);
3886
3951
  case 139:
3887
3952
 
3888
3953
/* Line 1464 of yacc.c  */
3889
 
#line 992 "glsl_parser.yy"
 
3954
#line 1006 "glsl_parser.yy"
3890
3955
    {
3891
3956
           void *ctx = state;
3892
3957
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), true, NULL, NULL);
3900
3965
  case 140:
3901
3966
 
3902
3967
/* Line 1464 of yacc.c  */
3903
 
#line 1001 "glsl_parser.yy"
 
3968
#line 1015 "glsl_parser.yy"
3904
3969
    {
3905
3970
           void *ctx = state;
3906
3971
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (5)].identifier), true, (yyvsp[(4) - (5)].expression), NULL);
3914
3979
  case 141:
3915
3980
 
3916
3981
/* Line 1464 of yacc.c  */
3917
 
#line 1010 "glsl_parser.yy"
 
3982
#line 1024 "glsl_parser.yy"
3918
3983
    {
3919
3984
           void *ctx = state;
3920
3985
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (6)].identifier), true, NULL, (yyvsp[(6) - (6)].expression));
3928
3993
  case 142:
3929
3994
 
3930
3995
/* Line 1464 of yacc.c  */
3931
 
#line 1019 "glsl_parser.yy"
 
3996
#line 1033 "glsl_parser.yy"
3932
3997
    {
3933
3998
           void *ctx = state;
3934
3999
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (7)].identifier), true, (yyvsp[(4) - (7)].expression), (yyvsp[(7) - (7)].expression));
3942
4007
  case 143:
3943
4008
 
3944
4009
/* Line 1464 of yacc.c  */
3945
 
#line 1028 "glsl_parser.yy"
 
4010
#line 1042 "glsl_parser.yy"
3946
4011
    {
3947
4012
           void *ctx = state;
3948
4013
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression));
3956
4021
  case 144:
3957
4022
 
3958
4023
/* Line 1464 of yacc.c  */
3959
 
#line 1037 "glsl_parser.yy"
 
4024
#line 1051 "glsl_parser.yy"
3960
4025
    {
3961
4026
           void *ctx = state;
3962
4027
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL);
3972
4037
  case 145:
3973
4038
 
3974
4039
/* Line 1464 of yacc.c  */
3975
 
#line 1051 "glsl_parser.yy"
 
4040
#line 1065 "glsl_parser.yy"
3976
4041
    {
3977
4042
           void *ctx = state;
3978
4043
           (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type();
3984
4049
  case 146:
3985
4050
 
3986
4051
/* Line 1464 of yacc.c  */
3987
 
#line 1058 "glsl_parser.yy"
 
4052
#line 1072 "glsl_parser.yy"
3988
4053
    {
3989
4054
           void *ctx = state;
3990
4055
           (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type();
3997
4062
  case 147:
3998
4063
 
3999
4064
/* Line 1464 of yacc.c  */
4000
 
#line 1069 "glsl_parser.yy"
 
4065
#line 1083 "glsl_parser.yy"
4001
4066
    {
4002
4067
          (yyval.type_qualifier) = (yyvsp[(3) - (4)].type_qualifier);
4003
4068
        ;}
4006
4071
  case 149:
4007
4072
 
4008
4073
/* Line 1464 of yacc.c  */
4009
 
#line 1077 "glsl_parser.yy"
 
4074
#line 1091 "glsl_parser.yy"
4010
4075
    {
4011
4076
           if (((yyvsp[(1) - (3)].type_qualifier).flags.i & (yyvsp[(3) - (3)].type_qualifier).flags.i) != 0) {
4012
4077
              _mesa_glsl_error(& (yylsp[(3) - (3)]), state,
4027
4092
  case 150:
4028
4093
 
4029
4094
/* Line 1464 of yacc.c  */
4030
 
#line 1096 "glsl_parser.yy"
 
4095
#line 1110 "glsl_parser.yy"
4031
4096
    {
4032
4097
           bool got_one = false;
4033
4098
 
4050
4115
              }
4051
4116
           }
4052
4117
 
4053
 
           /* Layout qualifiers for AMD_conservative_depth. */
4054
 
           if (!got_one && state->AMD_conservative_depth_enable) {
 
4118
           /* Layout qualifiers for AMD/ARB_conservative_depth. */
 
4119
           if (!got_one &&
 
4120
               (state->AMD_conservative_depth_enable ||
 
4121
                state->ARB_conservative_depth_enable)) {
4055
4122
              if (strcmp((yyvsp[(1) - (1)].identifier), "depth_any") == 0) {
4056
4123
                 got_one = true;
4057
4124
                 (yyval.type_qualifier).flags.q.depth_any = 1;
4071
4138
                                    "GL_AMD_conservative_depth "
4072
4139
                                    "layout qualifier `%s' is used\n", (yyvsp[(1) - (1)].identifier));
4073
4140
              }
 
4141
              if (got_one && state->ARB_conservative_depth_warn) {
 
4142
                 _mesa_glsl_warning(& (yylsp[(1) - (1)]), state,
 
4143
                                    "GL_ARB_conservative_depth "
 
4144
                                    "layout qualifier `%s' is used\n", (yyvsp[(1) - (1)].identifier));
 
4145
              }
4074
4146
           }
4075
4147
 
4076
4148
           if (!got_one) {
4084
4156
  case 151:
4085
4157
 
4086
4158
/* Line 1464 of yacc.c  */
4087
 
#line 1148 "glsl_parser.yy"
 
4159
#line 1169 "glsl_parser.yy"
4088
4160
    {
4089
4161
           bool got_one = false;
4090
4162
 
4127
4199
  case 152:
4128
4200
 
4129
4201
/* Line 1464 of yacc.c  */
4130
 
#line 1189 "glsl_parser.yy"
 
4202
#line 1210 "glsl_parser.yy"
4131
4203
    {
4132
4204
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4133
4205
           (yyval.type_qualifier).flags.q.smooth = 1;
4137
4209
  case 153:
4138
4210
 
4139
4211
/* Line 1464 of yacc.c  */
4140
 
#line 1194 "glsl_parser.yy"
 
4212
#line 1215 "glsl_parser.yy"
4141
4213
    {
4142
4214
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4143
4215
           (yyval.type_qualifier).flags.q.flat = 1;
4147
4219
  case 154:
4148
4220
 
4149
4221
/* Line 1464 of yacc.c  */
4150
 
#line 1199 "glsl_parser.yy"
 
4222
#line 1220 "glsl_parser.yy"
4151
4223
    {
4152
4224
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4153
4225
           (yyval.type_qualifier).flags.q.noperspective = 1;
4157
4229
  case 155:
4158
4230
 
4159
4231
/* Line 1464 of yacc.c  */
4160
 
#line 1207 "glsl_parser.yy"
 
4232
#line 1228 "glsl_parser.yy"
4161
4233
    {
4162
4234
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4163
4235
           (yyval.type_qualifier).flags.q.constant = 1;
4167
4239
  case 158:
4168
4240
 
4169
4241
/* Line 1464 of yacc.c  */
4170
 
#line 1217 "glsl_parser.yy"
 
4242
#line 1238 "glsl_parser.yy"
4171
4243
    {
4172
4244
           (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier);
4173
4245
           (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i;
4177
4249
  case 160:
4178
4250
 
4179
4251
/* Line 1464 of yacc.c  */
4180
 
#line 1223 "glsl_parser.yy"
 
4252
#line 1244 "glsl_parser.yy"
4181
4253
    {
4182
4254
           (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier);
4183
4255
           (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i;
4187
4259
  case 161:
4188
4260
 
4189
4261
/* Line 1464 of yacc.c  */
4190
 
#line 1228 "glsl_parser.yy"
 
4262
#line 1249 "glsl_parser.yy"
4191
4263
    {
4192
4264
           (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier);
4193
4265
           (yyval.type_qualifier).flags.q.invariant = 1;
4197
4269
  case 162:
4198
4270
 
4199
4271
/* Line 1464 of yacc.c  */
4200
 
#line 1233 "glsl_parser.yy"
 
4272
#line 1254 "glsl_parser.yy"
4201
4273
    {
4202
4274
           (yyval.type_qualifier) = (yyvsp[(2) - (3)].type_qualifier);
4203
4275
           (yyval.type_qualifier).flags.i |= (yyvsp[(3) - (3)].type_qualifier).flags.i;
4208
4280
  case 163:
4209
4281
 
4210
4282
/* Line 1464 of yacc.c  */
4211
 
#line 1239 "glsl_parser.yy"
 
4283
#line 1260 "glsl_parser.yy"
4212
4284
    {
4213
4285
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4214
4286
           (yyval.type_qualifier).flags.q.invariant = 1;
4218
4290
  case 164:
4219
4291
 
4220
4292
/* Line 1464 of yacc.c  */
4221
 
#line 1247 "glsl_parser.yy"
 
4293
#line 1268 "glsl_parser.yy"
4222
4294
    {
4223
4295
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4224
4296
           (yyval.type_qualifier).flags.q.constant = 1;
4228
4300
  case 165:
4229
4301
 
4230
4302
/* Line 1464 of yacc.c  */
4231
 
#line 1252 "glsl_parser.yy"
 
4303
#line 1273 "glsl_parser.yy"
4232
4304
    {
4233
4305
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4234
4306
           (yyval.type_qualifier).flags.q.attribute = 1;
4238
4310
  case 166:
4239
4311
 
4240
4312
/* Line 1464 of yacc.c  */
4241
 
#line 1257 "glsl_parser.yy"
 
4313
#line 1278 "glsl_parser.yy"
4242
4314
    {
4243
4315
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4244
4316
           (yyval.type_qualifier).flags.q.varying = 1;
4248
4320
  case 167:
4249
4321
 
4250
4322
/* Line 1464 of yacc.c  */
4251
 
#line 1262 "glsl_parser.yy"
 
4323
#line 1283 "glsl_parser.yy"
4252
4324
    {
4253
4325
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4254
4326
           (yyval.type_qualifier).flags.q.centroid = 1;
4259
4331
  case 168:
4260
4332
 
4261
4333
/* Line 1464 of yacc.c  */
4262
 
#line 1268 "glsl_parser.yy"
 
4334
#line 1289 "glsl_parser.yy"
4263
4335
    {
4264
4336
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4265
4337
           (yyval.type_qualifier).flags.q.in = 1;
4269
4341
  case 169:
4270
4342
 
4271
4343
/* Line 1464 of yacc.c  */
4272
 
#line 1273 "glsl_parser.yy"
 
4344
#line 1294 "glsl_parser.yy"
4273
4345
    {
4274
4346
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4275
4347
           (yyval.type_qualifier).flags.q.out = 1;
4279
4351
  case 170:
4280
4352
 
4281
4353
/* Line 1464 of yacc.c  */
4282
 
#line 1278 "glsl_parser.yy"
 
4354
#line 1299 "glsl_parser.yy"
4283
4355
    {
4284
4356
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4285
4357
           (yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.in = 1;
4289
4361
  case 171:
4290
4362
 
4291
4363
/* Line 1464 of yacc.c  */
4292
 
#line 1283 "glsl_parser.yy"
 
4364
#line 1304 "glsl_parser.yy"
4293
4365
    {
4294
4366
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4295
4367
           (yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.out = 1;
4299
4371
  case 172:
4300
4372
 
4301
4373
/* Line 1464 of yacc.c  */
4302
 
#line 1288 "glsl_parser.yy"
 
4374
#line 1309 "glsl_parser.yy"
4303
4375
    {
4304
4376
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4305
4377
           (yyval.type_qualifier).flags.q.uniform = 1;
4309
4381
  case 173:
4310
4382
 
4311
4383
/* Line 1464 of yacc.c  */
4312
 
#line 1296 "glsl_parser.yy"
 
4384
#line 1317 "glsl_parser.yy"
4313
4385
    {
4314
4386
           (yyval.type_specifier) = (yyvsp[(1) - (1)].type_specifier);
4315
4387
        ;}
4318
4390
  case 174:
4319
4391
 
4320
4392
/* Line 1464 of yacc.c  */
4321
 
#line 1300 "glsl_parser.yy"
 
4393
#line 1321 "glsl_parser.yy"
4322
4394
    {
4323
4395
           (yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier);
4324
4396
           (yyval.type_specifier)->precision = (yyvsp[(1) - (2)].n);
4328
4400
  case 176:
4329
4401
 
4330
4402
/* Line 1464 of yacc.c  */
4331
 
#line 1309 "glsl_parser.yy"
 
4403
#line 1330 "glsl_parser.yy"
4332
4404
    {
4333
4405
           (yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier);
4334
4406
           (yyval.type_specifier)->is_array = true;
4339
4411
  case 177:
4340
4412
 
4341
4413
/* Line 1464 of yacc.c  */
4342
 
#line 1315 "glsl_parser.yy"
 
4414
#line 1336 "glsl_parser.yy"
4343
4415
    {
4344
4416
           (yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier);
4345
4417
           (yyval.type_specifier)->is_array = true;
4350
4422
  case 178:
4351
4423
 
4352
4424
/* Line 1464 of yacc.c  */
4353
 
#line 1324 "glsl_parser.yy"
 
4425
#line 1345 "glsl_parser.yy"
4354
4426
    {
4355
4427
           void *ctx = state;
4356
4428
           (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].n));
4361
4433
  case 179:
4362
4434
 
4363
4435
/* Line 1464 of yacc.c  */
4364
 
#line 1330 "glsl_parser.yy"
 
4436
#line 1351 "glsl_parser.yy"
4365
4437
    {
4366
4438
           void *ctx = state;
4367
4439
           (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].struct_specifier));
4372
4444
  case 180:
4373
4445
 
4374
4446
/* Line 1464 of yacc.c  */
4375
 
#line 1336 "glsl_parser.yy"
 
4447
#line 1357 "glsl_parser.yy"
4376
4448
    {
4377
4449
           void *ctx = state;
4378
4450
           (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier));
4383
4455
  case 181:
4384
4456
 
4385
4457
/* Line 1464 of yacc.c  */
4386
 
#line 1344 "glsl_parser.yy"
 
4458
#line 1365 "glsl_parser.yy"
4387
4459
    { (yyval.n) = ast_void; ;}
4388
4460
    break;
4389
4461
 
4390
4462
  case 182:
4391
4463
 
4392
4464
/* Line 1464 of yacc.c  */
4393
 
#line 1345 "glsl_parser.yy"
 
4465
#line 1366 "glsl_parser.yy"
4394
4466
    { (yyval.n) = ast_float; ;}
4395
4467
    break;
4396
4468
 
4397
4469
  case 183:
4398
4470
 
4399
4471
/* Line 1464 of yacc.c  */
4400
 
#line 1346 "glsl_parser.yy"
 
4472
#line 1367 "glsl_parser.yy"
4401
4473
    { (yyval.n) = ast_int; ;}
4402
4474
    break;
4403
4475
 
4404
4476
  case 184:
4405
4477
 
4406
4478
/* Line 1464 of yacc.c  */
4407
 
#line 1347 "glsl_parser.yy"
 
4479
#line 1368 "glsl_parser.yy"
4408
4480
    { (yyval.n) = ast_uint; ;}
4409
4481
    break;
4410
4482
 
4411
4483
  case 185:
4412
4484
 
4413
4485
/* Line 1464 of yacc.c  */
4414
 
#line 1348 "glsl_parser.yy"
 
4486
#line 1369 "glsl_parser.yy"
4415
4487
    { (yyval.n) = ast_bool; ;}
4416
4488
    break;
4417
4489
 
4418
4490
  case 186:
4419
4491
 
4420
4492
/* Line 1464 of yacc.c  */
4421
 
#line 1349 "glsl_parser.yy"
 
4493
#line 1370 "glsl_parser.yy"
4422
4494
    { (yyval.n) = ast_vec2; ;}
4423
4495
    break;
4424
4496
 
4425
4497
  case 187:
4426
4498
 
4427
4499
/* Line 1464 of yacc.c  */
4428
 
#line 1350 "glsl_parser.yy"
 
4500
#line 1371 "glsl_parser.yy"
4429
4501
    { (yyval.n) = ast_vec3; ;}
4430
4502
    break;
4431
4503
 
4432
4504
  case 188:
4433
4505
 
4434
4506
/* Line 1464 of yacc.c  */
4435
 
#line 1351 "glsl_parser.yy"
 
4507
#line 1372 "glsl_parser.yy"
4436
4508
    { (yyval.n) = ast_vec4; ;}
4437
4509
    break;
4438
4510
 
4439
4511
  case 189:
4440
4512
 
4441
4513
/* Line 1464 of yacc.c  */
4442
 
#line 1352 "glsl_parser.yy"
 
4514
#line 1373 "glsl_parser.yy"
4443
4515
    { (yyval.n) = ast_bvec2; ;}
4444
4516
    break;
4445
4517
 
4446
4518
  case 190:
4447
4519
 
4448
4520
/* Line 1464 of yacc.c  */
4449
 
#line 1353 "glsl_parser.yy"
 
4521
#line 1374 "glsl_parser.yy"
4450
4522
    { (yyval.n) = ast_bvec3; ;}
4451
4523
    break;
4452
4524
 
4453
4525
  case 191:
4454
4526
 
4455
4527
/* Line 1464 of yacc.c  */
4456
 
#line 1354 "glsl_parser.yy"
 
4528
#line 1375 "glsl_parser.yy"
4457
4529
    { (yyval.n) = ast_bvec4; ;}
4458
4530
    break;
4459
4531
 
4460
4532
  case 192:
4461
4533
 
4462
4534
/* Line 1464 of yacc.c  */
4463
 
#line 1355 "glsl_parser.yy"
 
4535
#line 1376 "glsl_parser.yy"
4464
4536
    { (yyval.n) = ast_ivec2; ;}
4465
4537
    break;
4466
4538
 
4467
4539
  case 193:
4468
4540
 
4469
4541
/* Line 1464 of yacc.c  */
4470
 
#line 1356 "glsl_parser.yy"
 
4542
#line 1377 "glsl_parser.yy"
4471
4543
    { (yyval.n) = ast_ivec3; ;}
4472
4544
    break;
4473
4545
 
4474
4546
  case 194:
4475
4547
 
4476
4548
/* Line 1464 of yacc.c  */
4477
 
#line 1357 "glsl_parser.yy"
 
4549
#line 1378 "glsl_parser.yy"
4478
4550
    { (yyval.n) = ast_ivec4; ;}
4479
4551
    break;
4480
4552
 
4481
4553
  case 195:
4482
4554
 
4483
4555
/* Line 1464 of yacc.c  */
4484
 
#line 1358 "glsl_parser.yy"
 
4556
#line 1379 "glsl_parser.yy"
4485
4557
    { (yyval.n) = ast_uvec2; ;}
4486
4558
    break;
4487
4559
 
4488
4560
  case 196:
4489
4561
 
4490
4562
/* Line 1464 of yacc.c  */
4491
 
#line 1359 "glsl_parser.yy"
 
4563
#line 1380 "glsl_parser.yy"
4492
4564
    { (yyval.n) = ast_uvec3; ;}
4493
4565
    break;
4494
4566
 
4495
4567
  case 197:
4496
4568
 
4497
4569
/* Line 1464 of yacc.c  */
4498
 
#line 1360 "glsl_parser.yy"
 
4570
#line 1381 "glsl_parser.yy"
4499
4571
    { (yyval.n) = ast_uvec4; ;}
4500
4572
    break;
4501
4573
 
4502
4574
  case 198:
4503
4575
 
4504
4576
/* Line 1464 of yacc.c  */
4505
 
#line 1361 "glsl_parser.yy"
 
4577
#line 1382 "glsl_parser.yy"
4506
4578
    { (yyval.n) = ast_mat2; ;}
4507
4579
    break;
4508
4580
 
4509
4581
  case 199:
4510
4582
 
4511
4583
/* Line 1464 of yacc.c  */
4512
 
#line 1362 "glsl_parser.yy"
 
4584
#line 1383 "glsl_parser.yy"
4513
4585
    { (yyval.n) = ast_mat2x3; ;}
4514
4586
    break;
4515
4587
 
4516
4588
  case 200:
4517
4589
 
4518
4590
/* Line 1464 of yacc.c  */
4519
 
#line 1363 "glsl_parser.yy"
 
4591
#line 1384 "glsl_parser.yy"
4520
4592
    { (yyval.n) = ast_mat2x4; ;}
4521
4593
    break;
4522
4594
 
4523
4595
  case 201:
4524
4596
 
4525
4597
/* Line 1464 of yacc.c  */
4526
 
#line 1364 "glsl_parser.yy"
 
4598
#line 1385 "glsl_parser.yy"
4527
4599
    { (yyval.n) = ast_mat3x2; ;}
4528
4600
    break;
4529
4601
 
4530
4602
  case 202:
4531
4603
 
4532
4604
/* Line 1464 of yacc.c  */
4533
 
#line 1365 "glsl_parser.yy"
 
4605
#line 1386 "glsl_parser.yy"
4534
4606
    { (yyval.n) = ast_mat3; ;}
4535
4607
    break;
4536
4608
 
4537
4609
  case 203:
4538
4610
 
4539
4611
/* Line 1464 of yacc.c  */
4540
 
#line 1366 "glsl_parser.yy"
 
4612
#line 1387 "glsl_parser.yy"
4541
4613
    { (yyval.n) = ast_mat3x4; ;}
4542
4614
    break;
4543
4615
 
4544
4616
  case 204:
4545
4617
 
4546
4618
/* Line 1464 of yacc.c  */
4547
 
#line 1367 "glsl_parser.yy"
 
4619
#line 1388 "glsl_parser.yy"
4548
4620
    { (yyval.n) = ast_mat4x2; ;}
4549
4621
    break;
4550
4622
 
4551
4623
  case 205:
4552
4624
 
4553
4625
/* Line 1464 of yacc.c  */
4554
 
#line 1368 "glsl_parser.yy"
 
4626
#line 1389 "glsl_parser.yy"
4555
4627
    { (yyval.n) = ast_mat4x3; ;}
4556
4628
    break;
4557
4629
 
4558
4630
  case 206:
4559
4631
 
4560
4632
/* Line 1464 of yacc.c  */
4561
 
#line 1369 "glsl_parser.yy"
 
4633
#line 1390 "glsl_parser.yy"
4562
4634
    { (yyval.n) = ast_mat4; ;}
4563
4635
    break;
4564
4636
 
4565
4637
  case 207:
4566
4638
 
4567
4639
/* Line 1464 of yacc.c  */
4568
 
#line 1370 "glsl_parser.yy"
 
4640
#line 1391 "glsl_parser.yy"
4569
4641
    { (yyval.n) = ast_sampler1d; ;}
4570
4642
    break;
4571
4643
 
4572
4644
  case 208:
4573
4645
 
4574
4646
/* Line 1464 of yacc.c  */
4575
 
#line 1371 "glsl_parser.yy"
 
4647
#line 1392 "glsl_parser.yy"
4576
4648
    { (yyval.n) = ast_sampler2d; ;}
4577
4649
    break;
4578
4650
 
4579
4651
  case 209:
4580
4652
 
4581
4653
/* Line 1464 of yacc.c  */
4582
 
#line 1372 "glsl_parser.yy"
 
4654
#line 1393 "glsl_parser.yy"
4583
4655
    { (yyval.n) = ast_sampler2drect; ;}
4584
4656
    break;
4585
4657
 
4586
4658
  case 210:
4587
4659
 
4588
4660
/* Line 1464 of yacc.c  */
4589
 
#line 1373 "glsl_parser.yy"
 
4661
#line 1394 "glsl_parser.yy"
4590
4662
    { (yyval.n) = ast_sampler3d; ;}
4591
4663
    break;
4592
4664
 
4593
4665
  case 211:
4594
4666
 
4595
4667
/* Line 1464 of yacc.c  */
4596
 
#line 1374 "glsl_parser.yy"
 
4668
#line 1395 "glsl_parser.yy"
4597
4669
    { (yyval.n) = ast_samplercube; ;}
4598
4670
    break;
4599
4671
 
4600
4672
  case 212:
4601
4673
 
4602
4674
/* Line 1464 of yacc.c  */
4603
 
#line 1375 "glsl_parser.yy"
 
4675
#line 1396 "glsl_parser.yy"
 
4676
    { (yyval.n) = ast_samplerexternaloes; ;}
 
4677
    break;
 
4678
 
 
4679
  case 213:
 
4680
 
 
4681
/* Line 1464 of yacc.c  */
 
4682
#line 1397 "glsl_parser.yy"
4604
4683
    { (yyval.n) = ast_sampler1dshadow; ;}
4605
4684
    break;
4606
4685
 
4607
 
  case 213:
 
4686
  case 214:
4608
4687
 
4609
4688
/* Line 1464 of yacc.c  */
4610
 
#line 1376 "glsl_parser.yy"
 
4689
#line 1398 "glsl_parser.yy"
4611
4690
    { (yyval.n) = ast_sampler2dshadow; ;}
4612
4691
    break;
4613
4692
 
4614
 
  case 214:
 
4693
  case 215:
4615
4694
 
4616
4695
/* Line 1464 of yacc.c  */
4617
 
#line 1377 "glsl_parser.yy"
 
4696
#line 1399 "glsl_parser.yy"
4618
4697
    { (yyval.n) = ast_sampler2drectshadow; ;}
4619
4698
    break;
4620
4699
 
4621
 
  case 215:
 
4700
  case 216:
4622
4701
 
4623
4702
/* Line 1464 of yacc.c  */
4624
 
#line 1378 "glsl_parser.yy"
 
4703
#line 1400 "glsl_parser.yy"
4625
4704
    { (yyval.n) = ast_samplercubeshadow; ;}
4626
4705
    break;
4627
4706
 
4628
 
  case 216:
 
4707
  case 217:
4629
4708
 
4630
4709
/* Line 1464 of yacc.c  */
4631
 
#line 1379 "glsl_parser.yy"
 
4710
#line 1401 "glsl_parser.yy"
4632
4711
    { (yyval.n) = ast_sampler1darray; ;}
4633
4712
    break;
4634
4713
 
4635
 
  case 217:
 
4714
  case 218:
4636
4715
 
4637
4716
/* Line 1464 of yacc.c  */
4638
 
#line 1380 "glsl_parser.yy"
 
4717
#line 1402 "glsl_parser.yy"
4639
4718
    { (yyval.n) = ast_sampler2darray; ;}
4640
4719
    break;
4641
4720
 
4642
 
  case 218:
 
4721
  case 219:
4643
4722
 
4644
4723
/* Line 1464 of yacc.c  */
4645
 
#line 1381 "glsl_parser.yy"
 
4724
#line 1403 "glsl_parser.yy"
4646
4725
    { (yyval.n) = ast_sampler1darrayshadow; ;}
4647
4726
    break;
4648
4727
 
4649
 
  case 219:
 
4728
  case 220:
4650
4729
 
4651
4730
/* Line 1464 of yacc.c  */
4652
 
#line 1382 "glsl_parser.yy"
 
4731
#line 1404 "glsl_parser.yy"
4653
4732
    { (yyval.n) = ast_sampler2darrayshadow; ;}
4654
4733
    break;
4655
4734
 
4656
 
  case 220:
 
4735
  case 221:
4657
4736
 
4658
4737
/* Line 1464 of yacc.c  */
4659
 
#line 1383 "glsl_parser.yy"
 
4738
#line 1405 "glsl_parser.yy"
4660
4739
    { (yyval.n) = ast_isampler1d; ;}
4661
4740
    break;
4662
4741
 
4663
 
  case 221:
 
4742
  case 222:
4664
4743
 
4665
4744
/* Line 1464 of yacc.c  */
4666
 
#line 1384 "glsl_parser.yy"
 
4745
#line 1406 "glsl_parser.yy"
4667
4746
    { (yyval.n) = ast_isampler2d; ;}
4668
4747
    break;
4669
4748
 
4670
 
  case 222:
 
4749
  case 223:
4671
4750
 
4672
4751
/* Line 1464 of yacc.c  */
4673
 
#line 1385 "glsl_parser.yy"
 
4752
#line 1407 "glsl_parser.yy"
4674
4753
    { (yyval.n) = ast_isampler3d; ;}
4675
4754
    break;
4676
4755
 
4677
 
  case 223:
 
4756
  case 224:
4678
4757
 
4679
4758
/* Line 1464 of yacc.c  */
4680
 
#line 1386 "glsl_parser.yy"
 
4759
#line 1408 "glsl_parser.yy"
4681
4760
    { (yyval.n) = ast_isamplercube; ;}
4682
4761
    break;
4683
4762
 
4684
 
  case 224:
 
4763
  case 225:
4685
4764
 
4686
4765
/* Line 1464 of yacc.c  */
4687
 
#line 1387 "glsl_parser.yy"
 
4766
#line 1409 "glsl_parser.yy"
4688
4767
    { (yyval.n) = ast_isampler1darray; ;}
4689
4768
    break;
4690
4769
 
4691
 
  case 225:
 
4770
  case 226:
4692
4771
 
4693
4772
/* Line 1464 of yacc.c  */
4694
 
#line 1388 "glsl_parser.yy"
 
4773
#line 1410 "glsl_parser.yy"
4695
4774
    { (yyval.n) = ast_isampler2darray; ;}
4696
4775
    break;
4697
4776
 
4698
 
  case 226:
 
4777
  case 227:
4699
4778
 
4700
4779
/* Line 1464 of yacc.c  */
4701
 
#line 1389 "glsl_parser.yy"
 
4780
#line 1411 "glsl_parser.yy"
4702
4781
    { (yyval.n) = ast_usampler1d; ;}
4703
4782
    break;
4704
4783
 
4705
 
  case 227:
 
4784
  case 228:
4706
4785
 
4707
4786
/* Line 1464 of yacc.c  */
4708
 
#line 1390 "glsl_parser.yy"
 
4787
#line 1412 "glsl_parser.yy"
4709
4788
    { (yyval.n) = ast_usampler2d; ;}
4710
4789
    break;
4711
4790
 
4712
 
  case 228:
 
4791
  case 229:
4713
4792
 
4714
4793
/* Line 1464 of yacc.c  */
4715
 
#line 1391 "glsl_parser.yy"
 
4794
#line 1413 "glsl_parser.yy"
4716
4795
    { (yyval.n) = ast_usampler3d; ;}
4717
4796
    break;
4718
4797
 
4719
 
  case 229:
 
4798
  case 230:
4720
4799
 
4721
4800
/* Line 1464 of yacc.c  */
4722
 
#line 1392 "glsl_parser.yy"
 
4801
#line 1414 "glsl_parser.yy"
4723
4802
    { (yyval.n) = ast_usamplercube; ;}
4724
4803
    break;
4725
4804
 
4726
 
  case 230:
 
4805
  case 231:
4727
4806
 
4728
4807
/* Line 1464 of yacc.c  */
4729
 
#line 1393 "glsl_parser.yy"
 
4808
#line 1415 "glsl_parser.yy"
4730
4809
    { (yyval.n) = ast_usampler1darray; ;}
4731
4810
    break;
4732
4811
 
4733
 
  case 231:
 
4812
  case 232:
4734
4813
 
4735
4814
/* Line 1464 of yacc.c  */
4736
 
#line 1394 "glsl_parser.yy"
 
4815
#line 1416 "glsl_parser.yy"
4737
4816
    { (yyval.n) = ast_usampler2darray; ;}
4738
4817
    break;
4739
4818
 
4740
 
  case 232:
 
4819
  case 233:
4741
4820
 
4742
4821
/* Line 1464 of yacc.c  */
4743
 
#line 1398 "glsl_parser.yy"
 
4822
#line 1420 "glsl_parser.yy"
4744
4823
    {
4745
4824
                     if (!state->es_shader && state->language_version < 130)
4746
4825
                        _mesa_glsl_error(& (yylsp[(1) - (1)]), state,
4753
4832
                  ;}
4754
4833
    break;
4755
4834
 
4756
 
  case 233:
 
4835
  case 234:
4757
4836
 
4758
4837
/* Line 1464 of yacc.c  */
4759
 
#line 1408 "glsl_parser.yy"
 
4838
#line 1430 "glsl_parser.yy"
4760
4839
    {
4761
4840
                     if (!state->es_shader && state->language_version < 130)
4762
4841
                        _mesa_glsl_error(& (yylsp[(1) - (1)]), state,
4769
4848
                  ;}
4770
4849
    break;
4771
4850
 
4772
 
  case 234:
 
4851
  case 235:
4773
4852
 
4774
4853
/* Line 1464 of yacc.c  */
4775
 
#line 1418 "glsl_parser.yy"
 
4854
#line 1440 "glsl_parser.yy"
4776
4855
    {
4777
4856
                     if (!state->es_shader && state->language_version < 130)
4778
4857
                        _mesa_glsl_error(& (yylsp[(1) - (1)]), state,
4785
4864
                  ;}
4786
4865
    break;
4787
4866
 
4788
 
  case 235:
 
4867
  case 236:
4789
4868
 
4790
4869
/* Line 1464 of yacc.c  */
4791
 
#line 1432 "glsl_parser.yy"
 
4870
#line 1454 "glsl_parser.yy"
4792
4871
    {
4793
4872
           void *ctx = state;
4794
4873
           (yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[(2) - (5)].identifier), (yyvsp[(4) - (5)].node));
4797
4876
        ;}
4798
4877
    break;
4799
4878
 
4800
 
  case 236:
 
4879
  case 237:
4801
4880
 
4802
4881
/* Line 1464 of yacc.c  */
4803
 
#line 1439 "glsl_parser.yy"
 
4882
#line 1461 "glsl_parser.yy"
4804
4883
    {
4805
4884
           void *ctx = state;
4806
4885
           (yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[(3) - (4)].node));
4808
4887
        ;}
4809
4888
    break;
4810
4889
 
4811
 
  case 237:
 
4890
  case 238:
4812
4891
 
4813
4892
/* Line 1464 of yacc.c  */
4814
 
#line 1448 "glsl_parser.yy"
 
4893
#line 1470 "glsl_parser.yy"
4815
4894
    {
4816
4895
           (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].declarator_list);
4817
4896
           (yyvsp[(1) - (1)].declarator_list)->link.self_link();
4818
4897
        ;}
4819
4898
    break;
4820
4899
 
4821
 
  case 238:
 
4900
  case 239:
4822
4901
 
4823
4902
/* Line 1464 of yacc.c  */
4824
 
#line 1453 "glsl_parser.yy"
 
4903
#line 1475 "glsl_parser.yy"
4825
4904
    {
4826
4905
           (yyval.node) = (ast_node *) (yyvsp[(1) - (2)].node);
4827
4906
           (yyval.node)->link.insert_before(& (yyvsp[(2) - (2)].declarator_list)->link);
4828
4907
        ;}
4829
4908
    break;
4830
4909
 
4831
 
  case 239:
 
4910
  case 240:
4832
4911
 
4833
4912
/* Line 1464 of yacc.c  */
4834
 
#line 1461 "glsl_parser.yy"
 
4913
#line 1483 "glsl_parser.yy"
4835
4914
    {
4836
4915
           void *ctx = state;
4837
4916
           ast_fully_specified_type *type = new(ctx) ast_fully_specified_type();
4845
4924
        ;}
4846
4925
    break;
4847
4926
 
4848
 
  case 240:
 
4927
  case 241:
4849
4928
 
4850
4929
/* Line 1464 of yacc.c  */
4851
 
#line 1476 "glsl_parser.yy"
 
4930
#line 1498 "glsl_parser.yy"
4852
4931
    {
4853
4932
           (yyval.declaration) = (yyvsp[(1) - (1)].declaration);
4854
4933
           (yyvsp[(1) - (1)].declaration)->link.self_link();
4855
4934
        ;}
4856
4935
    break;
4857
4936
 
4858
 
  case 241:
 
4937
  case 242:
4859
4938
 
4860
4939
/* Line 1464 of yacc.c  */
4861
 
#line 1481 "glsl_parser.yy"
 
4940
#line 1503 "glsl_parser.yy"
4862
4941
    {
4863
4942
           (yyval.declaration) = (yyvsp[(1) - (3)].declaration);
4864
4943
           (yyval.declaration)->link.insert_before(& (yyvsp[(3) - (3)].declaration)->link);
4865
4944
        ;}
4866
4945
    break;
4867
4946
 
4868
 
  case 242:
 
4947
  case 243:
4869
4948
 
4870
4949
/* Line 1464 of yacc.c  */
4871
 
#line 1489 "glsl_parser.yy"
 
4950
#line 1511 "glsl_parser.yy"
4872
4951
    {
4873
4952
           void *ctx = state;
4874
4953
           (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (1)].identifier), false, NULL, NULL);
4877
4956
        ;}
4878
4957
    break;
4879
4958
 
4880
 
  case 243:
 
4959
  case 244:
4881
4960
 
4882
4961
/* Line 1464 of yacc.c  */
4883
 
#line 1496 "glsl_parser.yy"
 
4962
#line 1518 "glsl_parser.yy"
4884
4963
    {
4885
4964
           void *ctx = state;
4886
4965
           (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (4)].identifier), true, (yyvsp[(3) - (4)].expression), NULL);
4888
4967
        ;}
4889
4968
    break;
4890
4969
 
4891
 
  case 246:
 
4970
  case 247:
4892
4971
 
4893
4972
/* Line 1464 of yacc.c  */
4894
 
#line 1514 "glsl_parser.yy"
 
4973
#line 1536 "glsl_parser.yy"
4895
4974
    { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;}
4896
4975
    break;
4897
4976
 
4898
 
  case 251:
4899
 
 
4900
 
/* Line 1464 of yacc.c  */
4901
 
#line 1522 "glsl_parser.yy"
4902
 
    { (yyval.node) = NULL; ;}
4903
 
    break;
4904
 
 
4905
 
  case 252:
4906
 
 
4907
 
/* Line 1464 of yacc.c  */
4908
 
#line 1523 "glsl_parser.yy"
4909
 
    { (yyval.node) = NULL; ;}
4910
 
    break;
4911
 
 
4912
4977
  case 255:
4913
4978
 
4914
4979
/* Line 1464 of yacc.c  */
4915
 
#line 1530 "glsl_parser.yy"
 
4980
#line 1551 "glsl_parser.yy"
4916
4981
    {
4917
4982
           void *ctx = state;
4918
4983
           (yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL);
4923
4988
  case 256:
4924
4989
 
4925
4990
/* Line 1464 of yacc.c  */
4926
 
#line 1536 "glsl_parser.yy"
 
4991
#line 1557 "glsl_parser.yy"
4927
4992
    {
4928
4993
           state->symbols->push_scope();
4929
4994
        ;}
4932
4997
  case 257:
4933
4998
 
4934
4999
/* Line 1464 of yacc.c  */
4935
 
#line 1540 "glsl_parser.yy"
 
5000
#line 1561 "glsl_parser.yy"
4936
5001
    {
4937
5002
           void *ctx = state;
4938
5003
           (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(3) - (4)].node));
4944
5009
  case 258:
4945
5010
 
4946
5011
/* Line 1464 of yacc.c  */
4947
 
#line 1549 "glsl_parser.yy"
 
5012
#line 1570 "glsl_parser.yy"
4948
5013
    { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;}
4949
5014
    break;
4950
5015
 
4951
5016
  case 260:
4952
5017
 
4953
5018
/* Line 1464 of yacc.c  */
4954
 
#line 1555 "glsl_parser.yy"
 
5019
#line 1576 "glsl_parser.yy"
4955
5020
    {
4956
5021
           void *ctx = state;
4957
5022
           (yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL);
4962
5027
  case 261:
4963
5028
 
4964
5029
/* Line 1464 of yacc.c  */
4965
 
#line 1561 "glsl_parser.yy"
 
5030
#line 1582 "glsl_parser.yy"
4966
5031
    {
4967
5032
           void *ctx = state;
4968
5033
           (yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[(2) - (3)].node));
4973
5038
  case 262:
4974
5039
 
4975
5040
/* Line 1464 of yacc.c  */
4976
 
#line 1570 "glsl_parser.yy"
 
5041
#line 1591 "glsl_parser.yy"
4977
5042
    {
4978
5043
           if ((yyvsp[(1) - (1)].node) == NULL) {
4979
5044
              _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "<nil> statement\n");
4988
5053
  case 263:
4989
5054
 
4990
5055
/* Line 1464 of yacc.c  */
4991
 
#line 1580 "glsl_parser.yy"
 
5056
#line 1601 "glsl_parser.yy"
4992
5057
    {
4993
5058
           if ((yyvsp[(2) - (2)].node) == NULL) {
4994
5059
              _mesa_glsl_error(& (yylsp[(2) - (2)]), state, "<nil> statement\n");
5002
5067
  case 264:
5003
5068
 
5004
5069
/* Line 1464 of yacc.c  */
5005
 
#line 1592 "glsl_parser.yy"
 
5070
#line 1613 "glsl_parser.yy"
5006
5071
    {
5007
5072
           void *ctx = state;
5008
5073
           (yyval.node) = new(ctx) ast_expression_statement(NULL);
5013
5078
  case 265:
5014
5079
 
5015
5080
/* Line 1464 of yacc.c  */
5016
 
#line 1598 "glsl_parser.yy"
 
5081
#line 1619 "glsl_parser.yy"
5017
5082
    {
5018
5083
           void *ctx = state;
5019
5084
           (yyval.node) = new(ctx) ast_expression_statement((yyvsp[(1) - (2)].expression));
5024
5089
  case 266:
5025
5090
 
5026
5091
/* Line 1464 of yacc.c  */
5027
 
#line 1607 "glsl_parser.yy"
 
5092
#line 1628 "glsl_parser.yy"
5028
5093
    {
5029
5094
           (yyval.node) = new(state) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].selection_rest_statement).then_statement,
5030
5095
                                                   (yyvsp[(5) - (5)].selection_rest_statement).else_statement);
5035
5100
  case 267:
5036
5101
 
5037
5102
/* Line 1464 of yacc.c  */
5038
 
#line 1616 "glsl_parser.yy"
 
5103
#line 1637 "glsl_parser.yy"
5039
5104
    {
5040
5105
           (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (3)].node);
5041
5106
           (yyval.selection_rest_statement).else_statement = (yyvsp[(3) - (3)].node);
5045
5110
  case 268:
5046
5111
 
5047
5112
/* Line 1464 of yacc.c  */
5048
 
#line 1621 "glsl_parser.yy"
 
5113
#line 1642 "glsl_parser.yy"
5049
5114
    {
5050
5115
           (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (1)].node);
5051
5116
           (yyval.selection_rest_statement).else_statement = NULL;
5055
5120
  case 269:
5056
5121
 
5057
5122
/* Line 1464 of yacc.c  */
5058
 
#line 1629 "glsl_parser.yy"
 
5123
#line 1650 "glsl_parser.yy"
5059
5124
    {
5060
5125
           (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].expression);
5061
5126
        ;}
5064
5129
  case 270:
5065
5130
 
5066
5131
/* Line 1464 of yacc.c  */
5067
 
#line 1633 "glsl_parser.yy"
 
5132
#line 1654 "glsl_parser.yy"
5068
5133
    {
5069
5134
           void *ctx = state;
5070
5135
           ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression));
5077
5142
        ;}
5078
5143
    break;
5079
5144
 
 
5145
  case 271:
 
5146
 
 
5147
/* Line 1464 of yacc.c  */
 
5148
#line 1672 "glsl_parser.yy"
 
5149
    {
 
5150
           (yyval.node) = new(state) ast_switch_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].switch_body));
 
5151
        ;}
 
5152
    break;
 
5153
 
 
5154
  case 272:
 
5155
 
 
5156
/* Line 1464 of yacc.c  */
 
5157
#line 1679 "glsl_parser.yy"
 
5158
    {
 
5159
           (yyval.switch_body) = new(state) ast_switch_body(NULL);
 
5160
           (yyval.switch_body)->set_location(yylloc);
 
5161
        ;}
 
5162
    break;
 
5163
 
 
5164
  case 273:
 
5165
 
 
5166
/* Line 1464 of yacc.c  */
 
5167
#line 1684 "glsl_parser.yy"
 
5168
    {
 
5169
           (yyval.switch_body) = new(state) ast_switch_body((yyvsp[(2) - (3)].case_statement_list));
 
5170
           (yyval.switch_body)->set_location(yylloc);
 
5171
        ;}
 
5172
    break;
 
5173
 
5080
5174
  case 274:
5081
5175
 
5082
5176
/* Line 1464 of yacc.c  */
5083
 
#line 1656 "glsl_parser.yy"
 
5177
#line 1692 "glsl_parser.yy"
 
5178
    {
 
5179
           (yyval.case_label) = new(state) ast_case_label((yyvsp[(2) - (3)].expression));
 
5180
        ;}
 
5181
    break;
 
5182
 
 
5183
  case 275:
 
5184
 
 
5185
/* Line 1464 of yacc.c  */
 
5186
#line 1696 "glsl_parser.yy"
 
5187
    {
 
5188
           (yyval.case_label) = new(state) ast_case_label(NULL);
 
5189
        ;}
 
5190
    break;
 
5191
 
 
5192
  case 276:
 
5193
 
 
5194
/* Line 1464 of yacc.c  */
 
5195
#line 1703 "glsl_parser.yy"
 
5196
    {
 
5197
           ast_case_label_list *labels = new(state) ast_case_label_list();
 
5198
 
 
5199
           labels->labels.push_tail(& (yyvsp[(1) - (1)].case_label)->link);
 
5200
           (yyval.case_label_list) = labels;
 
5201
        ;}
 
5202
    break;
 
5203
 
 
5204
  case 277:
 
5205
 
 
5206
/* Line 1464 of yacc.c  */
 
5207
#line 1710 "glsl_parser.yy"
 
5208
    {
 
5209
           (yyval.case_label_list) = (yyvsp[(1) - (2)].case_label_list);
 
5210
           (yyval.case_label_list)->labels.push_tail(& (yyvsp[(2) - (2)].case_label)->link);
 
5211
        ;}
 
5212
    break;
 
5213
 
 
5214
  case 278:
 
5215
 
 
5216
/* Line 1464 of yacc.c  */
 
5217
#line 1718 "glsl_parser.yy"
 
5218
    {
 
5219
           ast_case_statement *stmts = new(state) ast_case_statement((yyvsp[(1) - (2)].case_label_list));
 
5220
 
 
5221
           stmts->stmts.push_tail(& (yyvsp[(2) - (2)].node)->link);
 
5222
           (yyval.case_statement) = stmts;
 
5223
        ;}
 
5224
    break;
 
5225
 
 
5226
  case 279:
 
5227
 
 
5228
/* Line 1464 of yacc.c  */
 
5229
#line 1725 "glsl_parser.yy"
 
5230
    {
 
5231
           (yyval.case_statement) = (yyvsp[(1) - (2)].case_statement);
 
5232
           (yyval.case_statement)->stmts.push_tail(& (yyvsp[(2) - (2)].node)->link);
 
5233
        ;}
 
5234
    break;
 
5235
 
 
5236
  case 280:
 
5237
 
 
5238
/* Line 1464 of yacc.c  */
 
5239
#line 1733 "glsl_parser.yy"
 
5240
    {
 
5241
           ast_case_statement_list *cases= new(state) ast_case_statement_list();
 
5242
 
 
5243
           cases->cases.push_tail(& (yyvsp[(1) - (1)].case_statement)->link);
 
5244
           (yyval.case_statement_list) = cases;
 
5245
        ;}
 
5246
    break;
 
5247
 
 
5248
  case 281:
 
5249
 
 
5250
/* Line 1464 of yacc.c  */
 
5251
#line 1740 "glsl_parser.yy"
 
5252
    {
 
5253
           (yyval.case_statement_list) = (yyvsp[(1) - (2)].case_statement_list);
 
5254
           (yyval.case_statement_list)->cases.push_tail(& (yyvsp[(2) - (2)].case_statement)->link);
 
5255
        ;}
 
5256
    break;
 
5257
 
 
5258
  case 282:
 
5259
 
 
5260
/* Line 1464 of yacc.c  */
 
5261
#line 1748 "glsl_parser.yy"
5084
5262
    {
5085
5263
           void *ctx = state;
5086
5264
           (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while,
5089
5267
        ;}
5090
5268
    break;
5091
5269
 
5092
 
  case 275:
 
5270
  case 283:
5093
5271
 
5094
5272
/* Line 1464 of yacc.c  */
5095
 
#line 1663 "glsl_parser.yy"
 
5273
#line 1755 "glsl_parser.yy"
5096
5274
    {
5097
5275
           void *ctx = state;
5098
5276
           (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while,
5101
5279
        ;}
5102
5280
    break;
5103
5281
 
5104
 
  case 276:
 
5282
  case 284:
5105
5283
 
5106
5284
/* Line 1464 of yacc.c  */
5107
 
#line 1670 "glsl_parser.yy"
 
5285
#line 1762 "glsl_parser.yy"
5108
5286
    {
5109
5287
           void *ctx = state;
5110
5288
           (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for,
5113
5291
        ;}
5114
5292
    break;
5115
5293
 
5116
 
  case 280:
 
5294
  case 288:
5117
5295
 
5118
5296
/* Line 1464 of yacc.c  */
5119
 
#line 1686 "glsl_parser.yy"
 
5297
#line 1778 "glsl_parser.yy"
5120
5298
    {
5121
5299
           (yyval.node) = NULL;
5122
5300
        ;}
5123
5301
    break;
5124
5302
 
5125
 
  case 281:
 
5303
  case 289:
5126
5304
 
5127
5305
/* Line 1464 of yacc.c  */
5128
 
#line 1693 "glsl_parser.yy"
 
5306
#line 1785 "glsl_parser.yy"
5129
5307
    {
5130
5308
           (yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node);
5131
5309
           (yyval.for_rest_statement).rest = NULL;
5132
5310
        ;}
5133
5311
    break;
5134
5312
 
5135
 
  case 282:
 
5313
  case 290:
5136
5314
 
5137
5315
/* Line 1464 of yacc.c  */
5138
 
#line 1698 "glsl_parser.yy"
 
5316
#line 1790 "glsl_parser.yy"
5139
5317
    {
5140
5318
           (yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node);
5141
5319
           (yyval.for_rest_statement).rest = (yyvsp[(3) - (3)].expression);
5142
5320
        ;}
5143
5321
    break;
5144
5322
 
5145
 
  case 283:
 
5323
  case 291:
5146
5324
 
5147
5325
/* Line 1464 of yacc.c  */
5148
 
#line 1707 "glsl_parser.yy"
 
5326
#line 1799 "glsl_parser.yy"
5149
5327
    {
5150
5328
           void *ctx = state;
5151
5329
           (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL);
5153
5331
        ;}
5154
5332
    break;
5155
5333
 
5156
 
  case 284:
 
5334
  case 292:
5157
5335
 
5158
5336
/* Line 1464 of yacc.c  */
5159
 
#line 1713 "glsl_parser.yy"
 
5337
#line 1805 "glsl_parser.yy"
5160
5338
    {
5161
5339
           void *ctx = state;
5162
5340
           (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL);
5164
5342
        ;}
5165
5343
    break;
5166
5344
 
5167
 
  case 285:
 
5345
  case 293:
5168
5346
 
5169
5347
/* Line 1464 of yacc.c  */
5170
 
#line 1719 "glsl_parser.yy"
 
5348
#line 1811 "glsl_parser.yy"
5171
5349
    {
5172
5350
           void *ctx = state;
5173
5351
           (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL);
5175
5353
        ;}
5176
5354
    break;
5177
5355
 
5178
 
  case 286:
 
5356
  case 294:
5179
5357
 
5180
5358
/* Line 1464 of yacc.c  */
5181
 
#line 1725 "glsl_parser.yy"
 
5359
#line 1817 "glsl_parser.yy"
5182
5360
    {
5183
5361
           void *ctx = state;
5184
5362
           (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[(2) - (3)].expression));
5186
5364
        ;}
5187
5365
    break;
5188
5366
 
5189
 
  case 287:
 
5367
  case 295:
5190
5368
 
5191
5369
/* Line 1464 of yacc.c  */
5192
 
#line 1731 "glsl_parser.yy"
 
5370
#line 1823 "glsl_parser.yy"
5193
5371
    {
5194
5372
           void *ctx = state;
5195
5373
           (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL);
5197
5375
        ;}
5198
5376
    break;
5199
5377
 
5200
 
  case 288:
 
5378
  case 296:
5201
5379
 
5202
5380
/* Line 1464 of yacc.c  */
5203
 
#line 1739 "glsl_parser.yy"
 
5381
#line 1831 "glsl_parser.yy"
5204
5382
    { (yyval.node) = (yyvsp[(1) - (1)].function_definition); ;}
5205
5383
    break;
5206
5384
 
5207
 
  case 289:
 
5385
  case 297:
5208
5386
 
5209
5387
/* Line 1464 of yacc.c  */
5210
 
#line 1740 "glsl_parser.yy"
 
5388
#line 1832 "glsl_parser.yy"
5211
5389
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
5212
5390
    break;
5213
5391
 
5214
 
  case 290:
 
5392
  case 298:
5215
5393
 
5216
5394
/* Line 1464 of yacc.c  */
5217
 
#line 1741 "glsl_parser.yy"
 
5395
#line 1833 "glsl_parser.yy"
5218
5396
    { (yyval.node) = NULL; ;}
5219
5397
    break;
5220
5398
 
5221
 
  case 291:
 
5399
  case 299:
5222
5400
 
5223
5401
/* Line 1464 of yacc.c  */
5224
 
#line 1746 "glsl_parser.yy"
 
5402
#line 1838 "glsl_parser.yy"
5225
5403
    {
5226
5404
           void *ctx = state;
5227
5405
           (yyval.function_definition) = new(ctx) ast_function_definition();
5236
5414
 
5237
5415
 
5238
5416
/* Line 1464 of yacc.c  */
5239
 
#line 5240 "glsl_parser.cpp"
 
5417
#line 5418 "glsl_parser.cpp"
5240
5418
      default: break;
5241
5419
    }
5242
5420
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);