1 // A Bison parser, made by GNU Bison 3.3.2.
2 
3 // Skeleton implementation for Bison LALR(1) parsers in C++
4 
5 // Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc.
6 
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 
17 // You should have received a copy of the GNU General Public License
18 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 
20 // As a special exception, you may create a larger work that contains
21 // part or all of the Bison parser skeleton and distribute that work
22 // under terms of your choice, so long as that work isn't itself a
23 // parser generator using the skeleton or a modified version thereof
24 // as a parser skeleton.  Alternatively, if you modify or redistribute
25 // the parser skeleton itself, you may (at your option) remove this
26 // special exception, which will cause the skeleton and the resulting
27 // Bison output files to be licensed under the GNU General Public
28 // License without this special exception.
29 
30 // This special exception was added by the Free Software Foundation in
31 // version 2.2 of Bison.
32 
33 // Undocumented macros, especially those whose name start with YY_,
34 // are private implementation details.  Do not rely on them.
35 
36 // //                    "%code top" blocks.
37 #line 30 "DynareBison.yy" // lalr1.cc:423
38 
39 class ParsingDriver;
40 
41 #line 42 "DynareBison.cc" // lalr1.cc:423
42 
43 
44 
45 
46 #include "DynareBison.hh"
47 
48 
49 // Unqualified %code blocks.
50 #line 48 "DynareBison.yy" // lalr1.cc:435
51 
52 /* Little hack: we redefine the macro which computes the locations, because
53    we need to access the location from within the parsing driver for error
54    and warning messages. */
55 #define YYLLOC_DEFAULT(Current, Rhs, N)                         \
56   do {                                                          \
57     if (N)                                                      \
58       {                                                         \
59         (Current).begin = YYRHSLOC(Rhs, 1).begin;               \
60         (Current).end   = YYRHSLOC(Rhs, N).end;                 \
61       }                                                         \
62     else                                                        \
63       {                                                         \
64         (Current).begin = (Current).end = YYRHSLOC(Rhs, 0).end;	\
65       }                                                         \
66     driver.location = (Current);                                \
67   } while(false)
68 
69 #include "ParsingDriver.hh"
70 
71 /* this "connects" the bison parser in the driver to the flex scanner class
72  * object. it defines the yylex() function call to pull the next token from the
73  * current lexer object of the driver context. */
74 #undef yylex
75 #define yylex driver.lexer->lex
76 
77 #line 78 "DynareBison.cc" // lalr1.cc:435
78 
79 
80 #ifndef YY_
81 # if defined YYENABLE_NLS && YYENABLE_NLS
82 #  if ENABLE_NLS
83 #   include <libintl.h> // FIXME: INFRINGES ON USER NAME SPACE.
84 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
85 #  endif
86 # endif
87 # ifndef YY_
88 #  define YY_(msgid) msgid
89 # endif
90 #endif
91 
92 // Whether we are compiled with exception support.
93 #ifndef YY_EXCEPTIONS
94 # if defined __GNUC__ && !defined __EXCEPTIONS
95 #  define YY_EXCEPTIONS 0
96 # else
97 #  define YY_EXCEPTIONS 1
98 # endif
99 #endif
100 
101 #define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
102 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
103    If N is 0, then set CURRENT to the empty location which ends
104    the previous symbol: RHS[0] (always defined).  */
105 
106 # ifndef YYLLOC_DEFAULT
107 #  define YYLLOC_DEFAULT(Current, Rhs, N)                               \
108     do                                                                  \
109       if (N)                                                            \
110         {                                                               \
111           (Current).begin  = YYRHSLOC (Rhs, 1).begin;                   \
112           (Current).end    = YYRHSLOC (Rhs, N).end;                     \
113         }                                                               \
114       else                                                              \
115         {                                                               \
116           (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;      \
117         }                                                               \
118     while (false)
119 # endif
120 
121 
122 // Suppress unused-variable warnings by "using" E.
123 #define YYUSE(E) ((void) (E))
124 
125 // Enable debugging if requested.
126 #if YYDEBUG
127 
128 // A pseudo ostream that takes yydebug_ into account.
129 # define YYCDEBUG if (yydebug_) (*yycdebug_)
130 
131 # define YY_SYMBOL_PRINT(Title, Symbol)         \
132   do {                                          \
133     if (yydebug_)                               \
134     {                                           \
135       *yycdebug_ << Title << ' ';               \
136       yy_print_ (*yycdebug_, Symbol);           \
137       *yycdebug_ << '\n';                       \
138     }                                           \
139   } while (false)
140 
141 # define YY_REDUCE_PRINT(Rule)          \
142   do {                                  \
143     if (yydebug_)                       \
144       yy_reduce_print_ (Rule);          \
145   } while (false)
146 
147 # define YY_STACK_PRINT()               \
148   do {                                  \
149     if (yydebug_)                       \
150       yystack_print_ ();                \
151   } while (false)
152 
153 #else // !YYDEBUG
154 
155 # define YYCDEBUG if (false) std::cerr
156 # define YY_SYMBOL_PRINT(Title, Symbol)  YYUSE (Symbol)
157 # define YY_REDUCE_PRINT(Rule)           static_cast<void> (0)
158 # define YY_STACK_PRINT()                static_cast<void> (0)
159 
160 #endif // !YYDEBUG
161 
162 #define yyerrok         (yyerrstatus_ = 0)
163 #define yyclearin       (yyla.clear ())
164 
165 #define YYACCEPT        goto yyacceptlab
166 #define YYABORT         goto yyabortlab
167 #define YYERROR         goto yyerrorlab
168 #define YYRECOVERING()  (!!yyerrstatus_)
169 
170 #line 25 "DynareBison.yy" // lalr1.cc:510
171 namespace Dynare {
172 #line 173 "DynareBison.cc" // lalr1.cc:510
173 
174   /* Return YYSTR after stripping away unnecessary quotes and
175      backslashes, so that it's suitable for yyerror.  The heuristic is
176      that double-quoting is unnecessary unless the string contains an
177      apostrophe, a comma, or backslash (other than backslash-backslash).
178      YYSTR is taken from yytname.  */
179   std::string
yytnamerr_(const char * yystr)180   parser::yytnamerr_ (const char *yystr)
181   {
182     if (*yystr == '"')
183       {
184         std::string yyr;
185         char const *yyp = yystr;
186 
187         for (;;)
188           switch (*++yyp)
189             {
190             case '\'':
191             case ',':
192               goto do_not_strip_quotes;
193 
194             case '\\':
195               if (*++yyp != '\\')
196                 goto do_not_strip_quotes;
197               else
198                 goto append;
199 
200             append:
201             default:
202               yyr += *yyp;
203               break;
204 
205             case '"':
206               return yyr;
207             }
208       do_not_strip_quotes: ;
209       }
210 
211     return yystr;
212   }
213 
214 
215   /// Build a parser object.
parser(ParsingDriver & driver_yyarg)216   parser::parser (ParsingDriver &driver_yyarg)
217     :
218 #if YYDEBUG
219       yydebug_ (false),
220       yycdebug_ (&std::cerr),
221 #endif
222       driver (driver_yyarg)
223   {}
224 
~parser()225   parser::~parser ()
226   {}
227 
~syntax_error()228   parser::syntax_error::~syntax_error () YY_NOEXCEPT YY_NOTHROW
229   {}
230 
231   /*---------------.
232   | Symbol types.  |
233   `---------------*/
234 
235   // basic_symbol.
236 #if 201103L <= YY_CPLUSPLUS
237   template <typename Base>
basic_symbol(basic_symbol && that)238   parser::basic_symbol<Base>::basic_symbol (basic_symbol&& that)
239     : Base (std::move (that))
240     , value ()
241     , location (std::move (that.location))
242   {
243     switch (this->type_get ())
244     {
245       case 840: // prior_distribution
246       case 841: // prior_pdf
247         value.move< PriorDistributions > (std::move (that.value));
248         break;
249 
250       case 714: // change_type_arg
251         value.move< SymbolType > (std::move (that.value));
252         break;
253 
254       case 718: // expression
255       case 721: // expression_or_empty
256       case 745: // equation
257       case 748: // hand_side
258         value.move< expr_t > (std::move (that.value));
259         break;
260 
261       case 1006: // calibration_range
262         value.move< pair<expr_t,expr_t> > (std::move (that.value));
263         break;
264 
265       case 704: // named_var_elem
266       case 850: // subsamples_eq_opt
267       case 1471: // integer_range_w_inf
268         value.move< pair<string,string> > (std::move (that.value));
269         break;
270 
271       case 88: // FALSE
272       case 89: // FLOAT_NUMBER
273       case 90: // DATES
274       case 138: // INT_NUMBER
275       case 235: // NAME
276       case 297: // QUOTED_STRING
277       case 350: // TEX_NAME
278       case 351: // TRUE
279       case 474: // ALPHA
280       case 475: // BETA
281       case 476: // ABAND
282       case 477: // NINV
283       case 478: // CMS
284       case 479: // NCMS
285       case 480: // CNUM
286       case 481: // GAMMA
287       case 482: // INV_GAMMA
288       case 483: // INV_GAMMA1
289       case 484: // INV_GAMMA2
290       case 485: // NORMAL
291       case 486: // UNIFORM
292       case 487: // EPS
293       case 488: // PDF
294       case 489: // FIG
295       case 490: // DR
296       case 491: // NONE
297       case 492: // PRIOR
298       case 493: // PRIOR_VARIANCE
299       case 494: // HESSIAN
300       case 495: // IDENTITY_MATRIX
301       case 496: // DIRICHLET
302       case 497: // DIAGONAL
303       case 498: // OPTIMAL
304       case 819: // signed_integer
305       case 820: // non_negative_number
306       case 821: // signed_number
307       case 822: // signed_inf
308       case 823: // signed_number_w_inf
309       case 824: // boolean
310       case 842: // date_str
311       case 843: // date_expr
312       case 876: // list_sub_sampling_option
313       case 877: // sub_sampling_options
314       case 904: // filename
315       case 905: // namespace_qualified_symbol
316       case 906: // namespace_qualified_filename
317       case 1469: // range
318       case 1470: // integer_range
319       case 1472: // signed_integer_range
320       case 1479: // vec_value_1
321       case 1480: // vec_value
322       case 1481: // vec_value_list
323       case 1482: // vec_of_vec_value
324       case 1483: // vec_value_1_w_inf
325       case 1484: // vec_value_w_inf
326       case 1485: // symbol
327       case 1486: // number
328         value.move< string > (std::move (that.value));
329         break;
330 
331       case 865: // prior_eq_opt
332       case 870: // options_eq_opt
333         value.move< tuple<string,string,string,string> > (std::move (that.value));
334         break;
335 
336       case 1473: // vec_int_number
337       case 1474: // vec_int_elem
338       case 1475: // vec_int_1
339       case 1476: // vec_int
340         value.move< vector<int> > (std::move (that.value));
341         break;
342 
343       case 705: // named_var_1
344       case 706: // named_var
345         value.move< vector<pair<string,string>> > (std::move (that.value));
346         break;
347 
348       case 645: // SYMBOL_VEC
349       case 715: // change_type_var_list
350       case 1477: // vec_str_1
351       case 1478: // vec_str
352         value.move< vector<string> > (std::move (that.value));
353         break;
354 
355       default:
356         break;
357     }
358 
359   }
360 #endif
361 
362   template <typename Base>
basic_symbol(const basic_symbol & that)363   parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that)
364     : Base (that)
365     , value ()
366     , location (that.location)
367   {
368     switch (this->type_get ())
369     {
370       case 840: // prior_distribution
371       case 841: // prior_pdf
372         value.copy< PriorDistributions > (YY_MOVE (that.value));
373         break;
374 
375       case 714: // change_type_arg
376         value.copy< SymbolType > (YY_MOVE (that.value));
377         break;
378 
379       case 718: // expression
380       case 721: // expression_or_empty
381       case 745: // equation
382       case 748: // hand_side
383         value.copy< expr_t > (YY_MOVE (that.value));
384         break;
385 
386       case 1006: // calibration_range
387         value.copy< pair<expr_t,expr_t> > (YY_MOVE (that.value));
388         break;
389 
390       case 704: // named_var_elem
391       case 850: // subsamples_eq_opt
392       case 1471: // integer_range_w_inf
393         value.copy< pair<string,string> > (YY_MOVE (that.value));
394         break;
395 
396       case 88: // FALSE
397       case 89: // FLOAT_NUMBER
398       case 90: // DATES
399       case 138: // INT_NUMBER
400       case 235: // NAME
401       case 297: // QUOTED_STRING
402       case 350: // TEX_NAME
403       case 351: // TRUE
404       case 474: // ALPHA
405       case 475: // BETA
406       case 476: // ABAND
407       case 477: // NINV
408       case 478: // CMS
409       case 479: // NCMS
410       case 480: // CNUM
411       case 481: // GAMMA
412       case 482: // INV_GAMMA
413       case 483: // INV_GAMMA1
414       case 484: // INV_GAMMA2
415       case 485: // NORMAL
416       case 486: // UNIFORM
417       case 487: // EPS
418       case 488: // PDF
419       case 489: // FIG
420       case 490: // DR
421       case 491: // NONE
422       case 492: // PRIOR
423       case 493: // PRIOR_VARIANCE
424       case 494: // HESSIAN
425       case 495: // IDENTITY_MATRIX
426       case 496: // DIRICHLET
427       case 497: // DIAGONAL
428       case 498: // OPTIMAL
429       case 819: // signed_integer
430       case 820: // non_negative_number
431       case 821: // signed_number
432       case 822: // signed_inf
433       case 823: // signed_number_w_inf
434       case 824: // boolean
435       case 842: // date_str
436       case 843: // date_expr
437       case 876: // list_sub_sampling_option
438       case 877: // sub_sampling_options
439       case 904: // filename
440       case 905: // namespace_qualified_symbol
441       case 906: // namespace_qualified_filename
442       case 1469: // range
443       case 1470: // integer_range
444       case 1472: // signed_integer_range
445       case 1479: // vec_value_1
446       case 1480: // vec_value
447       case 1481: // vec_value_list
448       case 1482: // vec_of_vec_value
449       case 1483: // vec_value_1_w_inf
450       case 1484: // vec_value_w_inf
451       case 1485: // symbol
452       case 1486: // number
453         value.copy< string > (YY_MOVE (that.value));
454         break;
455 
456       case 865: // prior_eq_opt
457       case 870: // options_eq_opt
458         value.copy< tuple<string,string,string,string> > (YY_MOVE (that.value));
459         break;
460 
461       case 1473: // vec_int_number
462       case 1474: // vec_int_elem
463       case 1475: // vec_int_1
464       case 1476: // vec_int
465         value.copy< vector<int> > (YY_MOVE (that.value));
466         break;
467 
468       case 705: // named_var_1
469       case 706: // named_var
470         value.copy< vector<pair<string,string>> > (YY_MOVE (that.value));
471         break;
472 
473       case 645: // SYMBOL_VEC
474       case 715: // change_type_var_list
475       case 1477: // vec_str_1
476       case 1478: // vec_str
477         value.copy< vector<string> > (YY_MOVE (that.value));
478         break;
479 
480       default:
481         break;
482     }
483 
484   }
485 
486 
487 
488   template <typename Base>
489   bool
empty() const490   parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
491   {
492     return Base::type_get () == empty_symbol;
493   }
494 
495   template <typename Base>
496   void
move(basic_symbol & s)497   parser::basic_symbol<Base>::move (basic_symbol& s)
498   {
499     super_type::move (s);
500     switch (this->type_get ())
501     {
502       case 840: // prior_distribution
503       case 841: // prior_pdf
504         value.move< PriorDistributions > (YY_MOVE (s.value));
505         break;
506 
507       case 714: // change_type_arg
508         value.move< SymbolType > (YY_MOVE (s.value));
509         break;
510 
511       case 718: // expression
512       case 721: // expression_or_empty
513       case 745: // equation
514       case 748: // hand_side
515         value.move< expr_t > (YY_MOVE (s.value));
516         break;
517 
518       case 1006: // calibration_range
519         value.move< pair<expr_t,expr_t> > (YY_MOVE (s.value));
520         break;
521 
522       case 704: // named_var_elem
523       case 850: // subsamples_eq_opt
524       case 1471: // integer_range_w_inf
525         value.move< pair<string,string> > (YY_MOVE (s.value));
526         break;
527 
528       case 88: // FALSE
529       case 89: // FLOAT_NUMBER
530       case 90: // DATES
531       case 138: // INT_NUMBER
532       case 235: // NAME
533       case 297: // QUOTED_STRING
534       case 350: // TEX_NAME
535       case 351: // TRUE
536       case 474: // ALPHA
537       case 475: // BETA
538       case 476: // ABAND
539       case 477: // NINV
540       case 478: // CMS
541       case 479: // NCMS
542       case 480: // CNUM
543       case 481: // GAMMA
544       case 482: // INV_GAMMA
545       case 483: // INV_GAMMA1
546       case 484: // INV_GAMMA2
547       case 485: // NORMAL
548       case 486: // UNIFORM
549       case 487: // EPS
550       case 488: // PDF
551       case 489: // FIG
552       case 490: // DR
553       case 491: // NONE
554       case 492: // PRIOR
555       case 493: // PRIOR_VARIANCE
556       case 494: // HESSIAN
557       case 495: // IDENTITY_MATRIX
558       case 496: // DIRICHLET
559       case 497: // DIAGONAL
560       case 498: // OPTIMAL
561       case 819: // signed_integer
562       case 820: // non_negative_number
563       case 821: // signed_number
564       case 822: // signed_inf
565       case 823: // signed_number_w_inf
566       case 824: // boolean
567       case 842: // date_str
568       case 843: // date_expr
569       case 876: // list_sub_sampling_option
570       case 877: // sub_sampling_options
571       case 904: // filename
572       case 905: // namespace_qualified_symbol
573       case 906: // namespace_qualified_filename
574       case 1469: // range
575       case 1470: // integer_range
576       case 1472: // signed_integer_range
577       case 1479: // vec_value_1
578       case 1480: // vec_value
579       case 1481: // vec_value_list
580       case 1482: // vec_of_vec_value
581       case 1483: // vec_value_1_w_inf
582       case 1484: // vec_value_w_inf
583       case 1485: // symbol
584       case 1486: // number
585         value.move< string > (YY_MOVE (s.value));
586         break;
587 
588       case 865: // prior_eq_opt
589       case 870: // options_eq_opt
590         value.move< tuple<string,string,string,string> > (YY_MOVE (s.value));
591         break;
592 
593       case 1473: // vec_int_number
594       case 1474: // vec_int_elem
595       case 1475: // vec_int_1
596       case 1476: // vec_int
597         value.move< vector<int> > (YY_MOVE (s.value));
598         break;
599 
600       case 705: // named_var_1
601       case 706: // named_var
602         value.move< vector<pair<string,string>> > (YY_MOVE (s.value));
603         break;
604 
605       case 645: // SYMBOL_VEC
606       case 715: // change_type_var_list
607       case 1477: // vec_str_1
608       case 1478: // vec_str
609         value.move< vector<string> > (YY_MOVE (s.value));
610         break;
611 
612       default:
613         break;
614     }
615 
616     location = YY_MOVE (s.location);
617   }
618 
619   // by_type.
by_type()620   parser::by_type::by_type ()
621     : type (empty_symbol)
622   {}
623 
624 #if 201103L <= YY_CPLUSPLUS
by_type(by_type && that)625   parser::by_type::by_type (by_type&& that)
626     : type (that.type)
627   {
628     that.clear ();
629   }
630 #endif
631 
by_type(const by_type & that)632   parser::by_type::by_type (const by_type& that)
633     : type (that.type)
634   {}
635 
by_type(token_type t)636   parser::by_type::by_type (token_type t)
637     : type (yytranslate_ (t))
638   {}
639 
640   void
clear()641   parser::by_type::clear ()
642   {
643     type = empty_symbol;
644   }
645 
646   void
move(by_type & that)647   parser::by_type::move (by_type& that)
648   {
649     type = that.type;
650     that.clear ();
651   }
652 
653   int
type_get() const654   parser::by_type::type_get () const YY_NOEXCEPT
655   {
656     return type;
657   }
658 
659 
660   // by_state.
by_state()661   parser::by_state::by_state () YY_NOEXCEPT
662     : state (empty_state)
663   {}
664 
by_state(const by_state & that)665   parser::by_state::by_state (const by_state& that) YY_NOEXCEPT
666     : state (that.state)
667   {}
668 
669   void
clear()670   parser::by_state::clear () YY_NOEXCEPT
671   {
672     state = empty_state;
673   }
674 
675   void
move(by_state & that)676   parser::by_state::move (by_state& that)
677   {
678     state = that.state;
679     that.clear ();
680   }
681 
by_state(state_type s)682   parser::by_state::by_state (state_type s) YY_NOEXCEPT
683     : state (s)
684   {}
685 
686   parser::symbol_number_type
type_get() const687   parser::by_state::type_get () const YY_NOEXCEPT
688   {
689     if (state == empty_state)
690       return empty_symbol;
691     else
692       return yystos_[state];
693   }
694 
stack_symbol_type()695   parser::stack_symbol_type::stack_symbol_type ()
696   {}
697 
stack_symbol_type(YY_RVREF (stack_symbol_type)that)698   parser::stack_symbol_type::stack_symbol_type (YY_RVREF (stack_symbol_type) that)
699     : super_type (YY_MOVE (that.state), YY_MOVE (that.location))
700   {
701     switch (that.type_get ())
702     {
703       case 840: // prior_distribution
704       case 841: // prior_pdf
705         value.YY_MOVE_OR_COPY< PriorDistributions > (YY_MOVE (that.value));
706         break;
707 
708       case 714: // change_type_arg
709         value.YY_MOVE_OR_COPY< SymbolType > (YY_MOVE (that.value));
710         break;
711 
712       case 718: // expression
713       case 721: // expression_or_empty
714       case 745: // equation
715       case 748: // hand_side
716         value.YY_MOVE_OR_COPY< expr_t > (YY_MOVE (that.value));
717         break;
718 
719       case 1006: // calibration_range
720         value.YY_MOVE_OR_COPY< pair<expr_t,expr_t> > (YY_MOVE (that.value));
721         break;
722 
723       case 704: // named_var_elem
724       case 850: // subsamples_eq_opt
725       case 1471: // integer_range_w_inf
726         value.YY_MOVE_OR_COPY< pair<string,string> > (YY_MOVE (that.value));
727         break;
728 
729       case 88: // FALSE
730       case 89: // FLOAT_NUMBER
731       case 90: // DATES
732       case 138: // INT_NUMBER
733       case 235: // NAME
734       case 297: // QUOTED_STRING
735       case 350: // TEX_NAME
736       case 351: // TRUE
737       case 474: // ALPHA
738       case 475: // BETA
739       case 476: // ABAND
740       case 477: // NINV
741       case 478: // CMS
742       case 479: // NCMS
743       case 480: // CNUM
744       case 481: // GAMMA
745       case 482: // INV_GAMMA
746       case 483: // INV_GAMMA1
747       case 484: // INV_GAMMA2
748       case 485: // NORMAL
749       case 486: // UNIFORM
750       case 487: // EPS
751       case 488: // PDF
752       case 489: // FIG
753       case 490: // DR
754       case 491: // NONE
755       case 492: // PRIOR
756       case 493: // PRIOR_VARIANCE
757       case 494: // HESSIAN
758       case 495: // IDENTITY_MATRIX
759       case 496: // DIRICHLET
760       case 497: // DIAGONAL
761       case 498: // OPTIMAL
762       case 819: // signed_integer
763       case 820: // non_negative_number
764       case 821: // signed_number
765       case 822: // signed_inf
766       case 823: // signed_number_w_inf
767       case 824: // boolean
768       case 842: // date_str
769       case 843: // date_expr
770       case 876: // list_sub_sampling_option
771       case 877: // sub_sampling_options
772       case 904: // filename
773       case 905: // namespace_qualified_symbol
774       case 906: // namespace_qualified_filename
775       case 1469: // range
776       case 1470: // integer_range
777       case 1472: // signed_integer_range
778       case 1479: // vec_value_1
779       case 1480: // vec_value
780       case 1481: // vec_value_list
781       case 1482: // vec_of_vec_value
782       case 1483: // vec_value_1_w_inf
783       case 1484: // vec_value_w_inf
784       case 1485: // symbol
785       case 1486: // number
786         value.YY_MOVE_OR_COPY< string > (YY_MOVE (that.value));
787         break;
788 
789       case 865: // prior_eq_opt
790       case 870: // options_eq_opt
791         value.YY_MOVE_OR_COPY< tuple<string,string,string,string> > (YY_MOVE (that.value));
792         break;
793 
794       case 1473: // vec_int_number
795       case 1474: // vec_int_elem
796       case 1475: // vec_int_1
797       case 1476: // vec_int
798         value.YY_MOVE_OR_COPY< vector<int> > (YY_MOVE (that.value));
799         break;
800 
801       case 705: // named_var_1
802       case 706: // named_var
803         value.YY_MOVE_OR_COPY< vector<pair<string,string>> > (YY_MOVE (that.value));
804         break;
805 
806       case 645: // SYMBOL_VEC
807       case 715: // change_type_var_list
808       case 1477: // vec_str_1
809       case 1478: // vec_str
810         value.YY_MOVE_OR_COPY< vector<string> > (YY_MOVE (that.value));
811         break;
812 
813       default:
814         break;
815     }
816 
817 #if 201103L <= YY_CPLUSPLUS
818     // that is emptied.
819     that.state = empty_state;
820 #endif
821   }
822 
stack_symbol_type(state_type s,YY_MOVE_REF (symbol_type)that)823   parser::stack_symbol_type::stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) that)
824     : super_type (s, YY_MOVE (that.location))
825   {
826     switch (that.type_get ())
827     {
828       case 840: // prior_distribution
829       case 841: // prior_pdf
830         value.move< PriorDistributions > (YY_MOVE (that.value));
831         break;
832 
833       case 714: // change_type_arg
834         value.move< SymbolType > (YY_MOVE (that.value));
835         break;
836 
837       case 718: // expression
838       case 721: // expression_or_empty
839       case 745: // equation
840       case 748: // hand_side
841         value.move< expr_t > (YY_MOVE (that.value));
842         break;
843 
844       case 1006: // calibration_range
845         value.move< pair<expr_t,expr_t> > (YY_MOVE (that.value));
846         break;
847 
848       case 704: // named_var_elem
849       case 850: // subsamples_eq_opt
850       case 1471: // integer_range_w_inf
851         value.move< pair<string,string> > (YY_MOVE (that.value));
852         break;
853 
854       case 88: // FALSE
855       case 89: // FLOAT_NUMBER
856       case 90: // DATES
857       case 138: // INT_NUMBER
858       case 235: // NAME
859       case 297: // QUOTED_STRING
860       case 350: // TEX_NAME
861       case 351: // TRUE
862       case 474: // ALPHA
863       case 475: // BETA
864       case 476: // ABAND
865       case 477: // NINV
866       case 478: // CMS
867       case 479: // NCMS
868       case 480: // CNUM
869       case 481: // GAMMA
870       case 482: // INV_GAMMA
871       case 483: // INV_GAMMA1
872       case 484: // INV_GAMMA2
873       case 485: // NORMAL
874       case 486: // UNIFORM
875       case 487: // EPS
876       case 488: // PDF
877       case 489: // FIG
878       case 490: // DR
879       case 491: // NONE
880       case 492: // PRIOR
881       case 493: // PRIOR_VARIANCE
882       case 494: // HESSIAN
883       case 495: // IDENTITY_MATRIX
884       case 496: // DIRICHLET
885       case 497: // DIAGONAL
886       case 498: // OPTIMAL
887       case 819: // signed_integer
888       case 820: // non_negative_number
889       case 821: // signed_number
890       case 822: // signed_inf
891       case 823: // signed_number_w_inf
892       case 824: // boolean
893       case 842: // date_str
894       case 843: // date_expr
895       case 876: // list_sub_sampling_option
896       case 877: // sub_sampling_options
897       case 904: // filename
898       case 905: // namespace_qualified_symbol
899       case 906: // namespace_qualified_filename
900       case 1469: // range
901       case 1470: // integer_range
902       case 1472: // signed_integer_range
903       case 1479: // vec_value_1
904       case 1480: // vec_value
905       case 1481: // vec_value_list
906       case 1482: // vec_of_vec_value
907       case 1483: // vec_value_1_w_inf
908       case 1484: // vec_value_w_inf
909       case 1485: // symbol
910       case 1486: // number
911         value.move< string > (YY_MOVE (that.value));
912         break;
913 
914       case 865: // prior_eq_opt
915       case 870: // options_eq_opt
916         value.move< tuple<string,string,string,string> > (YY_MOVE (that.value));
917         break;
918 
919       case 1473: // vec_int_number
920       case 1474: // vec_int_elem
921       case 1475: // vec_int_1
922       case 1476: // vec_int
923         value.move< vector<int> > (YY_MOVE (that.value));
924         break;
925 
926       case 705: // named_var_1
927       case 706: // named_var
928         value.move< vector<pair<string,string>> > (YY_MOVE (that.value));
929         break;
930 
931       case 645: // SYMBOL_VEC
932       case 715: // change_type_var_list
933       case 1477: // vec_str_1
934       case 1478: // vec_str
935         value.move< vector<string> > (YY_MOVE (that.value));
936         break;
937 
938       default:
939         break;
940     }
941 
942     // that is emptied.
943     that.type = empty_symbol;
944   }
945 
946 #if YY_CPLUSPLUS < 201103L
947   parser::stack_symbol_type&
operator =(stack_symbol_type & that)948   parser::stack_symbol_type::operator= (stack_symbol_type& that)
949   {
950     state = that.state;
951     switch (that.type_get ())
952     {
953       case 840: // prior_distribution
954       case 841: // prior_pdf
955         value.move< PriorDistributions > (that.value);
956         break;
957 
958       case 714: // change_type_arg
959         value.move< SymbolType > (that.value);
960         break;
961 
962       case 718: // expression
963       case 721: // expression_or_empty
964       case 745: // equation
965       case 748: // hand_side
966         value.move< expr_t > (that.value);
967         break;
968 
969       case 1006: // calibration_range
970         value.move< pair<expr_t,expr_t> > (that.value);
971         break;
972 
973       case 704: // named_var_elem
974       case 850: // subsamples_eq_opt
975       case 1471: // integer_range_w_inf
976         value.move< pair<string,string> > (that.value);
977         break;
978 
979       case 88: // FALSE
980       case 89: // FLOAT_NUMBER
981       case 90: // DATES
982       case 138: // INT_NUMBER
983       case 235: // NAME
984       case 297: // QUOTED_STRING
985       case 350: // TEX_NAME
986       case 351: // TRUE
987       case 474: // ALPHA
988       case 475: // BETA
989       case 476: // ABAND
990       case 477: // NINV
991       case 478: // CMS
992       case 479: // NCMS
993       case 480: // CNUM
994       case 481: // GAMMA
995       case 482: // INV_GAMMA
996       case 483: // INV_GAMMA1
997       case 484: // INV_GAMMA2
998       case 485: // NORMAL
999       case 486: // UNIFORM
1000       case 487: // EPS
1001       case 488: // PDF
1002       case 489: // FIG
1003       case 490: // DR
1004       case 491: // NONE
1005       case 492: // PRIOR
1006       case 493: // PRIOR_VARIANCE
1007       case 494: // HESSIAN
1008       case 495: // IDENTITY_MATRIX
1009       case 496: // DIRICHLET
1010       case 497: // DIAGONAL
1011       case 498: // OPTIMAL
1012       case 819: // signed_integer
1013       case 820: // non_negative_number
1014       case 821: // signed_number
1015       case 822: // signed_inf
1016       case 823: // signed_number_w_inf
1017       case 824: // boolean
1018       case 842: // date_str
1019       case 843: // date_expr
1020       case 876: // list_sub_sampling_option
1021       case 877: // sub_sampling_options
1022       case 904: // filename
1023       case 905: // namespace_qualified_symbol
1024       case 906: // namespace_qualified_filename
1025       case 1469: // range
1026       case 1470: // integer_range
1027       case 1472: // signed_integer_range
1028       case 1479: // vec_value_1
1029       case 1480: // vec_value
1030       case 1481: // vec_value_list
1031       case 1482: // vec_of_vec_value
1032       case 1483: // vec_value_1_w_inf
1033       case 1484: // vec_value_w_inf
1034       case 1485: // symbol
1035       case 1486: // number
1036         value.move< string > (that.value);
1037         break;
1038 
1039       case 865: // prior_eq_opt
1040       case 870: // options_eq_opt
1041         value.move< tuple<string,string,string,string> > (that.value);
1042         break;
1043 
1044       case 1473: // vec_int_number
1045       case 1474: // vec_int_elem
1046       case 1475: // vec_int_1
1047       case 1476: // vec_int
1048         value.move< vector<int> > (that.value);
1049         break;
1050 
1051       case 705: // named_var_1
1052       case 706: // named_var
1053         value.move< vector<pair<string,string>> > (that.value);
1054         break;
1055 
1056       case 645: // SYMBOL_VEC
1057       case 715: // change_type_var_list
1058       case 1477: // vec_str_1
1059       case 1478: // vec_str
1060         value.move< vector<string> > (that.value);
1061         break;
1062 
1063       default:
1064         break;
1065     }
1066 
1067     location = that.location;
1068     // that is emptied.
1069     that.state = empty_state;
1070     return *this;
1071   }
1072 #endif
1073 
1074   template <typename Base>
1075   void
yy_destroy_(const char * yymsg,basic_symbol<Base> & yysym) const1076   parser::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
1077   {
1078     if (yymsg)
1079       YY_SYMBOL_PRINT (yymsg, yysym);
1080   }
1081 
1082 #if YYDEBUG
1083   template <typename Base>
1084   void
yy_print_(std::ostream & yyo,const basic_symbol<Base> & yysym) const1085   parser::yy_print_ (std::ostream& yyo,
1086                                      const basic_symbol<Base>& yysym) const
1087   {
1088     std::ostream& yyoutput = yyo;
1089     YYUSE (yyoutput);
1090     symbol_number_type yytype = yysym.type_get ();
1091 #if defined __GNUC__ && ! defined __clang__ && ! defined __ICC && __GNUC__ * 100 + __GNUC_MINOR__ <= 408
1092     // Avoid a (spurious) G++ 4.8 warning about "array subscript is
1093     // below array bounds".
1094     if (yysym.empty ())
1095       std::abort ();
1096 #endif
1097     yyo << (yytype < yyntokens_ ? "token" : "nterm")
1098         << ' ' << yytname_[yytype] << " ("
1099         << yysym.location << ": ";
1100     YYUSE (yytype);
1101     yyo << ')';
1102   }
1103 #endif
1104 
1105   void
yypush_(const char * m,YY_MOVE_REF (stack_symbol_type)sym)1106   parser::yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym)
1107   {
1108     if (m)
1109       YY_SYMBOL_PRINT (m, sym);
1110     yystack_.push (YY_MOVE (sym));
1111   }
1112 
1113   void
yypush_(const char * m,state_type s,YY_MOVE_REF (symbol_type)sym)1114   parser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym)
1115   {
1116 #if 201103L <= YY_CPLUSPLUS
1117     yypush_ (m, stack_symbol_type (s, std::move (sym)));
1118 #else
1119     stack_symbol_type ss (s, sym);
1120     yypush_ (m, ss);
1121 #endif
1122   }
1123 
1124   void
yypop_(int n)1125   parser::yypop_ (int n)
1126   {
1127     yystack_.pop (n);
1128   }
1129 
1130 #if YYDEBUG
1131   std::ostream&
debug_stream() const1132   parser::debug_stream () const
1133   {
1134     return *yycdebug_;
1135   }
1136 
1137   void
set_debug_stream(std::ostream & o)1138   parser::set_debug_stream (std::ostream& o)
1139   {
1140     yycdebug_ = &o;
1141   }
1142 
1143 
1144   parser::debug_level_type
debug_level() const1145   parser::debug_level () const
1146   {
1147     return yydebug_;
1148   }
1149 
1150   void
set_debug_level(debug_level_type l)1151   parser::set_debug_level (debug_level_type l)
1152   {
1153     yydebug_ = l;
1154   }
1155 #endif // YYDEBUG
1156 
1157   parser::state_type
yy_lr_goto_state_(state_type yystate,int yysym)1158   parser::yy_lr_goto_state_ (state_type yystate, int yysym)
1159   {
1160     int yyr = yypgoto_[yysym - yyntokens_] + yystate;
1161     if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
1162       return yytable_[yyr];
1163     else
1164       return yydefgoto_[yysym - yyntokens_];
1165   }
1166 
1167   bool
yy_pact_value_is_default_(int yyvalue)1168   parser::yy_pact_value_is_default_ (int yyvalue)
1169   {
1170     return yyvalue == yypact_ninf_;
1171   }
1172 
1173   bool
yy_table_value_is_error_(int yyvalue)1174   parser::yy_table_value_is_error_ (int yyvalue)
1175   {
1176     return yyvalue == yytable_ninf_;
1177   }
1178 
1179   int
operator ()()1180   parser::operator() ()
1181   {
1182     return parse ();
1183   }
1184 
1185   int
parse()1186   parser::parse ()
1187   {
1188     // State.
1189     int yyn;
1190     /// Length of the RHS of the rule being reduced.
1191     int yylen = 0;
1192 
1193     // Error handling.
1194     int yynerrs_ = 0;
1195     int yyerrstatus_ = 0;
1196 
1197     /// The lookahead symbol.
1198     symbol_type yyla;
1199 
1200     /// The locations where the error started and ended.
1201     stack_symbol_type yyerror_range[3];
1202 
1203     /// The return value of parse ().
1204     int yyresult;
1205 
1206 #if YY_EXCEPTIONS
1207     try
1208 #endif // YY_EXCEPTIONS
1209       {
1210     YYCDEBUG << "Starting parse\n";
1211 
1212 
1213     // User initialization code.
1214 #line 43 "DynareBison.yy" // lalr1.cc:788
1215 {
1216   // Initialize the locations' filenames to the filename maintained by the lexer
1217   yyla.location.begin.filename = yyla.location.end.filename = &(driver.lexer->filename);
1218 }
1219 
1220 #line 1221 "DynareBison.cc" // lalr1.cc:788
1221 
1222     /* Initialize the stack.  The initial state will be set in
1223        yynewstate, since the latter expects the semantical and the
1224        location values to have been already stored, initialize these
1225        stacks with a primary value.  */
1226     yystack_.clear ();
1227     yypush_ (YY_NULLPTR, 0, YY_MOVE (yyla));
1228 
1229   /*-----------------------------------------------.
1230   | yynewstate -- push a new symbol on the stack.  |
1231   `-----------------------------------------------*/
1232   yynewstate:
1233     YYCDEBUG << "Entering state " << yystack_[0].state << '\n';
1234 
1235     // Accept?
1236     if (yystack_[0].state == yyfinal_)
1237       YYACCEPT;
1238 
1239     goto yybackup;
1240 
1241 
1242   /*-----------.
1243   | yybackup.  |
1244   `-----------*/
1245   yybackup:
1246     // Try to take a decision without lookahead.
1247     yyn = yypact_[yystack_[0].state];
1248     if (yy_pact_value_is_default_ (yyn))
1249       goto yydefault;
1250 
1251     // Read a lookahead token.
1252     if (yyla.empty ())
1253       {
1254         YYCDEBUG << "Reading a token: ";
1255 #if YY_EXCEPTIONS
1256         try
1257 #endif // YY_EXCEPTIONS
1258           {
1259             yyla.type = yytranslate_ (yylex (&yyla.value, &yyla.location, driver));
1260           }
1261 #if YY_EXCEPTIONS
1262         catch (const syntax_error& yyexc)
1263           {
1264             YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
1265             error (yyexc);
1266             goto yyerrlab1;
1267           }
1268 #endif // YY_EXCEPTIONS
1269       }
1270     YY_SYMBOL_PRINT ("Next token is", yyla);
1271 
1272     /* If the proper action on seeing token YYLA.TYPE is to reduce or
1273        to detect an error, take that action.  */
1274     yyn += yyla.type_get ();
1275     if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
1276       goto yydefault;
1277 
1278     // Reduce or error.
1279     yyn = yytable_[yyn];
1280     if (yyn <= 0)
1281       {
1282         if (yy_table_value_is_error_ (yyn))
1283           goto yyerrlab;
1284         yyn = -yyn;
1285         goto yyreduce;
1286       }
1287 
1288     // Count tokens shifted since error; after three, turn off error status.
1289     if (yyerrstatus_)
1290       --yyerrstatus_;
1291 
1292     // Shift the lookahead token.
1293     yypush_ ("Shifting", yyn, YY_MOVE (yyla));
1294     goto yynewstate;
1295 
1296 
1297   /*-----------------------------------------------------------.
1298   | yydefault -- do the default action for the current state.  |
1299   `-----------------------------------------------------------*/
1300   yydefault:
1301     yyn = yydefact_[yystack_[0].state];
1302     if (yyn == 0)
1303       goto yyerrlab;
1304     goto yyreduce;
1305 
1306 
1307   /*-----------------------------.
1308   | yyreduce -- do a reduction.  |
1309   `-----------------------------*/
1310   yyreduce:
1311     yylen = yyr2_[yyn];
1312     {
1313       stack_symbol_type yylhs;
1314       yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
1315       /* Variants are always initialized to an empty instance of the
1316          correct type. The default '$$ = $1' action is NOT applied
1317          when using variants.  */
1318       switch (yyr1_[yyn])
1319     {
1320       case 840: // prior_distribution
1321       case 841: // prior_pdf
1322         yylhs.value.emplace< PriorDistributions > ();
1323         break;
1324 
1325       case 714: // change_type_arg
1326         yylhs.value.emplace< SymbolType > ();
1327         break;
1328 
1329       case 718: // expression
1330       case 721: // expression_or_empty
1331       case 745: // equation
1332       case 748: // hand_side
1333         yylhs.value.emplace< expr_t > ();
1334         break;
1335 
1336       case 1006: // calibration_range
1337         yylhs.value.emplace< pair<expr_t,expr_t> > ();
1338         break;
1339 
1340       case 704: // named_var_elem
1341       case 850: // subsamples_eq_opt
1342       case 1471: // integer_range_w_inf
1343         yylhs.value.emplace< pair<string,string> > ();
1344         break;
1345 
1346       case 88: // FALSE
1347       case 89: // FLOAT_NUMBER
1348       case 90: // DATES
1349       case 138: // INT_NUMBER
1350       case 235: // NAME
1351       case 297: // QUOTED_STRING
1352       case 350: // TEX_NAME
1353       case 351: // TRUE
1354       case 474: // ALPHA
1355       case 475: // BETA
1356       case 476: // ABAND
1357       case 477: // NINV
1358       case 478: // CMS
1359       case 479: // NCMS
1360       case 480: // CNUM
1361       case 481: // GAMMA
1362       case 482: // INV_GAMMA
1363       case 483: // INV_GAMMA1
1364       case 484: // INV_GAMMA2
1365       case 485: // NORMAL
1366       case 486: // UNIFORM
1367       case 487: // EPS
1368       case 488: // PDF
1369       case 489: // FIG
1370       case 490: // DR
1371       case 491: // NONE
1372       case 492: // PRIOR
1373       case 493: // PRIOR_VARIANCE
1374       case 494: // HESSIAN
1375       case 495: // IDENTITY_MATRIX
1376       case 496: // DIRICHLET
1377       case 497: // DIAGONAL
1378       case 498: // OPTIMAL
1379       case 819: // signed_integer
1380       case 820: // non_negative_number
1381       case 821: // signed_number
1382       case 822: // signed_inf
1383       case 823: // signed_number_w_inf
1384       case 824: // boolean
1385       case 842: // date_str
1386       case 843: // date_expr
1387       case 876: // list_sub_sampling_option
1388       case 877: // sub_sampling_options
1389       case 904: // filename
1390       case 905: // namespace_qualified_symbol
1391       case 906: // namespace_qualified_filename
1392       case 1469: // range
1393       case 1470: // integer_range
1394       case 1472: // signed_integer_range
1395       case 1479: // vec_value_1
1396       case 1480: // vec_value
1397       case 1481: // vec_value_list
1398       case 1482: // vec_of_vec_value
1399       case 1483: // vec_value_1_w_inf
1400       case 1484: // vec_value_w_inf
1401       case 1485: // symbol
1402       case 1486: // number
1403         yylhs.value.emplace< string > ();
1404         break;
1405 
1406       case 865: // prior_eq_opt
1407       case 870: // options_eq_opt
1408         yylhs.value.emplace< tuple<string,string,string,string> > ();
1409         break;
1410 
1411       case 1473: // vec_int_number
1412       case 1474: // vec_int_elem
1413       case 1475: // vec_int_1
1414       case 1476: // vec_int
1415         yylhs.value.emplace< vector<int> > ();
1416         break;
1417 
1418       case 705: // named_var_1
1419       case 706: // named_var
1420         yylhs.value.emplace< vector<pair<string,string>> > ();
1421         break;
1422 
1423       case 645: // SYMBOL_VEC
1424       case 715: // change_type_var_list
1425       case 1477: // vec_str_1
1426       case 1478: // vec_str
1427         yylhs.value.emplace< vector<string> > ();
1428         break;
1429 
1430       default:
1431         break;
1432     }
1433 
1434 
1435       // Default location.
1436       {
1437         stack_type::slice range (yystack_, yylen);
1438         YYLLOC_DEFAULT (yylhs.location, range, yylen);
1439         yyerror_range[1].location = yylhs.location;
1440       }
1441 
1442       // Perform the reduction.
1443       YY_REDUCE_PRINT (yyn);
1444 #if YY_EXCEPTIONS
1445       try
1446 #endif // YY_EXCEPTIONS
1447         {
1448           switch (yyn)
1449             {
1450   case 117:
1451 #line 318 "DynareBison.yy" // lalr1.cc:919
1452     { driver.dsample(yystack_[1].value.as < string > ()); }
1453 #line 1454 "DynareBison.cc" // lalr1.cc:919
1454     break;
1455 
1456   case 118:
1457 #line 320 "DynareBison.yy" // lalr1.cc:919
1458     { driver.dsample(yystack_[2].value.as < string > (), yystack_[1].value.as < string > ()); }
1459 #line 1460 "DynareBison.cc" // lalr1.cc:919
1460     break;
1461 
1462   case 119:
1463 #line 323 "DynareBison.yy" // lalr1.cc:919
1464     { driver.rplot(); }
1465 #line 1466 "DynareBison.cc" // lalr1.cc:919
1466     break;
1467 
1468   case 120:
1469 #line 325 "DynareBison.yy" // lalr1.cc:919
1470     { driver.begin_trend(); }
1471 #line 1472 "DynareBison.cc" // lalr1.cc:919
1472     break;
1473 
1474   case 121:
1475 #line 326 "DynareBison.yy" // lalr1.cc:919
1476     { driver.end_trend_var(yystack_[3].value.as < expr_t > ()); }
1477 #line 1478 "DynareBison.cc" // lalr1.cc:919
1478     break;
1479 
1480   case 122:
1481 #line 330 "DynareBison.yy" // lalr1.cc:919
1482     { driver.declare_trend_var(false, yystack_[0].value.as < string > ()); }
1483 #line 1484 "DynareBison.cc" // lalr1.cc:919
1484     break;
1485 
1486   case 123:
1487 #line 332 "DynareBison.yy" // lalr1.cc:919
1488     { driver.declare_trend_var(false, yystack_[0].value.as < string > ()); }
1489 #line 1490 "DynareBison.cc" // lalr1.cc:919
1490     break;
1491 
1492   case 124:
1493 #line 334 "DynareBison.yy" // lalr1.cc:919
1494     { driver.declare_trend_var(false, yystack_[0].value.as < string > ()); }
1495 #line 1496 "DynareBison.cc" // lalr1.cc:919
1496     break;
1497 
1498   case 125:
1499 #line 336 "DynareBison.yy" // lalr1.cc:919
1500     { driver.declare_trend_var(false, yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1501 #line 1502 "DynareBison.cc" // lalr1.cc:919
1502     break;
1503 
1504   case 126:
1505 #line 338 "DynareBison.yy" // lalr1.cc:919
1506     { driver.declare_trend_var(false, yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1507 #line 1508 "DynareBison.cc" // lalr1.cc:919
1508     break;
1509 
1510   case 127:
1511 #line 340 "DynareBison.yy" // lalr1.cc:919
1512     { driver.declare_trend_var(false, yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1513 #line 1514 "DynareBison.cc" // lalr1.cc:919
1514     break;
1515 
1516   case 128:
1517 #line 343 "DynareBison.yy" // lalr1.cc:919
1518     { driver.begin_trend(); }
1519 #line 1520 "DynareBison.cc" // lalr1.cc:919
1520     break;
1521 
1522   case 129:
1523 #line 344 "DynareBison.yy" // lalr1.cc:919
1524     { driver.end_trend_var(yystack_[3].value.as < expr_t > ()); }
1525 #line 1526 "DynareBison.cc" // lalr1.cc:919
1526     break;
1527 
1528   case 130:
1529 #line 348 "DynareBison.yy" // lalr1.cc:919
1530     { driver.declare_trend_var(true, yystack_[0].value.as < string > ()); }
1531 #line 1532 "DynareBison.cc" // lalr1.cc:919
1532     break;
1533 
1534   case 131:
1535 #line 350 "DynareBison.yy" // lalr1.cc:919
1536     { driver.declare_trend_var(true, yystack_[0].value.as < string > ()); }
1537 #line 1538 "DynareBison.cc" // lalr1.cc:919
1538     break;
1539 
1540   case 132:
1541 #line 352 "DynareBison.yy" // lalr1.cc:919
1542     { driver.declare_trend_var(true, yystack_[0].value.as < string > ()); }
1543 #line 1544 "DynareBison.cc" // lalr1.cc:919
1544     break;
1545 
1546   case 133:
1547 #line 354 "DynareBison.yy" // lalr1.cc:919
1548     { driver.declare_trend_var(true, yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1549 #line 1550 "DynareBison.cc" // lalr1.cc:919
1550     break;
1551 
1552   case 134:
1553 #line 356 "DynareBison.yy" // lalr1.cc:919
1554     { driver.declare_trend_var(true, yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1555 #line 1556 "DynareBison.cc" // lalr1.cc:919
1556     break;
1557 
1558   case 135:
1559 #line 358 "DynareBison.yy" // lalr1.cc:919
1560     { driver.declare_trend_var(true, yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1561 #line 1562 "DynareBison.cc" // lalr1.cc:919
1562     break;
1563 
1564   case 137:
1565 #line 362 "DynareBison.yy" // lalr1.cc:919
1566     { driver.begin_trend(); }
1567 #line 1568 "DynareBison.cc" // lalr1.cc:919
1568     break;
1569 
1570   case 138:
1571 #line 363 "DynareBison.yy" // lalr1.cc:919
1572     { driver.end_nonstationary_var(false, yystack_[3].value.as < expr_t > ()); }
1573 #line 1574 "DynareBison.cc" // lalr1.cc:919
1574     break;
1575 
1576   case 139:
1577 #line 364 "DynareBison.yy" // lalr1.cc:919
1578     { driver.begin_trend(); }
1579 #line 1580 "DynareBison.cc" // lalr1.cc:919
1580     break;
1581 
1582   case 140:
1583 #line 365 "DynareBison.yy" // lalr1.cc:919
1584     { driver.end_nonstationary_var(true, yystack_[3].value.as < expr_t > ()); }
1585 #line 1586 "DynareBison.cc" // lalr1.cc:919
1586     break;
1587 
1588   case 141:
1589 #line 368 "DynareBison.yy" // lalr1.cc:919
1590     { driver.var_model(); }
1591 #line 1592 "DynareBison.cc" // lalr1.cc:919
1592     break;
1593 
1594   case 142:
1595 #line 369 "DynareBison.yy" // lalr1.cc:919
1596     { driver.var_model(); }
1597 #line 1598 "DynareBison.cc" // lalr1.cc:919
1598     break;
1599 
1600   case 143:
1601 #line 373 "DynareBison.yy" // lalr1.cc:919
1602     { driver.declare_var_endogenous(yystack_[0].value.as < string > ()); }
1603 #line 1604 "DynareBison.cc" // lalr1.cc:919
1604     break;
1605 
1606   case 144:
1607 #line 375 "DynareBison.yy" // lalr1.cc:919
1608     { driver.declare_var_endogenous(yystack_[0].value.as < string > ()); }
1609 #line 1610 "DynareBison.cc" // lalr1.cc:919
1610     break;
1611 
1612   case 145:
1613 #line 377 "DynareBison.yy" // lalr1.cc:919
1614     { driver.declare_var_endogenous(yystack_[0].value.as < string > ()); }
1615 #line 1616 "DynareBison.cc" // lalr1.cc:919
1616     break;
1617 
1618   case 151:
1619 #line 389 "DynareBison.yy" // lalr1.cc:919
1620     { driver.trend_component_model(); }
1621 #line 1622 "DynareBison.cc" // lalr1.cc:919
1622     break;
1623 
1624   case 157:
1625 #line 401 "DynareBison.yy" // lalr1.cc:919
1626     { driver.begin_pac_model(); }
1627 #line 1628 "DynareBison.cc" // lalr1.cc:919
1628     break;
1629 
1630   case 158:
1631 #line 401 "DynareBison.yy" // lalr1.cc:919
1632     { driver.pac_model(); }
1633 #line 1634 "DynareBison.cc" // lalr1.cc:919
1634     break;
1635 
1636   case 166:
1637 #line 415 "DynareBison.yy" // lalr1.cc:919
1638     { driver.var_expectation_model(); }
1639 #line 1640 "DynareBison.cc" // lalr1.cc:919
1640     break;
1641 
1642   case 169:
1643 #line 424 "DynareBison.yy" // lalr1.cc:919
1644     { driver.option_str("variable", yystack_[0].value.as < string > ()); }
1645 #line 1646 "DynareBison.cc" // lalr1.cc:919
1646     break;
1647 
1648   case 170:
1649 #line 425 "DynareBison.yy" // lalr1.cc:919
1650     { driver.begin_model(); }
1651 #line 1652 "DynareBison.cc" // lalr1.cc:919
1652     break;
1653 
1654   case 171:
1655 #line 426 "DynareBison.yy" // lalr1.cc:919
1656     {
1657                                  driver.var_expectation_model_expression = yystack_[0].value.as < expr_t > ();
1658                                  driver.reset_data_tree();
1659                                }
1660 #line 1661 "DynareBison.cc" // lalr1.cc:919
1661     break;
1662 
1663   case 172:
1664 #line 431 "DynareBison.yy" // lalr1.cc:919
1665     { driver.option_str("auxiliary_model_name", yystack_[0].value.as < string > ()); }
1666 #line 1667 "DynareBison.cc" // lalr1.cc:919
1667     break;
1668 
1669   case 173:
1670 #line 433 "DynareBison.yy" // lalr1.cc:919
1671     { driver.option_num("horizon", yystack_[0].value.as < string > ()); }
1672 #line 1673 "DynareBison.cc" // lalr1.cc:919
1673     break;
1674 
1675   case 174:
1676 #line 435 "DynareBison.yy" // lalr1.cc:919
1677     { driver.option_num("horizon", "[ " + yystack_[0].value.as < pair<string,string> > ().first + ' ' + yystack_[0].value.as < pair<string,string> > ().second + " ]"); }
1678 #line 1679 "DynareBison.cc" // lalr1.cc:919
1679     break;
1680 
1681   case 175:
1682 #line 437 "DynareBison.yy" // lalr1.cc:919
1683     { driver.option_str("model_name", yystack_[0].value.as < string > ()); }
1684 #line 1685 "DynareBison.cc" // lalr1.cc:919
1685     break;
1686 
1687   case 176:
1688 #line 439 "DynareBison.yy" // lalr1.cc:919
1689     { driver.var_expectation_model_discount = yystack_[0].value.as < expr_t > (); }
1690 #line 1691 "DynareBison.cc" // lalr1.cc:919
1691     break;
1692 
1693   case 177:
1694 #line 442 "DynareBison.yy" // lalr1.cc:919
1695     { driver.begin_VAR_restrictions(); }
1696 #line 1697 "DynareBison.cc" // lalr1.cc:919
1697     break;
1698 
1699   case 178:
1700 #line 443 "DynareBison.yy" // lalr1.cc:919
1701     { driver.end_VAR_restrictions(yystack_[6].value.as < string > ()); }
1702 #line 1703 "DynareBison.cc" // lalr1.cc:919
1703     break;
1704 
1705   case 181:
1706 #line 451 "DynareBison.yy" // lalr1.cc:919
1707     { driver.add_VAR_exclusion_restriction(yystack_[2].value.as < string > ()); }
1708 #line 1709 "DynareBison.cc" // lalr1.cc:919
1709     break;
1710 
1711   case 182:
1712 #line 453 "DynareBison.yy" // lalr1.cc:919
1713     { driver.add_VAR_restriction_equation_or_crossequation_final(yystack_[3].value.as < string > ()); }
1714 #line 1715 "DynareBison.cc" // lalr1.cc:919
1715     break;
1716 
1717   case 183:
1718 #line 455 "DynareBison.yy" // lalr1.cc:919
1719     { driver.add_VAR_restriction_equation_or_crossequation_final(""); }
1720 #line 1721 "DynareBison.cc" // lalr1.cc:919
1721     break;
1722 
1723   case 184:
1724 #line 457 "DynareBison.yy" // lalr1.cc:919
1725     { driver.add_VAR_covariance_number_restriction(yystack_[6].value.as < string > (), yystack_[4].value.as < string > (), yystack_[1].value.as < string > ()); }
1726 #line 1727 "DynareBison.cc" // lalr1.cc:919
1727     break;
1728 
1729   case 185:
1730 #line 459 "DynareBison.yy" // lalr1.cc:919
1731     { driver.add_VAR_covariance_pair_restriction(yystack_[10].value.as < string > (), yystack_[8].value.as < string > (), yystack_[4].value.as < string > (), yystack_[2].value.as < string > ()); }
1732 #line 1733 "DynareBison.cc" // lalr1.cc:919
1733     break;
1734 
1735   case 186:
1736 #line 463 "DynareBison.yy" // lalr1.cc:919
1737     { driver.add_VAR_restriction_equation_or_crossequation(yystack_[0].value.as < string > ()); }
1738 #line 1739 "DynareBison.cc" // lalr1.cc:919
1739     break;
1740 
1741   case 187:
1742 #line 465 "DynareBison.yy" // lalr1.cc:919
1743     {
1744                                   driver.multiply_arg2_by_neg_one();
1745                                   driver.add_VAR_restriction_equation_or_crossequation(yystack_[0].value.as < string > ());
1746                                 }
1747 #line 1748 "DynareBison.cc" // lalr1.cc:919
1748     break;
1749 
1750   case 188:
1751 #line 470 "DynareBison.yy" // lalr1.cc:919
1752     { driver.add_VAR_restriction_equation_or_crossequation(yystack_[0].value.as < string > ()); }
1753 #line 1754 "DynareBison.cc" // lalr1.cc:919
1754     break;
1755 
1756   case 189:
1757 #line 474 "DynareBison.yy" // lalr1.cc:919
1758     { driver.add_VAR_restriction_eq_or_crosseq(yystack_[0].value.as < expr_t > ()); }
1759 #line 1760 "DynareBison.cc" // lalr1.cc:919
1760     break;
1761 
1762   case 190:
1763 #line 476 "DynareBison.yy" // lalr1.cc:919
1764     {
1765                                        expr_t one = driver.add_non_negative_constant("1");
1766                                        driver.add_VAR_restriction_eq_or_crosseq(driver.add_divide(one, yystack_[0].value.as < expr_t > ()));
1767                                      }
1768 #line 1769 "DynareBison.cc" // lalr1.cc:919
1769     break;
1770 
1771   case 191:
1772 #line 483 "DynareBison.yy" // lalr1.cc:919
1773     { driver.add_VAR_restriction_coeff(yystack_[3].value.as < string > (), "", yystack_[1].value.as < string > ()); }
1774 #line 1775 "DynareBison.cc" // lalr1.cc:919
1775     break;
1776 
1777   case 192:
1778 #line 488 "DynareBison.yy" // lalr1.cc:919
1779     { driver.add_VAR_restriction_equation_or_crossequation(yystack_[0].value.as < string > ()); }
1780 #line 1781 "DynareBison.cc" // lalr1.cc:919
1781     break;
1782 
1783   case 193:
1784 #line 490 "DynareBison.yy" // lalr1.cc:919
1785     {
1786                                        driver.multiply_arg2_by_neg_one();
1787                                        driver.add_VAR_restriction_equation_or_crossequation(yystack_[0].value.as < string > ());
1788                                      }
1789 #line 1790 "DynareBison.cc" // lalr1.cc:919
1790     break;
1791 
1792   case 194:
1793 #line 495 "DynareBison.yy" // lalr1.cc:919
1794     { driver.add_VAR_restriction_equation_or_crossequation(yystack_[0].value.as < string > ()); }
1795 #line 1796 "DynareBison.cc" // lalr1.cc:919
1796     break;
1797 
1798   case 195:
1799 #line 499 "DynareBison.yy" // lalr1.cc:919
1800     { driver.add_VAR_restriction_eq_or_crosseq(yystack_[0].value.as < expr_t > ()); }
1801 #line 1802 "DynareBison.cc" // lalr1.cc:919
1802     break;
1803 
1804   case 196:
1805 #line 501 "DynareBison.yy" // lalr1.cc:919
1806     {
1807                                             expr_t one = driver.add_non_negative_constant("1");
1808                                             driver.add_VAR_restriction_eq_or_crosseq(driver.add_divide(one, yystack_[0].value.as < expr_t > ()));
1809                                           }
1810 #line 1811 "DynareBison.cc" // lalr1.cc:919
1811     break;
1812 
1813   case 197:
1814 #line 508 "DynareBison.yy" // lalr1.cc:919
1815     { driver.add_VAR_restriction_coeff(yystack_[5].value.as < string > (), yystack_[3].value.as < string > (), yystack_[1].value.as < string > ()); }
1816 #line 1817 "DynareBison.cc" // lalr1.cc:919
1817     break;
1818 
1819   case 200:
1820 #line 516 "DynareBison.yy" // lalr1.cc:919
1821     { driver.add_VAR_restriction_exclusion_equation(yystack_[3].value.as < string > ()); }
1822 #line 1823 "DynareBison.cc" // lalr1.cc:919
1823     break;
1824 
1825   case 201:
1826 #line 520 "DynareBison.yy" // lalr1.cc:919
1827     { driver.run_var_estimation(); }
1828 #line 1829 "DynareBison.cc" // lalr1.cc:919
1829     break;
1830 
1831   case 206:
1832 #line 532 "DynareBison.yy" // lalr1.cc:919
1833     { driver.declare_nonstationary_var(yystack_[0].value.as < string > ()); }
1834 #line 1835 "DynareBison.cc" // lalr1.cc:919
1835     break;
1836 
1837   case 207:
1838 #line 534 "DynareBison.yy" // lalr1.cc:919
1839     { driver.declare_nonstationary_var(yystack_[0].value.as < string > ()); }
1840 #line 1841 "DynareBison.cc" // lalr1.cc:919
1841     break;
1842 
1843   case 208:
1844 #line 536 "DynareBison.yy" // lalr1.cc:919
1845     { driver.declare_nonstationary_var(yystack_[0].value.as < string > ()); }
1846 #line 1847 "DynareBison.cc" // lalr1.cc:919
1847     break;
1848 
1849   case 209:
1850 #line 538 "DynareBison.yy" // lalr1.cc:919
1851     { driver.declare_nonstationary_var(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
1852 #line 1853 "DynareBison.cc" // lalr1.cc:919
1853     break;
1854 
1855   case 210:
1856 #line 540 "DynareBison.yy" // lalr1.cc:919
1857     { driver.declare_nonstationary_var(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
1858 #line 1859 "DynareBison.cc" // lalr1.cc:919
1859     break;
1860 
1861   case 211:
1862 #line 542 "DynareBison.yy" // lalr1.cc:919
1863     { driver.declare_nonstationary_var(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
1864 #line 1865 "DynareBison.cc" // lalr1.cc:919
1865     break;
1866 
1867   case 212:
1868 #line 544 "DynareBison.yy" // lalr1.cc:919
1869     { driver.declare_nonstationary_var(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1870 #line 1871 "DynareBison.cc" // lalr1.cc:919
1871     break;
1872 
1873   case 213:
1874 #line 546 "DynareBison.yy" // lalr1.cc:919
1875     { driver.declare_nonstationary_var(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1876 #line 1877 "DynareBison.cc" // lalr1.cc:919
1877     break;
1878 
1879   case 214:
1880 #line 548 "DynareBison.yy" // lalr1.cc:919
1881     { driver.declare_nonstationary_var(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1882 #line 1883 "DynareBison.cc" // lalr1.cc:919
1883     break;
1884 
1885   case 215:
1886 #line 550 "DynareBison.yy" // lalr1.cc:919
1887     { driver.declare_nonstationary_var(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
1888 #line 1889 "DynareBison.cc" // lalr1.cc:919
1889     break;
1890 
1891   case 216:
1892 #line 552 "DynareBison.yy" // lalr1.cc:919
1893     { driver.declare_nonstationary_var(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
1894 #line 1895 "DynareBison.cc" // lalr1.cc:919
1895     break;
1896 
1897   case 217:
1898 #line 554 "DynareBison.yy" // lalr1.cc:919
1899     { driver.declare_nonstationary_var(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
1900 #line 1901 "DynareBison.cc" // lalr1.cc:919
1901     break;
1902 
1903   case 223:
1904 #line 570 "DynareBison.yy" // lalr1.cc:919
1905     { yylhs.value.as < pair<string,string> > () = { yystack_[2].value.as < string > (), yystack_[0].value.as < string > () }; }
1906 #line 1907 "DynareBison.cc" // lalr1.cc:919
1907     break;
1908 
1909   case 224:
1910 #line 573 "DynareBison.yy" // lalr1.cc:919
1911     { yylhs.value.as < vector<pair<string,string>> > () = vector<pair<string, string>>{yystack_[0].value.as < pair<string,string> > ()}; }
1912 #line 1913 "DynareBison.cc" // lalr1.cc:919
1913     break;
1914 
1915   case 225:
1916 #line 575 "DynareBison.yy" // lalr1.cc:919
1917     { yylhs.value.as < vector<pair<string,string>> > () = vector<pair<string, string>>{yystack_[0].value.as < pair<string,string> > ()}; }
1918 #line 1919 "DynareBison.cc" // lalr1.cc:919
1919     break;
1920 
1921   case 226:
1922 #line 577 "DynareBison.yy" // lalr1.cc:919
1923     {
1924                 yylhs.value.as < vector<pair<string,string>> > () = yystack_[1].value.as < vector<pair<string,string>> > ();
1925                 yylhs.value.as < vector<pair<string,string>> > ().push_back(yystack_[0].value.as < pair<string,string> > ());
1926               }
1927 #line 1928 "DynareBison.cc" // lalr1.cc:919
1928     break;
1929 
1930   case 227:
1931 #line 582 "DynareBison.yy" // lalr1.cc:919
1932     {
1933                 yylhs.value.as < vector<pair<string,string>> > () = yystack_[2].value.as < vector<pair<string,string>> > ();
1934                 yylhs.value.as < vector<pair<string,string>> > ().push_back(yystack_[0].value.as < pair<string,string> > ());
1935               }
1936 #line 1937 "DynareBison.cc" // lalr1.cc:919
1937     break;
1938 
1939   case 228:
1940 #line 588 "DynareBison.yy" // lalr1.cc:919
1941     { yylhs.value.as < vector<pair<string,string>> > () = yystack_[1].value.as < vector<pair<string,string>> > (); }
1942 #line 1943 "DynareBison.cc" // lalr1.cc:919
1943     break;
1944 
1945   case 229:
1946 #line 589 "DynareBison.yy" // lalr1.cc:919
1947     { yylhs.value.as < vector<pair<string,string>> > () = yystack_[2].value.as < vector<pair<string,string>> > (); }
1948 #line 1949 "DynareBison.cc" // lalr1.cc:919
1949     break;
1950 
1951   case 230:
1952 #line 593 "DynareBison.yy" // lalr1.cc:919
1953     { driver.declare_endogenous(yystack_[0].value.as < string > ()); }
1954 #line 1955 "DynareBison.cc" // lalr1.cc:919
1955     break;
1956 
1957   case 231:
1958 #line 595 "DynareBison.yy" // lalr1.cc:919
1959     { driver.declare_endogenous(yystack_[0].value.as < string > ()); }
1960 #line 1961 "DynareBison.cc" // lalr1.cc:919
1961     break;
1962 
1963   case 232:
1964 #line 597 "DynareBison.yy" // lalr1.cc:919
1965     { driver.declare_endogenous(yystack_[0].value.as < string > ()); }
1966 #line 1967 "DynareBison.cc" // lalr1.cc:919
1967     break;
1968 
1969   case 233:
1970 #line 599 "DynareBison.yy" // lalr1.cc:919
1971     { driver.declare_endogenous(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
1972 #line 1973 "DynareBison.cc" // lalr1.cc:919
1973     break;
1974 
1975   case 234:
1976 #line 601 "DynareBison.yy" // lalr1.cc:919
1977     { driver.declare_endogenous(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
1978 #line 1979 "DynareBison.cc" // lalr1.cc:919
1979     break;
1980 
1981   case 235:
1982 #line 603 "DynareBison.yy" // lalr1.cc:919
1983     { driver.declare_endogenous(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
1984 #line 1985 "DynareBison.cc" // lalr1.cc:919
1985     break;
1986 
1987   case 236:
1988 #line 605 "DynareBison.yy" // lalr1.cc:919
1989     { driver.declare_endogenous(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1990 #line 1991 "DynareBison.cc" // lalr1.cc:919
1991     break;
1992 
1993   case 237:
1994 #line 607 "DynareBison.yy" // lalr1.cc:919
1995     { driver.declare_endogenous(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
1996 #line 1997 "DynareBison.cc" // lalr1.cc:919
1997     break;
1998 
1999   case 238:
2000 #line 609 "DynareBison.yy" // lalr1.cc:919
2001     { driver.declare_endogenous(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2002 #line 2003 "DynareBison.cc" // lalr1.cc:919
2003     break;
2004 
2005   case 239:
2006 #line 611 "DynareBison.yy" // lalr1.cc:919
2007     { driver.declare_endogenous(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2008 #line 2009 "DynareBison.cc" // lalr1.cc:919
2009     break;
2010 
2011   case 240:
2012 #line 613 "DynareBison.yy" // lalr1.cc:919
2013     { driver.declare_endogenous(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2014 #line 2015 "DynareBison.cc" // lalr1.cc:919
2015     break;
2016 
2017   case 241:
2018 #line 615 "DynareBison.yy" // lalr1.cc:919
2019     { driver.declare_endogenous(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2020 #line 2021 "DynareBison.cc" // lalr1.cc:919
2021     break;
2022 
2023   case 242:
2024 #line 619 "DynareBison.yy" // lalr1.cc:919
2025     { driver.declare_exogenous(yystack_[0].value.as < string > ()); }
2026 #line 2027 "DynareBison.cc" // lalr1.cc:919
2027     break;
2028 
2029   case 243:
2030 #line 621 "DynareBison.yy" // lalr1.cc:919
2031     { driver.declare_exogenous(yystack_[0].value.as < string > ()); }
2032 #line 2033 "DynareBison.cc" // lalr1.cc:919
2033     break;
2034 
2035   case 244:
2036 #line 623 "DynareBison.yy" // lalr1.cc:919
2037     { driver.declare_exogenous(yystack_[0].value.as < string > ()); }
2038 #line 2039 "DynareBison.cc" // lalr1.cc:919
2039     break;
2040 
2041   case 245:
2042 #line 625 "DynareBison.yy" // lalr1.cc:919
2043     { driver.declare_exogenous(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2044 #line 2045 "DynareBison.cc" // lalr1.cc:919
2045     break;
2046 
2047   case 246:
2048 #line 627 "DynareBison.yy" // lalr1.cc:919
2049     { driver.declare_exogenous(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2050 #line 2051 "DynareBison.cc" // lalr1.cc:919
2051     break;
2052 
2053   case 247:
2054 #line 629 "DynareBison.yy" // lalr1.cc:919
2055     { driver.declare_exogenous(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2056 #line 2057 "DynareBison.cc" // lalr1.cc:919
2057     break;
2058 
2059   case 248:
2060 #line 631 "DynareBison.yy" // lalr1.cc:919
2061     { driver.declare_exogenous(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2062 #line 2063 "DynareBison.cc" // lalr1.cc:919
2063     break;
2064 
2065   case 249:
2066 #line 633 "DynareBison.yy" // lalr1.cc:919
2067     { driver.declare_exogenous(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2068 #line 2069 "DynareBison.cc" // lalr1.cc:919
2069     break;
2070 
2071   case 250:
2072 #line 635 "DynareBison.yy" // lalr1.cc:919
2073     { driver.declare_exogenous(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2074 #line 2075 "DynareBison.cc" // lalr1.cc:919
2075     break;
2076 
2077   case 251:
2078 #line 637 "DynareBison.yy" // lalr1.cc:919
2079     { driver.declare_exogenous(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2080 #line 2081 "DynareBison.cc" // lalr1.cc:919
2081     break;
2082 
2083   case 252:
2084 #line 639 "DynareBison.yy" // lalr1.cc:919
2085     { driver.declare_exogenous(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2086 #line 2087 "DynareBison.cc" // lalr1.cc:919
2087     break;
2088 
2089   case 253:
2090 #line 641 "DynareBison.yy" // lalr1.cc:919
2091     { driver.declare_exogenous(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2092 #line 2093 "DynareBison.cc" // lalr1.cc:919
2093     break;
2094 
2095   case 254:
2096 #line 645 "DynareBison.yy" // lalr1.cc:919
2097     { driver.declare_exogenous_det(yystack_[0].value.as < string > ()); }
2098 #line 2099 "DynareBison.cc" // lalr1.cc:919
2099     break;
2100 
2101   case 255:
2102 #line 647 "DynareBison.yy" // lalr1.cc:919
2103     { driver.declare_exogenous_det(yystack_[0].value.as < string > ()); }
2104 #line 2105 "DynareBison.cc" // lalr1.cc:919
2105     break;
2106 
2107   case 256:
2108 #line 649 "DynareBison.yy" // lalr1.cc:919
2109     { driver.declare_exogenous_det(yystack_[0].value.as < string > ()); }
2110 #line 2111 "DynareBison.cc" // lalr1.cc:919
2111     break;
2112 
2113   case 257:
2114 #line 651 "DynareBison.yy" // lalr1.cc:919
2115     { driver.declare_exogenous_det(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2116 #line 2117 "DynareBison.cc" // lalr1.cc:919
2117     break;
2118 
2119   case 258:
2120 #line 653 "DynareBison.yy" // lalr1.cc:919
2121     { driver.declare_exogenous_det(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2122 #line 2123 "DynareBison.cc" // lalr1.cc:919
2123     break;
2124 
2125   case 259:
2126 #line 655 "DynareBison.yy" // lalr1.cc:919
2127     { driver.declare_exogenous_det(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2128 #line 2129 "DynareBison.cc" // lalr1.cc:919
2129     break;
2130 
2131   case 260:
2132 #line 657 "DynareBison.yy" // lalr1.cc:919
2133     { driver.declare_exogenous_det(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2134 #line 2135 "DynareBison.cc" // lalr1.cc:919
2135     break;
2136 
2137   case 261:
2138 #line 659 "DynareBison.yy" // lalr1.cc:919
2139     { driver.declare_exogenous_det(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2140 #line 2141 "DynareBison.cc" // lalr1.cc:919
2141     break;
2142 
2143   case 262:
2144 #line 661 "DynareBison.yy" // lalr1.cc:919
2145     { driver.declare_exogenous_det(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2146 #line 2147 "DynareBison.cc" // lalr1.cc:919
2147     break;
2148 
2149   case 263:
2150 #line 663 "DynareBison.yy" // lalr1.cc:919
2151     { driver.declare_exogenous_det(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2152 #line 2153 "DynareBison.cc" // lalr1.cc:919
2153     break;
2154 
2155   case 264:
2156 #line 665 "DynareBison.yy" // lalr1.cc:919
2157     { driver.declare_exogenous_det(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2158 #line 2159 "DynareBison.cc" // lalr1.cc:919
2159     break;
2160 
2161   case 265:
2162 #line 667 "DynareBison.yy" // lalr1.cc:919
2163     { driver.declare_exogenous_det(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2164 #line 2165 "DynareBison.cc" // lalr1.cc:919
2165     break;
2166 
2167   case 266:
2168 #line 671 "DynareBison.yy" // lalr1.cc:919
2169     { driver.declare_parameter(yystack_[0].value.as < string > ()); }
2170 #line 2171 "DynareBison.cc" // lalr1.cc:919
2171     break;
2172 
2173   case 267:
2174 #line 673 "DynareBison.yy" // lalr1.cc:919
2175     { driver.declare_parameter(yystack_[0].value.as < string > ()); }
2176 #line 2177 "DynareBison.cc" // lalr1.cc:919
2177     break;
2178 
2179   case 268:
2180 #line 675 "DynareBison.yy" // lalr1.cc:919
2181     { driver.declare_parameter(yystack_[0].value.as < string > ()); }
2182 #line 2183 "DynareBison.cc" // lalr1.cc:919
2183     break;
2184 
2185   case 269:
2186 #line 677 "DynareBison.yy" // lalr1.cc:919
2187     { driver.declare_parameter(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2188 #line 2189 "DynareBison.cc" // lalr1.cc:919
2189     break;
2190 
2191   case 270:
2192 #line 679 "DynareBison.yy" // lalr1.cc:919
2193     { driver.declare_parameter(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2194 #line 2195 "DynareBison.cc" // lalr1.cc:919
2195     break;
2196 
2197   case 271:
2198 #line 681 "DynareBison.yy" // lalr1.cc:919
2199     { driver.declare_parameter(yystack_[1].value.as < string > (), "", yystack_[0].value.as < vector<pair<string,string>> > ()); }
2200 #line 2201 "DynareBison.cc" // lalr1.cc:919
2201     break;
2202 
2203   case 272:
2204 #line 683 "DynareBison.yy" // lalr1.cc:919
2205     { driver.declare_parameter(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2206 #line 2207 "DynareBison.cc" // lalr1.cc:919
2207     break;
2208 
2209   case 273:
2210 #line 685 "DynareBison.yy" // lalr1.cc:919
2211     { driver.declare_parameter(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2212 #line 2213 "DynareBison.cc" // lalr1.cc:919
2213     break;
2214 
2215   case 274:
2216 #line 687 "DynareBison.yy" // lalr1.cc:919
2217     { driver.declare_parameter(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2218 #line 2219 "DynareBison.cc" // lalr1.cc:919
2219     break;
2220 
2221   case 275:
2222 #line 689 "DynareBison.yy" // lalr1.cc:919
2223     { driver.declare_parameter(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2224 #line 2225 "DynareBison.cc" // lalr1.cc:919
2225     break;
2226 
2227   case 276:
2228 #line 691 "DynareBison.yy" // lalr1.cc:919
2229     { driver.declare_parameter(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2230 #line 2231 "DynareBison.cc" // lalr1.cc:919
2231     break;
2232 
2233   case 277:
2234 #line 693 "DynareBison.yy" // lalr1.cc:919
2235     { driver.declare_parameter(yystack_[2].value.as < string > (), yystack_[1].value.as < string > (), yystack_[0].value.as < vector<pair<string,string>> > ()); }
2236 #line 2237 "DynareBison.cc" // lalr1.cc:919
2237     break;
2238 
2239   case 278:
2240 #line 697 "DynareBison.yy" // lalr1.cc:919
2241     { driver.add_predetermined_variable(yystack_[0].value.as < string > ()); }
2242 #line 2243 "DynareBison.cc" // lalr1.cc:919
2243     break;
2244 
2245   case 279:
2246 #line 699 "DynareBison.yy" // lalr1.cc:919
2247     { driver.add_predetermined_variable(yystack_[0].value.as < string > ()); }
2248 #line 2249 "DynareBison.cc" // lalr1.cc:919
2249     break;
2250 
2251   case 280:
2252 #line 701 "DynareBison.yy" // lalr1.cc:919
2253     { driver.add_predetermined_variable(yystack_[0].value.as < string > ()); }
2254 #line 2255 "DynareBison.cc" // lalr1.cc:919
2255     break;
2256 
2257   case 281:
2258 #line 705 "DynareBison.yy" // lalr1.cc:919
2259     { driver.declare_model_local_variable(yystack_[0].value.as < string > ()); }
2260 #line 2261 "DynareBison.cc" // lalr1.cc:919
2261     break;
2262 
2263   case 282:
2264 #line 707 "DynareBison.yy" // lalr1.cc:919
2265     { driver.declare_model_local_variable(yystack_[0].value.as < string > ()); }
2266 #line 2267 "DynareBison.cc" // lalr1.cc:919
2267     break;
2268 
2269   case 283:
2270 #line 709 "DynareBison.yy" // lalr1.cc:919
2271     { driver.declare_model_local_variable(yystack_[0].value.as < string > ()); }
2272 #line 2273 "DynareBison.cc" // lalr1.cc:919
2273     break;
2274 
2275   case 284:
2276 #line 711 "DynareBison.yy" // lalr1.cc:919
2277     { driver.declare_model_local_variable(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2278 #line 2279 "DynareBison.cc" // lalr1.cc:919
2279     break;
2280 
2281   case 285:
2282 #line 713 "DynareBison.yy" // lalr1.cc:919
2283     { driver.declare_model_local_variable(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2284 #line 2285 "DynareBison.cc" // lalr1.cc:919
2285     break;
2286 
2287   case 286:
2288 #line 715 "DynareBison.yy" // lalr1.cc:919
2289     { driver.declare_model_local_variable(yystack_[1].value.as < string > (), yystack_[0].value.as < string > ()); }
2290 #line 2291 "DynareBison.cc" // lalr1.cc:919
2291     break;
2292 
2293   case 287:
2294 #line 719 "DynareBison.yy" // lalr1.cc:919
2295     { driver.change_type(yystack_[3].value.as < SymbolType > (), yystack_[1].value.as < vector<string> > ()); }
2296 #line 2297 "DynareBison.cc" // lalr1.cc:919
2297     break;
2298 
2299   case 288:
2300 #line 723 "DynareBison.yy" // lalr1.cc:919
2301     { yylhs.value.as < SymbolType > () = SymbolType::parameter; }
2302 #line 2303 "DynareBison.cc" // lalr1.cc:919
2303     break;
2304 
2305   case 289:
2306 #line 725 "DynareBison.yy" // lalr1.cc:919
2307     { yylhs.value.as < SymbolType > () = SymbolType::endogenous; }
2308 #line 2309 "DynareBison.cc" // lalr1.cc:919
2309     break;
2310 
2311   case 290:
2312 #line 727 "DynareBison.yy" // lalr1.cc:919
2313     { yylhs.value.as < SymbolType > () = SymbolType::exogenous; }
2314 #line 2315 "DynareBison.cc" // lalr1.cc:919
2315     break;
2316 
2317   case 291:
2318 #line 729 "DynareBison.yy" // lalr1.cc:919
2319     { yylhs.value.as < SymbolType > () = SymbolType::exogenousDet; }
2320 #line 2321 "DynareBison.cc" // lalr1.cc:919
2321     break;
2322 
2323   case 292:
2324 #line 733 "DynareBison.yy" // lalr1.cc:919
2325     { yylhs.value.as < vector<string> > () = vector<string>{yystack_[0].value.as < string > ()}; }
2326 #line 2327 "DynareBison.cc" // lalr1.cc:919
2327     break;
2328 
2329   case 293:
2330 #line 735 "DynareBison.yy" // lalr1.cc:919
2331     {
2332                          yylhs.value.as < vector<string> > () = yystack_[1].value.as < vector<string> > ();
2333                          yylhs.value.as < vector<string> > ().push_back(yystack_[0].value.as < string > ());
2334                        }
2335 #line 2336 "DynareBison.cc" // lalr1.cc:919
2336     break;
2337 
2338   case 294:
2339 #line 740 "DynareBison.yy" // lalr1.cc:919
2340     {
2341                          yylhs.value.as < vector<string> > () = yystack_[2].value.as < vector<string> > ();
2342                          yylhs.value.as < vector<string> > ().push_back(yystack_[0].value.as < string > ());
2343                        }
2344 #line 2345 "DynareBison.cc" // lalr1.cc:919
2345     break;
2346 
2347   case 295:
2348 #line 747 "DynareBison.yy" // lalr1.cc:919
2349     { driver.periods(yystack_[1].value.as < string > ()); }
2350 #line 2351 "DynareBison.cc" // lalr1.cc:919
2351     break;
2352 
2353   case 296:
2354 #line 749 "DynareBison.yy" // lalr1.cc:919
2355     { driver.periods(yystack_[1].value.as < string > ()); }
2356 #line 2357 "DynareBison.cc" // lalr1.cc:919
2357     break;
2358 
2359   case 297:
2360 #line 752 "DynareBison.yy" // lalr1.cc:919
2361     { driver.init_param(yystack_[3].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
2362 #line 2363 "DynareBison.cc" // lalr1.cc:919
2363     break;
2364 
2365   case 298:
2366 #line 755 "DynareBison.yy" // lalr1.cc:919
2367     { yylhs.value.as < expr_t > () = yystack_[1].value.as < expr_t > ();}
2368 #line 2369 "DynareBison.cc" // lalr1.cc:919
2369     break;
2370 
2371   case 299:
2372 #line 757 "DynareBison.yy" // lalr1.cc:919
2373     { yylhs.value.as < expr_t > () = driver.add_expression_variable(yystack_[0].value.as < string > ()); }
2374 #line 2375 "DynareBison.cc" // lalr1.cc:919
2375     break;
2376 
2377   case 300:
2378 #line 759 "DynareBison.yy" // lalr1.cc:919
2379     { yylhs.value.as < expr_t > () = driver.add_non_negative_constant(yystack_[0].value.as < string > ()); }
2380 #line 2381 "DynareBison.cc" // lalr1.cc:919
2381     break;
2382 
2383   case 301:
2384 #line 761 "DynareBison.yy" // lalr1.cc:919
2385     { yylhs.value.as < expr_t > () = driver.add_plus(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2386 #line 2387 "DynareBison.cc" // lalr1.cc:919
2387     break;
2388 
2389   case 302:
2390 #line 763 "DynareBison.yy" // lalr1.cc:919
2391     { yylhs.value.as < expr_t > () = driver.add_minus(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2392 #line 2393 "DynareBison.cc" // lalr1.cc:919
2393     break;
2394 
2395   case 303:
2396 #line 765 "DynareBison.yy" // lalr1.cc:919
2397     { yylhs.value.as < expr_t > () = driver.add_divide(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2398 #line 2399 "DynareBison.cc" // lalr1.cc:919
2399     break;
2400 
2401   case 304:
2402 #line 767 "DynareBison.yy" // lalr1.cc:919
2403     { yylhs.value.as < expr_t > () = driver.add_times(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2404 #line 2405 "DynareBison.cc" // lalr1.cc:919
2405     break;
2406 
2407   case 305:
2408 #line 769 "DynareBison.yy" // lalr1.cc:919
2409     { yylhs.value.as < expr_t > () = driver.add_power(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2410 #line 2411 "DynareBison.cc" // lalr1.cc:919
2411     break;
2412 
2413   case 306:
2414 #line 771 "DynareBison.yy" // lalr1.cc:919
2415     { yylhs.value.as < expr_t > () = driver.add_less(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2416 #line 2417 "DynareBison.cc" // lalr1.cc:919
2417     break;
2418 
2419   case 307:
2420 #line 773 "DynareBison.yy" // lalr1.cc:919
2421     { yylhs.value.as < expr_t > () = driver.add_greater(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2422 #line 2423 "DynareBison.cc" // lalr1.cc:919
2423     break;
2424 
2425   case 308:
2426 #line 775 "DynareBison.yy" // lalr1.cc:919
2427     { yylhs.value.as < expr_t > () = driver.add_less_equal(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2428 #line 2429 "DynareBison.cc" // lalr1.cc:919
2429     break;
2430 
2431   case 309:
2432 #line 777 "DynareBison.yy" // lalr1.cc:919
2433     { yylhs.value.as < expr_t > () = driver.add_greater_equal(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2434 #line 2435 "DynareBison.cc" // lalr1.cc:919
2435     break;
2436 
2437   case 310:
2438 #line 779 "DynareBison.yy" // lalr1.cc:919
2439     { yylhs.value.as < expr_t > () = driver.add_equal_equal(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2440 #line 2441 "DynareBison.cc" // lalr1.cc:919
2441     break;
2442 
2443   case 311:
2444 #line 781 "DynareBison.yy" // lalr1.cc:919
2445     { yylhs.value.as < expr_t > () = driver.add_different(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2446 #line 2447 "DynareBison.cc" // lalr1.cc:919
2447     break;
2448 
2449   case 312:
2450 #line 783 "DynareBison.yy" // lalr1.cc:919
2451     { yylhs.value.as < expr_t > () = driver.add_uminus(yystack_[0].value.as < expr_t > ()); }
2452 #line 2453 "DynareBison.cc" // lalr1.cc:919
2453     break;
2454 
2455   case 313:
2456 #line 785 "DynareBison.yy" // lalr1.cc:919
2457     { yylhs.value.as < expr_t > () = yystack_[0].value.as < expr_t > (); }
2458 #line 2459 "DynareBison.cc" // lalr1.cc:919
2459     break;
2460 
2461   case 314:
2462 #line 787 "DynareBison.yy" // lalr1.cc:919
2463     { yylhs.value.as < expr_t > () = driver.add_exp(yystack_[1].value.as < expr_t > ()); }
2464 #line 2465 "DynareBison.cc" // lalr1.cc:919
2465     break;
2466 
2467   case 315:
2468 #line 789 "DynareBison.yy" // lalr1.cc:919
2469     { yylhs.value.as < expr_t > () = driver.add_log(yystack_[1].value.as < expr_t > ()); }
2470 #line 2471 "DynareBison.cc" // lalr1.cc:919
2471     break;
2472 
2473   case 316:
2474 #line 791 "DynareBison.yy" // lalr1.cc:919
2475     { yylhs.value.as < expr_t > () = driver.add_log(yystack_[1].value.as < expr_t > ()); }
2476 #line 2477 "DynareBison.cc" // lalr1.cc:919
2477     break;
2478 
2479   case 317:
2480 #line 793 "DynareBison.yy" // lalr1.cc:919
2481     { yylhs.value.as < expr_t > () = driver.add_log10(yystack_[1].value.as < expr_t > ()); }
2482 #line 2483 "DynareBison.cc" // lalr1.cc:919
2483     break;
2484 
2485   case 318:
2486 #line 795 "DynareBison.yy" // lalr1.cc:919
2487     { yylhs.value.as < expr_t > () = driver.add_sin(yystack_[1].value.as < expr_t > ()); }
2488 #line 2489 "DynareBison.cc" // lalr1.cc:919
2489     break;
2490 
2491   case 319:
2492 #line 797 "DynareBison.yy" // lalr1.cc:919
2493     { yylhs.value.as < expr_t > () = driver.add_cos(yystack_[1].value.as < expr_t > ()); }
2494 #line 2495 "DynareBison.cc" // lalr1.cc:919
2495     break;
2496 
2497   case 320:
2498 #line 799 "DynareBison.yy" // lalr1.cc:919
2499     { yylhs.value.as < expr_t > () = driver.add_tan(yystack_[1].value.as < expr_t > ()); }
2500 #line 2501 "DynareBison.cc" // lalr1.cc:919
2501     break;
2502 
2503   case 321:
2504 #line 801 "DynareBison.yy" // lalr1.cc:919
2505     { yylhs.value.as < expr_t > () = driver.add_asin(yystack_[1].value.as < expr_t > ()); }
2506 #line 2507 "DynareBison.cc" // lalr1.cc:919
2507     break;
2508 
2509   case 322:
2510 #line 803 "DynareBison.yy" // lalr1.cc:919
2511     { yylhs.value.as < expr_t > () = driver.add_acos(yystack_[1].value.as < expr_t > ()); }
2512 #line 2513 "DynareBison.cc" // lalr1.cc:919
2513     break;
2514 
2515   case 323:
2516 #line 805 "DynareBison.yy" // lalr1.cc:919
2517     { yylhs.value.as < expr_t > () = driver.add_atan(yystack_[1].value.as < expr_t > ()); }
2518 #line 2519 "DynareBison.cc" // lalr1.cc:919
2519     break;
2520 
2521   case 324:
2522 #line 807 "DynareBison.yy" // lalr1.cc:919
2523     { yylhs.value.as < expr_t > () = driver.add_sqrt(yystack_[1].value.as < expr_t > ()); }
2524 #line 2525 "DynareBison.cc" // lalr1.cc:919
2525     break;
2526 
2527   case 325:
2528 #line 809 "DynareBison.yy" // lalr1.cc:919
2529     { yylhs.value.as < expr_t > () = driver.add_cbrt(yystack_[1].value.as < expr_t > ()); }
2530 #line 2531 "DynareBison.cc" // lalr1.cc:919
2531     break;
2532 
2533   case 326:
2534 #line 811 "DynareBison.yy" // lalr1.cc:919
2535     { yylhs.value.as < expr_t > () = driver.add_abs(yystack_[1].value.as < expr_t > ()); }
2536 #line 2537 "DynareBison.cc" // lalr1.cc:919
2537     break;
2538 
2539   case 327:
2540 #line 813 "DynareBison.yy" // lalr1.cc:919
2541     { yylhs.value.as < expr_t > () = driver.add_sign(yystack_[1].value.as < expr_t > ()); }
2542 #line 2543 "DynareBison.cc" // lalr1.cc:919
2543     break;
2544 
2545   case 328:
2546 #line 815 "DynareBison.yy" // lalr1.cc:919
2547     { yylhs.value.as < expr_t > () = driver.add_max(yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
2548 #line 2549 "DynareBison.cc" // lalr1.cc:919
2549     break;
2550 
2551   case 329:
2552 #line 817 "DynareBison.yy" // lalr1.cc:919
2553     { yylhs.value.as < expr_t > () = driver.add_min(yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
2554 #line 2555 "DynareBison.cc" // lalr1.cc:919
2555     break;
2556 
2557   case 330:
2558 #line 818 "DynareBison.yy" // lalr1.cc:919
2559     { driver.push_external_function_arg_vector_onto_stack(); }
2560 #line 2561 "DynareBison.cc" // lalr1.cc:919
2561     break;
2562 
2563   case 331:
2564 #line 819 "DynareBison.yy" // lalr1.cc:919
2565     { yylhs.value.as < expr_t > () = driver.add_model_var_or_external_function(yystack_[4].value.as < string > (), false); }
2566 #line 2567 "DynareBison.cc" // lalr1.cc:919
2567     break;
2568 
2569   case 332:
2570 #line 821 "DynareBison.yy" // lalr1.cc:919
2571     { yylhs.value.as < expr_t > () = driver.add_normcdf(yystack_[5].value.as < expr_t > (), yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
2572 #line 2573 "DynareBison.cc" // lalr1.cc:919
2573     break;
2574 
2575   case 333:
2576 #line 823 "DynareBison.yy" // lalr1.cc:919
2577     { yylhs.value.as < expr_t > () = driver.add_normcdf(yystack_[1].value.as < expr_t > ()); }
2578 #line 2579 "DynareBison.cc" // lalr1.cc:919
2579     break;
2580 
2581   case 334:
2582 #line 825 "DynareBison.yy" // lalr1.cc:919
2583     { yylhs.value.as < expr_t > () = driver.add_normpdf(yystack_[5].value.as < expr_t > (), yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
2584 #line 2585 "DynareBison.cc" // lalr1.cc:919
2585     break;
2586 
2587   case 335:
2588 #line 827 "DynareBison.yy" // lalr1.cc:919
2589     { yylhs.value.as < expr_t > () = driver.add_normpdf(yystack_[1].value.as < expr_t > ()); }
2590 #line 2591 "DynareBison.cc" // lalr1.cc:919
2591     break;
2592 
2593   case 336:
2594 #line 829 "DynareBison.yy" // lalr1.cc:919
2595     { yylhs.value.as < expr_t > () = driver.add_erf(yystack_[1].value.as < expr_t > ()); }
2596 #line 2597 "DynareBison.cc" // lalr1.cc:919
2597     break;
2598 
2599   case 337:
2600 #line 831 "DynareBison.yy" // lalr1.cc:919
2601     { yylhs.value.as < expr_t > () = driver.add_nan_constant(); }
2602 #line 2603 "DynareBison.cc" // lalr1.cc:919
2603     break;
2604 
2605   case 338:
2606 #line 833 "DynareBison.yy" // lalr1.cc:919
2607     { yylhs.value.as < expr_t > () = driver.add_inf_constant(); }
2608 #line 2609 "DynareBison.cc" // lalr1.cc:919
2609     break;
2610 
2611   case 339:
2612 #line 837 "DynareBison.yy" // lalr1.cc:919
2613     { driver.add_external_function_arg(yystack_[0].value.as < expr_t > ()); }
2614 #line 2615 "DynareBison.cc" // lalr1.cc:919
2615     break;
2616 
2617   case 340:
2618 #line 839 "DynareBison.yy" // lalr1.cc:919
2619     { driver.add_external_function_arg(yystack_[0].value.as < expr_t > ()); }
2620 #line 2621 "DynareBison.cc" // lalr1.cc:919
2621     break;
2622 
2623   case 341:
2624 #line 843 "DynareBison.yy" // lalr1.cc:919
2625     { yylhs.value.as < expr_t > () = driver.add_nan_constant(); }
2626 #line 2627 "DynareBison.cc" // lalr1.cc:919
2627     break;
2628 
2629   case 342:
2630 #line 844 "DynareBison.yy" // lalr1.cc:919
2631     { yylhs.value.as < expr_t > () = yystack_[0].value.as < expr_t > (); }
2632 #line 2633 "DynareBison.cc" // lalr1.cc:919
2633     break;
2634 
2635   case 343:
2636 #line 848 "DynareBison.yy" // lalr1.cc:919
2637     { driver.end_initval(false); }
2638 #line 2639 "DynareBison.cc" // lalr1.cc:919
2639     break;
2640 
2641   case 344:
2642 #line 850 "DynareBison.yy" // lalr1.cc:919
2643     { driver.end_initval(true); }
2644 #line 2645 "DynareBison.cc" // lalr1.cc:919
2645     break;
2646 
2647   case 345:
2648 #line 854 "DynareBison.yy" // lalr1.cc:919
2649     { driver.initval_file(yystack_[2].value.as < string > ()); }
2650 #line 2651 "DynareBison.cc" // lalr1.cc:919
2651     break;
2652 
2653   case 346:
2654 #line 858 "DynareBison.yy" // lalr1.cc:919
2655     { driver.end_endval(false); }
2656 #line 2657 "DynareBison.cc" // lalr1.cc:919
2657     break;
2658 
2659   case 347:
2660 #line 860 "DynareBison.yy" // lalr1.cc:919
2661     { driver.end_endval(true); }
2662 #line 2663 "DynareBison.cc" // lalr1.cc:919
2663     break;
2664 
2665   case 350:
2666 #line 867 "DynareBison.yy" // lalr1.cc:919
2667     { driver.init_val(yystack_[3].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
2668 #line 2669 "DynareBison.cc" // lalr1.cc:919
2669     break;
2670 
2671   case 351:
2672 #line 870 "DynareBison.yy" // lalr1.cc:919
2673     { driver.end_histval(false); }
2674 #line 2675 "DynareBison.cc" // lalr1.cc:919
2675     break;
2676 
2677   case 352:
2678 #line 872 "DynareBison.yy" // lalr1.cc:919
2679     { driver.end_histval(true); }
2680 #line 2681 "DynareBison.cc" // lalr1.cc:919
2681     break;
2682 
2683   case 355:
2684 #line 879 "DynareBison.yy" // lalr1.cc:919
2685     { driver.hist_val(yystack_[6].value.as < string > (), yystack_[4].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
2686 #line 2687 "DynareBison.cc" // lalr1.cc:919
2687     break;
2688 
2689   case 356:
2690 #line 882 "DynareBison.yy" // lalr1.cc:919
2691     { driver.histval_file(yystack_[2].value.as < string > ()); }
2692 #line 2693 "DynareBison.cc" // lalr1.cc:919
2693     break;
2694 
2695   case 357:
2696 #line 885 "DynareBison.yy" // lalr1.cc:919
2697     { driver.begin_epilogue(); }
2698 #line 2699 "DynareBison.cc" // lalr1.cc:919
2699     break;
2700 
2701   case 358:
2702 #line 886 "DynareBison.yy" // lalr1.cc:919
2703     { driver.end_epilogue(); }
2704 #line 2705 "DynareBison.cc" // lalr1.cc:919
2705     break;
2706 
2707   case 361:
2708 #line 893 "DynareBison.yy" // lalr1.cc:919
2709     { driver.add_epilogue_variable(yystack_[0].value.as < string > ()); }
2710 #line 2711 "DynareBison.cc" // lalr1.cc:919
2711     break;
2712 
2713   case 362:
2714 #line 894 "DynareBison.yy" // lalr1.cc:919
2715     { driver.add_epilogue_equal(yystack_[4].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
2716 #line 2717 "DynareBison.cc" // lalr1.cc:919
2717     break;
2718 
2719   case 363:
2720 #line 897 "DynareBison.yy" // lalr1.cc:919
2721     { }
2722 #line 2723 "DynareBison.cc" // lalr1.cc:919
2723     break;
2724 
2725   case 366:
2726 #line 904 "DynareBison.yy" // lalr1.cc:919
2727     { driver.compilation_setup_substitute_flags(yystack_[0].value.as < string > ()); }
2728 #line 2729 "DynareBison.cc" // lalr1.cc:919
2729     break;
2730 
2731   case 367:
2732 #line 906 "DynareBison.yy" // lalr1.cc:919
2733     { driver.compilation_setup_add_flags(yystack_[0].value.as < string > ()); }
2734 #line 2735 "DynareBison.cc" // lalr1.cc:919
2735     break;
2736 
2737   case 368:
2738 #line 908 "DynareBison.yy" // lalr1.cc:919
2739     { driver.compilation_setup_substitute_libs(yystack_[0].value.as < string > ()); }
2740 #line 2741 "DynareBison.cc" // lalr1.cc:919
2741     break;
2742 
2743   case 369:
2744 #line 910 "DynareBison.yy" // lalr1.cc:919
2745     { driver.compilation_setup_add_libs(yystack_[0].value.as < string > ()); }
2746 #line 2747 "DynareBison.cc" // lalr1.cc:919
2747     break;
2748 
2749   case 370:
2750 #line 912 "DynareBison.yy" // lalr1.cc:919
2751     { driver.compilation_setup_compiler(yystack_[0].value.as < string > ()); }
2752 #line 2753 "DynareBison.cc" // lalr1.cc:919
2753     break;
2754 
2755   case 371:
2756 #line 915 "DynareBison.yy" // lalr1.cc:919
2757     { driver.block(); }
2758 #line 2759 "DynareBison.cc" // lalr1.cc:919
2759     break;
2760 
2761   case 374:
2762 #line 918 "DynareBison.yy" // lalr1.cc:919
2763     { driver.byte_code(); }
2764 #line 2765 "DynareBison.cc" // lalr1.cc:919
2765     break;
2766 
2767   case 375:
2768 #line 919 "DynareBison.yy" // lalr1.cc:919
2769     { driver.use_dll(); }
2770 #line 2771 "DynareBison.cc" // lalr1.cc:919
2771     break;
2772 
2773   case 376:
2774 #line 920 "DynareBison.yy" // lalr1.cc:919
2775     { driver.no_static();}
2776 #line 2777 "DynareBison.cc" // lalr1.cc:919
2777     break;
2778 
2779   case 377:
2780 #line 921 "DynareBison.yy" // lalr1.cc:919
2781     { driver.differentiate_forward_vars_all(); }
2782 #line 2783 "DynareBison.cc" // lalr1.cc:919
2783     break;
2784 
2785   case 378:
2786 #line 922 "DynareBison.yy" // lalr1.cc:919
2787     { driver.differentiate_forward_vars_some(); }
2788 #line 2789 "DynareBison.cc" // lalr1.cc:919
2789     break;
2790 
2791   case 381:
2792 #line 925 "DynareBison.yy" // lalr1.cc:919
2793     { driver.linear_decomposition(); }
2794 #line 2795 "DynareBison.cc" // lalr1.cc:919
2795     break;
2796 
2797   case 382:
2798 #line 926 "DynareBison.yy" // lalr1.cc:919
2799     { driver.balanced_growth_test_tol(yystack_[0].value.as < string > ()); }
2800 #line 2801 "DynareBison.cc" // lalr1.cc:919
2801     break;
2802 
2803   case 385:
2804 #line 933 "DynareBison.yy" // lalr1.cc:919
2805     { driver.begin_model(); }
2806 #line 2807 "DynareBison.cc" // lalr1.cc:919
2807     break;
2808 
2809   case 386:
2810 #line 934 "DynareBison.yy" // lalr1.cc:919
2811     { driver.end_model(); }
2812 #line 2813 "DynareBison.cc" // lalr1.cc:919
2813     break;
2814 
2815   case 387:
2816 #line 935 "DynareBison.yy" // lalr1.cc:919
2817     { driver.begin_model(); }
2818 #line 2819 "DynareBison.cc" // lalr1.cc:919
2819     break;
2820 
2821   case 388:
2822 #line 936 "DynareBison.yy" // lalr1.cc:919
2823     { driver.end_model(); }
2824 #line 2825 "DynareBison.cc" // lalr1.cc:919
2825     break;
2826 
2827   case 393:
2828 #line 946 "DynareBison.yy" // lalr1.cc:919
2829     { yylhs.value.as < expr_t > () = driver.add_model_equal(yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
2830 #line 2831 "DynareBison.cc" // lalr1.cc:919
2831     break;
2832 
2833   case 394:
2834 #line 948 "DynareBison.yy" // lalr1.cc:919
2835     { yylhs.value.as < expr_t > () = driver.add_model_equal_with_zero_rhs(yystack_[1].value.as < expr_t > ()); }
2836 #line 2837 "DynareBison.cc" // lalr1.cc:919
2837     break;
2838 
2839   case 395:
2840 #line 950 "DynareBison.yy" // lalr1.cc:919
2841     { yylhs.value.as < expr_t > () = driver.add_model_equal(yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
2842 #line 2843 "DynareBison.cc" // lalr1.cc:919
2843     break;
2844 
2845   case 396:
2846 #line 952 "DynareBison.yy" // lalr1.cc:919
2847     { yylhs.value.as < expr_t > () = driver.add_model_equal_with_zero_rhs(yystack_[1].value.as < expr_t > ()); }
2848 #line 2849 "DynareBison.cc" // lalr1.cc:919
2849     break;
2850 
2851   case 399:
2852 #line 960 "DynareBison.yy" // lalr1.cc:919
2853     { driver.add_equation_tags(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
2854 #line 2855 "DynareBison.cc" // lalr1.cc:919
2855     break;
2856 
2857   case 400:
2858 #line 962 "DynareBison.yy" // lalr1.cc:919
2859     { driver.add_equation_tags(yystack_[0].value.as < string > (), ""); }
2860 #line 2861 "DynareBison.cc" // lalr1.cc:919
2861     break;
2862 
2863   case 401:
2864 #line 966 "DynareBison.yy" // lalr1.cc:919
2865     { yylhs.value.as < expr_t > () = yystack_[1].value.as < expr_t > ();}
2866 #line 2867 "DynareBison.cc" // lalr1.cc:919
2867     break;
2868 
2869   case 402:
2870 #line 968 "DynareBison.yy" // lalr1.cc:919
2871     { yylhs.value.as < expr_t > () = driver.add_model_variable(yystack_[0].value.as < string > ()); }
2872 #line 2873 "DynareBison.cc" // lalr1.cc:919
2873     break;
2874 
2875   case 403:
2876 #line 970 "DynareBison.yy" // lalr1.cc:919
2877     { yylhs.value.as < expr_t > () = driver.declare_or_change_type(SymbolType::endogenous, yystack_[1].value.as < string > ()); }
2878 #line 2879 "DynareBison.cc" // lalr1.cc:919
2879     break;
2880 
2881   case 404:
2882 #line 972 "DynareBison.yy" // lalr1.cc:919
2883     { yylhs.value.as < expr_t > () = driver.declare_or_change_type(SymbolType::exogenous, yystack_[1].value.as < string > ()); }
2884 #line 2885 "DynareBison.cc" // lalr1.cc:919
2885     break;
2886 
2887   case 405:
2888 #line 974 "DynareBison.yy" // lalr1.cc:919
2889     { yylhs.value.as < expr_t > () = driver.declare_or_change_type(SymbolType::parameter, yystack_[1].value.as < string > ()); }
2890 #line 2891 "DynareBison.cc" // lalr1.cc:919
2891     break;
2892 
2893   case 406:
2894 #line 976 "DynareBison.yy" // lalr1.cc:919
2895     { yylhs.value.as < expr_t > () = driver.add_non_negative_constant(yystack_[0].value.as < string > ()); }
2896 #line 2897 "DynareBison.cc" // lalr1.cc:919
2897     break;
2898 
2899   case 407:
2900 #line 978 "DynareBison.yy" // lalr1.cc:919
2901     { yylhs.value.as < expr_t > () = driver.add_plus(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2902 #line 2903 "DynareBison.cc" // lalr1.cc:919
2903     break;
2904 
2905   case 408:
2906 #line 980 "DynareBison.yy" // lalr1.cc:919
2907     { yylhs.value.as < expr_t > () = driver.add_minus(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2908 #line 2909 "DynareBison.cc" // lalr1.cc:919
2909     break;
2910 
2911   case 409:
2912 #line 982 "DynareBison.yy" // lalr1.cc:919
2913     { yylhs.value.as < expr_t > () = driver.add_divide(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2914 #line 2915 "DynareBison.cc" // lalr1.cc:919
2915     break;
2916 
2917   case 410:
2918 #line 984 "DynareBison.yy" // lalr1.cc:919
2919     { yylhs.value.as < expr_t > () = driver.add_times(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2920 #line 2921 "DynareBison.cc" // lalr1.cc:919
2921     break;
2922 
2923   case 411:
2924 #line 986 "DynareBison.yy" // lalr1.cc:919
2925     { yylhs.value.as < expr_t > () = driver.add_less(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2926 #line 2927 "DynareBison.cc" // lalr1.cc:919
2927     break;
2928 
2929   case 412:
2930 #line 988 "DynareBison.yy" // lalr1.cc:919
2931     { yylhs.value.as < expr_t > () = driver.add_greater(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2932 #line 2933 "DynareBison.cc" // lalr1.cc:919
2933     break;
2934 
2935   case 413:
2936 #line 990 "DynareBison.yy" // lalr1.cc:919
2937     { yylhs.value.as < expr_t > () = driver.add_less_equal(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2938 #line 2939 "DynareBison.cc" // lalr1.cc:919
2939     break;
2940 
2941   case 414:
2942 #line 992 "DynareBison.yy" // lalr1.cc:919
2943     { yylhs.value.as < expr_t > () = driver.add_greater_equal(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2944 #line 2945 "DynareBison.cc" // lalr1.cc:919
2945     break;
2946 
2947   case 415:
2948 #line 994 "DynareBison.yy" // lalr1.cc:919
2949     { yylhs.value.as < expr_t > () = driver.add_equal_equal(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2950 #line 2951 "DynareBison.cc" // lalr1.cc:919
2951     break;
2952 
2953   case 416:
2954 #line 996 "DynareBison.yy" // lalr1.cc:919
2955     { yylhs.value.as < expr_t > () = driver.add_different(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2956 #line 2957 "DynareBison.cc" // lalr1.cc:919
2957     break;
2958 
2959   case 417:
2960 #line 998 "DynareBison.yy" // lalr1.cc:919
2961     { yylhs.value.as < expr_t > () = driver.add_power(yystack_[2].value.as < expr_t > (), yystack_[0].value.as < expr_t > ()); }
2962 #line 2963 "DynareBison.cc" // lalr1.cc:919
2963     break;
2964 
2965   case 418:
2966 #line 1000 "DynareBison.yy" // lalr1.cc:919
2967     { yylhs.value.as < expr_t > () = driver.add_expectation(yystack_[4].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
2968 #line 2969 "DynareBison.cc" // lalr1.cc:919
2969     break;
2970 
2971   case 419:
2972 #line 1002 "DynareBison.yy" // lalr1.cc:919
2973     { yylhs.value.as < expr_t > () = driver.add_var_expectation(yystack_[1].value.as < string > ()); }
2974 #line 2975 "DynareBison.cc" // lalr1.cc:919
2975     break;
2976 
2977   case 420:
2978 #line 1004 "DynareBison.yy" // lalr1.cc:919
2979     { yylhs.value.as < expr_t > () = driver.add_pac_expectation(yystack_[1].value.as < string > ()); }
2980 #line 2981 "DynareBison.cc" // lalr1.cc:919
2981     break;
2982 
2983   case 421:
2984 #line 1006 "DynareBison.yy" // lalr1.cc:919
2985     { yylhs.value.as < expr_t > () = driver.add_uminus(yystack_[0].value.as < expr_t > ()); }
2986 #line 2987 "DynareBison.cc" // lalr1.cc:919
2987     break;
2988 
2989   case 422:
2990 #line 1008 "DynareBison.yy" // lalr1.cc:919
2991     { yylhs.value.as < expr_t > () = yystack_[0].value.as < expr_t > (); }
2992 #line 2993 "DynareBison.cc" // lalr1.cc:919
2993     break;
2994 
2995   case 423:
2996 #line 1010 "DynareBison.yy" // lalr1.cc:919
2997     { yylhs.value.as < expr_t > () = driver.add_exp(yystack_[1].value.as < expr_t > ()); }
2998 #line 2999 "DynareBison.cc" // lalr1.cc:919
2999     break;
3000 
3001   case 424:
3002 #line 1012 "DynareBison.yy" // lalr1.cc:919
3003     { yylhs.value.as < expr_t > () = driver.add_diff(yystack_[1].value.as < expr_t > ()); }
3004 #line 3005 "DynareBison.cc" // lalr1.cc:919
3005     break;
3006 
3007   case 425:
3008 #line 1014 "DynareBison.yy" // lalr1.cc:919
3009     { yylhs.value.as < expr_t > () = driver.add_adl(yystack_[3].value.as < expr_t > (), yystack_[1].value.as < string > (), "1"); }
3010 #line 3011 "DynareBison.cc" // lalr1.cc:919
3011     break;
3012 
3013   case 426:
3014 #line 1016 "DynareBison.yy" // lalr1.cc:919
3015     { yylhs.value.as < expr_t > () = driver.add_adl(yystack_[5].value.as < expr_t > (), yystack_[3].value.as < string > (), yystack_[1].value.as < string > ()); }
3016 #line 3017 "DynareBison.cc" // lalr1.cc:919
3017     break;
3018 
3019   case 427:
3020 #line 1018 "DynareBison.yy" // lalr1.cc:919
3021     { yylhs.value.as < expr_t > () = driver.add_adl(yystack_[5].value.as < expr_t > (), yystack_[3].value.as < string > (), yystack_[1].value.as < vector<int> > ()); }
3022 #line 3023 "DynareBison.cc" // lalr1.cc:919
3023     break;
3024 
3025   case 428:
3026 #line 1020 "DynareBison.yy" // lalr1.cc:919
3027     { yylhs.value.as < expr_t > () = driver.add_log(yystack_[1].value.as < expr_t > ()); }
3028 #line 3029 "DynareBison.cc" // lalr1.cc:919
3029     break;
3030 
3031   case 429:
3032 #line 1022 "DynareBison.yy" // lalr1.cc:919
3033     { yylhs.value.as < expr_t > () = driver.add_log(yystack_[1].value.as < expr_t > ()); }
3034 #line 3035 "DynareBison.cc" // lalr1.cc:919
3035     break;
3036 
3037   case 430:
3038 #line 1024 "DynareBison.yy" // lalr1.cc:919
3039     { yylhs.value.as < expr_t > () = driver.add_log10(yystack_[1].value.as < expr_t > ()); }
3040 #line 3041 "DynareBison.cc" // lalr1.cc:919
3041     break;
3042 
3043   case 431:
3044 #line 1026 "DynareBison.yy" // lalr1.cc:919
3045     { yylhs.value.as < expr_t > () = driver.add_sin(yystack_[1].value.as < expr_t > ()); }
3046 #line 3047 "DynareBison.cc" // lalr1.cc:919
3047     break;
3048 
3049   case 432:
3050 #line 1028 "DynareBison.yy" // lalr1.cc:919
3051     { yylhs.value.as < expr_t > () = driver.add_cos(yystack_[1].value.as < expr_t > ()); }
3052 #line 3053 "DynareBison.cc" // lalr1.cc:919
3053     break;
3054 
3055   case 433:
3056 #line 1030 "DynareBison.yy" // lalr1.cc:919
3057     { yylhs.value.as < expr_t > () = driver.add_tan(yystack_[1].value.as < expr_t > ()); }
3058 #line 3059 "DynareBison.cc" // lalr1.cc:919
3059     break;
3060 
3061   case 434:
3062 #line 1032 "DynareBison.yy" // lalr1.cc:919
3063     { yylhs.value.as < expr_t > () = driver.add_asin(yystack_[1].value.as < expr_t > ()); }
3064 #line 3065 "DynareBison.cc" // lalr1.cc:919
3065     break;
3066 
3067   case 435:
3068 #line 1034 "DynareBison.yy" // lalr1.cc:919
3069     { yylhs.value.as < expr_t > () = driver.add_acos(yystack_[1].value.as < expr_t > ()); }
3070 #line 3071 "DynareBison.cc" // lalr1.cc:919
3071     break;
3072 
3073   case 436:
3074 #line 1036 "DynareBison.yy" // lalr1.cc:919
3075     { yylhs.value.as < expr_t > () = driver.add_atan(yystack_[1].value.as < expr_t > ()); }
3076 #line 3077 "DynareBison.cc" // lalr1.cc:919
3077     break;
3078 
3079   case 437:
3080 #line 1038 "DynareBison.yy" // lalr1.cc:919
3081     { yylhs.value.as < expr_t > () = driver.add_sqrt(yystack_[1].value.as < expr_t > ()); }
3082 #line 3083 "DynareBison.cc" // lalr1.cc:919
3083     break;
3084 
3085   case 438:
3086 #line 1040 "DynareBison.yy" // lalr1.cc:919
3087     { yylhs.value.as < expr_t > () = driver.add_cbrt(yystack_[1].value.as < expr_t > ()); }
3088 #line 3089 "DynareBison.cc" // lalr1.cc:919
3089     break;
3090 
3091   case 439:
3092 #line 1042 "DynareBison.yy" // lalr1.cc:919
3093     { yylhs.value.as < expr_t > () = driver.add_abs(yystack_[1].value.as < expr_t > ()); }
3094 #line 3095 "DynareBison.cc" // lalr1.cc:919
3095     break;
3096 
3097   case 440:
3098 #line 1044 "DynareBison.yy" // lalr1.cc:919
3099     { yylhs.value.as < expr_t > () = driver.add_sign(yystack_[1].value.as < expr_t > ()); }
3100 #line 3101 "DynareBison.cc" // lalr1.cc:919
3101     break;
3102 
3103   case 441:
3104 #line 1046 "DynareBison.yy" // lalr1.cc:919
3105     { yylhs.value.as < expr_t > () = driver.add_max(yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
3106 #line 3107 "DynareBison.cc" // lalr1.cc:919
3107     break;
3108 
3109   case 442:
3110 #line 1048 "DynareBison.yy" // lalr1.cc:919
3111     { yylhs.value.as < expr_t > () = driver.add_min(yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
3112 #line 3113 "DynareBison.cc" // lalr1.cc:919
3113     break;
3114 
3115   case 443:
3116 #line 1049 "DynareBison.yy" // lalr1.cc:919
3117     { driver.push_external_function_arg_vector_onto_stack(); }
3118 #line 3119 "DynareBison.cc" // lalr1.cc:919
3119     break;
3120 
3121   case 444:
3122 #line 1050 "DynareBison.yy" // lalr1.cc:919
3123     { yylhs.value.as < expr_t > () = driver.add_model_var_or_external_function(yystack_[4].value.as < string > (), true); }
3124 #line 3125 "DynareBison.cc" // lalr1.cc:919
3125     break;
3126 
3127   case 445:
3128 #line 1052 "DynareBison.yy" // lalr1.cc:919
3129     { yylhs.value.as < expr_t > () = driver.add_normcdf(yystack_[5].value.as < expr_t > (), yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
3130 #line 3131 "DynareBison.cc" // lalr1.cc:919
3131     break;
3132 
3133   case 446:
3134 #line 1054 "DynareBison.yy" // lalr1.cc:919
3135     { yylhs.value.as < expr_t > () = driver.add_normcdf(yystack_[1].value.as < expr_t > ()); }
3136 #line 3137 "DynareBison.cc" // lalr1.cc:919
3137     break;
3138 
3139   case 447:
3140 #line 1056 "DynareBison.yy" // lalr1.cc:919
3141     { yylhs.value.as < expr_t > () = driver.add_normpdf(yystack_[5].value.as < expr_t > (), yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ()); }
3142 #line 3143 "DynareBison.cc" // lalr1.cc:919
3143     break;
3144 
3145   case 448:
3146 #line 1058 "DynareBison.yy" // lalr1.cc:919
3147     { yylhs.value.as < expr_t > () = driver.add_normpdf(yystack_[1].value.as < expr_t > ()); }
3148 #line 3149 "DynareBison.cc" // lalr1.cc:919
3149     break;
3150 
3151   case 449:
3152 #line 1060 "DynareBison.yy" // lalr1.cc:919
3153     { yylhs.value.as < expr_t > () = driver.add_erf(yystack_[1].value.as < expr_t > ()); }
3154 #line 3155 "DynareBison.cc" // lalr1.cc:919
3155     break;
3156 
3157   case 450:
3158 #line 1062 "DynareBison.yy" // lalr1.cc:919
3159     { yylhs.value.as < expr_t > () = driver.add_steady_state(yystack_[1].value.as < expr_t > ()); }
3160 #line 3161 "DynareBison.cc" // lalr1.cc:919
3161     break;
3162 
3163   case 451:
3164 #line 1066 "DynareBison.yy" // lalr1.cc:919
3165     { driver.add_external_function_arg(yystack_[0].value.as < expr_t > ()); }
3166 #line 3167 "DynareBison.cc" // lalr1.cc:919
3167     break;
3168 
3169   case 452:
3170 #line 1068 "DynareBison.yy" // lalr1.cc:919
3171     { driver.add_external_function_arg(yystack_[0].value.as < expr_t > ()); }
3172 #line 3173 "DynareBison.cc" // lalr1.cc:919
3173     break;
3174 
3175   case 453:
3176 #line 1072 "DynareBison.yy" // lalr1.cc:919
3177     { driver.declare_and_init_model_local_variable(yystack_[3].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
3178 #line 3179 "DynareBison.cc" // lalr1.cc:919
3179     break;
3180 
3181   case 454:
3182 #line 1074 "DynareBison.yy" // lalr1.cc:919
3183     { driver.end_shocks(false); }
3184 #line 3185 "DynareBison.cc" // lalr1.cc:919
3185     break;
3186 
3187   case 455:
3188 #line 1075 "DynareBison.yy" // lalr1.cc:919
3189     { driver.end_shocks(true); }
3190 #line 3191 "DynareBison.cc" // lalr1.cc:919
3191     break;
3192 
3193   case 459:
3194 #line 1084 "DynareBison.yy" // lalr1.cc:919
3195     { driver.add_stderr_shock(yystack_[4].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
3196 #line 3197 "DynareBison.cc" // lalr1.cc:919
3197     break;
3198 
3199   case 460:
3200 #line 1086 "DynareBison.yy" // lalr1.cc:919
3201     { driver.add_var_shock(yystack_[3].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
3202 #line 3203 "DynareBison.cc" // lalr1.cc:919
3203     break;
3204 
3205   case 461:
3206 #line 1088 "DynareBison.yy" // lalr1.cc:919
3207     { driver.add_covar_shock(yystack_[5].value.as < string > (), yystack_[3].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
3208 #line 3209 "DynareBison.cc" // lalr1.cc:919
3209     break;
3210 
3211   case 462:
3212 #line 1090 "DynareBison.yy" // lalr1.cc:919
3213     { driver.add_correl_shock(yystack_[5].value.as < string > (), yystack_[3].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
3214 #line 3215 "DynareBison.cc" // lalr1.cc:919
3215     break;
3216 
3217   case 463:
3218 #line 1094 "DynareBison.yy" // lalr1.cc:919
3219     { driver.add_det_shock(yystack_[7].value.as < string > (), false); }
3220 #line 3221 "DynareBison.cc" // lalr1.cc:919
3221     break;
3222 
3223   case 464:
3224 #line 1097 "DynareBison.yy" // lalr1.cc:919
3225     {driver.begin_svar_identification();}
3226 #line 3227 "DynareBison.cc" // lalr1.cc:919
3227     break;
3228 
3229   case 465:
3230 #line 1098 "DynareBison.yy" // lalr1.cc:919
3231     { driver.end_svar_identification(); }
3232 #line 3233 "DynareBison.cc" // lalr1.cc:919
3233     break;
3234 
3235   case 468:
3236 #line 1106 "DynareBison.yy" // lalr1.cc:919
3237     { driver.combine_lag_and_restriction(yystack_[2].value.as < string > ()); }
3238 #line 3239 "DynareBison.cc" // lalr1.cc:919
3239     break;
3240 
3241   case 469:
3242 #line 1108 "DynareBison.yy" // lalr1.cc:919
3243     { driver.add_constants_exclusion(); }
3244 #line 3245 "DynareBison.cc" // lalr1.cc:919
3245     break;
3246 
3247   case 470:
3248 #line 1110 "DynareBison.yy" // lalr1.cc:919
3249     { driver.add_restriction_equation_nbr(yystack_[1].value.as < string > ());}
3250 #line 3251 "DynareBison.cc" // lalr1.cc:919
3251     break;
3252 
3253   case 471:
3254 #line 1112 "DynareBison.yy" // lalr1.cc:919
3255     {driver.add_restriction_equal();}
3256 #line 3257 "DynareBison.cc" // lalr1.cc:919
3257     break;
3258 
3259   case 473:
3260 #line 1115 "DynareBison.yy" // lalr1.cc:919
3261     { driver.add_upper_cholesky(); }
3262 #line 3263 "DynareBison.cc" // lalr1.cc:919
3263     break;
3264 
3265   case 474:
3266 #line 1117 "DynareBison.yy" // lalr1.cc:919
3267     { driver.add_lower_cholesky(); }
3268 #line 3269 "DynareBison.cc" // lalr1.cc:919
3269     break;
3270 
3271   case 475:
3272 #line 1121 "DynareBison.yy" // lalr1.cc:919
3273     { driver.add_restriction_in_equation(yystack_[3].value.as < string > ()); }
3274 #line 3275 "DynareBison.cc" // lalr1.cc:919
3275     break;
3276 
3277   case 476:
3278 #line 1123 "DynareBison.yy" // lalr1.cc:919
3279     { driver.add_restriction_in_equation(yystack_[3].value.as < string > ()); }
3280 #line 3281 "DynareBison.cc" // lalr1.cc:919
3281     break;
3282 
3283   case 477:
3284 #line 1127 "DynareBison.yy" // lalr1.cc:919
3285     { driver.add_in_svar_restriction_symbols(yystack_[0].value.as < string > ()); }
3286 #line 3287 "DynareBison.cc" // lalr1.cc:919
3287     break;
3288 
3289   case 478:
3290 #line 1129 "DynareBison.yy" // lalr1.cc:919
3291     { driver.add_in_svar_restriction_symbols(yystack_[0].value.as < string > ()); }
3292 #line 3293 "DynareBison.cc" // lalr1.cc:919
3293     break;
3294 
3295   case 479:
3296 #line 1132 "DynareBison.yy" // lalr1.cc:919
3297     {driver.check_restriction_expression_constant(yystack_[0].value.as < expr_t > ());}
3298 #line 3299 "DynareBison.cc" // lalr1.cc:919
3299     break;
3300 
3301   case 483:
3302 #line 1141 "DynareBison.yy" // lalr1.cc:919
3303     { driver.add_positive_restriction_element(yystack_[3].value.as < string > (),yystack_[1].value.as < string > ());}
3304 #line 3305 "DynareBison.cc" // lalr1.cc:919
3305     break;
3306 
3307   case 484:
3308 #line 1143 "DynareBison.yy" // lalr1.cc:919
3309     { driver.add_positive_restriction_element(yystack_[3].value.as < string > (),yystack_[1].value.as < string > ());}
3310 #line 3311 "DynareBison.cc" // lalr1.cc:919
3311     break;
3312 
3313   case 485:
3314 #line 1145 "DynareBison.yy" // lalr1.cc:919
3315     { driver.add_negative_restriction_element(yystack_[3].value.as < string > (),yystack_[1].value.as < string > ());}
3316 #line 3317 "DynareBison.cc" // lalr1.cc:919
3317     break;
3318 
3319   case 486:
3320 #line 1147 "DynareBison.yy" // lalr1.cc:919
3321     { driver.add_positive_restriction_element(yystack_[7].value.as < expr_t > (),yystack_[3].value.as < string > (),yystack_[1].value.as < string > ());}
3322 #line 3323 "DynareBison.cc" // lalr1.cc:919
3323     break;
3324 
3325   case 487:
3326 #line 1151 "DynareBison.yy" // lalr1.cc:919
3327     { driver.add_svar_global_identification_check(); }
3328 #line 3329 "DynareBison.cc" // lalr1.cc:919
3329     break;
3330 
3331   case 488:
3332 #line 1155 "DynareBison.yy" // lalr1.cc:919
3333     { driver.markov_switching(); }
3334 #line 3335 "DynareBison.cc" // lalr1.cc:919
3335     break;
3336 
3337   case 497:
3338 #line 1171 "DynareBison.yy" // lalr1.cc:919
3339     { driver.svar(); }
3340 #line 3341 "DynareBison.cc" // lalr1.cc:919
3341     break;
3342 
3343   case 504:
3344 #line 1184 "DynareBison.yy" // lalr1.cc:919
3345     { driver.end_mshocks(false); }
3346 #line 3347 "DynareBison.cc" // lalr1.cc:919
3347     break;
3348 
3349   case 505:
3350 #line 1185 "DynareBison.yy" // lalr1.cc:919
3351     { driver.end_mshocks(true); }
3352 #line 3353 "DynareBison.cc" // lalr1.cc:919
3353     break;
3354 
3355   case 508:
3356 #line 1193 "DynareBison.yy" // lalr1.cc:919
3357     { driver.add_period(yystack_[0].value.as < string > ()); }
3358 #line 3359 "DynareBison.cc" // lalr1.cc:919
3359     break;
3360 
3361   case 509:
3362 #line 1195 "DynareBison.yy" // lalr1.cc:919
3363     { driver.add_period(yystack_[0].value.as < string > ()); }
3364 #line 3365 "DynareBison.cc" // lalr1.cc:919
3365     break;
3366 
3367   case 510:
3368 #line 1197 "DynareBison.yy" // lalr1.cc:919
3369     { driver.add_period(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
3370 #line 3371 "DynareBison.cc" // lalr1.cc:919
3371     break;
3372 
3373   case 511:
3374 #line 1199 "DynareBison.yy" // lalr1.cc:919
3375     { driver.add_period(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
3376 #line 3377 "DynareBison.cc" // lalr1.cc:919
3377     break;
3378 
3379   case 512:
3380 #line 1201 "DynareBison.yy" // lalr1.cc:919
3381     { driver.add_period(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
3382 #line 3383 "DynareBison.cc" // lalr1.cc:919
3383     break;
3384 
3385   case 513:
3386 #line 1203 "DynareBison.yy" // lalr1.cc:919
3387     { driver.add_period(yystack_[0].value.as < string > ()); }
3388 #line 3389 "DynareBison.cc" // lalr1.cc:919
3389     break;
3390 
3391   case 514:
3392 #line 1206 "DynareBison.yy" // lalr1.cc:919
3393     { driver.do_sigma_e(); }
3394 #line 3395 "DynareBison.cc" // lalr1.cc:919
3395     break;
3396 
3397   case 515:
3398 #line 1209 "DynareBison.yy" // lalr1.cc:919
3399     { driver.add_value(yystack_[1].value.as < expr_t > ()); }
3400 #line 3401 "DynareBison.cc" // lalr1.cc:919
3401     break;
3402 
3403   case 516:
3404 #line 1211 "DynareBison.yy" // lalr1.cc:919
3405     { driver.add_value(yystack_[1].value.as < expr_t > ()); }
3406 #line 3407 "DynareBison.cc" // lalr1.cc:919
3407     break;
3408 
3409   case 517:
3410 #line 1213 "DynareBison.yy" // lalr1.cc:919
3411     { driver.add_value(yystack_[1].value.as < expr_t > ()); }
3412 #line 3413 "DynareBison.cc" // lalr1.cc:919
3413     break;
3414 
3415   case 518:
3416 #line 1215 "DynareBison.yy" // lalr1.cc:919
3417     { driver.add_value(yystack_[0].value.as < string > ()); }
3418 #line 3419 "DynareBison.cc" // lalr1.cc:919
3419     break;
3420 
3421   case 519:
3422 #line 1217 "DynareBison.yy" // lalr1.cc:919
3423     { driver.add_value(yystack_[0].value.as < string > ()); }
3424 #line 3425 "DynareBison.cc" // lalr1.cc:919
3425     break;
3426 
3427   case 520:
3428 #line 1219 "DynareBison.yy" // lalr1.cc:919
3429     { driver.add_value(yystack_[0].value.as < string > ()); }
3430 #line 3431 "DynareBison.cc" // lalr1.cc:919
3431     break;
3432 
3433   case 521:
3434 #line 1223 "DynareBison.yy" // lalr1.cc:919
3435     { driver.end_of_row(); }
3436 #line 3437 "DynareBison.cc" // lalr1.cc:919
3437     break;
3438 
3439   case 522:
3440 #line 1225 "DynareBison.yy" // lalr1.cc:919
3441     { driver.end_of_row(); }
3442 #line 3443 "DynareBison.cc" // lalr1.cc:919
3443     break;
3444 
3445   case 523:
3446 #line 1229 "DynareBison.yy" // lalr1.cc:919
3447     { driver.add_to_row(yystack_[1].value.as < expr_t > ()); }
3448 #line 3449 "DynareBison.cc" // lalr1.cc:919
3449     break;
3450 
3451   case 524:
3452 #line 1231 "DynareBison.yy" // lalr1.cc:919
3453     { driver.add_to_row_const(yystack_[0].value.as < string > ()); }
3454 #line 3455 "DynareBison.cc" // lalr1.cc:919
3455     break;
3456 
3457   case 525:
3458 #line 1233 "DynareBison.yy" // lalr1.cc:919
3459     { driver.add_to_row(yystack_[1].value.as < expr_t > ()); }
3460 #line 3461 "DynareBison.cc" // lalr1.cc:919
3461     break;
3462 
3463   case 526:
3464 #line 1235 "DynareBison.yy" // lalr1.cc:919
3465     { driver.add_to_row_const(yystack_[0].value.as < string > ()); }
3466 #line 3467 "DynareBison.cc" // lalr1.cc:919
3467     break;
3468 
3469   case 527:
3470 #line 1237 "DynareBison.yy" // lalr1.cc:919
3471     { driver.add_to_row(yystack_[1].value.as < expr_t > ()); }
3472 #line 3473 "DynareBison.cc" // lalr1.cc:919
3473     break;
3474 
3475   case 528:
3476 #line 1239 "DynareBison.yy" // lalr1.cc:919
3477     { driver.add_to_row_const(yystack_[0].value.as < string > ()); }
3478 #line 3479 "DynareBison.cc" // lalr1.cc:919
3479     break;
3480 
3481   case 529:
3482 #line 1243 "DynareBison.yy" // lalr1.cc:919
3483     { driver.steady(); }
3484 #line 3485 "DynareBison.cc" // lalr1.cc:919
3485     break;
3486 
3487   case 530:
3488 #line 1245 "DynareBison.yy" // lalr1.cc:919
3489     { driver.steady(); }
3490 #line 3491 "DynareBison.cc" // lalr1.cc:919
3491     break;
3492 
3493   case 541:
3494 #line 1263 "DynareBison.yy" // lalr1.cc:919
3495     { driver.check(); }
3496 #line 3497 "DynareBison.cc" // lalr1.cc:919
3497     break;
3498 
3499   case 542:
3500 #line 1265 "DynareBison.yy" // lalr1.cc:919
3501     { driver.check(); }
3502 #line 3503 "DynareBison.cc" // lalr1.cc:919
3503     break;
3504 
3505   case 547:
3506 #line 1277 "DynareBison.yy" // lalr1.cc:919
3507     { driver.model_info(); }
3508 #line 3509 "DynareBison.cc" // lalr1.cc:919
3509     break;
3510 
3511   case 548:
3512 #line 1279 "DynareBison.yy" // lalr1.cc:919
3513     { driver.model_info(); }
3514 #line 3515 "DynareBison.cc" // lalr1.cc:919
3515     break;
3516 
3517   case 552:
3518 #line 1288 "DynareBison.yy" // lalr1.cc:919
3519     { driver.perfect_foresight_setup(); }
3520 #line 3521 "DynareBison.cc" // lalr1.cc:919
3521     break;
3522 
3523   case 553:
3524 #line 1290 "DynareBison.yy" // lalr1.cc:919
3525     { driver.perfect_foresight_setup(); }
3526 #line 3527 "DynareBison.cc" // lalr1.cc:919
3527     break;
3528 
3529   case 558:
3530 #line 1302 "DynareBison.yy" // lalr1.cc:919
3531     { driver.perfect_foresight_solver(); }
3532 #line 3533 "DynareBison.cc" // lalr1.cc:919
3533     break;
3534 
3535   case 559:
3536 #line 1304 "DynareBison.yy" // lalr1.cc:919
3537     { driver.perfect_foresight_solver(); }
3538 #line 3539 "DynareBison.cc" // lalr1.cc:919
3539     break;
3540 
3541   case 623:
3542 #line 1377 "DynareBison.yy" // lalr1.cc:919
3543     { driver.gmm_estimation(); }
3544 #line 3545 "DynareBison.cc" // lalr1.cc:919
3545     break;
3546 
3547   case 624:
3548 #line 1379 "DynareBison.yy" // lalr1.cc:919
3549     { driver.gmm_estimation(); }
3550 #line 3551 "DynareBison.cc" // lalr1.cc:919
3551     break;
3552 
3553   case 636:
3554 #line 1398 "DynareBison.yy" // lalr1.cc:919
3555     { driver.smm_estimation(); }
3556 #line 3557 "DynareBison.cc" // lalr1.cc:919
3557     break;
3558 
3559   case 637:
3560 #line 1400 "DynareBison.yy" // lalr1.cc:919
3561     { driver.smm_estimation(); }
3562 #line 3563 "DynareBison.cc" // lalr1.cc:919
3563     break;
3564 
3565   case 653:
3566 #line 1423 "DynareBison.yy" // lalr1.cc:919
3567     { driver.prior_posterior_function(true); }
3568 #line 3569 "DynareBison.cc" // lalr1.cc:919
3569     break;
3570 
3571   case 654:
3572 #line 1427 "DynareBison.yy" // lalr1.cc:919
3573     { driver.prior_posterior_function(false); }
3574 #line 3575 "DynareBison.cc" // lalr1.cc:919
3575     break;
3576 
3577   case 659:
3578 #line 1439 "DynareBison.yy" // lalr1.cc:919
3579     { driver.simul(); }
3580 #line 3581 "DynareBison.cc" // lalr1.cc:919
3581     break;
3582 
3583   case 660:
3584 #line 1441 "DynareBison.yy" // lalr1.cc:919
3585     { driver.simul(); }
3586 #line 3587 "DynareBison.cc" // lalr1.cc:919
3587     break;
3588 
3589   case 665:
3590 #line 1453 "DynareBison.yy" // lalr1.cc:919
3591     { driver.external_function(); }
3592 #line 3593 "DynareBison.cc" // lalr1.cc:919
3593     break;
3594 
3595   case 672:
3596 #line 1467 "DynareBison.yy" // lalr1.cc:919
3597     { driver.stoch_simul(); }
3598 #line 3599 "DynareBison.cc" // lalr1.cc:919
3599     break;
3600 
3601   case 673:
3602 #line 1469 "DynareBison.yy" // lalr1.cc:919
3603     { driver.stoch_simul(); }
3604 #line 3605 "DynareBison.cc" // lalr1.cc:919
3605     break;
3606 
3607   case 674:
3608 #line 1471 "DynareBison.yy" // lalr1.cc:919
3609     { driver.stoch_simul(); }
3610 #line 3611 "DynareBison.cc" // lalr1.cc:919
3611     break;
3612 
3613   case 675:
3614 #line 1473 "DynareBison.yy" // lalr1.cc:919
3615     { driver.stoch_simul(); }
3616 #line 3617 "DynareBison.cc" // lalr1.cc:919
3617     break;
3618 
3619   case 734:
3620 #line 1541 "DynareBison.yy" // lalr1.cc:919
3621     { driver.add_in_symbol_list(yystack_[0].value.as < string > ()); }
3622 #line 3623 "DynareBison.cc" // lalr1.cc:919
3623     break;
3624 
3625   case 735:
3626 #line 1543 "DynareBison.yy" // lalr1.cc:919
3627     { driver.add_in_symbol_list(yystack_[0].value.as < string > ()); }
3628 #line 3629 "DynareBison.cc" // lalr1.cc:919
3629     break;
3630 
3631   case 736:
3632 #line 1545 "DynareBison.yy" // lalr1.cc:919
3633     { driver.add_in_symbol_list(yystack_[0].value.as < string > ()); }
3634 #line 3635 "DynareBison.cc" // lalr1.cc:919
3635     break;
3636 
3637   case 738:
3638 #line 1550 "DynareBison.yy" // lalr1.cc:919
3639     { driver.add_in_symbol_list(":"); }
3640 #line 3641 "DynareBison.cc" // lalr1.cc:919
3641     break;
3642 
3643   case 739:
3644 #line 1554 "DynareBison.yy" // lalr1.cc:919
3645     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3646 #line 3647 "DynareBison.cc" // lalr1.cc:919
3647     break;
3648 
3649   case 740:
3650 #line 1556 "DynareBison.yy" // lalr1.cc:919
3651     {
3652                    yylhs.value.as < string > () = yystack_[0].value.as < string > ();
3653                    yylhs.value.as < string > ().insert(0, "-");
3654                  }
3655 #line 3656 "DynareBison.cc" // lalr1.cc:919
3656     break;
3657 
3658   case 741:
3659 #line 1560 "DynareBison.yy" // lalr1.cc:919
3660     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3661 #line 3662 "DynareBison.cc" // lalr1.cc:919
3662     break;
3663 
3664   case 742:
3665 #line 1563 "DynareBison.yy" // lalr1.cc:919
3666     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3667 #line 3668 "DynareBison.cc" // lalr1.cc:919
3668     break;
3669 
3670   case 743:
3671 #line 1564 "DynareBison.yy" // lalr1.cc:919
3672     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3673 #line 3674 "DynareBison.cc" // lalr1.cc:919
3674     break;
3675 
3676   case 744:
3677 #line 1568 "DynareBison.yy" // lalr1.cc:919
3678     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3679 #line 3680 "DynareBison.cc" // lalr1.cc:919
3680     break;
3681 
3682   case 745:
3683 #line 1570 "DynareBison.yy" // lalr1.cc:919
3684     {
3685                  yylhs.value.as < string > () = yystack_[0].value.as < string > ();
3686                  yylhs.value.as < string > ().insert(0, "-");
3687                }
3688 #line 3689 "DynareBison.cc" // lalr1.cc:919
3689     break;
3690 
3691   case 746:
3692 #line 1574 "DynareBison.yy" // lalr1.cc:919
3693     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3694 #line 3695 "DynareBison.cc" // lalr1.cc:919
3695     break;
3696 
3697   case 747:
3698 #line 1578 "DynareBison.yy" // lalr1.cc:919
3699     { yylhs.value.as < string > () = "Inf"; }
3700 #line 3701 "DynareBison.cc" // lalr1.cc:919
3701     break;
3702 
3703   case 748:
3704 #line 1580 "DynareBison.yy" // lalr1.cc:919
3705     { yylhs.value.as < string > () = "-Inf"; }
3706 #line 3707 "DynareBison.cc" // lalr1.cc:919
3707     break;
3708 
3709   case 749:
3710 #line 1582 "DynareBison.yy" // lalr1.cc:919
3711     { yylhs.value.as < string > () = "Inf"; }
3712 #line 3713 "DynareBison.cc" // lalr1.cc:919
3713     break;
3714 
3715   case 750:
3716 #line 1585 "DynareBison.yy" // lalr1.cc:919
3717     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3718 #line 3719 "DynareBison.cc" // lalr1.cc:919
3719     break;
3720 
3721   case 751:
3722 #line 1586 "DynareBison.yy" // lalr1.cc:919
3723     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3724 #line 3725 "DynareBison.cc" // lalr1.cc:919
3725     break;
3726 
3727   case 752:
3728 #line 1589 "DynareBison.yy" // lalr1.cc:919
3729     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3730 #line 3731 "DynareBison.cc" // lalr1.cc:919
3731     break;
3732 
3733   case 753:
3734 #line 1590 "DynareBison.yy" // lalr1.cc:919
3735     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
3736 #line 3737 "DynareBison.cc" // lalr1.cc:919
3737     break;
3738 
3739   case 754:
3740 #line 1593 "DynareBison.yy" // lalr1.cc:919
3741     { driver.estimated_params(); }
3742 #line 3743 "DynareBison.cc" // lalr1.cc:919
3743     break;
3744 
3745   case 755:
3746 #line 1596 "DynareBison.yy" // lalr1.cc:919
3747     { driver.add_estimated_params_element(); }
3748 #line 3749 "DynareBison.cc" // lalr1.cc:919
3749     break;
3750 
3751   case 756:
3752 #line 1598 "DynareBison.yy" // lalr1.cc:919
3753     { driver.add_estimated_params_element(); }
3754 #line 3755 "DynareBison.cc" // lalr1.cc:919
3755     break;
3756 
3757   case 759:
3758 #line 1605 "DynareBison.yy" // lalr1.cc:919
3759     {
3760                     driver.estim_params.type = 1;
3761                     driver.estim_params.name = yystack_[0].value.as < string > ();
3762                   }
3763 #line 3764 "DynareBison.cc" // lalr1.cc:919
3764     break;
3765 
3766   case 760:
3767 #line 1610 "DynareBison.yy" // lalr1.cc:919
3768     {
3769                     driver.estim_params.type = 2;
3770                     driver.estim_params.name = yystack_[0].value.as < string > ();
3771                   }
3772 #line 3773 "DynareBison.cc" // lalr1.cc:919
3773     break;
3774 
3775   case 761:
3776 #line 1615 "DynareBison.yy" // lalr1.cc:919
3777     {
3778                     driver.estim_params.type = 3;
3779                     driver.estim_params.name = yystack_[2].value.as < string > ();
3780                     driver.estim_params.name2 = yystack_[0].value.as < string > ();
3781                   }
3782 #line 3783 "DynareBison.cc" // lalr1.cc:919
3783     break;
3784 
3785   case 762:
3786 #line 1621 "DynareBison.yy" // lalr1.cc:919
3787     {
3788                     driver.estim_params.type = 2;
3789                     driver.estim_params.name = "dsge_prior_weight";
3790                   }
3791 #line 3792 "DynareBison.cc" // lalr1.cc:919
3792     break;
3793 
3794   case 763:
3795 #line 1628 "DynareBison.yy" // lalr1.cc:919
3796     {
3797                     driver.estim_params.prior = yystack_[2].value.as < PriorDistributions > ();
3798                   }
3799 #line 3800 "DynareBison.cc" // lalr1.cc:919
3800     break;
3801 
3802   case 764:
3803 #line 1632 "DynareBison.yy" // lalr1.cc:919
3804     {
3805                     driver.estim_params.init_val = yystack_[4].value.as < expr_t > ();
3806                     driver.estim_params.prior = yystack_[2].value.as < PriorDistributions > ();
3807                   }
3808 #line 3809 "DynareBison.cc" // lalr1.cc:919
3809     break;
3810 
3811   case 765:
3812 #line 1637 "DynareBison.yy" // lalr1.cc:919
3813     {
3814                     driver.estim_params.init_val = yystack_[8].value.as < expr_t > ();
3815                     driver.estim_params.low_bound = yystack_[6].value.as < expr_t > ();
3816                     driver.estim_params.up_bound = yystack_[4].value.as < expr_t > ();
3817                     driver.estim_params.prior = yystack_[2].value.as < PriorDistributions > ();
3818                   }
3819 #line 3820 "DynareBison.cc" // lalr1.cc:919
3820     break;
3821 
3822   case 766:
3823 #line 1644 "DynareBison.yy" // lalr1.cc:919
3824     {
3825                     driver.estim_params.init_val = yystack_[0].value.as < expr_t > ();
3826                   }
3827 #line 3828 "DynareBison.cc" // lalr1.cc:919
3828     break;
3829 
3830   case 767:
3831 #line 1648 "DynareBison.yy" // lalr1.cc:919
3832     {
3833                     driver.estim_params.init_val = yystack_[4].value.as < expr_t > ();
3834                     driver.estim_params.low_bound = yystack_[2].value.as < expr_t > ();
3835                     driver.estim_params.up_bound = yystack_[0].value.as < expr_t > ();
3836                   }
3837 #line 3838 "DynareBison.cc" // lalr1.cc:919
3838     break;
3839 
3840   case 768:
3841 #line 1656 "DynareBison.yy" // lalr1.cc:919
3842     {
3843                     driver.estim_params.mean = yystack_[2].value.as < expr_t > ();
3844                     driver.estim_params.std = yystack_[0].value.as < expr_t > ();
3845                   }
3846 #line 3847 "DynareBison.cc" // lalr1.cc:919
3847     break;
3848 
3849   case 769:
3850 #line 1661 "DynareBison.yy" // lalr1.cc:919
3851     {
3852                     driver.estim_params.mean = yystack_[4].value.as < expr_t > ();
3853                     driver.estim_params.std = yystack_[2].value.as < expr_t > ();
3854                     driver.estim_params.p3 = yystack_[0].value.as < expr_t > ();
3855                   }
3856 #line 3857 "DynareBison.cc" // lalr1.cc:919
3857     break;
3858 
3859   case 770:
3860 #line 1667 "DynareBison.yy" // lalr1.cc:919
3861     {
3862                     driver.estim_params.mean = yystack_[6].value.as < expr_t > ();
3863                     driver.estim_params.std = yystack_[4].value.as < expr_t > ();
3864                     driver.estim_params.p3 = yystack_[2].value.as < expr_t > ();
3865                     driver.estim_params.p4 = yystack_[0].value.as < expr_t > ();
3866                   }
3867 #line 3868 "DynareBison.cc" // lalr1.cc:919
3868     break;
3869 
3870   case 771:
3871 #line 1674 "DynareBison.yy" // lalr1.cc:919
3872     {
3873                     driver.estim_params.mean = yystack_[8].value.as < expr_t > ();
3874                     driver.estim_params.std = yystack_[6].value.as < expr_t > ();
3875                     driver.estim_params.p3 = yystack_[4].value.as < expr_t > ();
3876                     driver.estim_params.p4 = yystack_[2].value.as < expr_t > ();
3877                     driver.estim_params.jscale = yystack_[0].value.as < expr_t > ();
3878                   }
3879 #line 3880 "DynareBison.cc" // lalr1.cc:919
3880     break;
3881 
3882   case 772:
3883 #line 1684 "DynareBison.yy" // lalr1.cc:919
3884     { driver.estimated_params_init(); }
3885 #line 3886 "DynareBison.cc" // lalr1.cc:919
3886     break;
3887 
3888   case 773:
3889 #line 1686 "DynareBison.yy" // lalr1.cc:919
3890     { driver.estimated_params_init(true); }
3891 #line 3892 "DynareBison.cc" // lalr1.cc:919
3892     break;
3893 
3894   case 774:
3895 #line 1688 "DynareBison.yy" // lalr1.cc:919
3896     { driver.estimated_params_init(true); }
3897 #line 3898 "DynareBison.cc" // lalr1.cc:919
3898     break;
3899 
3900   case 775:
3901 #line 1692 "DynareBison.yy" // lalr1.cc:919
3902     { driver.add_estimated_params_element(); }
3903 #line 3904 "DynareBison.cc" // lalr1.cc:919
3904     break;
3905 
3906   case 776:
3907 #line 1694 "DynareBison.yy" // lalr1.cc:919
3908     { driver.add_estimated_params_element(); }
3909 #line 3910 "DynareBison.cc" // lalr1.cc:919
3910     break;
3911 
3912   case 777:
3913 #line 1698 "DynareBison.yy" // lalr1.cc:919
3914     {
3915                         driver.estim_params.type = 1;
3916                         driver.estim_params.name = yystack_[3].value.as < string > ();
3917                         driver.estim_params.init_val = yystack_[1].value.as < expr_t > ();
3918                       }
3919 #line 3920 "DynareBison.cc" // lalr1.cc:919
3920     break;
3921 
3922   case 778:
3923 #line 1704 "DynareBison.yy" // lalr1.cc:919
3924     {
3925                         driver.estim_params.type = 3;
3926                         driver.estim_params.name = yystack_[5].value.as < string > ();
3927                         driver.estim_params.name2 = yystack_[3].value.as < string > ();
3928                         driver.estim_params.init_val = yystack_[1].value.as < expr_t > ();
3929                       }
3930 #line 3931 "DynareBison.cc" // lalr1.cc:919
3931     break;
3932 
3933   case 779:
3934 #line 1711 "DynareBison.yy" // lalr1.cc:919
3935     {
3936                         driver.estim_params.type = 2;
3937                         driver.estim_params.name = yystack_[3].value.as < string > ();
3938                         driver.estim_params.init_val = yystack_[1].value.as < expr_t > ();
3939                       }
3940 #line 3941 "DynareBison.cc" // lalr1.cc:919
3941     break;
3942 
3943   case 780:
3944 #line 1719 "DynareBison.yy" // lalr1.cc:919
3945     { driver.estimated_params_bounds(); }
3946 #line 3947 "DynareBison.cc" // lalr1.cc:919
3947     break;
3948 
3949   case 781:
3950 #line 1722 "DynareBison.yy" // lalr1.cc:919
3951     { driver.add_estimated_params_element(); }
3952 #line 3953 "DynareBison.cc" // lalr1.cc:919
3953     break;
3954 
3955   case 782:
3956 #line 1724 "DynareBison.yy" // lalr1.cc:919
3957     { driver.add_estimated_params_element(); }
3958 #line 3959 "DynareBison.cc" // lalr1.cc:919
3959     break;
3960 
3961   case 783:
3962 #line 1728 "DynareBison.yy" // lalr1.cc:919
3963     {
3964                           driver.estim_params.type = 1;
3965                           driver.estim_params.name = yystack_[5].value.as < string > ();
3966                           driver.estim_params.low_bound = yystack_[3].value.as < expr_t > ();
3967                           driver.estim_params.up_bound = yystack_[1].value.as < expr_t > ();
3968                         }
3969 #line 3970 "DynareBison.cc" // lalr1.cc:919
3970     break;
3971 
3972   case 784:
3973 #line 1735 "DynareBison.yy" // lalr1.cc:919
3974     {
3975                           driver.estim_params.type = 3;
3976                           driver.estim_params.name = yystack_[7].value.as < string > ();
3977                           driver.estim_params.name2 = yystack_[5].value.as < string > ();
3978                           driver.estim_params.low_bound = yystack_[3].value.as < expr_t > ();
3979                           driver.estim_params.up_bound = yystack_[1].value.as < expr_t > ();
3980                         }
3981 #line 3982 "DynareBison.cc" // lalr1.cc:919
3982     break;
3983 
3984   case 785:
3985 #line 1743 "DynareBison.yy" // lalr1.cc:919
3986     {
3987                           driver.estim_params.type = 2;
3988                           driver.estim_params.name = yystack_[5].value.as < string > ();
3989                           driver.estim_params.low_bound = yystack_[3].value.as < expr_t > ();
3990                           driver.estim_params.up_bound = yystack_[1].value.as < expr_t > ();
3991                         }
3992 #line 3993 "DynareBison.cc" // lalr1.cc:919
3993     break;
3994 
3995   case 786:
3996 #line 1752 "DynareBison.yy" // lalr1.cc:919
3997     { driver.osr_params_bounds(); }
3998 #line 3999 "DynareBison.cc" // lalr1.cc:919
3999     break;
4000 
4001   case 787:
4002 #line 1755 "DynareBison.yy" // lalr1.cc:919
4003     { driver.add_osr_params_element(); }
4004 #line 4005 "DynareBison.cc" // lalr1.cc:919
4005     break;
4006 
4007   case 788:
4008 #line 1757 "DynareBison.yy" // lalr1.cc:919
4009     { driver.add_osr_params_element(); }
4010 #line 4011 "DynareBison.cc" // lalr1.cc:919
4011     break;
4012 
4013   case 789:
4014 #line 1761 "DynareBison.yy" // lalr1.cc:919
4015     {
4016                     driver.osr_params.name = yystack_[5].value.as < string > ();
4017                     driver.osr_params.low_bound = yystack_[3].value.as < expr_t > ();
4018                     driver.osr_params.up_bound = yystack_[1].value.as < expr_t > ();
4019                   }
4020 #line 4021 "DynareBison.cc" // lalr1.cc:919
4021     break;
4022 
4023   case 790:
4024 #line 1769 "DynareBison.yy" // lalr1.cc:919
4025     { yylhs.value.as < PriorDistributions > () = PriorDistributions::beta; }
4026 #line 4027 "DynareBison.cc" // lalr1.cc:919
4027     break;
4028 
4029   case 791:
4030 #line 1771 "DynareBison.yy" // lalr1.cc:919
4031     { yylhs.value.as < PriorDistributions > () = PriorDistributions::gamma; }
4032 #line 4033 "DynareBison.cc" // lalr1.cc:919
4033     break;
4034 
4035   case 792:
4036 #line 1773 "DynareBison.yy" // lalr1.cc:919
4037     { yylhs.value.as < PriorDistributions > () = PriorDistributions::normal; }
4038 #line 4039 "DynareBison.cc" // lalr1.cc:919
4039     break;
4040 
4041   case 793:
4042 #line 1775 "DynareBison.yy" // lalr1.cc:919
4043     { yylhs.value.as < PriorDistributions > () = PriorDistributions::invGamma; }
4044 #line 4045 "DynareBison.cc" // lalr1.cc:919
4045     break;
4046 
4047   case 794:
4048 #line 1777 "DynareBison.yy" // lalr1.cc:919
4049     { yylhs.value.as < PriorDistributions > () = PriorDistributions::invGamma1; }
4050 #line 4051 "DynareBison.cc" // lalr1.cc:919
4051     break;
4052 
4053   case 795:
4054 #line 1779 "DynareBison.yy" // lalr1.cc:919
4055     { yylhs.value.as < PriorDistributions > () = PriorDistributions::uniform; }
4056 #line 4057 "DynareBison.cc" // lalr1.cc:919
4057     break;
4058 
4059   case 796:
4060 #line 1781 "DynareBison.yy" // lalr1.cc:919
4061     { yylhs.value.as < PriorDistributions > () = PriorDistributions::invGamma2; }
4062 #line 4063 "DynareBison.cc" // lalr1.cc:919
4063     break;
4064 
4065   case 797:
4066 #line 1783 "DynareBison.yy" // lalr1.cc:919
4067     { yylhs.value.as < PriorDistributions > () = PriorDistributions::dirichlet; }
4068 #line 4069 "DynareBison.cc" // lalr1.cc:919
4069     break;
4070 
4071   case 798:
4072 #line 1785 "DynareBison.yy" // lalr1.cc:919
4073     { yylhs.value.as < PriorDistributions > () = PriorDistributions::weibull; }
4074 #line 4075 "DynareBison.cc" // lalr1.cc:919
4075     break;
4076 
4077   case 799:
4078 #line 1789 "DynareBison.yy" // lalr1.cc:919
4079     { yylhs.value.as < PriorDistributions > () = PriorDistributions::beta; }
4080 #line 4081 "DynareBison.cc" // lalr1.cc:919
4081     break;
4082 
4083   case 800:
4084 #line 1791 "DynareBison.yy" // lalr1.cc:919
4085     { yylhs.value.as < PriorDistributions > () = PriorDistributions::gamma; }
4086 #line 4087 "DynareBison.cc" // lalr1.cc:919
4087     break;
4088 
4089   case 801:
4090 #line 1793 "DynareBison.yy" // lalr1.cc:919
4091     { yylhs.value.as < PriorDistributions > () = PriorDistributions::normal; }
4092 #line 4093 "DynareBison.cc" // lalr1.cc:919
4093     break;
4094 
4095   case 802:
4096 #line 1795 "DynareBison.yy" // lalr1.cc:919
4097     { yylhs.value.as < PriorDistributions > () = PriorDistributions::invGamma; }
4098 #line 4099 "DynareBison.cc" // lalr1.cc:919
4099     break;
4100 
4101   case 803:
4102 #line 1797 "DynareBison.yy" // lalr1.cc:919
4103     { yylhs.value.as < PriorDistributions > () = PriorDistributions::invGamma1; }
4104 #line 4105 "DynareBison.cc" // lalr1.cc:919
4105     break;
4106 
4107   case 804:
4108 #line 1799 "DynareBison.yy" // lalr1.cc:919
4109     { yylhs.value.as < PriorDistributions > () = PriorDistributions::uniform; }
4110 #line 4111 "DynareBison.cc" // lalr1.cc:919
4111     break;
4112 
4113   case 805:
4114 #line 1801 "DynareBison.yy" // lalr1.cc:919
4115     { yylhs.value.as < PriorDistributions > () = PriorDistributions::invGamma2; }
4116 #line 4117 "DynareBison.cc" // lalr1.cc:919
4117     break;
4118 
4119   case 806:
4120 #line 1803 "DynareBison.yy" // lalr1.cc:919
4121     { yylhs.value.as < PriorDistributions > () = PriorDistributions::weibull; }
4122 #line 4123 "DynareBison.cc" // lalr1.cc:919
4123     break;
4124 
4125   case 807:
4126 #line 1806 "DynareBison.yy" // lalr1.cc:919
4127     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
4128 #line 4129 "DynareBison.cc" // lalr1.cc:919
4129     break;
4130 
4131   case 808:
4132 #line 1808 "DynareBison.yy" // lalr1.cc:919
4133     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
4134 #line 4135 "DynareBison.cc" // lalr1.cc:919
4135     break;
4136 
4137   case 809:
4138 #line 1810 "DynareBison.yy" // lalr1.cc:919
4139     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + '+' + yystack_[0].value.as < string > (); }
4140 #line 4141 "DynareBison.cc" // lalr1.cc:919
4141     break;
4142 
4143   case 810:
4144 #line 1814 "DynareBison.yy" // lalr1.cc:919
4145     { driver.set_time(yystack_[2].value.as < string > ()); }
4146 #line 4147 "DynareBison.cc" // lalr1.cc:919
4147     break;
4148 
4149   case 811:
4150 #line 1818 "DynareBison.yy" // lalr1.cc:919
4151     { driver.estimation_data(); }
4152 #line 4153 "DynareBison.cc" // lalr1.cc:919
4153     break;
4154 
4155   case 821:
4156 #line 1835 "DynareBison.yy" // lalr1.cc:919
4157     { driver.set_subsamples(yystack_[4].value.as < pair<string,string> > ().first, yystack_[4].value.as < pair<string,string> > ().second); }
4158 #line 4159 "DynareBison.cc" // lalr1.cc:919
4159     break;
4160 
4161   case 822:
4162 #line 1839 "DynareBison.yy" // lalr1.cc:919
4163     { driver.copy_subsamples(yystack_[3].value.as < pair<string,string> > ().first, yystack_[3].value.as < pair<string,string> > ().second, yystack_[1].value.as < pair<string,string> > ().first, yystack_[1].value.as < pair<string,string> > ().second); }
4164 #line 4165 "DynareBison.cc" // lalr1.cc:919
4165     break;
4166 
4167   case 823:
4168 #line 1843 "DynareBison.yy" // lalr1.cc:919
4169     { yylhs.value.as < pair<string,string> > () = { yystack_[2].value.as < string > (), "" }; }
4170 #line 4171 "DynareBison.cc" // lalr1.cc:919
4171     break;
4172 
4173   case 824:
4174 #line 1845 "DynareBison.yy" // lalr1.cc:919
4175     { yylhs.value.as < pair<string,string> > () = { yystack_[3].value.as < string > (), "" }; }
4176 #line 4177 "DynareBison.cc" // lalr1.cc:919
4177     break;
4178 
4179   case 825:
4180 #line 1847 "DynareBison.yy" // lalr1.cc:919
4181     { yylhs.value.as < pair<string,string> > () = { yystack_[5].value.as < string > (), yystack_[3].value.as < string > () }; }
4182 #line 4183 "DynareBison.cc" // lalr1.cc:919
4183     break;
4184 
4185   case 828:
4186 #line 1854 "DynareBison.yy" // lalr1.cc:919
4187     { driver.set_prior_variance(); driver.prior_shape = PriorDistributions::noShape; }
4188 #line 4189 "DynareBison.cc" // lalr1.cc:919
4189     break;
4190 
4191   case 829:
4192 #line 1855 "DynareBison.yy" // lalr1.cc:919
4193     { driver.set_prior(yystack_[7].value.as < string > (), ""); }
4194 #line 4195 "DynareBison.cc" // lalr1.cc:919
4195     break;
4196 
4197   case 830:
4198 #line 1856 "DynareBison.yy" // lalr1.cc:919
4199     { driver.set_prior_variance(); driver.prior_shape = PriorDistributions::noShape; }
4200 #line 4201 "DynareBison.cc" // lalr1.cc:919
4201     break;
4202 
4203   case 831:
4204 #line 1857 "DynareBison.yy" // lalr1.cc:919
4205     { driver.set_prior(yystack_[9].value.as < string > (), yystack_[7].value.as < string > ()); }
4206 #line 4207 "DynareBison.cc" // lalr1.cc:919
4207     break;
4208 
4209   case 832:
4210 #line 1858 "DynareBison.yy" // lalr1.cc:919
4211     { driver.set_prior_variance(); driver.prior_shape = PriorDistributions::noShape; }
4212 #line 4213 "DynareBison.cc" // lalr1.cc:919
4213     break;
4214 
4215   case 833:
4216 #line 1859 "DynareBison.yy" // lalr1.cc:919
4217     { driver.set_joint_prior(yystack_[7].value.as < vector<string> > ()); }
4218 #line 4219 "DynareBison.cc" // lalr1.cc:919
4219     break;
4220 
4221   case 834:
4222 #line 1860 "DynareBison.yy" // lalr1.cc:919
4223     { driver.set_prior_variance(); driver.prior_shape = PriorDistributions::noShape; }
4224 #line 4225 "DynareBison.cc" // lalr1.cc:919
4225     break;
4226 
4227   case 835:
4228 #line 1861 "DynareBison.yy" // lalr1.cc:919
4229     { driver.set_std_prior(yystack_[8].value.as < string > (), ""); }
4230 #line 4231 "DynareBison.cc" // lalr1.cc:919
4231     break;
4232 
4233   case 836:
4234 #line 1862 "DynareBison.yy" // lalr1.cc:919
4235     { driver.set_prior_variance(); driver.prior_shape = PriorDistributions::noShape; }
4236 #line 4237 "DynareBison.cc" // lalr1.cc:919
4237     break;
4238 
4239   case 837:
4240 #line 1863 "DynareBison.yy" // lalr1.cc:919
4241     { driver.set_std_prior(yystack_[10].value.as < string > (), yystack_[7].value.as < string > ()); }
4242 #line 4243 "DynareBison.cc" // lalr1.cc:919
4243     break;
4244 
4245   case 838:
4246 #line 1864 "DynareBison.yy" // lalr1.cc:919
4247     { driver.set_prior_variance(); driver.prior_shape = PriorDistributions::noShape; }
4248 #line 4249 "DynareBison.cc" // lalr1.cc:919
4249     break;
4250 
4251   case 839:
4252 #line 1865 "DynareBison.yy" // lalr1.cc:919
4253     { driver.set_corr_prior(yystack_[10].value.as < string > (), yystack_[8].value.as < string > (), ""); }
4254 #line 4255 "DynareBison.cc" // lalr1.cc:919
4255     break;
4256 
4257   case 840:
4258 #line 1866 "DynareBison.yy" // lalr1.cc:919
4259     { driver.set_prior_variance(); driver.prior_shape = PriorDistributions::noShape; }
4260 #line 4261 "DynareBison.cc" // lalr1.cc:919
4261     break;
4262 
4263   case 841:
4264 #line 1867 "DynareBison.yy" // lalr1.cc:919
4265     { driver.set_corr_prior(yystack_[12].value.as < string > (), yystack_[10].value.as < string > (), yystack_[7].value.as < string > ()); }
4266 #line 4267 "DynareBison.cc" // lalr1.cc:919
4267     break;
4268 
4269   case 866:
4270 #line 1903 "DynareBison.yy" // lalr1.cc:919
4271     { driver.copy_prior(get<0>(yystack_[3].value.as < tuple<string,string,string,string> > ()), get<1>(yystack_[3].value.as < tuple<string,string,string,string> > ()), get<2>(yystack_[3].value.as < tuple<string,string,string,string> > ()), get<3>(yystack_[3].value.as < tuple<string,string,string,string> > ()),
4272                                get<0>(yystack_[1].value.as < tuple<string,string,string,string> > ()), get<1>(yystack_[1].value.as < tuple<string,string,string,string> > ()), get<2>(yystack_[1].value.as < tuple<string,string,string,string> > ()), get<3>(yystack_[1].value.as < tuple<string,string,string,string> > ())); }
4273 #line 4274 "DynareBison.cc" // lalr1.cc:919
4274     break;
4275 
4276   case 867:
4277 #line 1908 "DynareBison.yy" // lalr1.cc:919
4278     { yylhs.value.as < tuple<string,string,string,string> > () = { "par", yystack_[2].value.as < string > (), "", "" }; }
4279 #line 4280 "DynareBison.cc" // lalr1.cc:919
4280     break;
4281 
4282   case 868:
4283 #line 1910 "DynareBison.yy" // lalr1.cc:919
4284     { yylhs.value.as < tuple<string,string,string,string> > () = { "par", yystack_[4].value.as < string > (), "", yystack_[2].value.as < string > () }; }
4285 #line 4286 "DynareBison.cc" // lalr1.cc:919
4286     break;
4287 
4288   case 869:
4289 #line 1912 "DynareBison.yy" // lalr1.cc:919
4290     { yylhs.value.as < tuple<string,string,string,string> > () = { "std", yystack_[3].value.as < string > (), "", "" }; }
4291 #line 4292 "DynareBison.cc" // lalr1.cc:919
4292     break;
4293 
4294   case 870:
4295 #line 1914 "DynareBison.yy" // lalr1.cc:919
4296     { yylhs.value.as < tuple<string,string,string,string> > () = { "std", yystack_[5].value.as < string > (), "", yystack_[2].value.as < string > () }; }
4297 #line 4298 "DynareBison.cc" // lalr1.cc:919
4298     break;
4299 
4300   case 871:
4301 #line 1916 "DynareBison.yy" // lalr1.cc:919
4302     { yylhs.value.as < tuple<string,string,string,string> > () = { "corr", yystack_[5].value.as < string > (), yystack_[3].value.as < string > (), "" }; }
4303 #line 4304 "DynareBison.cc" // lalr1.cc:919
4304     break;
4305 
4306   case 872:
4307 #line 1918 "DynareBison.yy" // lalr1.cc:919
4308     { yylhs.value.as < tuple<string,string,string,string> > () = { "corr", yystack_[7].value.as < string > (), yystack_[5].value.as < string > (), yystack_[2].value.as < string > () }; }
4309 #line 4310 "DynareBison.cc" // lalr1.cc:919
4310     break;
4311 
4312   case 873:
4313 #line 1922 "DynareBison.yy" // lalr1.cc:919
4314     { driver.set_options(yystack_[6].value.as < string > (), ""); }
4315 #line 4316 "DynareBison.cc" // lalr1.cc:919
4316     break;
4317 
4318   case 874:
4319 #line 1924 "DynareBison.yy" // lalr1.cc:919
4320     { driver.set_options(yystack_[8].value.as < string > (), yystack_[6].value.as < string > ()); }
4321 #line 4322 "DynareBison.cc" // lalr1.cc:919
4322     break;
4323 
4324   case 875:
4325 #line 1926 "DynareBison.yy" // lalr1.cc:919
4326     { driver.set_std_options(yystack_[7].value.as < string > (), ""); }
4327 #line 4328 "DynareBison.cc" // lalr1.cc:919
4328     break;
4329 
4330   case 876:
4331 #line 1928 "DynareBison.yy" // lalr1.cc:919
4332     { driver.set_std_options(yystack_[9].value.as < string > (), yystack_[6].value.as < string > ()); }
4333 #line 4334 "DynareBison.cc" // lalr1.cc:919
4334     break;
4335 
4336   case 877:
4337 #line 1930 "DynareBison.yy" // lalr1.cc:919
4338     { driver.set_corr_options(yystack_[9].value.as < string > (), yystack_[7].value.as < string > (), ""); }
4339 #line 4340 "DynareBison.cc" // lalr1.cc:919
4340     break;
4341 
4342   case 878:
4343 #line 1932 "DynareBison.yy" // lalr1.cc:919
4344     { driver.set_corr_options(yystack_[11].value.as < string > (), yystack_[9].value.as < string > (), yystack_[6].value.as < string > ()); }
4345 #line 4346 "DynareBison.cc" // lalr1.cc:919
4346     break;
4347 
4348   case 884:
4349 #line 1945 "DynareBison.yy" // lalr1.cc:919
4350     { driver.copy_prior(get<0>(yystack_[3].value.as < tuple<string,string,string,string> > ()), get<1>(yystack_[3].value.as < tuple<string,string,string,string> > ()), get<2>(yystack_[3].value.as < tuple<string,string,string,string> > ()), get<3>(yystack_[3].value.as < tuple<string,string,string,string> > ()),
4351                                  get<0>(yystack_[1].value.as < tuple<string,string,string,string> > ()), get<1>(yystack_[1].value.as < tuple<string,string,string,string> > ()), get<2>(yystack_[1].value.as < tuple<string,string,string,string> > ()), get<3>(yystack_[1].value.as < tuple<string,string,string,string> > ())); }
4352 #line 4353 "DynareBison.cc" // lalr1.cc:919
4353     break;
4354 
4355   case 885:
4356 #line 1950 "DynareBison.yy" // lalr1.cc:919
4357     { yylhs.value.as < tuple<string,string,string,string> > () = { "par", yystack_[2].value.as < string > (), "", "" }; }
4358 #line 4359 "DynareBison.cc" // lalr1.cc:919
4359     break;
4360 
4361   case 886:
4362 #line 1952 "DynareBison.yy" // lalr1.cc:919
4363     { yylhs.value.as < tuple<string,string,string,string> > () = { "par", yystack_[4].value.as < string > (), "", yystack_[2].value.as < string > () }; }
4364 #line 4365 "DynareBison.cc" // lalr1.cc:919
4365     break;
4366 
4367   case 887:
4368 #line 1954 "DynareBison.yy" // lalr1.cc:919
4369     { yylhs.value.as < tuple<string,string,string,string> > () = { "std", yystack_[3].value.as < string > (), "", "" }; }
4370 #line 4371 "DynareBison.cc" // lalr1.cc:919
4371     break;
4372 
4373   case 888:
4374 #line 1956 "DynareBison.yy" // lalr1.cc:919
4375     { yylhs.value.as < tuple<string,string,string,string> > () = { "std", yystack_[5].value.as < string > (), "", yystack_[2].value.as < string > () }; }
4376 #line 4377 "DynareBison.cc" // lalr1.cc:919
4377     break;
4378 
4379   case 889:
4380 #line 1958 "DynareBison.yy" // lalr1.cc:919
4381     { yylhs.value.as < tuple<string,string,string,string> > () = { "corr", yystack_[5].value.as < string > (), yystack_[3].value.as < string > (), "" }; }
4382 #line 4383 "DynareBison.cc" // lalr1.cc:919
4383     break;
4384 
4385   case 890:
4386 #line 1960 "DynareBison.yy" // lalr1.cc:919
4387     { yylhs.value.as < tuple<string,string,string,string> > () = { "corr", yystack_[7].value.as < string > (), yystack_[5].value.as < string > (), yystack_[2].value.as < string > () }; }
4388 #line 4389 "DynareBison.cc" // lalr1.cc:919
4389     break;
4390 
4391   case 891:
4392 #line 1964 "DynareBison.yy" // lalr1.cc:919
4393     { driver.run_estimation(); }
4394 #line 4395 "DynareBison.cc" // lalr1.cc:919
4395     break;
4396 
4397   case 892:
4398 #line 1966 "DynareBison.yy" // lalr1.cc:919
4399     { driver.run_estimation(); }
4400 #line 4401 "DynareBison.cc" // lalr1.cc:919
4401     break;
4402 
4403   case 893:
4404 #line 1968 "DynareBison.yy" // lalr1.cc:919
4405     { driver.run_estimation(); }
4406 #line 4407 "DynareBison.cc" // lalr1.cc:919
4407     break;
4408 
4409   case 894:
4410 #line 1970 "DynareBison.yy" // lalr1.cc:919
4411     { driver.run_estimation(); }
4412 #line 4413 "DynareBison.cc" // lalr1.cc:919
4413     break;
4414 
4415   case 1016:
4416 #line 2099 "DynareBison.yy" // lalr1.cc:919
4417     { driver.optim_options_string(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
4418 #line 4419 "DynareBison.cc" // lalr1.cc:919
4419     break;
4420 
4421   case 1017:
4422 #line 2101 "DynareBison.yy" // lalr1.cc:919
4423     { driver.optim_options_num(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
4424 #line 4425 "DynareBison.cc" // lalr1.cc:919
4425     break;
4426 
4427   case 1018:
4428 #line 2103 "DynareBison.yy" // lalr1.cc:919
4429     { driver.optim_options_num(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
4430 #line 4431 "DynareBison.cc" // lalr1.cc:919
4431     break;
4432 
4433   case 1021:
4434 #line 2111 "DynareBison.yy" // lalr1.cc:919
4435     { yylhs.value.as < string > () = "''" + yystack_[2].value.as < string > () + "'', ''" + yystack_[0].value.as < string > () + "''"; }
4436 #line 4437 "DynareBison.cc" // lalr1.cc:919
4437     break;
4438 
4439   case 1022:
4440 #line 2113 "DynareBison.yy" // lalr1.cc:919
4441     { yylhs.value.as < string > () = "''" + yystack_[2].value.as < string > () + "''," + yystack_[0].value.as < string > (); }
4442 #line 4443 "DynareBison.cc" // lalr1.cc:919
4443     break;
4444 
4445   case 1023:
4446 #line 2116 "DynareBison.yy" // lalr1.cc:919
4447     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
4448 #line 4449 "DynareBison.cc" // lalr1.cc:919
4449     break;
4450 
4451   case 1024:
4452 #line 2118 "DynareBison.yy" // lalr1.cc:919
4453     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + ',' + yystack_[0].value.as < string > (); }
4454 #line 4455 "DynareBison.cc" // lalr1.cc:919
4455     break;
4456 
4457   case 1025:
4458 #line 2122 "DynareBison.yy" // lalr1.cc:919
4459     { driver.sampling_options_string(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
4460 #line 4461 "DynareBison.cc" // lalr1.cc:919
4461     break;
4462 
4463   case 1026:
4464 #line 2124 "DynareBison.yy" // lalr1.cc:919
4465     { driver.sampling_options_num(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
4466 #line 4467 "DynareBison.cc" // lalr1.cc:919
4467     break;
4468 
4469   case 1027:
4470 #line 2126 "DynareBison.yy" // lalr1.cc:919
4471     { driver.sampling_options_vec_str(yystack_[2].value.as < string > (), yystack_[0].value.as < vector<string> > ()); }
4472 #line 4473 "DynareBison.cc" // lalr1.cc:919
4473     break;
4474 
4475   case 1028:
4476 #line 2128 "DynareBison.yy" // lalr1.cc:919
4477     { driver.sampling_options_string(yystack_[4].value.as < string > (), '(' + yystack_[1].value.as < string > () + ')'); }
4478 #line 4479 "DynareBison.cc" // lalr1.cc:919
4479     break;
4480 
4481   case 1031:
4482 #line 2135 "DynareBison.yy" // lalr1.cc:919
4483     { driver.check_varobs(); }
4484 #line 4485 "DynareBison.cc" // lalr1.cc:919
4485     break;
4486 
4487   case 1033:
4488 #line 2138 "DynareBison.yy" // lalr1.cc:919
4489     { driver.add_varobs(yystack_[0].value.as < string > ()); }
4490 #line 4491 "DynareBison.cc" // lalr1.cc:919
4491     break;
4492 
4493   case 1034:
4494 #line 2140 "DynareBison.yy" // lalr1.cc:919
4495     { driver.add_varobs(yystack_[0].value.as < string > ()); }
4496 #line 4497 "DynareBison.cc" // lalr1.cc:919
4497     break;
4498 
4499   case 1035:
4500 #line 2142 "DynareBison.yy" // lalr1.cc:919
4501     { driver.add_varobs(yystack_[0].value.as < string > ()); }
4502 #line 4503 "DynareBison.cc" // lalr1.cc:919
4503     break;
4504 
4505   case 1036:
4506 #line 2145 "DynareBison.yy" // lalr1.cc:919
4507     { driver.check_varexobs(); }
4508 #line 4509 "DynareBison.cc" // lalr1.cc:919
4509     break;
4510 
4511   case 1038:
4512 #line 2148 "DynareBison.yy" // lalr1.cc:919
4513     { driver.add_varexobs(yystack_[0].value.as < string > ()); }
4514 #line 4515 "DynareBison.cc" // lalr1.cc:919
4515     break;
4516 
4517   case 1039:
4518 #line 2150 "DynareBison.yy" // lalr1.cc:919
4519     { driver.add_varexobs(yystack_[0].value.as < string > ()); }
4520 #line 4521 "DynareBison.cc" // lalr1.cc:919
4521     break;
4522 
4523   case 1040:
4524 #line 2152 "DynareBison.yy" // lalr1.cc:919
4525     { driver.add_varexobs(yystack_[0].value.as < string > ()); }
4526 #line 4527 "DynareBison.cc" // lalr1.cc:919
4527     break;
4528 
4529   case 1041:
4530 #line 2155 "DynareBison.yy" // lalr1.cc:919
4531     { driver.set_trends(); }
4532 #line 4533 "DynareBison.cc" // lalr1.cc:919
4533     break;
4534 
4535   case 1044:
4536 #line 2161 "DynareBison.yy" // lalr1.cc:919
4537     { driver.set_trend_element(yystack_[4].value.as < string > (), yystack_[2].value.as < expr_t > ()); }
4538 #line 4539 "DynareBison.cc" // lalr1.cc:919
4539     break;
4540 
4541   case 1045:
4542 #line 2163 "DynareBison.yy" // lalr1.cc:919
4543     { driver.set_unit_root_vars(); }
4544 #line 4545 "DynareBison.cc" // lalr1.cc:919
4545     break;
4546 
4547   case 1046:
4548 #line 2165 "DynareBison.yy" // lalr1.cc:919
4549     { driver.optim_weights(); }
4550 #line 4551 "DynareBison.cc" // lalr1.cc:919
4551     break;
4552 
4553   case 1047:
4554 #line 2168 "DynareBison.yy" // lalr1.cc:919
4555     { driver.set_optim_weights(yystack_[2].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
4556 #line 4557 "DynareBison.cc" // lalr1.cc:919
4557     break;
4558 
4559   case 1048:
4560 #line 2170 "DynareBison.yy" // lalr1.cc:919
4561     { driver.set_optim_weights(yystack_[4].value.as < string > (), yystack_[2].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
4562 #line 4563 "DynareBison.cc" // lalr1.cc:919
4563     break;
4564 
4565   case 1049:
4566 #line 2172 "DynareBison.yy" // lalr1.cc:919
4567     { driver.set_optim_weights(yystack_[2].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
4568 #line 4569 "DynareBison.cc" // lalr1.cc:919
4569     break;
4570 
4571   case 1050:
4572 #line 2174 "DynareBison.yy" // lalr1.cc:919
4573     { driver.set_optim_weights(yystack_[4].value.as < string > (), yystack_[2].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
4574 #line 4575 "DynareBison.cc" // lalr1.cc:919
4575     break;
4576 
4577   case 1051:
4578 #line 2177 "DynareBison.yy" // lalr1.cc:919
4579     { driver.set_osr_params(); }
4580 #line 4581 "DynareBison.cc" // lalr1.cc:919
4581     break;
4582 
4583   case 1061:
4584 #line 2194 "DynareBison.yy" // lalr1.cc:919
4585     { driver.run_osr(); }
4586 #line 4587 "DynareBison.cc" // lalr1.cc:919
4587     break;
4588 
4589   case 1062:
4590 #line 2196 "DynareBison.yy" // lalr1.cc:919
4591     { driver.run_osr(); }
4592 #line 4593 "DynareBison.cc" // lalr1.cc:919
4593     break;
4594 
4595   case 1063:
4596 #line 2198 "DynareBison.yy" // lalr1.cc:919
4597     { driver.run_osr(); }
4598 #line 4599 "DynareBison.cc" // lalr1.cc:919
4599     break;
4600 
4601   case 1064:
4602 #line 2200 "DynareBison.yy" // lalr1.cc:919
4603     {driver.run_osr(); }
4604 #line 4605 "DynareBison.cc" // lalr1.cc:919
4605     break;
4606 
4607   case 1065:
4608 #line 2204 "DynareBison.yy" // lalr1.cc:919
4609     { driver.run_dynatype(yystack_[2].value.as < string > ()); }
4610 #line 4611 "DynareBison.cc" // lalr1.cc:919
4611     break;
4612 
4613   case 1066:
4614 #line 2206 "DynareBison.yy" // lalr1.cc:919
4615     { driver.run_dynatype(yystack_[3].value.as < string > ()); }
4616 #line 4617 "DynareBison.cc" // lalr1.cc:919
4617     break;
4618 
4619   case 1067:
4620 #line 2210 "DynareBison.yy" // lalr1.cc:919
4621     { driver.run_dynasave(yystack_[2].value.as < string > ()); }
4622 #line 4623 "DynareBison.cc" // lalr1.cc:919
4623     break;
4624 
4625   case 1068:
4626 #line 2212 "DynareBison.yy" // lalr1.cc:919
4627     { driver.run_dynasave(yystack_[3].value.as < string > ()); }
4628 #line 4629 "DynareBison.cc" // lalr1.cc:919
4629     break;
4630 
4631   case 1069:
4632 #line 2216 "DynareBison.yy" // lalr1.cc:919
4633     { driver.run_load_params_and_steady_state(yystack_[2].value.as < string > ()); }
4634 #line 4635 "DynareBison.cc" // lalr1.cc:919
4635     break;
4636 
4637   case 1070:
4638 #line 2220 "DynareBison.yy" // lalr1.cc:919
4639     { driver.run_save_params_and_steady_state(yystack_[2].value.as < string > ()); }
4640 #line 4641 "DynareBison.cc" // lalr1.cc:919
4641     break;
4642 
4643   case 1071:
4644 #line 2224 "DynareBison.yy" // lalr1.cc:919
4645     { driver.run_identification(); }
4646 #line 4647 "DynareBison.cc" // lalr1.cc:919
4647     break;
4648 
4649   case 1072:
4650 #line 2226 "DynareBison.yy" // lalr1.cc:919
4651     { driver.run_identification(); }
4652 #line 4653 "DynareBison.cc" // lalr1.cc:919
4653     break;
4654 
4655   case 1109:
4656 #line 2270 "DynareBison.yy" // lalr1.cc:919
4657     { driver.run_model_comparison(); }
4658 #line 4659 "DynareBison.cc" // lalr1.cc:919
4659     break;
4660 
4661   case 1110:
4662 #line 2272 "DynareBison.yy" // lalr1.cc:919
4663     { driver.run_model_comparison(); }
4664 #line 4665 "DynareBison.cc" // lalr1.cc:919
4665     break;
4666 
4667   case 1111:
4668 #line 2275 "DynareBison.yy" // lalr1.cc:919
4669     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
4670 #line 4671 "DynareBison.cc" // lalr1.cc:919
4671     break;
4672 
4673   case 1112:
4674 #line 2276 "DynareBison.yy" // lalr1.cc:919
4675     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
4676 #line 4677 "DynareBison.cc" // lalr1.cc:919
4677     break;
4678 
4679   case 1113:
4680 #line 2279 "DynareBison.yy" // lalr1.cc:919
4681     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
4682 #line 4683 "DynareBison.cc" // lalr1.cc:919
4683     break;
4684 
4685   case 1114:
4686 #line 2281 "DynareBison.yy" // lalr1.cc:919
4687     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + "." + yystack_[0].value.as < string > (); }
4688 #line 4689 "DynareBison.cc" // lalr1.cc:919
4689     break;
4690 
4691   case 1115:
4692 #line 2284 "DynareBison.yy" // lalr1.cc:919
4693     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
4694 #line 4695 "DynareBison.cc" // lalr1.cc:919
4695     break;
4696 
4697   case 1116:
4698 #line 2285 "DynareBison.yy" // lalr1.cc:919
4699     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
4700 #line 4701 "DynareBison.cc" // lalr1.cc:919
4701     break;
4702 
4703   case 1117:
4704 #line 2289 "DynareBison.yy" // lalr1.cc:919
4705     { driver.add_parallel_local_file(yystack_[0].value.as < string > ()); }
4706 #line 4707 "DynareBison.cc" // lalr1.cc:919
4707     break;
4708 
4709   case 1118:
4710 #line 2291 "DynareBison.yy" // lalr1.cc:919
4711     { driver.add_parallel_local_file(yystack_[0].value.as < string > ()); }
4712 #line 4713 "DynareBison.cc" // lalr1.cc:919
4713     break;
4714 
4715   case 1119:
4716 #line 2295 "DynareBison.yy" // lalr1.cc:919
4717     { driver.add_mc_filename(yystack_[0].value.as < string > ()); }
4718 #line 4719 "DynareBison.cc" // lalr1.cc:919
4719     break;
4720 
4721   case 1120:
4722 #line 2297 "DynareBison.yy" // lalr1.cc:919
4723     { driver.add_mc_filename(yystack_[3].value.as < string > (), yystack_[1].value.as < string > ()); }
4724 #line 4725 "DynareBison.cc" // lalr1.cc:919
4725     break;
4726 
4727   case 1121:
4728 #line 2299 "DynareBison.yy" // lalr1.cc:919
4729     { driver.add_mc_filename(yystack_[0].value.as < string > ()); }
4730 #line 4731 "DynareBison.cc" // lalr1.cc:919
4731     break;
4732 
4733   case 1122:
4734 #line 2301 "DynareBison.yy" // lalr1.cc:919
4735     { driver.add_mc_filename(yystack_[3].value.as < string > (), yystack_[1].value.as < string > ()); }
4736 #line 4737 "DynareBison.cc" // lalr1.cc:919
4737     break;
4738 
4739   case 1123:
4740 #line 2303 "DynareBison.yy" // lalr1.cc:919
4741     { driver.add_mc_filename(yystack_[0].value.as < string > ()); }
4742 #line 4743 "DynareBison.cc" // lalr1.cc:919
4743     break;
4744 
4745   case 1124:
4746 #line 2305 "DynareBison.yy" // lalr1.cc:919
4747     { driver.add_mc_filename(yystack_[3].value.as < string > (), yystack_[1].value.as < string > ()); }
4748 #line 4749 "DynareBison.cc" // lalr1.cc:919
4749     break;
4750 
4751   case 1125:
4752 #line 2308 "DynareBison.yy" // lalr1.cc:919
4753     { driver.begin_planner_objective(); }
4754 #line 4755 "DynareBison.cc" // lalr1.cc:919
4755     break;
4756 
4757   case 1126:
4758 #line 2309 "DynareBison.yy" // lalr1.cc:919
4759     { driver.end_planner_objective(yystack_[0].value.as < expr_t > ()); }
4760 #line 4761 "DynareBison.cc" // lalr1.cc:919
4761     break;
4762 
4763   case 1128:
4764 #line 2312 "DynareBison.yy" // lalr1.cc:919
4765     { driver.ramsey_model(); }
4766 #line 4767 "DynareBison.cc" // lalr1.cc:919
4767     break;
4768 
4769   case 1129:
4770 #line 2314 "DynareBison.yy" // lalr1.cc:919
4771     { driver.ramsey_model(); }
4772 #line 4773 "DynareBison.cc" // lalr1.cc:919
4773     break;
4774 
4775   case 1130:
4776 #line 2318 "DynareBison.yy" // lalr1.cc:919
4777     { driver.ramsey_policy(); }
4778 #line 4779 "DynareBison.cc" // lalr1.cc:919
4779     break;
4780 
4781   case 1131:
4782 #line 2320 "DynareBison.yy" // lalr1.cc:919
4783     { driver.ramsey_policy(); }
4784 #line 4785 "DynareBison.cc" // lalr1.cc:919
4785     break;
4786 
4787   case 1132:
4788 #line 2322 "DynareBison.yy" // lalr1.cc:919
4789     { driver.ramsey_policy(); }
4790 #line 4791 "DynareBison.cc" // lalr1.cc:919
4791     break;
4792 
4793   case 1133:
4794 #line 2324 "DynareBison.yy" // lalr1.cc:919
4795     { driver.ramsey_policy(); }
4796 #line 4797 "DynareBison.cc" // lalr1.cc:919
4797     break;
4798 
4799   case 1134:
4800 #line 2328 "DynareBison.yy" // lalr1.cc:919
4801     { driver.add_ramsey_constraints_statement(); }
4802 #line 4803 "DynareBison.cc" // lalr1.cc:919
4803     break;
4804 
4805   case 1137:
4806 #line 2336 "DynareBison.yy" // lalr1.cc:919
4807     { driver.ramsey_constraint_add_less(yystack_[3].value.as < string > (),yystack_[1].value.as < expr_t > ()); }
4808 #line 4809 "DynareBison.cc" // lalr1.cc:919
4809     break;
4810 
4811   case 1138:
4812 #line 2338 "DynareBison.yy" // lalr1.cc:919
4813     { driver.ramsey_constraint_add_greater(yystack_[3].value.as < string > (),yystack_[1].value.as < expr_t > ()); }
4814 #line 4815 "DynareBison.cc" // lalr1.cc:919
4815     break;
4816 
4817   case 1139:
4818 #line 2340 "DynareBison.yy" // lalr1.cc:919
4819     { driver.ramsey_constraint_add_less_equal(yystack_[3].value.as < string > (),yystack_[1].value.as < expr_t > ()); }
4820 #line 4821 "DynareBison.cc" // lalr1.cc:919
4821     break;
4822 
4823   case 1140:
4824 #line 2342 "DynareBison.yy" // lalr1.cc:919
4825     { driver.ramsey_constraint_add_greater_equal(yystack_[3].value.as < string > (),yystack_[1].value.as < expr_t > ()); }
4826 #line 4827 "DynareBison.cc" // lalr1.cc:919
4827     break;
4828 
4829   case 1141:
4830 #line 2346 "DynareBison.yy" // lalr1.cc:919
4831     { driver.evaluate_planner_objective(); }
4832 #line 4833 "DynareBison.cc" // lalr1.cc:919
4833     break;
4834 
4835   case 1142:
4836 #line 2350 "DynareBison.yy" // lalr1.cc:919
4837     { driver.discretionary_policy(); }
4838 #line 4839 "DynareBison.cc" // lalr1.cc:919
4839     break;
4840 
4841   case 1143:
4842 #line 2352 "DynareBison.yy" // lalr1.cc:919
4843     { driver.discretionary_policy(); }
4844 #line 4845 "DynareBison.cc" // lalr1.cc:919
4845     break;
4846 
4847   case 1144:
4848 #line 2354 "DynareBison.yy" // lalr1.cc:919
4849     { driver.discretionary_policy(); }
4850 #line 4851 "DynareBison.cc" // lalr1.cc:919
4851     break;
4852 
4853   case 1145:
4854 #line 2356 "DynareBison.yy" // lalr1.cc:919
4855     { driver.discretionary_policy(); }
4856 #line 4857 "DynareBison.cc" // lalr1.cc:919
4857     break;
4858 
4859   case 1161:
4860 #line 2387 "DynareBison.yy" // lalr1.cc:919
4861     { driver.write_latex_dynamic_model(false); }
4862 #line 4863 "DynareBison.cc" // lalr1.cc:919
4863     break;
4864 
4865   case 1162:
4866 #line 2389 "DynareBison.yy" // lalr1.cc:919
4867     { driver.write_latex_dynamic_model(true); }
4868 #line 4869 "DynareBison.cc" // lalr1.cc:919
4869     break;
4870 
4871   case 1163:
4872 #line 2393 "DynareBison.yy" // lalr1.cc:919
4873     { driver.write_latex_static_model(false); }
4874 #line 4875 "DynareBison.cc" // lalr1.cc:919
4875     break;
4876 
4877   case 1164:
4878 #line 2395 "DynareBison.yy" // lalr1.cc:919
4879     { driver.write_latex_static_model(true); }
4880 #line 4881 "DynareBison.cc" // lalr1.cc:919
4881     break;
4882 
4883   case 1165:
4884 #line 2399 "DynareBison.yy" // lalr1.cc:919
4885     { driver.write_latex_original_model(false); }
4886 #line 4887 "DynareBison.cc" // lalr1.cc:919
4887     break;
4888 
4889   case 1166:
4890 #line 2401 "DynareBison.yy" // lalr1.cc:919
4891     { driver.write_latex_original_model(true); }
4892 #line 4893 "DynareBison.cc" // lalr1.cc:919
4893     break;
4894 
4895   case 1167:
4896 #line 2405 "DynareBison.yy" // lalr1.cc:919
4897     { driver.write_latex_steady_state_model(); }
4898 #line 4899 "DynareBison.cc" // lalr1.cc:919
4899     break;
4900 
4901   case 1168:
4902 #line 2409 "DynareBison.yy" // lalr1.cc:919
4903     {driver.shock_decomposition(); }
4904 #line 4905 "DynareBison.cc" // lalr1.cc:919
4905     break;
4906 
4907   case 1169:
4908 #line 2411 "DynareBison.yy" // lalr1.cc:919
4909     { driver.shock_decomposition(); }
4910 #line 4911 "DynareBison.cc" // lalr1.cc:919
4911     break;
4912 
4913   case 1170:
4914 #line 2413 "DynareBison.yy" // lalr1.cc:919
4915     { driver.shock_decomposition(); }
4916 #line 4917 "DynareBison.cc" // lalr1.cc:919
4917     break;
4918 
4919   case 1171:
4920 #line 2415 "DynareBison.yy" // lalr1.cc:919
4921     { driver.shock_decomposition(); }
4922 #line 4923 "DynareBison.cc" // lalr1.cc:919
4923     break;
4924 
4925   case 1172:
4926 #line 2419 "DynareBison.yy" // lalr1.cc:919
4927     {driver.realtime_shock_decomposition(); }
4928 #line 4929 "DynareBison.cc" // lalr1.cc:919
4929     break;
4930 
4931   case 1173:
4932 #line 2421 "DynareBison.yy" // lalr1.cc:919
4933     { driver.realtime_shock_decomposition(); }
4934 #line 4935 "DynareBison.cc" // lalr1.cc:919
4935     break;
4936 
4937   case 1174:
4938 #line 2423 "DynareBison.yy" // lalr1.cc:919
4939     { driver.realtime_shock_decomposition(); }
4940 #line 4941 "DynareBison.cc" // lalr1.cc:919
4941     break;
4942 
4943   case 1175:
4944 #line 2425 "DynareBison.yy" // lalr1.cc:919
4945     { driver.realtime_shock_decomposition(); }
4946 #line 4947 "DynareBison.cc" // lalr1.cc:919
4947     break;
4948 
4949   case 1176:
4950 #line 2429 "DynareBison.yy" // lalr1.cc:919
4951     {driver.plot_shock_decomposition(); }
4952 #line 4953 "DynareBison.cc" // lalr1.cc:919
4953     break;
4954 
4955   case 1177:
4956 #line 2431 "DynareBison.yy" // lalr1.cc:919
4957     { driver.plot_shock_decomposition(); }
4958 #line 4959 "DynareBison.cc" // lalr1.cc:919
4959     break;
4960 
4961   case 1178:
4962 #line 2433 "DynareBison.yy" // lalr1.cc:919
4963     { driver.plot_shock_decomposition(); }
4964 #line 4965 "DynareBison.cc" // lalr1.cc:919
4965     break;
4966 
4967   case 1179:
4968 #line 2435 "DynareBison.yy" // lalr1.cc:919
4969     { driver.plot_shock_decomposition(); }
4970 #line 4971 "DynareBison.cc" // lalr1.cc:919
4971     break;
4972 
4973   case 1180:
4974 #line 2439 "DynareBison.yy" // lalr1.cc:919
4975     {driver.initial_condition_decomposition(); }
4976 #line 4977 "DynareBison.cc" // lalr1.cc:919
4977     break;
4978 
4979   case 1181:
4980 #line 2441 "DynareBison.yy" // lalr1.cc:919
4981     { driver.initial_condition_decomposition(); }
4982 #line 4983 "DynareBison.cc" // lalr1.cc:919
4983     break;
4984 
4985   case 1182:
4986 #line 2443 "DynareBison.yy" // lalr1.cc:919
4987     { driver.initial_condition_decomposition(); }
4988 #line 4989 "DynareBison.cc" // lalr1.cc:919
4989     break;
4990 
4991   case 1183:
4992 #line 2445 "DynareBison.yy" // lalr1.cc:919
4993     { driver.initial_condition_decomposition(); }
4994 #line 4995 "DynareBison.cc" // lalr1.cc:919
4995     break;
4996 
4997   case 1184:
4998 #line 2449 "DynareBison.yy" // lalr1.cc:919
4999     { driver.squeeze_shock_decomposition(); }
5000 #line 5001 "DynareBison.cc" // lalr1.cc:919
5001     break;
5002 
5003   case 1185:
5004 #line 2451 "DynareBison.yy" // lalr1.cc:919
5005     { driver.squeeze_shock_decomposition(); }
5006 #line 5007 "DynareBison.cc" // lalr1.cc:919
5007     break;
5008 
5009   case 1205:
5010 #line 2480 "DynareBison.yy" // lalr1.cc:919
5011     { driver.bvar_density(yystack_[1].value.as < string > ()); }
5012 #line 5013 "DynareBison.cc" // lalr1.cc:919
5013     break;
5014 
5015   case 1206:
5016 #line 2482 "DynareBison.yy" // lalr1.cc:919
5017     { driver.bvar_density(yystack_[1].value.as < string > ()); }
5018 #line 5019 "DynareBison.cc" // lalr1.cc:919
5019     break;
5020 
5021   case 1213:
5022 #line 2496 "DynareBison.yy" // lalr1.cc:919
5023     { driver.bvar_forecast(yystack_[1].value.as < string > ()); }
5024 #line 5025 "DynareBison.cc" // lalr1.cc:919
5025     break;
5026 
5027   case 1214:
5028 #line 2498 "DynareBison.yy" // lalr1.cc:919
5029     { driver.bvar_forecast(yystack_[1].value.as < string > ()); }
5030 #line 5031 "DynareBison.cc" // lalr1.cc:919
5031     break;
5032 
5033   case 1265:
5034 #line 2556 "DynareBison.yy" // lalr1.cc:919
5035     { driver.sbvar(); }
5036 #line 5037 "DynareBison.cc" // lalr1.cc:919
5037     break;
5038 
5039   case 1266:
5040 #line 2558 "DynareBison.yy" // lalr1.cc:919
5041     { driver.sbvar(); }
5042 #line 5043 "DynareBison.cc" // lalr1.cc:919
5043     break;
5044 
5045   case 1283:
5046 #line 2582 "DynareBison.yy" // lalr1.cc:919
5047     { driver.ms_variance_decomposition(); }
5048 #line 5049 "DynareBison.cc" // lalr1.cc:919
5049     break;
5050 
5051   case 1284:
5052 #line 2584 "DynareBison.yy" // lalr1.cc:919
5053     { driver.ms_variance_decomposition(); }
5054 #line 5055 "DynareBison.cc" // lalr1.cc:919
5055     break;
5056 
5057   case 1301:
5058 #line 2608 "DynareBison.yy" // lalr1.cc:919
5059     { driver.ms_forecast(); }
5060 #line 5061 "DynareBison.cc" // lalr1.cc:919
5061     break;
5062 
5063   case 1302:
5064 #line 2610 "DynareBison.yy" // lalr1.cc:919
5065     { driver.ms_forecast(); }
5066 #line 5067 "DynareBison.cc" // lalr1.cc:919
5067     break;
5068 
5069   case 1319:
5070 #line 2634 "DynareBison.yy" // lalr1.cc:919
5071     { driver.ms_irf(); }
5072 #line 5073 "DynareBison.cc" // lalr1.cc:919
5073     break;
5074 
5075   case 1320:
5076 #line 2636 "DynareBison.yy" // lalr1.cc:919
5077     { driver.ms_irf(); }
5078 #line 5079 "DynareBison.cc" // lalr1.cc:919
5079     break;
5080 
5081   case 1321:
5082 #line 2638 "DynareBison.yy" // lalr1.cc:919
5083     { driver.ms_irf(); }
5084 #line 5085 "DynareBison.cc" // lalr1.cc:919
5085     break;
5086 
5087   case 1322:
5088 #line 2640 "DynareBison.yy" // lalr1.cc:919
5089     { driver.ms_irf(); }
5090 #line 5091 "DynareBison.cc" // lalr1.cc:919
5091     break;
5092 
5093   case 1329:
5094 #line 2654 "DynareBison.yy" // lalr1.cc:919
5095     { driver.ms_compute_probabilities(); }
5096 #line 5097 "DynareBison.cc" // lalr1.cc:919
5097     break;
5098 
5099   case 1330:
5100 #line 2656 "DynareBison.yy" // lalr1.cc:919
5101     { driver.ms_compute_probabilities(); }
5102 #line 5103 "DynareBison.cc" // lalr1.cc:919
5103     break;
5104 
5105   case 1341:
5106 #line 2674 "DynareBison.yy" // lalr1.cc:919
5107     { driver.ms_compute_mdd(); }
5108 #line 5109 "DynareBison.cc" // lalr1.cc:919
5109     break;
5110 
5111   case 1342:
5112 #line 2676 "DynareBison.yy" // lalr1.cc:919
5113     { driver.ms_compute_mdd(); }
5114 #line 5115 "DynareBison.cc" // lalr1.cc:919
5115     break;
5116 
5117   case 1352:
5118 #line 2693 "DynareBison.yy" // lalr1.cc:919
5119     { driver.ms_simulation(); }
5120 #line 5121 "DynareBison.cc" // lalr1.cc:919
5121     break;
5122 
5123   case 1353:
5124 #line 2695 "DynareBison.yy" // lalr1.cc:919
5125     { driver.ms_simulation(); }
5126 #line 5127 "DynareBison.cc" // lalr1.cc:919
5127     break;
5128 
5129   case 1391:
5130 #line 2740 "DynareBison.yy" // lalr1.cc:919
5131     { driver.ms_estimation(); }
5132 #line 5133 "DynareBison.cc" // lalr1.cc:919
5133     break;
5134 
5135   case 1392:
5136 #line 2742 "DynareBison.yy" // lalr1.cc:919
5137     { driver.ms_estimation(); }
5138 #line 5139 "DynareBison.cc" // lalr1.cc:919
5139     break;
5140 
5141   case 1393:
5142 #line 2746 "DynareBison.yy" // lalr1.cc:919
5143     { driver.dynare_sensitivity(); }
5144 #line 5145 "DynareBison.cc" // lalr1.cc:919
5145     break;
5146 
5147   case 1394:
5148 #line 2748 "DynareBison.yy" // lalr1.cc:919
5149     { driver.dynare_sensitivity(); }
5150 #line 5151 "DynareBison.cc" // lalr1.cc:919
5151     break;
5152 
5153   case 1519:
5154 #line 2896 "DynareBison.yy" // lalr1.cc:919
5155     { driver.end_homotopy();}
5156 #line 5157 "DynareBison.cc" // lalr1.cc:919
5157     break;
5158 
5159   case 1522:
5160 #line 2903 "DynareBison.yy" // lalr1.cc:919
5161     { driver.homotopy_val(yystack_[5].value.as < string > (), yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > ());}
5162 #line 5163 "DynareBison.cc" // lalr1.cc:919
5163     break;
5164 
5165   case 1523:
5166 #line 2905 "DynareBison.yy" // lalr1.cc:919
5167     { driver.homotopy_val(yystack_[3].value.as < string > (), nullptr, yystack_[1].value.as < expr_t > ());}
5168 #line 5169 "DynareBison.cc" // lalr1.cc:919
5169     break;
5170 
5171   case 1524:
5172 #line 2908 "DynareBison.yy" // lalr1.cc:919
5173     {driver.forecast();}
5174 #line 5175 "DynareBison.cc" // lalr1.cc:919
5175     break;
5176 
5177   case 1525:
5178 #line 2909 "DynareBison.yy" // lalr1.cc:919
5179     {driver.forecast();}
5180 #line 5181 "DynareBison.cc" // lalr1.cc:919
5181     break;
5182 
5183   case 1526:
5184 #line 2910 "DynareBison.yy" // lalr1.cc:919
5185     {driver.forecast();}
5186 #line 5187 "DynareBison.cc" // lalr1.cc:919
5187     break;
5188 
5189   case 1527:
5190 #line 2911 "DynareBison.yy" // lalr1.cc:919
5191     {driver.forecast();}
5192 #line 5193 "DynareBison.cc" // lalr1.cc:919
5193     break;
5194 
5195   case 1535:
5196 #line 2926 "DynareBison.yy" // lalr1.cc:919
5197     { driver.conditional_forecast(); }
5198 #line 5199 "DynareBison.cc" // lalr1.cc:919
5199     break;
5200 
5201   case 1543:
5202 #line 2941 "DynareBison.yy" // lalr1.cc:919
5203     { driver.plot_conditional_forecast(); }
5204 #line 5205 "DynareBison.cc" // lalr1.cc:919
5205     break;
5206 
5207   case 1544:
5208 #line 2943 "DynareBison.yy" // lalr1.cc:919
5209     { driver.plot_conditional_forecast(yystack_[3].value.as < string > ()); }
5210 #line 5211 "DynareBison.cc" // lalr1.cc:919
5211     break;
5212 
5213   case 1545:
5214 #line 2947 "DynareBison.yy" // lalr1.cc:919
5215     { driver.conditional_forecast_paths(); }
5216 #line 5217 "DynareBison.cc" // lalr1.cc:919
5217     break;
5218 
5219   case 1548:
5220 #line 2955 "DynareBison.yy" // lalr1.cc:919
5221     { driver.add_det_shock(yystack_[7].value.as < string > (), true); }
5222 #line 5223 "DynareBison.cc" // lalr1.cc:919
5223     break;
5224 
5225   case 1549:
5226 #line 2958 "DynareBison.yy" // lalr1.cc:919
5227     { driver.begin_steady_state_model(); }
5228 #line 5229 "DynareBison.cc" // lalr1.cc:919
5229     break;
5230 
5231   case 1550:
5232 #line 2959 "DynareBison.yy" // lalr1.cc:919
5233     { driver.reset_data_tree(); }
5234 #line 5235 "DynareBison.cc" // lalr1.cc:919
5235     break;
5236 
5237   case 1553:
5238 #line 2967 "DynareBison.yy" // lalr1.cc:919
5239     { driver.add_steady_state_model_equal(yystack_[3].value.as < string > (), yystack_[1].value.as < expr_t > ()); }
5240 #line 5241 "DynareBison.cc" // lalr1.cc:919
5241     break;
5242 
5243   case 1554:
5244 #line 2969 "DynareBison.yy" // lalr1.cc:919
5245     { driver.add_steady_state_model_equal_multiple(yystack_[1].value.as < expr_t > ()); }
5246 #line 5247 "DynareBison.cc" // lalr1.cc:919
5247     break;
5248 
5249   case 1555:
5250 #line 2973 "DynareBison.yy" // lalr1.cc:919
5251     { driver.calib_smoother(); }
5252 #line 5253 "DynareBison.cc" // lalr1.cc:919
5253     break;
5254 
5255   case 1556:
5256 #line 2975 "DynareBison.yy" // lalr1.cc:919
5257     { driver.calib_smoother(); }
5258 #line 5259 "DynareBison.cc" // lalr1.cc:919
5259     break;
5260 
5261   case 1557:
5262 #line 2977 "DynareBison.yy" // lalr1.cc:919
5263     { driver.calib_smoother(); }
5264 #line 5265 "DynareBison.cc" // lalr1.cc:919
5265     break;
5266 
5267   case 1558:
5268 #line 2979 "DynareBison.yy" // lalr1.cc:919
5269     { driver.calib_smoother(); }
5270 #line 5271 "DynareBison.cc" // lalr1.cc:919
5271     break;
5272 
5273   case 1574:
5274 #line 3002 "DynareBison.yy" // lalr1.cc:919
5275     { driver.end_generate_irfs(); }
5276 #line 5277 "DynareBison.cc" // lalr1.cc:919
5277     break;
5278 
5279   case 1575:
5280 #line 3004 "DynareBison.yy" // lalr1.cc:919
5281     { driver.end_generate_irfs(); }
5282 #line 5283 "DynareBison.cc" // lalr1.cc:919
5283     break;
5284 
5285   case 1576:
5286 #line 3006 "DynareBison.yy" // lalr1.cc:919
5287     { driver.end_generate_irfs(); }
5288 #line 5289 "DynareBison.cc" // lalr1.cc:919
5289     break;
5290 
5291   case 1577:
5292 #line 3008 "DynareBison.yy" // lalr1.cc:919
5293     { driver.end_generate_irfs(); }
5294 #line 5295 "DynareBison.cc" // lalr1.cc:919
5295     break;
5296 
5297   case 1584:
5298 #line 3024 "DynareBison.yy" // lalr1.cc:919
5299     { driver.add_generate_irfs_element(yystack_[3].value.as < string > ()); }
5300 #line 5301 "DynareBison.cc" // lalr1.cc:919
5301     break;
5302 
5303   case 1585:
5304 #line 3028 "DynareBison.yy" // lalr1.cc:919
5305     { driver.add_generate_irfs_exog_element(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
5306 #line 5307 "DynareBison.cc" // lalr1.cc:919
5307     break;
5308 
5309   case 1586:
5310 #line 3030 "DynareBison.yy" // lalr1.cc:919
5311     { driver.add_generate_irfs_exog_element(yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
5312 #line 5313 "DynareBison.cc" // lalr1.cc:919
5313     break;
5314 
5315   case 1587:
5316 #line 3034 "DynareBison.yy" // lalr1.cc:919
5317     { driver.extended_path(); }
5318 #line 5319 "DynareBison.cc" // lalr1.cc:919
5319     break;
5320 
5321   case 1588:
5322 #line 3036 "DynareBison.yy" // lalr1.cc:919
5323     { driver.extended_path(); }
5324 #line 5325 "DynareBison.cc" // lalr1.cc:919
5325     break;
5326 
5327   case 1597:
5328 #line 3052 "DynareBison.yy" // lalr1.cc:919
5329     { driver.model_diagnostics(); }
5330 #line 5331 "DynareBison.cc" // lalr1.cc:919
5331     break;
5332 
5333   case 1598:
5334 #line 3056 "DynareBison.yy" // lalr1.cc:919
5335     { yylhs.value.as < pair<expr_t,expr_t> > () = { yystack_[3].value.as < expr_t > (), yystack_[1].value.as < expr_t > () }; }
5336 #line 5337 "DynareBison.cc" // lalr1.cc:919
5337     break;
5338 
5339   case 1599:
5340 #line 3058 "DynareBison.yy" // lalr1.cc:919
5341     { yylhs.value.as < pair<expr_t,expr_t> > () = { driver.add_non_negative_constant("0"), driver.add_inf_constant() }; }
5342 #line 5343 "DynareBison.cc" // lalr1.cc:919
5343     break;
5344 
5345   case 1600:
5346 #line 3060 "DynareBison.yy" // lalr1.cc:919
5347     { yylhs.value.as < pair<expr_t,expr_t> > () = { driver.add_uminus(driver.add_inf_constant()), driver.add_non_negative_constant("0") }; }
5348 #line 5349 "DynareBison.cc" // lalr1.cc:919
5349     break;
5350 
5351   case 1601:
5352 #line 3064 "DynareBison.yy" // lalr1.cc:919
5353     { driver.end_moment_calibration(); }
5354 #line 5355 "DynareBison.cc" // lalr1.cc:919
5355     break;
5356 
5357   case 1604:
5358 #line 3072 "DynareBison.yy" // lalr1.cc:919
5359     { driver.add_moment_calibration_item(yystack_[5].value.as < string > (), yystack_[3].value.as < string > (), "0", yystack_[1].value.as < pair<expr_t,expr_t> > ()); }
5360 #line 5361 "DynareBison.cc" // lalr1.cc:919
5361     break;
5362 
5363   case 1605:
5364 #line 3074 "DynareBison.yy" // lalr1.cc:919
5365     { driver.add_moment_calibration_item(yystack_[8].value.as < string > (), yystack_[6].value.as < string > (), yystack_[4].value.as < string > (), yystack_[1].value.as < pair<expr_t,expr_t> > ()); }
5366 #line 5367 "DynareBison.cc" // lalr1.cc:919
5367     break;
5368 
5369   case 1606:
5370 #line 3076 "DynareBison.yy" // lalr1.cc:919
5371     { driver.add_moment_calibration_item(yystack_[8].value.as < string > (), yystack_[6].value.as < string > (), yystack_[4].value.as < string > (), yystack_[1].value.as < pair<expr_t,expr_t> > ()); }
5372 #line 5373 "DynareBison.cc" // lalr1.cc:919
5373     break;
5374 
5375   case 1607:
5376 #line 3080 "DynareBison.yy" // lalr1.cc:919
5377     { driver.end_irf_calibration(); }
5378 #line 5379 "DynareBison.cc" // lalr1.cc:919
5379     break;
5380 
5381   case 1608:
5382 #line 3082 "DynareBison.yy" // lalr1.cc:919
5383     { driver.end_irf_calibration(); }
5384 #line 5385 "DynareBison.cc" // lalr1.cc:919
5385     break;
5386 
5387   case 1611:
5388 #line 3090 "DynareBison.yy" // lalr1.cc:919
5389     { driver.add_irf_calibration_item(yystack_[5].value.as < string > (), "1", yystack_[3].value.as < string > (), yystack_[1].value.as < pair<expr_t,expr_t> > ()); }
5390 #line 5391 "DynareBison.cc" // lalr1.cc:919
5391     break;
5392 
5393   case 1612:
5394 #line 3092 "DynareBison.yy" // lalr1.cc:919
5395     { driver.add_irf_calibration_item(yystack_[8].value.as < string > (), yystack_[6].value.as < string > (), yystack_[3].value.as < string > (), yystack_[1].value.as < pair<expr_t,expr_t> > ()); }
5396 #line 5397 "DynareBison.cc" // lalr1.cc:919
5397     break;
5398 
5399   case 1613:
5400 #line 3094 "DynareBison.yy" // lalr1.cc:919
5401     { driver.add_irf_calibration_item(yystack_[8].value.as < string > (), yystack_[6].value.as < string > (), yystack_[3].value.as < string > (), yystack_[1].value.as < pair<expr_t,expr_t> > ()); }
5402 #line 5403 "DynareBison.cc" // lalr1.cc:919
5403     break;
5404 
5405   case 1614:
5406 #line 3098 "DynareBison.yy" // lalr1.cc:919
5407     { driver.smoother2histval(); }
5408 #line 5409 "DynareBison.cc" // lalr1.cc:919
5409     break;
5410 
5411   case 1615:
5412 #line 3100 "DynareBison.yy" // lalr1.cc:919
5413     { driver.smoother2histval(); }
5414 #line 5415 "DynareBison.cc" // lalr1.cc:919
5415     break;
5416 
5417   case 1623:
5418 #line 3115 "DynareBison.yy" // lalr1.cc:919
5419     { driver.end_shock_groups("default"); }
5420 #line 5421 "DynareBison.cc" // lalr1.cc:919
5421     break;
5422 
5423   case 1624:
5424 #line 3117 "DynareBison.yy" // lalr1.cc:919
5425     {driver.end_shock_groups(yystack_[5].value.as < string > ());}
5426 #line 5427 "DynareBison.cc" // lalr1.cc:919
5427     break;
5428 
5429   case 1627:
5430 #line 3124 "DynareBison.yy" // lalr1.cc:919
5431     { driver.add_shock_group(yystack_[3].value.as < string > ()); }
5432 #line 5433 "DynareBison.cc" // lalr1.cc:919
5433     break;
5434 
5435   case 1628:
5436 #line 3125 "DynareBison.yy" // lalr1.cc:919
5437     { driver.add_shock_group(yystack_[3].value.as < string > ()); }
5438 #line 5439 "DynareBison.cc" // lalr1.cc:919
5439     break;
5440 
5441   case 1629:
5442 #line 3128 "DynareBison.yy" // lalr1.cc:919
5443     {driver.add_shock_group_element(yystack_[0].value.as < string > ());}
5444 #line 5445 "DynareBison.cc" // lalr1.cc:919
5445     break;
5446 
5447   case 1630:
5448 #line 3129 "DynareBison.yy" // lalr1.cc:919
5449     {driver.add_shock_group_element(yystack_[0].value.as < string > ());}
5450 #line 5451 "DynareBison.cc" // lalr1.cc:919
5451     break;
5452 
5453   case 1631:
5454 #line 3130 "DynareBison.yy" // lalr1.cc:919
5455     {driver.add_shock_group_element(yystack_[0].value.as < string > ());}
5456 #line 5457 "DynareBison.cc" // lalr1.cc:919
5457     break;
5458 
5459   case 1632:
5460 #line 3134 "DynareBison.yy" // lalr1.cc:919
5461     { driver.end_init2shocks("default"); }
5462 #line 5463 "DynareBison.cc" // lalr1.cc:919
5463     break;
5464 
5465   case 1633:
5466 #line 3136 "DynareBison.yy" // lalr1.cc:919
5467     {driver.end_init2shocks(yystack_[5].value.as < string > ());}
5468 #line 5469 "DynareBison.cc" // lalr1.cc:919
5469     break;
5470 
5471   case 1636:
5472 #line 3143 "DynareBison.yy" // lalr1.cc:919
5473     { driver.add_init2shocks(yystack_[2].value.as < string > (), yystack_[1].value.as < string > ()); }
5474 #line 5475 "DynareBison.cc" // lalr1.cc:919
5475     break;
5476 
5477   case 1637:
5478 #line 3144 "DynareBison.yy" // lalr1.cc:919
5479     { driver.add_init2shocks(yystack_[3].value.as < string > (), yystack_[1].value.as < string > ()); }
5480 #line 5481 "DynareBison.cc" // lalr1.cc:919
5481     break;
5482 
5483   case 1638:
5484 #line 3147 "DynareBison.yy" // lalr1.cc:919
5485     {
5486                                        if (yystack_[0].value.as < string > () == "0")
5487                                          driver.warning("dr_algo option is now deprecated, and may be removed in a future version of Dynare");
5488                                        else
5489                                          driver.error("dr_algo=1 option is no longer supported");
5490                                      }
5491 #line 5492 "DynareBison.cc" // lalr1.cc:919
5492     break;
5493 
5494   case 1639:
5495 #line 3153 "DynareBison.yy" // lalr1.cc:919
5496     { driver.option_num("solve_algo", yystack_[0].value.as < string > ()); }
5497 #line 5498 "DynareBison.cc" // lalr1.cc:919
5498     break;
5499 
5500   case 1640:
5501 #line 3154 "DynareBison.yy" // lalr1.cc:919
5502     {
5503                                              if (yystack_[0].value.as < string > () == "0")
5504                                                driver.warning("simul_algo option is now deprecated, and may be removed in a future version of Dynare");
5505                                              else
5506                                                driver.error("simul_algo=1 option is no longer supported");
5507                                            }
5508 #line 5509 "DynareBison.cc" // lalr1.cc:919
5509     break;
5510 
5511   case 1641:
5512 #line 3160 "DynareBison.yy" // lalr1.cc:919
5513     { driver.option_num("stack_solve_algo", yystack_[0].value.as < string > ()); }
5514 #line 5515 "DynareBison.cc" // lalr1.cc:919
5515     break;
5516 
5517   case 1642:
5518 #line 3161 "DynareBison.yy" // lalr1.cc:919
5519     { driver.option_num("simul.robust_lin_solve", "true"); }
5520 #line 5521 "DynareBison.cc" // lalr1.cc:919
5521     break;
5522 
5523   case 1643:
5524 #line 3162 "DynareBison.yy" // lalr1.cc:919
5525     { driver.option_num("endogenous_terminal_period", "true"); }
5526 #line 5527 "DynareBison.cc" // lalr1.cc:919
5527     break;
5528 
5529   case 1644:
5530 #line 3163 "DynareBison.yy" // lalr1.cc:919
5531     { driver.linear(); }
5532 #line 5533 "DynareBison.cc" // lalr1.cc:919
5533     break;
5534 
5535   case 1645:
5536 #line 3164 "DynareBison.yy" // lalr1.cc:919
5537     { driver.option_num("order", yystack_[0].value.as < string > ()); }
5538 #line 5539 "DynareBison.cc" // lalr1.cc:919
5539     break;
5540 
5541   case 1646:
5542 #line 3165 "DynareBison.yy" // lalr1.cc:919
5543     { driver.option_num("replic", yystack_[0].value.as < string > ()); }
5544 #line 5545 "DynareBison.cc" // lalr1.cc:919
5545     break;
5546 
5547   case 1647:
5548 #line 3166 "DynareBison.yy" // lalr1.cc:919
5549     { driver.option_num("drop", yystack_[0].value.as < string > ()); }
5550 #line 5551 "DynareBison.cc" // lalr1.cc:919
5551     break;
5552 
5553   case 1648:
5554 #line 3167 "DynareBison.yy" // lalr1.cc:919
5555     { driver.option_num("ar", yystack_[0].value.as < string > ()); }
5556 #line 5557 "DynareBison.cc" // lalr1.cc:919
5557     break;
5558 
5559   case 1649:
5560 #line 3168 "DynareBison.yy" // lalr1.cc:919
5561     { driver.option_num("nocorr", "true"); }
5562 #line 5563 "DynareBison.cc" // lalr1.cc:919
5563     break;
5564 
5565   case 1650:
5566 #line 3169 "DynareBison.yy" // lalr1.cc:919
5567     { driver.option_num("nofunctions", "true"); }
5568 #line 5569 "DynareBison.cc" // lalr1.cc:919
5569     break;
5570 
5571   case 1651:
5572 #line 3170 "DynareBison.yy" // lalr1.cc:919
5573     { driver.option_num("nomoments", "true"); }
5574 #line 5575 "DynareBison.cc" // lalr1.cc:919
5575     break;
5576 
5577   case 1652:
5578 #line 3171 "DynareBison.yy" // lalr1.cc:919
5579     { driver.option_num("irf", yystack_[0].value.as < string > ()); }
5580 #line 5581 "DynareBison.cc" // lalr1.cc:919
5581     break;
5582 
5583   case 1653:
5584 #line 3172 "DynareBison.yy" // lalr1.cc:919
5585     { driver.option_symbol_list("irf_shocks"); }
5586 #line 5587 "DynareBison.cc" // lalr1.cc:919
5587     break;
5588 
5589   case 1654:
5590 #line 3173 "DynareBison.yy" // lalr1.cc:919
5591     { driver.option_num("hp_filter", yystack_[0].value.as < string > ()); }
5592 #line 5593 "DynareBison.cc" // lalr1.cc:919
5593     break;
5594 
5595   case 1655:
5596 #line 3174 "DynareBison.yy" // lalr1.cc:919
5597     {
5598                                          driver.warning("The 'hp_ngrid' option is deprecated. It has been superseded by the 'filtered_theoretical_moments_grid' option.");
5599                                          driver.option_num("filtered_theoretical_moments_grid", yystack_[0].value.as < string > ());
5600                                        }
5601 #line 5602 "DynareBison.cc" // lalr1.cc:919
5602     break;
5603 
5604   case 1656:
5605 #line 3178 "DynareBison.yy" // lalr1.cc:919
5606     { driver.option_num("filtered_theoretical_moments_grid", yystack_[0].value.as < string > ()); }
5607 #line 5608 "DynareBison.cc" // lalr1.cc:919
5608     break;
5609 
5610   case 1657:
5611 #line 3179 "DynareBison.yy" // lalr1.cc:919
5612     { driver.option_num("one_sided_hp_filter", yystack_[0].value.as < string > ()); }
5613 #line 5614 "DynareBison.cc" // lalr1.cc:919
5614     break;
5615 
5616   case 1658:
5617 #line 3180 "DynareBison.yy" // lalr1.cc:919
5618     { driver.option_num("periods", yystack_[0].value.as < string > ()); }
5619 #line 5620 "DynareBison.cc" // lalr1.cc:919
5620     break;
5621 
5622   case 1659:
5623 #line 3181 "DynareBison.yy" // lalr1.cc:919
5624     { driver.option_num("ep.periods", yystack_[0].value.as < string > ()); }
5625 #line 5626 "DynareBison.cc" // lalr1.cc:919
5626     break;
5627 
5628   case 1660:
5629 #line 3182 "DynareBison.yy" // lalr1.cc:919
5630     { driver.option_num("ep.stochastic.order", yystack_[0].value.as < string > ()); }
5631 #line 5632 "DynareBison.cc" // lalr1.cc:919
5632     break;
5633 
5634   case 1661:
5635 #line 3183 "DynareBison.yy" // lalr1.cc:919
5636     { driver.option_num("ep.stochastic.hybrid_order", "2"); }
5637 #line 5638 "DynareBison.cc" // lalr1.cc:919
5638     break;
5639 
5640   case 1662:
5641 #line 3184 "DynareBison.yy" // lalr1.cc:919
5642     { driver.option_num("steady.maxit", yystack_[0].value.as < string > ()); }
5643 #line 5644 "DynareBison.cc" // lalr1.cc:919
5644     break;
5645 
5646   case 1663:
5647 #line 3185 "DynareBison.yy" // lalr1.cc:919
5648     { driver.option_num("simul.maxit", yystack_[0].value.as < string > ()); }
5649 #line 5650 "DynareBison.cc" // lalr1.cc:919
5650     break;
5651 
5652   case 1664:
5653 #line 3186 "DynareBison.yy" // lalr1.cc:919
5654     { driver.option_num("bandpass.indicator", "true"); }
5655 #line 5656 "DynareBison.cc" // lalr1.cc:919
5656     break;
5657 
5658   case 1665:
5659 #line 3188 "DynareBison.yy" // lalr1.cc:919
5660     {
5661                       driver.option_num("bandpass.indicator", "true");
5662                       driver.option_vec_int("bandpass.passband", yystack_[0].value.as < vector<int> > ());
5663                     }
5664 #line 5665 "DynareBison.cc" // lalr1.cc:919
5665     break;
5666 
5667   case 1666:
5668 #line 3193 "DynareBison.yy" // lalr1.cc:919
5669     { driver.option_num("dp.maxit", yystack_[0].value.as < string > ()); }
5670 #line 5671 "DynareBison.cc" // lalr1.cc:919
5671     break;
5672 
5673   case 1667:
5674 #line 3194 "DynareBison.yy" // lalr1.cc:919
5675     { driver.option_num("osr.maxit", yystack_[0].value.as < string > ()); }
5676 #line 5677 "DynareBison.cc" // lalr1.cc:919
5677     break;
5678 
5679   case 1668:
5680 #line 3195 "DynareBison.yy" // lalr1.cc:919
5681     { driver.option_num("osr.tolf", yystack_[0].value.as < string > ()); }
5682 #line 5683 "DynareBison.cc" // lalr1.cc:919
5683     break;
5684 
5685   case 1669:
5686 #line 3196 "DynareBison.yy" // lalr1.cc:919
5687     { driver.option_num("dynatol.f", yystack_[0].value.as < string > ()); }
5688 #line 5689 "DynareBison.cc" // lalr1.cc:919
5689     break;
5690 
5691   case 1670:
5692 #line 3197 "DynareBison.yy" // lalr1.cc:919
5693     { driver.option_num("dynatol.x", yystack_[0].value.as < string > ()); }
5694 #line 5695 "DynareBison.cc" // lalr1.cc:919
5695     break;
5696 
5697   case 1671:
5698 #line 3198 "DynareBison.yy" // lalr1.cc:919
5699     { driver.option_num("solve_tolf", yystack_[0].value.as < string > ()); }
5700 #line 5701 "DynareBison.cc" // lalr1.cc:919
5701     break;
5702 
5703   case 1672:
5704 #line 3199 "DynareBison.yy" // lalr1.cc:919
5705     { driver.option_num("osr.opt_algo", yystack_[0].value.as < string > ()); }
5706 #line 5707 "DynareBison.cc" // lalr1.cc:919
5707     break;
5708 
5709   case 1673:
5710 #line 3200 "DynareBison.yy" // lalr1.cc:919
5711     { driver.option_str("osr.opt_algo", yystack_[0].value.as < string > ()); }
5712 #line 5713 "DynareBison.cc" // lalr1.cc:919
5713     break;
5714 
5715   case 1674:
5716 #line 3202 "DynareBison.yy" // lalr1.cc:919
5717     { driver.cutoff(yystack_[0].value.as < string > ()); }
5718 #line 5719 "DynareBison.cc" // lalr1.cc:919
5719     break;
5720 
5721   case 1675:
5722 #line 3203 "DynareBison.yy" // lalr1.cc:919
5723     { driver.option_num("markowitz", yystack_[0].value.as < string > ()); }
5724 #line 5725 "DynareBison.cc" // lalr1.cc:919
5725     break;
5726 
5727   case 1676:
5728 #line 3204 "DynareBison.yy" // lalr1.cc:919
5729     { driver.option_num("minimal_solving_periods", yystack_[0].value.as < string > ()); }
5730 #line 5731 "DynareBison.cc" // lalr1.cc:919
5731     break;
5732 
5733   case 1677:
5734 #line 3205 "DynareBison.yy" // lalr1.cc:919
5735     { driver.mfs(yystack_[0].value.as < string > ()); }
5736 #line 5737 "DynareBison.cc" // lalr1.cc:919
5737     break;
5738 
5739   case 1679:
5740 #line 3207 "DynareBison.yy" // lalr1.cc:919
5741     { driver.option_num("simul_replic", yystack_[0].value.as < string > ()); }
5742 #line 5743 "DynareBison.cc" // lalr1.cc:919
5743     break;
5744 
5745   case 1680:
5746 #line 3208 "DynareBison.yy" // lalr1.cc:919
5747     { driver.error("'simul_seed' option is no longer supported; use 'set_dynare_seed' command instead"); }
5748 #line 5749 "DynareBison.cc" // lalr1.cc:919
5749     break;
5750 
5751   case 1681:
5752 #line 3209 "DynareBison.yy" // lalr1.cc:919
5753     { driver.option_num("qz_criterium", yystack_[0].value.as < string > ()); }
5754 #line 5755 "DynareBison.cc" // lalr1.cc:919
5755     break;
5756 
5757   case 1682:
5758 #line 3210 "DynareBison.yy" // lalr1.cc:919
5759     { driver.option_num("qz_zero_threshold", yystack_[0].value.as < string > ()); }
5760 #line 5761 "DynareBison.cc" // lalr1.cc:919
5761     break;
5762 
5763   case 1683:
5764 #line 3211 "DynareBison.yy" // lalr1.cc:919
5765     { driver.option_str("file", yystack_[0].value.as < string > ()); }
5766 #line 5767 "DynareBison.cc" // lalr1.cc:919
5767     break;
5768 
5769   case 1684:
5770 #line 3212 "DynareBison.yy" // lalr1.cc:919
5771     { driver.option_str("pac.model_name", yystack_[0].value.as < string > ()); }
5772 #line 5773 "DynareBison.cc" // lalr1.cc:919
5773     break;
5774 
5775   case 1685:
5776 #line 3213 "DynareBison.yy" // lalr1.cc:919
5777     { driver.option_str("pac.aux_model_name", yystack_[0].value.as < string > ()); }
5778 #line 5779 "DynareBison.cc" // lalr1.cc:919
5779     break;
5780 
5781   case 1686:
5782 #line 3214 "DynareBison.yy" // lalr1.cc:919
5783     { driver.option_str("pac.discount", yystack_[0].value.as < string > ()); }
5784 #line 5785 "DynareBison.cc" // lalr1.cc:919
5785     break;
5786 
5787   case 1687:
5788 #line 3215 "DynareBison.yy" // lalr1.cc:919
5789     { driver.begin_pac_growth(); }
5790 #line 5791 "DynareBison.cc" // lalr1.cc:919
5791     break;
5792 
5793   case 1688:
5794 #line 3215 "DynareBison.yy" // lalr1.cc:919
5795     { driver.set_pac_growth(yystack_[0].value.as < expr_t > ()); }
5796 #line 5797 "DynareBison.cc" // lalr1.cc:919
5797     break;
5798 
5799   case 1689:
5800 #line 3216 "DynareBison.yy" // lalr1.cc:919
5801     { driver.set_pac_steady_state_growth(yystack_[0].value.as < string > ()); }
5802 #line 5803 "DynareBison.cc" // lalr1.cc:919
5803     break;
5804 
5805   case 1690:
5806 #line 3217 "DynareBison.yy" // lalr1.cc:919
5807     { driver.set_pac_steady_state_growth(yystack_[0].value.as < string > ()); }
5808 #line 5809 "DynareBison.cc" // lalr1.cc:919
5809     break;
5810 
5811   case 1691:
5812 #line 3219 "DynareBison.yy" // lalr1.cc:919
5813     { driver.option_str("var.model_name", yystack_[0].value.as < string > ()); }
5814 #line 5815 "DynareBison.cc" // lalr1.cc:919
5815     break;
5816 
5817   case 1692:
5818 #line 3220 "DynareBison.yy" // lalr1.cc:919
5819     { driver.option_num("var.order", yystack_[0].value.as < string > ()); }
5820 #line 5821 "DynareBison.cc" // lalr1.cc:919
5821     break;
5822 
5823   case 1693:
5824 #line 3221 "DynareBison.yy" // lalr1.cc:919
5825     { driver.option_str("series", yystack_[0].value.as < string > ()); }
5826 #line 5827 "DynareBison.cc" // lalr1.cc:919
5827     break;
5828 
5829   case 1694:
5830 #line 3222 "DynareBison.yy" // lalr1.cc:919
5831     { driver.option_str("datafile", yystack_[0].value.as < string > ()); }
5832 #line 5833 "DynareBison.cc" // lalr1.cc:919
5833     break;
5834 
5835   case 1695:
5836 #line 3223 "DynareBison.yy" // lalr1.cc:919
5837     { driver.option_str("var_estimation.datafile", yystack_[0].value.as < string > ()); }
5838 #line 5839 "DynareBison.cc" // lalr1.cc:919
5839     break;
5840 
5841   case 1696:
5842 #line 3224 "DynareBison.yy" // lalr1.cc:919
5843     { driver.option_str("var_estimation.model_name", yystack_[0].value.as < string > ()); }
5844 #line 5845 "DynareBison.cc" // lalr1.cc:919
5845     break;
5846 
5847   case 1697:
5848 #line 3225 "DynareBison.yy" // lalr1.cc:919
5849     { driver.option_vec_str("var.eqtags", yystack_[0].value.as < vector<string> > ()); }
5850 #line 5851 "DynareBison.cc" // lalr1.cc:919
5851     break;
5852 
5853   case 1698:
5854 #line 3226 "DynareBison.yy" // lalr1.cc:919
5855     { driver.option_str("dirname", yystack_[0].value.as < string > ()); }
5856 #line 5857 "DynareBison.cc" // lalr1.cc:919
5857     break;
5858 
5859   case 1699:
5860 #line 3227 "DynareBison.yy" // lalr1.cc:919
5861     { driver.option_num("huge_number", yystack_[0].value.as < string > ()); }
5862 #line 5863 "DynareBison.cc" // lalr1.cc:919
5863     break;
5864 
5865   case 1700:
5866 #line 3229 "DynareBison.yy" // lalr1.cc:919
5867     { driver.option_vec_int("nobs", yystack_[0].value.as < vector<int> > ()); }
5868 #line 5869 "DynareBison.cc" // lalr1.cc:919
5869     break;
5870 
5871   case 1701:
5872 #line 3231 "DynareBison.yy" // lalr1.cc:919
5873     { driver.option_vec_int("nobs", yystack_[0].value.as < vector<int> > ()); }
5874 #line 5875 "DynareBison.cc" // lalr1.cc:919
5875     break;
5876 
5877   case 1702:
5878 #line 3233 "DynareBison.yy" // lalr1.cc:919
5879     { driver.option_str("trend_component.name", yystack_[0].value.as < string > ()); }
5880 #line 5881 "DynareBison.cc" // lalr1.cc:919
5881     break;
5882 
5883   case 1703:
5884 #line 3234 "DynareBison.yy" // lalr1.cc:919
5885     { driver.option_vec_str("trend_component.targets", yystack_[0].value.as < vector<string> > ()); }
5886 #line 5887 "DynareBison.cc" // lalr1.cc:919
5887     break;
5888 
5889   case 1704:
5890 #line 3235 "DynareBison.yy" // lalr1.cc:919
5891     { driver.option_vec_str("trend_component.eqtags", yystack_[0].value.as < vector<string> > ()); }
5892 #line 5893 "DynareBison.cc" // lalr1.cc:919
5893     break;
5894 
5895   case 1705:
5896 #line 3237 "DynareBison.yy" // lalr1.cc:919
5897     { driver.option_vec_int("conditional_variance_decomposition", yystack_[0].value.as < vector<int> > ()); }
5898 #line 5899 "DynareBison.cc" // lalr1.cc:919
5899     break;
5900 
5901   case 1706:
5902 #line 3239 "DynareBison.yy" // lalr1.cc:919
5903     { driver.option_vec_int("conditional_variance_decomposition", yystack_[0].value.as < vector<int> > ()); }
5904 #line 5905 "DynareBison.cc" // lalr1.cc:919
5905     break;
5906 
5907   case 1707:
5908 #line 3242 "DynareBison.yy" // lalr1.cc:919
5909     { driver.option_vec_int("first_obs", yystack_[0].value.as < vector<int> > ()); }
5910 #line 5911 "DynareBison.cc" // lalr1.cc:919
5911     break;
5912 
5913   case 1708:
5914 #line 3244 "DynareBison.yy" // lalr1.cc:919
5915     { driver.option_vec_int("first_obs", yystack_[0].value.as < vector<int> > ()); }
5916 #line 5917 "DynareBison.cc" // lalr1.cc:919
5917     break;
5918 
5919   case 1709:
5920 #line 3247 "DynareBison.yy" // lalr1.cc:919
5921     { driver.option_str("posterior_sampler_options.posterior_sampling_method", yystack_[0].value.as < string > ()); }
5922 #line 5923 "DynareBison.cc" // lalr1.cc:919
5923     break;
5924 
5925   case 1710:
5926 #line 3248 "DynareBison.yy" // lalr1.cc:919
5927     { driver.option_num("first_obs", yystack_[0].value.as < string > ()); }
5928 #line 5929 "DynareBison.cc" // lalr1.cc:919
5929     break;
5930 
5931   case 1711:
5932 #line 3249 "DynareBison.yy" // lalr1.cc:919
5933     { driver.option_date("firstobs", yystack_[0].value.as < string > ()); }
5934 #line 5935 "DynareBison.cc" // lalr1.cc:919
5935     break;
5936 
5937   case 1712:
5938 #line 3250 "DynareBison.yy" // lalr1.cc:919
5939     { driver.option_date("lastobs", yystack_[0].value.as < string > ()); }
5940 #line 5941 "DynareBison.cc" // lalr1.cc:919
5941     break;
5942 
5943   case 1713:
5944 #line 3251 "DynareBison.yy" // lalr1.cc:919
5945     { driver.option_num("kalman.keep_kalman_algo_if_singularity_is_detected", "true"); }
5946 #line 5947 "DynareBison.cc" // lalr1.cc:919
5947     break;
5948 
5949   case 1714:
5950 #line 3252 "DynareBison.yy" // lalr1.cc:919
5951     { driver.option_num("nobs", yystack_[0].value.as < string > ()); }
5952 #line 5953 "DynareBison.cc" // lalr1.cc:919
5953     break;
5954 
5955   case 1715:
5956 #line 3253 "DynareBison.yy" // lalr1.cc:919
5957     { driver.option_num("shift", yystack_[0].value.as < string > ()); }
5958 #line 5959 "DynareBison.cc" // lalr1.cc:919
5959     break;
5960 
5961   case 1716:
5962 #line 3254 "DynareBison.yy" // lalr1.cc:919
5963     { driver.prior_shape = yystack_[0].value.as < PriorDistributions > (); }
5964 #line 5965 "DynareBison.cc" // lalr1.cc:919
5965     break;
5966 
5967   case 1717:
5968 #line 3255 "DynareBison.yy" // lalr1.cc:919
5969     { driver.option_num("mode", yystack_[0].value.as < string > ()); }
5970 #line 5971 "DynareBison.cc" // lalr1.cc:919
5971     break;
5972 
5973   case 1718:
5974 #line 3256 "DynareBison.yy" // lalr1.cc:919
5975     { driver.option_num("mean", yystack_[0].value.as < string > ()); }
5976 #line 5977 "DynareBison.cc" // lalr1.cc:919
5977     break;
5978 
5979   case 1719:
5980 #line 3257 "DynareBison.yy" // lalr1.cc:919
5981     { driver.option_num("mean", yystack_[0].value.as < string > ()); }
5982 #line 5983 "DynareBison.cc" // lalr1.cc:919
5983     break;
5984 
5985   case 1720:
5986 #line 3258 "DynareBison.yy" // lalr1.cc:919
5987     { driver.option_num("truncate", yystack_[0].value.as < string > ()); }
5988 #line 5989 "DynareBison.cc" // lalr1.cc:919
5989     break;
5990 
5991   case 1721:
5992 #line 3259 "DynareBison.yy" // lalr1.cc:919
5993     { driver.option_num("stdev", yystack_[0].value.as < string > ()); }
5994 #line 5995 "DynareBison.cc" // lalr1.cc:919
5995     break;
5996 
5997   case 1722:
5998 #line 3260 "DynareBison.yy" // lalr1.cc:919
5999     { driver.option_num("jscale", yystack_[0].value.as < string > ()); }
6000 #line 6001 "DynareBison.cc" // lalr1.cc:919
6001     break;
6002 
6003   case 1723:
6004 #line 3261 "DynareBison.yy" // lalr1.cc:919
6005     { driver.option_num("init", yystack_[0].value.as < string > ()); }
6006 #line 6007 "DynareBison.cc" // lalr1.cc:919
6007     break;
6008 
6009   case 1724:
6010 #line 3262 "DynareBison.yy" // lalr1.cc:919
6011     { driver.option_num("bounds", yystack_[0].value.as < string > ()); }
6012 #line 6013 "DynareBison.cc" // lalr1.cc:919
6013     break;
6014 
6015   case 1725:
6016 #line 3263 "DynareBison.yy" // lalr1.cc:919
6017     { driver.option_num("domain", yystack_[0].value.as < string > ()); }
6018 #line 6019 "DynareBison.cc" // lalr1.cc:919
6019     break;
6020 
6021   case 1726:
6022 #line 3264 "DynareBison.yy" // lalr1.cc:919
6023     { driver.option_num("interval", yystack_[0].value.as < string > ()); }
6024 #line 6025 "DynareBison.cc" // lalr1.cc:919
6025     break;
6026 
6027   case 1727:
6028 #line 3265 "DynareBison.yy" // lalr1.cc:919
6029     { driver.set_prior_variance(yystack_[0].value.as < expr_t > ()); }
6030 #line 6031 "DynareBison.cc" // lalr1.cc:919
6031     break;
6032 
6033   case 1728:
6034 #line 3266 "DynareBison.yy" // lalr1.cc:919
6035     { driver.option_num("variance",yystack_[0].value.as < string > ()); }
6036 #line 6037 "DynareBison.cc" // lalr1.cc:919
6037     break;
6038 
6039   case 1729:
6040 #line 3267 "DynareBison.yy" // lalr1.cc:919
6041     { driver.option_num("prefilter", yystack_[0].value.as < string > ()); }
6042 #line 6043 "DynareBison.cc" // lalr1.cc:919
6043     break;
6044 
6045   case 1730:
6046 #line 3268 "DynareBison.yy" // lalr1.cc:919
6047     { driver.option_num("presample", yystack_[0].value.as < string > ()); }
6048 #line 6049 "DynareBison.cc" // lalr1.cc:919
6049     break;
6050 
6051   case 1731:
6052 #line 3269 "DynareBison.yy" // lalr1.cc:919
6053     { driver.option_num("lik_algo", yystack_[0].value.as < string > ()); }
6054 #line 6055 "DynareBison.cc" // lalr1.cc:919
6055     break;
6056 
6057   case 1732:
6058 #line 3270 "DynareBison.yy" // lalr1.cc:919
6059     { driver.option_num("lik_init", yystack_[0].value.as < string > ()); }
6060 #line 6061 "DynareBison.cc" // lalr1.cc:919
6061     break;
6062 
6063   case 1733:
6064 #line 3272 "DynareBison.yy" // lalr1.cc:919
6065     { driver.option_num("nograph", "true"); }
6066 #line 6067 "DynareBison.cc" // lalr1.cc:919
6067     break;
6068 
6069   case 1734:
6070 #line 3274 "DynareBison.yy" // lalr1.cc:919
6071     { driver.option_num("nograph", "false"); }
6072 #line 6073 "DynareBison.cc" // lalr1.cc:919
6073     break;
6074 
6075   case 1735:
6076 #line 3277 "DynareBison.yy" // lalr1.cc:919
6077     { driver.option_num("no_graph.posterior", "true"); }
6078 #line 6079 "DynareBison.cc" // lalr1.cc:919
6079     break;
6080 
6081   case 1736:
6082 #line 3279 "DynareBison.yy" // lalr1.cc:919
6083     { driver.option_num("no_graph.posterior", "false"); }
6084 #line 6085 "DynareBison.cc" // lalr1.cc:919
6085     break;
6086 
6087   case 1737:
6088 #line 3281 "DynareBison.yy" // lalr1.cc:919
6089     { driver.option_num("no_graph.plot_shock_decomposition", "true"); }
6090 #line 6091 "DynareBison.cc" // lalr1.cc:919
6091     break;
6092 
6093   case 1738:
6094 #line 3282 "DynareBison.yy" // lalr1.cc:919
6095     { driver.option_num("no_graph.shock_decomposition", "true"); }
6096 #line 6097 "DynareBison.cc" // lalr1.cc:919
6097     break;
6098 
6099   case 1739:
6100 #line 3283 "DynareBison.yy" // lalr1.cc:919
6101     { driver.option_num("shock_decomp.init_state", yystack_[0].value.as < string > ()); }
6102 #line 6103 "DynareBison.cc" // lalr1.cc:919
6103     break;
6104 
6105   case 1740:
6106 #line 3285 "DynareBison.yy" // lalr1.cc:919
6107     { driver.option_str("shock_decomp.forecast_type", "unconditional"); }
6108 #line 6109 "DynareBison.cc" // lalr1.cc:919
6109     break;
6110 
6111   case 1741:
6112 #line 3287 "DynareBison.yy" // lalr1.cc:919
6113     { driver.option_str("shock_decomp.forecast_type", "conditional"); }
6114 #line 6115 "DynareBison.cc" // lalr1.cc:919
6115     break;
6116 
6117   case 1742:
6118 #line 3288 "DynareBison.yy" // lalr1.cc:919
6119     { driver.option_num("shock_decomp.presample", yystack_[0].value.as < string > ()); }
6120 #line 6121 "DynareBison.cc" // lalr1.cc:919
6121     break;
6122 
6123   case 1743:
6124 #line 3289 "DynareBison.yy" // lalr1.cc:919
6125     { driver.option_num("shock_decomp.forecast", yystack_[0].value.as < string > ()); }
6126 #line 6127 "DynareBison.cc" // lalr1.cc:919
6127     break;
6128 
6129   case 1744:
6130 #line 3290 "DynareBison.yy" // lalr1.cc:919
6131     { driver.option_vec_int("shock_decomp.save_realtime", yystack_[0].value.as < vector<int> > ()); }
6132 #line 6133 "DynareBison.cc" // lalr1.cc:919
6133     break;
6134 
6135   case 1745:
6136 #line 3291 "DynareBison.yy" // lalr1.cc:919
6137     { driver.option_num("shock_decomp.fast_realtime", yystack_[0].value.as < string > ()); }
6138 #line 6139 "DynareBison.cc" // lalr1.cc:919
6139     break;
6140 
6141   case 1746:
6142 #line 3292 "DynareBison.yy" // lalr1.cc:919
6143     { driver.option_num("nodisplay", "true"); }
6144 #line 6145 "DynareBison.cc" // lalr1.cc:919
6145     break;
6146 
6147   case 1747:
6148 #line 3293 "DynareBison.yy" // lalr1.cc:919
6149     { driver.option_num("initial_condition_decomp.nodisplay", "true"); }
6150 #line 6151 "DynareBison.cc" // lalr1.cc:919
6151     break;
6152 
6153   case 1748:
6154 #line 3294 "DynareBison.yy" // lalr1.cc:919
6155     { driver.option_num("plot_shock_decomp.nodisplay", "true"); }
6156 #line 6157 "DynareBison.cc" // lalr1.cc:919
6157     break;
6158 
6159   case 1749:
6160 #line 3295 "DynareBison.yy" // lalr1.cc:919
6161     { driver.option_str("plot_shock_decomp.init2shocks", "default"); }
6162 #line 6163 "DynareBison.cc" // lalr1.cc:919
6163     break;
6164 
6165   case 1750:
6166 #line 3296 "DynareBison.yy" // lalr1.cc:919
6167     { driver.option_str("plot_shock_decomp.init2shocks", yystack_[0].value.as < string > ()); }
6168 #line 6169 "DynareBison.cc" // lalr1.cc:919
6169     break;
6170 
6171   case 1751:
6172 #line 3298 "DynareBison.yy" // lalr1.cc:919
6173     { driver.option_num("initial_condition_decomp.max_nrows", yystack_[0].value.as < string > ()); }
6174 #line 6175 "DynareBison.cc" // lalr1.cc:919
6175     break;
6176 
6177   case 1752:
6178 #line 3299 "DynareBison.yy" // lalr1.cc:919
6179     { driver.option_num("plot_shock_decomp.max_nrows", yystack_[0].value.as < string > ()); }
6180 #line 6181 "DynareBison.cc" // lalr1.cc:919
6181     break;
6182 
6183   case 1753:
6184 #line 3301 "DynareBison.yy" // lalr1.cc:919
6185     { driver.process_graph_format_option(); }
6186 #line 6187 "DynareBison.cc" // lalr1.cc:919
6187     break;
6188 
6189   case 1754:
6190 #line 3303 "DynareBison.yy" // lalr1.cc:919
6191     { driver.process_graph_format_option(); }
6192 #line 6193 "DynareBison.cc" // lalr1.cc:919
6193     break;
6194 
6195   case 1755:
6196 #line 3306 "DynareBison.yy" // lalr1.cc:919
6197     { driver.initial_condition_decomp_process_graph_format_option(); }
6198 #line 6199 "DynareBison.cc" // lalr1.cc:919
6199     break;
6200 
6201   case 1756:
6202 #line 3308 "DynareBison.yy" // lalr1.cc:919
6203     { driver.initial_condition_decomp_process_graph_format_option(); }
6204 #line 6205 "DynareBison.cc" // lalr1.cc:919
6205     break;
6206 
6207   case 1757:
6208 #line 3311 "DynareBison.yy" // lalr1.cc:919
6209     { driver.plot_shock_decomp_process_graph_format_option(); }
6210 #line 6211 "DynareBison.cc" // lalr1.cc:919
6211     break;
6212 
6213   case 1758:
6214 #line 3313 "DynareBison.yy" // lalr1.cc:919
6215     { driver.plot_shock_decomp_process_graph_format_option(); }
6216 #line 6217 "DynareBison.cc" // lalr1.cc:919
6217     break;
6218 
6219   case 1759:
6220 #line 3315 "DynareBison.yy" // lalr1.cc:919
6221     { driver.option_num("shock_decomp.with_epilogue", "true"); }
6222 #line 6223 "DynareBison.cc" // lalr1.cc:919
6223     break;
6224 
6225   case 1760:
6226 #line 3316 "DynareBison.yy" // lalr1.cc:919
6227     { driver.option_num("initial_condition_decomp.with_epilogue", "true"); }
6228 #line 6229 "DynareBison.cc" // lalr1.cc:919
6229     break;
6230 
6231   case 1761:
6232 #line 3318 "DynareBison.yy" // lalr1.cc:919
6233     { driver.add_graph_format("eps"); }
6234 #line 6235 "DynareBison.cc" // lalr1.cc:919
6235     break;
6236 
6237   case 1762:
6238 #line 3320 "DynareBison.yy" // lalr1.cc:919
6239     { driver.add_graph_format("fig"); }
6240 #line 6241 "DynareBison.cc" // lalr1.cc:919
6241     break;
6242 
6243   case 1763:
6244 #line 3322 "DynareBison.yy" // lalr1.cc:919
6245     { driver.add_graph_format("pdf"); }
6246 #line 6247 "DynareBison.cc" // lalr1.cc:919
6247     break;
6248 
6249   case 1764:
6250 #line 3324 "DynareBison.yy" // lalr1.cc:919
6251     { driver.add_graph_format("none"); }
6252 #line 6253 "DynareBison.cc" // lalr1.cc:919
6253     break;
6254 
6255   case 1767:
6256 #line 3331 "DynareBison.yy" // lalr1.cc:919
6257     { driver.set_subsample_name_equal_to_date_range(yystack_[4].value.as < string > (), yystack_[2].value.as < string > (), yystack_[0].value.as < string > ()); }
6258 #line 6259 "DynareBison.cc" // lalr1.cc:919
6259     break;
6260 
6261   case 1768:
6262 #line 3333 "DynareBison.yy" // lalr1.cc:919
6263     { driver.option_num("bvar.conf_sig", yystack_[0].value.as < string > ()); }
6264 #line 6265 "DynareBison.cc" // lalr1.cc:919
6265     break;
6266 
6267   case 1769:
6268 #line 3334 "DynareBison.yy" // lalr1.cc:919
6269     { driver.option_num("forecasts.conf_sig", yystack_[0].value.as < string > ()); }
6270 #line 6271 "DynareBison.cc" // lalr1.cc:919
6271     break;
6272 
6273   case 1770:
6274 #line 3335 "DynareBison.yy" // lalr1.cc:919
6275     { driver.option_num("conditional_forecast.conf_sig", yystack_[0].value.as < string > ()); }
6276 #line 6277 "DynareBison.cc" // lalr1.cc:919
6277     break;
6278 
6279   case 1771:
6280 #line 3336 "DynareBison.yy" // lalr1.cc:919
6281     { driver.option_num("mh_conf_sig", yystack_[0].value.as < string > ()); }
6282 #line 6283 "DynareBison.cc" // lalr1.cc:919
6283     break;
6284 
6285   case 1772:
6286 #line 3337 "DynareBison.yy" // lalr1.cc:919
6287     { driver.option_num("mh_replic", yystack_[0].value.as < string > ()); }
6288 #line 6289 "DynareBison.cc" // lalr1.cc:919
6289     break;
6290 
6291   case 1773:
6292 #line 3338 "DynareBison.yy" // lalr1.cc:919
6293     { driver.option_num("posterior_max_subsample_draws", yystack_[0].value.as < string > ()); }
6294 #line 6295 "DynareBison.cc" // lalr1.cc:919
6295     break;
6296 
6297   case 1774:
6298 #line 3339 "DynareBison.yy" // lalr1.cc:919
6299     { driver.option_num("mh_drop", yystack_[0].value.as < string > ()); }
6300 #line 6301 "DynareBison.cc" // lalr1.cc:919
6301     break;
6302 
6303   case 1775:
6304 #line 3340 "DynareBison.yy" // lalr1.cc:919
6305     { driver.option_num("mh_jscale", yystack_[0].value.as < string > ()); }
6306 #line 6307 "DynareBison.cc" // lalr1.cc:919
6307     break;
6308 
6309   case 1776:
6310 #line 3342 "DynareBison.yy" // lalr1.cc:919
6311     { driver.option_num("mh_tune_jscale.target", yystack_[0].value.as < string > ()); driver.option_num("mh_tune_jscale.status", "true");}
6312 #line 6313 "DynareBison.cc" // lalr1.cc:919
6313     break;
6314 
6315   case 1777:
6316 #line 3343 "DynareBison.yy" // lalr1.cc:919
6317     {driver.option_num("mh_tune_jscale.status", "true");}
6318 #line 6319 "DynareBison.cc" // lalr1.cc:919
6319     break;
6320 
6321   case 1780:
6322 #line 3346 "DynareBison.yy" // lalr1.cc:919
6323     { driver.option_str("posterior_sampler_options.posterior_sampling_method.proposal_distribution", yystack_[0].value.as < string > ()); }
6324 #line 6325 "DynareBison.cc" // lalr1.cc:919
6325     break;
6326 
6327   case 1781:
6328 #line 3348 "DynareBison.yy" // lalr1.cc:919
6329     { driver.option_num("estimation.moments_posterior_density.indicator", "false"); }
6330 #line 6331 "DynareBison.cc" // lalr1.cc:919
6331     break;
6332 
6333   case 1782:
6334 #line 3350 "DynareBison.yy" // lalr1.cc:919
6335     { driver.option_num("mh_init_scale", yystack_[0].value.as < string > ()); }
6336 #line 6337 "DynareBison.cc" // lalr1.cc:919
6337     break;
6338 
6339   case 1783:
6340 #line 3351 "DynareBison.yy" // lalr1.cc:919
6341     { driver.option_str("mode_file", yystack_[0].value.as < string > ()); }
6342 #line 6343 "DynareBison.cc" // lalr1.cc:919
6343     break;
6344 
6345   case 1784:
6346 #line 3352 "DynareBison.yy" // lalr1.cc:919
6347     { driver.option_num("mode_compute", yystack_[0].value.as < string > ()); }
6348 #line 6349 "DynareBison.cc" // lalr1.cc:919
6349     break;
6350 
6351   case 1785:
6352 #line 3353 "DynareBison.yy" // lalr1.cc:919
6353     { driver.option_str("mode_compute", yystack_[0].value.as < string > ()); }
6354 #line 6355 "DynareBison.cc" // lalr1.cc:919
6355     break;
6356 
6357   case 1786:
6358 #line 3354 "DynareBison.yy" // lalr1.cc:919
6359     { driver.option_num("mode_check.status", "true"); }
6360 #line 6361 "DynareBison.cc" // lalr1.cc:919
6361     break;
6362 
6363   case 1787:
6364 #line 3355 "DynareBison.yy" // lalr1.cc:919
6365     { driver.option_num("mode_check.neighbourhood_size", yystack_[0].value.as < string > ()); }
6366 #line 6367 "DynareBison.cc" // lalr1.cc:919
6367     break;
6368 
6369   case 1788:
6370 #line 3356 "DynareBison.yy" // lalr1.cc:919
6371     { driver.option_num("mode_check.number_of_points", yystack_[0].value.as < string > ()); }
6372 #line 6373 "DynareBison.cc" // lalr1.cc:919
6373     break;
6374 
6375   case 1789:
6376 #line 3357 "DynareBison.yy" // lalr1.cc:919
6377     { driver.option_num("mode_check.symmetric_plots", yystack_[0].value.as < string > ()); }
6378 #line 6379 "DynareBison.cc" // lalr1.cc:919
6379     break;
6380 
6381   case 1790:
6382 #line 3358 "DynareBison.yy" // lalr1.cc:919
6383     { driver.option_num("prior_trunc", yystack_[0].value.as < string > ()); }
6384 #line 6385 "DynareBison.cc" // lalr1.cc:919
6385     break;
6386 
6387   case 1791:
6388 #line 3359 "DynareBison.yy" // lalr1.cc:919
6389     { driver.option_num("mh_mode", yystack_[0].value.as < string > ()); }
6390 #line 6391 "DynareBison.cc" // lalr1.cc:919
6391     break;
6392 
6393   case 1792:
6394 #line 3360 "DynareBison.yy" // lalr1.cc:919
6395     { driver.option_num("mh_nblck", yystack_[0].value.as < string > ()); }
6396 #line 6397 "DynareBison.cc" // lalr1.cc:919
6397     break;
6398 
6399   case 1793:
6400 #line 3361 "DynareBison.yy" // lalr1.cc:919
6401     { driver.option_num("load_mh_file", "true"); }
6402 #line 6403 "DynareBison.cc" // lalr1.cc:919
6403     break;
6404 
6405   case 1794:
6406 #line 3362 "DynareBison.yy" // lalr1.cc:919
6407     { driver.option_num("load_results_after_load_mh", "true"); }
6408 #line 6409 "DynareBison.cc" // lalr1.cc:919
6409     break;
6410 
6411   case 1795:
6412 #line 3363 "DynareBison.yy" // lalr1.cc:919
6413     { driver.option_num("loglinear", "true"); }
6414 #line 6415 "DynareBison.cc" // lalr1.cc:919
6415     break;
6416 
6417   case 1796:
6418 #line 3364 "DynareBison.yy" // lalr1.cc:919
6419     { driver.option_num("linear_approximation", "true"); }
6420 #line 6421 "DynareBison.cc" // lalr1.cc:919
6421     break;
6422 
6423   case 1797:
6424 #line 3365 "DynareBison.yy" // lalr1.cc:919
6425     { driver.option_num("logdata", "true"); }
6426 #line 6427 "DynareBison.cc" // lalr1.cc:919
6427     break;
6428 
6429   case 1798:
6430 #line 3366 "DynareBison.yy" // lalr1.cc:919
6431     { driver.option_num("nodiagnostic", "true"); }
6432 #line 6433 "DynareBison.cc" // lalr1.cc:919
6433     break;
6434 
6435   case 1799:
6436 #line 3367 "DynareBison.yy" // lalr1.cc:919
6437     { driver.option_num("bayesian_irf", "true"); }
6438 #line 6439 "DynareBison.cc" // lalr1.cc:919
6439     break;
6440 
6441   case 1800:
6442 #line 3369 "DynareBison.yy" // lalr1.cc:919
6443     { driver.option_num("dsge_var", yystack_[0].value.as < string > ()); }
6444 #line 6445 "DynareBison.cc" // lalr1.cc:919
6445     break;
6446 
6447   case 1801:
6448 #line 3371 "DynareBison.yy" // lalr1.cc:919
6449     { driver.option_num("dsge_var", "Inf"); }
6450 #line 6451 "DynareBison.cc" // lalr1.cc:919
6451     break;
6452 
6453   case 1802:
6454 #line 3373 "DynareBison.yy" // lalr1.cc:919
6455     { driver.option_str("dsge_var", "NaN"); }
6456 #line 6457 "DynareBison.cc" // lalr1.cc:919
6457     break;
6458 
6459   case 1803:
6460 #line 3375 "DynareBison.yy" // lalr1.cc:919
6461     { driver.option_num("dsge_varlag", yystack_[0].value.as < string > ()); }
6462 #line 6463 "DynareBison.cc" // lalr1.cc:919
6463     break;
6464 
6465   case 1804:
6466 #line 3376 "DynareBison.yy" // lalr1.cc:919
6467     { driver.option_num("TeX", "true"); }
6468 #line 6469 "DynareBison.cc" // lalr1.cc:919
6469     break;
6470 
6471   case 1805:
6472 #line 3377 "DynareBison.yy" // lalr1.cc:919
6473     { driver.option_num("forecast", yystack_[0].value.as < string > ()); }
6474 #line 6475 "DynareBison.cc" // lalr1.cc:919
6475     break;
6476 
6477   case 1806:
6478 #line 3378 "DynareBison.yy" // lalr1.cc:919
6479     { driver.option_num("smoother", "true"); }
6480 #line 6481 "DynareBison.cc" // lalr1.cc:919
6481     break;
6482 
6483   case 1807:
6484 #line 3379 "DynareBison.yy" // lalr1.cc:919
6485     { driver.option_num("moments_varendo", "true"); }
6486 #line 6487 "DynareBison.cc" // lalr1.cc:919
6487     break;
6488 
6489   case 1808:
6490 #line 3380 "DynareBison.yy" // lalr1.cc:919
6491     { driver.option_num("contemporaneous_correlation", "true"); }
6492 #line 6493 "DynareBison.cc" // lalr1.cc:919
6493     break;
6494 
6495   case 1809:
6496 #line 3381 "DynareBison.yy" // lalr1.cc:919
6497     { driver.option_num("filtered_vars", "true"); }
6498 #line 6499 "DynareBison.cc" // lalr1.cc:919
6499     break;
6500 
6501   case 1810:
6502 #line 3382 "DynareBison.yy" // lalr1.cc:919
6503     { driver.option_num("relative_irf", "true"); }
6504 #line 6505 "DynareBison.cc" // lalr1.cc:919
6505     break;
6506 
6507   case 1811:
6508 #line 3383 "DynareBison.yy" // lalr1.cc:919
6509     { driver.option_num("fast_kalman_filter", "true"); }
6510 #line 6511 "DynareBison.cc" // lalr1.cc:919
6511     break;
6512 
6513   case 1812:
6514 #line 3384 "DynareBison.yy" // lalr1.cc:919
6515     { driver.option_num("kalman_algo", yystack_[0].value.as < string > ()); }
6516 #line 6517 "DynareBison.cc" // lalr1.cc:919
6517     break;
6518 
6519   case 1813:
6520 #line 3385 "DynareBison.yy" // lalr1.cc:919
6521     { driver.option_num("kalman_tol", yystack_[0].value.as < string > ()); }
6522 #line 6523 "DynareBison.cc" // lalr1.cc:919
6523     break;
6524 
6525   case 1814:
6526 #line 3386 "DynareBison.yy" // lalr1.cc:919
6527     { driver.option_num("diffuse_kalman_tol", yystack_[0].value.as < string > ()); }
6528 #line 6529 "DynareBison.cc" // lalr1.cc:919
6529     break;
6530 
6531   case 1815:
6532 #line 3388 "DynareBison.yy" // lalr1.cc:919
6533     { driver.option_str("mc_marginal_density", "laplace"); }
6534 #line 6535 "DynareBison.cc" // lalr1.cc:919
6535     break;
6536 
6537   case 1816:
6538 #line 3390 "DynareBison.yy" // lalr1.cc:919
6539     { driver.option_str("mc_marginal_density", "modifiedharmonicmean"); }
6540 #line 6541 "DynareBison.cc" // lalr1.cc:919
6541     break;
6542 
6543   case 1817:
6544 #line 3392 "DynareBison.yy" // lalr1.cc:919
6545     { driver.option_num("noprint", "false"); }
6546 #line 6547 "DynareBison.cc" // lalr1.cc:919
6547     break;
6548 
6549   case 1818:
6550 #line 3393 "DynareBison.yy" // lalr1.cc:919
6551     { driver.option_num("noprint", "true"); }
6552 #line 6553 "DynareBison.cc" // lalr1.cc:919
6553     break;
6554 
6555   case 1819:
6556 #line 3394 "DynareBison.yy" // lalr1.cc:919
6557     { driver.option_str("xls_sheet", yystack_[0].value.as < string > ()); }
6558 #line 6559 "DynareBison.cc" // lalr1.cc:919
6559     break;
6560 
6561   case 1820:
6562 #line 3395 "DynareBison.yy" // lalr1.cc:919
6563     { driver.option_str("xls_range", yystack_[0].value.as < string > ()); }
6564 #line 6565 "DynareBison.cc" // lalr1.cc:919
6565     break;
6566 
6567   case 1821:
6568 #line 3396 "DynareBison.yy" // lalr1.cc:919
6569     { driver.option_vec_int("filter_step_ahead", yystack_[0].value.as < vector<int> > ()); }
6570 #line 6571 "DynareBison.cc" // lalr1.cc:919
6571     break;
6572 
6573   case 1822:
6574 #line 3397 "DynareBison.yy" // lalr1.cc:919
6575     { driver.option_vec_int("convergence.geweke.taper_steps", yystack_[0].value.as < vector<int> > ()); }
6576 #line 6577 "DynareBison.cc" // lalr1.cc:919
6577     break;
6578 
6579   case 1823:
6580 #line 3398 "DynareBison.yy" // lalr1.cc:919
6581     { driver.option_num("convergence.geweke.geweke_interval",yystack_[0].value.as < string > ()); }
6582 #line 6583 "DynareBison.cc" // lalr1.cc:919
6583     break;
6584 
6585   case 1824:
6586 #line 3399 "DynareBison.yy" // lalr1.cc:919
6587     { driver.option_num("convergence.rafterylewis.indicator", "true"); }
6588 #line 6589 "DynareBison.cc" // lalr1.cc:919
6589     break;
6590 
6591   case 1825:
6592 #line 3400 "DynareBison.yy" // lalr1.cc:919
6593     { driver.option_num("convergence.rafterylewis.qrs",yystack_[0].value.as < string > ()); }
6594 #line 6595 "DynareBison.cc" // lalr1.cc:919
6595     break;
6596 
6597   case 1826:
6598 #line 3401 "DynareBison.yy" // lalr1.cc:919
6599     { driver.option_num("noconstant", "false"); }
6600 #line 6601 "DynareBison.cc" // lalr1.cc:919
6601     break;
6602 
6603   case 1827:
6604 #line 3402 "DynareBison.yy" // lalr1.cc:919
6605     { driver.option_num("noconstant", "true"); }
6606 #line 6607 "DynareBison.cc" // lalr1.cc:919
6607     break;
6608 
6609   case 1828:
6610 #line 3403 "DynareBison.yy" // lalr1.cc:919
6611     { driver.option_num("mh_recover", "true"); }
6612 #line 6613 "DynareBison.cc" // lalr1.cc:919
6613     break;
6614 
6615   case 1829:
6616 #line 3404 "DynareBison.yy" // lalr1.cc:919
6617     {driver.option_num("diffuse_filter", "true"); }
6618 #line 6619 "DynareBison.cc" // lalr1.cc:919
6619     break;
6620 
6621   case 1830:
6622 #line 3405 "DynareBison.yy" // lalr1.cc:919
6623     {driver.option_num("plot_priors", yystack_[0].value.as < string > ()); }
6624 #line 6625 "DynareBison.cc" // lalr1.cc:919
6625     break;
6626 
6627   case 1831:
6628 #line 3406 "DynareBison.yy" // lalr1.cc:919
6629     {driver.option_num("aim_solver", "true"); }
6630 #line 6631 "DynareBison.cc" // lalr1.cc:919
6631     break;
6632 
6633   case 1832:
6634 #line 3407 "DynareBison.yy" // lalr1.cc:919
6635     {driver.option_num("partial_information", "true"); }
6636 #line 6637 "DynareBison.cc" // lalr1.cc:919
6637     break;
6638 
6639   case 1833:
6640 #line 3408 "DynareBison.yy" // lalr1.cc:919
6641     {driver.option_num("sub_draws",yystack_[0].value.as < string > ());}
6642 #line 6643 "DynareBison.cc" // lalr1.cc:919
6643     break;
6644 
6645   case 1834:
6646 #line 3409 "DynareBison.yy" // lalr1.cc:919
6647     { driver.set_planner_discount(yystack_[0].value.as < expr_t > ()); }
6648 #line 6649 "DynareBison.cc" // lalr1.cc:919
6649     break;
6650 
6651   case 1835:
6652 #line 3410 "DynareBison.yy" // lalr1.cc:919
6653     { driver.set_planner_discount_latex_name(yystack_[0].value.as < string > ()); }
6654 #line 6655 "DynareBison.cc" // lalr1.cc:919
6655     break;
6656 
6657   case 1836:
6658 #line 3411 "DynareBison.yy" // lalr1.cc:919
6659     {driver.option_num("sylvester_fp", "true"); }
6660 #line 6661 "DynareBison.cc" // lalr1.cc:919
6661     break;
6662 
6663   case 1837:
6664 #line 3412 "DynareBison.yy" // lalr1.cc:919
6665     {driver.option_num("sylvester_fp", "false"); }
6666 #line 6667 "DynareBison.cc" // lalr1.cc:919
6667     break;
6668 
6669   case 1838:
6670 #line 3413 "DynareBison.yy" // lalr1.cc:919
6671     {driver.option_num("sylvester_fixed_point_tol",yystack_[0].value.as < string > ());}
6672 #line 6673 "DynareBison.cc" // lalr1.cc:919
6673     break;
6674 
6675   case 1839:
6676 #line 3414 "DynareBison.yy" // lalr1.cc:919
6677     {driver.option_num("lyapunov_fp", "true"); }
6678 #line 6679 "DynareBison.cc" // lalr1.cc:919
6679     break;
6680 
6681   case 1840:
6682 #line 3415 "DynareBison.yy" // lalr1.cc:919
6683     {driver.option_num("lyapunov_db", "true"); }
6684 #line 6685 "DynareBison.cc" // lalr1.cc:919
6685     break;
6686 
6687   case 1841:
6688 #line 3416 "DynareBison.yy" // lalr1.cc:919
6689     {driver.option_num("lyapunov_srs", "true"); }
6690 #line 6691 "DynareBison.cc" // lalr1.cc:919
6691     break;
6692 
6693   case 1842:
6694 #line 3417 "DynareBison.yy" // lalr1.cc:919
6695     {driver.option_num("lyapunov_fp", "false"); driver.option_num("lyapunov_db", "false"); driver.option_num("lyapunov_srs", "false");}
6696 #line 6697 "DynareBison.cc" // lalr1.cc:919
6697     break;
6698 
6699   case 1843:
6700 #line 3418 "DynareBison.yy" // lalr1.cc:919
6701     {driver.option_num("lyapunov_fixed_point_tol",yystack_[0].value.as < string > ());}
6702 #line 6703 "DynareBison.cc" // lalr1.cc:919
6703     break;
6704 
6705   case 1844:
6706 #line 3419 "DynareBison.yy" // lalr1.cc:919
6707     {driver.option_num("lyapunov_doubling_tol",yystack_[0].value.as < string > ());}
6708 #line 6709 "DynareBison.cc" // lalr1.cc:919
6709     break;
6710 
6711   case 1845:
6712 #line 3420 "DynareBison.yy" // lalr1.cc:919
6713     {driver.option_num("dr_cycle_reduction", "true"); }
6714 #line 6715 "DynareBison.cc" // lalr1.cc:919
6715     break;
6716 
6717   case 1846:
6718 #line 3421 "DynareBison.yy" // lalr1.cc:919
6719     {driver.option_num("dr_logarithmic_reduction", "true"); }
6720 #line 6721 "DynareBison.cc" // lalr1.cc:919
6721     break;
6722 
6723   case 1847:
6724 #line 3422 "DynareBison.yy" // lalr1.cc:919
6725     {driver.option_num("dr_cycle_reduction", "false"); driver.option_num("dr_logarithmic_reduction", "false");}
6726 #line 6727 "DynareBison.cc" // lalr1.cc:919
6727     break;
6728 
6729   case 1848:
6730 #line 3423 "DynareBison.yy" // lalr1.cc:919
6731     {driver.option_num("dr_cycle_reduction_tol",yystack_[0].value.as < string > ());}
6732 #line 6733 "DynareBison.cc" // lalr1.cc:919
6733     break;
6734 
6735   case 1849:
6736 #line 3424 "DynareBison.yy" // lalr1.cc:919
6737     {driver.option_num("dr_logarithmic_reduction_tol",yystack_[0].value.as < string > ());}
6738 #line 6739 "DynareBison.cc" // lalr1.cc:919
6739     break;
6740 
6741   case 1850:
6742 #line 3425 "DynareBison.yy" // lalr1.cc:919
6743     {driver.option_num("dr_logarithmic_reduction_maxiter",yystack_[0].value.as < string > ());}
6744 #line 6745 "DynareBison.cc" // lalr1.cc:919
6745     break;
6746 
6747   case 1851:
6748 #line 3426 "DynareBison.yy" // lalr1.cc:919
6749     { driver.option_num("plot_shock_decomp.detail_plot", "true"); }
6750 #line 6751 "DynareBison.cc" // lalr1.cc:919
6751     break;
6752 
6753   case 1852:
6754 #line 3427 "DynareBison.yy" // lalr1.cc:919
6755     { driver.option_num("initial_condition_decomp.detail_plot", "true"); }
6756 #line 6757 "DynareBison.cc" // lalr1.cc:919
6757     break;
6758 
6759   case 1853:
6760 #line 3428 "DynareBison.yy" // lalr1.cc:919
6761     { driver.option_num("plot_shock_decomp.interactive", "true"); }
6762 #line 6763 "DynareBison.cc" // lalr1.cc:919
6763     break;
6764 
6765   case 1854:
6766 #line 3429 "DynareBison.yy" // lalr1.cc:919
6767     { driver.option_num("plot_shock_decomp.screen_shocks", "true"); }
6768 #line 6769 "DynareBison.cc" // lalr1.cc:919
6769     break;
6770 
6771   case 1855:
6772 #line 3430 "DynareBison.yy" // lalr1.cc:919
6773     { driver.option_num("plot_shock_decomp.steadystate", "true"); }
6774 #line 6775 "DynareBison.cc" // lalr1.cc:919
6775     break;
6776 
6777   case 1856:
6778 #line 3431 "DynareBison.yy" // lalr1.cc:919
6779     { driver.option_num("initial_condition_decomp.steadystate", "true"); }
6780 #line 6781 "DynareBison.cc" // lalr1.cc:919
6781     break;
6782 
6783   case 1857:
6784 #line 3432 "DynareBison.yy" // lalr1.cc:919
6785     { driver.option_str("initial_condition_decomp.fig_name", yystack_[0].value.as < string > ()); }
6786 #line 6787 "DynareBison.cc" // lalr1.cc:919
6787     break;
6788 
6789   case 1858:
6790 #line 3433 "DynareBison.yy" // lalr1.cc:919
6791     { driver.option_str("plot_shock_decomp.fig_name", yystack_[0].value.as < string > ()); }
6792 #line 6793 "DynareBison.cc" // lalr1.cc:919
6793     break;
6794 
6795   case 1859:
6796 #line 3435 "DynareBison.yy" // lalr1.cc:919
6797     { driver.option_str("plot_shock_decomp.type", "qoq"); }
6798 #line 6799 "DynareBison.cc" // lalr1.cc:919
6799     break;
6800 
6801   case 1860:
6802 #line 3437 "DynareBison.yy" // lalr1.cc:919
6803     { driver.option_str("plot_shock_decomp.type", "yoy"); }
6804 #line 6805 "DynareBison.cc" // lalr1.cc:919
6805     break;
6806 
6807   case 1861:
6808 #line 3439 "DynareBison.yy" // lalr1.cc:919
6809     { driver.option_str("plot_shock_decomp.type", "aoa"); }
6810 #line 6811 "DynareBison.cc" // lalr1.cc:919
6811     break;
6812 
6813   case 1862:
6814 #line 3442 "DynareBison.yy" // lalr1.cc:919
6815     { driver.option_str("initial_condition_decomp.type", "qoq"); }
6816 #line 6817 "DynareBison.cc" // lalr1.cc:919
6817     break;
6818 
6819   case 1863:
6820 #line 3444 "DynareBison.yy" // lalr1.cc:919
6821     { driver.option_str("initial_condition_decomp.type", "yoy"); }
6822 #line 6823 "DynareBison.cc" // lalr1.cc:919
6823     break;
6824 
6825   case 1864:
6826 #line 3446 "DynareBison.yy" // lalr1.cc:919
6827     { driver.option_str("initial_condition_decomp.type", "aoa"); }
6828 #line 6829 "DynareBison.cc" // lalr1.cc:919
6829     break;
6830 
6831   case 1865:
6832 #line 3448 "DynareBison.yy" // lalr1.cc:919
6833     { driver.option_date("initial_condition_decomp.plot_init_date", yystack_[0].value.as < string > ()); }
6834 #line 6835 "DynareBison.cc" // lalr1.cc:919
6835     break;
6836 
6837   case 1866:
6838 #line 3449 "DynareBison.yy" // lalr1.cc:919
6839     { driver.option_date("initial_condition_decomp.plot_end_date", yystack_[0].value.as < string > ()); }
6840 #line 6841 "DynareBison.cc" // lalr1.cc:919
6841     break;
6842 
6843   case 1867:
6844 #line 3450 "DynareBison.yy" // lalr1.cc:919
6845     { driver.option_date("plot_shock_decomp.plot_init_date", yystack_[0].value.as < string > ()); }
6846 #line 6847 "DynareBison.cc" // lalr1.cc:919
6847     break;
6848 
6849   case 1868:
6850 #line 3451 "DynareBison.yy" // lalr1.cc:919
6851     { driver.option_date("plot_shock_decomp.plot_end_date", yystack_[0].value.as < string > ()); }
6852 #line 6853 "DynareBison.cc" // lalr1.cc:919
6853     break;
6854 
6855   case 1869:
6856 #line 3452 "DynareBison.yy" // lalr1.cc:919
6857     { driver.option_num("initial_condition_decomp.write_xls", "true"); }
6858 #line 6859 "DynareBison.cc" // lalr1.cc:919
6859     break;
6860 
6861   case 1870:
6862 #line 3453 "DynareBison.yy" // lalr1.cc:919
6863     { driver.option_num("plot_shock_decomp.write_xls", "true"); }
6864 #line 6865 "DynareBison.cc" // lalr1.cc:919
6865     break;
6866 
6867   case 1871:
6868 #line 3454 "DynareBison.yy" // lalr1.cc:919
6869     { driver.option_num("plot_shock_decomp.realtime", yystack_[0].value.as < string > ()); }
6870 #line 6871 "DynareBison.cc" // lalr1.cc:919
6871     break;
6872 
6873   case 1872:
6874 #line 3455 "DynareBison.yy" // lalr1.cc:919
6875     { driver.option_num("plot_shock_decomp.vintage", yystack_[0].value.as < string > ()); }
6876 #line 6877 "DynareBison.cc" // lalr1.cc:919
6877     break;
6878 
6879   case 1873:
6880 #line 3456 "DynareBison.yy" // lalr1.cc:919
6881     { driver.option_num("plot_shock_decomp.diff", "true"); }
6882 #line 6883 "DynareBison.cc" // lalr1.cc:919
6883     break;
6884 
6885   case 1874:
6886 #line 3457 "DynareBison.yy" // lalr1.cc:919
6887     { driver.option_num("initial_condition_decomp.diff", "true"); }
6888 #line 6889 "DynareBison.cc" // lalr1.cc:919
6889     break;
6890 
6891   case 1875:
6892 #line 3458 "DynareBison.yy" // lalr1.cc:919
6893     { driver.option_num("plot_shock_decomp.flip", "true"); }
6894 #line 6895 "DynareBison.cc" // lalr1.cc:919
6895     break;
6896 
6897   case 1876:
6898 #line 3459 "DynareBison.yy" // lalr1.cc:919
6899     { driver.option_num("initial_condition_decomp.flip", "true"); }
6900 #line 6901 "DynareBison.cc" // lalr1.cc:919
6901     break;
6902 
6903   case 1877:
6904 #line 3460 "DynareBison.yy" // lalr1.cc:919
6905     { driver.option_num("bvar_prior_tau", yystack_[0].value.as < string > ()); }
6906 #line 6907 "DynareBison.cc" // lalr1.cc:919
6907     break;
6908 
6909   case 1878:
6910 #line 3461 "DynareBison.yy" // lalr1.cc:919
6911     { driver.option_num("bvar_prior_decay", yystack_[0].value.as < string > ()); }
6912 #line 6913 "DynareBison.cc" // lalr1.cc:919
6913     break;
6914 
6915   case 1879:
6916 #line 3462 "DynareBison.yy" // lalr1.cc:919
6917     { driver.option_num("bvar_prior_lambda", yystack_[0].value.as < string > ()); }
6918 #line 6919 "DynareBison.cc" // lalr1.cc:919
6919     break;
6920 
6921   case 1880:
6922 #line 3463 "DynareBison.yy" // lalr1.cc:919
6923     { driver.option_num("bvar_prior_mu", yystack_[0].value.as < string > ()); }
6924 #line 6925 "DynareBison.cc" // lalr1.cc:919
6925     break;
6926 
6927   case 1881:
6928 #line 3464 "DynareBison.yy" // lalr1.cc:919
6929     { driver.option_num("bvar_prior_omega", yystack_[0].value.as < string > ()); }
6930 #line 6931 "DynareBison.cc" // lalr1.cc:919
6931     break;
6932 
6933   case 1882:
6934 #line 3465 "DynareBison.yy" // lalr1.cc:919
6935     { driver.option_num("bvar_prior_flat", "true"); }
6936 #line 6937 "DynareBison.cc" // lalr1.cc:919
6937     break;
6938 
6939   case 1883:
6940 #line 3466 "DynareBison.yy" // lalr1.cc:919
6941     { driver.option_num("bvar_prior_train", yystack_[0].value.as < string > ()); }
6942 #line 6943 "DynareBison.cc" // lalr1.cc:919
6943     break;
6944 
6945   case 1884:
6946 #line 3467 "DynareBison.yy" // lalr1.cc:919
6947     { driver.option_num("bvar_replic", yystack_[0].value.as < string > ()); }
6948 #line 6949 "DynareBison.cc" // lalr1.cc:919
6949     break;
6950 
6951   case 1885:
6952 #line 3468 "DynareBison.yy" // lalr1.cc:919
6953     { driver.option_num("irf_opt.stderr_multiples", "true"); }
6954 #line 6955 "DynareBison.cc" // lalr1.cc:919
6955     break;
6956 
6957   case 1886:
6958 #line 3469 "DynareBison.yy" // lalr1.cc:919
6959     { driver.option_num("irf_opt.diagonal_only", "true"); }
6960 #line 6961 "DynareBison.cc" // lalr1.cc:919
6961     break;
6962 
6963   case 1887:
6964 #line 3470 "DynareBison.yy" // lalr1.cc:919
6965     { driver.option_num("particle.number_of_particles", yystack_[0].value.as < string > ()); }
6966 #line 6967 "DynareBison.cc" // lalr1.cc:919
6967     break;
6968 
6969   case 1889:
6970 #line 3472 "DynareBison.yy" // lalr1.cc:919
6971     {driver.option_num("particle.resampling.status.systematic", "false"); driver.option_num("particle.resampling.status.none", "true"); }
6972 #line 6973 "DynareBison.cc" // lalr1.cc:919
6973     break;
6974 
6975   case 1890:
6976 #line 3473 "DynareBison.yy" // lalr1.cc:919
6977     {driver.option_num("particle.resampling.status.systematic", "false"); driver.option_num("particle.resampling.status.generic", "true"); }
6978 #line 6979 "DynareBison.cc" // lalr1.cc:919
6979     break;
6980 
6981   case 1891:
6982 #line 3474 "DynareBison.yy" // lalr1.cc:919
6983     { driver.option_num("particle.resampling.threshold", yystack_[0].value.as < string > ()); }
6984 #line 6985 "DynareBison.cc" // lalr1.cc:919
6985     break;
6986 
6987   case 1892:
6988 #line 3475 "DynareBison.yy" // lalr1.cc:919
6989     {driver.option_num("particle.resampling.method.kitagawa", "true"); driver.option_num("particle.resampling.method.smooth", "false"); driver.option_num("particle.resampling.smethod.stratified", "false"); }
6990 #line 6991 "DynareBison.cc" // lalr1.cc:919
6991     break;
6992 
6993   case 1893:
6994 #line 3476 "DynareBison.yy" // lalr1.cc:919
6995     {driver.option_num("particle.resampling.method.kitagawa", "false"); driver.option_num("particle.resampling.method.smooth", "true"); driver.option_num("particle.resampling.smethod.stratified", "false"); }
6996 #line 6997 "DynareBison.cc" // lalr1.cc:919
6997     break;
6998 
6999   case 1894:
7000 #line 3477 "DynareBison.yy" // lalr1.cc:919
7001     {driver.option_num("particle.resampling.method.kitagawa", "false"); driver.option_num("particle.resampling.method.smooth", "false"); driver.option_num("particle.resampling.method.stratified", "true"); }
7002 #line 7003 "DynareBison.cc" // lalr1.cc:919
7003     break;
7004 
7005   case 1895:
7006 #line 3478 "DynareBison.yy" // lalr1.cc:919
7007     {driver.option_num("particle.cpf_weights_method.amisanotristani", "true"); driver.option_num("particle.cpf_weights_method.murrayjonesparslow", "false"); }
7008 #line 7009 "DynareBison.cc" // lalr1.cc:919
7009     break;
7010 
7011   case 1896:
7012 #line 3479 "DynareBison.yy" // lalr1.cc:919
7013     {driver.option_num("particle.cpf_weights_method.amisanotristani", "false"); driver.option_num("particle.cpf_weights_method.murrayjonesparslow", "true"); }
7014 #line 7015 "DynareBison.cc" // lalr1.cc:919
7015     break;
7016 
7017   case 1897:
7018 #line 3480 "DynareBison.yy" // lalr1.cc:919
7019     { driver.option_str("particle.filter_algorithm", yystack_[0].value.as < string > ()); }
7020 #line 7021 "DynareBison.cc" // lalr1.cc:919
7021     break;
7022 
7023   case 1898:
7024 #line 3481 "DynareBison.yy" // lalr1.cc:919
7025     { driver.option_num("particle.initialization", yystack_[0].value.as < string > ()); }
7026 #line 7027 "DynareBison.cc" // lalr1.cc:919
7027     break;
7028 
7029   case 1899:
7030 #line 3482 "DynareBison.yy" // lalr1.cc:919
7031     {driver.option_num("particle.proposal_approximation.cubature", "true"); driver.option_num("particle.proposal_approximation.unscented", "false"); driver.option_num("particle.proposal_approximation.montecarlo", "false");}
7032 #line 7033 "DynareBison.cc" // lalr1.cc:919
7033     break;
7034 
7035   case 1900:
7036 #line 3483 "DynareBison.yy" // lalr1.cc:919
7037     {driver.option_num("particle.proposal_approximation.cubature", "false"); driver.option_num("particle.proposal_approximation.unscented", "true"); driver.option_num("particle.proposal_approximation.montecarlo", "false");}
7038 #line 7039 "DynareBison.cc" // lalr1.cc:919
7039     break;
7040 
7041   case 1901:
7042 #line 3484 "DynareBison.yy" // lalr1.cc:919
7043     {driver.option_num("particle.proposal_approximation.cubature", "false"); driver.option_num("particle.proposal_approximation.unscented", "false"); driver.option_num("particle.proposal_approximation.montecarlo", "true");}
7044 #line 7045 "DynareBison.cc" // lalr1.cc:919
7045     break;
7046 
7047   case 1902:
7048 #line 3485 "DynareBison.yy" // lalr1.cc:919
7049     {driver.option_num("particle.distribution_approximation.cubature", "true"); driver.option_num("particle.distribution_approximation.unscented", "false"); driver.option_num("particle.distribution_approximation.montecarlo", "false");}
7050 #line 7051 "DynareBison.cc" // lalr1.cc:919
7051     break;
7052 
7053   case 1903:
7054 #line 3486 "DynareBison.yy" // lalr1.cc:919
7055     {driver.option_num("particle.distribution_approximation.cubature", "false"); driver.option_num("particle.distribution_approximation.unscented", "true"); driver.option_num("particle.distribution_approximation.montecarlo", "false");}
7056 #line 7057 "DynareBison.cc" // lalr1.cc:919
7057     break;
7058 
7059   case 1904:
7060 #line 3487 "DynareBison.yy" // lalr1.cc:919
7061     {driver.option_num("particle.distribution_approximation.cubature", "false"); driver.option_num("particle.distribution_approximation.unscented", "false"); driver.option_num("particle.distribution_approximation.montecarlo", "true");}
7062 #line 7063 "DynareBison.cc" // lalr1.cc:919
7063     break;
7064 
7065   case 1905:
7066 #line 3490 "DynareBison.yy" // lalr1.cc:919
7067     { driver.option_num("identification", yystack_[0].value.as < string > ()); }
7068 #line 7069 "DynareBison.cc" // lalr1.cc:919
7069     break;
7070 
7071   case 1906:
7072 #line 3491 "DynareBison.yy" // lalr1.cc:919
7073     { driver.option_num("morris", yystack_[0].value.as < string > ()); }
7074 #line 7075 "DynareBison.cc" // lalr1.cc:919
7075     break;
7076 
7077   case 1907:
7078 #line 3492 "DynareBison.yy" // lalr1.cc:919
7079     { driver.option_num("stab", yystack_[0].value.as < string > ()); }
7080 #line 7081 "DynareBison.cc" // lalr1.cc:919
7081     break;
7082 
7083   case 1908:
7084 #line 3493 "DynareBison.yy" // lalr1.cc:919
7085     { driver.option_num("redform", yystack_[0].value.as < string > ()); }
7086 #line 7087 "DynareBison.cc" // lalr1.cc:919
7087     break;
7088 
7089   case 1909:
7090 #line 3494 "DynareBison.yy" // lalr1.cc:919
7091     { driver.option_num("pprior", yystack_[0].value.as < string > ()); }
7092 #line 7093 "DynareBison.cc" // lalr1.cc:919
7093     break;
7094 
7095   case 1910:
7096 #line 3495 "DynareBison.yy" // lalr1.cc:919
7097     { driver.option_num("prior_range", yystack_[0].value.as < string > ()); }
7098 #line 7099 "DynareBison.cc" // lalr1.cc:919
7099     break;
7100 
7101   case 1911:
7102 #line 3496 "DynareBison.yy" // lalr1.cc:919
7103     { driver.option_num("ppost", yystack_[0].value.as < string > ()); }
7104 #line 7105 "DynareBison.cc" // lalr1.cc:919
7105     break;
7106 
7107   case 1912:
7108 #line 3497 "DynareBison.yy" // lalr1.cc:919
7109     { driver.option_num("ilptau", yystack_[0].value.as < string > ()); }
7110 #line 7111 "DynareBison.cc" // lalr1.cc:919
7111     break;
7112 
7113   case 1913:
7114 #line 3498 "DynareBison.yy" // lalr1.cc:919
7115     { driver.option_num("morris_nliv", yystack_[0].value.as < string > ()); }
7116 #line 7117 "DynareBison.cc" // lalr1.cc:919
7117     break;
7118 
7119   case 1914:
7120 #line 3499 "DynareBison.yy" // lalr1.cc:919
7121     { driver.option_num("morris_ntra", yystack_[0].value.as < string > ()); }
7122 #line 7123 "DynareBison.cc" // lalr1.cc:919
7123     break;
7124 
7125   case 1915:
7126 #line 3500 "DynareBison.yy" // lalr1.cc:919
7127     { driver.option_num("Nsam", yystack_[0].value.as < string > ()); }
7128 #line 7129 "DynareBison.cc" // lalr1.cc:919
7129     break;
7130 
7131   case 1916:
7132 #line 3501 "DynareBison.yy" // lalr1.cc:919
7133     { driver.option_num("load_redform", yystack_[0].value.as < string > ()); }
7134 #line 7135 "DynareBison.cc" // lalr1.cc:919
7135     break;
7136 
7137   case 1917:
7138 #line 3502 "DynareBison.yy" // lalr1.cc:919
7139     { driver.option_num("load_rmse", yystack_[0].value.as < string > ()); }
7140 #line 7141 "DynareBison.cc" // lalr1.cc:919
7141     break;
7142 
7143   case 1918:
7144 #line 3503 "DynareBison.yy" // lalr1.cc:919
7145     { driver.option_num("load_stab", yystack_[0].value.as < string > ()); }
7146 #line 7147 "DynareBison.cc" // lalr1.cc:919
7147     break;
7148 
7149   case 1919:
7150 #line 3504 "DynareBison.yy" // lalr1.cc:919
7151     { driver.option_num("alpha2_stab", yystack_[0].value.as < string > ()); }
7152 #line 7153 "DynareBison.cc" // lalr1.cc:919
7153     break;
7154 
7155   case 1920:
7156 #line 3505 "DynareBison.yy" // lalr1.cc:919
7157     { driver.option_num("logtrans_redform", yystack_[0].value.as < string > ()); }
7158 #line 7159 "DynareBison.cc" // lalr1.cc:919
7159     break;
7160 
7161   case 1921:
7162 #line 3506 "DynareBison.yy" // lalr1.cc:919
7163     { driver.option_num("threshold_redform",yystack_[0].value.as < string > ()); }
7164 #line 7165 "DynareBison.cc" // lalr1.cc:919
7165     break;
7166 
7167   case 1922:
7168 #line 3507 "DynareBison.yy" // lalr1.cc:919
7169     { driver.option_num("ksstat_redform", yystack_[0].value.as < string > ()); }
7170 #line 7171 "DynareBison.cc" // lalr1.cc:919
7171     break;
7172 
7173   case 1923:
7174 #line 3508 "DynareBison.yy" // lalr1.cc:919
7175     { driver.option_num("alpha2_redform", yystack_[0].value.as < string > ()); }
7176 #line 7177 "DynareBison.cc" // lalr1.cc:919
7177     break;
7178 
7179   case 1924:
7180 #line 3509 "DynareBison.yy" // lalr1.cc:919
7181     { driver.option_symbol_list("namendo"); }
7182 #line 7183 "DynareBison.cc" // lalr1.cc:919
7183     break;
7184 
7185   case 1925:
7186 #line 3510 "DynareBison.yy" // lalr1.cc:919
7187     { driver.option_symbol_list("namlagendo"); }
7188 #line 7189 "DynareBison.cc" // lalr1.cc:919
7189     break;
7190 
7191   case 1926:
7192 #line 3511 "DynareBison.yy" // lalr1.cc:919
7193     { driver.option_symbol_list("namexo"); }
7194 #line 7195 "DynareBison.cc" // lalr1.cc:919
7195     break;
7196 
7197   case 1927:
7198 #line 3512 "DynareBison.yy" // lalr1.cc:919
7199     { driver.option_num("rmse", yystack_[0].value.as < string > ()); }
7200 #line 7201 "DynareBison.cc" // lalr1.cc:919
7201     break;
7202 
7203   case 1928:
7204 #line 3513 "DynareBison.yy" // lalr1.cc:919
7205     { driver.option_num("lik_only", yystack_[0].value.as < string > ()); }
7206 #line 7207 "DynareBison.cc" // lalr1.cc:919
7207     break;
7208 
7209   case 1929:
7210 #line 3514 "DynareBison.yy" // lalr1.cc:919
7211     { driver.option_symbol_list("var_rmse"); }
7212 #line 7213 "DynareBison.cc" // lalr1.cc:919
7213     break;
7214 
7215   case 1930:
7216 #line 3515 "DynareBison.yy" // lalr1.cc:919
7217     { driver.option_num("pfilt_rmse", yystack_[0].value.as < string > ()); }
7218 #line 7219 "DynareBison.cc" // lalr1.cc:919
7219     break;
7220 
7221   case 1931:
7222 #line 3516 "DynareBison.yy" // lalr1.cc:919
7223     { driver.option_num("istart_rmse", yystack_[0].value.as < string > ()); }
7224 #line 7225 "DynareBison.cc" // lalr1.cc:919
7225     break;
7226 
7227   case 1932:
7228 #line 3517 "DynareBison.yy" // lalr1.cc:919
7229     { driver.option_num("alpha_rmse", yystack_[0].value.as < string > ()); }
7230 #line 7231 "DynareBison.cc" // lalr1.cc:919
7231     break;
7232 
7233   case 1933:
7234 #line 3518 "DynareBison.yy" // lalr1.cc:919
7235     { driver.option_num("alpha2_rmse", yystack_[0].value.as < string > ()); }
7236 #line 7237 "DynareBison.cc" // lalr1.cc:919
7237     break;
7238 
7239   case 1934:
7240 #line 3520 "DynareBison.yy" // lalr1.cc:919
7241     { driver.option_num("gsa_sample_file", yystack_[0].value.as < string > ()); }
7242 #line 7243 "DynareBison.cc" // lalr1.cc:919
7243     break;
7244 
7245   case 1935:
7246 #line 3522 "DynareBison.yy" // lalr1.cc:919
7247     { driver.option_str("gsa_sample_file", yystack_[0].value.as < string > ()); }
7248 #line 7249 "DynareBison.cc" // lalr1.cc:919
7249     break;
7250 
7251   case 1936:
7252 #line 3524 "DynareBison.yy" // lalr1.cc:919
7253     { driver.option_num("neighborhood_width", yystack_[0].value.as < string > ()); }
7254 #line 7255 "DynareBison.cc" // lalr1.cc:919
7255     break;
7256 
7257   case 1937:
7258 #line 3525 "DynareBison.yy" // lalr1.cc:919
7259     { driver.option_num("pvalue_ks", yystack_[0].value.as < string > ()); }
7260 #line 7261 "DynareBison.cc" // lalr1.cc:919
7261     break;
7262 
7263   case 1938:
7264 #line 3526 "DynareBison.yy" // lalr1.cc:919
7265     { driver.option_num("pvalue_corr", yystack_[0].value.as < string > ()); }
7266 #line 7267 "DynareBison.cc" // lalr1.cc:919
7267     break;
7268 
7269   case 1939:
7270 #line 3527 "DynareBison.yy" // lalr1.cc:919
7271     { driver.option_num("load_ident_files", yystack_[0].value.as < string > ()); }
7272 #line 7273 "DynareBison.cc" // lalr1.cc:919
7273     break;
7274 
7275   case 1940:
7276 #line 3528 "DynareBison.yy" // lalr1.cc:919
7277     { driver.option_num("useautocorr", yystack_[0].value.as < string > ()); }
7278 #line 7279 "DynareBison.cc" // lalr1.cc:919
7279     break;
7280 
7281   case 1941:
7282 #line 3529 "DynareBison.yy" // lalr1.cc:919
7283     { driver.option_num("prior_mc", yystack_[0].value.as < string > ()); }
7284 #line 7285 "DynareBison.cc" // lalr1.cc:919
7285     break;
7286 
7287   case 1942:
7288 #line 3530 "DynareBison.yy" // lalr1.cc:919
7289     { driver.option_num("advanced", yystack_[0].value.as < string > ()); }
7290 #line 7291 "DynareBison.cc" // lalr1.cc:919
7291     break;
7292 
7293   case 1943:
7294 #line 3531 "DynareBison.yy" // lalr1.cc:919
7295     { driver.option_num("max_dim_cova_group", yystack_[0].value.as < string > ()); }
7296 #line 7297 "DynareBison.cc" // lalr1.cc:919
7297     break;
7298 
7299   case 1944:
7300 #line 3533 "DynareBison.yy" // lalr1.cc:919
7301     {driver.option_num("homotopy_mode",yystack_[0].value.as < string > ()); }
7302 #line 7303 "DynareBison.cc" // lalr1.cc:919
7303     break;
7304 
7305   case 1945:
7306 #line 3534 "DynareBison.yy" // lalr1.cc:919
7307     {driver.option_num("homotopy_steps",yystack_[0].value.as < string > ()); }
7308 #line 7309 "DynareBison.cc" // lalr1.cc:919
7309     break;
7310 
7311   case 1946:
7312 #line 3535 "DynareBison.yy" // lalr1.cc:919
7313     { driver.option_num("homotopy_force_continue",yystack_[0].value.as < string > ()); }
7314 #line 7315 "DynareBison.cc" // lalr1.cc:919
7315     break;
7316 
7317   case 1947:
7318 #line 3536 "DynareBison.yy" // lalr1.cc:919
7319     {driver.option_num("steadystate.nocheck","true"); }
7320 #line 7321 "DynareBison.cc" // lalr1.cc:919
7321     break;
7322 
7323   case 1948:
7324 #line 3538 "DynareBison.yy" // lalr1.cc:919
7325     { driver.option_symbol_list("controlled_varexo"); }
7326 #line 7327 "DynareBison.cc" // lalr1.cc:919
7327     break;
7328 
7329   case 1949:
7330 #line 3540 "DynareBison.yy" // lalr1.cc:919
7331     { driver.option_str("parameter_set", "prior_mode"); }
7332 #line 7333 "DynareBison.cc" // lalr1.cc:919
7333     break;
7334 
7335   case 1950:
7336 #line 3542 "DynareBison.yy" // lalr1.cc:919
7337     { driver.option_str("parameter_set", "prior_mean"); }
7338 #line 7339 "DynareBison.cc" // lalr1.cc:919
7339     break;
7340 
7341   case 1951:
7342 #line 3544 "DynareBison.yy" // lalr1.cc:919
7343     { driver.option_str("parameter_set", "posterior_mean"); }
7344 #line 7345 "DynareBison.cc" // lalr1.cc:919
7345     break;
7346 
7347   case 1952:
7348 #line 3546 "DynareBison.yy" // lalr1.cc:919
7349     { driver.option_str("parameter_set", "posterior_mode"); }
7350 #line 7351 "DynareBison.cc" // lalr1.cc:919
7351     break;
7352 
7353   case 1953:
7354 #line 3548 "DynareBison.yy" // lalr1.cc:919
7355     { driver.option_str("parameter_set", "posterior_median"); }
7356 #line 7357 "DynareBison.cc" // lalr1.cc:919
7357     break;
7358 
7359   case 1954:
7360 #line 3550 "DynareBison.yy" // lalr1.cc:919
7361     { driver.option_str("parameter_set", "mle_mode"); }
7362 #line 7363 "DynareBison.cc" // lalr1.cc:919
7363     break;
7364 
7365   case 1955:
7366 #line 3552 "DynareBison.yy" // lalr1.cc:919
7367     { driver.option_str("parameter_set", "calibration"); }
7368 #line 7369 "DynareBison.cc" // lalr1.cc:919
7369     break;
7370 
7371   case 1956:
7372 #line 3554 "DynareBison.yy" // lalr1.cc:919
7373     { driver.option_num("nodecomposition", "true"); }
7374 #line 7375 "DynareBison.cc" // lalr1.cc:919
7375     break;
7376 
7377   case 1957:
7378 #line 3555 "DynareBison.yy" // lalr1.cc:919
7379     { driver.option_num("SpectralDensity.trigger", "true"); }
7380 #line 7381 "DynareBison.cc" // lalr1.cc:919
7381     break;
7382 
7383   case 1958:
7384 #line 3556 "DynareBison.yy" // lalr1.cc:919
7385     { driver.option_num("ms.drop", yystack_[0].value.as < string > ()); }
7386 #line 7387 "DynareBison.cc" // lalr1.cc:919
7387     break;
7388 
7389   case 1959:
7390 #line 3557 "DynareBison.yy" // lalr1.cc:919
7391     { driver.option_num("ms.mh_replic", yystack_[0].value.as < string > ()); }
7392 #line 7393 "DynareBison.cc" // lalr1.cc:919
7393     break;
7394 
7395   case 1960:
7396 #line 3559 "DynareBison.yy" // lalr1.cc:919
7397     { driver.option_num("ms.freq",yystack_[0].value.as < string > ()); }
7398 #line 7399 "DynareBison.cc" // lalr1.cc:919
7399     break;
7400 
7401   case 1961:
7402 #line 3561 "DynareBison.yy" // lalr1.cc:919
7403     { driver.option_num("ms.freq","12"); }
7404 #line 7405 "DynareBison.cc" // lalr1.cc:919
7405     break;
7406 
7407   case 1962:
7408 #line 3563 "DynareBison.yy" // lalr1.cc:919
7409     { driver.option_num("ms.freq","4"); }
7410 #line 7411 "DynareBison.cc" // lalr1.cc:919
7411     break;
7412 
7413   case 1963:
7414 #line 3565 "DynareBison.yy" // lalr1.cc:919
7415     {driver.option_num("ms.initial_year",yystack_[0].value.as < string > ()); }
7416 #line 7417 "DynareBison.cc" // lalr1.cc:919
7417     break;
7418 
7419   case 1964:
7420 #line 3566 "DynareBison.yy" // lalr1.cc:919
7421     {driver.option_num("ms.initial_subperiod",yystack_[0].value.as < string > ()); }
7422 #line 7423 "DynareBison.cc" // lalr1.cc:919
7423     break;
7424 
7425   case 1965:
7426 #line 3567 "DynareBison.yy" // lalr1.cc:919
7427     {driver.option_num("ms.final_year",yystack_[0].value.as < string > ()); }
7428 #line 7429 "DynareBison.cc" // lalr1.cc:919
7429     break;
7430 
7431   case 1966:
7432 #line 3568 "DynareBison.yy" // lalr1.cc:919
7433     {driver.option_num("ms.final_subperiod",yystack_[0].value.as < string > ()); }
7434 #line 7435 "DynareBison.cc" // lalr1.cc:919
7435     break;
7436 
7437   case 1967:
7438 #line 3569 "DynareBison.yy" // lalr1.cc:919
7439     { driver.option_str("ms.data", yystack_[0].value.as < string > ()); }
7440 #line 7441 "DynareBison.cc" // lalr1.cc:919
7441     break;
7442 
7443   case 1968:
7444 #line 3570 "DynareBison.yy" // lalr1.cc:919
7445     {driver.option_num("ms.vlist",yystack_[0].value.as < string > ()); }
7446 #line 7447 "DynareBison.cc" // lalr1.cc:919
7447     break;
7448 
7449   case 1969:
7450 #line 3571 "DynareBison.yy" // lalr1.cc:919
7451     {driver.option_symbol_list("ms.vlistlog"); }
7452 #line 7453 "DynareBison.cc" // lalr1.cc:919
7453     break;
7454 
7455   case 1970:
7456 #line 3572 "DynareBison.yy" // lalr1.cc:919
7457     {driver.option_num("ms.vlistper",yystack_[0].value.as < string > ()); }
7458 #line 7459 "DynareBison.cc" // lalr1.cc:919
7459     break;
7460 
7461   case 1971:
7462 #line 3574 "DynareBison.yy" // lalr1.cc:919
7463     {
7464                         driver.warning("restriction_fname is now deprecated, and may be removed in a future version of Dynare. Use svar_identification instead.");
7465                         driver.option_str("ms.restriction_fname",yystack_[0].value.as < string > ());
7466                       }
7467 #line 7468 "DynareBison.cc" // lalr1.cc:919
7468     break;
7469 
7470   case 1972:
7471 #line 3579 "DynareBison.yy" // lalr1.cc:919
7472     {
7473                         driver.warning("restriction_fname is now deprecated, and may be removed in a future version of Dynare. Use svar_identification instead.");
7474                         driver.option_str("ms.restriction_fname","upper_cholesky");
7475                       }
7476 #line 7477 "DynareBison.cc" // lalr1.cc:919
7477     break;
7478 
7479   case 1973:
7480 #line 3584 "DynareBison.yy" // lalr1.cc:919
7481     {
7482                         driver.warning("restriction_fname is now deprecated, and may be removed in a future version of Dynare. Use svar_identification instead.");
7483                         driver.option_str("ms.restriction_fname","lower_cholesky");
7484                       }
7485 #line 7486 "DynareBison.cc" // lalr1.cc:919
7486     break;
7487 
7488   case 1974:
7489 #line 3589 "DynareBison.yy" // lalr1.cc:919
7490     {driver.option_num("ms.nlags",yystack_[0].value.as < string > ()); }
7491 #line 7492 "DynareBison.cc" // lalr1.cc:919
7492     break;
7493 
7494   case 1975:
7495 #line 3590 "DynareBison.yy" // lalr1.cc:919
7496     {driver.option_num("ms.cross_restrictions","true"); }
7497 #line 7498 "DynareBison.cc" // lalr1.cc:919
7498     break;
7499 
7500   case 1976:
7501 #line 3591 "DynareBison.yy" // lalr1.cc:919
7502     {driver.option_num("ms.contemp_reduced_form","true"); }
7503 #line 7504 "DynareBison.cc" // lalr1.cc:919
7504     break;
7505 
7506   case 1977:
7507 #line 3592 "DynareBison.yy" // lalr1.cc:919
7508     {driver.option_num("ms.real_pseudo_forecast",yystack_[0].value.as < string > ()); }
7509 #line 7510 "DynareBison.cc" // lalr1.cc:919
7510     break;
7511 
7512   case 1978:
7513 #line 3593 "DynareBison.yy" // lalr1.cc:919
7514     {driver.option_num("ms.bayesian_prior","false"); }
7515 #line 7516 "DynareBison.cc" // lalr1.cc:919
7516     break;
7517 
7518   case 1979:
7519 #line 3594 "DynareBison.yy" // lalr1.cc:919
7520     {driver.option_num("ms.dummy_obs",yystack_[0].value.as < string > ()); }
7521 #line 7522 "DynareBison.cc" // lalr1.cc:919
7522     break;
7523 
7524   case 1980:
7525 #line 3595 "DynareBison.yy" // lalr1.cc:919
7526     {driver.option_num("ms.nstates",yystack_[0].value.as < string > ()); }
7527 #line 7528 "DynareBison.cc" // lalr1.cc:919
7528     break;
7529 
7530   case 1981:
7531 #line 3596 "DynareBison.yy" // lalr1.cc:919
7532     {driver.option_num("ms.indxscalesstates",yystack_[0].value.as < string > ()); }
7533 #line 7534 "DynareBison.cc" // lalr1.cc:919
7534     break;
7535 
7536   case 1982:
7537 #line 3597 "DynareBison.yy" // lalr1.cc:919
7538     {driver.option_num("ms.alpha",yystack_[0].value.as < string > ()); }
7539 #line 7540 "DynareBison.cc" // lalr1.cc:919
7540     break;
7541 
7542   case 1983:
7543 #line 3598 "DynareBison.yy" // lalr1.cc:919
7544     {driver.option_num("ms.beta",yystack_[0].value.as < string > ()); }
7545 #line 7546 "DynareBison.cc" // lalr1.cc:919
7546     break;
7547 
7548   case 1984:
7549 #line 3599 "DynareBison.yy" // lalr1.cc:919
7550     {driver.option_num("ms.gsig2_lmdm",yystack_[0].value.as < string > ()); }
7551 #line 7552 "DynareBison.cc" // lalr1.cc:919
7552     break;
7553 
7554   case 1985:
7555 #line 3601 "DynareBison.yy" // lalr1.cc:919
7556     {driver.option_num("ms.specification","1"); }
7557 #line 7558 "DynareBison.cc" // lalr1.cc:919
7558     break;
7559 
7560   case 1986:
7561 #line 3603 "DynareBison.yy" // lalr1.cc:919
7562     {driver.option_num("ms.specification","0"); }
7563 #line 7564 "DynareBison.cc" // lalr1.cc:919
7564     break;
7565 
7566   case 1987:
7567 #line 3605 "DynareBison.yy" // lalr1.cc:919
7568     {driver.option_num("ms.q_diag",yystack_[0].value.as < string > ()); }
7569 #line 7570 "DynareBison.cc" // lalr1.cc:919
7570     break;
7571 
7572   case 1988:
7573 #line 3606 "DynareBison.yy" // lalr1.cc:919
7574     {driver.option_num("ms.flat_prior",yystack_[0].value.as < string > ()); }
7575 #line 7576 "DynareBison.cc" // lalr1.cc:919
7576     break;
7577 
7578   case 1989:
7579 #line 3607 "DynareBison.yy" // lalr1.cc:919
7580     {driver.option_num("ms.ncsk",yystack_[0].value.as < string > ()); }
7581 #line 7582 "DynareBison.cc" // lalr1.cc:919
7582     break;
7583 
7584   case 1990:
7585 #line 3608 "DynareBison.yy" // lalr1.cc:919
7586     {driver.option_num("ms.nstd",yystack_[0].value.as < string > ()); }
7587 #line 7588 "DynareBison.cc" // lalr1.cc:919
7588     break;
7589 
7590   case 1991:
7591 #line 3609 "DynareBison.yy" // lalr1.cc:919
7592     {driver.option_num("ms.ninv",yystack_[0].value.as < string > ()); }
7593 #line 7594 "DynareBison.cc" // lalr1.cc:919
7594     break;
7595 
7596   case 1992:
7597 #line 3610 "DynareBison.yy" // lalr1.cc:919
7598     {driver.option_num("ms.indxparr",yystack_[0].value.as < string > ()); }
7599 #line 7600 "DynareBison.cc" // lalr1.cc:919
7600     break;
7601 
7602   case 1993:
7603 #line 3611 "DynareBison.yy" // lalr1.cc:919
7604     {driver.option_num("ms.indxovr",yystack_[0].value.as < string > ()); }
7605 #line 7606 "DynareBison.cc" // lalr1.cc:919
7606     break;
7607 
7608   case 1994:
7609 #line 3612 "DynareBison.yy" // lalr1.cc:919
7610     {driver.option_num("ms.aband",yystack_[0].value.as < string > ()); }
7611 #line 7612 "DynareBison.cc" // lalr1.cc:919
7612     break;
7613 
7614   case 1995:
7615 #line 3613 "DynareBison.yy" // lalr1.cc:919
7616     {driver.option_num("ms.indxap",yystack_[0].value.as < string > ()); }
7617 #line 7618 "DynareBison.cc" // lalr1.cc:919
7618     break;
7619 
7620   case 1996:
7621 #line 3614 "DynareBison.yy" // lalr1.cc:919
7622     {driver.option_num("ms.apband",yystack_[0].value.as < string > ()); }
7623 #line 7624 "DynareBison.cc" // lalr1.cc:919
7624     break;
7625 
7626   case 1997:
7627 #line 3615 "DynareBison.yy" // lalr1.cc:919
7628     {driver.option_num("ms.indximf",yystack_[0].value.as < string > ()); }
7629 #line 7630 "DynareBison.cc" // lalr1.cc:919
7630     break;
7631 
7632   case 1998:
7633 #line 3616 "DynareBison.yy" // lalr1.cc:919
7634     {driver.option_num("ms.indxfore",yystack_[0].value.as < string > ()); }
7635 #line 7636 "DynareBison.cc" // lalr1.cc:919
7636     break;
7637 
7638   case 1999:
7639 #line 3617 "DynareBison.yy" // lalr1.cc:919
7640     {driver.option_num("ms.foreband",yystack_[0].value.as < string > ()); }
7641 #line 7642 "DynareBison.cc" // lalr1.cc:919
7642     break;
7643 
7644   case 2000:
7645 #line 3618 "DynareBison.yy" // lalr1.cc:919
7646     {driver.option_num("ms.indxgforehat",yystack_[0].value.as < string > ()); }
7647 #line 7648 "DynareBison.cc" // lalr1.cc:919
7648     break;
7649 
7650   case 2001:
7651 #line 3619 "DynareBison.yy" // lalr1.cc:919
7652     {driver.option_num("ms.indxgimfhat",yystack_[0].value.as < string > ()); }
7653 #line 7654 "DynareBison.cc" // lalr1.cc:919
7654     break;
7655 
7656   case 2002:
7657 #line 3620 "DynareBison.yy" // lalr1.cc:919
7658     {driver.option_num("ms.indxestima",yystack_[0].value.as < string > ()); }
7659 #line 7660 "DynareBison.cc" // lalr1.cc:919
7660     break;
7661 
7662   case 2003:
7663 #line 3621 "DynareBison.yy" // lalr1.cc:919
7664     {driver.option_num("ms.indxgdls",yystack_[0].value.as < string > ()); }
7665 #line 7666 "DynareBison.cc" // lalr1.cc:919
7666     break;
7667 
7668   case 2004:
7669 #line 3622 "DynareBison.yy" // lalr1.cc:919
7670     {driver.option_num("ms.eq_ms",yystack_[0].value.as < string > ()); }
7671 #line 7672 "DynareBison.cc" // lalr1.cc:919
7672     break;
7673 
7674   case 2005:
7675 #line 3623 "DynareBison.yy" // lalr1.cc:919
7676     {driver.option_num("ms.cms",yystack_[0].value.as < string > ()); }
7677 #line 7678 "DynareBison.cc" // lalr1.cc:919
7678     break;
7679 
7680   case 2006:
7681 #line 3624 "DynareBison.yy" // lalr1.cc:919
7682     {driver.option_num("ms.ncms",yystack_[0].value.as < string > ()); }
7683 #line 7684 "DynareBison.cc" // lalr1.cc:919
7684     break;
7685 
7686   case 2007:
7687 #line 3625 "DynareBison.yy" // lalr1.cc:919
7688     {driver.option_num("ms.eq_cms",yystack_[0].value.as < string > ()); }
7689 #line 7690 "DynareBison.cc" // lalr1.cc:919
7690     break;
7691 
7692   case 2008:
7693 #line 3626 "DynareBison.yy" // lalr1.cc:919
7694     {driver.option_num("ms.tlindx",yystack_[0].value.as < string > ()); }
7695 #line 7696 "DynareBison.cc" // lalr1.cc:919
7696     break;
7697 
7698   case 2009:
7699 #line 3627 "DynareBison.yy" // lalr1.cc:919
7700     {driver.option_num("ms.tlnumber",yystack_[0].value.as < string > ()); }
7701 #line 7702 "DynareBison.cc" // lalr1.cc:919
7702     break;
7703 
7704   case 2010:
7705 #line 3628 "DynareBison.yy" // lalr1.cc:919
7706     {driver.option_num("ms.cnum",yystack_[0].value.as < string > ()); }
7707 #line 7708 "DynareBison.cc" // lalr1.cc:919
7708     break;
7709 
7710   case 2011:
7711 #line 3629 "DynareBison.yy" // lalr1.cc:919
7712     {driver.option_num("k_order_solver","true"); }
7713 #line 7714 "DynareBison.cc" // lalr1.cc:919
7714     break;
7715 
7716   case 2012:
7717 #line 3630 "DynareBison.yy" // lalr1.cc:919
7718     { driver.option_num("pruning", "true"); }
7719 #line 7720 "DynareBison.cc" // lalr1.cc:919
7720     break;
7721 
7722   case 2013:
7723 #line 3631 "DynareBison.yy" // lalr1.cc:919
7724     { driver.option_num("ms.chain",yystack_[0].value.as < string > ()); }
7725 #line 7726 "DynareBison.cc" // lalr1.cc:919
7726     break;
7727 
7728   case 2014:
7729 #line 3633 "DynareBison.yy" // lalr1.cc:919
7730     { driver.option_num("ms.restrictions",yystack_[0].value.as < string > ()); }
7731 #line 7732 "DynareBison.cc" // lalr1.cc:919
7732     break;
7733 
7734   case 2015:
7735 #line 3636 "DynareBison.yy" // lalr1.cc:919
7736     { driver.option_num("ms.duration",yystack_[0].value.as < string > ()); }
7737 #line 7738 "DynareBison.cc" // lalr1.cc:919
7738     break;
7739 
7740   case 2016:
7741 #line 3638 "DynareBison.yy" // lalr1.cc:919
7742     { driver.option_num("ms.duration",yystack_[0].value.as < string > ()); }
7743 #line 7744 "DynareBison.cc" // lalr1.cc:919
7744     break;
7745 
7746   case 2017:
7747 #line 3640 "DynareBison.yy" // lalr1.cc:919
7748     { driver.option_num("ms.number_of_regimes",yystack_[0].value.as < string > ()); }
7749 #line 7750 "DynareBison.cc" // lalr1.cc:919
7750     break;
7751 
7752   case 2018:
7753 #line 3641 "DynareBison.yy" // lalr1.cc:919
7754     { driver.option_num("ms.number_of_lags",yystack_[0].value.as < string > ()); }
7755 #line 7756 "DynareBison.cc" // lalr1.cc:919
7756     break;
7757 
7758   case 2019:
7759 #line 3642 "DynareBison.yy" // lalr1.cc:919
7760     { driver.option_symbol_list("ms.parameters"); }
7761 #line 7762 "DynareBison.cc" // lalr1.cc:919
7762     break;
7763 
7764   case 2020:
7765 #line 3643 "DynareBison.yy" // lalr1.cc:919
7766     { driver.option_str("ms.coefficients","svar_coefficients"); }
7767 #line 7768 "DynareBison.cc" // lalr1.cc:919
7768     break;
7769 
7770   case 2021:
7771 #line 3644 "DynareBison.yy" // lalr1.cc:919
7772     { driver.option_str("ms.variances","svar_variances"); }
7773 #line 7774 "DynareBison.cc" // lalr1.cc:919
7774     break;
7775 
7776   case 2022:
7777 #line 3646 "DynareBison.yy" // lalr1.cc:919
7778     { driver.option_vec_int("ms.equations",yystack_[0].value.as < vector<int> > ()); }
7779 #line 7780 "DynareBison.cc" // lalr1.cc:919
7780     break;
7781 
7782   case 2023:
7783 #line 3648 "DynareBison.yy" // lalr1.cc:919
7784     { driver.option_vec_int("ms.equations",yystack_[0].value.as < vector<int> > ()); }
7785 #line 7786 "DynareBison.cc" // lalr1.cc:919
7786     break;
7787 
7788   case 2024:
7789 #line 3650 "DynareBison.yy" // lalr1.cc:919
7790     { driver.option_num("silent_optimizer", "true"); }
7791 #line 7792 "DynareBison.cc" // lalr1.cc:919
7792     break;
7793 
7794   case 2025:
7795 #line 3651 "DynareBison.yy" // lalr1.cc:919
7796     {driver.option_symbol_list("instruments"); }
7797 #line 7798 "DynareBison.cc" // lalr1.cc:919
7798     break;
7799 
7800   case 2026:
7801 #line 3653 "DynareBison.yy" // lalr1.cc:919
7802     { driver.external_function_option("name", yystack_[0].value.as < string > ()); }
7803 #line 7804 "DynareBison.cc" // lalr1.cc:919
7804     break;
7805 
7806   case 2027:
7807 #line 3654 "DynareBison.yy" // lalr1.cc:919
7808     { driver.external_function_option("nargs",yystack_[0].value.as < string > ()); }
7809 #line 7810 "DynareBison.cc" // lalr1.cc:919
7810     break;
7811 
7812   case 2028:
7813 #line 3656 "DynareBison.yy" // lalr1.cc:919
7814     { driver.external_function_option("first_deriv_provided", yystack_[0].value.as < string > ()); }
7815 #line 7816 "DynareBison.cc" // lalr1.cc:919
7816     break;
7817 
7818   case 2029:
7819 #line 3658 "DynareBison.yy" // lalr1.cc:919
7820     { driver.external_function_option("first_deriv_provided", ""); }
7821 #line 7822 "DynareBison.cc" // lalr1.cc:919
7822     break;
7823 
7824   case 2030:
7825 #line 3661 "DynareBison.yy" // lalr1.cc:919
7826     { driver.external_function_option("second_deriv_provided", yystack_[0].value.as < string > ()); }
7827 #line 7828 "DynareBison.cc" // lalr1.cc:919
7828     break;
7829 
7830   case 2031:
7831 #line 3663 "DynareBison.yy" // lalr1.cc:919
7832     { driver.external_function_option("second_deriv_provided", ""); }
7833 #line 7834 "DynareBison.cc" // lalr1.cc:919
7834     break;
7835 
7836   case 2032:
7837 #line 3666 "DynareBison.yy" // lalr1.cc:919
7838     { driver.option_num("filter_covariance","true");}
7839 #line 7840 "DynareBison.cc" // lalr1.cc:919
7840     break;
7841 
7842   case 2033:
7843 #line 3669 "DynareBison.yy" // lalr1.cc:919
7844     { driver.option_num("filter_decomposition","true");}
7845 #line 7846 "DynareBison.cc" // lalr1.cc:919
7846     break;
7847 
7848   case 2034:
7849 #line 3672 "DynareBison.yy" // lalr1.cc:919
7850     { driver.option_num("smoothed_state_uncertainty","true");}
7851 #line 7852 "DynareBison.cc" // lalr1.cc:919
7852     break;
7853 
7854   case 2035:
7855 #line 3675 "DynareBison.yy" // lalr1.cc:919
7856     { driver.option_num("selected_variables_only","true");}
7857 #line 7858 "DynareBison.cc" // lalr1.cc:919
7858     break;
7859 
7860   case 2036:
7861 #line 3678 "DynareBison.yy" // lalr1.cc:919
7862     { driver.option_num("cova_compute",yystack_[0].value.as < string > ());}
7863 #line 7864 "DynareBison.cc" // lalr1.cc:919
7864     break;
7865 
7866   case 2037:
7867 #line 3680 "DynareBison.yy" // lalr1.cc:919
7868     {driver.option_str("ms.output_file_tag", yystack_[0].value.as < string > ()); }
7869 #line 7870 "DynareBison.cc" // lalr1.cc:919
7870     break;
7871 
7872   case 2038:
7873 #line 3681 "DynareBison.yy" // lalr1.cc:919
7874     { driver.option_str("ms.file_tag", yystack_[0].value.as < string > ()); }
7875 #line 7876 "DynareBison.cc" // lalr1.cc:919
7876     break;
7877 
7878   case 2039:
7879 #line 3682 "DynareBison.yy" // lalr1.cc:919
7880     { driver.option_num("ms.create_init", "false"); }
7881 #line 7882 "DynareBison.cc" // lalr1.cc:919
7882     break;
7883 
7884   case 2040:
7885 #line 3683 "DynareBison.yy" // lalr1.cc:919
7886     { driver.option_str("ms.simulation_file_tag", yystack_[0].value.as < string > ()); }
7887 #line 7888 "DynareBison.cc" // lalr1.cc:919
7888     break;
7889 
7890   case 2041:
7891 #line 3685 "DynareBison.yy" // lalr1.cc:919
7892     { driver.option_num("ms.coefficients_prior_hyperparameters",yystack_[0].value.as < string > ()); }
7893 #line 7894 "DynareBison.cc" // lalr1.cc:919
7894     break;
7895 
7896   case 2042:
7897 #line 3687 "DynareBison.yy" // lalr1.cc:919
7898     { driver.option_num("ms.convergence_starting_value",yystack_[0].value.as < string > ()); }
7899 #line 7900 "DynareBison.cc" // lalr1.cc:919
7900     break;
7901 
7902   case 2043:
7903 #line 3689 "DynareBison.yy" // lalr1.cc:919
7904     { driver.option_num("ms.convergence_ending_value",yystack_[0].value.as < string > ()); }
7905 #line 7906 "DynareBison.cc" // lalr1.cc:919
7906     break;
7907 
7908   case 2044:
7909 #line 3691 "DynareBison.yy" // lalr1.cc:919
7910     { driver.option_num("ms.convergence_increment_value",yystack_[0].value.as < string > ()); }
7911 #line 7912 "DynareBison.cc" // lalr1.cc:919
7912     break;
7913 
7914   case 2045:
7915 #line 3693 "DynareBison.yy" // lalr1.cc:919
7916     { driver.option_num("ms.max_iterations_starting_value",yystack_[0].value.as < string > ()); }
7917 #line 7918 "DynareBison.cc" // lalr1.cc:919
7918     break;
7919 
7920   case 2046:
7921 #line 3695 "DynareBison.yy" // lalr1.cc:919
7922     { driver.option_num("ms.max_iterations_increment_value",yystack_[0].value.as < string > ()); }
7923 #line 7924 "DynareBison.cc" // lalr1.cc:919
7924     break;
7925 
7926   case 2047:
7927 #line 3697 "DynareBison.yy" // lalr1.cc:919
7928     { driver.option_num("ms.max_block_iterations",yystack_[0].value.as < string > ()); }
7929 #line 7930 "DynareBison.cc" // lalr1.cc:919
7930     break;
7931 
7932   case 2048:
7933 #line 3699 "DynareBison.yy" // lalr1.cc:919
7934     { driver.option_num("ms.max_repeated_optimization_runs",yystack_[0].value.as < string > ()); }
7935 #line 7936 "DynareBison.cc" // lalr1.cc:919
7936     break;
7937 
7938   case 2049:
7939 #line 3701 "DynareBison.yy" // lalr1.cc:919
7940     { driver.option_num("ms.function_convergence_criterion",yystack_[0].value.as < string > ()); }
7941 #line 7942 "DynareBison.cc" // lalr1.cc:919
7942     break;
7943 
7944   case 2050:
7945 #line 3703 "DynareBison.yy" // lalr1.cc:919
7946     { driver.option_num("ms.parameter_convergence_criterion",yystack_[0].value.as < string > ()); }
7947 #line 7948 "DynareBison.cc" // lalr1.cc:919
7948     break;
7949 
7950   case 2051:
7951 #line 3705 "DynareBison.yy" // lalr1.cc:919
7952     { driver.option_num("ms.number_of_large_perturbations",yystack_[0].value.as < string > ()); }
7953 #line 7954 "DynareBison.cc" // lalr1.cc:919
7954     break;
7955 
7956   case 2052:
7957 #line 3707 "DynareBison.yy" // lalr1.cc:919
7958     { driver.option_num("ms.number_of_small_perturbations",yystack_[0].value.as < string > ()); }
7959 #line 7960 "DynareBison.cc" // lalr1.cc:919
7960     break;
7961 
7962   case 2053:
7963 #line 3709 "DynareBison.yy" // lalr1.cc:919
7964     { driver.option_num("ms.number_of_posterior_draws_after_perturbation",yystack_[0].value.as < string > ()); }
7965 #line 7966 "DynareBison.cc" // lalr1.cc:919
7966     break;
7967 
7968   case 2054:
7969 #line 3711 "DynareBison.yy" // lalr1.cc:919
7970     { driver.option_num("ms.max_number_of_stages",yystack_[0].value.as < string > ()); }
7971 #line 7972 "DynareBison.cc" // lalr1.cc:919
7972     break;
7973 
7974   case 2055:
7975 #line 3713 "DynareBison.yy" // lalr1.cc:919
7976     { driver.option_num("ms.random_function_convergence_criterion",yystack_[0].value.as < string > ()); }
7977 #line 7978 "DynareBison.cc" // lalr1.cc:919
7978     break;
7979 
7980   case 2056:
7981 #line 3715 "DynareBison.yy" // lalr1.cc:919
7982     { driver.option_num("ms.random_parameter_convergence_criterion",yystack_[0].value.as < string > ()); }
7983 #line 7984 "DynareBison.cc" // lalr1.cc:919
7984     break;
7985 
7986   case 2057:
7987 #line 3716 "DynareBison.yy" // lalr1.cc:919
7988     { driver.option_num("ms.thinning_factor",yystack_[0].value.as < string > ()); }
7989 #line 7990 "DynareBison.cc" // lalr1.cc:919
7990     break;
7991 
7992   case 2058:
7993 #line 3717 "DynareBison.yy" // lalr1.cc:919
7994     { driver.option_num("ms.adaptive_mh_draws",yystack_[0].value.as < string > ()); }
7995 #line 7996 "DynareBison.cc" // lalr1.cc:919
7996     break;
7997 
7998   case 2059:
7999 #line 3718 "DynareBison.yy" // lalr1.cc:919
8000     { driver.option_num("ms.save_draws","true"); }
8001 #line 8002 "DynareBison.cc" // lalr1.cc:919
8002     break;
8003 
8004   case 2060:
8005 #line 3719 "DynareBison.yy" // lalr1.cc:919
8006     { driver.option_num("ms.proposal_draws",yystack_[0].value.as < string > ()); }
8007 #line 8008 "DynareBison.cc" // lalr1.cc:919
8008     break;
8009 
8010   case 2061:
8011 #line 3720 "DynareBison.yy" // lalr1.cc:919
8012     { driver.option_num("ms.use_mean_center","true"); }
8013 #line 8014 "DynareBison.cc" // lalr1.cc:919
8014     break;
8015 
8016   case 2062:
8017 #line 3721 "DynareBison.yy" // lalr1.cc:919
8018     { driver.option_num("ms.proposal_type",yystack_[0].value.as < string > ()); }
8019 #line 8020 "DynareBison.cc" // lalr1.cc:919
8020     break;
8021 
8022   case 2063:
8023 #line 3722 "DynareBison.yy" // lalr1.cc:919
8024     { driver.option_num("ms.proposal_lower_bound",yystack_[0].value.as < string > ()); }
8025 #line 8026 "DynareBison.cc" // lalr1.cc:919
8026     break;
8027 
8028   case 2064:
8029 #line 3723 "DynareBison.yy" // lalr1.cc:919
8030     { driver.option_num("ms.proposal_upper_bound",yystack_[0].value.as < string > ()); }
8031 #line 8032 "DynareBison.cc" // lalr1.cc:919
8032     break;
8033 
8034   case 2065:
8035 #line 3724 "DynareBison.yy" // lalr1.cc:919
8036     { driver.option_num("ms.parameter_uncertainty","true"); }
8037 #line 8038 "DynareBison.cc" // lalr1.cc:919
8038     break;
8039 
8040   case 2066:
8041 #line 3725 "DynareBison.yy" // lalr1.cc:919
8042     { driver.option_num("ms.horizon",yystack_[0].value.as < string > ()); }
8043 #line 8044 "DynareBison.cc" // lalr1.cc:919
8044     break;
8045 
8046   case 2067:
8047 #line 3726 "DynareBison.yy" // lalr1.cc:919
8048     { driver.option_num("ms.filtered_probabilities","true"); }
8049 #line 8050 "DynareBison.cc" // lalr1.cc:919
8050     break;
8051 
8052   case 2068:
8053 #line 3727 "DynareBison.yy" // lalr1.cc:919
8054     { driver.option_num("ms.real_time_smoothed_probabilities","true"); }
8055 #line 8056 "DynareBison.cc" // lalr1.cc:919
8056     break;
8057 
8058   case 2069:
8059 #line 3728 "DynareBison.yy" // lalr1.cc:919
8060     { driver.option_num("ms.error_bands","false"); }
8061 #line 8062 "DynareBison.cc" // lalr1.cc:919
8062     break;
8063 
8064   case 2070:
8065 #line 3729 "DynareBison.yy" // lalr1.cc:919
8066     { driver.option_num("ms.percentiles",yystack_[0].value.as < string > ()); }
8067 #line 8068 "DynareBison.cc" // lalr1.cc:919
8068     break;
8069 
8070   case 2071:
8071 #line 3730 "DynareBison.yy" // lalr1.cc:919
8072     { driver.option_num("ms.shock_draws",yystack_[0].value.as < string > ()); }
8073 #line 8074 "DynareBison.cc" // lalr1.cc:919
8074     break;
8075 
8076   case 2072:
8077 #line 3731 "DynareBison.yy" // lalr1.cc:919
8078     { driver.option_num("ms.shocks_per_parameter",yystack_[0].value.as < string > ()); }
8079 #line 8080 "DynareBison.cc" // lalr1.cc:919
8080     break;
8081 
8082   case 2073:
8083 #line 3732 "DynareBison.yy" // lalr1.cc:919
8084     { driver.option_num("ms.free_parameters",yystack_[0].value.as < string > ()); }
8085 #line 8086 "DynareBison.cc" // lalr1.cc:919
8086     break;
8087 
8088   case 2074:
8089 #line 3733 "DynareBison.yy" // lalr1.cc:919
8090     { driver.option_num("ms.median","1"); }
8091 #line 8092 "DynareBison.cc" // lalr1.cc:919
8092     break;
8093 
8094   case 2075:
8095 #line 3734 "DynareBison.yy" // lalr1.cc:919
8096     { driver.option_num("median", yystack_[0].value.as < string > ()); }
8097 #line 8098 "DynareBison.cc" // lalr1.cc:919
8098     break;
8099 
8100   case 2076:
8101 #line 3735 "DynareBison.yy" // lalr1.cc:919
8102     { driver.option_num("ms.regimes","true"); }
8103 #line 8104 "DynareBison.cc" // lalr1.cc:919
8104     break;
8105 
8106   case 2077:
8107 #line 3736 "DynareBison.yy" // lalr1.cc:919
8108     { driver.option_num("ms.regime",yystack_[0].value.as < string > ()); }
8109 #line 8110 "DynareBison.cc" // lalr1.cc:919
8110     break;
8111 
8112   case 2078:
8113 #line 3737 "DynareBison.yy" // lalr1.cc:919
8114     { driver.option_num("ms.forecast_data_obs",yystack_[0].value.as < string > ()); }
8115 #line 8116 "DynareBison.cc" // lalr1.cc:919
8116     break;
8117 
8118   case 2079:
8119 #line 3738 "DynareBison.yy" // lalr1.cc:919
8120     { driver.option_num("discretionary_tol",yystack_[0].value.as < string > ()); }
8121 #line 8122 "DynareBison.cc" // lalr1.cc:919
8122     break;
8123 
8124   case 2080:
8125 #line 3739 "DynareBison.yy" // lalr1.cc:919
8126     { driver.option_num("analytic_derivation", "1"); }
8127 #line 8128 "DynareBison.cc" // lalr1.cc:919
8128     break;
8129 
8130   case 2081:
8131 #line 3740 "DynareBison.yy" // lalr1.cc:919
8132     { driver.option_num("analytic_derivation_mode", yystack_[0].value.as < string > ()); }
8133 #line 8134 "DynareBison.cc" // lalr1.cc:919
8134     break;
8135 
8136   case 2082:
8137 #line 3741 "DynareBison.yy" // lalr1.cc:919
8138     { driver.option_num("endogenous_prior", "true"); }
8139 #line 8140 "DynareBison.cc" // lalr1.cc:919
8140     break;
8141 
8142   case 2083:
8143 #line 3742 "DynareBison.yy" // lalr1.cc:919
8144     { driver.option_num("use_univariate_filters_if_singularity_is_detected", yystack_[0].value.as < string > ()); }
8145 #line 8146 "DynareBison.cc" // lalr1.cc:919
8146     break;
8147 
8148   case 2084:
8149 #line 3744 "DynareBison.yy" // lalr1.cc:919
8150     { driver.option_str("MCMC_jumping_covariance", yystack_[0].value.as < string > ()); }
8151 #line 8152 "DynareBison.cc" // lalr1.cc:919
8152     break;
8153 
8154   case 2085:
8155 #line 3745 "DynareBison.yy" // lalr1.cc:919
8156     { driver.option_str("MCMC_jumping_covariance", yystack_[0].value.as < string > ()); }
8157 #line 8158 "DynareBison.cc" // lalr1.cc:919
8158     break;
8159 
8160   case 2086:
8161 #line 3747 "DynareBison.yy" // lalr1.cc:919
8162     { driver.option_str("MCMC_jumping_covariance", yystack_[0].value.as < string > ()); }
8163 #line 8164 "DynareBison.cc" // lalr1.cc:919
8164     break;
8165 
8166   case 2087:
8167 #line 3749 "DynareBison.yy" // lalr1.cc:919
8168     { driver.option_str("MCMC_jumping_covariance", yystack_[0].value.as < string > ()); }
8169 #line 8170 "DynareBison.cc" // lalr1.cc:919
8170     break;
8171 
8172   case 2088:
8173 #line 3751 "DynareBison.yy" // lalr1.cc:919
8174     { driver.option_num("rescale_prediction_error_covariance", "true"); }
8175 #line 8176 "DynareBison.cc" // lalr1.cc:919
8176     break;
8177 
8178   case 2089:
8179 #line 3752 "DynareBison.yy" // lalr1.cc:919
8180     { driver.option_num("hessian.use_penalized_objective","true"); }
8181 #line 8182 "DynareBison.cc" // lalr1.cc:919
8182     break;
8183 
8184   case 2090:
8185 #line 3753 "DynareBison.yy" // lalr1.cc:919
8186     { driver.option_num("impulse_responses.plot_threshold", yystack_[0].value.as < string > ()); }
8187 #line 8188 "DynareBison.cc" // lalr1.cc:919
8188     break;
8189 
8190   case 2091:
8191 #line 3754 "DynareBison.yy" // lalr1.cc:919
8192     { driver.option_num("dr_display_tol", yystack_[0].value.as < string > ()); }
8193 #line 8194 "DynareBison.cc" // lalr1.cc:919
8194     break;
8195 
8196   case 2092:
8197 #line 3755 "DynareBison.yy" // lalr1.cc:919
8198     { driver.option_str("endo_vars_for_moment_computations_in_estimation", "all_endogenous_variables"); }
8199 #line 8200 "DynareBison.cc" // lalr1.cc:919
8200     break;
8201 
8202   case 2093:
8203 #line 3756 "DynareBison.yy" // lalr1.cc:919
8204     { driver.option_str("endo_vars_for_moment_computations_in_estimation", "only_observed_variables"); }
8205 #line 8206 "DynareBison.cc" // lalr1.cc:919
8206     break;
8207 
8208   case 2094:
8209 #line 3757 "DynareBison.yy" // lalr1.cc:919
8210     { driver.option_num("no_homotopy", "true"); }
8211 #line 8212 "DynareBison.cc" // lalr1.cc:919
8212     break;
8213 
8214   case 2095:
8215 #line 3759 "DynareBison.yy" // lalr1.cc:919
8216     { driver.option_str("infile", yystack_[0].value.as < string > ()); }
8217 #line 8218 "DynareBison.cc" // lalr1.cc:919
8218     break;
8219 
8220   case 2096:
8221 #line 3760 "DynareBison.yy" // lalr1.cc:919
8222     { driver.option_symbol_list("invars"); }
8223 #line 8224 "DynareBison.cc" // lalr1.cc:919
8224     break;
8225 
8226   case 2097:
8227 #line 3761 "DynareBison.yy" // lalr1.cc:919
8228     { driver.option_num("period", yystack_[0].value.as < string > ()); }
8229 #line 8230 "DynareBison.cc" // lalr1.cc:919
8230     break;
8231 
8232   case 2098:
8233 #line 3762 "DynareBison.yy" // lalr1.cc:919
8234     { driver.option_str("outfile", yystack_[0].value.as < string > ()); }
8235 #line 8236 "DynareBison.cc" // lalr1.cc:919
8236     break;
8237 
8238   case 2099:
8239 #line 3763 "DynareBison.yy" // lalr1.cc:919
8240     { driver.option_symbol_list("outvars"); }
8241 #line 8242 "DynareBison.cc" // lalr1.cc:919
8242     break;
8243 
8244   case 2100:
8245 #line 3764 "DynareBison.yy" // lalr1.cc:919
8246     {driver.option_num("lmmcp.status", "true"); }
8247 #line 8248 "DynareBison.cc" // lalr1.cc:919
8248     break;
8249 
8250   case 2101:
8251 #line 3765 "DynareBison.yy" // lalr1.cc:919
8252     {driver.option_num("occbin", "true"); }
8253 #line 8254 "DynareBison.cc" // lalr1.cc:919
8254     break;
8255 
8256   case 2102:
8257 #line 3766 "DynareBison.yy" // lalr1.cc:919
8258     { driver.option_str("function", yystack_[0].value.as < string > ()); }
8259 #line 8260 "DynareBison.cc" // lalr1.cc:919
8260     break;
8261 
8262   case 2103:
8263 #line 3767 "DynareBison.yy" // lalr1.cc:919
8264     { driver.option_num("sampling_draws",yystack_[0].value.as < string > ()); }
8265 #line 8266 "DynareBison.cc" // lalr1.cc:919
8266     break;
8267 
8268   case 2104:
8269 #line 3768 "DynareBison.yy" // lalr1.cc:919
8270     { driver.option_str("plot_shock_decomp.use_shock_groups","default"); }
8271 #line 8272 "DynareBison.cc" // lalr1.cc:919
8272     break;
8273 
8274   case 2105:
8275 #line 3769 "DynareBison.yy" // lalr1.cc:919
8276     { driver.option_str("plot_shock_decomp.use_shock_groups", yystack_[0].value.as < string > ()); }
8277 #line 8278 "DynareBison.cc" // lalr1.cc:919
8278     break;
8279 
8280   case 2106:
8281 #line 3771 "DynareBison.yy" // lalr1.cc:919
8282     { driver.option_num("plot_shock_decomp.colormap",yystack_[0].value.as < string > ()); }
8283 #line 8284 "DynareBison.cc" // lalr1.cc:919
8284     break;
8285 
8286   case 2107:
8287 #line 3772 "DynareBison.yy" // lalr1.cc:919
8288     { driver.option_num("initial_condition_decomp.colormap",yystack_[0].value.as < string > ()); }
8289 #line 8290 "DynareBison.cc" // lalr1.cc:919
8290     break;
8291 
8292   case 2108:
8293 #line 3774 "DynareBison.yy" // lalr1.cc:919
8294     { driver.option_num("gmm.order", yystack_[0].value.as < string > ()); }
8295 #line 8296 "DynareBison.cc" // lalr1.cc:919
8296     break;
8297 
8298   case 2109:
8299 #line 3775 "DynareBison.yy" // lalr1.cc:919
8300     { driver.option_num("smm.order", yystack_[0].value.as < string > ()); }
8301 #line 8302 "DynareBison.cc" // lalr1.cc:919
8302     break;
8303 
8304   case 2110:
8305 #line 3776 "DynareBison.yy" // lalr1.cc:919
8306     { driver.option_num("gmm.centered_moments", "true"); }
8307 #line 8308 "DynareBison.cc" // lalr1.cc:919
8308     break;
8309 
8310   case 2111:
8311 #line 3777 "DynareBison.yy" // lalr1.cc:919
8312     { driver.option_num("smm.centered_moments", "true"); }
8313 #line 8314 "DynareBison.cc" // lalr1.cc:919
8314     break;
8315 
8316   case 2112:
8317 #line 3779 "DynareBison.yy" // lalr1.cc:919
8318     { driver.option_vec_int("gmm.autolag", yystack_[0].value.as < vector<int> > ()); }
8319 #line 8320 "DynareBison.cc" // lalr1.cc:919
8320     break;
8321 
8322   case 2113:
8323 #line 3781 "DynareBison.yy" // lalr1.cc:919
8324     { driver.option_vec_int("gmm.autolag", yystack_[0].value.as < vector<int> > ()); }
8325 #line 8326 "DynareBison.cc" // lalr1.cc:919
8326     break;
8327 
8328   case 2114:
8329 #line 3784 "DynareBison.yy" // lalr1.cc:919
8330     { driver.option_vec_int("smm.autolag", yystack_[0].value.as < vector<int> > ()); }
8331 #line 8332 "DynareBison.cc" // lalr1.cc:919
8332     break;
8333 
8334   case 2115:
8335 #line 3786 "DynareBison.yy" // lalr1.cc:919
8336     { driver.option_vec_int("smm.autolag", yystack_[0].value.as < vector<int> > ()); }
8337 #line 8338 "DynareBison.cc" // lalr1.cc:919
8338     break;
8339 
8340   case 2116:
8341 #line 3788 "DynareBison.yy" // lalr1.cc:919
8342     { driver.option_num("gmm.recursive_estimation", "true"); }
8343 #line 8344 "DynareBison.cc" // lalr1.cc:919
8344     break;
8345 
8346   case 2117:
8347 #line 3789 "DynareBison.yy" // lalr1.cc:919
8348     { driver.option_num("smm.recursive_estimation", "true"); }
8349 #line 8350 "DynareBison.cc" // lalr1.cc:919
8350     break;
8351 
8352   case 2118:
8353 #line 3790 "DynareBison.yy" // lalr1.cc:919
8354     { driver.option_num("gmm.qLag", yystack_[0].value.as < string > ()); }
8355 #line 8356 "DynareBison.cc" // lalr1.cc:919
8356     break;
8357 
8358   case 2119:
8359 #line 3791 "DynareBison.yy" // lalr1.cc:919
8360     { driver.option_num("smm.qLag", yystack_[0].value.as < string > ()); }
8361 #line 8362 "DynareBison.cc" // lalr1.cc:919
8362     break;
8363 
8364   case 2120:
8365 #line 3793 "DynareBison.yy" // lalr1.cc:919
8366     { driver.option_str("gmm.weighting_matrix", yystack_[0].value.as < string > ()); }
8367 #line 8368 "DynareBison.cc" // lalr1.cc:919
8368     break;
8369 
8370   case 2121:
8371 #line 3795 "DynareBison.yy" // lalr1.cc:919
8372     { driver.option_str("gmm.weighting_matrix", yystack_[0].value.as < string > ()); }
8373 #line 8374 "DynareBison.cc" // lalr1.cc:919
8374     break;
8375 
8376   case 2122:
8377 #line 3797 "DynareBison.yy" // lalr1.cc:919
8378     { driver.option_str("gmm.weighting_matrix", yystack_[0].value.as < string > ()); }
8379 #line 8380 "DynareBison.cc" // lalr1.cc:919
8380     break;
8381 
8382   case 2123:
8383 #line 3799 "DynareBison.yy" // lalr1.cc:919
8384     { driver.option_str("gmm.weighting_matrix", yystack_[0].value.as < string > ()); }
8385 #line 8386 "DynareBison.cc" // lalr1.cc:919
8386     break;
8387 
8388   case 2124:
8389 #line 3802 "DynareBison.yy" // lalr1.cc:919
8390     { driver.option_str("smm.weighting_matrix", yystack_[0].value.as < string > ()); }
8391 #line 8392 "DynareBison.cc" // lalr1.cc:919
8392     break;
8393 
8394   case 2125:
8395 #line 3804 "DynareBison.yy" // lalr1.cc:919
8396     { driver.option_str("smm.weighting_matrix", yystack_[0].value.as < string > ()); }
8397 #line 8398 "DynareBison.cc" // lalr1.cc:919
8398     break;
8399 
8400   case 2126:
8401 #line 3806 "DynareBison.yy" // lalr1.cc:919
8402     { driver.option_str("smm.weighting_matrix", yystack_[0].value.as < string > ()); }
8403 #line 8404 "DynareBison.cc" // lalr1.cc:919
8404     break;
8405 
8406   case 2127:
8407 #line 3808 "DynareBison.yy" // lalr1.cc:919
8408     { driver.option_str("smm.weighting_matrix", yystack_[0].value.as < string > ()); }
8409 #line 8410 "DynareBison.cc" // lalr1.cc:919
8410     break;
8411 
8412   case 2128:
8413 #line 3810 "DynareBison.yy" // lalr1.cc:919
8414     { driver.option_num("gmm.penalized_estimator", "true"); }
8415 #line 8416 "DynareBison.cc" // lalr1.cc:919
8416     break;
8417 
8418   case 2129:
8419 #line 3811 "DynareBison.yy" // lalr1.cc:919
8420     { driver.option_num("smm.penalized_estimator", "true"); }
8421 #line 8422 "DynareBison.cc" // lalr1.cc:919
8422     break;
8423 
8424   case 2130:
8425 #line 3812 "DynareBison.yy" // lalr1.cc:919
8426     { driver.option_num("gmm.verbose", "true"); }
8427 #line 8428 "DynareBison.cc" // lalr1.cc:919
8428     break;
8429 
8430   case 2131:
8431 #line 3813 "DynareBison.yy" // lalr1.cc:919
8432     { driver.option_num("smm.verbose", "true"); }
8433 #line 8434 "DynareBison.cc" // lalr1.cc:919
8434     break;
8435 
8436   case 2132:
8437 #line 3815 "DynareBison.yy" // lalr1.cc:919
8438     { driver.option_num("smm.simulation_multiple", yystack_[0].value.as < string > ()); }
8439 #line 8440 "DynareBison.cc" // lalr1.cc:919
8440     break;
8441 
8442   case 2133:
8443 #line 3816 "DynareBison.yy" // lalr1.cc:919
8444     { driver.option_num("smm.drop", yystack_[0].value.as < string > ()); }
8445 #line 8446 "DynareBison.cc" // lalr1.cc:919
8446     break;
8447 
8448   case 2134:
8449 #line 3817 "DynareBison.yy" // lalr1.cc:919
8450     { driver.option_num("smm.seed", yystack_[0].value.as < string > ()); }
8451 #line 8452 "DynareBison.cc" // lalr1.cc:919
8452     break;
8453 
8454   case 2135:
8455 #line 3818 "DynareBison.yy" // lalr1.cc:919
8456     { driver.option_num("smm.bounded_support", "true"); }
8457 #line 8458 "DynareBison.cc" // lalr1.cc:919
8458     break;
8459 
8460   case 2136:
8461 #line 3820 "DynareBison.yy" // lalr1.cc:919
8462     { driver.option_num("irf_opt.analytical_GIRF", "true"); }
8463 #line 8464 "DynareBison.cc" // lalr1.cc:919
8464     break;
8465 
8466   case 2137:
8467 #line 3821 "DynareBison.yy" // lalr1.cc:919
8468     { driver.option_num("irf_opt.percent", "true"); }
8469 #line 8470 "DynareBison.cc" // lalr1.cc:919
8470     break;
8471 
8472   case 2138:
8473 #line 3822 "DynareBison.yy" // lalr1.cc:919
8474     { driver.option_num("irf_opt.ergodic_mean_irf", "true"); }
8475 #line 8476 "DynareBison.cc" // lalr1.cc:919
8476     break;
8477 
8478   case 2139:
8479 #line 3823 "DynareBison.yy" // lalr1.cc:919
8480     { driver.option_num("irf_opt.EM.drop", yystack_[0].value.as < string > ()); }
8481 #line 8482 "DynareBison.cc" // lalr1.cc:919
8482     break;
8483 
8484   case 2140:
8485 #line 3824 "DynareBison.yy" // lalr1.cc:919
8486     { driver.option_num("irf_opt.EM.tolf", yystack_[0].value.as < string > ()); }
8487 #line 8488 "DynareBison.cc" // lalr1.cc:919
8488     break;
8489 
8490   case 2141:
8491 #line 3825 "DynareBison.yy" // lalr1.cc:919
8492     { driver.option_num("irf_opt.EM.iter", yystack_[0].value.as < string > ()); }
8493 #line 8494 "DynareBison.cc" // lalr1.cc:919
8494     break;
8495 
8496   case 2142:
8497 #line 3828 "DynareBison.yy" // lalr1.cc:919
8498     { driver.option_num("no_identification_strength", "true"); }
8499 #line 8500 "DynareBison.cc" // lalr1.cc:919
8500     break;
8501 
8502   case 2143:
8503 #line 3829 "DynareBison.yy" // lalr1.cc:919
8504     { driver.option_num("no_identification_reducedform", "true"); }
8505 #line 8506 "DynareBison.cc" // lalr1.cc:919
8506     break;
8507 
8508   case 2144:
8509 #line 3830 "DynareBison.yy" // lalr1.cc:919
8510     { driver.option_num("no_identification_moments", "true"); }
8511 #line 8512 "DynareBison.cc" // lalr1.cc:919
8512     break;
8513 
8514   case 2145:
8515 #line 3831 "DynareBison.yy" // lalr1.cc:919
8516     { driver.option_num("no_identification_minimal", "true"); }
8517 #line 8518 "DynareBison.cc" // lalr1.cc:919
8518     break;
8519 
8520   case 2146:
8521 #line 3832 "DynareBison.yy" // lalr1.cc:919
8522     { driver.option_num("no_identification_spectrum", "true"); }
8523 #line 8524 "DynareBison.cc" // lalr1.cc:919
8524     break;
8525 
8526   case 2147:
8527 #line 3833 "DynareBison.yy" // lalr1.cc:919
8528     { driver.option_num("normalize_jacobians", yystack_[0].value.as < string > ()); }
8529 #line 8530 "DynareBison.cc" // lalr1.cc:919
8530     break;
8531 
8532   case 2148:
8533 #line 3834 "DynareBison.yy" // lalr1.cc:919
8534     { driver.option_num("grid_nbr", yystack_[0].value.as < string > ()); }
8535 #line 8536 "DynareBison.cc" // lalr1.cc:919
8536     break;
8537 
8538   case 2149:
8539 #line 3835 "DynareBison.yy" // lalr1.cc:919
8540     { driver.option_num("tol_rank", yystack_[0].value.as < string > ()); }
8541 #line 8542 "DynareBison.cc" // lalr1.cc:919
8542     break;
8543 
8544   case 2150:
8545 #line 3836 "DynareBison.yy" // lalr1.cc:919
8546     { driver.option_num("tol_deriv", yystack_[0].value.as < string > ()); }
8547 #line 8548 "DynareBison.cc" // lalr1.cc:919
8548     break;
8549 
8550   case 2151:
8551 #line 3837 "DynareBison.yy" // lalr1.cc:919
8552     { driver.option_num("tol_sv", yystack_[0].value.as < string > ()); }
8553 #line 8554 "DynareBison.cc" // lalr1.cc:919
8554     break;
8555 
8556   case 2152:
8557 #line 3838 "DynareBison.yy" // lalr1.cc:919
8558     { driver.option_num("checks_via_subsets", yystack_[0].value.as < string > ()); }
8559 #line 8560 "DynareBison.cc" // lalr1.cc:919
8560     break;
8561 
8562   case 2153:
8563 #line 3839 "DynareBison.yy" // lalr1.cc:919
8564     { driver.option_num("max_dim_subsets_groups", yystack_[0].value.as < string > ()); }
8565 #line 8566 "DynareBison.cc" // lalr1.cc:919
8566     break;
8567 
8568   case 2154:
8569 #line 3842 "DynareBison.yy" // lalr1.cc:919
8570     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + ':' + yystack_[0].value.as < string > (); }
8571 #line 8572 "DynareBison.cc" // lalr1.cc:919
8572     break;
8573 
8574   case 2155:
8575 #line 3845 "DynareBison.yy" // lalr1.cc:919
8576     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + ':' + yystack_[0].value.as < string > (); }
8577 #line 8578 "DynareBison.cc" // lalr1.cc:919
8578     break;
8579 
8580   case 2156:
8581 #line 3848 "DynareBison.yy" // lalr1.cc:919
8582     { yylhs.value.as < pair<string,string> > () = { yystack_[2].value.as < string > (), yystack_[0].value.as < string > () }; }
8583 #line 8584 "DynareBison.cc" // lalr1.cc:919
8584     break;
8585 
8586   case 2157:
8587 #line 3850 "DynareBison.yy" // lalr1.cc:919
8588     { yylhs.value.as < pair<string,string> > () = { yystack_[2].value.as < string > (), "Inf" }; }
8589 #line 8590 "DynareBison.cc" // lalr1.cc:919
8590     break;
8591 
8592   case 2158:
8593 #line 3854 "DynareBison.yy" // lalr1.cc:919
8594     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + ':' + yystack_[0].value.as < string > (); }
8595 #line 8596 "DynareBison.cc" // lalr1.cc:919
8596     break;
8597 
8598   case 2159:
8599 #line 3856 "DynareBison.yy" // lalr1.cc:919
8600     { yylhs.value.as < string > () = "-(" + yystack_[3].value.as < string > () + ':' + yystack_[1].value.as < string > () + ")"; }
8601 #line 8602 "DynareBison.cc" // lalr1.cc:919
8602     break;
8603 
8604   case 2160:
8605 #line 3859 "DynareBison.yy" // lalr1.cc:919
8606     { yylhs.value.as < vector<int> > () = vector<int>{stoi(yystack_[0].value.as < string > ())}; }
8607 #line 8608 "DynareBison.cc" // lalr1.cc:919
8608     break;
8609 
8610   case 2161:
8611 #line 3862 "DynareBison.yy" // lalr1.cc:919
8612     { yylhs.value.as < vector<int> > () = yystack_[0].value.as < vector<int> > (); }
8613 #line 8614 "DynareBison.cc" // lalr1.cc:919
8614     break;
8615 
8616   case 2162:
8617 #line 3864 "DynareBison.yy" // lalr1.cc:919
8618     {
8619                  yylhs.value.as < vector<int> > () = vector<int>{};
8620                  for (int i = stoi(yystack_[2].value.as < string > ()); i <= stoi(yystack_[0].value.as < string > ()); i++)
8621                    yylhs.value.as < vector<int> > ().push_back(i);
8622                }
8623 #line 8624 "DynareBison.cc" // lalr1.cc:919
8624     break;
8625 
8626   case 2163:
8627 #line 3872 "DynareBison.yy" // lalr1.cc:919
8628     { yylhs.value.as < vector<int> > () = yystack_[0].value.as < vector<int> > ();}
8629 #line 8630 "DynareBison.cc" // lalr1.cc:919
8630     break;
8631 
8632   case 2164:
8633 #line 3874 "DynareBison.yy" // lalr1.cc:919
8634     { yylhs.value.as < vector<int> > () = yystack_[0].value.as < vector<int> > ();}
8635 #line 8636 "DynareBison.cc" // lalr1.cc:919
8636     break;
8637 
8638   case 2165:
8639 #line 3876 "DynareBison.yy" // lalr1.cc:919
8640     {
8641               yylhs.value.as < vector<int> > () = yystack_[1].value.as < vector<int> > ();
8642               yylhs.value.as < vector<int> > ().insert(yylhs.value.as < vector<int> > ().end(), yystack_[0].value.as < vector<int> > ().begin(), yystack_[0].value.as < vector<int> > ().end());
8643             }
8644 #line 8645 "DynareBison.cc" // lalr1.cc:919
8645     break;
8646 
8647   case 2166:
8648 #line 3881 "DynareBison.yy" // lalr1.cc:919
8649     {
8650               yylhs.value.as < vector<int> > () = yystack_[2].value.as < vector<int> > ();
8651               yylhs.value.as < vector<int> > ().insert(yylhs.value.as < vector<int> > ().end(), yystack_[0].value.as < vector<int> > ().begin(), yystack_[0].value.as < vector<int> > ().end());
8652             }
8653 #line 8654 "DynareBison.cc" // lalr1.cc:919
8654     break;
8655 
8656   case 2167:
8657 #line 3887 "DynareBison.yy" // lalr1.cc:919
8658     { yylhs.value.as < vector<int> > () = yystack_[1].value.as < vector<int> > (); }
8659 #line 8660 "DynareBison.cc" // lalr1.cc:919
8660     break;
8661 
8662   case 2168:
8663 #line 3888 "DynareBison.yy" // lalr1.cc:919
8664     { yylhs.value.as < vector<int> > () = yystack_[2].value.as < vector<int> > (); }
8665 #line 8666 "DynareBison.cc" // lalr1.cc:919
8666     break;
8667 
8668   case 2169:
8669 #line 3892 "DynareBison.yy" // lalr1.cc:919
8670     { yylhs.value.as < vector<string> > () = vector<string>{yystack_[0].value.as < string > ()}; }
8671 #line 8672 "DynareBison.cc" // lalr1.cc:919
8672     break;
8673 
8674   case 2170:
8675 #line 3894 "DynareBison.yy" // lalr1.cc:919
8676     { yylhs.value.as < vector<string> > () = vector<string>{yystack_[0].value.as < string > ()}; }
8677 #line 8678 "DynareBison.cc" // lalr1.cc:919
8678     break;
8679 
8680   case 2171:
8681 #line 3896 "DynareBison.yy" // lalr1.cc:919
8682     {
8683               yylhs.value.as < vector<string> > () = yystack_[1].value.as < vector<string> > ();
8684               yylhs.value.as < vector<string> > ().push_back(yystack_[0].value.as < string > ());
8685             }
8686 #line 8687 "DynareBison.cc" // lalr1.cc:919
8687     break;
8688 
8689   case 2172:
8690 #line 3901 "DynareBison.yy" // lalr1.cc:919
8691     {
8692               yylhs.value.as < vector<string> > () = yystack_[2].value.as < vector<string> > ();
8693               yylhs.value.as < vector<string> > ().push_back(yystack_[0].value.as < string > ());
8694             }
8695 #line 8696 "DynareBison.cc" // lalr1.cc:919
8696     break;
8697 
8698   case 2173:
8699 #line 3907 "DynareBison.yy" // lalr1.cc:919
8700     { yylhs.value.as < vector<string> > () = yystack_[1].value.as < vector<string> > (); }
8701 #line 8702 "DynareBison.cc" // lalr1.cc:919
8702     break;
8703 
8704   case 2174:
8705 #line 3908 "DynareBison.yy" // lalr1.cc:919
8706     { yylhs.value.as < vector<string> > () = yystack_[2].value.as < vector<string> > (); }
8707 #line 8708 "DynareBison.cc" // lalr1.cc:919
8708     break;
8709 
8710   case 2175:
8711 #line 3912 "DynareBison.yy" // lalr1.cc:919
8712     { yylhs.value.as < string > () = '[' + yystack_[0].value.as < string > (); }
8713 #line 8714 "DynareBison.cc" // lalr1.cc:919
8714     break;
8715 
8716   case 2176:
8717 #line 3914 "DynareBison.yy" // lalr1.cc:919
8718     { yylhs.value.as < string > () = '[' + yystack_[0].value.as < string > (); }
8719 #line 8720 "DynareBison.cc" // lalr1.cc:919
8720     break;
8721 
8722   case 2177:
8723 #line 3916 "DynareBison.yy" // lalr1.cc:919
8724     { yylhs.value.as < string > () = yystack_[1].value.as < string > () + ' ' + yystack_[0].value.as < string > (); }
8725 #line 8726 "DynareBison.cc" // lalr1.cc:919
8726     break;
8727 
8728   case 2178:
8729 #line 3918 "DynareBison.yy" // lalr1.cc:919
8730     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + ' ' + yystack_[0].value.as < string > (); }
8731 #line 8732 "DynareBison.cc" // lalr1.cc:919
8732     break;
8733 
8734   case 2179:
8735 #line 3922 "DynareBison.yy" // lalr1.cc:919
8736     { yylhs.value.as < string > () = yystack_[1].value.as < string > () + ']'; }
8737 #line 8738 "DynareBison.cc" // lalr1.cc:919
8738     break;
8739 
8740   case 2180:
8741 #line 3924 "DynareBison.yy" // lalr1.cc:919
8742     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + ']'; }
8743 #line 8744 "DynareBison.cc" // lalr1.cc:919
8744     break;
8745 
8746   case 2181:
8747 #line 3928 "DynareBison.yy" // lalr1.cc:919
8748     { yylhs.value.as < string > () = yystack_[2].value.as < string > () + ',' + yystack_[0].value.as < string > (); }
8749 #line 8750 "DynareBison.cc" // lalr1.cc:919
8750     break;
8751 
8752   case 2182:
8753 #line 3929 "DynareBison.yy" // lalr1.cc:919
8754     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8755 #line 8756 "DynareBison.cc" // lalr1.cc:919
8756     break;
8757 
8758   case 2183:
8759 #line 3933 "DynareBison.yy" // lalr1.cc:919
8760     { yylhs.value.as < string > () = yystack_[1].value.as < string > (); }
8761 #line 8762 "DynareBison.cc" // lalr1.cc:919
8762     break;
8763 
8764   case 2184:
8765 #line 3934 "DynareBison.yy" // lalr1.cc:919
8766     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8767 #line 8768 "DynareBison.cc" // lalr1.cc:919
8768     break;
8769 
8770   case 2185:
8771 #line 3938 "DynareBison.yy" // lalr1.cc:919
8772     { yylhs.value.as < string > () = '[' + yystack_[0].value.as < string > (); }
8773 #line 8774 "DynareBison.cc" // lalr1.cc:919
8774     break;
8775 
8776   case 2186:
8777 #line 3940 "DynareBison.yy" // lalr1.cc:919
8778     { yylhs.value.as < string > () = yystack_[1].value.as < string > () + ' ' + yystack_[0].value.as < string > (); }
8779 #line 8780 "DynareBison.cc" // lalr1.cc:919
8780     break;
8781 
8782   case 2187:
8783 #line 3944 "DynareBison.yy" // lalr1.cc:919
8784     { yylhs.value.as < string > () = yystack_[1].value.as < string > () + ']'; }
8785 #line 8786 "DynareBison.cc" // lalr1.cc:919
8786     break;
8787 
8788   case 2188:
8789 #line 3946 "DynareBison.yy" // lalr1.cc:919
8790     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8791 #line 8792 "DynareBison.cc" // lalr1.cc:919
8792     break;
8793 
8794   case 2189:
8795 #line 3947 "DynareBison.yy" // lalr1.cc:919
8796     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8797 #line 8798 "DynareBison.cc" // lalr1.cc:919
8798     break;
8799 
8800   case 2190:
8801 #line 3948 "DynareBison.yy" // lalr1.cc:919
8802     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8803 #line 8804 "DynareBison.cc" // lalr1.cc:919
8804     break;
8805 
8806   case 2191:
8807 #line 3949 "DynareBison.yy" // lalr1.cc:919
8808     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8809 #line 8810 "DynareBison.cc" // lalr1.cc:919
8810     break;
8811 
8812   case 2192:
8813 #line 3950 "DynareBison.yy" // lalr1.cc:919
8814     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8815 #line 8816 "DynareBison.cc" // lalr1.cc:919
8816     break;
8817 
8818   case 2193:
8819 #line 3951 "DynareBison.yy" // lalr1.cc:919
8820     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8821 #line 8822 "DynareBison.cc" // lalr1.cc:919
8822     break;
8823 
8824   case 2194:
8825 #line 3952 "DynareBison.yy" // lalr1.cc:919
8826     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8827 #line 8828 "DynareBison.cc" // lalr1.cc:919
8828     break;
8829 
8830   case 2195:
8831 #line 3953 "DynareBison.yy" // lalr1.cc:919
8832     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8833 #line 8834 "DynareBison.cc" // lalr1.cc:919
8834     break;
8835 
8836   case 2196:
8837 #line 3954 "DynareBison.yy" // lalr1.cc:919
8838     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8839 #line 8840 "DynareBison.cc" // lalr1.cc:919
8840     break;
8841 
8842   case 2197:
8843 #line 3955 "DynareBison.yy" // lalr1.cc:919
8844     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8845 #line 8846 "DynareBison.cc" // lalr1.cc:919
8846     break;
8847 
8848   case 2198:
8849 #line 3956 "DynareBison.yy" // lalr1.cc:919
8850     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8851 #line 8852 "DynareBison.cc" // lalr1.cc:919
8852     break;
8853 
8854   case 2199:
8855 #line 3957 "DynareBison.yy" // lalr1.cc:919
8856     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8857 #line 8858 "DynareBison.cc" // lalr1.cc:919
8858     break;
8859 
8860   case 2200:
8861 #line 3958 "DynareBison.yy" // lalr1.cc:919
8862     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8863 #line 8864 "DynareBison.cc" // lalr1.cc:919
8864     break;
8865 
8866   case 2201:
8867 #line 3959 "DynareBison.yy" // lalr1.cc:919
8868     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8869 #line 8870 "DynareBison.cc" // lalr1.cc:919
8870     break;
8871 
8872   case 2202:
8873 #line 3960 "DynareBison.yy" // lalr1.cc:919
8874     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8875 #line 8876 "DynareBison.cc" // lalr1.cc:919
8876     break;
8877 
8878   case 2203:
8879 #line 3961 "DynareBison.yy" // lalr1.cc:919
8880     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8881 #line 8882 "DynareBison.cc" // lalr1.cc:919
8882     break;
8883 
8884   case 2204:
8885 #line 3962 "DynareBison.yy" // lalr1.cc:919
8886     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8887 #line 8888 "DynareBison.cc" // lalr1.cc:919
8888     break;
8889 
8890   case 2205:
8891 #line 3963 "DynareBison.yy" // lalr1.cc:919
8892     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8893 #line 8894 "DynareBison.cc" // lalr1.cc:919
8894     break;
8895 
8896   case 2206:
8897 #line 3964 "DynareBison.yy" // lalr1.cc:919
8898     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8899 #line 8900 "DynareBison.cc" // lalr1.cc:919
8900     break;
8901 
8902   case 2207:
8903 #line 3965 "DynareBison.yy" // lalr1.cc:919
8904     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8905 #line 8906 "DynareBison.cc" // lalr1.cc:919
8906     break;
8907 
8908   case 2208:
8909 #line 3966 "DynareBison.yy" // lalr1.cc:919
8910     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8911 #line 8912 "DynareBison.cc" // lalr1.cc:919
8912     break;
8913 
8914   case 2209:
8915 #line 3967 "DynareBison.yy" // lalr1.cc:919
8916     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8917 #line 8918 "DynareBison.cc" // lalr1.cc:919
8918     break;
8919 
8920   case 2210:
8921 #line 3971 "DynareBison.yy" // lalr1.cc:919
8922     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8923 #line 8924 "DynareBison.cc" // lalr1.cc:919
8924     break;
8925 
8926   case 2211:
8927 #line 3972 "DynareBison.yy" // lalr1.cc:919
8928     { yylhs.value.as < string > () = yystack_[0].value.as < string > (); }
8929 #line 8930 "DynareBison.cc" // lalr1.cc:919
8930     break;
8931 
8932 
8933 #line 8934 "DynareBison.cc" // lalr1.cc:919
8934             default:
8935               break;
8936             }
8937         }
8938 #if YY_EXCEPTIONS
8939       catch (const syntax_error& yyexc)
8940         {
8941           YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
8942           error (yyexc);
8943           YYERROR;
8944         }
8945 #endif // YY_EXCEPTIONS
8946       YY_SYMBOL_PRINT ("-> $$ =", yylhs);
8947       yypop_ (yylen);
8948       yylen = 0;
8949       YY_STACK_PRINT ();
8950 
8951       // Shift the result of the reduction.
8952       yypush_ (YY_NULLPTR, YY_MOVE (yylhs));
8953     }
8954     goto yynewstate;
8955 
8956 
8957   /*--------------------------------------.
8958   | yyerrlab -- here on detecting error.  |
8959   `--------------------------------------*/
8960   yyerrlab:
8961     // If not already recovering from an error, report this error.
8962     if (!yyerrstatus_)
8963       {
8964         ++yynerrs_;
8965         error (yyla.location, yysyntax_error_ (yystack_[0].state, yyla));
8966       }
8967 
8968 
8969     yyerror_range[1].location = yyla.location;
8970     if (yyerrstatus_ == 3)
8971       {
8972         /* If just tried and failed to reuse lookahead token after an
8973            error, discard it.  */
8974 
8975         // Return failure if at end of input.
8976         if (yyla.type_get () == yyeof_)
8977           YYABORT;
8978         else if (!yyla.empty ())
8979           {
8980             yy_destroy_ ("Error: discarding", yyla);
8981             yyla.clear ();
8982           }
8983       }
8984 
8985     // Else will try to reuse lookahead token after shifting the error token.
8986     goto yyerrlab1;
8987 
8988 
8989   /*---------------------------------------------------.
8990   | yyerrorlab -- error raised explicitly by YYERROR.  |
8991   `---------------------------------------------------*/
8992   yyerrorlab:
8993     /* Pacify compilers when the user code never invokes YYERROR and
8994        the label yyerrorlab therefore never appears in user code.  */
8995     if (false)
8996       YYERROR;
8997 
8998     /* Do not reclaim the symbols of the rule whose action triggered
8999        this YYERROR.  */
9000     yypop_ (yylen);
9001     yylen = 0;
9002     goto yyerrlab1;
9003 
9004 
9005   /*-------------------------------------------------------------.
9006   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
9007   `-------------------------------------------------------------*/
9008   yyerrlab1:
9009     yyerrstatus_ = 3;   // Each real token shifted decrements this.
9010     {
9011       stack_symbol_type error_token;
9012       for (;;)
9013         {
9014           yyn = yypact_[yystack_[0].state];
9015           if (!yy_pact_value_is_default_ (yyn))
9016             {
9017               yyn += yyterror_;
9018               if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
9019                 {
9020                   yyn = yytable_[yyn];
9021                   if (0 < yyn)
9022                     break;
9023                 }
9024             }
9025 
9026           // Pop the current state because it cannot handle the error token.
9027           if (yystack_.size () == 1)
9028             YYABORT;
9029 
9030           yyerror_range[1].location = yystack_[0].location;
9031           yy_destroy_ ("Error: popping", yystack_[0]);
9032           yypop_ ();
9033           YY_STACK_PRINT ();
9034         }
9035 
9036       yyerror_range[2].location = yyla.location;
9037       YYLLOC_DEFAULT (error_token.location, yyerror_range, 2);
9038 
9039       // Shift the error token.
9040       error_token.state = yyn;
9041       yypush_ ("Shifting", YY_MOVE (error_token));
9042     }
9043     goto yynewstate;
9044 
9045 
9046   /*-------------------------------------.
9047   | yyacceptlab -- YYACCEPT comes here.  |
9048   `-------------------------------------*/
9049   yyacceptlab:
9050     yyresult = 0;
9051     goto yyreturn;
9052 
9053 
9054   /*-----------------------------------.
9055   | yyabortlab -- YYABORT comes here.  |
9056   `-----------------------------------*/
9057   yyabortlab:
9058     yyresult = 1;
9059     goto yyreturn;
9060 
9061 
9062   /*-----------------------------------------------------.
9063   | yyreturn -- parsing is finished, return the result.  |
9064   `-----------------------------------------------------*/
9065   yyreturn:
9066     if (!yyla.empty ())
9067       yy_destroy_ ("Cleanup: discarding lookahead", yyla);
9068 
9069     /* Do not reclaim the symbols of the rule whose action triggered
9070        this YYABORT or YYACCEPT.  */
9071     yypop_ (yylen);
9072     while (1 < yystack_.size ())
9073       {
9074         yy_destroy_ ("Cleanup: popping", yystack_[0]);
9075         yypop_ ();
9076       }
9077 
9078     return yyresult;
9079   }
9080 #if YY_EXCEPTIONS
9081     catch (...)
9082       {
9083         YYCDEBUG << "Exception caught: cleaning lookahead and stack\n";
9084         // Do not try to display the values of the reclaimed symbols,
9085         // as their printers might throw an exception.
9086         if (!yyla.empty ())
9087           yy_destroy_ (YY_NULLPTR, yyla);
9088 
9089         while (1 < yystack_.size ())
9090           {
9091             yy_destroy_ (YY_NULLPTR, yystack_[0]);
9092             yypop_ ();
9093           }
9094         throw;
9095       }
9096 #endif // YY_EXCEPTIONS
9097   }
9098 
9099   void
error(const syntax_error & yyexc)9100   parser::error (const syntax_error& yyexc)
9101   {
9102     error (yyexc.location, yyexc.what ());
9103   }
9104 
9105   // Generate an error message.
9106   std::string
yysyntax_error_(state_type yystate,const symbol_type & yyla) const9107   parser::yysyntax_error_ (state_type yystate, const symbol_type& yyla) const
9108   {
9109     // Number of reported tokens (one for the "unexpected", one per
9110     // "expected").
9111     size_t yycount = 0;
9112     // Its maximum.
9113     enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
9114     // Arguments of yyformat.
9115     char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
9116 
9117     /* There are many possibilities here to consider:
9118        - If this state is a consistent state with a default action, then
9119          the only way this function was invoked is if the default action
9120          is an error action.  In that case, don't check for expected
9121          tokens because there are none.
9122        - The only way there can be no lookahead present (in yyla) is
9123          if this state is a consistent state with a default action.
9124          Thus, detecting the absence of a lookahead is sufficient to
9125          determine that there is no unexpected or expected token to
9126          report.  In that case, just report a simple "syntax error".
9127        - Don't assume there isn't a lookahead just because this state is
9128          a consistent state with a default action.  There might have
9129          been a previous inconsistent state, consistent state with a
9130          non-default action, or user semantic action that manipulated
9131          yyla.  (However, yyla is currently not documented for users.)
9132        - Of course, the expected token list depends on states to have
9133          correct lookahead information, and it depends on the parser not
9134          to perform extra reductions after fetching a lookahead from the
9135          scanner and before detecting a syntax error.  Thus, state
9136          merging (from LALR or IELR) and default reductions corrupt the
9137          expected token list.  However, the list is correct for
9138          canonical LR with one exception: it will still contain any
9139          token that will not be accepted due to an error action in a
9140          later state.
9141     */
9142     if (!yyla.empty ())
9143       {
9144         int yytoken = yyla.type_get ();
9145         yyarg[yycount++] = yytname_[yytoken];
9146         int yyn = yypact_[yystate];
9147         if (!yy_pact_value_is_default_ (yyn))
9148           {
9149             /* Start YYX at -YYN if negative to avoid negative indexes in
9150                YYCHECK.  In other words, skip the first -YYN actions for
9151                this state because they are default actions.  */
9152             int yyxbegin = yyn < 0 ? -yyn : 0;
9153             // Stay within bounds of both yycheck and yytname.
9154             int yychecklim = yylast_ - yyn + 1;
9155             int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
9156             for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
9157               if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
9158                   && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
9159                 {
9160                   if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
9161                     {
9162                       yycount = 1;
9163                       break;
9164                     }
9165                   else
9166                     yyarg[yycount++] = yytname_[yyx];
9167                 }
9168           }
9169       }
9170 
9171     char const* yyformat = YY_NULLPTR;
9172     switch (yycount)
9173       {
9174 #define YYCASE_(N, S)                         \
9175         case N:                               \
9176           yyformat = S;                       \
9177         break
9178       default: // Avoid compiler warnings.
9179         YYCASE_ (0, YY_("syntax error"));
9180         YYCASE_ (1, YY_("syntax error, unexpected %s"));
9181         YYCASE_ (2, YY_("syntax error, unexpected %s, expecting %s"));
9182         YYCASE_ (3, YY_("syntax error, unexpected %s, expecting %s or %s"));
9183         YYCASE_ (4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
9184         YYCASE_ (5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
9185 #undef YYCASE_
9186       }
9187 
9188     std::string yyres;
9189     // Argument number.
9190     size_t yyi = 0;
9191     for (char const* yyp = yyformat; *yyp; ++yyp)
9192       if (yyp[0] == '%' && yyp[1] == 's' && yyi < yycount)
9193         {
9194           yyres += yytnamerr_ (yyarg[yyi++]);
9195           ++yyp;
9196         }
9197       else
9198         yyres += *yyp;
9199     return yyres;
9200   }
9201 
9202 
9203   const short parser::yypact_ninf_ = -3403;
9204 
9205   const short parser::yytable_ninf_ = -2208;
9206 
9207   const short
9208   parser::yypact_[] =
9209   {
9210     5536,   219,   309,  8603,  -182,   111,   -95,  -167,   -29,  9098,
9211      419,    -8,     3,   512,  9362,    -5,     6,   539,   569,     8,
9212       33, -3403,    35,  9410,    37,   712,    43,    47,   717,   720,
9213       48,   723,    62,    65,   997, 10086,  1045,  1059,    88,    97,
9214    -3403,  1093,   103,   106, 10496, 13626, 13626,   492, -3403, 10788,
9215     1096,  1098, 13626,    84,  1109, 10530,  1111,   549,  1115,  1119,
9216      128,  1121, 10565, 10604,  1128, 10638,   135, 10678,   145, -3403,
9217    13626, 10823, 13626, 13626, -3403, -3403, 13626,   147, 10711, 13626,
9218     1132,  1142,  1144,   153,   203,   330,   346,   377,  1146,   496,
9219     1159, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9220    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9221      503,  1174,   526, 10755,  1176,  1178,  1190,  1222,  1226,  1229,
9222    -3403,   534,   229,   536,   376,   553,   560,   563,   565,   576,
9223    10863,   420,  4973, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9224    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9225    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9226    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9227    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9228    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,   281, -3403,
9229    -3403,  1008, -3403, -3403,  1014, -3403, -3403, -3403, -3403, -3403,
9230    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9231    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9232    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9233    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9234    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9235      284,   445,  2737,   447,  3273, -3403,  2607,  3477, -3403,   311,
9236    -3403,  2519,  1424,   736, 13626, -3403,   456,  3582,   305, 13458,
9237    13458, 13626,  1066, -3403,  6395,  3937,  9128, 12007, 12034,  1133,
9238    -3403,  1420,  1017, 13626,  1375, -3403,  1621,  4262, 13626, 13626,
9239     1157,  1056, 13626, -3403,   487, 13626,  1161,  1150, 13626,   925,
9240    13458,  1081, -3403,  3566, -3403,  1094,   625,  2754, -3403, -3403,
9241    -3403,   899,   996, -3403, 13626,   471,   508, 13626, 13626, -3403,
9242     4232,  4441,  4889,  5001,   113,  1147,   628,  9938,  1032,  5235,
9243    -3403,   589, -3403, 14225,  5350, 13458,   414,  1061, -3403,  2626,
9244     5452, 13665,  1126,   684, -3403,  3945, -3403,  1532, -3403, -3403,
9245     2264, -3403,  6840,  5493, -3403,   613,  5562, -3403,  1086, -3403,
9246     7257,  5760,  1160, -3403,  6934,  5821, -3403,  5871,   257,  7195,
9247      170,  7339,   176,  7368,   192, 13626, 13626,  7429, -3403,   355,
9248    -3403,   566,  7453,  7485,   985, -3403,  1172, -3403,  1175, -3403,
9249     1177, -3403,   264, -3403,   274, 12155, -3403,  9828,   497, 13626,
9250     1195, 13626, -3403, 11750,   938, -3403,  3139,  7517, -3403,  2471,
9251    -3403, 11575, -3403,  1116, -3403,  1260, -3403,   134, -3403,  2379,
9252      764,   953, -3403,   633, -3403,  1125,   187,   187,  6728,  3832,
9253    -3403,  7544,   986, -3403, -3403, 12062, 13626, 12082, 12265, 10450,
9254    13388, -3403,  1415, -3403,  1417,  1428,  1430,  1440,  1455, -3403,
9255     1496,  1502,  1504, -3403,  1506,  1510,  1523,  1529, -3403,  1551,
9256      991, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9257    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  1538,  1570,
9258     1593, -3403,  1642,  1047, -3403, -3403, -3403,  1626, -3403,  1628,
9259    -3403, -3403,  1640, -3403, -3403,  1076,  1680, -3403, -3403, -3403,
9260    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9261    13626, -3403, -3403, -3403, -3403, -3403, -3403,  1085, -3403,  1670,
9262     1681,  1688,  1723,  1726,  1736,  1740,  1747, -3403,   166, -3403,
9263    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  1756,
9264     1760,  1762,  1764,   243, -3403, -3403, -3403, -3403, -3403, -3403,
9265    13626,   475, -3403,  1695,  1768, -3403, -3403, -3403,  1772, -3403,
9266     1781,  1783,  1785, -3403,  1790, -3403,  1792, -3403,  1232,  1819,
9267    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9268    -3403, -3403, -3403, -3403, -3403,  1247, -3403,  1255,  1256, 12299,
9269    -3403,  1836,  1262, -3403, -3403,  1841,  1844, -3403, -3403, -3403,
9270     1845,  1846,  1849, -3403, -3403,  1852,  1858,  1860, -3403,  1861,
9271     1863, -3403, -3403,  1864,  1865,  1868,  1873,  1879, -3403,  1882,
9272     1886,  1891,  1892, -3403, -3403, -3403,  1893,  1896,  1898,  1899,
9273     1909,  1912,  1915,  1918,  1920,  1923,  1947, -3403,  1949, -3403,
9274     1950,  1952,  1956,  1958,  1962, -3403, -3403,  1963,  1968,  1969,
9275     1972, -3403,  1973,  1982,  1983,  1988,  1989,  1992,  2002,  2006,
9276     2007,  2008, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9277    -3403,  2012,  2016, -3403,  2017, -3403,  2019,  2022,  2025, -3403,
9278    -3403,  2031,  2032, -3403,  2036,  2038, -3403,  2040, -3403,  2045,
9279    -3403, -3403, -3403,  2047,  2048,  2050,   255, -3403, -3403, -3403,
9280    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9281    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9282    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9283    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9284    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9285    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9286    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9287    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9288    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9289    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9290    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9291    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, 13626, -3403,
9292    13626,  9056, -3403,   273, -3403, 13626, 13626, 11803, -3403,  2071,
9293    13626, 13626, 11917, -3403,  2073,  1479, -3403,  2063,  2068, -3403,
9294    -3403,  1500,  2093, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9295    -3403,   123, 12649, -3403,  2099,  2080,  2090,  2096,  2104,  2105,
9296      258, -3403,   259, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9297     1516, 12723, -3403,  1549,  1564,  2143, 12748, -3403,  2166,  2150,
9298     2157,  2158,  2159,  2160,  2164,  2167,  2170, -3403, -3403, -3403,
9299    -3403, -3403,  2173,  2176,  2177,  2180,  2184,  2185,  2190,  1589,
9300     2211, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9301    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9302    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9303    -3403, -3403, -3403, -3403, -3403, 12768,  1616,  2194, 12791, -3403,
9304      177,  1627,  1629,  2198,  9742,  2203, -3403, -3403,  2207,  2210,
9305    -3403, -3403,  2213, -3403,  2214, -3403, -3403,   260, -3403, -3403,
9306    -3403,  2215,  1645,   499, 13458, -3403,  1641,   261, -3403, 13626,
9307    -3403,   545,  1647, 12811, -3403,  2257,  1667,  2267,   498, -3403,
9308     1672,  2270, -3403, -3403, 12831, -3403,  1682, 12865,  7220,  2260,
9309     2261,  2265,  2269, -3403,  2272,  2273,  2276,  2278,  2279, -3403,
9310    -3403, -3403, -3403, -3403, -3403,  2280,  2282, -3403,  2285,  2294,
9311    -3403,   279, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9312    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9313    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9314    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9315    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9316    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9317    -3403, 13626, -3403,   197,  1691, 12107,   837, -3403,  1725, -3403,
9318    -3403, -3403,  1694,  1734,  1735,  1741,  1748,  1749,  9938,  9938,
9319     1751,  1752,  1753,  1754,  1758,  1759,  1763,  1766,  1771,  1773,
9320     1775,  1777,  1778,  1780,  1782,  1787,  1788,  1789,  1793,  9938,
9321     2770, -3403,   -22,   834,  2301, -3403,   285, -3403, -3403, -3403,
9322     2336,  2338, -3403,  2348,  2357, -3403, -3403,  2359, -3403,   291,
9323    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9324    -3403, -3403, -3403, -3403, -3403, -3403, -3403,  1784, 13626, 13626,
9325      609, -3403, -3403,  1791,  2373,  2375, -3403,  2376,  2377, -3403,
9326     1803,  2401, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9327    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  2383,
9328    12531, -3403,  2387,  2389,   564, -3403, -3403,   297, -3403,  2390,
9329     2407,  2408,  2409,  2411,  1824,  2432, -3403, -3403, -3403, -3403,
9330    -3403,  5794,   298, -3403,  2413,  2414, -3403,   307, -3403, -3403,
9331    -3403, -3403, -3403, -3403, -3403, -3403,  2415,  2418,  2419,  2420,
9332     1847,  2442, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9333    -3403, -3403, -3403, -3403, -3403,  2423,  2425,  2428,   327, -3403,
9334    -3403, -3403, -3403, -3403,   351, -3403, -3403, -3403, -3403,  1335,
9335      507, -3403,  2430,  2434,   359, -3403, -3403, -3403, -3403, -3403,
9336    -3403,  2438,  2439, 13626, -3403,   206,  1691, -3403, 13626, -3403,
9337      215,  1691, -3403, 13626, -3403,   233,  1691, -3403,  7665, -3403,
9338     7717, -3403, 13626, -3403, -3403,  2440,  2441,  2444,  2446,  2447,
9339     2448,   360, -3403,  2453, -3403, -3403, -3403, -3403, -3403,  2454,
9340     2457,  2459, -3403,  2460,  2461,  2462, -3403, -3403, -3403,  2466,
9341     2467,  1894,  2490, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9342    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9343    -3403, -3403, -3403, -3403, 13626, -3403,  2163, -3403,  1895,  1903,
9344     1916,  2475,  2476,  2486,   361, -3403, -3403, -3403, -3403,   383,
9345     2494,  2495,  2498,   364, -3403, -3403, -3403, -3403,  2500,   368,
9346    -3403, -3403, -3403, -3403,  2504,  2507,  2509,  2511,  2512,  2514,
9347     2515,  2555,  2556,  2558,  2559,  2560,  2562,  2568,  2573,  2575,
9348     2578,  2579,  2581,  2583,  2584,  2585,  2586,  2588,  2589,  2590,
9349     2592,  2593,  2594,  2595,  2596,  2021,  2619, -3403, -3403, -3403,
9350    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9351    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9352    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9353    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9354    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  2601,
9355     2602,  2604,  2605,  2609,   369, -3403, -3403, -3403, -3403, -3403,
9356    -3403, -3403, -3403, 12910, -3403, 12182,  2612,  2030,  2613,  2614,
9357     2616,  2621,  2623,  2629,  2631,  2632,  2633,  2634, -3403,  2635,
9358    -3403,  2636,  2637,  2639,  2640, -3403,  2641,  2642,  2643,  2648,
9359     2650,  2651,  2652,  2654,  2657,  2658,  2660,  2661,  2663,  2665,
9360     2666,  2667,  2668,  2670,  2671,  2672,  2673,  2674,  2675,  2676,
9361     2677,  2681,  2682,  2683,  2646,  2107, -3403, -3403, -3403, -3403,
9362    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9363    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9364    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9365    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9366    -3403, -3403, -3403, -3403,  2686, -3403, -3403,  2690,  2691,  2692,
9367     2697,  2698,  2699,  2700,  2702,  2703,  2705, -3403,  2706,  2727,
9368     2137, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9369    -3403, -3403, -3403, -3403, -3403, -3403, -3403,  2735,  2139, -3403,
9370    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9371    -3403, -3403, -3403,  2718, -3403,  2719,  2722,  2723,  2725,  2729,
9372     2731,  2733,  2738,  2739,  2740,  2741,  2742,  2744,  2745,  2746,
9373     2747,  2175, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9374    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9375    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9376    -3403, -3403, -3403, -3403, -3403, -3403, -3403,  2753,  2755, -3403,
9377     2756,  2774,  2182, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9378     2760,  2761,  2763,  2772, -3403,  2790,  2196, -3403, -3403, -3403,
9379    -3403, -3403, -3403, -3403, -3403, -3403,  2794,  2200, -3403, -3403,
9380    -3403, -3403,  2775,  2801,  2205, -3403, -3403, -3403, -3403, -3403,
9381    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,   120,
9382     2784,  2785,  2789,  2791,  2793,  2795,   370, -3403, -3403, -3403,
9383    -3403, -3403, -3403, -3403,  2571, -3403, -3403,  2797,   373, -3403,
9384    -3403, -3403, -3403, -3403,  2799,  2803,  2804,  2806,   375, -3403,
9385    -3403, -3403, -3403, -3403,  2808,  2809,   378, -3403, -3403, -3403,
9386      400,  2811,  2812, -3403,  2813, -3403,  2815,  2816, -3403, -3403,
9387     2818,  2819, -3403, -3403,  2217,  2821, -3403, -3403, -3403, -3403,
9388    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9389    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9390    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9391    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9392    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9393    -3403, -3403, -3403, -3403,  2824, -3403,  2825, -3403,  2827,  2828,
9394    -3403, -3403, -3403,  2253,  2851, -3403, -3403, -3403, -3403, -3403,
9395    -3403, -3403, -3403, -3403, -3403,  2256,  2262,  2258,  2255,   426,
9396    -3403,  2840,  2266,  2268,  2274,  2259,  2271,  2275,  2277,  2263,
9397    -3403,  2281,  2297,  2298,  2299, -3403, 10450, 10450,  2302,  2305,
9398     2310,  2311,  2312,  2314,  2315,  2316,  2318,  2319,  2320,  2321,
9399     2322,  2323,  2325, 10450,  4799, -3403,    36, -3403, -3403,  2326,
9400      396,  2329,   499,  1129,   499,  2776,  1129,  2781, 13458,  2783,
9401      275,  2787,  2837, 13626, 13626,  2737,  2841,  2847,   499,  2848,
9402     3273,  2849,  2343,   499,  1189, 10903,  2607, -3403, 13626,  2856,
9403     2857,  2858,   499,   499,  2861,   499,  2862,  2519,  2332,   499,
9404     2358,  2863,  2871,  1424,  2364,  2367,  2369, -3403, 13626, 13458,
9405      768,  1083,  1017,  1017, 13626,  2878, 10936,   456, -3403, 10971,
9406    11013,  2371, -3403, 10450,  2378,  2885,  2630,   499, 13626,   499,
9407      499,   499,  2887, 13458,   275,  1091,   275,  2889,  2382,   499,
9408     2893,   499,  2894,  2895,   647,   499,   499,   499,   499,   499,
9409      499,   499,  2896,  2897,  2898,  2900,  1271,  2906,  2912,  8220,
9410    13458,  2915,  2343,  2405,  2405, 13196,  2917,   328,   499,  1152,
9411     1283,  2922, 13626,  1322,  1355,  2435,  2924,  2963,   499,   652,
9412     2965,  1457,   499,  2966,   597,  2463,  2968,  2969,   499,  2971,
9413     6395, 11046,  3057, -3403,  2465, -3403,   760, -3403,  3061,  3064,
9414     2470, -3403, 10450,  3066,  3067,  2474, -3403, 10450,  2477,  2984,
9415     2986,  2482,  1420,  2991,  2484,  2485, -3403, 10450,  2835,  2839,
9416     2854,  2860,  2874,  1375,  2491,  1621, 11085,  2501,  2510, -3403,
9417      825,  2526, 13458,  2532, -3403, 10450,  1129,  3015,  3017,   825,
9418     3041,  3069,  9721,  3070,  3072,  3073,   499,   499,   499,  3074,
9419     3075,  2549,   487,  2569,  2572, 13458,  2574, -3403, 13626,  3076,
9420     2576,  2580, -3403,  2982, 13626,  9288, -3403,  1284, -3403,   499,
9421      499,  2577,  3081,  2600,  3566,  2617,   477, 13458,  2618,  2615,
9422      499, -3403,  2625,  2627,  2628, -3403,  2638,  2644, -3403, 13626,
9423    -3403, 13626,  2645, -3403,  2653,   508,  2659, -3403, 10450,  2662,
9424     7250, 13626,  4828,   499,  3083,  3087, 13407,   499,  3089,  3122,
9425      499,  3127,   499,  3129,  3131,  3134,  4232, 11121,   246,  1691,
9426    -3403, -3403, 13626, -3403,  3204,  7862, -3403, -3403, -3403,  9938,
9427     9938,  9938,  9938, 13626, 13626,  2876,  2876,  9938,  9938,  9938,
9428     9938,  9938,  9938,  9938,  9938,  9938,  9938,  9938,  9938,  9938,
9429     9938,  9938,  9938,  9938,  9938,   825,  3887,  9938,  9938,  9938,
9430     9938,  9938,  9938,  9938,  9938,  9938,  9938,  9938,  2664, 13626,
9431     2669, -3403, -3403, -3403,  3140,   589,  2678,   499,   499,  3141,
9432      499,  3142, 14225,  2679,  2680,  3230,   490,  2695, -3403,  2708,
9433     1244,  3144, 13626, 13626, 11161,  2626, 13626,  2709, -3403, 13626,
9434    13626,   499,   499, 10450,   -18,   584, -3403, -3403,  3945,  2712,
9435    13458,  2724, 13458,  2726,  3145,  2730,  1532, 13626,  9336, -3403,
9436     3215,  2264,  2732,   499,  2343,  6840, 11194,  3150,  3154,  3159,
9437     2343, 11229,   613,  2736, 10450,  2937,  1086,  2734,  7257, 11271,
9438    10450, 10450, 10450, 10450,  2743, -3403,  3166,   499,  6934, 11311,
9439    -3403, -3403,   271,  1691, -3403, -3403,   301,  1691, -3403, -3403,
9440      342,  1691, -3403, -3403, 13626, -3403, -3403, 13626, -3403, -3403,
9441    -3403, -3403, 13626, 10450, 13626, 13626,  3169,   355,  2748, 13458,
9442     1212,  3171,  3174,  1104,  1017,  1017, 13626,  3175, 11343,   566,
9443     2964, -3403,  2752,  2757,  2759, 13626,  3177,  2720,   264, 11379,
9444     3248,  3250,  3252, -3403,  3256,   429, -3403, -3403, -3403, -3403,
9445    -3403, -3403, 13626,  2720,  2720,   274,  2764, 13458, 12155,  2788,
9446     3201,  3214,  3234,  3239,  3241,  3246,  3249,  3253,  3255,  3261,
9447     3263,  3264,  3271,   499,  3293,  2786,   499,   499,  2792,  2800,
9448     2802,  3295,  3298,  2814,   499,  3299,   499,   499,   499,   499,
9449      499,  2798,  9828, 13458, 13626,  1017,  1017,  3300,   497,  2807,
9450     2822, -3403, 13626,  2823, 13626,  2826,   308,  3302,  3303,  3310,
9451     3312, 13458,  3317,  2817,  3320,   334,  3321,  3324,  3327,  3332,
9452     3335,   499,   499,  3336,  3339,  3340,  3343,  3344,  3347,   499,
9453     3348,  3359,  3361,  3362,  3363,  3364,  3365,  3367,  3370,  3371,
9454     3373,  3375,  3376,  3377,  3380,  3383,  3384,  3385,  2405, 11750,
9455     2879, -3403,  3386, 13458,  3388, 13458, 13458,  2405,  3389,  3391,
9456     2405,  1129,  3394,  3139, 11419,  2471,  2888,   122,   499,   499,
9457      499,  3395,   499,  3397,  3398,   499,   499,  3410,  3412,  3413,
9458     3414,   499,   499, 11575,  2907,  3418,  3421,  3422,  1116,  2916,
9459     3425,  1129,  1129,  3428,  1260,  2921,   134,  2923,  3430,  2379,
9460     2925,  2844,    79,  2926,  2929,   469, -3403,  2927,  2930,  3432,
9461      435,  3440,  3442,   953,  2936, -3403,   524, -3403,   275,   633,
9462     2939, 13720,  3445, 13720, 13720,  1125,  2941, 13458,  3446,   187,
9463     2945,  2946,  3448,  3455,   275,  3456, 13028,  3457,  3458, 11453,
9464     6728,  3459,   275,  3460, 13130, 11491,  3832,  2952, 13626, 13626,
9465    -3403,  3236, 13626,  2972,  1017, 13626, 13626, -3403, 13694, 13626,
9466    13626, -3403, 13550, 10450, 10450, 10450, 10450,  2990,  2990, 10450,
9467    10450, 10450, 10450, 10450, 10450, 10450, 10450, 10450, 10450, 10450,
9468    10450, 10450, 10450, 10450,  4075, 10450, 10450, 10450, 10450, 10450,
9469    10450, 10450, 10450, 10450, 10450, 10450, -3403,  2973,  1537,  2974,
9470      294, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9471      479, -3403,   209, -3403, -3403, -3403, -3403, -3403,  2976, -3403,
9472     2977, -3403, -3403, -3403, -3403,  2978, -3403, -3403, -3403, -3403,
9473    -3403, -3403, -3403, -3403, -3403, -3403,  7744, -3403,  7782, -3403,
9474    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9475    -3403, 13626, -3403, -3403, -3403, -3403,  3341, -3403,  2967, -3403,
9476    -3403, -3403, -3403, -3403, -3403, -3403, -3403,   773, -3403,  3235,
9477     3235, -3403, -3403, -3403,  7810, -3403, -3403,  7838, -3403,  7895,
9478    -3403,  5388, 13626, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9479    -3403, -3403, -3403, -3403,   773, -3403, -3403, -3403, -3403, 13626,
9480    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9481    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9482    -3403,  1068,  1095, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9483    -3403, -3403, -3403,  1314,   262, -3403, -3403, -3403, -3403, -3403,
9484    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9485    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  3328,
9486    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9487    -3403, -3403, -3403,  3334, -3403, -3403, -3403, -3403, -3403, -3403,
9488     7927, 13626, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9489    -3403,  5609,  3578,  2989,  3581, 13626, 10450, -3403,  1168, 13626,
9490    10450, -3403,  8069, 11965, -3403, -3403, -3403, -3403, -3403, -3403,
9491    -3403,  2540, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9492    -3403,  8013, 13433, -3403, -3403,  3508,  3510,  3003, 13626,  3004,
9493    -3403,  1240, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9494    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9495    -3403, 13626,  3005, -3403,  3603,    15,  3007, 13626, -3403,  9938,
9496     3586,   235, -3403,  3589,  3016, -3403, -3403,  9938, -3403, -3403,
9497    -3403, 13626, -3403, 13458, -3403, -3403, -3403, -3403,  3210, -3403,
9498      499,  3013, -3403, -3403,  3387, -3403,   899, -3403,   250,   288,
9499     3593, -3403,   530, -3403, -3403,  4120, -3403, 13626,  9162, 10450,
9500    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9501    -3403, -3403, -3403, -3403, -3403, -3403, -3403,  8040,  1691, -3403,
9502    -3403, -3403,  3372, -3403, -3403,  2750,  2859,  4258,  4302,  3019,
9503     3020,  4425,  4568,  4600,  4736,  4869,  4881,  5013,  5556,  5793,
9504     5936,  5978,  5995,  2940,  6026,  6068,   903,  1064,  6134,  3023,
9505    -3403,  3247,  3247,   909,   909,   909,   909,   805,   805,  2876,
9506     2876,  3272, -3403, -3403,  9938,  3025, -3403, -3403, -3403, -3403,
9507    -3403, -3403, -3403, -3403, -3403, -3403, 13626, 13626, 10450,   296,
9508    -3403,   414, -3403, -3403, -3403, -3403, -3403, -3403,  8070, -3403,
9509     8122, -3403, -3403,  8161,  3026, -3403, -3403,  6315,   564,  3029,
9510      608, 10450, -3403, -3403, -3403, -3403, 13626, -3403, 13626, -3403,
9511    -3403, -3403,   554,  3030, -3403, 10450, -3403, -3403, -3403, -3403,
9512    -3403, -3403,  8188, -3403, -3403, -3403, -3403, -3403,  8305, -3403,
9513    13626,  3149, -3403, -3403, -3403, -3403, -3403,  8337,  9706, 10059,
9514    10238, 10567, -3403, -3403, -3403, -3403, -3403,  8380,  9938,  9938,
9515     1691, -3403, -3403,  1691, -3403, -3403,  1691, -3403, -3403, -3403,
9516    -3403,  9938, -3403,  3149, -3403, -3403,  3027, -3403, -3403, -3403,
9517    -3403, -3403, -3403, -3403, -3403, -3403,   773, -3403,  3235,  3235,
9518    -3403, -3403, -3403,  8419, -3403, -3403, -3403, -3403, -3403, -3403,
9519    -3403,   504,   231, -3403, -3403, -3403,  8455, -3403, 13626, 13626,
9520    13626,  3606, 13315,   383,  3034, -3403, -3403, -3403, -3403, -3403,
9521    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9522    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  1271,   547,
9523    -3403, -3403, -3403,  2938,  2938,  2938, -3403, -3403,  2938, -3403,
9524    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9525     3235,  3235, -3403, -3403, -3403, -3403,  3035, -3403,  3055, -3403,
9526    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, 13626,
9527    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9528    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9529    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9530    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  9938,
9531    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9532    -3403, -3403, -3403,  8482, -3403, -3403, -3403, -3403, -3403, -3403,
9533    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9534    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9535    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9536    -3403,  3544,  3545,  3058, -3403, -3403,  3059, -3403, 13626,   303,
9537    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  3635,
9538     3063, -3403, -3403, -3403, -3403, -3403, -3403,  3065, -3403, -3403,
9539    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9540    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9541    -3403,  8528, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9542    -3403, -3403,  8567, -3403,   619,  3665,  3085, -3403, -3403,   148,
9543     3666,  3099,  3071,  3095,  3671,  3101, -3403,  3097,  2953,  2970,
9544     6364,  6403,  6424,  6436,  6469,  6484,  6538,  6895,  7365,  7392,
9545     7658,  7687,  7713,  7785,  8045,  1100,  1123, -3403,  3534,  3534,
9546     1208,  1208,  1208,  1208,   879,   879,  2990,  2990,  3272, 10450,
9547     3658,  3680,  3685,   430, -3403, -3403, -3403, -3403,   699,  3110,
9548     3687,  3621,  3108, -3403, -3403,   234, -3403, -3403, 13626, -3403,
9549    -3403, -3403, 13626, -3403, -3403,   862,  3623,  3111, -3403,   432,
9550    -3403, -3403, -3403, -3403, 12982,   433,   902, -3403, -3403,  1129,
9551    -3403,   440, -3403, -3403,  3712, -3403,   434,  3714, -3403,   438,
9552    -3403, -3403,   760, -3403, 10450,  3715,  3098, 10450,  3716, 10675,
9553    -3403,  3123, 11988, 10450, -3403, -3403,  3121,   451,  3119, -3403,
9554    -3403,  3702, 13089,  3128, 10450, -3403, 13289,  3130,   228,  3724,
9555     3639,  3727, 13347,  8085,  3482,  2982,  9938,  9938, -3403, 10827,
9556      937, -3403,   439,  9742, -3403,  3132, -3403,  3623,   607,   228,
9557      961, 13626, -3403,  1129,  3137,   533,  3158, 10450, -3403, 11086,
9558    -3403, -3403, -3403,  9938,  9938, -3403, -3403, -3403, -3403, -3403,
9559    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9560    -3403,  3488, -3403, -3403,  9938, -3403,  9938, -3403, -3403,  3160,
9561     2770,   444, 13626,  3717,  3720, 11344, 10450,   622, -3403, 13626,
9562    -3403, -3403, -3403,  3163, -3403,   584, -3403, 10450, -3403,  8191,
9563      959,  1054,  3734, -3403, 11487, -3403, -3403,  1136, -3403, -3403,
9564    -3403, -3403, -3403, -3403,  8230,  8329, -3403, -3403, -3403,  2770,
9565      441,   446, -3403,  3489, -3403,   172, -3403, -3403, 13626, -3403,
9566    -3403, -3403, -3403, -3403,  9938, -3403, -3403, -3403, -3403, -3403,
9567    -3403, -3403, -3403, 12225,  3162,  3165,  3168,  3182, -3403,  3185,
9568       77,  1171,  8345, -3403,  3736,  3186, -3403, -3403,   578, -3403,
9569      242, 10450, -3403, -3403, -3403,  3735,  3740,  3743,  3762,  3763,
9570     3765,  3768,  3769,  3770,   448, -3403, -3403, -3403, -3403, -3403,
9571    -3403, -3403, -3403, -3403, -3403, -3403, 13626,  3189,  1017, 13626,
9572     3190,  3352, 13626,  3193,  3696, 10450, 10450, -3403, -3403, -3403,
9573    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9574    -3403, -3403, 10450, -3403, 10450, -3403,  3149,   454,  2786,   499,
9575     1129,  1537,  3202,  3778,  3781,   455, -3403, -3403, -3403, -3403,
9576    -3403, -3403, -3403, -3403, -3403, -3403, -3403,  1537,  3206, -3403,
9577     3719, -3403, -3403, -3403, -3403, -3403,  3203,   319, 13509,   773,
9578    -3403,  3208, -3403, -3403, -3403, -3403, -3403,  1675,  3328, -3403,
9579     1463,  3334, -3403,  3149,  3817,  3819,  3820, -3403, 10450, 10450,
9580    11694, 10450, -3403, -3403,  3226, 11721,  1537,  3229,   320, 10450,
9581     3227, -3403, 11909,  3233, -3403, -3403, -3403, 10450,  3237, 13626,
9582    -3403, 13626,  3240, 13626, -3403, -3403,  1325, 11931, -3403, -3403,
9583    13458, -3403,  9315, -3403,   340,  3242,  3243,   310,    59,  3257,
9584     3811, -3403, -3403,  3244, -3403, 11980, -3403,  8452,  8491,   458,
9585     3213,  3345,  9938,  9938, -3403,  8677, 10450, 10450, -3403, 12030,
9586     3251, -3403, 13665,  8640, -3403, -3403, -3403, 10450, -3403, -3403,
9587    13626, 13626, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  2770,
9588    -3403, -3403, -3403, -3403, 13626,   382,  3351,   384, -3403, -3403,
9589    13626, -3403,  3354, -3403,  2405, -3403, 12212,  1129,  2405,   499,
9590     2930,  1129,  2405,  2354,  2405,  2405,   619,  3258,  3259,  3746,
9591     3235,  3262, 13839, -3403,  3268, 13575, -3403,  8716,  9019,  3403,
9592     3429, 10450, -3403, -3403, -3403, -3403, -3403, -3403,  1129, 10450,
9593      699,  3260,   460,   699, -3403,  3760,  3771,  3265,  3560, -3403,
9594     3276,   488,  3266, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9595    -3403, -3403,  3640, -3403, -3403, -3403, 10450, 10450, 10450,  3469,
9596    12289, -3403, 12330, -3403, -3403,   462,   699,  3291,  3868, 12404,
9597    -3403, -3403, -3403,  3786, -3403,  3852,  3889, -3403,  8713,  3591,
9598     9938, -3403, -3403, -3403,  3296,  3585, -3403, -3403,   825,  3893,
9599      825,  3896,  1129, -3403, -3403, -3403, -3403,   292, -3403,  9938,
9600     9938,  9233,  2770, -3403, 12429, 12455, -3403, -3403, 12606, -3403,
9601    12472,  8747,   350,  8786, 13367,  3393,  3323,  3325,  3812,  3331,
9602    -3403,  8825,  3628,  9890,  3833,  3438, -3403, -3403, -3403, -3403,
9603    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
9604    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  3330,  3333,
9605     3071,  3338,  3342, -3403,  3350, -3403, -3403, 10450, 10450,  3149,
9606    -3403,  3149, -3403, -3403,  3346,   465, -3403,  3329,  3835,  1194,
9607     1537,  3337,   372,  3934, -3403,   466,  3936, -3403,  3938, 10450,
9608    -3403, -3403,  3358,   468,  1537,  3349, -3403, 10450,   228,   228,
9609    13626, -3403,  3643, -3403, 12497, -3403,  1194,  3353,   228, -3403,
9610      228, -3403,  3360,  3366,  9357,  9471, -3403, -3403, -3403,  3369,
9611    -3403, 13626, -3403,   358,  1691, -3403, -3403,  3374,  3382,  3378,
9612      389,  1372, 13626, 13626,  3390, -3403, 13626, -3403,  3644, -3403,
9613    10271, 10306,  3392,  4212,  3935,  9890, -3403,  3956,  3871,  3860,
9614    13884,  3520, 13863,  3862,  9530,  9654, -3403,  3399,  3878, -3403,
9615    10450,   624, -3403,   481,   699,  3396,  3946,  1071,  3640, -3403,
9616      639, 10450, 12515, -3403,  3400,   482,   699,  3751,  3401,  3402,
9617     3668, -3403, -3403,   751,   825,  3404,  3405, -3403, -3403, -3403,
9618    -3403, -3403,   552,  1691, -3403, -3403, -3403, 13626, -3403,   505,
9619     3393,  3393, 10450, 10450,  3968,  3406,  3480,  3681, -3403,  3431,
9620     3433, 13626, 10413, -3403,  4212, -3403, 13626,  3979,  3071,  3379,
9621    -3403, -3403,  3381, -3403, -3403, -3403, -3403, -3403, 10094,  1612,
9622    -3403, 10450, -3403,  3407,   483,  1537,  3434, -3403, -3403, -3403,
9623     3982,  3984, -3403, -3403,  3437,   484, -3403, -3403, -3403, -3403,
9624    -3403,  3436, -3403, -3403,  1691, -3403, -3403,  3986, -3403, -3403,
9625    -3403,  3970,  3978,  2076,  2076, 13626,  3496,  3439,  3480, -3403,
9626    -3403, 13626, 13626,  4025,  3447,  9890,   352, -3403, 13626,  3587,
9627     3941, -3403, 10450, -3403, 10124, -3403,  3443,   485,   699, 10450,
9628    10450, -3403,  3453, -3403, -3403, 13626,   505,   505,  3452,  3461,
9629     3463,   397,  1480, 13626, -3403,  4034,  4051,  3965, 13626,  3464,
9630    13626, -3403,   405, -3403, -3403, 10201, -3403, -3403,  3465,   486,
9631    -3403,  4053, -3403,  4054, -3403, -3403,  4036, 13626, -3403,   505,
9632     3496,  3496, 10450, 10450,  3466,  3977,  3980,  3468,  4066, -3403,
9633    -3403, -3403, -3403, -3403,  3474, 10450,  3987,   436,  4073, -3403,
9634     4055,  4057,  2076,  2076, 13626,  3481,  3484, -3403,  3992, -3403,
9635     3149,  3485, 13626,  3490,  3996,   505,   505,  8864, -3403, -3403,
9636     3504, -3403,  4086, -3403,  3505, -3403, -3403, -3403, -3403, 13626,
9637    -3403,  3506,  3511, -3403
9638   };
9639 
9640   const unsigned short
9641   parser::yydefact_[] =
9642   {
9643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9645        0,  2209,     0,     0,     0,     0,     0,     0,     0,     0,
9646        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9647     2188,     0,     0,     0,     0,     0,     0,     0,  1125,     0,
9648        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9649        0,     0,     0,     0,     0,     0,     0,     0,     0,  2208,
9650        0,     0,     0,     0,  1031,  1036,     0,     0,     0,     0,
9651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9652        0,  2189,  2190,  2192,  2191,  2193,  2194,  2195,  2196,  2197,
9653     2198,  2199,  2200,  2201,  2202,  2203,  2204,  2206,  2205,  2207,
9654        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9655      464,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9656        0,     0,     0,     2,    47,    48,    90,    92,     5,    33,
9657       35,    34,   115,    36,    26,     6,     7,     8,     4,     9,
9658       10,    11,    17,    13,    14,    15,    16,   106,    32,   116,
9659       12,    18,    84,    85,    86,    87,    19,    20,    21,    22,
9660       56,   107,   108,   111,   112,   109,   110,    23,    88,    24,
9661       27,    29,    28,    51,    30,    31,    39,    40,     0,    37,
9662       38,     0,    41,    42,     0,    25,    43,    45,    44,    46,
9663       49,    50,    52,    53,    54,    69,    70,    71,    55,    57,
9664       58,    59,    60,    61,    62,    72,    73,    74,    75,    76,
9665       77,    78,    79,    80,    63,    64,    65,    99,    97,    98,
9666       96,    95,    94,    93,    66,    67,    68,    81,    83,    82,
9667       89,   100,    91,   101,   102,   103,   104,   105,   113,   114,
9668        0,     0,     0,     0,     0,  1555,     0,     0,   736,     0,
9669      541,     0,     0,     0,     0,  1180,     0,     0,     0,     0,
9670        0,     0,     0,   891,     0,     0,     0,     0,     0,     0,
9671     1587,     0,     0,     0,     0,  1524,     0,     0,     0,     0,
9672        0,     0,     0,  1071,     0,     0,     0,     0,     0,     0,
9673        0,     0,   385,     0,  1112,     0,  1119,     0,  1111,   547,
9674      551,     0,     0,  1597,     0,     0,     0,     0,     0,  1061,
9675        0,     0,     0,     0,   268,     0,     0,     0,     0,     0,
9676      552,     0,   558,     0,     0,     0,     0,     0,  1168,     0,
9677        0,     0,     0,     0,   659,     0,  1614,     0,  1549,   529,
9678        0,   672,     0,     0,  1172,     0,     0,  1128,     0,  1130,
9679        0,     0,     0,  1142,     0,     0,  1141,     0,     0,     0,
9680      232,     0,   244,     0,   256,     0,     0,     0,   280,     0,
9681     1176,     0,     0,     0,   283,  1161,     0,  1163,     0,  1165,
9682        0,  1167,     0,   157,     0,     0,  1393,     0,     0,     0,
9683        0,     0,  1265,     0,     0,  1319,     0,     0,  1283,     0,
9684     1391,     0,  1352,     0,  1341,     0,  1329,     0,  1301,     0,
9685        0,     0,   357,     0,   487,     0,     0,     0,     0,     0,
9686     1184,     0,     0,     1,     3,     0,     0,     0,     0,     0,
9687        0,  1205,     0,  1882,     0,     0,     0,     0,     0,  1826,
9688        0,     0,     0,  1827,     0,     0,     0,     0,  1193,  1204,
9689        0,  1194,  1199,  1197,  1200,  1198,  1195,  1196,  1201,  1202,
9690     1186,  1187,  1188,  1189,  1190,  1191,  1192,  1213,     0,     0,
9691        0,  1207,  1212,     0,  1209,  1208,  1210,     0,  1809,     0,
9692     1795,  1829,     0,  2033,  2034,     0,  1560,  1563,  1566,  1564,
9693     1565,  1561,  1568,  1572,  1573,  1562,  1569,  1571,  1567,  1570,
9694        0,  1557,   734,   288,   289,   290,   291,     0,  1947,     0,
9695        0,     0,     0,     0,     0,     0,     0,   545,     0,   544,
9696      533,   538,   540,   537,   546,   534,   535,   536,   539,     0,
9697        0,     0,     0,     0,  1536,  1539,  1538,  1540,  1541,  1542,
9698        0,     0,  1546,     0,     0,  1869,  1856,  1852,     0,  1876,
9699        0,     0,     0,  1747,     0,  1874,     0,  1760,     0,  1504,
9700     1511,  1517,  1512,  1518,  1506,  1507,  1513,  1505,  1509,  1510,
9701     1508,  1514,  1515,  1516,  1182,     0,   117,     0,     0,     0,
9702      349,     0,     0,  1831,  2080,     0,     0,  1799,  2024,  1956,
9703        0,     0,     0,  2092,  2093,     0,     0,     0,  2082,     0,
9704        0,  1713,  1734,     0,     0,     0,     0,     0,  1811,     0,
9705        0,     0,     0,  1793,  1794,  1797,     0,     0,     0,     0,
9706        0,     0,     0,  1777,     0,     0,     0,  1828,     0,  1786,
9707        0,     0,     0,     0,     0,  1807,  1808,     0,     0,     0,
9708        0,  1824,     0,     0,     0,     0,     0,     0,     0,     0,
9709        0,     0,  2089,  2088,  1746,  1798,  1733,  1735,  1736,  1885,
9710     1886,     0,     0,  1832,     0,  1781,     0,  1802,     0,  1810,
9711     1806,     0,     0,  1804,     0,     0,  2032,     0,  2035,     0,
9712     2136,  2137,  2138,     0,     0,     0,     0,   896,   949,   955,
9713      976,   935,   964,   979,   897,   998,   999,   898,   962,   899,
9714     1003,  1005,   900,   901,   902,   903,   904,   905,   906,   907,
9715      908,   909,   910,   986,   911,   912,   913,   914,  1004,  1001,
9716     1002,   915,   916,   917,   918,   919,   921,   920,   922,   923,
9717      924,   925,   926,   927,   928,   930,   931,   933,   934,   936,
9718      937,   938,   939,   940,   941,   932,   942,   943,   944,   945,
9719      946,   947,   948,   980,   981,   983,   982,   950,   951,   952,
9720      953,   954,   956,   957,   965,   966,   967,   968,   969,   970,
9721      971,   972,   973,   974,  1014,  1015,   989,   990,   991,   992,
9722      995,   993,   994,   996,   997,   929,  1000,   958,   959,   960,
9723      961,   963,   975,   977,   978,   984,  1007,  1006,   985,   987,
9724      988,  1008,  1009,  1010,  1011,  1012,  1013,   893,     0,   762,
9725        0,     0,   756,     0,   760,     0,     0,     0,   782,     0,
9726        0,     0,     0,   776,     0,     0,  1661,     0,     0,  2100,
9727     2101,     0,  1590,  1591,  1592,  1593,  1594,  1595,  1596,   807,
9728      808,     0,     0,   788,     0,     0,     0,     0,     0,     0,
9729        0,   365,     0,  1528,  1530,  1532,  1533,  1534,  1531,  1526,
9730        0,     0,   354,     0,     0,     0,     0,  1520,     0,     0,
9731        0,     0,     0,     0,     0,     0,     0,  2142,  2143,  2144,
9732     2145,  2146,     0,     0,     0,     0,     0,     0,     0,     0,
9733     1074,  1108,  1083,  1075,  1082,  1086,  1088,  1089,  1090,  1092,
9734     1095,  1087,  1091,  1081,  1084,  1077,  1076,  1078,  1079,  1080,
9735     1085,  1093,  1094,  1096,  1097,  1098,  1099,  1100,  1101,  1102,
9736     1103,  1104,  1105,  1106,  1107,     0,     0,     0,     0,  1609,
9737        0,     0,     0,     0,     0,     0,   371,   374,     0,   377,
9738     1644,   381,     0,   376,     0,   375,   384,     0,   379,   372,
9739      373,     0,     0,     0,     0,  1109,  1121,     0,   550,     0,
9740      507,     0,     0,     0,  1602,     0,     0,     0,     0,  1583,
9741        0,  1579,  1580,  1581,     0,  1043,     0,     0,     0,     0,
9742        0,     0,     0,  2011,     0,     0,     0,     0,     0,  1649,
9743     1650,  1651,  1818,  1817,  2012,     0,     0,  1678,     0,     0,
9744     1054,     0,  1053,   678,   679,   680,   681,   682,   683,   684,
9745      685,   687,   688,   692,   693,   703,   704,   705,   706,  1055,
9746     1056,  1057,   707,   709,   708,   710,   711,  1059,   716,   689,
9747      690,   691,  1058,   727,   686,   694,   712,   713,   714,   715,
9748      719,   720,   721,   722,   723,   724,   701,   702,   717,   718,
9749     1060,   725,   726,   695,   696,   697,   698,   699,   700,  1063,
9750     1051,     0,   221,   266,   274,     0,     0,   271,     0,   295,
9751      743,   742,     0,     0,     0,     0,     0,     0,     0,     0,
9752        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9753        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9754     1126,   406,   402,  1113,     0,  1543,     0,   555,   556,   557,
9755        0,     0,  1796,     0,     0,  2094,  1643,     0,  1642,     0,
9756      561,   569,   562,   570,   566,   565,   573,   574,   563,   564,
9757      567,   576,   575,   568,   571,   572,   119,     0,     0,     0,
9758        0,   457,   458,     0,     0,     0,  1738,  2104,     0,  1759,
9759        0,  1450,  1452,  1457,  1456,  1461,  1455,  1458,  1459,  1460,
9760     1462,  1463,  1465,  1466,  1464,  1451,  1453,  1454,  1170,     0,
9761        0,  1626,     0,     0,     0,   663,   664,     0,   662,     0,
9762        0,     0,     0,     0,     0,  1617,  1618,  1619,  1620,  1621,
9763     1622,     0,     0,   532,     0,  1664,  1957,     0,   728,   677,
9764      733,   732,   729,   730,   731,   674,     0,     0,     0,     0,
9765        0,  1468,  1470,  1472,  1471,  1475,  1476,  1477,  1478,  1479,
9766     1480,  1469,  1473,  1474,  1174,     0,     0,     0,     0,  1152,
9767     1153,  1154,  1155,  1158,     0,  1157,  1159,  1160,  1132,     0,
9768        0,  1136,     0,     0,     0,  1147,  1148,  1150,  1149,  1144,
9769     1045,     0,     0,     0,   136,   230,   238,   235,     0,   218,
9770      242,   250,   247,     0,   219,   254,   262,   259,     0,  1035,
9771        0,  1040,     0,   220,   278,     0,     0,     0,     0,     0,
9772        0,     0,   167,     0,  1870,  1853,  1854,  1855,  1851,     0,
9773        0,     0,  1875,     0,     0,     0,  1748,  1737,  1873,  1749,
9774        0,     0,  1482,  1500,  1485,  1501,  1502,  1486,  1487,  1488,
9775     1489,  1490,  1492,  1491,  1496,  1497,  1493,  1494,  1495,  1498,
9776     1499,  1483,  1484,  1178,     0,   222,   281,   286,     0,     0,
9777        0,     0,     0,     0,     0,   147,   148,   149,   150,     0,
9778        0,     0,     0,     0,   153,   154,   155,   156,     0,     0,
9779      203,   204,   205,  1696,     0,     0,     0,     0,     0,     0,
9780        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9781        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9782        0,     0,     0,     0,     0,     0,  1396,  1443,  1429,  1430,
9783     1431,  1432,  1433,  1445,  1434,  1435,  1436,  1437,  1438,  1440,
9784     1439,  1444,  1446,  1397,  1398,  1399,  1400,  1401,  1402,  1403,
9785     1404,  1405,  1406,  1407,  1408,  1409,  1410,  1411,  1412,  1421,
9786     1413,  1414,  1422,  1424,  1423,  1415,  1416,  1425,  1417,  1418,
9787     1419,  1420,  1426,  1427,  1428,  1441,  1442,  1447,  1448,     0,
9788        0,     0,     0,     0,     0,   813,   814,   815,   816,   817,
9789      818,   819,   820,     0,  1635,     0,     0,     0,     0,     0,
9790        0,     0,     0,     0,     0,     0,     0,     0,  1975,     0,
9791     1976,     0,     0,     0,     0,  1978,     0,     0,     0,     0,
9792        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9793        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9794        0,     0,     0,     0,  1264,     0,  1215,  1261,  1216,  1217,
9795     1218,  1219,  1220,  1221,  1222,  1223,  1224,  1225,  1226,  1227,
9796     1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,
9797     1238,  1239,  1240,  1241,  1242,  1243,  1244,  1245,  1246,  1247,
9798     1248,  1249,  1250,  1251,  1252,  1253,  1254,  1255,  1256,  1257,
9799     1258,  1259,  1260,  1262,     0,  2065,  2076,     0,     0,     0,
9800        0,     0,     0,     0,     0,     0,  2074,  2067,     0,  1318,
9801        0,  1303,  1304,  1305,  1312,  1306,  1307,  1308,  1309,  1310,
9802     1311,  1313,  1314,  1316,  1315,  1321,  2069,  1282,     0,  1267,
9803     1268,  1269,  1275,  1279,  1280,  1270,  1271,  1272,  1273,  1274,
9804     1276,  1278,  1277,     0,  2039,     0,     0,     0,     0,     0,
9805        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9806     1390,     0,  1360,  1361,  1362,  1355,  1356,  1357,  1358,  1359,
9807     1363,  1364,  1365,  1366,  1367,  1368,  1369,  1370,  1371,  1372,
9808     1373,  1354,  1374,  1375,  1376,  1377,  1378,  1379,  1380,  1381,
9809     1382,  1383,  1384,  1385,  1386,  1387,  1388,     0,     0,  2059,
9810        0,  1351,     0,  1346,  1345,  1343,  1344,  1347,  1348,  1349,
9811        0,     0,     0,     0,  2061,  1340,     0,  1331,  1332,  1333,
9812     1337,  1338,  1334,  1335,  1336,  2068,  1328,     0,  1323,  1324,
9813     1325,  1326,     0,  1300,     0,  1285,  1286,  1287,  1292,  1297,
9814     1298,  1289,  1290,  1291,  1293,  1294,  1296,  1295,  1288,     0,
9815        0,     0,     0,     0,     0,     0,     0,   490,   491,   493,
9816      492,   494,   495,   496,     0,  2020,  2021,     0,     0,   499,
9817      503,   500,   501,   502,     0,     0,  2029,  2031,     0,   667,
9818      668,   669,   670,   671,     0,     0,     0,   656,   657,   658,
9819        0,     0,     0,  2111,     0,  2117,     0,     0,  2129,  2131,
9820        0,     0,  2135,   640,     0,   639,   591,   587,   595,   605,
9821      577,   609,   610,   578,   579,   612,   613,   614,   580,   581,
9822      582,   583,   584,   585,   588,   586,   589,   590,   592,   593,
9823      596,   597,   598,   599,   600,   601,   602,   603,   604,   621,
9824      622,   611,   594,   606,   607,   608,   641,   642,   643,   644,
9825      645,   646,   647,   648,   649,   650,   651,   652,   615,   616,
9826      617,   618,   619,   620,     0,  2110,     0,  2116,     0,     0,
9827     2128,  2130,   627,     0,   626,   628,   629,   630,   631,   632,
9828      633,   634,   635,  1185,   832,     0,     0,     0,     0,     0,
9829      827,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9830      338,     0,     0,     0,     0,   337,     0,     0,     0,     0,
9831        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9832        0,     0,     0,     0,     0,   300,   299,  1113,   823,   885,
9833      828,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9835        0,     0,     0,     0,     0,     0,     0,   735,     0,     0,
9836        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9837        0,     0,     0,     0,     0,     0,     0,  1547,     0,     0,
9838        0,     0,     0,     0,     0,     0,     0,     0,   118,     0,
9839        0,     0,   348,     0,     0,     0,     0,     0,     0,     0,
9840        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9842        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9843        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9844        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9846        0,     0,     0,   759,     0,   755,   341,   758,     0,     0,
9847        0,   781,     0,     0,     0,     0,   775,     0,     0,     0,
9848        0,     0,     0,     0,     0,     0,   787,     0,     0,     0,
9849        0,     0,     0,     0,     0,     0,     0,     0,     0,   353,
9850        0,     0,     0,     0,  1521,     0,     0,     0,     0,     0,
9851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9852        0,     0,     0,     0,     0,     0,     0,  1610,     0,     0,
9853        0,     0,   128,     0,     0,     0,   391,     0,   392,     0,
9854        0,     0,     0,     0,     0,     0,     0,     0,     0,  1123,
9855        0,   551,     0,     0,     0,   506,     0,     0,  1603,     0,
9856     1574,     0,     0,  1582,     0,     0,     0,  1042,     0,     0,
9857        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9858        0,     0,     0,     0,     0,     0,     0,     0,   267,   272,
9859      269,   277,     0,   224,     0,     0,   228,   226,   296,     0,
9860        0,     0,     0,     0,     0,   422,   421,     0,     0,     0,
9861        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9863        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9864        0,   403,   404,   405,     0,     0,     0,     0,     0,     0,
9865        0,     0,     0,     0,     0,     0,     0,     0,   456,     0,
9866        0,     0,     0,     0,     0,     0,     0,     0,  1625,     0,
9867        0,     0,     0,     0,     0,   522,   746,   528,     0,     0,
9868        0,     0,     0,     0,     0,     0,     0,     0,     0,  1552,
9869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9870        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9871        0,     0,     0,     0,     0,  1135,     0,     0,     0,     0,
9872      139,   137,   231,   236,   233,   241,   243,   248,   245,   253,
9873      255,   260,   257,   265,     0,  1032,  1033,     0,  1037,  1038,
9874      279,   170,     0,     0,     0,     0,     0,     0,     0,     0,
9875        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9876      282,   284,     0,     0,     0,     0,     0,     0,     0,     0,
9877        0,     0,     0,  1687,     0,     0,   160,   161,   162,   163,
9878      164,   165,     0,     0,     0,     0,     0,     0,     0,     0,
9879        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9880        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9881        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9882        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9883        0,  1634,     0,     0,     0,     0,     0,     0,     0,     0,
9884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9885        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9887        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9888        0,   120,     0,     0,     0,     0,     0,     0,     0,     0,
9889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9890        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9891        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9892        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9893        0,     0,     0,     0,     0,     0,   467,     0,     0,     0,
9894        0,     0,     0,     0,     0,   361,     0,   360,     0,     0,
9895        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9897        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9898      822,     0,     0,     0,     0,     0,     0,   866,     0,     0,
9899        0,   884,     0,     0,     0,     0,     0,   313,   312,     0,
9900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9901        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9902        0,     0,     0,     0,     0,     0,   297,     0,     0,     0,
9903        0,  1878,  1879,  1880,  1881,  1877,  1883,  1694,  1710,  2160,
9904        0,  1701,     0,  1700,  1729,  1730,  1819,  1820,     0,  1203,
9905        0,  1884,  1768,  1805,  1211,     0,  1821,  1814,  1955,  1949,
9906     1950,  1952,  1951,  1953,  1954,  1556,     0,  1559,     0,   292,
9907     1944,  1945,  1946,  1671,  1675,  1662,  1682,  1639,   543,   542,
9908     1770,     0,  1658,  1646,  1537,  1535,     0,  1545,     0,  1857,
9909     1862,  1863,  1864,  1761,  1763,  1762,  1764,     0,  1755,  1865,
9910     1866,  2107,  1751,  1181,     0,  1503,  1067,     0,  1065,     0,
9911      346,     0,     0,  1648,  1709,  1699,  1780,  1769,  1848,  1849,
9912     1850,  1698,  1708,  1707,     0,  1753,  1706,  1705,  1652,     0,
9913     2090,  1812,  1813,  1731,  1732,  1840,  1842,  1839,  1841,  1843,
9914     1844,  1771,  1774,  1782,  1775,  1776,  1791,  1792,  1772,  1773,
9915      749,     0,     0,   751,   750,  1787,  1789,  1788,  1784,  1785,
9916     1783,  1833,  1822,     0,     0,  1823,  1825,  2085,  2084,  2086,
9917     2087,  1887,  1888,  1890,  1889,  1891,  1892,  1894,  1893,  1895,
9918     1896,  1898,  1897,  1899,  1900,  1901,  1902,  1903,  1904,     0,
9919     1645,  1830,  1790,  1801,  1800,  1803,  1837,  1836,  1838,  2083,
9920     1845,  1846,  1847,     0,  2036,  2139,  2140,  2141,   895,   892,
9921        0,     0,   754,   799,   800,   802,   803,   805,   801,   804,
9922      806,   342,     0,     0,     0,     0,     0,   780,     0,     0,
9923        0,   772,     0,     0,  1660,  1659,  1588,  1589,   809,   810,
9924      786,     0,   370,   367,   366,   369,   368,   364,   363,  1529,
9925     1525,     0,     0,   351,   741,     0,     0,     0,     0,     0,
9926     1519,     0,  2081,  1939,  1943,  1942,  1941,  1940,  1934,  1935,
9927     1910,  2147,  2148,  2149,  2150,  2151,  2152,  2153,  1072,  1073,
9928      343,     0,     0,  1607,     0,     0,     0,     0,  1069,     0,
9929      400,     0,   398,     0,     0,   389,   390,     0,   394,   382,
9930     1674,     0,  1677,     0,   383,   387,  1815,  1816,     0,  1120,
9931        0,     0,   549,   548,     0,   504,     0,  1601,     0,     0,
9932        0,  1575,     0,  1578,  1041,     0,  1046,     0,     0,     0,
9933     1049,  2091,  1638,  1647,  1672,  1673,  1654,  1655,  1656,  1668,
9934     1667,  1681,  1679,  1640,  1680,  1052,  1062,     0,   273,   270,
9935      275,   225,     0,   229,   227,     0,     0,     0,     0,     0,
9936        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9937        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9938      401,   415,   416,   411,   412,   413,   414,   407,   408,   410,
9939      409,   417,  1127,  1114,     0,     0,   554,   553,  1669,  1670,
9940     1663,  1676,  1641,   560,   559,  1070,     0,     0,     0,     0,
9941      454,     0,  1741,  1740,  1739,  2105,  2106,  1169,     0,  1449,
9942        0,  1631,  1623,     0,     0,   744,   745,     0,     0,     0,
9943        0,     0,   526,   661,   660,  2095,     0,  2098,     0,  2097,
9944     1615,  1616,     0,     0,  1551,     0,   531,   530,  1657,  1665,
9945      676,   673,     0,  1743,  1745,  1742,  1744,  1173,     0,  1467,
9946        0,  1834,  1835,  1151,  1129,  1156,  1131,     0,     0,     0,
9947        0,     0,  1134,  1666,  2079,  1146,  1143,     0,     0,     0,
9948      237,   234,   239,   249,   246,   251,   261,   258,   263,  1034,
9949     1039,     0,   175,   176,   169,   172,   173,   174,   168,   166,
9950     1858,  1859,  1860,  1861,  1871,  1872,     0,  1757,  1867,  1868,
9951     1750,  1752,  1177,     0,  1481,   285,  1162,  1164,  1166,  1691,
9952     1692,     0,     0,  1697,   146,   141,     0,   145,     0,     0,
9953        0,     0,     0,     0,     0,  1702,  1703,  1704,   152,   151,
9954     1695,   202,   201,  1905,  1906,  1907,  1908,  1909,  1911,  1912,
9955     1913,  1914,  1915,  1916,  1917,  1918,  1919,  1920,     0,     0,
9956     1921,  1922,  1923,     0,     0,     0,  1927,  1928,     0,  1930,
9957     1931,  1932,  1933,  1936,  1937,  1938,  1394,  1395,  1683,  1693,
9958     1711,  1712,  1714,   812,   811,  1632,     0,  1636,     0,   177,
9959     1960,  1961,  1962,  1963,  1964,  1965,  1966,  1967,  1968,     0,
9960     1970,  1971,  1972,  1973,  1974,  1977,  1979,  1980,  1981,  1982,
9961     1983,  1994,  1991,  2005,  2006,  2010,  1984,  1987,  1988,  1989,
9962     1990,  1992,  1993,  1995,  1996,  1997,  1998,  1999,  2000,  2001,
9963     2002,  2003,  2004,  2007,  2008,  2009,  2041,  1263,  1266,     0,
9964     2077,  2037,  2066,  2040,  2038,  2070,  2072,  2071,  2073,  2075,
9965     2057,  1317,  1320,     0,  1281,  1284,  1985,  1986,  2042,  2043,
9966     2044,  2045,  2046,  2047,  2048,  2049,  2050,  2051,  2052,  2053,
9967     2054,  2055,  2056,  1389,  1392,  1958,  1959,  2058,  1350,  1353,
9968     2062,  2064,  2063,  2060,  1339,  1342,  1327,  1330,  2078,  1299,
9969     1302,     0,     0,     0,   473,   474,     0,   466,     0,     0,
9970     2184,  2014,  2013,  2015,  2016,  2017,  2018,   489,   488,     0,
9971        0,   359,  2023,  2022,   498,   497,  1116,  1115,  2026,  2027,
9972     2028,  2030,   666,   665,  2102,  2103,   655,   653,   654,  2133,
9973     2109,  2115,  2114,  2119,  2125,  2126,  2124,  2127,  2132,  2134,
9974      636,     0,   638,  2108,  2113,  2112,  2118,  2121,  2122,  2120,
9975     2123,   623,     0,   625,     0,     0,     0,   826,   821,     0,
9976        0,     0,   867,     0,     0,     0,   885,     0,     0,     0,
9977        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9978        0,     0,     0,     0,     0,     0,     0,   298,   310,   311,
9979      306,   307,   308,   309,   301,   302,   304,   303,   305,     0,
9980        0,     0,     0,     0,   880,   881,   882,   883,     0,   886,
9981      830,     0,  2160,  2161,  2163,     0,  2167,  2165,     0,  1206,
9982     1214,  1558,     0,   287,   293,     0,     0,     0,  1765,     0,
9983     1183,  1068,  1066,   350,     0,     0,     0,   747,   748,     0,
9984     2175,     0,  2179,  2177,     0,  1019,     0,     0,  1029,     0,
9985      894,   761,   341,   757,   341,     0,     0,     0,     0,     0,
9986      779,     0,     0,     0,  1527,   824,   887,   834,     0,   739,
9987      740,     0,     0,     0,     0,  1523,     0,     0,     0,     0,
9988        0,     0,     0,     0,     0,     0,     0,     0,   386,     0,
9989        0,  1117,     0,     0,  1110,     0,  1122,     0,     0,     0,
9990        0,     0,  1584,     0,     0,     0,     0,     0,  1047,     0,
9991     1064,   276,   223,     0,     0,   439,   440,   419,   420,   423,
9992      428,   429,   430,   431,   432,   433,   434,   435,   436,   449,
9993      424,     0,   437,   438,     0,   446,     0,   448,   450,     0,
9994      451,     0,     0,     0,     0,     0,     0,     0,  1171,     0,
9995     1628,  1630,  1627,     0,   527,   521,   514,     0,   524,     0,
9996        0,     0,     0,  1550,     0,   675,  1175,     0,  1133,  1137,
9997     1138,  1139,  1140,  1145,     0,     0,   240,   252,   264,   171,
9998        0,     0,  1179,     0,  2169,     0,  2171,  2173,     0,   142,
9999      143,  1684,  1686,  1685,     0,  1689,  1690,   159,   158,  2185,
10000     2187,  2186,   738,   737,     0,     0,     0,     0,  1637,     0,
10001        0,     0,     0,  1322,     0,     0,   469,   465,     0,  2182,
10002        0,     0,   358,   637,   624,     0,     0,     0,     0,     0,
10003        0,     0,     0,     0,     0,   855,   856,   864,   862,   857,
10004      860,   859,   865,   863,   861,   858,     0,     0,     0,     0,
10005        0,     0,     0,     0,     0,     0,     0,   326,   327,   314,
10006      315,   316,   317,   318,   319,   320,   321,   322,   323,   336,
10007      324,   325,     0,   333,     0,   335,   339,     0,     0,     0,
10008        0,     0,     0,     0,     0,     0,   843,   844,   852,   850,
10009      845,   848,   847,   853,   851,   849,   846,     0,     0,  2164,
10010        0,  2168,  2166,  2154,   294,  1948,   513,     0,     0,     0,
10011     1756,     0,  1754,  1653,  2176,  2180,  2178,     0,     0,  1778,
10012        0,     0,  1779,   342,     0,     0,     0,   763,     0,     0,
10013        0,     0,   777,   773,     0,     0,     0,     0,     0,     0,
10014        0,   356,     0,     0,   345,  1599,  1600,     0,     0,     0,
10015     2155,     0,     0,     0,   399,   397,     0,     0,   393,   378,
10016        0,   380,     0,  1124,     0,     0,     0,     0,     0,     0,
10017        0,  1586,  1576,     0,  1044,     0,  1050,     0,     0,     0,
10018        0,     0,     0,     0,   444,     0,     0,     0,   460,     0,
10019        0,  1629,     0,     0,   525,  2096,  2099,     0,  1553,  2025,
10020        0,     0,  2157,  2156,  1758,  2170,  2172,  2174,   144,  1688,
10021     1924,  1925,  1926,  1929,     0,     0,     0,     0,   180,  1969,
10022        0,   470,     0,  2019,     0,  2183,     0,     0,     0,     0,
10023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10024     1767,     0,     0,   868,     0,     0,   886,     0,     0,     0,
10025        0,     0,   331,  1724,  1722,  1723,   879,   873,     0,     0,
10026        0,     0,     0,     0,  2162,     0,     0,   509,     0,   825,
10027      889,   838,     0,  1766,   347,   753,  1016,   752,  1017,  1018,
10028     1020,  1025,     0,  1026,  1027,  1030,   341,   341,   341,     0,
10029        0,   785,     0,   774,   789,     0,     0,   888,   836,     0,
10030      352,  1522,   344,     0,  1611,     0,     0,  1608,     0,   132,
10031        0,   396,   453,  1118,     0,     0,   505,  1604,     0,     0,
10032        0,     0,     0,  1577,  1048,   441,   442,     0,   425,     0,
10033        0,     0,   452,  1544,     0,     0,   459,   455,     0,   523,
10034        0,     0,   208,     0,     0,     0,     0,     0,     0,     0,
10035      179,     0,   124,     0,     0,   468,  2181,   362,  1715,  1719,
10036     1721,  1728,  1717,  1726,   790,   791,   793,   794,   796,   792,
10037      795,   797,   798,  1716,  1725,  1720,   854,   833,     0,     0,
10038      869,     0,     0,   887,     0,   328,   329,     0,     0,   340,
10039     1718,  1727,   842,   829,     0,     0,   512,   508,     0,     0,
10040        0,     0,     0,     0,  1023,     0,   767,   764,   768,     0,
10041      783,   778,     0,     0,     0,     0,   355,     0,     0,     0,
10042        0,   129,   130,   135,     0,   388,     0,     0,     0,  2158,
10043        0,  1585,     0,     0,     0,     0,   418,   462,   461,     0,
10044     1554,     0,   140,   206,   214,   211,   138,     0,     0,     0,
10045        0,     0,     0,     0,     0,   178,     0,   121,   122,   127,
10046        0,     0,     0,   479,     0,   480,   481,     0,     0,     0,
10047        0,     0,     0,     0,     0,     0,   874,     0,     0,   511,
10048        0,     0,   520,     0,     0,   890,   840,     0,     0,  1028,
10049        0,   341,     0,   875,     0,     0,     0,     0,     0,     0,
10050      131,   133,   395,     0,     0,     0,     0,   426,   427,   445,
10051      447,  1624,   207,   212,   209,   217,  1633,     0,   183,     0,
10052        0,     0,     0,     0,     0,     0,     0,   123,   125,     0,
10053        0,     0,     0,   471,     0,   482,     0,     0,   871,     0,
10054      870,   889,     0,   888,   332,   334,   831,   510,     0,     0,
10055     1548,     0,   519,     0,     0,     0,     0,  1021,  1022,  1024,
10056        0,   769,   784,   835,     0,     0,  1598,  1612,  1613,   134,
10057      463,     0,  1605,  1606,   213,   210,   215,     0,  2211,  2210,
10058      194,     0,     0,   195,   196,     0,     0,     0,   181,   199,
10059      126,     0,     0,     0,     0,     0,     0,   478,     0,     0,
10060        0,   517,     0,   518,     0,   877,     0,     0,     0,   341,
10061      341,   876,     0,  2159,   216,     0,     0,     0,     0,     0,
10062        0,     0,     0,     0,   198,     0,     0,     0,     0,     0,
10063        0,   476,     0,   872,   890,     0,   516,   839,     0,     0,
10064      765,   770,   837,     0,   192,   193,     0,     0,   182,     0,
10065        0,     0,     0,     0,     0,     0,     0,     0,     0,   472,
10066      477,   475,   515,   878,     0,     0,     0,     0,     0,   188,
10067        0,     0,   189,   190,     0,     0,     0,   483,     0,   841,
10068      771,     0,     0,     0,     0,     0,     0,     0,   484,   485,
10069        0,   197,     0,   184,     0,   186,   187,   200,   486,     0,
10070      191,     0,     0,   185
10071   };
10072 
10073   const short
10074   parser::yypgoto_[] =
10075   {
10076    -3403, -3403,  4024, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10077    -3403, -3403, -3403, -3403, -3403, -3403, -3403,  1820, -3403, -3403,
10078     1804, -3403, -3403, -3403,  1060, -3403, -3403,  1848, -3403, -3403,
10079    -3403, -3403,   387, -3403, -2338, -3403, -3403, -2206, -3403, -3403,
10080       29, -3403, -3403,  1806,   398, -3403, -3403, -3403, -3403, -3403,
10081     -881, -3403,  -355, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10082    -3403, -3403, -3403, -3403,   611, -3403, -3403, -2014, -3403, -3403,
10083    -3403,  -290,  -585, -3403,  1360,  -865, -3403, -3403, -3403, -3403,
10084     1673, -3403, -3403, -3403,  2127,  2077, -3403, -3403, -3403, -3403,
10085      729, -2019, -3403,   740,   887, -3403, -3403, -1995, -3403,  1215,
10086    -1138,  -310, -3403, -3403, -3403,  1692, -3403, -3403, -3403,    38,
10087       39, -3403,   168, -3403, -3403, -3403,  1697, -3403, -3403,  1686,
10088    -3403,  1315,   744, -3403,   211, -3403,  1214, -3403, -3403,  -236,
10089    -3403, -3403,  2283, -3403, -3403,  2092, -3403, -3403,  -238, -3403,
10090    -3403,  -206,  -399, -3403,  1668, -3403, -3403,  1676, -3403, -3403,
10091    -3403,  3788,  1689, -3403, -3403,  1971, -3403, -3403,  1698, -3403,
10092    -3403,  -230,  1957,    89, -1848, -1994,  2693,  -676, -3403, -1239,
10093    -3403, -3403, -3403,  3408, -3403, -3403, -3402, -3403,  1421,  -819,
10094    -3403, -3403,  3415, -3403, -3403,  3409, -3403, -3222, -3403, -1709,
10095    -3403, -3403, -3403,  1827, -3403, -3403,  3791, -3403, -3403, -3403,
10096    -3403, -3403, -3403, -3403, -3403, -3403, -3318,   401, -3403,   421,
10097    -3403,  3793, -3403, -3155,   582, -3403,  3796, -3403, -3403,  2209,
10098      555, -3403,   182, -3403,   550, -3403, -3403, -3403, -3403, -3403,
10099    -3403, -3403, -3403, -3403,  3267, -3403, -3403, -3403, -3403, -3403,
10100     2091, -3403, -3403, -3403, -3403, -3403, -3403,  2154, -3403, -3403,
10101      -94,   418,  -632, -3403,  2131, -3403, -3403, -3403, -3403, -3403,
10102    -3403, -3403,  3006, -3403, -3403, -3403,  1966, -3403,  1984, -3403,
10103     -294, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10104    -3403,   -86,  2344, -3403, -3403,  2342, -3403, -3403,  1809, -3403,
10105    -3403,  1798, -3403, -3403,  1765, -3403, -3403,  1802, -3403, -3403,
10106     1770, -3403, -3403,  1774, -3403, -3403,  1786, -3403, -3403,  1807,
10107    -3403, -3403,  1878, -3403,  2037, -3403,  2014, -3403,  1960, -3403,
10108     2339, -3403, -3403, -3403,  3423, -3403, -3403,  2232, -3403, -3403,
10109     2360, -3403, -3403, -3403,  3749, -3403, -3403, -3403,  2043, -3403,
10110     2380, -3403, -3403,  2169, -3403,  1410,  -968, -3403, -3403,  2284,
10111    -3403, -3403, -3131, -3403, -3403,  3356, -3403,  1448,  -931, -3403,
10112     2051, -3403, -3403,   546, -1178,  2072, -3403,   531, -1452, -3403,
10113     -125, -3403, -3403, -3403, -3403, -3403,  -165,  -141, -3403,  -247,
10114    -3403, -3403, -3403,  -213,  -163, -3403, -3403, -3403, -3403,   502,
10115    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10116    -3403, -3403, -3403, -3403,  -172, -3403, -3403, -3403, -3403, -3403,
10117    -3403,  -243, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10118    -3403, -3403,  -173, -3403, -3403, -3403,  -190,   -87,  -250, -3403,
10119    -3403, -3403,  -166, -3403, -3403,  -240, -3403, -3403, -3403, -3403,
10120    -3008, -2945, -2874, -3403, -3403, -2866, -2823, -3403, -3403, -3403,
10121    -2821, -2810, -3403, -3403,  -179,  -254, -3403,  -266,  -170, -3403,
10122    -3403,  -298, -3403, -3403, -3403, -3403, -3403, -3403,   178, -3403,
10123    -3403, -3403, -3403, -3403,   180, -3403, -3403,  -275, -3403, -1649,
10124    -2235,  1767, -3403,  -257, -3403,  -364, -3403, -3403, -3403, -3403,
10125    -3403,    70, -3403, -3403, -3403, -3403,  -249,  -129, -3403, -3403,
10126    -3403, -3403,  -111, -3403, -3403, -3403, -3403,   110, -3403,  -112,
10127    -3403, -3403, -3403, -3403,  -192,  -234, -3403, -3403,   -90,   -78,
10128     -235, -3403,  -262, -3403,  -220, -3403,    61,    94,  -149,   -24,
10129      -75, -3403, -3403, -3403, -3403,   -64,   -51, -3403,  -168,   -28,
10130     -156,   -27, -3403,  -284, -3403,  -132,  -109,   -26,   -21,   -13,
10131      -97,   -83,   -69,   -65, -3403, -3403, -3403, -3403, -3403, -3403,
10132    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10133    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10134    -3403, -3403, -3403, -3403,  -248,  -177, -3403, -3403, -3403, -3403,
10135    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10136     -354, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10137    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10138    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  -346,  -341,
10139    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,   131,  -252,
10140    -3403, -3403, -3403,  -375,  -370,  -369,  -358,  -330, -3403, -3403,
10141    -3403, -3403, -3403,  -324,  -323,  -320, -3403,  -315, -3403, -3403,
10142    -3403,  -288,  -265,  -256, -3403, -3403, -3403, -3403, -3403, -3403,
10143    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10144    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10145    -3403,  -386, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10146      124,  -283, -3403, -3403, -3403, -3403, -3403,     7,    11,    31,
10147    -3403,    85,   149, -3403,  -212,  -241, -3403, -3403, -3403, -3403,
10148    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10149    -3403,   -76, -3403, -3403, -3403, -3403, -3403, -3403, -3403,  -371,
10150     -350,  -359, -3403, -3403,  -245,  -205,  -198,  -197,  -398,  -174,
10151     -135, -3403, -3403,  -260,  -337, -3403, -3403, -3403, -3403, -3403,
10152      -48, -3403,    34,    54, -3403, -3403, -3403, -3403, -3403, -3403,
10153     -164,  -153, -3403, -3403,  -261,   -56, -3403, -3403, -3403, -3403,
10154    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10155    -3403, -3403, -3403, -3403, -3403, -3403, -3403,   -43,   -40,   -32,
10156      -20,   -11,    -6, -3403, -3403, -3403, -3403, -3403, -3403, -3403,
10157    -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -3403, -1542,
10158    -2414, -3403, -1560, -3403, -2114, -3403, -1713, -3403,   514, -3403,
10159    -2318,     0, -2483
10160   };
10161 
10162   const short
10163   parser::yydefgoto_[] =
10164   {
10165       -1,   132,   133,   134,   135,   136,  3209,  3921,   137,  2859,
10166     3878,   138,  3049,  3048,   139,  3096,  1344,  1345,   140,  1353,
10167     1354,   141,  1349,  2345,  2346,   142,  1291,  1292,  3061,   143,
10168     3580,  3787,  3788,  4190,  4191,  4192,  4019,  4020,  4021,  4158,
10169     4159,   144,  1359,  1360,  3911,   145,   146,   147,   148,   149,
10170     2163,  1076,  1077,   369,   371,   373,   323,   377,   383,   150,
10171      517,  2638,   151,   152,  3693,  2597,  3647,  3696,   153,   154,
10172      155,   589,   590,   156,   871,   872,   157,   158,  1734,  2516,
10173     2517,  3279,   159,   860,   861,   956,   957,   160,   944,  3463,
10174     2105,  2106,  2861,  2862,  2107,  2210,  3511,  2108,   161,  1150,
10175     1151,  1152,   162,   420,  2505,  2506,  3923,  4165,  3925,  4166,
10176     4034,  4035,  4036,   163,   164,  1726,  1727,   165,  1738,  1739,
10177      166,   971,  3677,   167,  4051,  2244,  2245,   168,  1202,   527,
10178      169,   528,   529,   170,   967,   968,   171,  1116,  1185,   172,
10179     1129,  1186,  1773,   173,  1843,  1844,   174,  1774,  1775,   175,
10180      176,  1756,  1757,   177,  1187,  1188,   178,  1748,  1749,   179,
10181     1207,  1243,  1209,  3573,  3574,  2827,  1895,  2723,  2724,  2725,
10182     3849,   180,   821,   822,   823,  2793,  3697,   181,   832,   833,
10183      182,   827,   828,   183,   852,   853,  3943,  2794,   850,   851,
10184      184,   185,  1454,  1455,   186,   187,   188,  1859,   189,  2599,
10185     3668,  2547,  3707,  3985,  3971,  4126,  3655,  3656,  3604,  3605,
10186      190,   191,   192,  3373,  3374,   193,   194,   195,   696,   697,
10187     3415,  3416,  3974,  3975,  3418,  3419,   196,   375,  1278,   197,
10188      376,  1280,   198,   984,   985,   199,   200,   987,   201,  1011,
10189     1012,   202,   203,   204,   205,   206,   207,   899,   900,   208,
10190      306,  1896,  3288,  3462,   307,   209,   327,  2208,   210,   211,
10191      212,  1250,  1251,   213,   214,  1254,  1255,  1238,  1239,  1244,
10192     1256,   215,   216,   217,   218,   219,   220,   221,   222,   223,
10193      458,   459,   460,   224,   482,   483,   225,  1514,  1515,   226,
10194     1597,  1598,   227,  1703,  1704,   228,  1579,  1580,   229,  1696,
10195     1697,   230,  1685,  1686,   231,  1671,  1672,   232,  1630,  1631,
10196      233,   234,  1395,  1396,  1160,  1161,  1220,  1221,  1311,  1312,
10197      568,   569,   235,   876,   877,   236,   862,   863,   237,   543,
10198      544,   238,   239,   551,   552,   240,  1201,  2258,  2259,   241,
10199      495,   496,   242,   980,   981,   978,   979,  2889,   243,   841,
10200      842,   244,  3718,   245,   973,   974,   246,   938,   939,   247,
10201     1194,  1195,   248,  1180,  1181,  2990,   249,  1463,  1464,  1013,
10202     1014,  1015,  1132,  1133,  1134,   958,  1016,  1017,  1018,  1019,
10203     1020,  1021,  1022,  1023,  1024,  1025,  1026,  1027,  1210,  1028,
10204      844,   845,   846,   531,  1135,  1211,  1257,  1029,  1030,  1136,
10205     1137,   532,  1031,   959,   533,  1139,   960,  1032,  1033,  1034,
10206     1035,  1036,  1456,  2347,  2348,  2349,  2350,  3101,  2351,  1346,
10207     1347,  1457,   461,  1361,  1362,  1348,  1781,  1782,   462,  1355,
10208     1356,  1357,  1038,   709,   710,   463,  1458,  1459,   711,  1460,
10209     3657,  3658,  3659,  3660,  3609,  3661,  3662,  3375,  3376,  3377,
10210     3663,  3664,  3665,  3614,   464,   465,   714,   715,  1039,   717,
10211     1313,  1166,  1167,  1168,  1226,  1227,  1228,  1229,  1040,   570,
10212     1314,  1315,   571,  1316,  1041,   572,  1317,  1169,   573,  3398,
10213     3399,  1860,   484,   720,   547,   721,   722,   723,   724,   725,
10214      726,  1788,   728,   729,   730,   731,  1789,  1790,   734,   735,
10215      736,   737,  1791,   739,   740,   741,   742,  1792,  1140,  1793,
10216      745,   746,   747,   748,  1043,   485,   751,   752,  1044,   501,
10217     1045,   756,   757,   758,   502,   962,  1046,  1047,   466,   467,
10218      505,   763,   764,   765,   766,   468,   469,   769,   506,  1798,
10219     1048,  1049,   774,  1246,  1241,  1050,  1051,  1802,  1803,  1804,
10220     1052,  1053,  1054,  1055,  1318,   574,  1319,  1320,  1321,   575,
10221      576,  1322,  1323,   577,   578,   579,  1324,  1325,   580,  1326,
10222     1327,  1328,  1329,   581,  1330,   582,   470,   471,   472,   473,
10223      474,   475,   476,   486,  1056,  1057,   786,   787,   788,   789,
10224      790,   791,   792,   793,   794,  1413,  1414,  1415,  1416,  1417,
10225      913,  1419,  1420,  1421,  1422,  1423,  1424,  1425,  1426,  1427,
10226     1428,  1429,  1430,  1431,  1432,  1433,  1434,  1435,  1436,  1437,
10227     1438,  1439,  1440,  1441,   914,  1442,  1443,  1444,   915,   916,
10228      917,   918,   919,   535,   536,   537,   538,   548,   507,   795,
10229     1214,  1673,  1674,  1518,  1519,  1520,  1521,  1522,  1523,  1524,
10230     1525,  1526,  1527,  1528,  1529,  1530,  1531,  1532,  1533,  1534,
10231     1535,  1536,  1537,  1538,  1647,  1539,  1540,  1541,  1542,  1543,
10232     1544,  1545,  1546,  1547,  1548,  1549,  1550,  1551,  1552,  1553,
10233     1554,  1555,  1556,  1557,  1558,  1559,  1560,  1561,  1562,  1058,
10234     1059,  1728,  1729,  1730,  1731,  1732,  1733,  1741,  1742,  1743,
10235     1811,  1247,  1750,  1751,  1752,  1753,   797,   508,   509,  1812,
10236      801,  1581,  1582,  1650,  1583,  1563,  1652,  1653,  1654,  1655,
10237     1656,  1657,  1658,  1659,  1660,  1661,  1662,  1663,  1664,  1665,
10238     1666,  1584,  1678,  1679,  1690,  1691,  1692,  1693,  1694,  1585,
10239     1586,  1587,  1701,  1606,  1588,  1589,  1590,  1591,  3666,  1593,
10240     1594,  1718,  1258,   802,   922,   803,   804,   805,   806,   807,
10241     1061,  1062,  1814,  1815,  1143,  1196,  1197,  1198,  1199,  1200,
10242     1144,  1145,  1758,  1759,  1176,  1177,   583,  1845,  1816,  1846,
10243     1817,  1847,  1818,  1848,  1819,  1849,  1820,  1850,  1821,  1851,
10244     1822,  1852,  1823,  1824,  1825,  1826,  1827,  1063,  1064,  1065,
10245     1066,  1067,  1068,   923,   924,   925,   926,   927,   928,   929,
10246      930,   931,   932,   933,   934,  2617,  2856,  3067,  3739,  3383,
10247     3384,  2612,  2613,  3092,  3093,  2734,  3270,  3590,  3271,  3129,
10248     3130,  1897,  4150
10249   };
10250 
10251   const short
10252   parser::yytable_[] =
10253   {
10254      250,   970,  2238,   258,  1962,   935,  2069,  2097,  1592,   258,
10255     2133,  2401,  2228,  2046,   258,  1267,   498,  1272,   534,  1277,
10256      713,  1715,  2792,   258,   707,   732,   784,   700,   905,   868,
10257     1842,   703,   911,  1408,   921,   308,  1635,  1740,  1603,   755,
10258      750,  1636,  1637,  1418,   258,   258,   324,   903,  1709,   258,
10259     1605,  1445,   258,  1638,   759,   258,  1446,  1225,  1700,  1604,
10260     1448,   701,   258,   258,   941,   258,  1245,   258,   982,  1710,
10261      258,   370,   372,   374,  1240,  1242,   378,   499,   258,   384,
10262     1230,  1639,   749,   497,   705,  2835,  2865,  1640,  1641,  1163,
10263     1010,  1642,   257,  1117,  1232,   712,  1643,   785,   267,  1164,
10264     1213,   704,   910,   275,   716,  1223,   770,   503,   708,   699,
10265     2866,   702,   287,   258,  1203,  1224,   865,   847,   772,  1171,
10266     1331,   545,  1208,  1644,   906,   760,   912,  1130,   848,   901,
10267      258,  1403,   250,   321,   322,  1411,   530,  1447,   329,   983,
10268     1407,   334,   775,  1402,   340,   733,  1645,  1399,  1409,   698,
10269     1397,   353,   356,   902,   361,  1646,   365,  1400,  1119,   367,
10270     1165,  1138,   744,   738,  1607,   776,  1162,   382,   481,  1517,
10271     1651,  1174,  1119,  1138,  1711,   587,   588,   780,  1783,  1783,
10272     1809,  1809,  1222,   909,   753,  1779,  1779,   706,  1784,  1784,
10273     1172,   781,  3274,  1795,  1795,  2167,   754,  1601,  3387,   762,
10274     3695,  2949,   407,  1689,  1608,   782,   942,  1707,  1131,   783,
10275      767,  1609,  1610,   966,  1712,  1777,  1777,  1937,  1401,   431,
10276     1131,  1713,  1714,   768,  1398,   530,   808,  1404,  2098,  1412,
10277     1516,   811,   504,  1037,   812,  1611,  1794,  1794,  1632,  3106,
10278     3107,  1147,   813,  2669,  2670,  1716,   771,   773,   777,  1461,
10279      761,  1810,  1810,   778,   814,  1780,  1780,   512,  1785,  1785,
10280     3385,   779,  1633,   815,   553,  1778,  1778,   512,   816,   308,
10281      308,   591,  1799,  1799,  1612,   512,   824,   829,   834,  1796,
10282     1796,   798,  3555,   854,  1717,   799,  3455,   512,   870,   873,
10283     2735,  2736,   878,  3794,  1943,   591,  1800,  1800,   940,  1233,
10284      308,  3469,  2668,  1776,  1776,   800,  2030,   308,   809,  2063,
10285     2065,  2114,  2121,  3411,   975,  1173,  3606,   986,   988,  1801,
10286     1801,   512,   512,  1073,  2036,  1332,  2695,  1113,   810,   512,
10287     2156,  1805,  1805,  1602,   512,   308,  2215,  1677,  3736,  3471,
10288      512,  1182,  2222,  1708,   727,  1806,  1806,  3382,  2248,  2261,
10289     1962,  1080,   435,   512,  3409,   439,   512,   251,  2265,  1807,
10290     1807,   512,  2626,  1808,  1808,   512,   500,   512,  2611,  1265,
10291     3836,  1270,  3382,  1275,  1462,  1279,  1281,  1284,  2276,  3607,
10292     1813,  1813,   512,  1336,   743,  1828,  1828,  1634,  1829,  1829,
10293     1042,  3836,  1080,   549,  1141,  1363,  1830,  1830,   796,  1465,
10294     1081,  1467,  2278,  4200,  1797,  1797,  1141,   512,  1831,  1831,
10295     2288,  2317,  2338,  2609,  2693,  2355,  2697,  1832,  1832,  2358,
10296     2398,  2513,  1833,  1833,  2519,   920,  2525,  1142,  1261,  2529,
10297     4002,   512,  2692,  1285,  2696,  1858,  1861,  1865,  1869,  1142,
10298     1901,  1081,  2732,   585,  1060,  3379,  3160,   253,  3440,  1170,
10299     3608,  2529,   718,  3919,   719,  3977,  4200,  3837,  3610,  3405,
10300     4089,  1148,  1212,  1074,   866,   259,   867,  -867,  4219,  3776,
10301     1175,  3867,   907,  1754,   908,   554,   555,  2552,  3837,   263,
10302     3103,  3651,   556,  3679,  3679,  3688,  1231,   557,   558,  3691,
10303     3730,   594,   879,   595,  1599,  3753,  1648,  3679,  1675,  3806,
10304     1687,  3611,  1698,  3612,  1705,  3821,  3830,  1410,  2247,  3897,
10305     1927,  3651,  3832,  3651,  3613,  3965,  3830,  4058,  2053,  3830,
10306     1266,  1341,  -869,  4055,  1080,  4148,  1271,  1342,  3556,  1080,
10307     3381,  1350,  3651,  3651,  3830,  3830,  3651,  3830,  3266,  3785,
10308      976,  2977,  1276,  2053,  1946,  2742,  2743,  2159,  3983,   559,
10309     1945,  3865,   262,  1449,  1450,  3553,  2293,   268,  1600,  -871,
10310     1649,  2978,  1676,   325,  1688,  2297,  1699,  2132,  1706,  3171,
10311      560,  3772,  3467,  1081,  4149,  1405,  2284,  1406,  1081,  3773,
10312     1451,  1452,  2501,  2301,   513,  1293,  1294,  1351,  1080,   591,
10313     1295,  1296,  1297,  3280,  4148,  3226,  2918,  1298,  1299,  3474,
10314      612,   613,  3743,  1300,  1301,   510,  1786,  1786,  1787,  1787,
10315      561,   562,  1286,  3227,  2124,  3078,  3079,  3382,   264,  3786,
10316      343,  3050,  3262,  3715,  3716,  -443,  1287,  3516,  2998,   510,
10317      326,  2209,  2999,  2876,   619,  3000,  1080,  1081,  3263,   269,
10318     2340,   276,    21,  4149,   450,   622,  2770,  2771,   880,  2783,
10319      270,  3053,   277,  1080,  2341,   282,  1148,  2241,  2242,  1302,
10320     1568,  2125,  2502,  3449,  2503,  2504,    21,  3450,   450,  1148,
10321      514,   515,   516,  1080,  3077,  4119,  3735,  2720,  2227,   283,
10322     1303,  2877,   284,  -330,   288,  1081,  3150,  3151,  2772,  2209,
10323      291,  3760,  3056,   292,   491,   297,   451,  1080,  2241,  2242,
10324     4014,   563,  1081,  1571,  3019,  2705,   977,  3889,  4083,   300,
10325     3026,  3890,   301,  1080,  1216,  1577,  1695,  1288,  2160,  2161,
10326     1304,  1305,  1081,  3595,  3596,  3597,  3598,  3599,  3600,  3601,
10327     3602,   335,   664,   977,   313,  3206,  4124,   666,  2706,  2707,
10328     1453,  1080,  1249,   314,  3215,  1112,  1081,  3218,  4135,   317,
10329      672,  2784,   318,   881,   882,  3915,  3916,   260,   261,  2515,
10330     1075,   492,  1081,   541,   546,   977,   669,   670,   977,  1289,
10331     2783,  2054,  1755,  1149,   348,   883,   676,  4210,  2785,  2786,
10332     2787,   362,  2763,   843,  4090,  4091,  3380,  1262,   864,    40,
10333     1081,   366,  4220,  4221,   379,   542,   904,  2342,  3606,   391,
10334     3618,  3554,  4119,  3595,  3653,  3597,  3654,  3599,  3600,  3601,
10335     3602,  1306,  3868,    40,  1938,  4053,  1307,  1075,  2032,  2744,
10336     2033,   824,  3777,  1075,  2099,  2038,  2039,   829,   683,  4065,
10337     2043,  2044,   834,  1118,   550,  2241,  2242,   564,  4130,  1075,
10338     1080,  3551,   884,   885,  1075,  3329,  3785,  1118,    21,  1080,
10339      392,  1217,   854,  1075,  3161,  3162,   452,  4068,  4069,  3386,
10340     4209,  3607,  1075,  1156,  4056,   541,   252,  4075,   565,  4076,
10341     2119,   873,  2784,   456,   457,   422,   878,  3717,  3172,  3173,
10342     1075,  3557,  1290,  1157,  3671,  3456,  1343,   492,  2165,  1081,
10343     1870,  1944,  3795,  1075,  2788,  1218,  1352,  3470,  1081,  2785,
10344     2786,  2787,  4144,  2031,   969,    69,  2064,  2066,  2115,  2122,
10345     2294,  2295,  3412,   510,   886,  2298,  2299,  2343,  1075,  2037,
10346     2302,  2303,  3603,  3917,  2610,    21,  3786,  2157,   436,    69,
10347     1157,  2501,  3608,  2216,  3472,   591,  1871,   440,   940,  2223,
10348     3610,  2610,  2721,  2722,  1113,  2249,  2262,  1158,  1075,  1872,
10349       21,   586,  2733,   510,  3504,  2266,   254,  3888,  3283,  2241,
10350     2242,  1873,  1874,  2824,   308,  3838,   969,  3669,  1149,  2123,
10351     4177,  3672,  2708,   975,  3302,  2277,  3282,   393,  1308,  2241,
10352     2242,  1149,  3315,  3611,   986,  3612,  3885,  2140,   510,  1075,
10353       21,  2789,  3301,   394,  1158,    40,  3613,  1075,  4201,  2279,
10354     3314,  1875,  3603,  2241,  2242,  1075,  2344,  2289,  2318,  2339,
10355      510,  2502,  2356,  2503,  2504,  2788,  2359,  2399,  2514,  2241,
10356     2242,  2520,   424,  2526,   395,    21,  2530,  1309,    91,    92,
10357       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
10358      103,   104,   105,   106,   107,   108,   109,    21,  2531, -2207,
10359     1894,  4231,    91,    92,    93,    94,    95,    96,    97,    98,
10360       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
10361      109,  2158,    40,   432,  2553,  2164,  2164,  3104,  3652,   437,
10362     3680,  3682,  3689,  4252,  3128,   438,  3692,  3731,  1113,  1113,
10363     3685,   441,  3754,   477,  3774,   550,  3807,    40,   566,  2824,
10364      567,   592,  3822,  3831, -2207,   510,  3898,   849,  3964,  1113,
10365     3982,    69,  2789,  4047,  4059,  3506,  4064,   887,   888,   889,
10366      890,   891,   892,   893,   894,   895,   896,   897,   898,  4123,
10367     4134,  4176,  4182,  4208,  4234,   875,  2979,    40,  2211,  2212,
10368     2213, -2207,    21,   398,  2790,   835,  2241,  2242,  2225,  2226,
10369      401,  3642,  2660,  2661,  2662,  1876,  1877,  1080,   271,   272,
10370     1080,  1878,  1879,  1880,  1881,  1882,  1883,  1884,  1885,  1886,
10371     1887,  1888,    40,   404,  3644,  1889,  1890,  1891,  1892,  1667,
10372     1182,   421,  1722,   423,  1080,   278,   279,   510,    69,  1235,
10373     1735,  1736,   874,  1737,    40,  1576,   936,  3570,  3407,  1075,
10374      425,  2260,  2205,  2206,  3532,  2207,  1081,   426,  1310,  1081,
10375      427,  2243,   428,    69,  1110,   280,   281,  1219,  1080,  3427,
10376     2825,  2826,   510,   429,    21,  3408,  1720,  2602,  3793,   937,
10377     2605,  3001,   679,  1081,    91,    92,    93,    94,    95,    96,
10378       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
10379      107,   108,   109,    69,   943,  3527,  2628,  1159,   969,    21,
10380     2663,  2664,  2665,  2292,  2666,  2790,   972,  1081,  2296,   961,
10381     4120,  4121,   963,  2300,  1079,  1576,  2593,  2594,  2306,  2595,
10382     2309,  2921,  2310,  1080,  2924,  1078,  3575,  3576,    69,    40,
10383     3577,  3444,  2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,
10384     2205,  2206,  1668,  2207,  2203,  2204,  2205,  2206,  1114,  2207,
10385       69,    91,    92,    93,    94,    95,    96,    97,    98,    99,
10386      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
10387     3823,  1153,  1081,  1184,  2330,  1337,    91,    92,    93,    94,
10388       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
10389      105,   106,   107,   108,   109,  2867,  2825,  3737,   289,   290,
10390     1080,  1183,  1112,   293,   294,  3409,   295,   296,  4127,   298,
10391      299,    40,  1669,  2746,  2747,  2748,    91,    92,    93,    94,
10392       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
10393      105,   106,   107,   108,   109,  1249,  3880,  4140,  4121,  1338,
10394     2832,  2720,  1339,  1080,  1340,    69,    40,  1893,  3694,  1081,
10395     1719,    91,    92,    93,    94,    95,    96,    97,    98,    99,
10396      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
10397     1466,  1236,  1237,    91,    92,    93,    94,    95,    96,    97,
10398       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
10399      108,   109,  1081,  2197,  2198,  2199,  2200,  2201,  2202,  2203,
10400     2204,  2205,  2206,  1465,  2207,  2403,  2241,  2242,   539,  1564,
10401      540,   855,   856,   857,   858,   859,  3738,  1721,  1854,  2629,
10402     2630,  2631,  2632,  2633,  2634,  2166,  1902,    69,  1903,  2585,
10403     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,  1904,
10404     2595,  1905,  1722,  1723,  1724,  1725,  1112,  1112,  2749,  2750,
10405     3675,  1906,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,
10406     2593,  2594,    69,  2595,  2241,  2242,  1907,  1112,    91,    92,
10407       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
10408      103,   104,   105,   106,   107,   108,   109,   836,  2766,  2767,
10409     3683,  3505,  1080,  2753,  2754,  2755,  3589,  2585,  2586,  2587,
10410     2588,  2589,  2590,  2591,  2592,  2593,  2594,  1908,  2595,  3002,
10411     2663,  2664,  2665,  1909,  2666,  1910,  3854,  1911,  2663,  2664,
10412     2665,  1912,  2666,  2982,  2983,  3729,  2756,  2757,  2758,  2241,
10413     2242,  2663,  2664,  2665,  1913,  2666,  3071,  3072,  3073,  2142,
10414     1914,  1081,  1915,  2591,  2592,  2593,  2594,  3765,  2595,  1917,
10415       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
10416      101,   102,   103,   104,   105,   106,   107,   108,   109,  2585,
10417     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,  1916,
10418     2595,  1918,  1568,   302,   303,    91,    92,    93,    94,    95,
10419       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
10420      106,   107,   108,   109,  1919,   602,  2721,  2722,  1189,  1190,
10421     3370,  3371,  3372,  2197,  2198,  2199,  2200,  2201,  2202,  2203,
10422     2204,  2205,  2206,   837,  2207,  1571,   498,  1744,  1745,  1746,
10423     1747,   309,   310,  1920,   534,  1921,   541,  1922,   492,  1923,
10424      541,  1080,  3766,  4214,  4215,   311,   312,  1670,  1578,  2241,
10425     2242,  1924,  3507,  2865,  2197,  2198,  2199,  2200,  2201,  2202,
10426     2203,  2204,  2205,  2206,  1925,  2207,  2280,  2281,  2282,  2283,
10427     2667,  1926,   542,  1928,   612,   613,  4239,  2866,  2694,   315,
10428      316,  1929,   330,   331,   332,   333,  1948,   499,  3643,   838,
10429     1081,  3076,  1930,   497,  4253,   336,   337,   341,   342,  1931,
10430     3851,   344,   345,  3845,  1080,   346,   347,   349,   350,  4092,
10431     4093,  3645,  4265,  4266,   357,   358,   713,   503,   385,   386,
10432      707,   732,   784,   700,  3769,  3219,  1568,   703,   387,   388,
10433      389,   390,   396,   397,  1932,   755,   750,  1933,   839,   840,
10434     1191,  1192,   545,  2919,  2920,   399,   400,  1934,   868,  1193,
10435      759,  1935,   530,  1081,  2607,  3251,  3252,   701,  1936,  3789,
10436      402,   403,   408,   409,   410,   411,   905,  1939,  1570,  1571,
10437      911,  1940,   921,  1941,   481,  1942,   412,   413,   749,  1949,
10438      705,  4050,  3976,  1950,  3978,   903,  1680,  1681,  1682,  1683,
10439     1684,   712,  1951,   785,  1952,  2659,  1953,   704,  2241,  2242,
10440      716,  1954,   770,  1955,   708,   699,   664,   702,   414,   415,
10441     1957,   666,   416,   417,   772,   418,   419,  4222,  4223,  2691,
10442     1956,   760,  4240,  4241,  4151,  4152,  3445,   982,   847,  3569,
10443     3571,  3290,  3291,  1958,  3997,   865,  3999,   541,   775,   848,
10444      910,   733,   504,  1959,  1960,   698,  2730,  1963,   308,  3810,
10445     1964,  2740,  1965,  2616,  2618,  1966,  1967,  1968,   744,   738,
10446     1969,   776,   906,  1970,   912,   258,  1010,   901,  2639,  1971,
10447     2868,  1972,  1973,   780,  1974,  1975,  1976,  3051,  3052,  1977,
10448      753,  3054,  3055,   706,  1978,  3057,  3058,   781,  2658,   308,
10449     1979,   902,   754,  1980,  2671,   762,   258,  1981,   983,   258,
10450      258,   782,  1982,  1983,  1984,   783,   767,  1985,  2686,  1986,
10451     1987,  3881,  3846,   308,  1225,  2175,  2176,  2966,  2829,   768,
10452     1988,   909,   808,  1989,  3035,  1163,  1990,   811,  2839,  1991,
10453      812,  1992,  1240,  1242,  1993,  1164,  2196,  1230,   813,  2729,
10454      308,  2852,   771,   773,   777,   308,   761,  2241,  2242,   778,
10455      814,  1232,  2752,  1213,  2636,  1171,  2973,   779,  1994,   815,
10456     1995,  1996,  1223,  1997,   816,  3016,  3847,  1998,  1408,  1999,
10457     3843,   258,  1224,  2000,  2001,  1208,   500,   798,  1418,  2002,
10458     2003,   799,  1119,  2004,  2005,  2674,  1445,  4131,  2677,  2679,
10459     1138,  1446,  2905,  2006,  2007,  1448,  1165,  3410,  3413,  2008,
10460     2009,   800,  1162,  2010,   809,  1592,   258,  1174,  1331,  1037,
10461     2241,  2242,   308,  2011,   549,  1119,  1138,  2012,  2013,  2014,
10462     4141,  3926,   308,  2015,   810,  3929,  1172,  2016,  2017,  3933,
10463     2018,  3944,  3945,  2019,  1603,   308,  2020,  1131,  2854,  1222,
10464      727,  1715,  2021,  2022,  2863,  1113,  1605,  2023,  1635,  2024,
10465     3852,  2025,  3091,  1636,  1637,  1604,  2026,   308,  2027,  2028,
10466     2780,  2029,  2042,  1131,  2047,  1638,  1403,  2048,  1709,  2888,
10467     1411,  2890,  1447,  1740,  2049,  1407,   530,  1700,  1402,  2050,
10468      743,  2899,  1399,  1409,  2052,  1397,   308,  1842,  2051,  1710,
10469     2057,  2058,  1400,  1639,   796,  2821,  3005,   258,  3007,  1640,
10470     1641,  2059,  2164,  1642,  2067,  2164,  4211,  2060,  1643,  1113,
10471     1113,  1113,  1113,  2929,  2930,  2061,  2062,  1113,  1113,  1113,
10472     1113,  1113,  1113,  1113,  1113,  1113,  1113,  1113,  1113,  1113,
10473     1113,  1113,  1113,  1113,  1113,  1644,  2070,  1113,  1113,  1113,
10474     1113,  1113,  1113,  1113,  1113,  1113,  1113,  1113,   718,  2963,
10475      719,  1173,  2071,  1401,  2072,  1517,  1233,  2075,  1645,  1398,
10476     1607,  2076,  1404,   920,  1412,  3070,  1042,  1646,  2077,  2078,
10477     2079,  2080,  2985,  2986,   258,  2081,  2991,  2091,  2082,  2991,
10478     2994,  2083,  1651,   866,  2084,   867,  2917,  2085,  2086,  1461,
10479      308,  2087,   308,  1601,  1711,  2088,  2089,   258,  2260,  4172,
10480     1608,  2090,  2092,  3110,  2094,  2095,   258,  1609,  1610,  2102,
10481      907,   258,   908,  1332,  2109,  2100,  1516,  2101,  2110,   258,
10482     1060,  2111,  1689,  1141,  2112,  2113,  2116,  1707,  2120,   258,
10483     1783,  1611,  1809,  2117,  1712,  2126,  1783,  1779,  1809,  3148,
10484     1784,  1713,  1714,  1779,  3059,  1795,  1784,  3060,  2129,  1141,
10485     1632,  1795,  3062,  2130,  3064,  3065,  1142,  3167,  2131,   308,
10486     2134,  2135,  2247,  2988,  3528,  1716,  3080,  1777,   258,  2138,
10487     1612,  2143,  2144,  1777,  1633,  3089,  2145,  4003,  1075,  3097,
10488     2146,  2169,  1142,  2147,  2148,  1170,  3012,  2149,  1794,  2150,
10489     2151,  2152,  3105,  2153,  1794,  3022,  2154,   308,  1363,  3211,
10490     3028,  3213,  3214,  1810,  1717,  2155,  1175,  1780,  3037,  1810,
10491     1785,  2168,  2214,  1780,  1462,  1212,  1785,  1778,  3047,  2228,
10492      518,  2170,  2171,  1778,  1799,   519,   520,   521,  2172,  1602,
10493     1799,  1796,  3404,   308,  3149,  2173,  2174,  1796,  2177,  2178,
10494     2179,  2180,  3156,  1231,  3158,  2181,  2182,  2217,  1800,  2218,
10495     2183,   308,  1677,  2184,  1800,  1776,   522,  3083,  2185,  2219,
10496     2186,  1776,  2187,  1708,  2188,  2189,  3565,  2190,  2220,  2191,
10497     2221,  1801,  2224,  3294,  2192,  2193,  2194,  1801,   523,  2229,
10498     2195,   524,  3307,  1805,  2230,   546,  2231,  2232,  2233,  1805,
10499     3320,  2234,  2235,   308,  2236,   308,   308,  1806,  2239,  1634,
10500     2240,  2250,  2401,  1806,   258,  2585,  2586,  2587,  2588,  2589,
10501     2590,  1807,  2255,  2593,  2594,  1808,  2595,  1807,  2251,  2252,
10502     2253,  1808,  2254,  2256,  2263,  2264,  2267,  2567,  2568,  2268,
10503     2269,  2270,  1813,  2272,  2273,  2271,  2274,  1828,  1813,  2275,
10504     1829,  2286,  1410,  1828,  2584,  2287,  1829,  2133,  1830,  2290,
10505     2291,  2311,  2312,  2331,  1830,  2313,  1797,  2314,  2315,  2316,
10506     1831,  2097,  1797,  1112,  2319,  2320,  1831,   308,  2321,  1832,
10507     2322,  2323,  2324,  2325,  1833,  1832,   308,  2326,  2327,   258,
10508     1833,  2329,  2328,  2332,   308,   258,  2335,  2336,  3325,  3326,
10509     1599,  2333,  1861,  3223,   843,  3330,  3331,  2337,  3333,  3334,
10510     3335,  3446,  3337,  3481,  2334,  2352,  2353,   864,  1648,  2354,
10511     1405,  2357,  1406,  1675,  2681,  2360,   970,  2069,  2361,  1687,
10512     2362,  1698,  2363,  2364,  1705,  2365,  2366,  1112,  1112,  1112,
10513     1112,  3433,   526,  3410,   904,  1112,  1112,  1112,  1112,  1112,
10514     1112,  1112,  1112,  1112,  1112,  1112,  1112,  1112,  1112,  1112,
10515     1112,  1112,  1112,  2046,  1600,  1112,  1112,  1112,  1112,  1112,
10516     1112,  1112,  1112,  1112,  1112,  1112,  2367,  2368,  3311,  2369,
10517     2370,  2371,  1649,  2372,  3322,   518,   512,  1676,  3394,  2373,
10518      519,   520,   521,  1688,  2374,  1699,  2375,  2791,  1706,  2376,
10519     2377,   258,  2378,  2798,  2379,  2380,  2381,  2382,  2802,  2383,
10520     2384,  2385,   450,  2386,  2387,  2388,  2389,  2390,  2811,  2391,
10521     2392,   522,  2393,  2394,   512,  2395,  2396,   512,  2405,   512,
10522     2397,   450,   591,  2404,  2406,  2407,  2831,  2408,   487,   488,
10523      451,  1565,  2409,   523,  2410,  3546,   524,  2449,  3547,   258,
10524     2411,  3548,  2412,  2413,  2414,  2415,  2416,  2417,  2418,   451,
10525     2419,  2420,  2421,  2422,  2423,  1566,  1567,  1118,  1786,  2424,
10526     1787,  2425,  2426,  2427,  1786,  2428,  1787,  1154,  2429,  2430,
10527     2238,  2431,  2432,  3684,  2433,  3686,  2434,  2435,  2436,  2437,
10528     3395,  2438,  2439,  2440,  2441,  2442,  2443,  2444,  2445,  2895,
10529     1118,  2898,  2446,  2447,  2448,  2450,   489,  2451,   442,   443,
10530      444,  2452,  2453,  2454,   445,   446,   447,   448,  2455,  2456,
10531     2457,  2458,   490,  2459,  2460,   489,  2461,  2462,  2463,  3461,
10532      512,  3421,   449,  1565,   966,  2464,  2465,  2466,  3406,  2467,
10533     2468,   490,   450,  2469,  2470,  3425,  2471,  3741,  2483,  3428,
10534     2472,  3483,  2473,   834,  2474,   964,  2515,  1566,  1567,  2475,
10535     2476,  2477,  2478,  2479,   491,  2480,  2481,  2482,   525,  1962,
10536      451,   512,  3438,  2484,  2485,  2488,  2486,  2487,   873,  3934,
10537     2489,  2490,  2491,   491,  2492,  3935,  3936,  3937,  3938,  3939,
10538     3940,  2494,    21,  2493,  2495,  2496,  2498,   526,  2497,  3002,
10539     3941,   591,  2499,  2500,  2997,  2507,  2508,   940,  3942,  1113,
10540     2509,  1962,  2510,  1155,  2511,  2539,  2512,  1113,  2518,   452,
10541     2521,   258,  2540,   308,  2522,  2523,  1156,  2524,   308,  2527,
10542     2528,   492,  2532,  2533,  2534,  3031,  2535,  2536,   454,  2537,
10543     2538,  3038,  3039,  3040,  3041,  2541,  2542,  3477,  2543,  2544,
10544      492,  2545,  2546,  2548,  2550,  1568,  1569,   454,  2551,  2549,
10545     3484,  2554,  2558,  2555,  2604,  2556,  2562,   512,  2559,  2606,
10546     2557,  2608,  2560,  2561,  3063,  2614,  3615,  2684,  2563,  2585,
10547     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,  3287,
10548     2595,  3287,  3287,  1157,  2564,  2565,  2566,  1570,  1571,  2569,
10549     1572,  1573,  2570,  1574,  1575,  1576,  1702,  2571,  2572,  2573,
10550     3460,  2574,  2575,  2576,  1113,  2577,  2578,  2579,  2580,  2581,
10551     2582,  1578,  2583,  2598,  3825,  2615,  3513,  3514,  2649,  2620,
10552      452,   453,  2600,   456,   457,  2621,  2623,  2625,   512,    40,
10553     3521,  3501,  2610,  3521,  2640,  2641,  2642,  1568,  1569,  2645,
10554     2647,  2652,   456,   457,  3625,  2651,   258,  1158,   258,  2653,
10555     2655,  3848,   512,  2656,  3853,  2657,  2672,  2680,   454,   455,
10556     1111,  3626,   512,  2683,  2682,  2690,    21,  2698,   512,  2699,
10557      258,  2701,  2703,  2704,  2716,  2717,  2718,   512,  2719,  1570,
10558     1571,  1596,  1572,  1573,  2726,  1574,  1575,   512,  1113,  1113,
10559     2727,   304,  1577,  2731,  2733,  2741,  2925,  2926,  2927,  2928,
10560     2751,  1113,  2760,  1578,  2931,  2932,  2933,  2934,  2935,  2936,
10561     2937,  2938,  2939,  2940,  2941,  2942,  2943,  2944,  2945,  2946,
10562     2947,  2948,  2759,   512,  2951,  2952,  2953,  2954,  2955,  2956,
10563     2957,  2958,  2959,  2960,  2961,  3530,  3560,  3531,  3561,  3562,
10564     3563,  2761,  3566,  2765,  2769,    69,  2774,  2775,  2781,  2777,
10565     2773,  2782,  2795,   456,   457,  2796,  2797,  2799,  2800,  3537,
10566     2801,  3928,  2804,  2803,  2805,  3932,   493,   494,  2806,  2808,
10567     2809,  2810,  2812,   258,   258,   258,  2813,  2818,   258,  2197,
10568     2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,  3699,
10569     2207,  2814,  3960,  2833,  2822,  2834,  2823,  2815,  2125,  2197,
10570     2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,   258,
10571     2207,  2816,  2828,    40,  3338,  3339,  3340,  3341,  2830,  2836,
10572     3342,  3343,  3344,  3345,  3346,  3347,  3348,  3349,  3350,  3351,
10573     3352,  3353,  3354,  3355,  3356,  2848,  3358,  3359,  3360,  3361,
10574     3362,  3363,  3364,  3365,  3366,  3367,  3368,  2837,  2840,  1113,
10575     2841,  2842,  2846,  2847,  2855,  2850,  4001,  2860,  2851,  2872,
10576     2853,  2902,  2857,   512,  2871,  2903,  2858,  2907,    91,    92,
10577       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
10578      103,   104,   105,   106,   107,   108,   109,  2873,  2197,  2198,
10579     2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,  3581,  2207,
10580     2908,   964,  2880,  2875,  3899,  2910,  2879,  2912,   258,  2913,
10581     1159,  2883,  2914,  2884,  2885,  2922,  2207,  1112,  2965,  2970,
10582     2972,  2976,  2984,  3009,  2886,  1112,  3015,  3032,  3023,    69,
10583     2887,  2891,  3024,  4052,   442,   443,   444,  3025,    21,  2892,
10584      445,   446,   447,   448,  3043,  2894,   478,  3066,  2896,  3074,
10585     2962,   512,  3075,  3081,  3085,  3090,  2964,   479,   449,  3098,
10586     4052,  3099,   512,  3100,  2967,  2974,  2975,  3102,   450,  2197,
10587     2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,  3113,
10588     2207,  2980,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,
10589     2593,  2594,  3114,  2595,  2981,  2992,   451,  3588,  3004,  2585,
10590     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,  3091,
10591     2595,  3006,  3115,  3008,   480,  4122,  3010,  3116,  3017,  3117,
10592     3034,  4128,  1112,  3030,  3118,  3261,  1898,  3119,  3673,  3042,
10593     2595,  3120,  3674,  3121,  3069,   512,  3900,  4122,  3086,  3122,
10594      965,  3123,  3124,  3087,   591,  3088,   512,  3426,  3615,  3125,
10595     3109,  3429,    91,    92,    93,    94,    95,    96,    97,    98,
10596       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
10597      109,  3127,   834,  3136,  3112,  3128,  3137,  3140,  3152,  3133,
10598     3163,  3164,   873,  4173,  3146,    40,   591,  3134,  3165,  3135,
10599     3166,  1565,   940,  3154,  3957,  3168,  1113,  1113,  3170,  3174,
10600      512,  3138,  3175,  1113,  3169,  3176,  1112,  1112,  3155,  3157,
10601     3177,  3740,  3159,  3178,  3181,  1566,  1567,  3182,  3183,  1112,
10602     3958,  3184,  3185,  1113,  1113,  3186,  3188,  2585,  2586,  2587,
10603     2588,  2589,  2590,  2591,  2592,  2593,  2594,  3189,  2595,  3190,
10604     3191,  3192,  3193,  3194,  1113,  3195,  1113,   304,  3196,  3197,
10605     3479,  3198,   258,  3199,  3200,  3201,   452,   453,  3202,  3761,
10606     3979,  3203,  3204,  3205,  3210,  3208,  3212,  3216,   510,  3217,
10607      512,   512,  3220,  3231,  3225,  3233,  3234,   512,  2585,  2586,
10608     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,  3237,  2595,
10609     3238,  3239,  3240,  3244,   454,   455,  3245,  4015,  3778,  3246,
10610     3247,    69,  3249,  3250,  1113,    21,  3253,  3255,  3258,  3257,
10611     3272,  3260,  3264,   512,   945,  3265,  3268,   946,  3275,  3269,
10612     3276,   512,  3278,  3289,  3295,  3285,  3299,  3293,   512,  3515,
10613     3572,  3297,  3298,  3300,  3303,  3308,  3309,  3313,  3316,  3324,
10614      947,  3755,  2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,
10615     2205,  2206,  3529,  2207,   948,  3397,  3808,  3396,  3328,  3811,
10616     3369,  3378,  3814,  3389,  3390,  3414,  3534,  1112,  3388,  3422,
10617     2053,  3417,  3424,   510,   949,  3423,  3883,  1111,  2199,  2200,
10618     2201,  2202,  2203,  2204,  2205,  2206,  3439,  2207,  3440,   456,
10619      457,  3441,  3443,  3447,  3448,  3451,  2118,  3454,  4084,  4085,
10620     3457,  3466,  3458,  3467,  3473,  1568,  1569,  3487,  3488,  3482,
10621       21,  3509, -2208,  3512,  3523,  3526,  3533,  3564,  3842,  3550,
10622     3568,  3578,  3584,  3585,    91,    92,    93,    94,    95,    96,
10623       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
10624      107,   108,   109,  3579,  3586,  3587,  3591,  1570,  1571,  3592,
10625     1572,  1573,    40,  1574,  1575,  1576,  3616,  3619,  2209,  3875,
10626     1577,  3876,  3622,  3879, -2207,   950,   951,  4145,  4146,  3648,
10627      308,  1578,  1113,  3617,  2197,  2198,  2199,  2200,  2201,  2202,
10628     2203,  2204,  2205,  2206,   952,  2207,  3453,  3620,  3621,  3623,
10629     3624,  3649,  1113,  1113,  3459,   512,  3650,  3667,  -868,  3382,
10630     3670,  3676,  1182,  3687,  3678,  3690,  3698,  3701,  3706,  3703,
10631     3912,  3912,  3708,  3709,  3711,  3719,  3714,  3720,  3721,  3724,
10632     3733,  1111,  1111,  3742,  1465,  3749,  3775,  3791,  3756,  4184,
10633     3922,  3757,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,
10634     2593,  2594,  1111,  2595,  3744,  3767,  3797,  3752,   953,  3762,
10635     3780,  3798,  3951,  3781,  3799,  3954,  3782,    40,  2585,  2586,
10636     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,    69,  2595,
10637     3783,  3784,  3792,  3800,  3801,   593,  3802,  3987,   954,  3803,
10638     3804,  3805,  3809,  3812,  3813,   598,  3815,  3816,  3827,  3828,
10639      600,  3510,  3829,  3833,  3844,  3835,  3464,  3834,  2585,  2586,
10640     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,  3856,  2595,
10641     3857,  3858,  3863,  3870,  1112,  1112,  3866,  2246,  3992,  3872,
10642     1113,  1112,  3892,  3874,   603,   604,  3877,   450,  3886,  3887,
10643     3893,   605,   606,   607,  3918,  3924,  3435,  3907,  3966,  1113,
10644     1113,  1112,  1112,  3988,  3947,  3891,  3963,  3948,  1182,  3967,
10645     3949,  4013,   609,  4013,  1465,   451,  3952,  3968,  3969,  3972,
10646      955,  4028,  1112,  3970,  1112,  2587,  2588,  2589,  2590,  2591,
10647     2592,  2593,  2594,    69,  2595,  3544,  3545,  3973,  3984,  -870,
10648     3989,  3993,  3995,  3996,  3998,   612,   613,  4000,  3549,  4018,
10649     4024,    91,    92,    93,    94,    95,    96,    97,    98,    99,
10650      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
10651     4022,  4037,  4023,  4049,   615,   616,   617,  4025,  4029,  4038,
10652     3646,  4048,  1112,  4039,  4054,  4057,  4040,  4060,   510,  4061,
10653     4070,  4041,  4046,  4071,  4098,  4042,  4066,   490,   625,   626,
10654      450,   627,   628,  4043,  4063,  4074,  4103,  4106,  4077,  4107,
10655     3839,  4082,  4110,  4113,  4078,  4081,  4117,  -872,  4139,  4155,
10656     4086,  4157,  4094,  4095,  4088,    21,  4097,   643,   644,  4087,
10657     4168,  4160,  4169,  4179,  4170,  4180,  4096,  4185,  3700,  4101,
10658     4109,  4186,  4112,  4125,  3705,  4116,  4133,  4137,  4138,  4187,
10659     4142,  4143,  4189,  4175,  4156,  3712,    91,    92,    93,    94,
10660       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
10661      105,   106,   107,   108,   109,   452,  4197,   664,  4161,  4203,
10662     4162,  4178,   666,  4181,  4183,  4225,  4193,  4147,  3745,  4207,
10663      669,   670,  4204,   671,  4198,  1834,  3582,  1120,  1121,  4212,
10664     4216,  4163,  4226,  4227,  4235,  4236,  4167,  4237,  4217,  4218,
10665     4229,  4233,   674,  1122,  4244,  4245,  4247,  4248,  4246,   523,
10666     4249,   676,  1123,   511,  4254,  4251,  4255,  3759,  4256,  4258,
10667     4260,   525,  4259,  4261,  4264,  1124,  4263,  4269,  3763,   679,
10668     2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,
10669     1112,  2595,  4268,  4270,  4272,  4188,   434,  4273,  3094,  3108,
10670      526,  4195,  4196,  3567,  3111,  3068,   681,   682,  4167,  3913,
10671     1112,  1112,    40,   683,  3920,  2585,  2586,  2587,  2588,  2589,
10672     2590,  2591,  2592,  2593,  2594,  4213,  2595,  4194,  3442,  3281,
10673     2817,  2874,  3732,  4224,  1125,  3725,  3517,  3267,  4228,  1002,
10674     4230,  3468,  3796,  4105,  4199,  3284,  4202,  4073,   456,   457,
10675     3277,  3734,  3525,  2882,  3323,  1760,  3312,  4238,  3296,  3003,
10676     2648,   541,  3020,  3292,  3432,  3153,  1857,  3946,   584,  2035,
10677     1864,  3962,  1003,  3826,  1868,   593,  3817,  3818,   595,  2778,
10678     4129,  3855,  2041,  3850,   258,   598,  2849,  2915,  2878,   989,
10679      600,  2137,  4262,  3819,  3045,  3820,  2285,   512,  3207,  2619,
10680     3033,  2056,  2624,  3224,  3259,  3221,  3256,  1126,  3254,  4271,
10681     3147,  1127,  2989,   526,  3248,  1128,  2197,  2198,  2199,  2200,
10682     2201,  2202,  2203,  2204,  2205,  2206,  3029,  2207,    69,  3084,
10683     3243,   605,   606,   607,   990,   991,  2675,  2819,  1112,  2074,
10684     1947,  3014,  3475,  2654,  2893,  3452,  2637,  3011,  3908,  3859,
10685     3860,  2993,  3862,   510,  3931,  3914,     0,  1112,  1112,  3327,
10686     3869,     0,   685,   839,   840,     0,   992,     0,  3873,  2128,
10687        0,     0,     0,  4257,   993,     0,  2807,     0,     0,     0,
10688        0,     0,     0,  3726,  3727,   612,   613,   614,     0,     0,
10689       21,     0,     0,     0,     0,     0,   994,   995,   996,     0,
10690        0,     0,     0,     0,     0,     0,     0,  3904,  3905,     0,
10691     3747,  3748,     0,     0,   615,   616,   617,     0,  3910,     0,
10692        0,     0,     0,     0,   997,     0,     0,     0,     0,     0,
10693        0,  3750,     0,  3751,     0,     0,     0,     0,   688,     0,
10694        0,  4136,     0,     0,     0,     0,     0,     0,     0,   998,
10695        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
10696      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
10697        0,     0,  3959,     0,     0,     0,     0,     0,   646,     0,
10698     3961,     0,     0,     0,  1835,  1836,  1837,  1838,  1839,  1840,
10699     1841,  3779,     0,     0,     0,     0,   690,   691,   692,   693,
10700      694,   695,     0,     0,  2585,  2586,  2587,  2588,  2589,  2590,
10701     2591,  2592,  2593,  2594,     0,  2595,     0,   664,   999,     0,
10702     1000,     0,   666,     0,     0,  1001,  1002,     0,     0,     0,
10703      669,   670,   510,   671,     0,   672,     0,    40,     0,     0,
10704        0,     0,     0,     0,     0,     0,     0,   673,   541,  2585,
10705     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,  1003,
10706     2595,     0,     0,     0,     0,     0,     0,     0,  1004,    21,
10707     1005,   525,     0,     0,  4033,  2950,     0,     0,     0,   679,
10708      542,  1006,     0,     0,     0,     0,     0,     0,     0,     0,
10709        0,  1007,  1008,  1009,     0,     0,     0,     0,     0,     0,
10710      526,     0,     0,     0,     0,     0,   681,   682,  4044,  4045,
10711        0,     0,     0,   683,     0,     0,     0,     0,     0,     0,
10712        0,     0,     0,   817,     0,     0,     0,     0,     0,     0,
10713     4062,     0,     0,     0,     0,  2601,  2246,  2603,  4067,  2246,
10714        0,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  4102,
10715     2594,  2622,  2595,    69,     0,     0,  2627,     0,     0,     0,
10716        0,     0,     0,     0,     0,  2643,  2644,     0,  2646,     0,
10717        0,     0,  2650,     0,     0,     0,     0,     0,     0,  3901,
10718     3902,  2567,  2568,     0,     0,     0,  4104,  2197,  2198,  2199,
10719     2200,  2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,     0,
10720     2685,  4118,  2687,  2688,  2689,     0,     0,     0,     0,     0,
10721        0,     0,  2700,     0,  2702,     0,    40,     0,  2709,  2710,
10722     2711,  2712,  2713,  2714,  2715,     0,     0,     0,     0,  2246,
10723        0,  2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,
10724     2206,  2745,  2207,  4153,  4154,     0,     0,     0,     0,     0,
10725        0,  2762,  2764,  3366,     0,  2768,     0,     0,     0,     0,
10726        0,  2776,   685,  3357,     0,     0,     0,     0,     0,     0,
10727        0,     0,  4174,     0,     0,     0,    91,    92,    93,    94,
10728       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
10729      105,   106,   107,   108,   109,     0,     0,     0,     0,     0,
10730        0,     0,     0,     0,     0,     0,     0,  3994,  3476,  2246,
10731        0,     0,     0,     0,     0,     0,  4033,     0,     0,  2843,
10732     2844,  2845,     0,  4205,     0,     0,  4004,  4005,     0,     0,
10733        0,     0,    69,     0,     0,     0,     0,     0,  1111,     0,
10734        0,     0,  2869,  2870,     0,     0,     0,     0,     0,     0,
10735        0,     0,     0,  2881,  2197,  2198,  2199,  2200,  2201,  2202,
10736     2203,  2204,  2205,  2206,     0,  2207,     0,     0,     0,     0,
10737        0,     0,     0,  4242,  4243,     0,  2901,     0,     0,     0,
10738     2906,     0,     0,  2909,     0,  2911,  4250,     0,     0,     0,
10739        0,     0,     0,     0,     0,     0,   690,   691,   692,   693,
10740      694,   695,  1111,  1111,  1111,  1111,     0,     0,     0,     0,
10741     1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,
10742     1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,     0,     0,
10743     1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,
10744     1111,     0,     0,     0,     0,     0,  3485,     0,   869,     0,
10745     2968,  2969,     0,  2971,     0,    91,    92,    93,    94,    95,
10746       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
10747      106,   107,   108,   109,  2995,  2996,     0,     0,  2246,     0,
10748      510,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10749     3486,     0,     0,     0,     0,     0,  3018,  2197,  2198,  2199,
10750     2200,  2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,     0,
10751        0,     0,     0,   433,     0,     0,     0,    21,     0,     0,
10752     3044,     0,     0,     0,     0,     0,     0,     1,     2,  2197,
10753     2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,     0,
10754     2207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10755        0,     0,     3,     4,     5,     6,     7,     0,     0,     0,
10756        8,     0,     0,     0,     0,     0,     0,     9,     0,     0,
10757        0,     0,     0,     0,     0,     0,     0,    10,    11,    12,
10758        0,     0,     0,    13,     0,    14,    15,    16,    17,    18,
10759        0,     0,  1071,     0,     0,     0,     0,     0,    19,    20,
10760        0,    21,     0,     0,     0,     0,  3126,     0,    22,  3131,
10761     3132,     0,     0,  3489,    23,     0,     0,  3139,     0,  3141,
10762     3142,  3143,  3144,  3145,     0,     0,     0,  1069,     0,    21,
10763       24,    25,    26,    27,     0,     0,     0,     0,     0,     0,
10764        0,     0,    28,     0,    29,    30,     0,     0,     0,     0,
10765        0,     0,     0,     0,  3179,  3180,     0,     0,    31,     0,
10766        0,     0,  3187,     0,    40,  2197,  2198,  2199,  2200,  2201,
10767     2202,  2203,  2204,  2205,  2206,     0,  2207,    32,     0,     0,
10768        0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
10769        0,     0,     0,     0,  2246,     0,     0,     0,     0,     0,
10770        0,  3228,  3229,  3230,     0,  3232,     0,     0,  3235,  3236,
10771       34,    35,    36,    37,  3241,  3242,    38,     0,     0,     0,
10772        0,     0,     0,     0,  2246,  2246,     0,    39,  2585,  2586,
10773     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,
10774        0,     0,     0,  3273,     0,     0,     0,     0,    40,     0,
10775        0,     0,     0,    41,     0,     0,  3490,  2585,  2586,  2587,
10776     2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,     0,
10777        0,     0,     0,    42,     0,    43,    40,    44,    45,     0,
10778       69,     0,     0,     0,     0,     0,    46,     0,  3491,    47,
10779        0,    48,    49,     0,     0,     0,    50,    51,  2197,  2198,
10780     2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,
10781     2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,
10782        0,  2207,     0,    52,    53,     0,   510,    54,    55,    56,
10783        0,    57,    58,     0,     0,     0,     0,    59,     0,     0,
10784       60,     0,     0,     0,     0,    61,    62,     0,     0,     0,
10785        0,    63,     0,     0,     0,    64,    65,    66,     0,     0,
10786       67,     0,    68,    21,    69,     0,    70,     0,     0,     0,
10787        0,     0,    71,    72,    73,     0,    74,    75,    76,     0,
10788       77,    78,    79,    80,    81,    82,     0,     0,    83,     0,
10789        0,     0,    69,     0,     0,    84,    85,     0,     0,     0,
10790        0,    86,     0,    91,    92,    93,    94,    95,    96,    97,
10791       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
10792      108,   109,     0,     0,  3492,     0,     0,     0,     0,     0,
10793        0,     0,     0,     0,    87,    88,     0,     0,     0,     0,
10794        0,   510,  2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,
10795     2205,  2206,     0,  2207,  2995,  2996,     0,     0,     0,     0,
10796        0,     0,     0,     0,     0,     0,  2246,  2246,     0,    89,
10797        0,     0,     0,     0,    90,     0,     0,     0,    21,     0,
10798        0,     0,     0,     0,     0,  2596,     0,    91,    92,    93,
10799       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
10800      104,   105,   106,   107,   108,   109,     0,     0,     0,     0,
10801       40,     0,     0,     0,  2900,    91,    92,    93,    94,    95,
10802       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
10803      106,   107,   108,   109,     0,     0,     0,   110,     0,     0,
10804        0,   111,   112,   510,     0,   113,   114,     0,   115,   116,
10805      117,   118,   119,   120,     0,     0,     0,  3493,     0,     0,
10806        0,   121,     0,     0,     0,     0,   122,   123,   124,  3494,
10807        0,     0,     0,     0,   125,  1070,     0,     0,     0,     0,
10808       21,     0,     0,     0,   510,     0,     0,     0,     0,     0,
10809        1,     2,  1111,     0,     0,     0,   126,   127,     0,     0,
10810     1111,     0,     0,     0,     0,     0,     0,   128,   129,     0,
10811        0,     0,     0,  3465,     0,     3,     4,     5,     6,     7,
10812        0,    21,     0,     8,     0,    40,    69,     0,     0,     0,
10813        9,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10814       10,    11,    12,     0,     0,     0,    13,     0,    14,    15,
10815       16,    17,    18,   510,     0,     0,   130,     0,   131,     0,
10816        0,    19,    20,     0,    21,     0,     0,     0,     0,     0,
10817        0,    22,     0,     0,     0,     0,     0,    23,     0,     0,
10818        0,     0,     0,     0,     0,     0,     0,  1072,     0,     0,
10819       21,     0,     0,    24,    25,    26,    27,  1111,     0,     0,
10820        0,  3495,     0,     0,     0,    28,     0,    29,    30,     0,
10821        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10822        0,    31,     0,     0,     0,     0,     0,    40,     0,     0,
10823        0,  2246,     0,  2246,     0,     0,     0,     0,     0,     0,
10824       32,    69,     0,     0,     0,     0,     0,     0,    33,    91,
10825       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
10826      102,   103,   104,   105,   106,   107,   108,   109,    40,     0,
10827        0,     0,     0,    34,    35,    36,    37,     0,     0,    38,
10828        0,  1111,  1111,     0,     0,     0,     0,     0,     0,     0,
10829       39,     0,     0,     0,  1111,     0,     0,     0,     0,     0,
10830        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10831        0,    40,     0,     0,     0,     0,    41,  2585,  2586,  2587,
10832     2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,     0,
10833        0,     0,     0,     0,     0,  2246,    42,    40,    43,     0,
10834       44,    45,     0,    69,     0,     0,     0,     0,     0,    46,
10835        0,   510,    47,     0,    48,    49,     0,     0,     0,    50,
10836       51,  2246,  2246,     0,    91,    92,    93,    94,    95,    96,
10837       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
10838      107,   108,   109,     0,    69,     0,    52,    53,    21,     0,
10839       54,    55,    56,     0,    57,    58,     0,     0,     0,     0,
10840       59,     0,     0,    60,     0,     0,     0,     0,    61,    62,
10841        0,     0,   510,     0,    63,     0,     0,     0,    64,    65,
10842       66,  1115,    21,    67,     0,    68,     0,    69,     0,    70,
10843        0,     0,     0,     0,     0,    71,    72,    73,     0,    74,
10844       75,    76,  1111,    77,    78,    79,    80,    81,    82,    21,
10845        0,    83,     0,    69,     0,     0,     0,     0,    84,    85,
10846        0,     0,   510,     0,    86,     0,    91,    92,    93,    94,
10847       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
10848      105,   106,   107,   108,   109,  2197,  2198,  2199,  2200,  2201,
10849     2202,  2203,  2204,  2205,  2206,     0,  2207,    87,    88,    21,
10850        0,     0,  2246,     0,     0,     0,     0,    91,    92,    93,
10851       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
10852      104,   105,   106,   107,   108,   109,     0,     0,     0,     0,
10853        0,     0,    89,     0,     0,    40,  1146,    90,  2585,  2586,
10854     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,
10855       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
10856      101,   102,   103,   104,   105,   106,   107,   108,   109,    40,
10857        0,     0,     0,     0,  3403,     0,    91,    92,    93,    94,
10858       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
10859      105,   106,   107,   108,   109,     0,    40,     0,     0,     0,
10860      110,     0,     0,     0,   111,   112,     0,     0,   113,   114,
10861        0,   115,   116,   117,   118,   119,   120,     0,     0,     0,
10862        0,     0,     0,     0,   121,     0,     0,     0,     0,   122,
10863      123,   124,     0,     0,     0,     0,     0,   125,  1178,     0,
10864        0,     0,  2246,     0,  2246,     0,    40,     0,     0,     0,
10865        0,    69,     0,     0,     0,     0,     0,     0,     0,   126,
10866      127,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10867      128,   129,     0,     0,     0,     0,     0,     0,     0,  1215,
10868        0,     0,     0,     0,     0,    69,     0,     0,     0,  1111,
10869     1111,     0,     0,     0,     0,     0,  1111,     0,     0,     0,
10870        0,     0,     0,     0,     0,     0,  2246,     0,     0,     0,
10871        0,     0,    69,     0,     0,     0,  1111,  1111,     0,   130,
10872        0,   131,  2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,
10873     2205,  2206,     0,  2207,     0,     0,     0,  1111,     0,  1111,
10874        0,     0,     0,     0,  3496,     0,     0,     0,  1234,     0,
10875        0,     0,     0,     0,     0,     0,     0,     0,  2246,     0,
10876        0,     0,    69,     0,     0,     0,     0,     0,     0,     0,
10877        0,     0,     0,     0,    91,    92,    93,    94,    95,    96,
10878       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
10879      107,   108,   109,     0,     0,  -766,     0,  1111,     0,     0,
10880        0,     0,     0,     0,     0,     0,     0,     0,    91,    92,
10881       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
10882      103,   104,   105,   106,   107,   108,   109,     0,     0,     0,
10883        0,     0,     0,     0,     0,    91,    92,    93,    94,    95,
10884       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
10885      106,   107,   108,   109,     0,     0,     0,     0,     0,     0,
10886        0,     0,     0,     0,     0,  2197,  2198,  2199,  2200,  2201,
10887     2202,  2203,  2204,  2205,  2206,     0,  2207,     0,     0,     0,
10888        0,     0,  3824,  2246,     0,    91,    92,    93,    94,    95,
10889       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
10890      106,   107,   108,   109,     0,     0,     0,  2197,  2198,  2199,
10891     2200,  2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,     0,
10892     2246,     0,     0,  2246,  2197,  2198,  2199,  2200,  2201,  2202,
10893     2203,  2204,  2205,  2206,     0,  2207,     0,     0,   593,   594,
10894        0,   595,   596,     0,   597,     0,  1248,     0,   598,     0,
10895        0,   599,     0,   600,     0,  2197,  2198,  2199,  2200,  2201,
10896     2202,  2203,  2204,  2205,  2206,  1111,  2207,     0,     0,     0,
10897        0,   601,     0,     0,     0,     0,     0,     0,     0,   602,
10898      449,  3497,     0,  2257,     0,  1111,  1111,   603,   604,     0,
10899      450,     0,     0,     0,   605,   606,   607,  2197,  2198,  2199,
10900     2200,  2201,  2202,  2203,  2204,  2205,  2206,  1259,  2207,     0,
10901        0,     0,   608,     0,     0,   609,   487,   488,   610,     0,
10902        0,     0,   611,     0,     0,     0,     0,     0,     0,     0,
10903     2246,     0,  3930,     0,  2246,     0,   480,     0,     0,     0,
10904        0,     0,     0,     0,     0,     0,     0,     0,   612,   613,
10905      614,     0,     0,     0,     0,     0,     0,  1260,     0,     0,
10906        0,  2246,     0,  2197,  2198,  2199,  2200,  2201,  2202,  2203,
10907     2204,  2205,  2206,     0,  2207,     0,     0,   615,   616,   617,
10908        0,   618,   619,   620,   489,     0,     0,     0,     0,     0,
10909        0,     0,   621,   622,     0,     0,     0,   623,   624,     0,
10910      490,   625,   626,     0,   627,   628,     0,     0,     0,     0,
10911        0,     0,     0,  1111,   629,   630,   631,   632,   633,   634,
10912      635,   636,   637,   638,  3498,  2246,   639,   640,   641,   642,
10913      643,   644,  1111,  1111,     0,     0,     0,     0,     0,     0,
10914      645,   646,   491,   647,   648,   649,   650,   651,   652,     0,
10915      653,   654,     0,     0,   655,   656,     0,     0,     0,   657,
10916        0,     0,     0,   658,   659,   660,  3499,     0,     0,   661,
10917        0,   662,     0,     0,   663,     0,     0,     0,   452,   453,
10918      664,     0,   665,  3500,     0,   666,   667,   668,     0,     0,
10919        0,     0,     0,   669,   670,     0,   671,     0,   672,     0,
10920        0,     0,  2246,     0,     0,     0,     0,     0,     0,     0,
10921      673,     0,     0,     0,  3502,   674,   454,   455,     0,     0,
10922      675,     0,     0,     0,   676,     0,     0,     0,     0,  2246,
10923        0,     0,     0,     0,   525,   677,   678,     0,     0,     0,
10924        0,     0,   679,     0,  2585,  2586,  2587,  2588,  2589,  2590,
10925     2591,  2592,  2593,  2594,     0,  2595,  3503,     0,   680,     0,
10926        0,     0,     0,   526,     0,     0,     0,     0,     0,   681,
10927      682,   593,     0,     0,     0,     0,   683,     0,     0,     0,
10928        0,   598,     0,     0,  2246,     0,   600,     0,     0,     0,
10929     2246,     0,   684,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
10930     2592,  2593,  2594,     0,  2595,     0,  2246,     0,     0,     0,
10931        0,   456,   457,     0,     0,     0,     0,     0,     0,     0,
10932      603,   604,  3508,   450,     0,     0,     0,   605,   606,   607,
10933        0,  1761,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,
10934     2593,  2594,     0,  2595,     0,     0,     0,     0,   609,     0,
10935        0,   451,  2246,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
10936     2592,  2593,  2594,     0,  2595,  2585,  2586,  2587,  2588,  2589,
10937     2590,  2591,  2592,  2593,  2594,     0,  2595,     0,     0,     0,
10938        0,   612,   613,   593,     0,     0,   595,     0,     0,     0,
10939        0,     0,     0,     0,     0,     0,   599,   989,  2585,  2586,
10940     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,
10941      615,   616,   617,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
10942     2592,  2593,  2594,     0,  2595,   685,     0,     0,     0,     0,
10943        0,     0,     0,   490,   625,   626,     0,   627,   628,   605,
10944      606,   607,   990,   991,     0,     0,     0,     0,     0,     0,
10945        0,     0,     0,   686,   493,   494,     0,     0,     0,     0,
10946      687,     0,     0,   643,   644,     0,     0,  2585,  2586,  2587,
10947     2588,  2589,  2590,  2591,  2592,  2593,  2594,   593,  2595,     0,
10948      595,     0,   993,     0,     0,     0,     0,     0,     0,     0,
10949        0,   989,     0,   612,   613,   614,     0,     0,     0,     0,
10950        0,   688,   689,  3524,   994,   995,   996,     0,  1204,     0,
10951        0,   452,     0,   664,     0,     0,     0,     0,   666,     0,
10952        0,     0,   615,   616,   617,     0,   669,   670,     0,   671,
10953        0,  1762,     0,   605,   606,   607,   990,   991,     0,     0,
10954        0,     0,     0,     0,     0,   490,     0,     0,   674,     0,
10955        0,     0,  3627,     0,     0,     0,     0,   676,     0,   690,
10956      691,   692,   693,   694,   695,     0,     0,   525,     0,     0,
10957        0,     0,     0,     0,     0,   679,   993,  1235,     0,     0,
10958        0,     0,     0,     0,     0,     0,   646,   612,   613,   614,
10959        0,  3628,     0,     0,     0,     0,   526,     0,   994,   995,
10960      996,     0,   681,   682,     0,     0,     0,     0,     0,   683,
10961        0,     0,  3629,     0,     0,     0,   615,   616,   617,     0,
10962        0,     0,     0,     0,  3630,   664,   999,     0,  1000,     0,
10963      666,     0,     0,  1001,  1002,     0,     0,     0,   669,   670,
10964        0,     0,     0,   672,   456,   457,     0,     0,     0,     0,
10965        0,  1252,     0,     0,     0,   673,   541,  3631,     0,     0,
10966        0,     0,     0,     0,     0,     0,     0,  1003,     0,     0,
10967        0,     0,  3632,     0,     0,     0,  1004,     0,  1005,   525,
10968      646,     0,     0,     0,     0,     0,     0,   679,   542,  1006,
10969        0,     0,     0,     0,     0,     0,     0,     0,     0,  1007,
10970     1008,  1009,     0,     0,     0,     0,     0,     0,   526,     0,
10971        0,     0,     0,     0,   681,   682,     0,     0,     0,   664,
10972      999,   683,  1000,     0,   666,     0,  3633,  1001,  1002,     0,
10973        0,     0,   669,   670,     0,     0,     0,   672,     0,     0,
10974        0,     0,     0,     0,     0,     0,     0,     0,     0,   673,
10975      541,     0,     0,     0,     0,     0,     0,     0,   685,     0,
10976     1205,  1003,     0,     0,     0,     0,     0,     0,     0,     0,
10977     1004,     0,  1005,   525,     0,     0,     0,     0,     0,     0,
10978        0,   679,   542,  1006,     0,     0,  1263,     0,     0,     0,
10979        0,     0,     0,  1007,  1008,  1009,     0,     0,     0,     0,
10980      593,     0,   526,   595,     0,     0,     0,     0,   681,   682,
10981        0,  2141,     0,     0,   989,   683,     0,     0,     0,  1236,
10982        0,     0,  1253,    21,  2585,  2586,  2587,  2588,  2589,  2590,
10983     2591,  2592,  2593,  2594,   688,  2595,     0,     0,     0,     0,
10984     1206,  2897,     0,     0,     0,     0,     0,     0,    21,  1080,
10985        0,     0,     0,     0,     0,     0,   605,   606,   607,   990,
10986      991,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10987      685,     0,     0,     0,     0,     0,     0,     0,    21,  1080,
10988     1763,  1764,  1765,  1766,  1767,  1768,  1769,  1770,  1771,  1772,
10989     1870,     0,   690,   691,   692,   693,   694,   695,  1081,   993,
10990     1235,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10991      612,   613,   614,     0,     0,     0,     0,     0,     0,     0,
10992     1870,   994,   995,   996,     0,     0,     0,     0,  1081,     0,
10993     1268,     0,     0,     0,     0,     0,  1871,     0,     0,   615,
10994      616,   617,     0,     0,     0,     0,     0,     0,     0,  1872,
10995        0,     0,     0,     0,     0,     0,     0,     0,     0,  1273,
10996        0,  1873,  1874,     0,   685,     0,  1871,    21,     0,     0,
10997       40,     0,     0,     0,     0,     0,     0,     0,     0,  1872,
10998        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10999        0,  1873,  1874,     0,     0,    40,    21,     0,     0,     0,
11000        0,  1875,     0,   646,   690,   691,   692,   693,   694,   695,
11001        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11002     1282,     0,     0,     0,     0,    40,     0,     0,     0,     0,
11003        0,  1875,     0,     0,     0,     0,     0,     0,     0,     0,
11004        0,     0,   664,   999,   510,  1000,     0,   666,     0,     0,
11005     1001,  1002,     0,     0,     0,   669,   670,    21,     0,     0,
11006      672,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11007        0,     0,   673,   541,     0,     0,  1334,     0,     0,     0,
11008        0,    21,     0,  3634,  1003,     0,    69,     0,     0,     0,
11009        0,     0,     0,  1004,     0,  1005,   525,     0,   690,   691,
11010      692,   693,   694,   695,   679,   542,  1006,     0,   510,     0,
11011        0,    69,     0,    21,    40,     0,  1007,  1008,  1009,     0,
11012        0,     0,     0,     0,     0,   526,     0,     0,     0,     0,
11013        0,   681,   682,     0,     0,   510,     0,     0,   683,     0,
11014        0,    69,  1236,    40,     0,    21,     0,     0,     0,     0,
11015        0,     0,     0,     0,     0,  1876,  1877,     0,     0,     0,
11016        0,  1878,  1879,  1880,  1881,  1882,  1883,  1884,  1885,  1886,
11017     1887,  1888,    21,     0,     0,  1889,  1890,  1891,  1892,     0,
11018        0,     0,     0,     0,     0,  1876,  1877,     0,     0,     0,
11019        0,  1878,  1879,  1880,  1881,  1882,  1883,  1884,  1885,  1886,
11020     1887,  1888,     0,     0,    40,  1889,  1890,  1891,  1892,    91,
11021       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11022      102,   103,   104,   105,   106,   107,   108,   109,    40,     0,
11023       69,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11024       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11025      107,   108,   109,     0,     0,     0,  2304,     0,     0,    69,
11026       40,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11027       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11028      107,   108,   109,     0,     0,     0,     0,   685,     0,     0,
11029        0,     0,    40,    21,  2585,  2586,  2587,  2588,  2589,  2590,
11030     2591,  2592,  2593,  2594,     0,  2595,     0,     0,  2307,     0,
11031        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
11032       69,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,
11033     2594,     0,  2595,     0,     0,   510,     0,     0,     0,     0,
11034        0,     0,     0,     0,    69,    21,     0,     0,     0,     0,
11035        0,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11036       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11037      108,   109,    21,  3392,     0,     0,    69,     0,     0,     0,
11038        0,  1264,    91,    92,    93,    94,    95,    96,    97,    98,
11039       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11040      109,   510,     0,     0,     0,     0,     0,  1893,    69,     0,
11041       21,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11042        0,   690,   691,   692,   693,   694,   695,     0,     0,   510,
11043        0,     0,     0,     0,     0,    69,     0,  1893,    21,     0,
11044       40,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11045       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11046      108,   109,     0,     0,     0,     0,    21,    91,    92,    93,
11047       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11048      104,   105,   106,   107,   108,   109,   510,     0,     0,     0,
11049       21,     0,    40,     0,     0,     0,     0,     0,     0,    91,
11050       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11051      102,   103,   104,   105,   106,   107,   108,   109,   510,    40,
11052        0,     0,     0,    21,     0,  1269,     0,     0,     0,     0,
11053        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11054      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11055        0,     0,     0,  3635,  1274,    21,    69,    40,    91,    92,
11056       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
11057      103,   104,   105,   106,   107,   108,   109,     0,     0,     0,
11058     3636,     0,     0,     0,     0,    40,     0,  2585,  2586,  2587,
11059     2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,     0,
11060        0,     0,     0,     0,   510,     0,     0,     0,    69,     0,
11061        0,     0,     0,    40,     0,  1283,  2585,  2586,  2587,  2588,
11062     2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,     0,     0,
11063        0,   510,     0,     0,     0,    69,     0,    40,     0,  1333,
11064        0,    21,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,
11065     2593,  2594,     0,  2595,     0,     0,     0,     0,     0,     0,
11066        0,   510,     0,     0,     0,     0,     0,     0,    21,     0,
11067       40,  1335,     0,    69,     0,     0,     0,     0,     0,    91,
11068       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11069      102,   103,   104,   105,   106,   107,   108,   109,    21,     0,
11070        0,    69,    40,  1595,     0,     0,     0,     0,     0,     0,
11071        0,     0,     0,  3519,  2585,  2586,  2587,  2588,  2589,  2590,
11072     2591,  2592,  2593,  2594,     0,  2595,     0,     0,     0,    69,
11073     1853,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11074      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11075       21,     0,  3519,    69,     0,     0,     0,     0,    91,    92,
11076       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
11077      103,   104,   105,   106,   107,   108,   109,     0,     0,   510,
11078        0,     0,     0,     0,     0,     0,    69,     0,    40,    21,
11079        0,     0,     0,     0,     0,     0,    91,    92,    93,    94,
11080       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11081      105,   106,   107,   108,   109,    40,    21,     0,    69,     0,
11082        0,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11083       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11084      107,   108,   109,     0,     0,    40,  3637,     0,    21,     0,
11085        0,  2305,    91,    92,    93,    94,    95,    96,    97,    98,
11086       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11087      109,     0,     0,     0,     0,  3638,    91,    92,    93,    94,
11088       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11089      105,   106,   107,   108,   109,     0,   510,    40,  2728,     0,
11090        0,  3639,     0,  2308,    69,     0,     0,     0,     0,    91,
11091       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11092      102,   103,   104,   105,   106,   107,   108,   109,   510,     0,
11093     3391,    69,     0,    21,     0,     0,    40,     0,     0,     0,
11094        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11095      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11096        0,    69,     0,    40,     0,    21,     0,     0,  3393,     0,
11097        0,   510,     0,  3640,  2585,  2586,  2587,  2588,  2589,  2590,
11098     2591,  2592,  2593,  2594,     0,  2595,     0,     0,     0,     0,
11099        0,     0,     0,     0,     0,    40,  3400,     0,  2585,  2586,
11100     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,    21,  2595,
11101      510,     0,     0,    69,  2197,  2198,  2199,  2200,  2201,  2202,
11102     2203,  2204,  2205,  2206,  3401,  2207,     0,    91,    92,    93,
11103       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11104      104,   105,   106,   107,   108,   109,  3558,    21,     0,     0,
11105     2923,     0,    69,     0,    91,    92,    93,    94,    95,    96,
11106       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11107      107,   108,   109,   510,     0,     0,     0,     0,     0,    69,
11108       40,  3402,     0,    21,    91,    92,    93,    94,    95,    96,
11109       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11110      107,   108,   109,     0,     0,     0,     0,     0,     0,     0,
11111       21,    69,    40,  3420,     0,     0,     0,     0,     0,   510,
11112     2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,
11113        0,  2595,     0,     0,     0,     0,    91,    92,    93,    94,
11114       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11115      105,   106,   107,   108,   109,    40,    21,     0,   510,  2197,
11116     2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,     0,
11117     2207,     0,     0,     0,     0,    91,    92,    93,    94,    95,
11118       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11119      106,   107,   108,   109,    40,    21,    69,     0,     0,  3434,
11120        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11121       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11122      109,     0,     0,     0,     0,     0,  3480,     0,    69,     0,
11123       40,    21,     0,  3641,    91,    92,    93,    94,    95,    96,
11124       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11125      107,   108,   109,     0,     0,  3430,  3518,    40,  2197,  2198,
11126     2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,   510,  2207,
11127        0,    69,     0,  3723,  2197,  2198,  2199,  2200,  2201,  2202,
11128     2203,  2204,  2205,  2206,     0,  2207,     0,     0,     0,     0,
11129        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11130        0,     0,     0,    40,  3990,    21,     0,     0,  3520,     0,
11131       69,     0,     0,     0,     0,     0,     0,     0,     0,    91,
11132       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11133      102,   103,   104,   105,   106,   107,   108,   109,  4011,     0,
11134        0,    21,    40,     0,     0,     0,    69,  3522,     0,     0,
11135        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11136      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11137        0,     0,     0,    69,  3535,    21,     0,  4011,    40,  3764,
11138        0,  2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,
11139     2206,     0,  2207,     0,    91,    92,    93,    94,    95,    96,
11140       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11141      107,   108,   109,     0,    21,     0,  4026,     0,  3770,    69,
11142     2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,
11143        0,  2207,     0,    91,    92,    93,    94,    95,    96,    97,
11144       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11145      108,   109,    40,    21,     0,   510,     0,     0,    69,     0,
11146        0,     0,     0,     0,     0,     0,     0,     0,     0,    91,
11147       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11148      102,   103,   104,   105,   106,   107,   108,   109,    40,     0,
11149        0,  3536,    21,     0,    69,     0,    91,    92,    93,    94,
11150       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11151      105,   106,   107,   108,   109,     0,     0,  3771,     0,     0,
11152        0,     0,    40,  3538,     0,     0,     0,     0,     0,     0,
11153        0,     0,     0,  3790,     0,     0,     0,     0,     0,     0,
11154        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11155       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11156      109,    40,     0,     0,     0,     0,  3543,     0,    69,  2585,
11157     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,
11158     2595,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11159      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11160       40,     0,     0,     0,    69,  3552,     0,     0,     0,     0,
11161        0,     0,     0,     0,     0,     0,     0,    91,    92,    93,
11162       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11163      104,   105,   106,   107,   108,   109,     0,     0,    69,    40,
11164     3895,  3559,     0,   818,     0,  2585,  2586,  2587,  2588,  2589,
11165     2590,  2591,  2592,  2593,  2594,     0,  2595,     0,     0,     0,
11166        0,     0,     0,     0,     0,  2034,     0,     0,  3583,     0,
11167        0,     0,     0,     0,     0,     0,     0,    69,     0,  3896,
11168        0,     0,     0,     0,    21,     0,     0,     0,     0,     0,
11169        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11170      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11171        0,     0,     0,     0,  3593,   818,    69,     0,     0,     0,
11172        0,     0,     0,     0,     0,     0,    21,    91,    92,    93,
11173       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11174      104,   105,   106,   107,   108,   109,     0,     0,     0,     0,
11175        0,     0,     0,  3594,     0,    69,    21,     0,     0,     0,
11176        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11177      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11178        0,     0,     0,     0,     0,     0,     0,     0,     0,   255,
11179      256,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11180       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11181      101,   102,   103,   104,   105,   106,   107,   108,   109,     0,
11182        0,     0,     0,     0,     0,     0,     0,     0,  3909,     0,
11183        0,    40,     0,     0,     0,     0,     0,     0,     0,    91,
11184       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11185      102,   103,   104,   105,   106,   107,   108,   109,     0,     0,
11186        0,     0,     0,  3903,     0,     0,     0,     0,     0,     0,
11187        0,     0,     0,    40,     0,     0,     0,     0,    91,    92,
11188       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
11189      103,   104,   105,   106,   107,   108,   109,  2864,   819,  3991,
11190        0,     0,     0,    40,  3955,     0,     0,     0,     0,     0,
11191        0,     0,     0,     0,     0,     0,    21,  1080,     0,     0,
11192        0,     0,     0,     0,  3884,     0,     0,   820,     0,     0,
11193        0,     0,     0,  4012,     0,     0,     0,     0,     0,     0,
11194        0,     0,     0,    21,  1080,  3013,     0,    69,  2585,  2586,
11195     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,
11196        0,     0,     0,     0,    21,     0,  1081,     0,     0,     0,
11197      819,     0,  4016,     0,     0,     0,     0,     0,     0,     0,
11198        0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
11199       21,     0,     0,  1081,     0,     0,     0,     0,     0,   820,
11200        0,     0,     0,     0,  1082,     0,     0,     0,     0,     0,
11201        0,  4027,     0,     0,     0,     0,     0,  1083,     0,    69,
11202        0,     0,     0,     0,     0,     0,     0,     0,     0,  1084,
11203     1085,  1082,     0,     0,     0,     0,     0,     0,    21,     0,
11204        0,     0,     0,     0,  1083,     0,     0,     0,     0,     0,
11205     4267,     0,     0,     0,     0,     0,  1084,  1085,     0,     0,
11206        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
11207       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11208      101,   102,   103,   104,   105,   106,   107,   108,   109,     0,
11209       40,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,
11210     2594,     0,  2595,     0,     0,     0,     0,     0,     0,     0,
11211        0,    40,    91,    92,    93,    94,    95,    96,    97,    98,
11212       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11213      109,     0,     0,     0,     0,     0,     0,    40,     0,     0,
11214        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11215       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11216      109,     0,  2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,
11217     2205,  2206,     0,  2207,     0,     0,     0,     0,     0,    69,
11218        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
11219        0,     0,     0,     0,  1086,     0,     0,     0,     0,     0,
11220        0,     0,     0,     0,     0,     0,    69,  3956,     0,     0,
11221        0,     0,     0,     0,     0,  1087,     0,     0,     0,     0,
11222        0,  1086,     0,  1088,  1089,     0,     0,    69,     0,  1090,
11223     1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
11224     1101,  1102,  1087,  1103,  1104,  1105,  1106,  1107,  1108,     0,
11225     1088,  1089,     0,    69,     0,     0,  1090,  1091,  1092,  1093,
11226     1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,     0,
11227     1103,  1104,  1105,  1106,  1107,  1108,     0,     0,     0,     0,
11228        0,     0,     0,     0,   265,   266,  2197,  2198,  2199,  2200,
11229     2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,     0,     0,
11230        0,    69,    91,    92,    93,    94,    95,    96,    97,    98,
11231       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11232      109,     0,     0,     0,     0,     0,     0,     0,     0,    91,
11233       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11234      102,   103,   104,   105,   106,   107,   108,   109,  3478,    21,
11235       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11236      101,   102,   103,   104,   105,   106,   107,   108,   109,     0,
11237       21,  1080,   594,   879,   595,     0,    91,    92,    93,    94,
11238       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11239      105,   106,   107,   108,   109,     0,     0,     0,     0,  2838,
11240     2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,
11241        0,  2207,   602,     0,     0,     0,     0,     0,     0,     0,
11242     1081,  4006,     0,   450,    91,    92,    93,    94,    95,    96,
11243       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11244      107,   108,   109,     0,     0,     0,     0,     0,     0,     0,
11245        0,   451,     0,     0,     0,     0,     0,     0,  1082,  2585,
11246     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,
11247     2595,  1083,     0,     0,     0,  1109,     0,  2103,     0,  2104,
11248        0,   612,   613,  1084,  1085,     0,     0,     0,     0,     0,
11249        0,     0,     0,     0,     0,     0,    40,  1364,     0,     0,
11250        0,     0,  1109,     0,  2103,     0,  2104,     0,     0,     0,
11251        0,     0,     0,     0,     0,   619,     0,    40,    21,  1080,
11252        0,     0,     0,     0,     0,  2257,   622,     0,     0,   880,
11253        0,     0,     0,   490,     0,     0,     0,     0,     0,     0,
11254        0,     0,     0,     0,     0,  4079,     0,   629,   273,   274,
11255        0,     0,     0,     0,     0,     0,     0,     0,   304,     0,
11256     1870,     0,     0,     0,   644,     0,    21,  1080,  1081,     0,
11257        0,     0,     0,     0,     0,   491,     0,     0,     0,     0,
11258        0,     0,     0,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
11259     2592,  2593,  2594,     0,  2595,     0,   285,   286,     0,     0,
11260        0,     0,     0,     0,     0,     0,  1871,     0,     0,     0,
11261        0,   452,    69,   664,     0,     0,  1081,     0,   666,  1872,
11262        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11263        0,  1873,  1874,    69,     0,  2585,  2586,  2587,  2588,  2589,
11264     2590,  2591,  2592,  2593,  2594,     0,  2595,     0,  1086,   454,
11265      455,     0,     0,     0,  1082,     0,     0,     0,     0,  4080,
11266        0,     0,     0,     0,     0,    40,     0,  1083,     0,  1087,
11267        0,  1875,     0,     0,     0,     0,     0,  1088,  1089,  1084,
11268     1085,     0,     0,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
11269     1097,  1098,  1099,  1100,  1101,  1102,     0,  1103,  1104,  1105,
11270     1106,  1107,  1108,     0,     0,     0,     0,     0,     0,     0,
11271        0,     0,     0,    40,    21,     0,     0,     0,  4114,     0,
11272        0,     0,     0,   884,     0,     0,     0,     0,     0,     0,
11273        0,     0,     0,     0,     0,    91,    92,    93,    94,    95,
11274       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11275      106,   107,   108,   109,     0,     0,    91,    92,    93,    94,
11276       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11277      105,   106,   107,   108,   109,     0,     0,     0,     0,     0,
11278        0,    69,     0,     0,     0,     0,     0,     0,     0,     0,
11279        0,  1365,  1366,  1367,  1368,   886,  1369,  1370,  1371,  1372,
11280     1373,  1374,  1375,  1376,  1377,  1378,  1379,  1380,  1381,  1382,
11281     1383,  1384,  1385,  1386,  1387,  1388,  1389,  1390,  1391,     0,
11282        0,     0,     0,     0,     0,  4030,  4031,     0,     0,    69,
11283        0,  1878,  1879,  1880,  1881,  1882,  1883,  1884,  1885,  1886,
11284     1887,  1888,  4115,     0,  1086,  1889,  1890,  1891,  1892,     0,
11285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11286        0,    40,     0,     0,     0,  1087,     0,     0,     0,     0,
11287        0,     0,     0,  1088,  1089,     0,     0,     0,     0,  1090,
11288     1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
11289     1101,  1102,  3539,  1103,  1104,  1105,  1106,  1107,  1108,    21,
11290     1080,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11291       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11292      107,   108,   109,   304,     0,     0,     0,     0,     0,  1109,
11293        0,  2103,     0,  2104,    21,  1080,     0,     0,     0,     0,
11294        0,  1870,     0,     0,     0,     0,  1392,  1393,  1394,  1081,
11295        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11296       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11297      109,     0,     0,     0,     0,     0,  1870,    69,     0,     0,
11298        0,     0,     0,     0,  1081,     0,  4032,  1871,  2585,  2586,
11299     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,
11300     1872,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11301        0,     0,  1873,  1874,     0,     0,     0,     0,     0,     0,
11302        0,     0,  1871,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
11303     2592,  2593,  2594,     0,  2595,  1872,     0,     0,     0,     0,
11304        0,    21,  1080,     0,     0,     0,    40,  1873,  1874,     0,
11305        0,     0,  1875,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
11306     2592,  2593,  2594,     0,  2595,     0,     0,     0,     0,     0,
11307        0,     0,     0,     0,     0,     0,     0,  1893,    21,  1080,
11308        0,    40,     0,  1870,     0,     0,     0,  1875,     0,     0,
11309        0,  1081,     0,     0,     0,     0,     0,     0,     0,     0,
11310       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11311      101,   102,   103,   104,   105,   106,   107,   108,   109,     0,
11312     1870,     0,     0,     0,    21,  1109,     0,     0,  1081,  1871,
11313     2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,
11314        0,  2595,  1872,     0,     0,     0,     0,     0,     0,     0,
11315        0,     0,     0,     0,  1873,  1874,     0,     0,    21,     0,
11316        0,     0,    69,     0,     0,     0,  1871,  2585,  2586,  2587,
11317     2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,  1872,
11318        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
11319        0,  1873,  1874,    21,  1875,     0,     0,    69,     0,     0,
11320        0,     0,     0,     0,     0,     0,  1876,  1877,     0,     0,
11321        0,     0,  1878,  1879,  1880,  1881,  1882,  1883,  1884,  1885,
11322     1886,  1887,  1888,     0,     0,    40,  1889,  1890,  1891,  1892,
11323        0,  1875,    21,     0,     0,     0,     0,     0,     0,     0,
11324        0,  1876,  1877,     0,     0,  3540,     0,  1878,  1879,  1880,
11325     1881,  1882,  1883,  1884,  1885,  1886,  1887,  1888,     0,     0,
11326        0,  1889,  1890,  1891,  1892,     0,    21,     0,     0,     0,
11327        0,    40,     0,   305,     0,     0,     0,     0,     0,     0,
11328        0,     0,  4171,     0,     0,    91,    92,    93,    94,    95,
11329       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11330      106,   107,   108,   109,    69,    40,    21,     0,     0,     0,
11331        0,     0,  4206,     0,     0,     0,     0,     0,     0,     0,
11332       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11333      101,   102,   103,   104,   105,   106,   107,   108,   109,    21,
11334       40,    69,     0,     0,     0,     0,     0,     0,  1876,  1877,
11335        0,     0,     0,     0,  1878,  1879,  1880,  1881,  1882,  1883,
11336     1884,  1885,  1886,  1887,  1888,     0,     0,  4099,  1889,  1890,
11337     1891,  1892,     0,     0,     0,     0,     0,     0,     0,    40,
11338        0,     0,     0,    21,     0,  1876,  1877,    69,     0,  4232,
11339        0,  1878,  1879,  1880,  1881,  1882,  1883,  1884,  1885,  1886,
11340     1887,  1888,  4100,     0,     0,  1889,  1890,  1891,  1892,     0,
11341        0,     0,     0,    40,     0,     0,    21,     0,     0,     0,
11342        0,    69,     0,     0,  3541,     0,     0,    91,    92,    93,
11343       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11344      104,   105,   106,   107,   108,   109,     0,     0,     0,     0,
11345        0,    21,     0,    40,     0,     0,    69,     0,  1893,     0,
11346        0,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11347       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11348      107,   108,   109,     0,     0,     0,    40,     0,     0,     0,
11349        0,    21,     0,  1893,     0,    69,  2585,  2586,  2587,  2588,
11350     2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,     0,  4164,
11351       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11352      101,   102,   103,   104,   105,   106,   107,   108,   109,    69,
11353       40,    21,     0,     0,     0,     0,     0,     0,     0,     0,
11354        0,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11355       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11356      107,   108,   109,    40,    21,     0,     0,     0,     0,    69,
11357        0,     0,     0,     0,     0,     0,     0,     0,     0,    91,
11358       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11359      102,   103,   104,   105,   106,   107,   108,   109,    40,    21,
11360     1893,     0,    69,     0,  2585,  2586,  2587,  2588,  2589,  2590,
11361     2591,  2592,  2593,  2594,     0,  2595,     0,     0,    91,    92,
11362       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
11363      103,   104,   105,   106,   107,   108,   109,  1893,    40,     0,
11364        0,    21,     0,     0,     0,     0,    69,     0,     0,     0,
11365        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11366       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11367      109,     0,     0,     0,    21,     0,     0,     0,    40,    69,
11368        0,     0,   319,   320,     0,     0,     0,     0,     0,     0,
11369        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11370       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11371      109,    40,     0,    21,    69,     0,   338,   339,     0,     0,
11372        0,     0,     0,     0,     0,    91,    92,    93,    94,    95,
11373       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11374      106,   107,   108,   109,     0,     0,    40,     0,     0,    21,
11375        0,   351,   352,  3542,    69,     0,  2197,  2198,  2199,  2200,
11376     2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,     0,    91,
11377       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11378      102,   103,   104,   105,   106,   107,   108,   109,    40,    21,
11379      354,   355,     0,     0,    69,     0,     0,     0,     0,     0,
11380        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11381       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11382      109,    40,    21,     0,   359,   360,     0,    69,     0,     0,
11383        0,     0,     0,     0,     0,     0,     0,    91,    92,    93,
11384       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11385      104,   105,   106,   107,   108,   109,     0,    21,     0,     0,
11386       40,  3702,    69,     0,   363,   364,     0,     0,     0,     0,
11387        0,     0,     0,     0,     0,     0,     0,    91,    92,    93,
11388       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11389      104,   105,   106,   107,   108,   109,    40,   380,   381,    21,
11390        0,     0,     0,     0,    69,     0,     0,     0,     0,     0,
11391        0,     0,     0,     0,     0,     0,     0,    91,    92,    93,
11392       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11393      104,   105,   106,   107,   108,   109,    40,    69,     0,    21,
11394        0,   405,   406,     0,     0,     0,     0,     0,     0,     0,
11395       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11396      101,   102,   103,   104,   105,   106,   107,   108,   109,    40,
11397        0,    21,     0,     0,     0,   328,    69,     0,     0,     0,
11398        0,     0,     0,     0,     0,    91,    92,    93,    94,    95,
11399       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11400      106,   107,   108,   109,    40,     0,     0,    21,     0,     0,
11401      368,     0,    69,  3728,     0,  2585,  2586,  2587,  2588,  2589,
11402     2590,  2591,  2592,  2593,  2594,     0,  2595,    91,    92,    93,
11403       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11404      104,   105,   106,   107,   108,   109,    40,    21,     0,   430,
11405        0,     0,    69,     0,     0,     0,     0,     0,     0,     0,
11406       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11407      101,   102,   103,   104,   105,   106,   107,   108,   109,     0,
11408        0,    21,     0,     0,     0,    69,    40,     0,     0,  2635,
11409        0,     0,     0,     0,     0,     0,     0,     0,     0,    91,
11410       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11411      102,   103,   104,   105,   106,   107,   108,   109,    40,    21,
11412       69,     0,  2673,     0,     0,     0,     0,     0,     0,     0,
11413        0,     0,     0,     0,     0,    91,    92,    93,    94,    95,
11414       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11415      106,   107,   108,   109,    40,     0,     0,  2676,     0,     0,
11416        0,     0,    69,     0,     0,     0,     0,     0,     0,     0,
11417      450,     0,     0,     0,     0,    91,    92,    93,    94,    95,
11418       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11419      106,   107,   108,   109,    40,     0,     0,     0,     0,  2678,
11420        0,     0,    69,     0,     0,     0,     0,     0,    91,    92,
11421       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
11422      103,   104,   105,   106,   107,   108,   109,     0,    40,     0,
11423        0,     0,  2779,     0,    69,     0,     0,     0,     0,     0,
11424        0,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11425       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11426      108,   109,     0,     0,     0,     0,    40,     0,     0,     0,
11427       69,  2820,  3746,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
11428     2592,  2593,  2594,     0,  2595,    91,    92,    93,    94,    95,
11429       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11430      106,   107,   108,   109,     0,     0,     0,  2916,     0,     0,
11431       69,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11432        0,     0,     0,     0,     0,    91,    92,    93,    94,    95,
11433       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11434      106,   107,   108,   109,    69,   450,     0,  2987,     0,     0,
11435        0,     0,     0,     0,     0,     0,     0,    91,    92,    93,
11436       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11437      104,   105,   106,   107,   108,   109,     0,     0,     0,     0,
11438     3021,     0,    69,     0,     0,     0,     0,     0,     0,     0,
11439      825,   480,     0,    91,    92,    93,    94,    95,    96,    97,
11440       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11441      108,   109,  2040,     0,     0,  3027,  2585,  2586,  2587,  2588,
11442     2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,     0,     0,
11443        0,    21,     0,    91,    92,    93,    94,    95,    96,    97,
11444       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11445      108,   109,     0,     0,     0,     0,     0,  3036,     0,     0,
11446        0,     0,     0,     0,     0,     0,     0,    91,    92,    93,
11447       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11448      104,   105,   106,   107,   108,   109,     0,     0,     0,     0,
11449        0,   456,   457,     0,     0,     0,     0,  3046,     0,     0,
11450        0,     0,     0,     0,   830,    91,    92,    93,    94,    95,
11451       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11452      106,   107,   108,   109,     0,     0,  2045,     0,     0,  3082,
11453     3758,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11454        0,     0,     0,     0,     0,    21,     0,     0,     0,     0,
11455        0,     0,   830,     0,     0,     0,     0,     0,     0,     0,
11456        0,     0,     0,     0,     0,  3095,  1468,  1469,  1470,  1471,
11457     1472,     0,     0,     0,  3431,   830,     0,     0,    40,  1478,
11458     1479,  1480,     0,     0,     0,     0,  1485,  1613,     0,  1486,
11459     1487,     0,     0,    21,   825,     0,     0,  3704,     0,     0,
11460        0,     0,     0,     0,     0,  3222,     0,     0,     0,     0,
11461        0,     0,     0,     0,  1493,     0,    21,     0,     0,     0,
11462        0,   830,     0,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
11463     2592,  2593,  2594,     0,  2595,    21,     0,     0,     0,  3310,
11464        0,  1568,     0,     0,     0,     0,     0,     0,     0,  1855,
11465     2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,
11466        0,  2595,    21,     0,     0,     0,     0,     0,     0,  1862,
11467        0,     0,     0,  3768,   826,     0,     0,  3321,     0,     0,
11468        0,     0,     0,     0,  1571,     0,     0,     0,  1614,     0,
11469       21,     0,    40,     0,    69,     0,     0,     0,  2162,     0,
11470        0,     0,     0,     0,     0,     0,     0,     0,  1513,     0,
11471       21,  1615,  1616,  1617,  1618,  1619,  1620,  1621,  1622,  1856,
11472     1623,  1624,  1625,  1626,  1627,  1628,  1629,     0,     0,     0,
11473        0,     0,     0,     0,     0,    21,     0,     0,     0,  1863,
11474       40,  1468,  1469,  1470,  1471,  1472,  1473,  1474,  1475,  1476,
11475     1358,     0,     0,  1477,  1478,  1479,  1480,  1481,  1482,  1483,
11476     1484,  1485,     0,    40,  1486,  1487,  1488,  1489,  1490,  1491,
11477     1492,     0,     0,  2402,     0,     0,     0,     0,     0,     0,
11478        0,     0,    40,    21,     0,     0,     0,     0,   831,  1493,
11479     1494,  1495,  1496,  1497,     0,     0,  1498,  1499,  1500,  1501,
11480     1502,  1503,  1504,  1505,  1506,  1507,  1508,  1509,    69,    40,
11481       21,  1510,  1511,  1512,     0,     0,   510,    91,    92,    93,
11482       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11483      104,   105,   106,   107,   108,   109,   831,    40,  2585,  2586,
11484     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,
11485        0,     0,  1866,    21,     0,     0,    69,    40,     0,   831,
11486     2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,
11487        0,  2207,     0,     0,     0,     0,     0,     0,   826,    69,
11488     3861,     0,    40,  1513,     0,     0,     0,     0,     0,     0,
11489        0,     0,     0,    21,     0,     0,     0,     0,    69,     0,
11490        0,     0,     0,     0,     0,   831,     0,  3864,  1961,  2585,
11491     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,
11492     2595,     0,  1867,     0,     0,    69,     0,    21,     0,     0,
11493       40,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11494      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11495        0,     0,     0,    69,     0,     0,     0,    40,     0,  2585,
11496     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,
11497     2595,     0,     0,    69,     0,     0,     0,     0,     0,    91,
11498       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11499      102,   103,   104,   105,   106,   107,   108,   109,    69,     0,
11500       40,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11501       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11502      109,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11503      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11504       40,     0,     0,     0,     0,     0,    69,     0,    91,    92,
11505       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
11506      103,   104,   105,   106,   107,   108,   109,     0,     0,     0,
11507        0,     0,     0,    69,    40,     0,    91,    92,    93,    94,
11508       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11509      105,   106,   107,   108,   109,  3871,    91,    92,    93,    94,
11510       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11511      105,   106,   107,   108,   109,     0,    69,  3882,     0,     0,
11512        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11513      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11514     2237,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,
11515     2594,     0,  2595,     0,     0,     0,    69,     0,     0,    21,
11516        0,     0,     0,     0,     0,     0,  3894,     0,     0,    91,
11517       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11518      102,   103,   104,   105,   106,   107,   108,   109,     0,     0,
11519       69,     0,     0,     0,     0,     0,    91,    92,    93,    94,
11520       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11521      105,   106,   107,   108,   109,  4009,  3906,     0,  2585,  2586,
11522     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,  2595,
11523        0,     0,     0,     0,    21,     0,     0,     0,     0,    91,
11524       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11525      102,   103,   104,   105,   106,   107,   108,   109,  2055,  2585,
11526     2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,     0,
11527     2595,     0,     0,     0,     0,     0,     0,    21,     0,    91,
11528       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11529      102,   103,   104,   105,   106,   107,   108,   109,     0,     0,
11530        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
11531        0,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11532       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11533      108,   109,  2068,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
11534     2592,  2593,  2594,     0,  2595,     0,     0,     0,     0,     0,
11535        0,    21,     0,     0,     0,     0,     0,  2073,  2585,  2586,
11536     2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,  1179,  2595,
11537        0,     0,     0,     0,     0,     0,    21,  2093,     0,     0,
11538        0,    40,     0,     0,  2585,  2586,  2587,  2588,  2589,  2590,
11539     2591,  2592,  2593,  2594,     0,  2595,    21,     0,  3927,     0,
11540     2096,  2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,
11541     2594,     0,  2595,     0,     0,     0,     0,     0,     0,    21,
11542     2127,     0,    69,     0,    40,     0,  2197,  2198,  2199,  2200,
11543     2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,     0,    21,
11544     2136,     0,     0,  1179,  2585,  2586,  2587,  2588,  2589,  2590,
11545     2591,  2592,  2593,  2594,     0,  2595,     0,     0,     0,    21,
11546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11547        0,     0,     0,     0,  2139,  3980,     0,     0,     0,     0,
11548        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11549        0,     0,     0,    21,     0,     0,     0,    69,    40,     0,
11550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11551        0,     0,     0,     0,     0,     0,  3981,     0,     0,  2400,
11552        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
11553        0,     0,     0,     0,     0,     0,     0,     0,    21,     0,
11554       69,     0,     0,    40,     0,    91,    92,    93,    94,    95,
11555       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11556      106,   107,   108,   109,     0,     0,    40,     0,     0,     0,
11557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11558        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
11559     3986,  3681,     0,     0,     0,     0,     0,     0,     0,     0,
11560        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
11561       21,     0,     0,     0,    69,  4007,     0,     0,     0,     0,
11562       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11563      101,   102,   103,   104,   105,   106,   107,   108,   109,    69,
11564       40,  4008,     0,     0,     0,     0,     0,     0,     0,     0,
11565        0,     0,     0,     0,     0,     0,    21,     0,  4010,    69,
11566        0,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11567       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11568      108,   109,    69,  4072,     0,    40,     0,     0,     0,     0,
11569        0,     0,     0,     0,     0,     0,     0,     0,  3710,     0,
11570        0,  4132,    69,     0,     0,     0,     0,     0,     0,     0,
11571        0,     0,     0,     0,     0,     0,     0,    21,     0,     0,
11572        0,     0,    69,     0,     0,     0,     0,     0,     0,     0,
11573        0,     0,     0,     0,     0,     0,     0,    91,    92,    93,
11574       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11575      104,   105,   106,   107,   108,   109,    69,    40,    21,     0,
11576        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11577       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11578      109,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11579       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11580      109,    69,     0,    40,     0,    91,    92,    93,    94,    95,
11581       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11582      106,   107,   108,   109,    21,    91,    92,    93,    94,    95,
11583       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11584      106,   107,   108,   109,     0,    91,    92,    93,    94,    95,
11585       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
11586      106,   107,   108,   109,    40,   304,     0,     0,     0,     0,
11587        0,     0,     0,    69,     0,     0,     0,     0,     0,    91,
11588       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11589      102,   103,   104,   105,   106,   107,   108,   109,  3713,     0,
11590        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
11591        0,     0,     0,     0,     0,     0,     0,    21,     0,    69,
11592        0,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11593       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11594      107,   108,   109,    21,  1080,     0,     0,     0,     0,     0,
11595        0,     0,     0,     0,     0,     0,  3722,     0,     0,     0,
11596        0,     0,     0,     0,     0,     0,     0,   304,     0,     0,
11597        0,    40,     0,     0,     0,    21,  4017,     0,     0,     0,
11598       69,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11599        0,     0,     0,  1081,     0,    21,    91,    92,    93,    94,
11600       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
11601      105,   106,   107,   108,   109,     0,    21,     0,     0,     0,
11602        0,    69,     0,     0,     0,     0,     0,     0,     0,     0,
11603        0,     0,     0,   304,     0,    21,     0,     0,     0,     0,
11604        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11605       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11606      109,    21,     0,  3304,    40,  3305,  3306,     0,     0,     0,
11607        0,     0,     0,     0,     0,     0,     0,     0,  1898,  1899,
11608        0,     0,     0,     0,     0,  2904,    21,    69,     0,     0,
11609       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11610        0,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11611       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11612      108,   109,    40,  3435,  3436,     0,     0,     0,     0,     0,
11613        0,     0,     0,     0,     0,     0,     0,    21,     0,     0,
11614        0,     0,    40,     0,    91,    92,    93,    94,    95,    96,
11615       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11616      107,   108,   109,    40,     0,  3317,     0,  3318,  3319,     0,
11617        0,     0,     0,     0,     0,     0,     0,     0,    21,     0,
11618       69,     0,    40,     0,     0,     0,     0,     0,     0,     0,
11619        0,     0,     0,     0,     0,     0,     0,     0,     0,  3839,
11620     3840,     0,     0,    21,     0,     0,    69,     0,    40,     0,
11621       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11622      101,   102,   103,   104,   105,   106,   107,   108,   109,  2737,
11623     2738,  2739,     0,    40,     0,     0,     0,     0,    69,     0,
11624        0,  3336,     0,     0,   304,     0,     0,     0,     0,     0,
11625     2241,  2242,     0,     0,    21,     0,     0,     0,    69,     0,
11626        0,     0,     0,     0,     0,     0,  3953,     0,     0,     0,
11627        0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
11628        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
11629        0,     0,     0,    21,     0,   304,     0,     0,    69,     0,
11630        0,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11631       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11632      108,   109,    21,     0,    69,    40,     0,     0,     0,    91,
11633       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11634      102,   103,   104,   105,   106,   107,   108,   109,    21,    69,
11635       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11636        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11637      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11638        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11639      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11640       69,    40,    91,    92,    93,    94,    95,    96,    97,    98,
11641       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11642     1900,    91,    92,    93,    94,    95,    96,    97,    98,    99,
11643      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
11644       40,    69,     0,     0,     0,     0,     0,    91,    92,    93,
11645       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11646      104,   105,   106,   107,   108,  3437,    69,    21,     0,    40,
11647        0,     0,    91,    92,    93,    94,    95,    96,    97,    98,
11648       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
11649      109,    21,     0,     0,     0,    40,     0,     0,     0,     0,
11650        0,     0,  1179,     0,     0,     0,     0,     0,     0,     0,
11651        0,     0,    21,     0,     0,     0,     0,    69,     0,     0,
11652        0,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11653       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11654      108,  3841,     0,     0,     0,     0,     0,     0,     0,     0,
11655        0,     0,     0,     0,  4111,     0,    69,  3286,     0,     0,
11656        0,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11657       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11658      107,   108,   109,     0,     0,    69,     0,     0,     0,    91,
11659       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11660      102,   103,   104,   105,   106,   107,   108,   109,     0,     0,
11661        0,    69,     0,     0,    40,     0,     0,     0,     0,     0,
11662        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11663        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
11664       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
11665      101,   102,   103,   104,   105,   106,   107,   108,   109,    40,
11666        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11667        0,     0,     0,     0,     0,     0,     0,     0,     0,    91,
11668       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
11669      102,   103,   104,   105,   106,   107,   108,   109,     0,     0,
11670        0,     0,     0,     0,     0,     0,     0,     0,    91,    92,
11671       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
11672      103,   104,   105,   106,   107,   108,  3332,     0,     0,     0,
11673       69,     0,     0,     0,    91,    92,    93,    94,    95,    96,
11674       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
11675      107,   108,   109,     0,    69,     0,     0,     0,     0,     0,
11676        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11677        0,     0,     0,     0,     0,    69,     0,     0,     0,     0,
11678        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11679        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11680        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11681        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11682        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11683        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11684        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11685        0,     0,     0,    91,    92,    93,    94,    95,    96,    97,
11686       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
11687      108,  3950,     0,     0,     0,     0,     0,    91,    92,    93,
11688       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
11689      104,   105,   106,   107,   108,   109,     0,     0,    91,    92,
11690       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
11691      103,   104,   105,   106,   107,   108,  4108,  1120,  1121,     0,
11692        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11693        0,     0,     0,  1122,     0,     0,     0,     0,     0,   523,
11694        0,     0,  1123,     0,     0,     0,     0,     0,     0,     0,
11695        0,     0,     0,     0,     0,  1124,     0,     0,     0,     0,
11696        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11697        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11698        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11699        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11700        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11701        0,     0,     0,     0,  1125,     0,     0,     0,     0,  1002,
11702        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11703        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11704        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11705        0,     0,  1003,     0,     0,     0,     0,     0,     0,     0,
11706        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11708        0,     0,     0,     0,     0,     0,     0,  1126,     0,     0,
11709        0,  1127,     0,   526,     0,  1128,     0,     0,     0,     0,
11710        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11712        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11714        0,     0,     0,   839,   840
11715   };
11716 
11717   const short
11718   parser::yycheck_[] =
11719   {
11720        0,   311,  1180,     3,   589,   295,   871,   938,   406,     9,
11721      978,  1463,  1150,   832,    14,   370,   256,   372,   261,   374,
11722      274,   419,  2036,    23,   274,   274,   274,   274,   294,   286,
11723      429,   274,   294,   397,   294,    35,   411,   423,   409,   274,
11724      274,   411,   411,   397,    44,    45,    46,   294,   419,    49,
11725      409,   397,    52,   411,   274,    55,   397,   355,   417,   409,
11726      397,   274,    62,    63,   299,    65,   360,    67,   316,   419,
11727       70,    71,    72,    73,   358,   358,    76,   256,    78,    79,
11728      355,   411,   274,   256,   274,  2079,  2105,   411,   411,   339,
11729      320,   411,     3,   331,   355,   274,   411,   274,     9,   339,
11730      352,   274,   294,    14,   274,   355,   274,   256,   274,   274,
11731     2105,   274,    23,   113,   350,   355,   286,   281,   274,   339,
11732      381,   262,   352,   411,   294,   274,   294,   333,   281,   294,
11733      130,   397,   132,    44,    45,   397,   261,   397,    49,   316,
11734      397,    52,   274,   397,    55,   274,   411,   397,   397,   274,
11735      397,    62,    63,   294,    65,   411,    67,   397,   331,    70,
11736      339,   333,   274,   274,   409,   274,   339,    78,   254,   403,
11737      411,   339,   345,   345,   419,   269,   270,   274,   428,   429,
11738      428,   429,   355,   294,   274,   428,   429,   274,   428,   429,
11739      339,   274,  2510,   428,   429,  1076,   274,   409,  2612,   274,
11740     3422,  2195,   113,   415,   409,   274,   300,   419,   333,   274,
11741      274,   409,   409,   307,   419,   428,   429,    51,   397,   130,
11742      345,   419,   419,   274,   397,   350,   274,   397,    51,   397,
11743      403,   274,   256,   320,   274,   409,   428,   429,   411,  2353,
11744     2354,   335,   274,  1952,  1953,   419,   274,   274,   274,   398,
11745      274,   428,   429,   274,   274,   428,   429,   257,   428,   429,
11746       51,   274,   411,   274,   264,   428,   429,   267,   274,   269,
11747      270,   271,   428,   429,   409,   275,   276,   277,   278,   428,
11748      429,   274,    51,   283,   419,   274,    51,   287,   288,   289,
11749     2003,  2004,   292,    51,    51,   295,   428,   429,   298,   355,
11750      300,    51,  1951,   428,   429,   274,    51,   307,   274,    51,
11751       51,    51,    51,    51,   314,   339,  3324,   317,   318,   428,
11752      429,   321,   322,   323,    51,   381,  1975,   327,   274,   329,
11753       51,   428,   429,   409,   334,   335,    51,   413,  3469,    51,
11754      340,   341,    51,   419,   274,   428,   429,   138,    51,    51,
11755      935,    89,    71,   353,    51,    71,   356,   138,    51,   428,
11756      429,   361,  1922,   428,   429,   365,   256,   367,  1910,   369,
11757       51,   371,   138,   373,   398,   375,   376,   377,    51,  3324,
11758      428,   429,   382,   383,   274,   428,   429,   411,   428,   429,
11759      320,    51,    89,   262,   333,   395,   428,   429,   274,   399,
11760      138,   401,    51,    51,   428,   429,   345,   407,   428,   429,
11761       51,    51,    51,   138,  1974,    51,  1976,   428,   429,    51,
11762       51,    51,   428,   429,    51,   294,    51,   333,   171,    51,
11763      138,   431,  1974,    78,  1976,   435,   436,   437,   438,   345,
11764      440,   138,  2002,   138,   320,   151,   138,   138,   138,   339,
11765     3324,    51,   274,    69,   274,  3857,    51,   138,  3324,  2694,
11766       71,    47,   352,   350,   286,   647,   286,    71,    71,   297,
11767      339,   151,   294,   286,   294,    19,    20,    51,   138,   646,
11768       51,    51,    26,    51,    51,    51,   355,    31,    32,    51,
11769       51,     4,     5,     6,   409,    51,   411,    51,   413,    51,
11770      415,  3324,   417,  3324,   419,    51,    51,   397,  1184,    51,
11771      510,    51,  3667,    51,  3324,  3833,    51,    51,   395,    51,
11772      350,   257,    71,   151,    89,    89,   350,   263,   297,    89,
11773       51,   257,    51,    51,    51,    51,    51,    51,    69,   462,
11774       69,    51,   350,   395,    69,   217,   218,   350,  3866,    93,
11775      550,  3706,   647,    56,    57,    51,   350,   138,   409,    71,
11776      411,    71,   413,    71,   415,   350,   417,    69,   419,   235,
11777      114,   130,   276,   138,   138,   397,    69,   397,   138,   138,
11778       83,    84,   462,   350,   273,    19,    20,   313,    89,   589,
11779       24,    25,    26,    69,    89,   473,   350,    31,    32,    69,
11780      113,   114,    69,    37,    38,    51,   428,   429,   428,   429,
11781      154,   155,   257,   491,    69,  2324,  2325,   138,   647,   542,
11782       71,   350,   543,   395,   396,   647,   271,   331,   646,    51,
11783      138,   653,   650,   156,   147,    51,    89,   138,   559,   647,
11784      257,   646,    88,   138,    55,   158,    49,    50,   161,    10,
11785      647,   350,   646,    89,   271,   647,    47,   395,   396,    93,
11786      526,   971,   542,   648,   544,   545,    88,   652,    55,    47,
11787      359,   360,   361,    89,  2323,    51,    69,   130,    69,   646,
11788      114,   204,   647,   647,   647,   138,  2395,  2396,    91,   653,
11789      647,    69,   350,   646,   207,   647,    83,    89,   395,   396,
11790      350,   245,   138,   569,  2264,    58,   235,   648,   350,   647,
11791     2270,   652,   647,    89,   101,   581,   582,   362,  1073,  1074,
11792      154,   155,   138,   104,   105,   106,   107,   108,   109,   110,
11793      111,   647,   245,   235,   646,  2448,  4054,   250,    91,    92,
11794      243,    89,   235,   646,  2457,   327,   138,  2460,  4066,   646,
11795      263,   112,   646,   266,   267,   373,   374,   646,   647,   235,
11796      647,   274,   138,   276,   262,   235,   258,   259,   235,   414,
11797       10,   648,   585,   359,   646,   288,   289,  4179,   139,   140,
11798      141,   646,   130,   281,   395,   396,   492,   530,   286,   235,
11799      138,   646,   395,   396,   647,   308,   294,   414,  3806,   646,
11800      652,   297,    51,   104,   105,   106,   107,   108,   109,   110,
11801      111,   245,   492,   235,   648,  3970,   250,   647,   818,   491,
11802      820,   821,   650,   647,   647,   825,   826,   827,   341,  3984,
11803      830,   831,   832,   331,   359,   395,   396,   381,  4060,   647,
11804       89,  3076,   355,   356,   647,  2554,   462,   345,    88,    89,
11805      647,   238,   852,   647,   546,   547,   243,  3988,  3989,   650,
11806     4178,  3806,   647,   250,   492,   276,   647,  3998,   412,  4000,
11807      964,   871,   112,   376,   377,   646,   876,   649,   544,   545,
11808      647,   650,   527,   317,   650,   650,   622,   274,    51,   138,
11809      130,   648,   650,   647,   255,   282,   622,   647,   138,   139,
11810      140,   141,   350,   648,   359,   351,   648,   648,   648,   648,
11811     1265,  1266,   650,    51,   427,  1270,  1271,   534,   647,   646,
11812     1275,  1276,   303,   541,   649,    88,   542,   648,   647,   351,
11813      317,   462,  3806,   648,   646,   935,   176,   653,   938,   648,
11814     3806,   649,   395,   396,   944,   648,   648,   381,   647,   189,
11815       88,   646,   649,    51,    51,   648,   647,   647,  2518,   395,
11816      396,   201,   202,   138,   964,   646,   359,  3381,   359,   969,
11817     4125,  3385,   325,   973,  2534,   648,  2518,   647,   412,   395,
11818      396,   359,  2542,  3806,   984,  3806,   646,   987,    51,   647,
11819       88,   352,  2534,   647,   381,   235,  3806,   647,   646,   648,
11820     2542,   241,   303,   395,   396,   647,   623,   648,   648,   648,
11821       51,   542,   648,   544,   545,   255,   648,   648,   648,   395,
11822      396,   648,   646,   648,   647,    88,   648,   461,   474,   475,
11823      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
11824      486,   487,   488,   489,   490,   491,   492,    88,   648,   653,
11825      439,   646,   474,   475,   476,   477,   478,   479,   480,   481,
11826      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
11827      492,  1071,   235,   653,   648,  1075,  1076,   648,   648,    71,
11828      648,   648,   648,   647,   649,    71,   648,   648,  1088,  1089,
11829      650,   646,   648,   646,   648,   359,   648,   235,   642,   138,
11830      644,    35,   648,   648,   653,    51,   648,    90,   648,  1109,
11831      648,   351,   352,   648,   648,    51,   648,   630,   631,   632,
11832      633,   634,   635,   636,   637,   638,   639,   640,   641,   648,
11833      648,   648,   648,   648,   648,    79,   646,   235,   304,   305,
11834      306,   653,    88,   647,   505,    12,   395,   396,  1148,  1149,
11835      647,    51,   384,   385,   386,   395,   396,    89,   646,   647,
11836       89,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11837      410,   411,   235,   647,    51,   415,   416,   417,   418,    63,
11838     1180,   647,   549,   647,    89,   646,   647,    51,   351,   103,
11839      557,   558,    35,   560,   235,   576,    35,   650,   130,   647,
11840      647,  1201,   397,   398,   650,   400,   138,   647,   642,   138,
11841      647,   647,   647,   351,   327,   646,   647,   604,    89,    51,
11842      395,   396,    51,   647,    88,   130,   273,  1903,   650,    79,
11843     1906,   647,   307,   138,   474,   475,   476,   477,   478,   479,
11844      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
11845      490,   491,   492,   351,   173,   647,    67,   644,   359,    88,
11846      487,   488,   489,  1263,   491,   505,   270,   138,  1268,   175,
11847      646,   647,   647,  1273,   646,   576,   397,   398,  1278,   400,
11848     1280,  2162,  1282,    89,  2165,   138,  3134,  3135,   351,   235,
11849     3138,    51,   389,   390,   391,   392,   393,   394,   395,   396,
11850      397,   398,   186,   400,   395,   396,   397,   398,   276,   400,
11851      351,   474,   475,   476,   477,   478,   479,   480,   481,   482,
11852      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
11853     3648,   270,   138,   649,  1334,   350,   474,   475,   476,   477,
11854      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11855      488,   489,   490,   491,   492,    71,   395,   396,   646,   647,
11856       89,   235,   944,   646,   647,    51,   646,   647,   297,   646,
11857      647,   235,   256,   221,   222,   223,   474,   475,   476,   477,
11858      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11859      488,   489,   490,   491,   492,   235,    71,   646,   647,   227,
11860     2076,   130,   227,    89,   227,   351,   235,   647,  3422,   138,
11861      646,   474,   475,   476,   477,   478,   479,   480,   481,   482,
11862      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
11863      235,   345,   346,   474,   475,   476,   477,   478,   479,   480,
11864      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
11865      491,   492,   138,   389,   390,   391,   392,   393,   394,   395,
11866      396,   397,   398,  1463,   400,  1465,   395,   396,    44,   531,
11867       46,    96,    97,    98,    99,   100,  3470,   524,   492,   290,
11868      291,   292,   293,   294,   295,   648,    71,   351,    71,   389,
11869      390,   391,   392,   393,   394,   395,   396,   397,   398,    71,
11870      400,    71,   549,   550,   551,   552,  1088,  1089,   225,   226,
11871      648,    71,   389,   390,   391,   392,   393,   394,   395,   396,
11872      397,   398,   351,   400,   395,   396,    71,  1109,   474,   475,
11873      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
11874      486,   487,   488,   489,   490,   491,   492,   127,    91,    92,
11875      648,   648,    89,   231,   232,   233,  3269,   389,   390,   391,
11876      392,   393,   394,   395,   396,   397,   398,    71,   400,  2245,
11877      487,   488,   489,    71,   491,    71,  3690,    71,   487,   488,
11878      489,    71,   491,   339,   340,   648,   231,   232,   233,   395,
11879      396,   487,   488,   489,    71,   491,   384,   385,   386,   988,
11880       71,   138,    51,   395,   396,   397,   398,   648,   400,    71,
11881      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
11882      484,   485,   486,   487,   488,   489,   490,   491,   492,   389,
11883      390,   391,   392,   393,   394,   395,   396,   397,   398,   648,
11884      400,    71,   526,   646,   647,   474,   475,   476,   477,   478,
11885      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11886      489,   490,   491,   492,    71,    44,   395,   396,   136,   137,
11887      133,   134,   135,   389,   390,   391,   392,   393,   394,   395,
11888      396,   397,   398,   263,   400,   569,  1926,   562,   563,   564,
11889      565,   646,   647,    51,  1937,   648,   276,    71,   274,    71,
11890      276,    89,   648,  4186,  4187,   646,   647,   591,   592,   395,
11891      396,    71,   648,  3732,   389,   390,   391,   392,   393,   394,
11892      395,   396,   397,   398,   648,   400,   391,   392,   393,   394,
11893      647,    51,   308,   648,   113,   114,  4219,  3732,   647,   646,
11894      647,    71,   646,   647,   646,   647,    51,  1926,   648,   329,
11895      138,   647,    71,  1926,  4237,   646,   647,   646,   647,    71,
11896      297,   646,   647,    88,    89,   646,   647,   646,   647,   397,
11897      398,   648,  4255,  4256,   646,   647,  2030,  1926,   646,   647,
11898     2030,  2030,  2030,  2030,   648,  2461,   526,  2030,   646,   647,
11899      646,   647,   646,   647,    71,  2030,  2030,    71,   378,   379,
11900      268,   269,  1943,  2158,  2159,   646,   647,    71,  2065,   277,
11901     2030,    71,  1937,   138,  1908,  2491,  2492,  2030,    71,   648,
11902      646,   647,   646,   647,   646,   647,  2092,    71,   568,   569,
11903     2092,    71,  2092,    71,  1920,    71,   646,   647,  2030,    71,
11904     2030,   647,  3856,    71,  3858,  2092,   586,   587,   588,   589,
11905      590,  2030,    71,  2030,    71,  1949,    71,  2030,   395,   396,
11906     2030,    71,  2030,    71,  2030,  2030,   245,  2030,   646,   647,
11907       51,   250,   646,   647,  2030,   646,   647,   397,   398,  1973,
11908      648,  2030,  4220,  4221,  4090,  4091,   646,  2135,  2052,  3128,
11909     3129,  2523,  2524,   646,  3888,  2065,  3890,   276,  2030,  2052,
11910     2092,  2030,  1926,   648,   648,  2030,  2000,    71,  1908,  3618,
11911      648,  2005,    71,  1913,  1914,    71,    71,    71,  2030,  2030,
11912       71,  2030,  2092,    71,  2092,  1925,  2156,  2092,  1928,    71,
11913      646,    71,    71,  2030,    71,    71,    71,  2292,  2293,    71,
11914     2030,  2296,  2297,  2030,    71,  2300,  2301,  2030,  1948,  1949,
11915       71,  2092,  2030,    71,  1954,  2030,  1956,    71,  2135,  1959,
11916     1960,  2030,    71,    71,    71,  2030,  2030,    71,  1968,    71,
11917       71,   646,   297,  1973,  2272,  1088,  1089,  2215,  2072,  2030,
11918       71,  2092,  2030,    71,  2278,  2235,    71,  2030,  2082,    71,
11919     2030,    71,  2276,  2276,    71,  2235,  1109,  2272,  2030,  1999,
11920     2000,  2095,  2030,  2030,  2030,  2005,  2030,   395,   396,  2030,
11921     2030,  2272,  2012,  2265,  1925,  2235,  2222,  2030,    71,  2030,
11922       71,    71,  2272,    71,  2030,  2261,   351,    71,  2392,    71,
11923     3679,  2031,  2272,    71,    71,  2265,  1926,  2030,  2392,    71,
11924       71,  2030,  2215,    71,    71,  1956,  2392,  4061,  1959,  1960,
11925     2222,  2392,  2146,    71,    71,  2392,  2235,  2733,  2734,    71,
11926       71,  2030,  2235,    71,  2030,  2463,  2066,  2235,  2329,  2156,
11927      395,   396,  2072,    71,  1943,  2248,  2248,    71,    71,    71,
11928     4074,  3794,  2082,    71,  2030,  3798,  2235,    71,    71,  3802,
11929       71,  3804,  3805,    71,  2465,  2095,    71,  2222,  2098,  2272,
11930     2030,  2499,    71,    71,  2104,  2105,  2465,    71,  2483,    71,
11931      647,    71,   649,  2483,  2483,  2465,    71,  2117,    71,    71,
11932     2031,    71,    51,  2248,    51,  2483,  2392,   648,  2499,  2129,
11933     2392,  2131,  2392,  2519,    71,  2392,  2261,  2496,  2392,    71,
11934     2030,  2141,  2392,  2392,    51,  2392,  2146,  2546,   648,  2499,
11935       51,    71,  2392,  2483,  2030,  2066,  2250,  2157,  2252,  2483,
11936     2483,    71,  2162,  2483,   648,  2165,  4180,    71,  2483,  2169,
11937     2170,  2171,  2172,  2173,  2174,    71,    71,  2177,  2178,  2179,
11938     2180,  2181,  2182,  2183,  2184,  2185,  2186,  2187,  2188,  2189,
11939     2190,  2191,  2192,  2193,  2194,  2483,   647,  2197,  2198,  2199,
11940     2200,  2201,  2202,  2203,  2204,  2205,  2206,  2207,  2030,  2209,
11941     2030,  2235,   648,  2392,    71,  2449,  2272,    51,  2483,  2392,
11942     2465,    71,  2392,  2092,  2392,  2319,  2156,  2483,    71,    71,
11943       71,    71,  2232,  2233,  2234,    71,  2236,   648,    71,  2239,
11944     2240,    71,  2483,  2065,    71,  2065,  2157,    71,    71,  2398,
11945     2250,    71,  2252,  2465,  2499,    71,    71,  2257,  2258,   647,
11946     2465,    71,    51,  2357,   648,    71,  2266,  2465,  2465,    71,
11947     2092,  2271,  2092,  2329,    71,   648,  2449,   648,    71,  2279,
11948     2156,    71,  2494,  2222,    71,    71,    71,  2499,   647,  2289,
11949     2540,  2465,  2540,   648,  2499,   648,  2546,  2540,  2546,  2393,
11950     2540,  2499,  2499,  2546,  2304,  2540,  2546,  2307,    51,  2248,
11951     2483,  2546,  2312,   646,  2314,  2315,  2222,  2411,    51,  2319,
11952      648,    51,  2998,  2234,  3000,  2499,  2326,  2540,  2328,   647,
11953     2465,    71,    71,  2546,  2483,  2335,    71,  3897,   647,  2339,
11954       71,   647,  2248,    71,    71,  2235,  2257,    71,  2540,    71,
11955       71,    71,  2352,    71,  2546,  2266,    71,  2357,  2358,  2453,
11956     2271,  2455,  2456,  2540,  2499,    71,  2235,  2540,  2279,  2546,
11957     2540,   646,    71,  2546,  2398,  2265,  2546,  2540,  2289,  3517,
11958      116,   647,   647,  2546,  2540,   121,   122,   123,   647,  2465,
11959     2546,  2540,  2682,  2393,  2394,   647,   647,  2546,   647,   647,
11960      647,   647,  2402,  2272,  2404,   647,   647,    71,  2540,    71,
11961      647,  2411,  2488,   647,  2546,  2540,   152,  2328,   647,    71,
11962      647,  2546,   647,  2499,   647,   647,  3102,   647,    71,   647,
11963       71,  2540,   648,  2527,   647,   647,   647,  2546,   174,   648,
11964      647,   177,  2536,  2540,    71,  1943,    71,    71,    71,  2546,
11965     2544,   648,    51,  2453,    71,  2455,  2456,  2540,    71,  2483,
11966       71,    71,  3914,  2546,  2464,   389,   390,   391,   392,   393,
11967      394,  2540,   648,   397,   398,  2540,   400,  2546,    71,    71,
11968       71,  2546,    71,    51,    71,    71,    71,  1876,  1877,    71,
11969       71,    71,  2540,    51,    71,   648,    71,  2540,  2546,    71,
11970     2540,    71,  2392,  2546,  1893,    71,  2546,  3475,  2540,    71,
11971       71,    71,    71,   350,  2546,    71,  2540,    71,    71,    71,
11972     2540,  3452,  2546,  2105,    71,    71,  2546,  2527,    71,  2540,
11973       71,    71,    71,    71,  2540,  2546,  2536,    71,    71,  2539,
11974     2546,    51,   648,   648,  2544,  2545,    71,    71,  2548,  2549,
11975     2465,   648,  2552,  2464,  2052,  2555,  2556,    71,  2558,  2559,
11976     2560,  2851,  2562,  2918,   648,    71,    71,  2065,  2483,    71,
11977     2392,    71,  2392,  2488,  1963,    71,  2886,  3442,    71,  2494,
11978       71,  2496,    71,    71,  2499,    71,    71,  2169,  2170,  2171,
11979     2172,    51,   328,  3269,  2092,  2177,  2178,  2179,  2180,  2181,
11980     2182,  2183,  2184,  2185,  2186,  2187,  2188,  2189,  2190,  2191,
11981     2192,  2193,  2194,  3432,  2465,  2197,  2198,  2199,  2200,  2201,
11982     2202,  2203,  2204,  2205,  2206,  2207,    71,    71,  2539,    71,
11983       71,    71,  2483,    71,  2545,   116,  2636,  2488,  2638,    71,
11984      121,   122,   123,  2494,    71,  2496,    71,  2036,  2499,    71,
11985       71,  2651,    71,  2042,    71,    71,    71,    71,  2047,    71,
11986       71,    71,    55,    71,    71,    71,    71,    71,  2057,   648,
11987       51,   152,    71,    71,  2674,    71,    71,  2677,   648,  2679,
11988       71,    55,  2682,    71,    71,    71,  2075,    71,    81,    82,
11989       83,   312,    71,   174,    71,  3050,   177,    51,  3053,  2699,
11990       71,  3056,    71,    71,    71,    71,    71,    71,    71,    83,
11991       71,    71,    71,    71,    71,   336,   337,  2215,  2540,    71,
11992     2540,    71,    71,    71,  2546,    71,  2546,   101,    71,    71,
11993     3908,    71,    71,  3409,    71,  3411,    71,    71,    71,    71,
11994     2651,    71,    71,    71,    71,    71,    71,    71,    71,  2138,
11995     2248,  2140,    71,    71,    71,   648,   149,    71,    21,    22,
11996       23,    71,    71,    71,    27,    28,    29,    30,    71,    71,
11997       71,    71,   165,    71,    71,   149,    71,    71,    51,  2873,
11998     2780,  2781,    45,   312,  2878,   648,    51,   648,  2699,    71,
11999       71,   165,    55,    71,    71,  2795,    71,  3473,    51,  2799,
12000       71,    51,    71,  2803,    71,    51,   235,   336,   337,    71,
12001       71,    71,    71,    71,   207,    71,    71,    71,   299,  3404,
12002       83,  2821,  2822,   648,    71,    51,    71,    71,  2828,   475,
12003      648,    71,    71,   207,    71,   481,   482,   483,   484,   485,
12004      486,    51,    88,    71,   648,    51,    71,   328,   648,  3525,
12005      496,  2851,    51,   648,  2243,    71,    71,  2857,   504,  2859,
12006       71,  3446,    71,   237,    71,   648,    71,  2867,    71,   243,
12007       71,  2871,    51,  2873,    71,    71,   250,    71,  2878,    71,
12008       71,   274,    71,    71,    71,  2274,    71,    71,   281,    71,
12009       71,  2280,  2281,  2282,  2283,    71,    71,  2897,    71,    71,
12010      274,   648,    51,   647,   646,   526,   527,   281,   653,   647,
12011       51,    71,   653,   647,   138,   647,   653,  2917,   647,   138,
12012      646,   138,   647,   646,  2313,   138,  3324,   297,   647,   389,
12013      390,   391,   392,   393,   394,   395,   396,   397,   398,  2521,
12014      400,  2523,  2524,   317,   647,   647,   647,   568,   569,   647,
12015      571,   572,   647,   574,   575,   576,   577,   647,   647,   647,
12016     2871,   647,   647,   647,  2964,   647,   647,   647,   647,   647,
12017      647,   592,   647,   647,  3650,   138,  2976,  2977,   646,   138,
12018      243,   244,   653,   376,   377,   138,   138,   138,  2988,   235,
12019     2990,    51,   649,  2993,   138,   138,   138,   526,   527,   138,
12020      138,   138,   376,   377,    51,   647,  3006,   381,  3008,   138,
12021      646,  3687,  3012,   646,  3690,   646,   138,   646,   281,   282,
12022      327,    51,  3022,   138,   646,   138,    88,   138,  3028,   647,
12023     3030,   138,   138,   138,   138,   138,   138,  3037,   138,   568,
12024      569,   570,   571,   572,   138,   574,   575,  3047,  3048,  3049,
12025      138,   297,   581,   138,   649,   138,  2169,  2170,  2171,  2172,
12026      138,  3061,   138,   592,  2177,  2178,  2179,  2180,  2181,  2182,
12027     2183,  2184,  2185,  2186,  2187,  2188,  2189,  2190,  2191,  2192,
12028     2193,  2194,   647,  3083,  2197,  2198,  2199,  2200,  2201,  2202,
12029     2203,  2204,  2205,  2206,  2207,  3006,  3096,  3008,  3098,  3099,
12030     3100,   138,  3102,   138,   138,   351,   138,   138,    51,   138,
12031      647,   646,    51,   376,   377,    51,   646,    51,    51,  3030,
12032      646,  3797,   138,   646,   138,  3801,   519,   520,   646,   138,
12033      646,   646,   297,  3133,  3134,  3135,   297,   646,  3138,   389,
12034      390,   391,   392,   393,   394,   395,   396,   397,   398,    51,
12035      400,   297,  3828,   138,   653,   138,   646,   297,  3468,   389,
12036      390,   391,   392,   393,   394,   395,   396,   397,   398,  3169,
12037      400,   297,   646,   235,  2563,  2564,  2565,  2566,   646,   138,
12038     2569,  2570,  2571,  2572,  2573,  2574,  2575,  2576,  2577,  2578,
12039     2579,  2580,  2581,  2582,  2583,   646,  2585,  2586,  2587,  2588,
12040     2589,  2590,  2591,  2592,  2593,  2594,  2595,   138,   138,  3209,
12041      138,   138,   138,   138,   138,   646,  3892,   235,   646,   138,
12042      646,   138,   646,  3223,   647,   138,   646,   138,   474,   475,
12043      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12044      486,   487,   488,   489,   490,   491,   492,   647,   389,   390,
12045      391,   392,   393,   394,   395,   396,   397,   398,  3169,   400,
12046      138,    51,   647,   646,    51,   138,   648,   138,  3268,   138,
12047      644,   646,   138,   646,   646,    71,   400,  2859,   138,   138,
12048      138,    51,   138,   138,   646,  2867,    71,   350,   138,   351,
12049      646,   646,   138,  3969,    21,    22,    23,   138,    88,   646,
12050       27,    28,    29,    30,   138,   646,    33,   138,   646,   138,
12051      646,  3311,   138,   138,   350,   138,   647,    44,    45,    71,
12052     3996,    71,  3322,    71,   646,   646,   646,    71,    55,   389,
12053      390,   391,   392,   393,   394,   395,   396,   397,   398,   138,
12054      400,   646,   389,   390,   391,   392,   393,   394,   395,   396,
12055      397,   398,   138,   400,   646,   646,    83,  3268,   646,   389,
12056      390,   391,   392,   393,   394,   395,   396,   397,   398,   649,
12057      400,   647,   138,   647,   101,  4051,   646,   138,   646,   138,
12058      646,  4057,  2964,   647,   138,   541,   150,   138,  3388,   646,
12059      400,   138,  3392,   138,   646,  3395,    51,  4073,   646,   138,
12060      646,   138,   138,   646,  3404,   646,  3406,  2796,  3806,   138,
12061      646,  2800,   474,   475,   476,   477,   478,   479,   480,   481,
12062      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12063      492,   138,  3432,   138,   646,   649,   138,   138,   138,   647,
12064      138,   138,  3442,  4119,   646,   235,  3446,   647,   138,   647,
12065      138,   312,  3452,   646,    51,   138,  3456,  3457,   138,   138,
12066     3460,   647,   138,  3463,   647,   138,  3048,  3049,   646,   646,
12067      138,  3471,   646,   138,   138,   336,   337,   138,   138,  3061,
12068       51,   138,   138,  3483,  3484,   138,   138,   389,   390,   391,
12069      392,   393,   394,   395,   396,   397,   398,   138,   400,   138,
12070      138,   138,   138,   138,  3504,   138,  3506,   297,   138,   138,
12071     2899,   138,  3512,   138,   138,   138,   243,   244,   138,  3519,
12072       51,   138,   138,   138,   138,   646,   138,   138,    51,   138,
12073     3530,  3531,   138,   138,   646,   138,   138,  3537,   389,   390,
12074      391,   392,   393,   394,   395,   396,   397,   398,   138,   400,
12075      138,   138,   138,   646,   281,   282,   138,  3912,  3558,   138,
12076      138,   351,   646,   138,  3564,    88,   138,   646,   138,   646,
12077      138,   646,   646,  3573,     8,   646,   649,    11,   138,   649,
12078      138,  3581,   646,   138,   138,   646,   138,   646,  3588,  2978,
12079      652,   646,   646,   138,   138,   138,   138,   138,   138,   647,
12080       34,  3512,   389,   390,   391,   392,   393,   394,   395,   396,
12081      397,   398,  3001,   400,    48,   648,  3616,   276,   646,  3619,
12082      647,   647,  3622,   646,   646,   297,  3015,  3209,   652,    51,
12083      395,   297,    51,    51,    68,   646,  3730,   944,   391,   392,
12084      393,   394,   395,   396,   397,   398,   138,   400,   138,   376,
12085      377,   648,   648,   648,    51,   648,   963,    71,  4013,  4014,
12086       71,   648,   646,   276,    71,   526,   527,   648,   648,   297,
12087       88,   648,   400,   648,   648,   646,   646,    71,  3678,   652,
12088      646,   646,   138,   138,   474,   475,   476,   477,   478,   479,
12089      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12090      490,   491,   492,   648,   646,   646,    71,   568,   569,   646,
12091      571,   572,   235,   574,   575,   576,    51,    51,   653,  3719,
12092      581,  3721,    51,  3723,   653,   159,   160,  4082,  4083,    71,
12093     3730,   592,  3732,   648,   389,   390,   391,   392,   393,   394,
12094      395,   396,   397,   398,   178,   400,  2859,   648,   653,   648,
12095      653,    71,  3752,  3753,  2867,  3755,    71,   647,    71,   138,
12096      652,   138,  3762,    51,   653,    51,    51,    51,   647,   646,
12097     3770,  3771,   653,    71,   646,    51,   646,   138,    51,   297,
12098      648,  1088,  1089,   646,  3784,   297,   297,    51,    71,  4144,
12099     3790,    71,   389,   390,   391,   392,   393,   394,   395,   396,
12100      397,   398,  1109,   400,   646,    71,    71,   647,   242,   646,
12101      648,    71,  3812,   648,    71,  3815,   648,   235,   389,   390,
12102      391,   392,   393,   394,   395,   396,   397,   398,   351,   400,
12103      648,   646,   646,    71,    71,     3,    71,    51,   272,    71,
12104       71,    71,   653,   653,   492,    13,   653,   151,   646,    71,
12105       18,  2964,    71,   647,   646,   652,   646,   138,   389,   390,
12106      391,   392,   393,   394,   395,   396,   397,   398,    51,   400,
12107       51,    51,   646,   646,  3456,  3457,   647,  1184,  3878,   646,
12108     3880,  3463,    71,   646,    52,    53,   646,    55,   646,   646,
12109      646,    59,    60,    61,   543,   541,   150,   646,   138,  3899,
12110     3900,  3483,  3484,    51,   646,   648,   646,   648,  3908,   138,
12111      648,  3911,    80,  3913,  3914,    83,   648,   652,   358,   653,
12112      354,  3921,  3504,   647,  3506,   391,   392,   393,   394,   395,
12113      396,   397,   398,   351,   400,  3048,  3049,   297,   647,    71,
12114       51,   350,   646,   358,    51,   113,   114,    51,  3061,   556,
12115      138,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12116      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12117      647,   138,   647,   138,   142,   143,   144,   646,   350,   541,
12118     3369,   652,  3564,   653,   647,    51,   653,    51,    51,    51,
12119     3990,   653,   646,   350,   350,   653,   647,   165,   166,   167,
12120       55,   169,   170,   653,   646,   652,    71,    51,   648,   138,
12121      150,  4011,   492,   151,   648,   646,   138,    71,   350,    51,
12122      646,   541,  4022,  4023,   646,    88,  4026,   195,   196,   647,
12123       51,   350,   653,    51,   653,    51,   646,    51,  3427,   647,
12124     4040,    71,  4042,   647,  3433,   646,   646,   646,   646,    71,
12125      646,   646,   556,   646,   648,  3444,   474,   475,   476,   477,
12126      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12127      488,   489,   490,   491,   492,   243,    51,   245,   647,   492,
12128      647,   647,   250,   646,   648,    51,   647,  4087,  3477,   646,
12129      258,   259,   151,   261,   647,   263,  3209,   152,   153,   646,
12130      648,  4101,    51,   138,    51,    51,  4106,    71,   647,   646,
12131      646,   646,   280,   168,   648,   138,   648,    51,   138,   174,
12132      646,   289,   177,   646,    51,   138,    71,  3516,    71,   648,
12133      138,   299,   648,   648,   138,   190,   646,    51,  3527,   307,
12134      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
12135     3732,   400,   648,   648,   648,  4155,   132,   646,  2338,  2355,
12136      328,  4161,  4162,  3103,  2358,  2317,   334,   335,  4168,  3771,
12137     3752,  3753,   235,   341,  3787,   389,   390,   391,   392,   393,
12138      394,   395,   396,   397,   398,  4185,   400,  4158,  2828,  2516,
12139     2063,  2114,  3463,  4193,   249,  3455,  2981,  2505,  4198,   254,
12140     4200,  2886,  3591,  4035,  4165,  2519,  4168,  3996,   376,   377,
12141     2513,  3467,  2998,  2121,  2546,   427,  2540,  4217,  2529,  2248,
12142     1937,   276,  2265,  2525,  2803,  2398,   435,  3806,   646,   821,
12143      437,  3830,   287,  3651,   438,     3,  3625,  3626,     6,  2030,
12144     4058,  3691,   827,  3688,  4244,    13,  2092,  2156,  2117,    17,
12145       18,   984,  4252,  3642,  2288,  3644,  1250,  4257,  2449,  1915,
12146     2276,   852,  1920,  2465,  2499,  2463,  2496,   322,  2494,  4269,
12147     2392,   326,  2235,   328,  2488,   330,   389,   390,   391,   392,
12148      393,   394,   395,   396,   397,   398,  2272,   400,   351,  2329,
12149     2483,    59,    60,    61,    62,    63,  1957,  2065,  3880,   876,
12150      551,  2258,  2892,  1943,  2135,  2857,  1926,  2256,  3762,  3698,
12151     3699,  2239,  3701,    51,  3800,  3784,    -1,  3899,  3900,  2552,
12152     3709,    -1,   490,   378,   379,    -1,    94,    -1,  3717,   973,
12153       -1,    -1,    -1,  4244,   102,    -1,  2052,    -1,    -1,    -1,
12154       -1,    -1,    -1,  3456,  3457,   113,   114,   115,    -1,    -1,
12155       88,    -1,    -1,    -1,    -1,    -1,   124,   125,   126,    -1,
12156       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3756,  3757,    -1,
12157     3483,  3484,    -1,    -1,   142,   143,   144,    -1,  3767,    -1,
12158       -1,    -1,    -1,    -1,   152,    -1,    -1,    -1,    -1,    -1,
12159       -1,  3504,    -1,  3506,    -1,    -1,    -1,    -1,   566,    -1,
12160       -1,   650,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
12161       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12162      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12163       -1,    -1,  3821,    -1,    -1,    -1,    -1,    -1,   206,    -1,
12164     3829,    -1,    -1,    -1,   612,   613,   614,   615,   616,   617,
12165      618,  3564,    -1,    -1,    -1,    -1,   624,   625,   626,   627,
12166      628,   629,    -1,    -1,   389,   390,   391,   392,   393,   394,
12167      395,   396,   397,   398,    -1,   400,    -1,   245,   246,    -1,
12168      248,    -1,   250,    -1,    -1,   253,   254,    -1,    -1,    -1,
12169      258,   259,    51,   261,    -1,   263,    -1,   235,    -1,    -1,
12170       -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,   276,   389,
12171      390,   391,   392,   393,   394,   395,   396,   397,   398,   287,
12172      400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,    88,
12173      298,   299,    -1,    -1,  3923,   648,    -1,    -1,    -1,   307,
12174      308,   309,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12175       -1,   319,   320,   321,    -1,    -1,    -1,    -1,    -1,    -1,
12176      328,    -1,    -1,    -1,    -1,    -1,   334,   335,  3957,  3958,
12177       -1,    -1,    -1,   341,    -1,    -1,    -1,    -1,    -1,    -1,
12178       -1,    -1,    -1,   646,    -1,    -1,    -1,    -1,    -1,    -1,
12179     3979,    -1,    -1,    -1,    -1,  1902,  1903,  1904,  3987,  1906,
12180       -1,   389,   390,   391,   392,   393,   394,   395,   396,   397,
12181      398,  1918,   400,   351,    -1,    -1,  1923,    -1,    -1,    -1,
12182       -1,    -1,    -1,    -1,    -1,  1932,  1933,    -1,  1935,    -1,
12183       -1,    -1,  1939,    -1,    -1,    -1,    -1,    -1,    -1,  3752,
12184     3753,  4030,  4031,    -1,    -1,    -1,  4035,   389,   390,   391,
12185      392,   393,   394,   395,   396,   397,   398,    -1,   400,    -1,
12186     1967,  4050,  1969,  1970,  1971,    -1,    -1,    -1,    -1,    -1,
12187       -1,    -1,  1979,    -1,  1981,    -1,   235,    -1,  1985,  1986,
12188     1987,  1988,  1989,  1990,  1991,    -1,    -1,    -1,    -1,  1996,
12189       -1,   389,   390,   391,   392,   393,   394,   395,   396,   397,
12190      398,  2008,   400,  4092,  4093,    -1,    -1,    -1,    -1,    -1,
12191       -1,  2018,  2019,  4102,    -1,  2022,    -1,    -1,    -1,    -1,
12192       -1,  2028,   490,   648,    -1,    -1,    -1,    -1,    -1,    -1,
12193       -1,    -1,  4121,    -1,    -1,    -1,   474,   475,   476,   477,
12194      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12195      488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,    -1,
12196       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3880,   648,  2076,
12197       -1,    -1,    -1,    -1,    -1,    -1,  4165,    -1,    -1,  2086,
12198     2087,  2088,    -1,  4172,    -1,    -1,  3899,  3900,    -1,    -1,
12199       -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,  2105,    -1,
12200       -1,    -1,  2109,  2110,    -1,    -1,    -1,    -1,    -1,    -1,
12201       -1,    -1,    -1,  2120,   389,   390,   391,   392,   393,   394,
12202      395,   396,   397,   398,    -1,   400,    -1,    -1,    -1,    -1,
12203       -1,    -1,    -1,  4222,  4223,    -1,  2143,    -1,    -1,    -1,
12204     2147,    -1,    -1,  2150,    -1,  2152,  4235,    -1,    -1,    -1,
12205       -1,    -1,    -1,    -1,    -1,    -1,   624,   625,   626,   627,
12206      628,   629,  2169,  2170,  2171,  2172,    -1,    -1,    -1,    -1,
12207     2177,  2178,  2179,  2180,  2181,  2182,  2183,  2184,  2185,  2186,
12208     2187,  2188,  2189,  2190,  2191,  2192,  2193,  2194,    -1,    -1,
12209     2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2206,
12210     2207,    -1,    -1,    -1,    -1,    -1,   648,    -1,   646,    -1,
12211     2217,  2218,    -1,  2220,    -1,   474,   475,   476,   477,   478,
12212      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12213      489,   490,   491,   492,  2241,  2242,    -1,    -1,  2245,    -1,
12214       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12215      648,    -1,    -1,    -1,    -1,    -1,  2263,   389,   390,   391,
12216      392,   393,   394,   395,   396,   397,   398,    -1,   400,    -1,
12217       -1,    -1,    -1,     0,    -1,    -1,    -1,    88,    -1,    -1,
12218     2287,    -1,    -1,    -1,    -1,    -1,    -1,    14,    15,   389,
12219      390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
12220      400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12221       -1,    -1,    39,    40,    41,    42,    43,    -1,    -1,    -1,
12222       47,    -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,
12223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,    65,    66,
12224       -1,    -1,    -1,    70,    -1,    72,    73,    74,    75,    76,
12225       -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    85,    86,
12226       -1,    88,    -1,    -1,    -1,    -1,  2373,    -1,    95,  2376,
12227     2377,    -1,    -1,   648,   101,    -1,    -1,  2384,    -1,  2386,
12228     2387,  2388,  2389,  2390,    -1,    -1,    -1,   646,    -1,    88,
12229      117,   118,   119,   120,    -1,    -1,    -1,    -1,    -1,    -1,
12230       -1,    -1,   129,    -1,   131,   132,    -1,    -1,    -1,    -1,
12231       -1,    -1,    -1,    -1,  2421,  2422,    -1,    -1,   145,    -1,
12232       -1,    -1,  2429,    -1,   235,   389,   390,   391,   392,   393,
12233      394,   395,   396,   397,   398,    -1,   400,   164,    -1,    -1,
12234       -1,    -1,    -1,    -1,    -1,   172,    -1,    -1,    -1,    -1,
12235       -1,    -1,    -1,    -1,  2461,    -1,    -1,    -1,    -1,    -1,
12236       -1,  2468,  2469,  2470,    -1,  2472,    -1,    -1,  2475,  2476,
12237      197,   198,   199,   200,  2481,  2482,   203,    -1,    -1,    -1,
12238       -1,    -1,    -1,    -1,  2491,  2492,    -1,   214,   389,   390,
12239      391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
12240       -1,    -1,    -1,  2510,    -1,    -1,    -1,    -1,   235,    -1,
12241       -1,    -1,    -1,   240,    -1,    -1,   648,   389,   390,   391,
12242      392,   393,   394,   395,   396,   397,   398,    -1,   400,    -1,
12243       -1,    -1,    -1,   260,    -1,   262,   235,   264,   265,    -1,
12244      351,    -1,    -1,    -1,    -1,    -1,   273,    -1,   648,   276,
12245       -1,   278,   279,    -1,    -1,    -1,   283,   284,   389,   390,
12246      391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
12247      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
12248       -1,   400,    -1,   310,   311,    -1,    51,   314,   315,   316,
12249       -1,   318,   319,    -1,    -1,    -1,    -1,   324,    -1,    -1,
12250      327,    -1,    -1,    -1,    -1,   332,   333,    -1,    -1,    -1,
12251       -1,   338,    -1,    -1,    -1,   342,   343,   344,    -1,    -1,
12252      347,    -1,   349,    88,   351,    -1,   353,    -1,    -1,    -1,
12253       -1,    -1,   359,   360,   361,    -1,   363,   364,   365,    -1,
12254      367,   368,   369,   370,   371,   372,    -1,    -1,   375,    -1,
12255       -1,    -1,   351,    -1,    -1,   382,   383,    -1,    -1,    -1,
12256       -1,   388,    -1,   474,   475,   476,   477,   478,   479,   480,
12257      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12258      491,   492,    -1,    -1,   648,    -1,    -1,    -1,    -1,    -1,
12259       -1,    -1,    -1,    -1,   421,   422,    -1,    -1,    -1,    -1,
12260       -1,    51,   389,   390,   391,   392,   393,   394,   395,   396,
12261      397,   398,    -1,   400,  2721,  2722,    -1,    -1,    -1,    -1,
12262       -1,    -1,    -1,    -1,    -1,    -1,  2733,  2734,    -1,   456,
12263       -1,    -1,    -1,    -1,   461,    -1,    -1,    -1,    88,    -1,
12264       -1,    -1,    -1,    -1,    -1,   646,    -1,   474,   475,   476,
12265      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12266      487,   488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,
12267      235,    -1,    -1,    -1,   646,   474,   475,   476,   477,   478,
12268      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12269      489,   490,   491,   492,    -1,    -1,    -1,   524,    -1,    -1,
12270       -1,   528,   529,    51,    -1,   532,   533,    -1,   535,   536,
12271      537,   538,   539,   540,    -1,    -1,    -1,   648,    -1,    -1,
12272       -1,   548,    -1,    -1,    -1,    -1,   553,   554,   555,   648,
12273       -1,    -1,    -1,    -1,   561,   646,    -1,    -1,    -1,    -1,
12274       88,    -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,
12275       14,    15,  2859,    -1,    -1,    -1,   583,   584,    -1,    -1,
12276     2867,    -1,    -1,    -1,    -1,    -1,    -1,   594,   595,    -1,
12277       -1,    -1,    -1,  2880,    -1,    39,    40,    41,    42,    43,
12278       -1,    88,    -1,    47,    -1,   235,   351,    -1,    -1,    -1,
12279       54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12280       64,    65,    66,    -1,    -1,    -1,    70,    -1,    72,    73,
12281       74,    75,    76,    51,    -1,    -1,   643,    -1,   645,    -1,
12282       -1,    85,    86,    -1,    88,    -1,    -1,    -1,    -1,    -1,
12283       -1,    95,    -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,
12284       -1,    -1,    -1,    -1,    -1,    -1,    -1,   646,    -1,    -1,
12285       88,    -1,    -1,   117,   118,   119,   120,  2964,    -1,    -1,
12286       -1,   648,    -1,    -1,    -1,   129,    -1,   131,   132,    -1,
12287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12288       -1,   145,    -1,    -1,    -1,    -1,    -1,   235,    -1,    -1,
12289       -1,  2998,    -1,  3000,    -1,    -1,    -1,    -1,    -1,    -1,
12290      164,   351,    -1,    -1,    -1,    -1,    -1,    -1,   172,   474,
12291      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12292      485,   486,   487,   488,   489,   490,   491,   492,   235,    -1,
12293       -1,    -1,    -1,   197,   198,   199,   200,    -1,    -1,   203,
12294       -1,  3048,  3049,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12295      214,    -1,    -1,    -1,  3061,    -1,    -1,    -1,    -1,    -1,
12296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12297       -1,   235,    -1,    -1,    -1,    -1,   240,   389,   390,   391,
12298      392,   393,   394,   395,   396,   397,   398,    -1,   400,    -1,
12299       -1,    -1,    -1,    -1,    -1,  3102,   260,   235,   262,    -1,
12300      264,   265,    -1,   351,    -1,    -1,    -1,    -1,    -1,   273,
12301       -1,    51,   276,    -1,   278,   279,    -1,    -1,    -1,   283,
12302      284,  3128,  3129,    -1,   474,   475,   476,   477,   478,   479,
12303      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12304      490,   491,   492,    -1,   351,    -1,   310,   311,    88,    -1,
12305      314,   315,   316,    -1,   318,   319,    -1,    -1,    -1,    -1,
12306      324,    -1,    -1,   327,    -1,    -1,    -1,    -1,   332,   333,
12307       -1,    -1,    51,    -1,   338,    -1,    -1,    -1,   342,   343,
12308      344,   646,    88,   347,    -1,   349,    -1,   351,    -1,   353,
12309       -1,    -1,    -1,    -1,    -1,   359,   360,   361,    -1,   363,
12310      364,   365,  3209,   367,   368,   369,   370,   371,   372,    88,
12311       -1,   375,    -1,   351,    -1,    -1,    -1,    -1,   382,   383,
12312       -1,    -1,    51,    -1,   388,    -1,   474,   475,   476,   477,
12313      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12314      488,   489,   490,   491,   492,   389,   390,   391,   392,   393,
12315      394,   395,   396,   397,   398,    -1,   400,   421,   422,    88,
12316       -1,    -1,  3269,    -1,    -1,    -1,    -1,   474,   475,   476,
12317      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12318      487,   488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,
12319       -1,    -1,   456,    -1,    -1,   235,   646,   461,   389,   390,
12320      391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
12321      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12322      484,   485,   486,   487,   488,   489,   490,   491,   492,   235,
12323       -1,    -1,    -1,    -1,   646,    -1,   474,   475,   476,   477,
12324      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12325      488,   489,   490,   491,   492,    -1,   235,    -1,    -1,    -1,
12326      524,    -1,    -1,    -1,   528,   529,    -1,    -1,   532,   533,
12327       -1,   535,   536,   537,   538,   539,   540,    -1,    -1,    -1,
12328       -1,    -1,    -1,    -1,   548,    -1,    -1,    -1,    -1,   553,
12329      554,   555,    -1,    -1,    -1,    -1,    -1,   561,   646,    -1,
12330       -1,    -1,  3409,    -1,  3411,    -1,   235,    -1,    -1,    -1,
12331       -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   583,
12332      584,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12333      594,   595,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   646,
12334       -1,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,  3456,
12335     3457,    -1,    -1,    -1,    -1,    -1,  3463,    -1,    -1,    -1,
12336       -1,    -1,    -1,    -1,    -1,    -1,  3473,    -1,    -1,    -1,
12337       -1,    -1,   351,    -1,    -1,    -1,  3483,  3484,    -1,   643,
12338       -1,   645,   389,   390,   391,   392,   393,   394,   395,   396,
12339      397,   398,    -1,   400,    -1,    -1,    -1,  3504,    -1,  3506,
12340       -1,    -1,    -1,    -1,   648,    -1,    -1,    -1,   646,    -1,
12341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3525,    -1,
12342       -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12343       -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
12344      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12345      490,   491,   492,    -1,    -1,   646,    -1,  3564,    -1,    -1,
12346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,
12347      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12348      486,   487,   488,   489,   490,   491,   492,    -1,    -1,    -1,
12349       -1,    -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,
12350      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12351      489,   490,   491,   492,    -1,    -1,    -1,    -1,    -1,    -1,
12352       -1,    -1,    -1,    -1,    -1,   389,   390,   391,   392,   393,
12353      394,   395,   396,   397,   398,    -1,   400,    -1,    -1,    -1,
12354       -1,    -1,  3649,  3650,    -1,   474,   475,   476,   477,   478,
12355      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12356      489,   490,   491,   492,    -1,    -1,    -1,   389,   390,   391,
12357      392,   393,   394,   395,   396,   397,   398,    -1,   400,    -1,
12358     3687,    -1,    -1,  3690,   389,   390,   391,   392,   393,   394,
12359      395,   396,   397,   398,    -1,   400,    -1,    -1,     3,     4,
12360       -1,     6,     7,    -1,     9,    -1,   646,    -1,    13,    -1,
12361       -1,    16,    -1,    18,    -1,   389,   390,   391,   392,   393,
12362      394,   395,   396,   397,   398,  3732,   400,    -1,    -1,    -1,
12363       -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,
12364       45,   648,    -1,   649,    -1,  3752,  3753,    52,    53,    -1,
12365       55,    -1,    -1,    -1,    59,    60,    61,   389,   390,   391,
12366      392,   393,   394,   395,   396,   397,   398,   646,   400,    -1,
12367       -1,    -1,    77,    -1,    -1,    80,    81,    82,    83,    -1,
12368       -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12369     3797,    -1,  3799,    -1,  3801,    -1,   101,    -1,    -1,    -1,
12370       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,   114,
12371      115,    -1,    -1,    -1,    -1,    -1,    -1,   646,    -1,    -1,
12372       -1,  3828,    -1,   389,   390,   391,   392,   393,   394,   395,
12373      396,   397,   398,    -1,   400,    -1,    -1,   142,   143,   144,
12374       -1,   146,   147,   148,   149,    -1,    -1,    -1,    -1,    -1,
12375       -1,    -1,   157,   158,    -1,    -1,    -1,   162,   163,    -1,
12376      165,   166,   167,    -1,   169,   170,    -1,    -1,    -1,    -1,
12377       -1,    -1,    -1,  3880,   179,   180,   181,   182,   183,   184,
12378      185,   186,   187,   188,   648,  3892,   191,   192,   193,   194,
12379      195,   196,  3899,  3900,    -1,    -1,    -1,    -1,    -1,    -1,
12380      205,   206,   207,   208,   209,   210,   211,   212,   213,    -1,
12381      215,   216,    -1,    -1,   219,   220,    -1,    -1,    -1,   224,
12382       -1,    -1,    -1,   228,   229,   230,   648,    -1,    -1,   234,
12383       -1,   236,    -1,    -1,   239,    -1,    -1,    -1,   243,   244,
12384      245,    -1,   247,   648,    -1,   250,   251,   252,    -1,    -1,
12385       -1,    -1,    -1,   258,   259,    -1,   261,    -1,   263,    -1,
12386       -1,    -1,  3969,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12387      275,    -1,    -1,    -1,   648,   280,   281,   282,    -1,    -1,
12388      285,    -1,    -1,    -1,   289,    -1,    -1,    -1,    -1,  3996,
12389       -1,    -1,    -1,    -1,   299,   300,   301,    -1,    -1,    -1,
12390       -1,    -1,   307,    -1,   389,   390,   391,   392,   393,   394,
12391      395,   396,   397,   398,    -1,   400,   648,    -1,   323,    -1,
12392       -1,    -1,    -1,   328,    -1,    -1,    -1,    -1,    -1,   334,
12393      335,     3,    -1,    -1,    -1,    -1,   341,    -1,    -1,    -1,
12394       -1,    13,    -1,    -1,  4051,    -1,    18,    -1,    -1,    -1,
12395     4057,    -1,   357,   389,   390,   391,   392,   393,   394,   395,
12396      396,   397,   398,    -1,   400,    -1,  4073,    -1,    -1,    -1,
12397       -1,   376,   377,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12398       52,    53,   648,    55,    -1,    -1,    -1,    59,    60,    61,
12399       -1,    63,   389,   390,   391,   392,   393,   394,   395,   396,
12400      397,   398,    -1,   400,    -1,    -1,    -1,    -1,    80,    -1,
12401       -1,    83,  4119,   389,   390,   391,   392,   393,   394,   395,
12402      396,   397,   398,    -1,   400,   389,   390,   391,   392,   393,
12403      394,   395,   396,   397,   398,    -1,   400,    -1,    -1,    -1,
12404       -1,   113,   114,     3,    -1,    -1,     6,    -1,    -1,    -1,
12405       -1,    -1,    -1,    -1,    -1,    -1,    16,    17,   389,   390,
12406      391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
12407      142,   143,   144,   389,   390,   391,   392,   393,   394,   395,
12408      396,   397,   398,    -1,   400,   490,    -1,    -1,    -1,    -1,
12409       -1,    -1,    -1,   165,   166,   167,    -1,   169,   170,    59,
12410       60,    61,    62,    63,    -1,    -1,    -1,    -1,    -1,    -1,
12411       -1,    -1,    -1,   518,   519,   520,    -1,    -1,    -1,    -1,
12412      525,    -1,    -1,   195,   196,    -1,    -1,   389,   390,   391,
12413      392,   393,   394,   395,   396,   397,   398,     3,   400,    -1,
12414        6,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12415       -1,    17,    -1,   113,   114,   115,    -1,    -1,    -1,    -1,
12416       -1,   566,   567,   648,   124,   125,   126,    -1,   128,    -1,
12417       -1,   243,    -1,   245,    -1,    -1,    -1,    -1,   250,    -1,
12418       -1,    -1,   142,   143,   144,    -1,   258,   259,    -1,   261,
12419       -1,   263,    -1,    59,    60,    61,    62,    63,    -1,    -1,
12420       -1,    -1,    -1,    -1,    -1,   165,    -1,    -1,   280,    -1,
12421       -1,    -1,   648,    -1,    -1,    -1,    -1,   289,    -1,   624,
12422      625,   626,   627,   628,   629,    -1,    -1,   299,    -1,    -1,
12423       -1,    -1,    -1,    -1,    -1,   307,   102,   103,    -1,    -1,
12424       -1,    -1,    -1,    -1,    -1,    -1,   206,   113,   114,   115,
12425       -1,   648,    -1,    -1,    -1,    -1,   328,    -1,   124,   125,
12426      126,    -1,   334,   335,    -1,    -1,    -1,    -1,    -1,   341,
12427       -1,    -1,   648,    -1,    -1,    -1,   142,   143,   144,    -1,
12428       -1,    -1,    -1,    -1,   648,   245,   246,    -1,   248,    -1,
12429      250,    -1,    -1,   253,   254,    -1,    -1,    -1,   258,   259,
12430       -1,    -1,    -1,   263,   376,   377,    -1,    -1,    -1,    -1,
12431       -1,   177,    -1,    -1,    -1,   275,   276,   648,    -1,    -1,
12432       -1,    -1,    -1,    -1,    -1,    -1,    -1,   287,    -1,    -1,
12433       -1,    -1,   648,    -1,    -1,    -1,   296,    -1,   298,   299,
12434      206,    -1,    -1,    -1,    -1,    -1,    -1,   307,   308,   309,
12435       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   319,
12436      320,   321,    -1,    -1,    -1,    -1,    -1,    -1,   328,    -1,
12437       -1,    -1,    -1,    -1,   334,   335,    -1,    -1,    -1,   245,
12438      246,   341,   248,    -1,   250,    -1,   648,   253,   254,    -1,
12439       -1,    -1,   258,   259,    -1,    -1,    -1,   263,    -1,    -1,
12440       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,
12441      276,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   490,    -1,
12442      380,   287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12443      296,    -1,   298,   299,    -1,    -1,    -1,    -1,    -1,    -1,
12444       -1,   307,   308,   309,    -1,    -1,    51,    -1,    -1,    -1,
12445       -1,    -1,    -1,   319,   320,   321,    -1,    -1,    -1,    -1,
12446        3,    -1,   328,     6,    -1,    -1,    -1,    -1,   334,   335,
12447       -1,    51,    -1,    -1,    17,   341,    -1,    -1,    -1,   345,
12448       -1,    -1,   348,    88,   389,   390,   391,   392,   393,   394,
12449      395,   396,   397,   398,   566,   400,    -1,    -1,    -1,    -1,
12450      460,    51,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
12451       -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    61,    62,
12452       63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12453      490,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
12454      612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
12455      130,    -1,   624,   625,   626,   627,   628,   629,   138,   102,
12456      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12457      113,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12458      130,   124,   125,   126,    -1,    -1,    -1,    -1,   138,    -1,
12459       51,    -1,    -1,    -1,    -1,    -1,   176,    -1,    -1,   142,
12460      143,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   189,
12461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,
12462       -1,   201,   202,    -1,   490,    -1,   176,    88,    -1,    -1,
12463      235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   189,
12464       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12465       -1,   201,   202,    -1,    -1,   235,    88,    -1,    -1,    -1,
12466       -1,   241,    -1,   206,   624,   625,   626,   627,   628,   629,
12467       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12468       51,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,    -1,
12469       -1,   241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12470       -1,    -1,   245,   246,    51,   248,    -1,   250,    -1,    -1,
12471      253,   254,    -1,    -1,    -1,   258,   259,    88,    -1,    -1,
12472      263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12473       -1,    -1,   275,   276,    -1,    -1,    51,    -1,    -1,    -1,
12474       -1,    88,    -1,   648,   287,    -1,   351,    -1,    -1,    -1,
12475       -1,    -1,    -1,   296,    -1,   298,   299,    -1,   624,   625,
12476      626,   627,   628,   629,   307,   308,   309,    -1,    51,    -1,
12477       -1,   351,    -1,    88,   235,    -1,   319,   320,   321,    -1,
12478       -1,    -1,    -1,    -1,    -1,   328,    -1,    -1,    -1,    -1,
12479       -1,   334,   335,    -1,    -1,    51,    -1,    -1,   341,    -1,
12480       -1,   351,   345,   235,    -1,    88,    -1,    -1,    -1,    -1,
12481       -1,    -1,    -1,    -1,    -1,   395,   396,    -1,    -1,    -1,
12482       -1,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12483      410,   411,    88,    -1,    -1,   415,   416,   417,   418,    -1,
12484       -1,    -1,    -1,    -1,    -1,   395,   396,    -1,    -1,    -1,
12485       -1,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12486      410,   411,    -1,    -1,   235,   415,   416,   417,   418,   474,
12487      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12488      485,   486,   487,   488,   489,   490,   491,   492,   235,    -1,
12489      351,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
12490      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12491      490,   491,   492,    -1,    -1,    -1,    51,    -1,    -1,   351,
12492      235,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
12493      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12494      490,   491,   492,    -1,    -1,    -1,    -1,   490,    -1,    -1,
12495       -1,    -1,   235,    88,   389,   390,   391,   392,   393,   394,
12496      395,   396,   397,   398,    -1,   400,    -1,    -1,    51,    -1,
12497       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   235,
12498      351,   389,   390,   391,   392,   393,   394,   395,   396,   397,
12499      398,    -1,   400,    -1,    -1,    51,    -1,    -1,    -1,    -1,
12500       -1,    -1,    -1,    -1,   351,    88,    -1,    -1,    -1,    -1,
12501       -1,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
12502      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12503      491,   492,    88,    51,    -1,    -1,   351,    -1,    -1,    -1,
12504       -1,   646,   474,   475,   476,   477,   478,   479,   480,   481,
12505      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12506      492,    51,    -1,    -1,    -1,    -1,    -1,   647,   351,    -1,
12507       88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12508       -1,   624,   625,   626,   627,   628,   629,    -1,    -1,    51,
12509       -1,    -1,    -1,    -1,    -1,   351,    -1,   647,    88,    -1,
12510      235,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
12511      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12512      491,   492,    -1,    -1,    -1,    -1,    88,   474,   475,   476,
12513      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12514      487,   488,   489,   490,   491,   492,    51,    -1,    -1,    -1,
12515       88,    -1,   235,    -1,    -1,    -1,    -1,    -1,    -1,   474,
12516      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12517      485,   486,   487,   488,   489,   490,   491,   492,    51,   235,
12518       -1,    -1,    -1,    88,    -1,   646,    -1,    -1,    -1,    -1,
12519       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12520      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12521       -1,    -1,    -1,   648,   646,    88,   351,   235,   474,   475,
12522      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12523      486,   487,   488,   489,   490,   491,   492,    -1,    -1,    -1,
12524      648,    -1,    -1,    -1,    -1,   235,    -1,   389,   390,   391,
12525      392,   393,   394,   395,   396,   397,   398,    -1,   400,    -1,
12526       -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,   351,    -1,
12527       -1,    -1,    -1,   235,    -1,   646,   389,   390,   391,   392,
12528      393,   394,   395,   396,   397,   398,    -1,   400,    -1,    -1,
12529       -1,    51,    -1,    -1,    -1,   351,    -1,   235,    -1,   646,
12530       -1,    88,   389,   390,   391,   392,   393,   394,   395,   396,
12531      397,   398,    -1,   400,    -1,    -1,    -1,    -1,    -1,    -1,
12532       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,
12533      235,   646,    -1,   351,    -1,    -1,    -1,    -1,    -1,   474,
12534      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12535      485,   486,   487,   488,   489,   490,   491,   492,    88,    -1,
12536       -1,   351,   235,   646,    -1,    -1,    -1,    -1,    -1,    -1,
12537       -1,    -1,    -1,    51,   389,   390,   391,   392,   393,   394,
12538      395,   396,   397,   398,    -1,   400,    -1,    -1,    -1,   351,
12539      646,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12540      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12541       88,    -1,    51,   351,    -1,    -1,    -1,    -1,   474,   475,
12542      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12543      486,   487,   488,   489,   490,   491,   492,    -1,    -1,    51,
12544       -1,    -1,    -1,    -1,    -1,    -1,   351,    -1,   235,    88,
12545       -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,   477,
12546      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12547      488,   489,   490,   491,   492,   235,    88,    -1,   351,    -1,
12548       -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
12549      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12550      490,   491,   492,    -1,    -1,   235,   648,    -1,    88,    -1,
12551       -1,   646,   474,   475,   476,   477,   478,   479,   480,   481,
12552      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12553      492,    -1,    -1,    -1,    -1,   648,   474,   475,   476,   477,
12554      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12555      488,   489,   490,   491,   492,    -1,    51,   235,   138,    -1,
12556       -1,   648,    -1,   646,   351,    -1,    -1,    -1,    -1,   474,
12557      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12558      485,   486,   487,   488,   489,   490,   491,   492,    51,    -1,
12559      646,   351,    -1,    88,    -1,    -1,   235,    -1,    -1,    -1,
12560       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12561      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12562       -1,   351,    -1,   235,    -1,    88,    -1,    -1,   646,    -1,
12563       -1,    51,    -1,   648,   389,   390,   391,   392,   393,   394,
12564      395,   396,   397,   398,    -1,   400,    -1,    -1,    -1,    -1,
12565       -1,    -1,    -1,    -1,    -1,   235,   646,    -1,   389,   390,
12566      391,   392,   393,   394,   395,   396,   397,   398,    88,   400,
12567       51,    -1,    -1,   351,   389,   390,   391,   392,   393,   394,
12568      395,   396,   397,   398,   646,   400,    -1,   474,   475,   476,
12569      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12570      487,   488,   489,   490,   491,   492,    51,    88,    -1,    -1,
12571      648,    -1,   351,    -1,   474,   475,   476,   477,   478,   479,
12572      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12573      490,   491,   492,    51,    -1,    -1,    -1,    -1,    -1,   351,
12574      235,   646,    -1,    88,   474,   475,   476,   477,   478,   479,
12575      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12576      490,   491,   492,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12577       88,   351,   235,   646,    -1,    -1,    -1,    -1,    -1,    51,
12578      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
12579       -1,   400,    -1,    -1,    -1,    -1,   474,   475,   476,   477,
12580      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12581      488,   489,   490,   491,   492,   235,    88,    -1,    51,   389,
12582      390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
12583      400,    -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,
12584      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12585      489,   490,   491,   492,   235,    88,   351,    -1,    -1,   646,
12586       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
12587      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12588      492,    -1,    -1,    -1,    -1,    -1,   646,    -1,   351,    -1,
12589      235,    88,    -1,   648,   474,   475,   476,   477,   478,   479,
12590      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12591      490,   491,   492,    -1,    -1,   646,   646,   235,   389,   390,
12592      391,   392,   393,   394,   395,   396,   397,   398,    51,   400,
12593       -1,   351,    -1,   648,   389,   390,   391,   392,   393,   394,
12594      395,   396,   397,   398,    -1,   400,    -1,    -1,    -1,    -1,
12595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12596       -1,    -1,    -1,   235,    51,    88,    -1,    -1,   646,    -1,
12597      351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
12598      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12599      485,   486,   487,   488,   489,   490,   491,   492,    51,    -1,
12600       -1,    88,   235,    -1,    -1,    -1,   351,   646,    -1,    -1,
12601       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12602      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12603       -1,    -1,    -1,   351,   646,    88,    -1,    51,   235,   648,
12604       -1,   389,   390,   391,   392,   393,   394,   395,   396,   397,
12605      398,    -1,   400,    -1,   474,   475,   476,   477,   478,   479,
12606      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12607      490,   491,   492,    -1,    88,    -1,    51,    -1,   648,   351,
12608      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
12609       -1,   400,    -1,   474,   475,   476,   477,   478,   479,   480,
12610      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12611      491,   492,   235,    88,    -1,    51,    -1,    -1,   351,    -1,
12612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
12613      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12614      485,   486,   487,   488,   489,   490,   491,   492,   235,    -1,
12615       -1,   646,    88,    -1,   351,    -1,   474,   475,   476,   477,
12616      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12617      488,   489,   490,   491,   492,    -1,    -1,   648,    -1,    -1,
12618       -1,    -1,   235,   646,    -1,    -1,    -1,    -1,    -1,    -1,
12619       -1,    -1,    -1,   648,    -1,    -1,    -1,    -1,    -1,    -1,
12620       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
12621      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12622      492,   235,    -1,    -1,    -1,    -1,   646,    -1,   351,   389,
12623      390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
12624      400,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12625      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12626      235,    -1,    -1,    -1,   351,   646,    -1,    -1,    -1,    -1,
12627       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
12628      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12629      487,   488,   489,   490,   491,   492,    -1,    -1,   351,   235,
12630      648,   646,    -1,    47,    -1,   389,   390,   391,   392,   393,
12631      394,   395,   396,   397,   398,    -1,   400,    -1,    -1,    -1,
12632       -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,   646,    -1,
12633       -1,    -1,    -1,    -1,    -1,    -1,    -1,   351,    -1,   648,
12634       -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,
12635       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12636      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12637       -1,    -1,    -1,    -1,   646,    47,   351,    -1,    -1,    -1,
12638       -1,    -1,    -1,    -1,    -1,    -1,    88,   474,   475,   476,
12639      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12640      487,   488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,
12641       -1,    -1,    -1,   646,    -1,   351,    88,    -1,    -1,    -1,
12642       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12643      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   646,
12645      647,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12646      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12647      484,   485,   486,   487,   488,   489,   490,   491,   492,    -1,
12648       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   648,    -1,
12649       -1,   235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
12650      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12651      485,   486,   487,   488,   489,   490,   491,   492,    -1,    -1,
12652       -1,    -1,    -1,   646,    -1,    -1,    -1,    -1,    -1,    -1,
12653       -1,    -1,    -1,   235,    -1,    -1,    -1,    -1,   474,   475,
12654      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12655      486,   487,   488,   489,   490,   491,   492,    69,   302,   646,
12656       -1,    -1,    -1,   235,   648,    -1,    -1,    -1,    -1,    -1,
12657       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,
12658       -1,    -1,    -1,    -1,    69,    -1,    -1,   331,    -1,    -1,
12659       -1,    -1,    -1,   646,    -1,    -1,    -1,    -1,    -1,    -1,
12660       -1,    -1,    -1,    88,    89,    69,    -1,   351,   389,   390,
12661      391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
12662       -1,    -1,    -1,    -1,    88,    -1,   138,    -1,    -1,    -1,
12663      302,    -1,   646,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   351,
12665       88,    -1,    -1,   138,    -1,    -1,    -1,    -1,    -1,   331,
12666       -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    -1,    -1,
12667       -1,   646,    -1,    -1,    -1,    -1,    -1,   189,    -1,   351,
12668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,
12669      202,   176,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,
12670       -1,    -1,    -1,    -1,   189,    -1,    -1,    -1,    -1,    -1,
12671      646,    -1,    -1,    -1,    -1,    -1,   201,   202,    -1,    -1,
12672       -1,    -1,    -1,   235,    -1,    -1,    -1,    -1,    -1,    -1,
12673      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12674      484,   485,   486,   487,   488,   489,   490,   491,   492,    -1,
12675      235,   389,   390,   391,   392,   393,   394,   395,   396,   397,
12676      398,    -1,   400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12677       -1,   235,   474,   475,   476,   477,   478,   479,   480,   481,
12678      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12679      492,    -1,    -1,    -1,    -1,    -1,    -1,   235,    -1,    -1,
12680       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
12681      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12682      492,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
12683      397,   398,    -1,   400,    -1,    -1,    -1,    -1,    -1,   351,
12684       -1,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,    -1,
12685       -1,    -1,    -1,    -1,   366,    -1,    -1,    -1,    -1,    -1,
12686       -1,    -1,    -1,    -1,    -1,    -1,   351,   648,    -1,    -1,
12687       -1,    -1,    -1,    -1,    -1,   387,    -1,    -1,    -1,    -1,
12688       -1,   366,    -1,   395,   396,    -1,    -1,   351,    -1,   401,
12689      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
12690      412,   413,   387,   415,   416,   417,   418,   419,   420,    -1,
12691      395,   396,    -1,   351,    -1,    -1,   401,   402,   403,   404,
12692      405,   406,   407,   408,   409,   410,   411,   412,   413,    -1,
12693      415,   416,   417,   418,   419,   420,    -1,    -1,    -1,    -1,
12694       -1,    -1,    -1,    -1,   646,   647,   389,   390,   391,   392,
12695      393,   394,   395,   396,   397,   398,    -1,   400,    -1,    -1,
12696       -1,   351,   474,   475,   476,   477,   478,   479,   480,   481,
12697      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12698      492,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
12699      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12700      485,   486,   487,   488,   489,   490,   491,   492,   646,    88,
12701      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12702      484,   485,   486,   487,   488,   489,   490,   491,   492,    -1,
12703       88,    89,     4,     5,     6,    -1,   474,   475,   476,   477,
12704      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12705      488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,   138,
12706      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
12707       -1,   400,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12708      138,   648,    -1,    55,   474,   475,   476,   477,   478,   479,
12709      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12710      490,   491,   492,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12711       -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,   176,   389,
12712      390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
12713      400,   189,    -1,    -1,    -1,   647,    -1,   649,    -1,   651,
12714       -1,   113,   114,   201,   202,    -1,    -1,    -1,    -1,    -1,
12715       -1,    -1,    -1,    -1,    -1,    -1,   235,   129,    -1,    -1,
12716       -1,    -1,   647,    -1,   649,    -1,   651,    -1,    -1,    -1,
12717       -1,    -1,    -1,    -1,    -1,   147,    -1,   235,    88,    89,
12718       -1,    -1,    -1,    -1,    -1,   649,   158,    -1,    -1,   161,
12719       -1,    -1,    -1,   165,    -1,    -1,    -1,    -1,    -1,    -1,
12720       -1,    -1,    -1,    -1,    -1,   648,    -1,   179,   646,   647,
12721       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   297,    -1,
12722      130,    -1,    -1,    -1,   196,    -1,    88,    89,   138,    -1,
12723       -1,    -1,    -1,    -1,    -1,   207,    -1,    -1,    -1,    -1,
12724       -1,    -1,    -1,   389,   390,   391,   392,   393,   394,   395,
12725      396,   397,   398,    -1,   400,    -1,   646,   647,    -1,    -1,
12726       -1,    -1,    -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,
12727       -1,   243,   351,   245,    -1,    -1,   138,    -1,   250,   189,
12728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12729       -1,   201,   202,   351,    -1,   389,   390,   391,   392,   393,
12730      394,   395,   396,   397,   398,    -1,   400,    -1,   366,   281,
12731      282,    -1,    -1,    -1,   176,    -1,    -1,    -1,    -1,   648,
12732       -1,    -1,    -1,    -1,    -1,   235,    -1,   189,    -1,   387,
12733       -1,   241,    -1,    -1,    -1,    -1,    -1,   395,   396,   201,
12734      202,    -1,    -1,   401,   402,   403,   404,   405,   406,   407,
12735      408,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
12736      418,   419,   420,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12737       -1,    -1,    -1,   235,    88,    -1,    -1,    -1,   648,    -1,
12738       -1,    -1,    -1,   355,    -1,    -1,    -1,    -1,    -1,    -1,
12739       -1,    -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,
12740      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12741      489,   490,   491,   492,    -1,    -1,   474,   475,   476,   477,
12742      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12743      488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,    -1,
12744       -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12745       -1,   423,   424,   425,   426,   427,   428,   429,   430,   431,
12746      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
12747      442,   443,   444,   445,   446,   447,   448,   449,   450,    -1,
12748       -1,    -1,    -1,    -1,    -1,   395,   396,    -1,    -1,   351,
12749       -1,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12750      410,   411,   648,    -1,   366,   415,   416,   417,   418,    -1,
12751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12752       -1,   235,    -1,    -1,    -1,   387,    -1,    -1,    -1,    -1,
12753       -1,    -1,    -1,   395,   396,    -1,    -1,    -1,    -1,   401,
12754      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
12755      412,   413,   646,   415,   416,   417,   418,   419,   420,    88,
12756       89,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
12757      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12758      490,   491,   492,   297,    -1,    -1,    -1,    -1,    -1,   647,
12759       -1,   649,    -1,   651,    88,    89,    -1,    -1,    -1,    -1,
12760       -1,   130,    -1,    -1,    -1,    -1,   578,   579,   580,   138,
12761       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
12762      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12763      492,    -1,    -1,    -1,    -1,    -1,   130,   351,    -1,    -1,
12764       -1,    -1,    -1,    -1,   138,    -1,   556,   176,   389,   390,
12765      391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
12766      189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12767       -1,    -1,   201,   202,    -1,    -1,    -1,    -1,    -1,    -1,
12768       -1,    -1,   176,   389,   390,   391,   392,   393,   394,   395,
12769      396,   397,   398,    -1,   400,   189,    -1,    -1,    -1,    -1,
12770       -1,    88,    89,    -1,    -1,    -1,   235,   201,   202,    -1,
12771       -1,    -1,   241,   389,   390,   391,   392,   393,   394,   395,
12772      396,   397,   398,    -1,   400,    -1,    -1,    -1,    -1,    -1,
12773       -1,    -1,    -1,    -1,    -1,    -1,    -1,   647,    88,    89,
12774       -1,   235,    -1,   130,    -1,    -1,    -1,   241,    -1,    -1,
12775       -1,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12776      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12777      484,   485,   486,   487,   488,   489,   490,   491,   492,    -1,
12778      130,    -1,    -1,    -1,    88,   647,    -1,    -1,   138,   176,
12779      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
12780       -1,   400,   189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12781       -1,    -1,    -1,    -1,   201,   202,    -1,    -1,    88,    -1,
12782       -1,    -1,   351,    -1,    -1,    -1,   176,   389,   390,   391,
12783      392,   393,   394,   395,   396,   397,   398,    -1,   400,   189,
12784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   235,    -1,
12785       -1,   201,   202,    88,   241,    -1,    -1,   351,    -1,    -1,
12786       -1,    -1,    -1,    -1,    -1,    -1,   395,   396,    -1,    -1,
12787       -1,    -1,   401,   402,   403,   404,   405,   406,   407,   408,
12788      409,   410,   411,    -1,    -1,   235,   415,   416,   417,   418,
12789       -1,   241,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12790       -1,   395,   396,    -1,    -1,   646,    -1,   401,   402,   403,
12791      404,   405,   406,   407,   408,   409,   410,   411,    -1,    -1,
12792       -1,   415,   416,   417,   418,    -1,    88,    -1,    -1,    -1,
12793       -1,   235,    -1,   647,    -1,    -1,    -1,    -1,    -1,    -1,
12794       -1,    -1,   648,    -1,    -1,   474,   475,   476,   477,   478,
12795      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12796      489,   490,   491,   492,   351,   235,    88,    -1,    -1,    -1,
12797       -1,    -1,   648,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12798      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12799      484,   485,   486,   487,   488,   489,   490,   491,   492,    88,
12800      235,   351,    -1,    -1,    -1,    -1,    -1,    -1,   395,   396,
12801       -1,    -1,    -1,    -1,   401,   402,   403,   404,   405,   406,
12802      407,   408,   409,   410,   411,    -1,    -1,   556,   415,   416,
12803      417,   418,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   235,
12804       -1,    -1,    -1,    88,    -1,   395,   396,   351,    -1,   648,
12805       -1,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12806      410,   411,   556,    -1,    -1,   415,   416,   417,   418,    -1,
12807       -1,    -1,    -1,   235,    -1,    -1,    88,    -1,    -1,    -1,
12808       -1,   351,    -1,    -1,   646,    -1,    -1,   474,   475,   476,
12809      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12810      487,   488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,
12811       -1,    88,    -1,   235,    -1,    -1,   351,    -1,   647,    -1,
12812       -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
12813      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12814      490,   491,   492,    -1,    -1,    -1,   235,    -1,    -1,    -1,
12815       -1,    88,    -1,   647,    -1,   351,   389,   390,   391,   392,
12816      393,   394,   395,   396,   397,   398,    -1,   400,    -1,   556,
12817      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12818      484,   485,   486,   487,   488,   489,   490,   491,   492,   351,
12819      235,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12820       -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
12821      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12822      490,   491,   492,   235,    88,    -1,    -1,    -1,    -1,   351,
12823       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
12824      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12825      485,   486,   487,   488,   489,   490,   491,   492,   235,    88,
12826      647,    -1,   351,    -1,   389,   390,   391,   392,   393,   394,
12827      395,   396,   397,   398,    -1,   400,    -1,    -1,   474,   475,
12828      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12829      486,   487,   488,   489,   490,   491,   492,   647,   235,    -1,
12830       -1,    88,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,
12831       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
12832      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12833      492,    -1,    -1,    -1,    88,    -1,    -1,    -1,   235,   351,
12834       -1,    -1,   646,   647,    -1,    -1,    -1,    -1,    -1,    -1,
12835       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
12836      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12837      492,   235,    -1,    88,   351,    -1,   646,   647,    -1,    -1,
12838       -1,    -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,
12839      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12840      489,   490,   491,   492,    -1,    -1,   235,    -1,    -1,    88,
12841       -1,   646,   647,   646,   351,    -1,   389,   390,   391,   392,
12842      393,   394,   395,   396,   397,   398,    -1,   400,    -1,   474,
12843      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12844      485,   486,   487,   488,   489,   490,   491,   492,   235,    88,
12845      646,   647,    -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,
12846       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
12847      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12848      492,   235,    88,    -1,   646,   647,    -1,   351,    -1,    -1,
12849       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
12850      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12851      487,   488,   489,   490,   491,   492,    -1,    88,    -1,    -1,
12852      235,   646,   351,    -1,   646,   647,    -1,    -1,    -1,    -1,
12853       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
12854      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12855      487,   488,   489,   490,   491,   492,   235,   646,   647,    88,
12856       -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,
12857       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
12858      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12859      487,   488,   489,   490,   491,   492,   235,   351,    -1,    88,
12860       -1,   646,   647,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12861      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12862      484,   485,   486,   487,   488,   489,   490,   491,   492,   235,
12863       -1,    88,    -1,    -1,    -1,   647,   351,    -1,    -1,    -1,
12864       -1,    -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,
12865      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12866      489,   490,   491,   492,   235,    -1,    -1,    88,    -1,    -1,
12867      647,    -1,   351,   646,    -1,   389,   390,   391,   392,   393,
12868      394,   395,   396,   397,   398,    -1,   400,   474,   475,   476,
12869      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12870      487,   488,   489,   490,   491,   492,   235,    88,    -1,   646,
12871       -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12872      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12873      484,   485,   486,   487,   488,   489,   490,   491,   492,    -1,
12874       -1,    88,    -1,    -1,    -1,   351,   235,    -1,    -1,   646,
12875       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
12876      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12877      485,   486,   487,   488,   489,   490,   491,   492,   235,    88,
12878      351,    -1,   646,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12879       -1,    -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,
12880      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12881      489,   490,   491,   492,   235,    -1,    -1,   646,    -1,    -1,
12882       -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12883       55,    -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,
12884      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12885      489,   490,   491,   492,   235,    -1,    -1,    -1,    -1,   646,
12886       -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,   474,   475,
12887      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12888      486,   487,   488,   489,   490,   491,   492,    -1,   235,    -1,
12889       -1,    -1,   646,    -1,   351,    -1,    -1,    -1,    -1,    -1,
12890       -1,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
12891      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12892      491,   492,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,
12893      351,   646,   646,   389,   390,   391,   392,   393,   394,   395,
12894      396,   397,   398,    -1,   400,   474,   475,   476,   477,   478,
12895      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12896      489,   490,   491,   492,    -1,    -1,    -1,   646,    -1,    -1,
12897      351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12898       -1,    -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,
12899      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12900      489,   490,   491,   492,   351,    55,    -1,   646,    -1,    -1,
12901       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
12902      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12903      487,   488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,
12904      646,    -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12905       47,   101,    -1,   474,   475,   476,   477,   478,   479,   480,
12906      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12907      491,   492,    69,    -1,    -1,   646,   389,   390,   391,   392,
12908      393,   394,   395,   396,   397,   398,    -1,   400,    -1,    -1,
12909       -1,    88,    -1,   474,   475,   476,   477,   478,   479,   480,
12910      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12911      491,   492,    -1,    -1,    -1,    -1,    -1,   646,    -1,    -1,
12912       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
12913      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12914      487,   488,   489,   490,   491,   492,    -1,    -1,    -1,    -1,
12915       -1,   376,   377,    -1,    -1,    -1,    -1,   646,    -1,    -1,
12916       -1,    -1,    -1,    -1,    47,   474,   475,   476,   477,   478,
12917      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12918      489,   490,   491,   492,    -1,    -1,    69,    -1,    -1,   646,
12919      646,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12920       -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,
12921       -1,    -1,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12922       -1,    -1,    -1,    -1,    -1,   646,   451,   452,   453,   454,
12923      455,    -1,    -1,    -1,    69,    47,    -1,    -1,   235,   464,
12924      465,   466,    -1,    -1,    -1,    -1,   471,   472,    -1,   474,
12925      475,    -1,    -1,    88,    47,    -1,    -1,    69,    -1,    -1,
12926       -1,    -1,    -1,    -1,    -1,   646,    -1,    -1,    -1,    -1,
12927       -1,    -1,    -1,    -1,   499,    -1,    88,    -1,    -1,    -1,
12928       -1,    47,    -1,   389,   390,   391,   392,   393,   394,   395,
12929      396,   397,   398,    -1,   400,    88,    -1,    -1,    -1,   646,
12930       -1,   526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,
12931      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
12932       -1,   400,    88,    -1,    -1,    -1,    -1,    -1,    -1,    47,
12933       -1,    -1,    -1,   646,   331,    -1,    -1,   646,    -1,    -1,
12934       -1,    -1,    -1,    -1,   569,    -1,    -1,    -1,   573,    -1,
12935       88,    -1,   235,    -1,   351,    -1,    -1,    -1,    51,    -1,
12936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   593,    -1,
12937       88,   596,   597,   598,   599,   600,   601,   602,   603,   117,
12938      605,   606,   607,   608,   609,   610,   611,    -1,    -1,    -1,
12939       -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,   117,
12940      235,   451,   452,   453,   454,   455,   456,   457,   458,   459,
12941       55,    -1,    -1,   463,   464,   465,   466,   467,   468,   469,
12942      470,   471,    -1,   235,   474,   475,   476,   477,   478,   479,
12943      480,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,
12944       -1,    -1,   235,    88,    -1,    -1,    -1,    -1,   331,   499,
12945      500,   501,   502,   503,    -1,    -1,   506,   507,   508,   509,
12946      510,   511,   512,   513,   514,   515,   516,   517,   351,   235,
12947       88,   521,   522,   523,    -1,    -1,    51,   474,   475,   476,
12948      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12949      487,   488,   489,   490,   491,   492,   331,   235,   389,   390,
12950      391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
12951       -1,    -1,    47,    88,    -1,    -1,   351,   235,    -1,   331,
12952      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
12953       -1,   400,    -1,    -1,    -1,    -1,    -1,    -1,   331,   351,
12954      646,    -1,   235,   593,    -1,    -1,    -1,    -1,    -1,    -1,
12955       -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,   351,    -1,
12956       -1,    -1,    -1,    -1,    -1,   331,    -1,   646,    69,   389,
12957      390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
12958      400,    -1,   117,    -1,    -1,   351,    -1,    88,    -1,    -1,
12959      235,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12960      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12961       -1,    -1,    -1,   351,    -1,    -1,    -1,   235,    -1,   389,
12962      390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
12963      400,    -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,   474,
12964      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12965      485,   486,   487,   488,   489,   490,   491,   492,   351,    -1,
12966      235,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
12967      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
12968      492,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12969      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12970      235,    -1,    -1,    -1,    -1,    -1,   351,    -1,   474,   475,
12971      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12972      486,   487,   488,   489,   490,   491,   492,    -1,    -1,    -1,
12973       -1,    -1,    -1,   351,   235,    -1,   474,   475,   476,   477,
12974      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12975      488,   489,   490,   491,   492,   646,   474,   475,   476,   477,
12976      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12977      488,   489,   490,   491,   492,    -1,   351,   646,    -1,    -1,
12978       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12979      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
12980       69,   389,   390,   391,   392,   393,   394,   395,   396,   397,
12981      398,    -1,   400,    -1,    -1,    -1,   351,    -1,    -1,    88,
12982       -1,    -1,    -1,    -1,    -1,    -1,   646,    -1,    -1,   474,
12983      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12984      485,   486,   487,   488,   489,   490,   491,   492,    -1,    -1,
12985      351,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,   477,
12986      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12987      488,   489,   490,   491,   492,    69,   646,    -1,   389,   390,
12988      391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
12989       -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,   474,
12990      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12991      485,   486,   487,   488,   489,   490,   491,   492,    69,   389,
12992      390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
12993      400,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,   474,
12994      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
12995      485,   486,   487,   488,   489,   490,   491,   492,    -1,    -1,
12996       -1,    -1,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,
12997       -1,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
12998      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12999      491,   492,    69,   389,   390,   391,   392,   393,   394,   395,
13000      396,   397,   398,    -1,   400,    -1,    -1,    -1,    -1,    -1,
13001       -1,    88,    -1,    -1,    -1,    -1,    -1,    69,   389,   390,
13002      391,   392,   393,   394,   395,   396,   397,   398,   297,   400,
13003       -1,    -1,    -1,    -1,    -1,    -1,    88,    69,    -1,    -1,
13004       -1,   235,    -1,    -1,   389,   390,   391,   392,   393,   394,
13005      395,   396,   397,   398,    -1,   400,    88,    -1,   646,    -1,
13006       69,   389,   390,   391,   392,   393,   394,   395,   396,   397,
13007      398,    -1,   400,    -1,    -1,    -1,    -1,    -1,    -1,    88,
13008       69,    -1,   351,    -1,   235,    -1,   389,   390,   391,   392,
13009      393,   394,   395,   396,   397,   398,    -1,   400,    -1,    88,
13010       69,    -1,    -1,   297,   389,   390,   391,   392,   393,   394,
13011      395,   396,   397,   398,    -1,   400,    -1,    -1,    -1,    88,
13012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13013       -1,    -1,    -1,    -1,    69,   646,    -1,    -1,    -1,    -1,
13014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13015       -1,    -1,    -1,    88,    -1,    -1,    -1,   351,   235,    -1,
13016       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13017       -1,    -1,    -1,    -1,    -1,    -1,   646,    -1,    -1,    69,
13018       -1,    -1,    -1,   235,    -1,    -1,    -1,    -1,    -1,    -1,
13019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,
13020      351,    -1,    -1,   235,    -1,   474,   475,   476,   477,   478,
13021      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13022      489,   490,   491,   492,    -1,    -1,   235,    -1,    -1,    -1,
13023       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13024       -1,    -1,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,
13025      646,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13026       -1,    -1,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,
13027       88,    -1,    -1,    -1,   351,   646,    -1,    -1,    -1,    -1,
13028      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
13029      484,   485,   486,   487,   488,   489,   490,   491,   492,   351,
13030      235,   646,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13031       -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,   646,   351,
13032       -1,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
13033      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13034      491,   492,   351,   646,    -1,   235,    -1,    -1,    -1,    -1,
13035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
13036       -1,   646,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,
13038       -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13039       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
13040      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
13041      487,   488,   489,   490,   491,   492,   351,   235,    88,    -1,
13042       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
13043      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
13044      492,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
13045      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
13046      492,   351,    -1,   235,    -1,   474,   475,   476,   477,   478,
13047      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13048      489,   490,   491,   492,    88,   474,   475,   476,   477,   478,
13049      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13050      489,   490,   491,   492,    -1,   474,   475,   476,   477,   478,
13051      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13052      489,   490,   491,   492,   235,   297,    -1,    -1,    -1,    -1,
13053       -1,    -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,   474,
13054      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
13055      485,   486,   487,   488,   489,   490,   491,   492,    69,    -1,
13056       -1,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,    -1,
13057       -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,   351,
13058       -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
13059      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
13060      490,   491,   492,    88,    89,    -1,    -1,    -1,    -1,    -1,
13061       -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
13062       -1,    -1,    -1,    -1,    -1,    -1,    -1,   297,    -1,    -1,
13063       -1,   235,    -1,    -1,    -1,    88,    69,    -1,    -1,    -1,
13064      351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13065       -1,    -1,    -1,   138,    -1,    88,   474,   475,   476,   477,
13066      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
13067      488,   489,   490,   491,   492,    -1,    88,    -1,    -1,    -1,
13068       -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13069       -1,    -1,    -1,   297,    -1,    88,    -1,    -1,    -1,    -1,
13070       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
13071      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
13072      492,    88,    -1,   495,   235,   497,   498,    -1,    -1,    -1,
13073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   150,   151,
13074       -1,    -1,    -1,    -1,    -1,   138,    88,   351,    -1,    -1,
13075      235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13076       -1,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
13077      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13078      491,   492,   235,   150,   151,    -1,    -1,    -1,    -1,    -1,
13079       -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,
13080       -1,    -1,   235,    -1,   474,   475,   476,   477,   478,   479,
13081      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
13082      490,   491,   492,   235,    -1,   495,    -1,   497,   498,    -1,
13083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,
13084      351,    -1,   235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   150,
13086      151,    -1,    -1,    88,    -1,    -1,   351,    -1,   235,    -1,
13087      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
13088      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
13089      494,   495,    -1,   235,    -1,    -1,    -1,    -1,   351,    -1,
13090       -1,   151,    -1,    -1,   297,    -1,    -1,    -1,    -1,    -1,
13091      395,   396,    -1,    -1,    88,    -1,    -1,    -1,   351,    -1,
13092       -1,    -1,    -1,    -1,    -1,    -1,   151,    -1,    -1,    -1,
13093       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   351,
13094       -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,    -1,    -1,
13095       -1,    -1,    -1,    88,    -1,   297,    -1,    -1,   351,    -1,
13096       -1,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
13097      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13098      491,   492,    88,    -1,   351,   235,    -1,    -1,    -1,   474,
13099      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
13100      485,   486,   487,   488,   489,   490,   491,   492,    88,   351,
13101      235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13102       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
13103      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
13104       -1,   474,   475,   476,   477,   478,   479,   480,   481,   482,
13105      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
13106      351,   235,   474,   475,   476,   477,   478,   479,   480,   481,
13107      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
13108      492,   474,   475,   476,   477,   478,   479,   480,   481,   482,
13109      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
13110      235,   351,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
13111      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
13112      487,   488,   489,   490,   491,   492,   351,    88,    -1,   235,
13113       -1,    -1,   474,   475,   476,   477,   478,   479,   480,   481,
13114      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
13115      492,    88,    -1,    -1,    -1,   235,    -1,    -1,    -1,    -1,
13116       -1,    -1,   297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13117       -1,    -1,    88,    -1,    -1,    -1,    -1,   351,    -1,    -1,
13118       -1,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
13119      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13120      491,   492,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13121       -1,    -1,    -1,    -1,   151,    -1,   351,   297,    -1,    -1,
13122       -1,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
13123      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
13124      490,   491,   492,    -1,    -1,   351,    -1,    -1,    -1,   474,
13125      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
13126      485,   486,   487,   488,   489,   490,   491,   492,    -1,    -1,
13127       -1,   351,    -1,    -1,   235,    -1,    -1,    -1,    -1,    -1,
13128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   235,    -1,
13130      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
13131      484,   485,   486,   487,   488,   489,   490,   491,   492,   235,
13132       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13133       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
13134      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
13135      485,   486,   487,   488,   489,   490,   491,   492,    -1,    -1,
13136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,   475,
13137      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
13138      486,   487,   488,   489,   490,   491,   492,    -1,    -1,    -1,
13139      351,    -1,    -1,    -1,   474,   475,   476,   477,   478,   479,
13140      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
13141      490,   491,   492,    -1,   351,    -1,    -1,    -1,    -1,    -1,
13142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13143       -1,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,    -1,
13144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13145       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13147       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13151       -1,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
13152      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13153      491,   492,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,
13154      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
13155      487,   488,   489,   490,   491,   492,    -1,    -1,   474,   475,
13156      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
13157      486,   487,   488,   489,   490,   491,   492,   152,   153,    -1,
13158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13159       -1,    -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,   174,
13160       -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13161       -1,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,    -1,
13162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13167       -1,    -1,    -1,    -1,   249,    -1,    -1,    -1,    -1,   254,
13168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13171       -1,    -1,   287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13172       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13173       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13174       -1,    -1,    -1,    -1,    -1,    -1,    -1,   322,    -1,    -1,
13175       -1,   326,    -1,   328,    -1,   330,    -1,    -1,    -1,    -1,
13176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13179       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13180       -1,    -1,    -1,   378,   379
13181   };
13182 
13183   const unsigned short
13184   parser::yystos_[] =
13185   {
13186        0,    14,    15,    39,    40,    41,    42,    43,    47,    54,
13187       64,    65,    66,    70,    72,    73,    74,    75,    76,    85,
13188       86,    88,    95,   101,   117,   118,   119,   120,   129,   131,
13189      132,   145,   164,   172,   197,   198,   199,   200,   203,   214,
13190      235,   240,   260,   262,   264,   265,   273,   276,   278,   279,
13191      283,   284,   310,   311,   314,   315,   316,   318,   319,   324,
13192      327,   332,   333,   338,   342,   343,   344,   347,   349,   351,
13193      353,   359,   360,   361,   363,   364,   365,   367,   368,   369,
13194      370,   371,   372,   375,   382,   383,   388,   421,   422,   456,
13195      461,   474,   475,   476,   477,   478,   479,   480,   481,   482,
13196      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
13197      524,   528,   529,   532,   533,   535,   536,   537,   538,   539,
13198      540,   548,   553,   554,   555,   561,   583,   584,   594,   595,
13199      643,   645,   655,   656,   657,   658,   659,   662,   665,   668,
13200      672,   675,   679,   683,   695,   699,   700,   701,   702,   703,
13201      713,   716,   717,   722,   723,   724,   727,   730,   731,   736,
13202      741,   752,   756,   767,   768,   771,   774,   777,   781,   784,
13203      787,   790,   793,   797,   800,   803,   804,   807,   810,   813,
13204      825,   831,   834,   837,   844,   845,   848,   849,   850,   852,
13205      864,   865,   866,   869,   870,   871,   880,   883,   886,   889,
13206      890,   892,   895,   896,   897,   898,   899,   900,   903,   909,
13207      912,   913,   914,   917,   918,   925,   926,   927,   928,   929,
13208      930,   931,   932,   933,   937,   940,   943,   946,   949,   952,
13209      955,   958,   961,   964,   965,   976,   979,   982,   985,   986,
13210      989,   993,   996,  1002,  1005,  1007,  1010,  1013,  1016,  1020,
13211     1485,   138,   647,   138,   647,   646,   647,   817,  1485,   647,
13212      646,   647,   647,   646,   647,   646,   647,   817,   138,   647,
13213      647,   646,   647,   646,   647,   817,   646,   646,   646,   647,
13214      646,   647,   647,   646,   647,   646,   647,   817,   647,   646,
13215      647,   647,   646,   646,   647,   646,   647,   647,   646,   647,
13216      647,   647,   646,   647,   297,   647,   904,   908,  1485,   646,
13217      647,   646,   647,   646,   646,   646,   647,   646,   646,   646,
13218      647,   817,   817,   710,  1485,    71,   138,   910,   647,   817,
13219      646,   647,   646,   647,   817,   647,   646,   647,   646,   647,
13220      817,   646,   647,    71,   646,   647,   646,   647,   646,   646,
13221      647,   646,   647,   817,   646,   647,   817,   646,   647,   646,
13222      647,   817,   646,   646,   647,   817,   646,   817,   647,   707,
13223     1485,   708,  1485,   709,  1485,   881,   884,   711,  1485,   647,
13224      646,   647,   817,   712,  1485,   646,   647,   646,   647,   646,
13225      647,   646,   647,   647,   647,   647,   646,   647,   647,   646,
13226      647,   647,   646,   647,   647,   646,   647,   817,   646,   647,
13227      646,   647,   646,   647,   646,   647,   646,   647,   646,   647,
13228      757,   647,   646,   647,   646,   647,   647,   647,   647,   647,
13229      646,   817,   653,     0,   656,    71,   647,    71,    71,    71,
13230      653,   646,    21,    22,    23,    27,    28,    29,    30,    45,
13231       55,    83,   243,   244,   281,   282,   376,   377,   934,   935,
13232      936,  1076,  1082,  1089,  1108,  1109,  1182,  1183,  1189,  1190,
13233     1230,  1231,  1232,  1233,  1234,  1235,  1236,   646,    33,    44,
13234      101,   935,   938,   939,  1136,  1169,  1237,    81,    82,   149,
13235      165,   207,   274,   519,   520,   994,   995,  1076,  1089,  1108,
13236     1161,  1173,  1178,  1182,  1183,  1184,  1192,  1292,  1361,  1362,
13237       51,   646,  1485,   273,   359,   360,   361,   714,   116,   121,
13238      122,   123,   152,   174,   177,   299,   328,   783,   785,   786,
13239     1024,  1047,  1055,  1058,  1065,  1287,  1288,  1289,  1290,    44,
13240       46,   276,   308,   983,   984,  1031,  1043,  1138,  1291,  1292,
13241      359,   987,   988,  1485,    19,    20,    26,    31,    32,    93,
13242      114,   154,   155,   245,   381,   412,   642,   644,   974,   975,
13243     1123,  1126,  1129,  1132,  1209,  1213,  1214,  1217,  1218,  1219,
13244     1222,  1227,  1229,  1430,   646,   138,   646,   904,   904,   725,
13245      726,  1485,    35,     3,     4,     6,     7,     9,    13,    16,
13246       18,    36,    44,    52,    53,    59,    60,    61,    77,    80,
13247       83,    87,   113,   114,   115,   142,   143,   144,   146,   147,
13248      148,   157,   158,   162,   163,   166,   167,   169,   170,   179,
13249      180,   181,   182,   183,   184,   185,   186,   187,   188,   191,
13250      192,   193,   194,   195,   196,   205,   206,   208,   209,   210,
13251      211,   212,   213,   215,   216,   219,   220,   224,   228,   229,
13252      230,   234,   236,   239,   245,   247,   250,   251,   252,   258,
13253      259,   261,   263,   275,   280,   285,   289,   300,   301,   307,
13254      323,   334,   335,   341,   357,   490,   518,   525,   566,   567,
13255      624,   625,   626,   627,   628,   629,   872,   873,  1024,  1030,
13256     1033,  1037,  1038,  1065,  1076,  1080,  1081,  1082,  1086,  1087,
13257     1088,  1092,  1108,  1109,  1110,  1111,  1112,  1113,  1122,  1128,
13258     1137,  1139,  1140,  1141,  1142,  1143,  1144,  1145,  1146,  1147,
13259     1148,  1149,  1150,  1151,  1152,  1153,  1154,  1155,  1156,  1157,
13260     1158,  1159,  1160,  1161,  1163,  1164,  1165,  1166,  1167,  1168,
13261     1169,  1170,  1171,  1172,  1173,  1174,  1175,  1176,  1177,  1178,
13262     1182,  1183,  1184,  1185,  1186,  1187,  1188,  1189,  1190,  1191,
13263     1192,  1193,  1194,  1195,  1196,  1199,  1200,  1201,  1202,  1203,
13264     1204,  1205,  1206,  1207,  1238,  1239,  1240,  1241,  1242,  1243,
13265     1244,  1245,  1246,  1247,  1248,  1293,  1354,  1360,  1361,  1362,
13266     1363,  1364,  1407,  1409,  1410,  1411,  1412,  1413,  1414,  1416,
13267     1417,  1451,  1452,  1453,  1454,  1455,  1456,   646,    47,   302,
13268      331,   826,   827,   828,  1485,    47,   331,   835,   836,  1485,
13269       47,   331,   832,   833,  1485,    12,   127,   263,   329,   378,
13270      379,  1003,  1004,  1043,  1044,  1045,  1046,  1424,  1425,    90,
13271      842,   843,   838,   839,  1485,    96,    97,    98,    99,   100,
13272      737,   738,   980,   981,  1043,  1112,  1122,  1128,  1137,   646,
13273     1485,   728,   729,  1485,    35,    79,   977,   978,  1485,     5,
13274      161,   266,   267,   288,   355,   356,   427,   630,   631,   632,
13275      633,   634,   635,   636,   637,   638,   639,   640,   641,   901,
13276      902,  1030,  1031,  1033,  1043,  1111,  1112,  1122,  1128,  1156,
13277     1168,  1176,  1192,  1254,  1278,  1282,  1283,  1284,  1285,  1286,
13278     1292,  1407,  1408,  1457,  1458,  1459,  1460,  1461,  1462,  1463,
13279     1464,  1465,  1466,  1467,  1468,   725,    35,    79,  1011,  1012,
13280     1485,  1174,   904,   173,   742,     8,    11,    34,    48,    68,
13281      159,   160,   178,   242,   272,   354,   739,   740,  1029,  1057,
13282     1060,   175,  1179,   647,    51,   646,   904,   788,   789,   359,
13283      755,   775,   270,  1008,  1009,  1485,    69,   235,   999,  1000,
13284      997,   998,  1238,  1239,   887,   888,  1485,   891,  1485,    17,
13285       62,    63,    94,   102,   124,   125,   126,   152,   177,   246,
13286      248,   253,   254,   287,   296,   298,   309,   319,   320,   321,
13287      815,   893,   894,  1023,  1024,  1025,  1030,  1031,  1032,  1033,
13288     1034,  1035,  1036,  1037,  1038,  1039,  1040,  1041,  1043,  1051,
13289     1052,  1056,  1061,  1062,  1063,  1064,  1065,  1081,  1086,  1112,
13290     1122,  1128,  1145,  1168,  1172,  1174,  1180,  1181,  1194,  1195,
13291     1199,  1200,  1204,  1205,  1206,  1207,  1238,  1239,  1343,  1344,
13292     1354,  1414,  1415,  1451,  1452,  1453,  1454,  1455,  1456,   646,
13293      646,    51,   646,  1485,   350,   647,   705,   706,   138,   646,
13294       89,   138,   176,   189,   201,   202,   366,   387,   395,   396,
13295      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
13296      411,   412,   413,   415,   416,   417,   418,   419,   420,   647,
13297      748,   820,   905,  1485,   276,   646,   791,   792,  1043,  1076,
13298      152,   153,   168,   177,   190,   249,   322,   326,   330,   794,
13299      795,  1024,  1026,  1027,  1028,  1048,  1053,  1054,  1058,  1059,
13300     1162,  1180,  1181,  1418,  1424,  1425,   646,   904,    47,   359,
13301      753,   754,   755,   270,   101,   237,   250,   317,   381,   644,
13302      968,   969,  1076,  1082,  1089,  1108,  1115,  1116,  1117,  1131,
13303     1161,  1178,  1182,  1183,  1192,  1292,  1428,  1429,   646,   297,
13304     1017,  1018,  1485,   235,   649,   792,   795,   808,   809,   136,
13305      137,   268,   269,   277,  1014,  1015,  1419,  1420,  1421,  1422,
13306     1423,   990,   782,   783,   128,   380,   460,   814,   815,   816,
13307     1042,  1049,  1161,  1293,  1294,   646,   101,   238,   282,   604,
13308      970,   971,  1076,  1082,  1089,  1115,  1118,  1119,  1120,  1121,
13309     1131,  1292,  1428,  1429,   646,   103,   345,   346,   921,   922,
13310     1197,  1198,  1355,   815,   923,   924,  1197,  1355,   646,   235,
13311      915,   916,   177,   348,   919,   920,   924,  1050,  1406,   646,
13312      646,   171,   530,    51,   646,  1485,   350,   706,    51,   646,
13313     1485,   350,   706,    51,   646,  1485,   350,   706,   882,  1485,
13314      885,  1485,    51,   646,  1485,    78,   257,   271,   362,   414,
13315      527,   680,   681,    19,    20,    24,    25,    26,    31,    32,
13316       37,    38,    93,   114,   154,   155,   245,   250,   412,   461,
13317      642,   972,   973,  1114,  1124,  1125,  1127,  1130,  1208,  1210,
13318     1211,  1212,  1215,  1216,  1220,  1221,  1223,  1224,  1225,  1226,
13319     1228,  1428,  1429,   646,    51,   646,  1485,   350,   227,   227,
13320      227,   257,   263,   622,   670,   671,  1073,  1074,  1079,   676,
13321      257,   313,   622,   673,   674,  1083,  1084,  1085,    55,   696,
13322      697,  1077,  1078,  1485,   129,   423,   424,   425,   426,   428,
13323      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
13324      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
13325      449,   450,   578,   579,   580,   966,   967,  1033,  1076,  1082,
13326     1089,  1108,  1109,  1111,  1112,  1122,  1128,  1137,  1139,  1150,
13327     1161,  1176,  1192,  1249,  1250,  1251,  1252,  1253,  1254,  1255,
13328     1256,  1257,  1258,  1259,  1260,  1261,  1262,  1263,  1264,  1265,
13329     1266,  1267,  1268,  1269,  1270,  1271,  1272,  1273,  1274,  1275,
13330     1276,  1277,  1279,  1280,  1281,  1282,  1283,  1407,  1408,    56,
13331       57,    83,    84,   243,   846,   847,  1066,  1075,  1090,  1091,
13332     1093,  1182,  1183,  1021,  1022,  1485,   235,  1485,   451,   452,
13333      453,   454,   455,   456,   457,   458,   459,   463,   464,   465,
13334      466,   467,   468,   469,   470,   471,   474,   475,   476,   477,
13335      478,   479,   480,   499,   500,   501,   502,   503,   506,   507,
13336      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
13337      521,   522,   523,   593,   941,   942,  1076,  1169,  1297,  1298,
13338     1299,  1300,  1301,  1302,  1303,  1304,  1305,  1306,  1307,  1308,
13339     1309,  1310,  1311,  1312,  1313,  1314,  1315,  1316,  1317,  1319,
13340     1320,  1321,  1322,  1323,  1324,  1325,  1326,  1327,  1328,  1329,
13341     1330,  1331,  1332,  1333,  1334,  1335,  1336,  1337,  1338,  1339,
13342     1340,  1341,  1342,  1369,   531,   312,   336,   337,   526,   527,
13343      568,   569,   571,   572,   574,   575,   576,   581,   592,   950,
13344      951,  1365,  1366,  1368,  1385,  1393,  1394,  1395,  1398,  1399,
13345     1400,  1401,  1402,  1403,  1404,   646,   570,   944,   945,  1365,
13346     1366,  1368,  1385,  1393,  1394,  1395,  1397,  1398,  1399,  1400,
13347     1401,  1403,  1404,   472,   573,   596,   597,   598,   599,   600,
13348      601,   602,   603,   605,   606,   607,   608,   609,   610,   611,
13349      962,   963,  1076,  1182,  1183,  1297,  1298,  1299,  1300,  1301,
13350     1307,  1308,  1309,  1311,  1315,  1316,  1317,  1318,  1365,  1366,
13351     1367,  1369,  1370,  1371,  1372,  1373,  1374,  1375,  1376,  1377,
13352     1378,  1379,  1380,  1381,  1382,  1383,  1384,    63,   186,   256,
13353      591,   959,   960,  1295,  1296,  1365,  1366,  1385,  1386,  1387,
13354      586,   587,   588,   589,   590,   956,   957,  1365,  1366,  1368,
13355     1388,  1389,  1390,  1391,  1392,   582,   953,   954,  1365,  1366,
13356     1395,  1396,   577,   947,   948,  1365,  1366,  1368,  1385,  1393,
13357     1394,  1398,  1399,  1400,  1401,  1402,  1403,  1404,  1405,   646,
13358      273,   524,   549,   550,   551,   552,   769,   770,  1345,  1346,
13359     1347,  1348,  1349,  1350,   732,   557,   558,   560,   772,   773,
13360     1345,  1351,  1352,  1353,   562,   563,   564,   565,   811,   812,
13361     1356,  1357,  1358,  1359,   286,   585,   805,   806,  1426,  1427,
13362      805,    63,   263,   612,   613,   614,   615,   616,   617,   618,
13363      619,   620,   621,   796,   801,   802,  1024,  1037,  1038,  1065,
13364     1076,  1080,  1081,  1082,  1089,  1112,  1122,  1128,  1145,  1150,
13365     1151,  1156,  1161,  1163,  1168,  1174,  1182,  1183,  1193,  1194,
13366     1199,  1200,  1201,  1202,  1203,  1204,  1205,  1206,  1207,  1238,
13367     1239,  1354,  1363,  1414,  1416,  1417,  1432,  1434,  1436,  1438,
13368     1440,  1442,  1444,  1446,  1447,  1448,  1449,  1450,  1451,  1452,
13369     1453,  1454,  1455,  1456,   263,   612,   613,   614,   615,   616,
13370      617,   618,   796,   798,   799,  1431,  1433,  1435,  1437,  1439,
13371     1441,  1443,  1445,   646,   492,    47,   117,   850,  1485,   851,
13372     1135,  1485,    47,   117,   865,  1485,    47,   117,   870,  1485,
13373      130,   176,   189,   201,   202,   241,   395,   396,   401,   402,
13374      403,   404,   405,   406,   407,   408,   409,   410,   411,   415,
13375      416,   417,   418,   647,   718,   820,   905,  1485,   150,   151,
13376      492,  1485,    71,    71,    71,    71,    71,    71,    71,    71,
13377       71,    71,    71,    71,    71,    51,   648,    71,    71,    71,
13378       51,   648,    71,    71,    71,   648,    51,  1485,   648,    71,
13379       71,    71,    71,    71,    71,    71,    71,    51,   648,    71,
13380       71,    71,    71,    51,   648,  1485,    69,   988,    51,    71,
13381       71,    71,    71,    71,    71,    71,   648,    51,   646,   648,
13382      648,    69,   726,    71,   648,    71,    71,    71,    71,    71,
13383       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13384       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13385       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13386       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13387       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13388       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13389       51,   648,  1485,  1485,    69,   827,    51,   646,  1485,  1485,
13390       69,   836,    51,  1485,  1485,    69,   833,    51,   648,    71,
13391       71,   648,    51,   395,   648,    69,   839,    51,    71,    71,
13392       71,    71,    71,    51,   648,    51,   648,   648,    69,   729,
13393      647,   648,    71,    69,   978,    51,    71,    71,    71,    71,
13394       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13395       71,   648,    51,    69,   648,    71,    69,  1012,    51,   647,
13396      648,   648,    71,   649,   651,   744,   745,   748,   751,    71,
13397       71,    71,    71,    71,    51,   648,    71,   648,   820,   904,
13398      647,    51,   648,  1485,    69,   755,   648,    69,  1009,    51,
13399      646,    51,    69,  1000,   648,    51,    69,   888,   647,    69,
13400     1485,    51,   718,    71,    71,    71,    71,    71,    71,    71,
13401       71,    71,    71,    71,    71,    71,    51,   648,  1485,   350,
13402      706,   706,    51,   704,  1485,    51,   648,   704,   646,   647,
13403      647,   647,   647,   647,   647,   748,   748,   647,   647,   647,
13404      647,   647,   647,   647,   647,   647,   647,   647,   647,   647,
13405      647,   647,   647,   647,   647,   647,   748,   389,   390,   391,
13406      392,   393,   394,   395,   396,   397,   398,   400,   911,   653,
13407      749,   304,   305,   306,    71,    51,   648,    71,    71,    71,
13408       71,    71,    51,   648,   648,  1485,  1485,    69,   754,   648,
13409       71,    71,    71,    71,   648,    51,    71,    69,  1018,    71,
13410       71,   395,   396,   647,   779,   780,   820,   821,    51,   648,
13411       71,    71,    71,    71,    71,   648,    51,   649,   991,   992,
13412     1485,    51,   648,    71,    71,    51,   648,    71,    71,    71,
13413       71,   648,    51,    71,    71,    71,    51,   648,    51,   648,
13414      391,   392,   393,   394,    69,   916,    71,    71,    51,   648,
13415       71,    71,  1485,   350,   706,   706,  1485,   350,   706,   706,
13416     1485,   350,   706,   706,    51,   646,  1485,    51,   646,  1485,
13417     1485,    71,    71,    71,    71,    71,    71,    51,   648,    71,
13418       71,    71,    71,    71,    71,    71,    71,    71,   648,    51,
13419     1485,   350,   648,   648,   648,    71,    71,    71,    51,   648,
13420      257,   271,   414,   534,   623,   677,   678,  1067,  1068,  1069,
13421     1070,  1072,    71,    71,    71,    51,   648,    71,    51,   648,
13422       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13423       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13424       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13425       71,   648,    51,    71,    71,    71,    71,    71,    51,   648,
13426       69,  1022,    51,  1485,    71,   648,    71,    71,    71,    71,
13427       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13428       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13429       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13430       71,    71,    71,    71,    71,    71,    71,    71,    71,    51,
13431      648,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13432       71,    71,    71,    51,   648,    51,   648,    71,    71,    71,
13433       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
13434       71,    71,    71,    51,   648,    71,    71,    71,    51,   648,
13435       71,    71,    71,    71,    51,   648,    51,   648,    71,    51,
13436      648,   462,   542,   544,   545,   758,   759,    71,    71,    71,
13437       71,    71,    71,    51,   648,   235,   733,   734,    71,    51,
13438      648,    71,    71,    71,    71,    51,   648,    71,    71,    51,
13439      648,   648,    71,    71,    71,    71,    71,    71,    71,   648,
13440       51,    71,    71,    71,    71,   648,    51,   855,   647,   647,
13441      646,   653,    51,   648,    71,   647,   647,   646,   653,   647,
13442      647,   646,   653,   647,   647,   647,   647,   718,   718,   647,
13443      647,   647,   647,   647,   647,   647,   647,   647,   647,   647,
13444      647,   647,   647,   647,   718,   389,   390,   391,   392,   393,
13445      394,   395,   396,   397,   398,   400,   646,   719,   647,   853,
13446      653,   820,   821,   820,   138,   821,   138,   904,   138,   138,
13447      649,  1473,  1475,  1476,   138,   138,  1485,  1469,  1485,   936,
13448      138,   138,   820,   138,   939,   138,  1476,   820,    67,   290,
13449      291,   292,   293,   294,   295,   646,   817,   994,   715,  1485,
13450      138,   138,   138,   820,   820,   138,   820,   138,   786,   646,
13451      820,   647,   138,   138,   984,   646,   646,   646,  1485,   904,
13452      384,   385,   386,   487,   488,   489,   491,   647,  1133,   843,
13453      843,  1485,   138,   646,   817,   974,   646,   817,   646,   817,
13454      646,   718,   646,   138,   297,   820,  1485,   820,   820,   820,
13455      138,   904,  1473,  1476,   647,  1133,  1473,  1476,   138,   647,
13456      820,   138,   820,   138,   138,    58,    91,    92,   325,   820,
13457      820,   820,   820,   820,   820,   820,   138,   138,   138,   138,
13458      130,   395,   396,   821,   822,   823,   138,   138,   138,  1485,
13459      904,   138,  1476,   649,  1479,  1480,  1480,   493,   494,   495,
13460      904,   138,   217,   218,   491,   820,   221,   222,   223,   225,
13461      226,   138,  1485,   231,   232,   233,   231,   232,   233,   647,
13462      138,   138,   820,   130,   820,   138,    91,    92,   820,   138,
13463       49,    50,    91,   647,   138,   138,   820,   138,   873,   646,
13464      817,    51,   646,    10,   112,   139,   140,   141,   255,   352,
13465      505,   718,   721,   829,   841,    51,    51,   646,   718,    51,
13466       51,   646,   718,   646,   138,   138,   646,  1003,   138,   646,
13467      646,   718,   297,   297,   297,   297,   297,   738,   646,   981,
13468      646,   817,   653,   646,   138,   395,   396,   819,   646,   904,
13469      646,   718,   821,   138,   138,   819,   138,   138,   138,   904,
13470      138,   138,   138,   820,   820,   820,   138,   138,   646,   901,
13471      646,   646,   904,   646,  1485,   138,  1470,   646,   646,   663,
13472      235,   746,   747,  1485,    69,   745,   751,    71,   646,   820,
13473      820,   647,   138,   647,   739,   646,   156,   204,   908,   648,
13474      647,   820,   789,   646,   646,   646,   646,   646,  1485,  1001,
13475     1485,   646,   646,   997,   646,   718,   646,    51,   718,  1485,
13476      646,   820,   138,   138,   138,   904,   820,   138,   138,   820,
13477      138,   820,   138,   138,   138,   894,   646,   817,   350,   706,
13478      706,   704,    71,   648,   704,   748,   748,   748,   748,  1485,
13479     1485,   748,   748,   748,   748,   748,   748,   748,   748,   748,
13480      748,   748,   748,   748,   748,   748,   748,   748,   748,   819,
13481      648,   748,   748,   748,   748,   748,   748,   748,   748,   748,
13482      748,   748,   646,  1485,   647,   138,   792,   646,   820,   820,
13483      138,   820,   138,   795,   646,   646,    51,    51,    71,   646,
13484      646,   646,   339,   340,   138,  1485,  1485,   646,   817,   968,
13485     1019,  1485,   646,  1019,  1485,   820,   820,   718,   646,   650,
13486       51,   647,   821,   809,   646,   904,   647,   904,   647,   138,
13487      646,  1014,   817,    69,   992,    71,   783,   646,   820,  1476,
13488      816,   646,   817,   138,   138,   138,  1476,   646,   817,   970,
13489      647,   718,   350,   922,   646,   924,   646,   817,   718,   718,
13490      718,   718,   646,   138,   820,   920,   646,   817,   667,   666,
13491      350,   706,   706,   350,   706,   706,   350,   706,   706,  1485,
13492     1485,   682,  1485,   718,  1485,  1485,   138,  1471,   681,   646,
13493      904,   384,   385,   386,   138,   138,   647,  1133,   843,   843,
13494     1485,   138,   646,   817,   972,   350,   646,   646,   646,  1485,
13495      138,   649,  1477,  1478,   671,   646,   669,  1485,    71,    71,
13496       71,  1071,    71,    51,   648,  1485,  1478,  1478,   674,   646,
13497      904,   697,   646,   138,   138,   138,   138,   138,   138,   138,
13498      138,   138,   138,   138,   138,   138,   820,   138,   649,  1483,
13499     1484,   820,   820,   647,   647,   647,   138,   138,   647,   820,
13500      138,   820,   820,   820,   820,   820,   646,   966,   904,  1485,
13501      843,   843,   138,   847,   646,   646,  1485,   646,  1485,   646,
13502      138,   546,   547,   138,   138,   138,   138,   904,   138,   647,
13503      138,   235,   544,   545,   138,   138,   138,   138,   138,   820,
13504      820,   138,   138,   138,   138,   138,   138,   820,   138,   138,
13505      138,   138,   138,   138,   138,   138,   138,   138,   138,   138,
13506      138,   138,   138,   138,   138,   138,  1480,   942,   646,   660,
13507      138,   904,   138,   904,   904,  1480,   138,   138,  1480,   821,
13508      138,   951,   646,   817,   945,   646,   473,   491,   820,   820,
13509      820,   138,   820,   138,   138,   820,   820,   138,   138,   138,
13510      138,   820,   820,   963,   646,   138,   138,   138,   960,   646,
13511      138,   821,   821,   138,   957,   646,   954,   646,   138,   948,
13512      646,   541,   543,   559,   646,   646,    69,   759,   649,   649,
13513     1480,  1482,   138,   820,  1484,   138,   138,   770,   646,   735,
13514       69,   734,  1473,  1476,   773,   646,   297,   905,   906,   138,
13515      906,   906,   812,   646,   904,   138,   806,   646,   646,   138,
13516      138,  1473,  1476,   138,   495,   497,   498,   904,   138,   138,
13517      646,   817,   801,   138,  1473,  1476,   138,   495,   497,   498,
13518      904,   646,   817,   798,   647,  1485,  1485,  1135,   646,   843,
13519     1485,  1485,   492,  1485,  1485,  1485,   151,  1485,   718,   718,
13520      718,   718,   718,   718,   718,   718,   718,   718,   718,   718,
13521      718,   718,   718,   718,   718,   718,   718,   648,   718,   718,
13522      718,   718,   718,   718,   718,   718,   718,   718,   718,   647,
13523      133,   134,   135,   867,   868,  1101,  1102,  1103,   647,   151,
13524      492,    51,   138,  1473,  1474,    51,   650,  1474,   652,   646,
13525      646,   646,    51,   646,  1485,   817,   276,   648,  1133,  1134,
13526      646,   646,   646,   646,   725,  1134,   817,   130,   130,    51,
13527      821,    51,   650,   821,   297,   874,   875,   297,   878,   879,
13528      646,  1485,    51,   646,    51,  1485,   718,    51,  1485,   718,
13529      646,    69,   832,    51,   646,   150,   151,   492,  1485,   138,
13530      138,   648,   728,   648,    51,   646,   725,   648,    51,   648,
13531      652,   648,  1011,   748,    71,    51,   650,    71,   646,   748,
13532      817,   904,   907,   743,   646,   820,   648,   276,   775,    51,
13533      647,    51,   646,    71,    69,   999,   648,  1485,   646,   718,
13534      646,   706,   297,    51,    51,   648,   648,   648,   648,   648,
13535      648,   648,   648,   648,   648,   648,   648,   648,   648,   648,
13536      648,    51,   648,   648,    51,   648,    51,   648,   648,   648,
13537      748,   750,   648,  1485,  1485,   718,   331,   753,   646,    51,
13538      646,  1485,   646,   648,   648,   780,   646,   647,   821,   718,
13539      817,   817,   650,   646,   718,   646,   646,   817,   646,   646,
13540      646,   646,   646,   646,   748,   748,   706,   706,   706,   748,
13541      652,  1134,   646,    51,   297,    51,   297,   650,    51,   646,
13542     1485,  1485,  1485,  1485,    71,   821,  1485,   678,   646,   823,
13543      650,   823,   652,   817,   818,   818,   818,   818,   646,   648,
13544      684,   817,   748,   646,   138,   138,   646,   646,   817,  1480,
13545     1481,    71,   646,   646,   646,   104,   105,   106,   107,   108,
13546      109,   110,   111,   303,   862,   863,  1094,  1095,  1096,  1098,
13547     1099,  1100,  1104,  1105,  1107,  1402,    51,   648,   652,    51,
13548      648,   653,    51,   648,   653,    51,    51,   648,   648,   648,
13549      648,   648,   648,   648,   648,   648,   648,   648,   648,   648,
13550      648,   648,    51,   648,    51,   648,   718,   720,    71,    71,
13551       71,    51,   648,   105,   107,   860,   861,  1094,  1095,  1096,
13552     1097,  1099,  1100,  1104,  1105,  1106,  1402,   647,   854,  1474,
13553      652,   650,  1474,  1485,  1485,   648,   138,   776,   653,    51,
13554      648,    69,   648,   648,   821,   650,   821,    51,    51,   648,
13555       51,    51,   648,   718,   721,   841,   721,   830,    51,    51,
13556      718,    51,   646,   646,    69,   718,   647,   856,   653,    71,
13557       69,   646,   718,    69,   646,   395,   396,   649,  1006,    51,
13558      138,    51,    69,   648,   297,   747,   748,   748,   646,   648,
13559       51,   648,   744,   648,   776,    69,  1006,   396,   819,  1472,
13560     1485,   821,   646,    69,   646,   718,   646,   748,   748,   297,
13561      748,   748,   647,    51,   648,   817,    71,    71,   646,   718,
13562       69,  1485,   646,   718,   648,   648,   648,    71,   646,   648,
13563      648,   648,   130,   138,   648,   297,   297,   650,  1485,   748,
13564      648,   648,   648,   648,   646,   462,   542,   685,   686,   648,
13565      648,    51,   646,   650,    51,   650,   718,    71,    71,    71,
13566       71,    71,    71,    71,    71,    71,    51,   648,  1485,   653,
13567      843,  1485,   653,   492,  1485,   653,   151,   718,   718,   718,
13568      718,    51,   648,  1484,   820,   821,   868,   646,    71,    71,
13569       51,   648,   867,   647,   138,   652,    51,   138,   646,   150,
13570      151,   492,  1485,  1133,   646,    88,   297,   351,   821,   824,
13571      874,   297,   647,   821,  1478,   878,    51,    51,    51,   718,
13572      718,   646,   718,   646,   646,   867,   647,   151,   492,   718,
13573      646,   646,   646,   718,   646,  1485,  1485,   646,   664,  1485,
13574       71,   646,   646,   904,    69,   646,   646,   646,   647,   648,
13575      652,   648,    71,   646,   646,   648,   648,    51,   648,    51,
13576       51,   748,   748,   646,   718,   718,   646,   646,  1017,   648,
13577      718,   698,  1485,   698,  1021,   373,   374,   541,   543,    69,
13578      686,   661,  1485,   760,   541,   762,  1480,   646,   821,  1480,
13579      820,  1482,   821,  1480,   475,   481,   482,   483,   484,   485,
13580      486,   496,   504,   840,  1480,  1480,   863,   646,   648,   648,
13581      492,  1485,   648,   151,  1485,   648,   648,    51,    51,   718,
13582      821,   718,   861,   646,   648,   860,   138,   138,   652,   358,
13583      647,   858,   653,   297,   876,   877,   721,   830,   721,    51,
13584      646,   646,   648,   860,   647,   857,   646,    51,    51,    51,
13585       51,   646,  1485,   350,   748,   646,   358,   819,    51,   819,
13586       51,   821,   138,  1476,   748,   748,   648,   646,   646,    69,
13587      646,    51,   646,  1485,   350,   706,   646,    69,   556,   690,
13588      691,   692,   647,   647,   138,   646,    51,   646,  1485,   350,
13589      395,   396,   556,   718,   764,   765,   766,   138,   541,   653,
13590      653,   653,   653,   653,   718,   718,   646,   648,   652,   138,
13591      647,   778,   821,   867,   647,   151,   492,    51,    51,   648,
13592       51,    51,   718,   646,   648,   867,   647,   718,  1006,  1006,
13593     1485,   350,   646,   778,   652,  1006,  1006,   648,   648,   648,
13594      648,   646,  1485,   350,   706,   706,   646,   647,   646,    71,
13595      395,   396,   397,   398,  1485,  1485,   646,  1485,   350,   556,
13596      556,   647,   397,    71,   718,   766,    51,   138,   492,  1485,
13597      492,   151,  1485,   151,   648,   648,   646,   138,   718,    51,
13598      646,   647,   821,   648,   860,   647,   859,   297,   821,   876,
13599      841,   721,   646,   646,   648,   860,   650,   646,   646,   350,
13600      646,   819,   646,   646,   350,   706,   706,  1485,    89,   138,
13601     1486,   691,   691,   718,   718,    51,   648,   541,   693,   694,
13602      350,   647,   647,  1485,   556,   761,   763,  1485,    51,   653,
13603      653,   648,   647,   821,   718,   646,   648,   867,   647,    51,
13604       51,   646,   648,   648,   706,    51,    71,    71,  1485,   556,
13605      687,   688,   689,   647,   694,  1485,  1485,    51,   647,   764,
13606       51,   646,   763,   492,   151,   718,   648,   646,   648,   860,
13607      830,   721,   646,  1485,  1486,  1486,   648,   647,   646,    71,
13608      395,   396,   397,   398,  1485,    51,    51,   138,  1485,   646,
13609     1485,   646,   648,   646,   648,    51,    51,    71,  1485,  1486,
13610      688,   688,   718,   718,   648,   138,   138,   648,    51,   646,
13611      718,   138,   647,  1486,    51,    71,    71,   817,   648,   648,
13612      138,   648,  1485,   646,   138,  1486,  1486,   646,   648,    51,
13613      648,  1485,   648,   646
13614   };
13615 
13616   const unsigned short
13617   parser::yyr1_[] =
13618   {
13619        0,   654,   655,   655,   656,   656,   656,   656,   656,   656,
13620      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13621      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13622      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13623      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13624      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13625      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13626      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13627      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13628      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13629      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
13630      656,   656,   656,   656,   656,   656,   656,   657,   657,   658,
13631      660,   659,   661,   661,   661,   661,   661,   661,   663,   662,
13632      664,   664,   664,   664,   664,   664,   665,   666,   665,   667,
13633      665,   668,   668,   669,   669,   669,   670,   670,   671,   671,
13634      671,   672,   673,   673,   674,   674,   674,   676,   675,   677,
13635      677,   678,   678,   678,   678,   678,   679,   680,   680,   681,
13636      682,   681,   681,   681,   681,   681,   681,   684,   683,   685,
13637      685,   686,   686,   686,   686,   686,   687,   687,   687,   688,
13638      688,   689,   690,   690,   690,   691,   691,   692,   693,   693,
13639      694,   695,   696,   696,   697,   697,   698,   698,   698,   698,
13640      698,   698,   698,   698,   698,   698,   698,   698,   699,   700,
13641      701,   702,   703,   704,   705,   705,   705,   705,   706,   706,
13642      707,   707,   707,   707,   707,   707,   707,   707,   707,   707,
13643      707,   707,   708,   708,   708,   708,   708,   708,   708,   708,
13644      708,   708,   708,   708,   709,   709,   709,   709,   709,   709,
13645      709,   709,   709,   709,   709,   709,   710,   710,   710,   710,
13646      710,   710,   710,   710,   710,   710,   710,   710,   711,   711,
13647      711,   712,   712,   712,   712,   712,   712,   713,   714,   714,
13648      714,   714,   715,   715,   715,   716,   716,   717,   718,   718,
13649      718,   718,   718,   718,   718,   718,   718,   718,   718,   718,
13650      718,   718,   718,   718,   718,   718,   718,   718,   718,   718,
13651      718,   718,   718,   718,   718,   718,   718,   718,   718,   718,
13652      719,   718,   718,   718,   718,   718,   718,   718,   718,   720,
13653      720,   721,   721,   722,   722,   723,   724,   724,   725,   725,
13654      726,   727,   727,   728,   728,   729,   730,   732,   731,   733,
13655      733,   735,   734,   736,   737,   737,   738,   738,   738,   738,
13656      738,   739,   739,   739,   739,   739,   739,   739,   739,   739,
13657      739,   739,   739,   740,   740,   742,   741,   743,   741,   744,
13658      744,   744,   744,   745,   745,   745,   745,   746,   746,   747,
13659      747,   748,   748,   748,   748,   748,   748,   748,   748,   748,
13660      748,   748,   748,   748,   748,   748,   748,   748,   748,   748,
13661      748,   748,   748,   748,   748,   748,   748,   748,   748,   748,
13662      748,   748,   748,   748,   748,   748,   748,   748,   748,   748,
13663      748,   748,   748,   749,   748,   748,   748,   748,   748,   748,
13664      748,   750,   750,   751,   752,   752,   753,   753,   754,   754,
13665      754,   754,   754,   755,   757,   756,   758,   758,   759,   759,
13666      760,   761,   759,   759,   759,   762,   762,   763,   763,   764,
13667      764,   765,   765,   766,   766,   766,   766,   767,   768,   769,
13668      769,   770,   770,   770,   770,   770,   770,   771,   772,   772,
13669      773,   773,   773,   773,   774,   774,   775,   775,   776,   776,
13670      776,   776,   776,   776,   777,   778,   778,   778,   778,   778,
13671      778,   779,   779,   780,   780,   780,   780,   780,   780,   781,
13672      781,   782,   782,   783,   783,   783,   783,   783,   783,   783,
13673      783,   784,   784,   785,   785,   786,   786,   787,   787,   788,
13674      788,   789,   790,   790,   791,   791,   792,   792,   793,   793,
13675      794,   794,   795,   795,   795,   795,   795,   795,   795,   795,
13676      795,   795,   795,   795,   795,   795,   795,   796,   796,   796,
13677      796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
13678      796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
13679      796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
13680      796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
13681      796,   796,   796,   797,   797,   798,   798,   799,   799,   799,
13682      799,   799,   799,   799,   799,   799,   800,   800,   801,   801,
13683      802,   802,   802,   802,   802,   802,   802,   802,   802,   802,
13684      802,   802,   802,   803,   804,   805,   805,   806,   806,   807,
13685      807,   808,   808,   809,   809,   810,   811,   811,   812,   812,
13686      812,   812,   813,   813,   813,   813,   814,   814,   815,   815,
13687      815,   815,   815,   815,   815,   815,   815,   815,   815,   815,
13688      815,   815,   815,   815,   815,   815,   815,   815,   815,   815,
13689      815,   815,   815,   815,   815,   815,   815,   815,   815,   815,
13690      815,   815,   815,   815,   815,   815,   815,   815,   815,   815,
13691      815,   815,   815,   815,   815,   815,   815,   815,   816,   816,
13692      816,   816,   816,   816,   817,   817,   817,   818,   818,   819,
13693      819,   819,   820,   820,   821,   821,   821,   822,   822,   822,
13694      823,   823,   824,   824,   825,   826,   826,   827,   827,   828,
13695      828,   828,   828,   829,   829,   829,   829,   829,   830,   830,
13696      830,   830,   831,   831,   831,   832,   832,   833,   833,   833,
13697      834,   835,   835,   836,   836,   836,   837,   838,   838,   839,
13698      840,   840,   840,   840,   840,   840,   840,   840,   840,   841,
13699      841,   841,   841,   841,   841,   841,   841,   842,   843,   843,
13700      844,   845,   846,   846,   847,   847,   847,   847,   847,   847,
13701      847,   848,   849,   850,   850,   850,   851,   851,   853,   852,
13702      854,   852,   855,   852,   856,   852,   857,   852,   858,   852,
13703      859,   852,   860,   860,   861,   861,   861,   861,   861,   861,
13704      861,   861,   861,   861,   862,   862,   863,   863,   863,   863,
13705      863,   863,   863,   863,   863,   863,   864,   865,   865,   865,
13706      865,   865,   865,   866,   866,   866,   866,   866,   866,   867,
13707      867,   868,   868,   868,   869,   870,   870,   870,   870,   870,
13708      870,   871,   871,   871,   871,   872,   872,   873,   873,   873,
13709      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13710      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13711      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13712      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13713      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13714      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13715      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13716      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13717      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13718      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13719      873,   873,   873,   873,   873,   873,   873,   873,   873,   873,
13720      873,   873,   873,   873,   873,   873,   874,   874,   874,   875,
13721      875,   876,   876,   877,   877,   878,   878,   878,   878,   879,
13722      879,   881,   880,   882,   882,   882,   884,   883,   885,   885,
13723      885,   886,   887,   887,   888,   889,   890,   891,   891,   891,
13724      891,   892,   893,   893,   894,   894,   894,   894,   894,   894,
13725      894,   895,   895,   895,   895,   896,   896,   897,   897,   898,
13726      899,   900,   900,   901,   901,   902,   902,   902,   902,   902,
13727      902,   902,   902,   902,   902,   902,   902,   902,   902,   902,
13728      902,   902,   902,   902,   902,   902,   902,   902,   902,   902,
13729      902,   902,   902,   902,   902,   902,   902,   902,   902,   903,
13730      903,   904,   904,   905,   905,   906,   906,   907,   907,   908,
13731      908,   908,   908,   908,   908,   910,   911,   909,   912,   912,
13732      913,   913,   913,   913,   914,   915,   915,   916,   916,   916,
13733      916,   917,   918,   918,   918,   918,   919,   919,   920,   920,
13734      920,   921,   921,   922,   922,   922,   923,   923,   924,   924,
13735      924,   925,   925,   926,   926,   927,   927,   928,   929,   929,
13736      929,   929,   930,   930,   930,   930,   931,   931,   931,   931,
13737      932,   932,   932,   932,   933,   933,   934,   934,   934,   934,
13738      934,   934,   934,   935,   935,   935,   935,   935,   935,   935,
13739      935,   935,   935,   936,   936,   937,   937,   938,   938,   938,
13740      938,   939,   939,   940,   940,   941,   941,   941,   941,   941,
13741      941,   941,   941,   941,   941,   941,   941,   941,   941,   941,
13742      941,   941,   941,   941,   941,   941,   941,   941,   941,   941,
13743      941,   941,   941,   941,   941,   941,   941,   941,   941,   941,
13744      941,   941,   941,   941,   941,   941,   941,   941,   941,   941,
13745      941,   941,   941,   942,   942,   943,   943,   944,   944,   944,
13746      944,   944,   944,   944,   944,   944,   944,   944,   944,   944,
13747      944,   945,   945,   946,   946,   947,   947,   947,   947,   947,
13748      947,   947,   947,   947,   947,   947,   947,   947,   947,   948,
13749      948,   949,   949,   950,   950,   950,   950,   950,   950,   950,
13750      950,   950,   950,   950,   950,   950,   950,   951,   951,   952,
13751      952,   952,   952,   953,   953,   953,   953,   954,   954,   955,
13752      955,   956,   956,   956,   956,   956,   956,   956,   956,   957,
13753      957,   958,   958,   959,   959,   959,   959,   959,   959,   959,
13754      960,   960,   961,   961,   962,   962,   962,   962,   962,   962,
13755      962,   962,   962,   962,   962,   962,   962,   962,   962,   962,
13756      962,   962,   962,   962,   962,   962,   962,   962,   962,   962,
13757      962,   962,   962,   962,   962,   962,   962,   962,   962,   963,
13758      963,   964,   964,   965,   965,   966,   966,   967,   967,   967,
13759      967,   967,   967,   967,   967,   967,   967,   967,   967,   967,
13760      967,   967,   967,   967,   967,   967,   967,   967,   967,   967,
13761      967,   967,   967,   967,   967,   967,   967,   967,   967,   967,
13762      967,   967,   967,   967,   967,   967,   967,   967,   967,   967,
13763      967,   967,   967,   967,   967,   967,   967,   967,   967,   968,
13764      968,   969,   969,   969,   969,   969,   969,   969,   969,   969,
13765      969,   969,   969,   969,   969,   969,   969,   970,   970,   971,
13766      971,   971,   971,   971,   971,   971,   971,   971,   971,   971,
13767      971,   972,   972,   973,   973,   973,   973,   973,   973,   973,
13768      973,   973,   973,   973,   973,   973,   973,   973,   973,   973,
13769      973,   973,   973,   974,   974,   975,   975,   975,   975,   975,
13770      975,   975,   975,   975,   975,   975,   975,   975,   975,   976,
13771      977,   977,   978,   978,   979,   979,   979,   979,   980,   980,
13772      981,   981,   981,   981,   981,   982,   983,   983,   984,   984,
13773      984,   984,   984,   985,   985,   986,   987,   987,   988,   990,
13774      989,   991,   991,   992,   992,   993,   993,   993,   993,   994,
13775      994,   995,   995,   995,   995,   995,   995,   995,   995,   995,
13776      995,   995,   995,   995,   996,   996,   996,   996,   997,   997,
13777      998,   998,   999,   999,  1000,  1001,  1001,  1002,  1002,  1003,
13778     1003,  1004,  1004,  1004,  1004,  1004,  1004,  1005,  1006,  1006,
13779     1006,  1007,  1008,  1008,  1009,  1009,  1009,  1010,  1010,  1011,
13780     1011,  1012,  1012,  1012,  1013,  1013,  1014,  1014,  1015,  1015,
13781     1015,  1015,  1015,  1016,  1016,  1017,  1017,  1018,  1018,  1019,
13782     1019,  1019,  1020,  1020,  1021,  1021,  1022,  1022,  1023,  1024,
13783     1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1033,  1034,
13784     1035,  1036,  1037,  1038,  1039,  1040,  1041,  1042,  1043,  1044,
13785     1045,  1046,  1047,  1048,  1049,  1049,  1050,  1051,  1052,  1053,
13786     1054,  1055,  1056,  1056,  1057,  1058,  1059,  1060,  1061,  1062,
13787     1063,  1064,  1065,  1066,  1067,  1068,  1069,  1071,  1070,  1072,
13788     1072,  1073,  1074,  1075,  1076,  1077,  1078,  1079,  1080,  1081,
13789     1082,  1082,  1083,  1084,  1085,  1086,  1086,  1087,  1087,  1088,
13790     1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
13791     1099,  1100,  1101,  1102,  1103,  1104,  1105,  1106,  1107,  1108,
13792     1109,  1110,  1111,  1112,  1112,  1113,  1113,  1114,  1115,  1116,
13793     1117,  1117,  1118,  1119,  1120,  1121,  1122,  1123,  1124,  1125,
13794     1125,  1126,  1127,  1128,  1128,  1129,  1129,  1130,  1130,  1131,
13795     1132,  1133,  1133,  1133,  1133,  1134,  1134,  1135,  1136,  1137,
13796     1138,  1139,  1140,  1141,  1142,  1143,  1144,  1144,  1145,  1146,
13797     1147,  1148,  1149,  1150,  1151,  1151,  1152,  1153,  1154,  1155,
13798     1156,  1157,  1158,  1159,  1160,  1161,  1162,  1163,  1164,  1165,
13799     1166,  1166,  1166,  1167,  1168,  1169,  1170,  1171,  1172,  1173,
13800     1174,  1175,  1176,  1177,  1178,  1179,  1179,  1180,  1181,  1182,
13801     1183,  1184,  1185,  1186,  1187,  1188,  1189,  1190,  1191,  1192,
13802     1193,  1194,  1195,  1196,  1197,  1198,  1199,  1199,  1200,  1201,
13803     1201,  1201,  1201,  1202,  1203,  1204,  1204,  1204,  1205,  1206,
13804     1207,  1208,  1209,  1210,  1211,  1212,  1213,  1214,  1215,  1216,
13805     1216,  1216,  1217,  1217,  1217,  1218,  1219,  1220,  1221,  1222,
13806     1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,  1232,
13807     1233,  1234,  1235,  1236,  1237,  1238,  1239,  1240,  1241,  1241,
13808     1241,  1242,  1243,  1243,  1243,  1244,  1244,  1245,  1246,  1247,
13809     1247,  1247,  1248,  1248,  1248,  1249,  1250,  1251,  1252,  1253,
13810     1254,  1255,  1256,  1257,  1258,  1259,  1260,  1261,  1262,  1263,
13811     1264,  1265,  1266,  1267,  1268,  1269,  1270,  1271,  1272,  1273,
13812     1274,  1275,  1276,  1277,  1278,  1278,  1279,  1280,  1281,  1282,
13813     1283,  1284,  1285,  1286,  1287,  1288,  1289,  1290,  1291,  1292,
13814     1292,  1292,  1292,  1292,  1292,  1292,  1293,  1294,  1295,  1296,
13815     1297,  1297,  1297,  1298,  1299,  1300,  1301,  1302,  1303,  1304,
13816     1305,  1306,  1306,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
13817     1313,  1314,  1315,  1316,  1317,  1318,  1318,  1319,  1320,  1321,
13818     1322,  1323,  1324,  1325,  1326,  1327,  1328,  1329,  1330,  1331,
13819     1332,  1333,  1334,  1335,  1336,  1337,  1338,  1339,  1340,  1341,
13820     1342,  1343,  1344,  1345,  1346,  1347,  1347,  1348,  1349,  1350,
13821     1351,  1352,  1353,  1353,  1354,  1355,  1356,  1357,  1358,  1358,
13822     1359,  1359,  1360,  1361,  1362,  1363,  1364,  1365,  1366,  1367,
13823     1368,  1369,  1370,  1371,  1372,  1373,  1374,  1375,  1376,  1377,
13824     1378,  1379,  1380,  1381,  1382,  1383,  1384,  1385,  1386,  1387,
13825     1388,  1389,  1390,  1391,  1392,  1393,  1394,  1395,  1396,  1397,
13826     1398,  1399,  1400,  1401,  1402,  1402,  1403,  1404,  1405,  1406,
13827     1407,  1408,  1409,  1410,  1411,  1411,  1411,  1411,  1412,  1413,
13828     1414,  1415,  1416,  1417,  1418,  1419,  1420,  1421,  1422,  1423,
13829     1424,  1425,  1426,  1427,  1428,  1428,  1429,  1430,  1431,  1432,
13830     1433,  1434,  1435,  1435,  1436,  1436,  1437,  1438,  1439,  1440,
13831     1441,  1441,  1441,  1441,  1442,  1442,  1442,  1442,  1443,  1444,
13832     1445,  1446,  1447,  1448,  1449,  1450,  1451,  1452,  1453,  1454,
13833     1455,  1456,  1457,  1458,  1459,  1460,  1461,  1462,  1463,  1464,
13834     1465,  1466,  1467,  1468,  1469,  1470,  1471,  1471,  1472,  1472,
13835     1473,  1474,  1474,  1475,  1475,  1475,  1475,  1476,  1476,  1477,
13836     1477,  1477,  1477,  1478,  1478,  1479,  1479,  1479,  1479,  1480,
13837     1480,  1481,  1481,  1482,  1482,  1483,  1483,  1484,  1485,  1485,
13838     1485,  1485,  1485,  1485,  1485,  1485,  1485,  1485,  1485,  1485,
13839     1485,  1485,  1485,  1485,  1485,  1485,  1485,  1485,  1485,  1485,
13840     1486,  1486
13841   };
13842 
13843   const unsigned char
13844   parser::yyr2_[] =
13845   {
13846        0,     2,     1,     2,     1,     1,     1,     1,     1,     1,
13847        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13848        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13849        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13850        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13851        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13852        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13853        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13854        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13855        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13856        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13857        1,     1,     1,     1,     1,     1,     1,     3,     4,     3,
13858        0,     9,     2,     3,     1,     3,     4,     2,     0,     9,
13859        2,     3,     1,     3,     4,     2,     3,     0,     9,     0,
13860        9,     5,     6,     2,     3,     1,     3,     1,     1,     1,
13861        1,     5,     3,     1,     1,     1,     1,     0,     6,     3,
13862        1,     1,     1,     1,     1,     1,     5,     1,     3,     3,
13863        0,     4,     3,     3,     3,     3,     3,     0,     9,     2,
13864        1,     5,     7,     4,    10,    14,     5,     5,     3,     3,
13865        3,     6,     5,     5,     3,     3,     3,     8,     2,     1,
13866        6,     5,     3,     1,     1,     1,     2,     3,     1,     3,
13867        4,     2,     3,     4,     2,     4,     5,     3,     3,     3,
13868        3,     3,     3,     3,     2,     3,     2,     3,     2,     3,
13869        2,     3,     1,     3,     4,     2,     3,     4,     2,     4,
13870        5,     3,     2,     3,     1,     3,     4,     2,     3,     4,
13871        2,     4,     5,     3,     2,     3,     1,     3,     4,     2,
13872        3,     4,     2,     4,     5,     3,     2,     3,     1,     3,
13873        4,     2,     3,     4,     2,     4,     5,     3,     2,     3,
13874        1,     2,     3,     1,     3,     4,     2,     6,     1,     1,
13875        1,     1,     1,     2,     3,     3,     4,     4,     3,     1,
13876        1,     3,     3,     3,     3,     3,     3,     3,     3,     3,
13877        3,     3,     2,     2,     4,     4,     4,     4,     4,     4,
13878        4,     4,     4,     4,     4,     4,     4,     4,     6,     6,
13879        0,     5,     8,     4,     8,     4,     4,     1,     1,     1,
13880        3,     0,     1,     5,     8,     7,     5,     8,     2,     1,
13881        4,     5,     8,     2,     1,     7,     7,     0,     6,     2,
13882        1,     0,     5,     5,     3,     1,     3,     3,     3,     3,
13883        3,     1,     1,     1,     1,     1,     1,     1,     5,     1,
13884        5,     1,     3,     3,     1,     0,     6,     0,     9,     2,
13885        2,     1,     1,     4,     2,     7,     5,     3,     1,     3,
13886        1,     3,     1,     2,     2,     2,     1,     3,     3,     3,
13887        3,     3,     3,     3,     3,     3,     3,     3,     7,     4,
13888        4,     2,     2,     4,     4,     6,     8,     8,     4,     4,
13889        4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
13890        4,     6,     6,     0,     5,     8,     4,     8,     4,     4,
13891        4,     1,     3,     5,     5,     8,     2,     1,     1,     6,
13892        5,     7,     7,     9,     0,     6,     2,     1,     5,     3,
13893        0,     0,    10,     2,     2,     6,     5,     3,     1,     1,
13894        1,     1,     2,     6,     7,     7,     8,     2,     5,     3,
13895        1,     1,     1,     1,     1,     1,     1,     5,     3,     1,
13896        1,     1,     1,     1,     5,     8,     2,     1,     3,     2,
13897        5,     4,     3,     1,     6,     5,     4,     3,     3,     2,
13898        1,     3,     1,     5,     3,     4,     2,     3,     1,     2,
13899        5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
13900        1,     2,     5,     3,     1,     1,     1,     2,     5,     3,
13901        1,     0,     2,     5,     3,     1,     1,     1,     2,     5,
13902        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13903        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13904        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13905        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13906        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13907        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13908        1,     1,     1,     5,     6,     3,     1,     1,     1,     1,
13909        1,     1,     1,     1,     1,     1,     5,     6,     3,     1,
13910        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13911        1,     1,     1,     5,     5,     3,     1,     1,     1,     2,
13912        5,     3,     1,     1,     1,     5,     3,     1,     1,     1,
13913        1,     1,     2,     5,     3,     6,     3,     1,     1,     1,
13914        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13915        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13916        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13917        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13918        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13919        1,     1,     1,     1,     2,     3,     1,     1,     1,     2,
13920        2,     1,     1,     1,     2,     2,     1,     2,     2,     1,
13921        1,     1,     1,     1,     5,     2,     1,     4,     2,     2,
13922        1,     4,     1,     3,     5,     9,     1,     5,     3,     5,
13923        7,     9,     5,     7,     8,     2,     1,     5,     7,     4,
13924        5,     2,     1,     7,     9,     6,     5,     2,     1,     6,
13925        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13926        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
13927        5,     5,     3,     1,     1,     1,     1,     1,     1,     1,
13928        1,     5,     4,     3,     6,     8,     3,     1,     0,     8,
13929        0,    10,     0,     8,     0,    11,     0,    13,     0,    13,
13930        0,    15,     3,     1,     1,     1,     1,     1,     1,     1,
13931        1,     1,     1,     1,     3,     1,     1,     1,     1,     1,
13932        1,     1,     1,     1,     1,     1,     4,     3,     5,     6,
13933        8,     8,    10,     7,     9,    10,    12,    12,    14,     3,
13934        1,     1,     1,     1,     4,     3,     5,     6,     8,     8,
13935       10,     2,     5,     3,     6,     3,     1,     1,     1,     1,
13936        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13937        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13938        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13939        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13940        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13941        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13942        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13943        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13944        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13945        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13946        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13947        1,     1,     1,     1,     1,     1,     3,     3,     3,     1,
13948        3,     3,     3,     1,     3,     3,     3,     3,     5,     1,
13949        3,     0,     4,     2,     3,     1,     0,     4,     2,     3,
13950        1,     5,     2,     1,     5,     3,     5,     4,     6,     3,
13951        5,     3,     3,     1,     1,     1,     1,     1,     1,     1,
13952        1,     2,     5,     3,     6,     5,     6,     5,     6,     5,
13953        5,     2,     5,     3,     1,     1,     1,     1,     1,     1,
13954        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13955        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13956        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
13957        6,     1,     1,     1,     3,     1,     1,     1,     3,     1,
13958        4,     2,     5,     3,     6,     0,     0,     5,     2,     5,
13959        2,     5,     3,     6,     5,     2,     1,     4,     4,     4,
13960        4,     2,     2,     5,     3,     6,     3,     1,     1,     1,
13961        1,     3,     1,     1,     1,     1,     3,     1,     1,     1,
13962        1,     2,     5,     2,     5,     2,     5,     2,     2,     5,
13963        3,     6,     2,     5,     3,     6,     2,     5,     3,     6,
13964        2,     5,     3,     6,     2,     3,     1,     1,     1,     1,
13965        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13966        1,     1,     1,     3,     1,     3,     6,     1,     1,     1,
13967        1,     3,     1,     3,     6,     1,     1,     1,     1,     1,
13968        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13969        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13970        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13971        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13972        1,     1,     1,     3,     1,     2,     5,     1,     1,     1,
13973        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13974        1,     3,     1,     2,     5,     1,     1,     1,     1,     1,
13975        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
13976        1,     2,     5,     1,     1,     1,     1,     1,     1,     1,
13977        1,     1,     1,     1,     1,     1,     1,     3,     1,     2,
13978        5,     3,     6,     1,     1,     1,     1,     3,     1,     2,
13979        5,     1,     1,     1,     1,     1,     1,     1,     1,     3,
13980        1,     2,     5,     1,     1,     1,     1,     1,     1,     1,
13981        3,     1,     2,     5,     1,     1,     1,     1,     1,     1,
13982        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13983        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13984        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
13985        1,     2,     5,     2,     5,     3,     1,     1,     1,     1,
13986        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13987        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13988        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13989        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13990        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
13991        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13992        1,     1,     1,     1,     1,     1,     1,     3,     1,     1,
13993        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13994        1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
13995        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
13996        1,     1,     1,     3,     1,     1,     1,     1,     1,     1,
13997        1,     1,     1,     1,     1,     1,     1,     1,     1,     5,
13998        1,     2,     6,     4,     2,     5,     3,     6,     1,     3,
13999        1,     1,     1,     1,     1,     5,     1,     3,     1,     1,
14000        1,     1,     1,     3,     8,     5,     1,     2,     9,     0,
14001        6,     2,     1,     4,     6,     2,     5,     3,     6,     3,
14002        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
14003        1,     1,     1,     1,     4,     5,     7,     8,     3,     1,
14004        1,     1,     2,     1,     4,     5,     3,     2,     5,     3,
14005        1,     1,     1,     1,     1,     1,     1,     2,     5,     1,
14006        1,     5,     1,     2,     6,     9,     9,     5,     8,     1,
14007        2,     6,     9,     9,     2,     5,     3,     1,     1,     1,
14008        1,     1,     1,     5,    10,     2,     1,     4,     4,     3,
14009        2,     1,     5,    10,     2,     1,     3,     4,     3,     3,
14010        3,     3,     1,     1,     1,     3,     3,     3,     3,     1,
14011        1,     1,     3,     5,     3,     3,     3,     3,     3,     3,
14012        3,     1,     3,     3,     1,     3,     3,     3,     3,     3,
14013        3,     3,     3,     3,     3,     3,     3,     3,     1,     3,
14014        3,     3,     3,     3,     3,     3,     3,     0,     4,     3,
14015        3,     3,     3,     3,     3,     3,     1,     3,     3,     3,
14016        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14017        3,     3,     3,     1,     3,     3,     3,     3,     3,     3,
14018        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14019        3,     3,     3,     1,     1,     1,     1,     1,     1,     3,
14020        3,     3,     3,     3,     3,     3,     1,     1,     1,     1,
14021        3,     3,     3,     3,     5,     3,     5,     3,     5,     1,
14022        1,     1,     1,     1,     1,     1,     3,     5,     3,     3,
14023        3,     3,     3,     3,     3,     3,     3,     1,     5,     5,
14024        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
14025        3,     3,     3,     1,     1,     1,     1,     1,     1,     1,
14026        3,     3,     1,     3,     1,     3,     1,     1,     1,     1,
14027        1,     1,     3,     3,     3,     3,     3,     1,     1,     3,
14028        3,     3,     3,     3,     1,     3,     1,     1,     1,     1,
14029        3,     1,     1,     3,     3,     3,     3,     3,     3,     3,
14030        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14031        3,     1,     1,     1,     1,     1,     1,     3,     3,     3,
14032        3,     3,     3,     3,     3,     3,     3,     3,     3,     1,
14033        1,     3,     3,     1,     1,     1,     1,     3,     3,     3,
14034        3,     3,     1,     3,     3,     1,     1,     3,     3,     3,
14035        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14036        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14037        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14038        3,     3,     3,     3,     5,     5,     5,     3,     3,     5,
14039        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14040        3,     3,     3,     3,     3,     3,     3,     1,     5,     3,
14041        3,     3,     3,     3,     3,     3,     1,     1,     3,     3,
14042        3,     3,     3,     3,     3,     3,     3,     3,     3,     5,
14043        3,     3,     3,     3,     3,     1,     1,     3,     1,     3,
14044        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14045        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14046        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14047        3,     1,     1,     3,     3,     3,     3,     3,     3,     5,
14048        1,     1,     3,     3,     1,     5,     3,     3,     3,     1,
14049        3,     1,     1,     1,     1,     1,     3,     3,     3,     1,
14050        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
14051        3,     3,     3,     3,     3,     3,     3,     3,     3,     1,
14052        3,     1,     3,     3,     3,     1,     3,     1,     1,     1,
14053        3,     3,     3,     3,     1,     3,     1,     3,     3,     3,
14054        1,     3,     1,     3,     3,     3,     3,     3,     1,     1,
14055        3,     3,     1,     1,     1,     3,     5,     3,     3,     5,
14056        1,     1,     3,     3,     1,     3,     3,     3,     3,     3,
14057        1,     1,     3,     3,     3,     3,     1,     1,     3,     3,
14058        3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
14059        1,     1,     3,     3,     3,     1,     1,     1,     1,     3,
14060        3,     3,     1,     1,     1,     1,     1,     3,     3,     3,
14061        3,     3,     3,     3,     3,     3,     3,     3,     3,     6,
14062        1,     1,     3,     2,     3,     2,     3,     2,     3,     2,
14063        3,     2,     3,     2,     3,     2,     3,     2,     3,     2,
14064        3,     3,     1,     3,     1,     2,     2,     2,     1,     1,
14065        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
14066        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
14067        1,     1
14068   };
14069 
14070 
14071 
14072   // YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
14073   // First, the terminals, then, starting at \a yyntokens_, nonterminals.
14074   const char*
14075   const parser::yytname_[] =
14076   {
14077   "$end", "error", "$undefined", "AIM_SOLVER", "ANALYTIC_DERIVATION",
14078   "ANALYTIC_DERIVATION_MODE", "AR", "POSTERIOR_SAMPLING_METHOD",
14079   "BALANCED_GROWTH_TEST_TOL", "BAYESIAN_IRF", "BETA_PDF", "BLOCK",
14080   "USE_CALIBRATION", "SILENT_OPTIMIZER", "BVAR_DENSITY", "BVAR_FORECAST",
14081   "NODECOMPOSITION", "DR_DISPLAY_TOL", "HUGE_NUMBER", "FIG_NAME",
14082   "WRITE_XLS", "BVAR_PRIOR_DECAY", "BVAR_PRIOR_FLAT", "BVAR_PRIOR_LAMBDA",
14083   "INTERACTIVE", "SCREEN_SHOCKS", "STEADYSTATE", "BVAR_PRIOR_MU",
14084   "BVAR_PRIOR_OMEGA", "BVAR_PRIOR_TAU", "BVAR_PRIOR_TRAIN", "DETAIL_PLOT",
14085   "TYPE", "BVAR_REPLIC", "BYTECODE", "ALL_VALUES_REQUIRED",
14086   "PROPOSAL_DISTRIBUTION", "REALTIME", "VINTAGE", "CALIB_SMOOTHER",
14087   "CHANGE_TYPE", "CHECK", "CONDITIONAL_FORECAST",
14088   "CONDITIONAL_FORECAST_PATHS", "CONF_SIG", "CONSTANT",
14089   "CONTROLLED_VAREXO", "CORR", "CUTOFF", "CYCLE_REDUCTION",
14090   "LOGARITHMIC_REDUCTION", "COMMA", "CONSIDER_ALL_ENDOGENOUS",
14091   "CONSIDER_ONLY_OBSERVED", "INITIAL_CONDITION_DECOMPOSITION", "DATAFILE",
14092   "FILE", "SERIES", "DOUBLING", "DR_CYCLE_REDUCTION_TOL",
14093   "DR_LOGARITHMIC_REDUCTION_TOL", "DR_LOGARITHMIC_REDUCTION_MAXITER",
14094   "DR_ALGO", "DROP", "DSAMPLE", "DYNASAVE", "DYNATYPE", "CALIBRATION",
14095   "DIFFERENTIATE_FORWARD_VARS", "END", "ENDVAL", "EQUAL", "ESTIMATION",
14096   "ESTIMATED_PARAMS", "ESTIMATED_PARAMS_BOUNDS", "ESTIMATED_PARAMS_INIT",
14097   "EXTENDED_PATH", "ENDOGENOUS_PRIOR", "EXPRESSION", "FILENAME", "DIRNAME",
14098   "FILTER_STEP_AHEAD", "FILTERED_VARS", "FIRST_OBS", "LAST_OBS",
14099   "SET_TIME", "OSR_PARAMS_BOUNDS",
14100   "KEEP_KALMAN_ALGO_IF_SINGULARITY_IS_DETECTED", "FALSE", "FLOAT_NUMBER",
14101   "DATES", "DEFAULT", "FIXED_POINT", "FLIP", "OPT_ALGO",
14102   "COMPILATION_SETUP", "COMPILER", "ADD_FLAGS", "SUBSTITUTE_FLAGS",
14103   "ADD_LIBS", "SUBSTITUTE_LIBS", "FORECAST", "K_ORDER_SOLVER",
14104   "INSTRUMENTS", "SHIFT", "MEAN", "STDEV", "VARIANCE", "MODE", "INTERVAL",
14105   "SHAPE", "DOMAINN", "GAMMA_PDF", "GRAPH", "GRAPH_FORMAT",
14106   "CONDITIONAL_VARIANCE_DECOMPOSITION", "NOCHECK", "STD", "HISTVAL",
14107   "HISTVAL_FILE", "HOMOTOPY_SETUP", "HOMOTOPY_MODE", "HOMOTOPY_STEPS",
14108   "HOMOTOPY_FORCE_CONTINUE", "HP_FILTER", "HP_NGRID",
14109   "FILTERED_THEORETICAL_MOMENTS_GRID", "HYBRID", "ONE_SIDED_HP_FILTER",
14110   "IDENTIFICATION", "INF_CONSTANT", "INITVAL", "INITVAL_FILE", "BOUNDS",
14111   "JSCALE", "INIT", "INFILE", "INVARS", "INT_NUMBER", "INV_GAMMA_PDF",
14112   "INV_GAMMA1_PDF", "INV_GAMMA2_PDF", "IRF", "IRF_SHOCKS",
14113   "IRF_PLOT_THRESHOLD", "IRF_CALIBRATION", "FAST_KALMAN_FILTER",
14114   "KALMAN_ALGO", "KALMAN_TOL", "DIFFUSE_KALMAN_TOL", "SUBSAMPLES",
14115   "OPTIONS", "TOLF", "TOLX", "PLOT_INIT_DATE", "PLOT_END_DATE", "LAPLACE",
14116   "LIK_ALGO", "LIK_INIT", "LINEAR", "LINEAR_DECOMPOSITION",
14117   "LOAD_IDENT_FILES", "LOAD_MH_FILE", "LOAD_RESULTS_AFTER_LOAD_MH",
14118   "LOAD_PARAMS_AND_STEADY_STATE", "LOGLINEAR", "LOGDATA", "LYAPUNOV",
14119   "LINEAR_APPROXIMATION", "LYAPUNOV_FIXED_POINT_TOL",
14120   "LYAPUNOV_DOUBLING_TOL", "LOG_DEFLATOR", "LOG_TREND_VAR",
14121   "LOG_GROWTH_FACTOR", "MARKOWITZ", "MARGINAL_DENSITY", "MAX", "MAXIT",
14122   "MFS", "MH_CONF_SIG", "MH_DROP", "MH_INIT_SCALE", "MH_JSCALE",
14123   "MH_TUNE_JSCALE", "MH_MODE", "MH_NBLOCKS", "MH_REPLIC", "MH_RECOVER",
14124   "POSTERIOR_MAX_SUBSAMPLE_DRAWS", "MIN", "MINIMAL_SOLVING_PERIODS",
14125   "MODE_CHECK", "MODE_CHECK_NEIGHBOURHOOD_SIZE",
14126   "MODE_CHECK_SYMMETRIC_PLOTS", "MODE_CHECK_NUMBER_OF_POINTS",
14127   "MODE_COMPUTE", "MODE_FILE", "MODEL", "MODEL_COMPARISON", "MODEL_INFO",
14128   "MSHOCKS", "ABS", "SIGN", "MODEL_DIAGNOSTICS", "MODIFIEDHARMONICMEAN",
14129   "MOMENTS_VARENDO", "CONTEMPORANEOUS_CORRELATION", "DIFFUSE_FILTER",
14130   "SUB_DRAWS", "TAPER_STEPS", "GEWEKE_INTERVAL", "RAFTERY_LEWIS_QRS",
14131   "RAFTERY_LEWIS_DIAGNOSTICS", "MCMC_JUMPING_COVARIANCE",
14132   "MOMENT_CALIBRATION", "NUMBER_OF_PARTICLES", "RESAMPLING", "SYSTEMATIC",
14133   "GENERIC", "RESAMPLING_THRESHOLD", "RESAMPLING_METHOD", "KITAGAWA",
14134   "STRATIFIED", "SMOOTH", "CPF_WEIGHTS", "AMISANOTRISTANI",
14135   "MURRAYJONESPARSLOW", "WRITE_EQUATION_TAGS",
14136   "NONLINEAR_FILTER_INITIALIZATION", "FILTER_ALGORITHM",
14137   "PROPOSAL_APPROXIMATION", "CUBATURE", "UNSCENTED", "MONTECARLO",
14138   "DISTRIBUTION_APPROXIMATION", "NAME",
14139   "USE_PENALIZED_OBJECTIVE_FOR_HESSIAN", "INIT_STATE", "FAST_REALTIME",
14140   "RESCALE_PREDICTION_ERROR_COVARIANCE", "GENERATE_IRFS", "NAN_CONSTANT",
14141   "NO_STATIC", "NOBS", "NOCONSTANT", "NODISPLAY", "NOCORR", "NODIAGNOSTIC",
14142   "NOFUNCTIONS", "NO_HOMOTOPY", "NOGRAPH", "POSTERIOR_NOGRAPH",
14143   "POSTERIOR_GRAPH", "NOMOMENTS", "NOPRINT", "NORMAL_PDF", "SAVE_DRAWS",
14144   "MODEL_NAME", "STDERR_MULTIPLES", "DIAGONAL_ONLY", "OBSERVATION_TRENDS",
14145   "OPTIM", "OPTIM_WEIGHTS", "ORDER", "OSR", "OSR_PARAMS",
14146   "MAX_DIM_COVA_GROUP", "ADVANCED", "OUTFILE", "OUTVARS", "OVERWRITE",
14147   "DISCOUNT", "PARALLEL_LOCAL_FILES", "PARAMETERS", "PARAMETER_SET",
14148   "PARTIAL_INFORMATION", "PERIODS", "PERIOD", "PLANNER_OBJECTIVE",
14149   "PLOT_CONDITIONAL_FORECAST", "PLOT_PRIORS", "PREFILTER", "PRESAMPLE",
14150   "PERFECT_FORESIGHT_SETUP", "PERFECT_FORESIGHT_SOLVER",
14151   "NO_POSTERIOR_KERNEL_DENSITY", "FUNCTION", "PRINT", "PRIOR_MC",
14152   "PRIOR_TRUNC", "PRIOR_MODE", "PRIOR_MEAN", "POSTERIOR_MODE",
14153   "POSTERIOR_MEAN", "POSTERIOR_MEDIAN", "MLE_MODE", "PRUNING",
14154   "QUOTED_STRING", "QZ_CRITERIUM", "QZ_ZERO_THRESHOLD", "DSGE_VAR",
14155   "DSGE_VARLAG", "DSGE_PRIOR_WEIGHT", "TRUNCATE", "PIPE_E", "PIPE_X",
14156   "PIPE_P", "RELATIVE_IRF", "REPLIC", "SIMUL_REPLIC", "RPLOT",
14157   "SAVE_PARAMS_AND_STEADY_STATE", "PARAMETER_UNCERTAINTY", "TARGETS",
14158   "SHOCKS", "SHOCK_DECOMPOSITION", "SHOCK_GROUPS", "USE_SHOCK_GROUPS",
14159   "SIGMA_E", "SIMUL", "SIMUL_ALGO", "SIMUL_SEED",
14160   "ENDOGENOUS_TERMINAL_PERIOD", "SMOOTHER", "SMOOTHER2HISTVAL",
14161   "SQUARE_ROOT_SOLVER", "STACK_SOLVE_ALGO", "STEADY_STATE_MODEL",
14162   "SOLVE_ALGO", "SOLVER_PERIODS", "ROBUST_LIN_SOLVE", "STDERR", "STEADY",
14163   "STOCH_SIMUL", "SYLVESTER", "SYLVESTER_FIXED_POINT_TOL", "REGIMES",
14164   "REGIME", "REALTIME_SHOCK_DECOMPOSITION", "CONDITIONAL", "UNCONDITIONAL",
14165   "TEX", "RAMSEY_MODEL", "RAMSEY_POLICY", "RAMSEY_CONSTRAINTS",
14166   "PLANNER_DISCOUNT", "PLANNER_DISCOUNT_LATEX_NAME",
14167   "DISCRETIONARY_POLICY", "DISCRETIONARY_TOL",
14168   "EVALUATE_PLANNER_OBJECTIVE", "TEX_NAME", "TRUE", "UNIFORM_PDF",
14169   "UNIT_ROOT_VARS", "USE_DLL", "USEAUTOCORR", "GSA_SAMPLE_FILE",
14170   "USE_UNIVARIATE_FILTERS_IF_SINGULARITY_IS_DETECTED", "VALUES", "VAR",
14171   "VAREXO", "VAREXO_DET", "VARIABLE", "VAROBS", "VAREXOBS",
14172   "PREDETERMINED_VARIABLES", "VAR_EXPECTATION", "VAR_EXPECTATION_MODEL",
14173   "PLOT_SHOCK_DECOMPOSITION", "MODEL_LOCAL_VARIABLE",
14174   "WRITE_LATEX_DYNAMIC_MODEL", "WRITE_LATEX_STATIC_MODEL",
14175   "WRITE_LATEX_ORIGINAL_MODEL", "CROSSEQUATIONS", "COVARIANCE",
14176   "WRITE_LATEX_STEADY_STATE_MODEL", "XLS_SHEET", "XLS_RANGE", "LMMCP",
14177   "OCCBIN", "BANDPASS_FILTER", "COLORMAP", "VAR_MODEL", "PAC_MODEL", "QOQ",
14178   "YOY", "AOA", "PAC_EXPECTATION", "TREND_COMPONENT_MODEL", "EQUAL_EQUAL",
14179   "EXCLAMATION_EQUAL", "LESS", "GREATER", "LESS_EQUAL", "GREATER_EQUAL",
14180   "PLUS", "MINUS", "TIMES", "DIVIDE", "UNARY", "POWER", "EXP", "LOG", "LN",
14181   "LOG10", "SIN", "COS", "TAN", "ASIN", "ACOS", "ATAN", "ERF", "DIFF",
14182   "ADL", "AUXILIARY_MODEL_NAME", "SQRT", "CBRT", "NORMCDF", "NORMPDF",
14183   "STEADY_STATE", "EXPECTATION", "VAR_ESTIMATION", "DYNARE_SENSITIVITY",
14184   "MORRIS", "STAB", "REDFORM", "PPRIOR", "PRIOR_RANGE", "PPOST", "ILPTAU",
14185   "MORRIS_NLIV", "MORRIS_NTRA", "NSAM", "LOAD_REDFORM", "LOAD_RMSE",
14186   "LOAD_STAB", "ALPHA2_STAB", "LOGTRANS_REDFORM", "THRESHOLD_REDFORM",
14187   "KSSTAT_REDFORM", "ALPHA2_REDFORM", "NAMENDO", "NAMLAGENDO", "NAMEXO",
14188   "RMSE", "LIK_ONLY", "VAR_RMSE", "PFILT_RMSE", "ISTART_RMSE",
14189   "ALPHA_RMSE", "ALPHA2_RMSE", "FREQ", "INITIAL_YEAR", "INITIAL_SUBPERIOD",
14190   "FINAL_YEAR", "FINAL_SUBPERIOD", "DATA", "VLIST", "VLISTLOG", "VLISTPER",
14191   "SPECTRAL_DENSITY", "INIT2SHOCKS", "RESTRICTION", "RESTRICTION_FNAME",
14192   "CROSS_RESTRICTIONS", "NLAGS", "CONTEMP_REDUCED_FORM",
14193   "REAL_PSEUDO_FORECAST", "DUMMY_OBS", "NSTATES", "INDXSCALESSTATES",
14194   "NO_BAYESIAN_PRIOR", "SPECIFICATION", "SIMS_ZHA", "ALPHA", "BETA",
14195   "ABAND", "NINV", "CMS", "NCMS", "CNUM", "GAMMA", "INV_GAMMA",
14196   "INV_GAMMA1", "INV_GAMMA2", "NORMAL", "UNIFORM", "EPS", "PDF", "FIG",
14197   "DR", "NONE", "PRIOR", "PRIOR_VARIANCE", "HESSIAN", "IDENTITY_MATRIX",
14198   "DIRICHLET", "DIAGONAL", "OPTIMAL", "GSIG2_LMDM", "Q_DIAG", "FLAT_PRIOR",
14199   "NCSK", "NSTD", "WEIBULL", "WEIBULL_PDF", "INDXPARR", "INDXOVR",
14200   "INDXAP", "APBAND", "INDXIMF", "INDXFORE", "FOREBAND", "INDXGFOREHAT",
14201   "INDXGIMFHAT", "INDXESTIMA", "INDXGDLS", "EQ_MS", "FILTER_COVARIANCE",
14202   "FILTER_DECOMPOSITION", "SMOOTHED_STATE_UNCERTAINTY", "EQ_CMS", "TLINDX",
14203   "TLNUMBER", "RESTRICTIONS", "POSTERIOR_SAMPLER_OPTIONS",
14204   "OUTPUT_FILE_TAG", "HORIZON", "SBVAR", "TREND_VAR", "DEFLATOR",
14205   "GROWTH_FACTOR", "MS_IRF", "MS_VARIANCE_DECOMPOSITION", "GROWTH",
14206   "MS_ESTIMATION", "MS_SIMULATION", "MS_COMPUTE_MDD",
14207   "MS_COMPUTE_PROBABILITIES", "MS_FORECAST", "SVAR_IDENTIFICATION",
14208   "EQUATION", "EXCLUSION", "LAG", "UPPER_CHOLESKY", "LOWER_CHOLESKY",
14209   "MONTHLY", "QUARTERLY", "MARKOV_SWITCHING", "CHAIN", "DURATION",
14210   "NUMBER_OF_REGIMES", "NUMBER_OF_LAGS", "EPILOGUE", "SVAR",
14211   "SVAR_GLOBAL_IDENTIFICATION_CHECK", "COEFF", "COEFFICIENTS", "VARIANCES",
14212   "CONSTANTS", "EQUATIONS", "EXTERNAL_FUNCTION", "EXT_FUNC_NAME",
14213   "EXT_FUNC_NARGS", "FIRST_DERIV_PROVIDED", "SECOND_DERIV_PROVIDED",
14214   "SELECTED_VARIABLES_ONLY", "COVA_COMPUTE", "SIMULATION_FILE_TAG",
14215   "FILE_TAG", "NO_ERROR_BANDS", "ERROR_BAND_PERCENTILES",
14216   "SHOCKS_PER_PARAMETER", "NO_CREATE_INIT", "SHOCK_DRAWS",
14217   "FREE_PARAMETERS", "MEDIAN", "DATA_OBS_NBR", "NEIGHBORHOOD_WIDTH",
14218   "PVALUE_KS", "PVALUE_CORR", "FILTERED_PROBABILITIES",
14219   "REAL_TIME_SMOOTHED", "PRIOR_FUNCTION", "POSTERIOR_FUNCTION",
14220   "SAMPLING_DRAWS", "PROPOSAL_TYPE", "PROPOSAL_UPPER_BOUND",
14221   "PROPOSAL_LOWER_BOUND", "PROPOSAL_DRAWS", "USE_MEAN_CENTER",
14222   "ADAPTIVE_MH_DRAWS", "THINNING_FACTOR",
14223   "COEFFICIENTS_PRIOR_HYPERPARAMETERS", "SMM_ESTIMATION", "GMM_ESTIMATION",
14224   "CONVERGENCE_STARTING_VALUE", "CONVERGENCE_ENDING_VALUE",
14225   "CONVERGENCE_INCREMENT_VALUE", "MAX_ITERATIONS_STARTING_VALUE",
14226   "MAX_ITERATIONS_INCREMENT_VALUE", "MAX_BLOCK_ITERATIONS",
14227   "MAX_REPEATED_OPTIMIZATION_RUNS", "FUNCTION_CONVERGENCE_CRITERION",
14228   "SAVE_REALTIME", "PARAMETER_CONVERGENCE_CRITERION",
14229   "NUMBER_OF_LARGE_PERTURBATIONS", "NUMBER_OF_SMALL_PERTURBATIONS",
14230   "NUMBER_OF_POSTERIOR_DRAWS_AFTER_PERTURBATION", "MAX_NUMBER_OF_STAGES",
14231   "RANDOM_FUNCTION_CONVERGENCE_CRITERION",
14232   "RANDOM_PARAMETER_CONVERGENCE_CRITERION", "CENTERED_MOMENTS", "AUTOLAG",
14233   "RECURSIVE_ORDER_ESTIMATION", "BARTLETT_KERNEL_LAG", "WEIGHTING_MATRIX",
14234   "PENALIZED_ESTIMATOR", "VERBOSE", "SIMULATION_MULTIPLE", "SEED",
14235   "BOUNDED_SHOCK_SUPPORT", "EQTAGS", "STEADY_STATE_GROWTH",
14236   "ANALYTICAL_GIRF", "IRF_IN_PERCENT", "EMAS_GIRF", "EMAS_DROP",
14237   "EMAS_TOLF", "EMAS_MAX_ITER", "NO_IDENTIFICATION_STRENGTH",
14238   "NO_IDENTIFICATION_REDUCEDFORM", "NO_IDENTIFICATION_MOMENTS",
14239   "NO_IDENTIFICATION_MINIMAL", "NO_IDENTIFICATION_SPECTRUM",
14240   "NORMALIZE_JACOBIANS", "GRID_NBR", "TOL_RANK", "TOL_DERIV", "TOL_SV",
14241   "CHECKS_VIA_SUBSETS", "MAX_DIM_SUBSETS_GROUPS", "MAX_NROWS",
14242   "SQUEEZE_SHOCK_DECOMPOSITION", "WITH_EPILOGUE", "SYMBOL_VEC", "';'",
14243   "'('", "')'", "'['", "']'", "'#'", "':'", "'.'", "$accept",
14244   "statement_list", "statement", "dsample", "rplot", "trend_var", "$@1",
14245   "trend_var_list", "log_trend_var", "$@2", "log_trend_var_list", "var",
14246   "$@3", "$@4", "var_model", "var_symbol_list", "var_model_options_list",
14247   "var_model_options", "trend_component_model",
14248   "trend_component_model_options_list", "trend_component_model_options",
14249   "pac_model", "$@5", "pac_model_options_list", "pac_model_options",
14250   "var_expectation_model", "var_expectation_model_options_list",
14251   "var_expectation_model_option", "$@6", "restrictions", "$@7",
14252   "restrictions_list", "restriction", "restriction_equation_equality",
14253   "restriction_equation_equality_side", "coeff_def",
14254   "restriction_crossequation_equality",
14255   "restriction_crossequation_equality_side", "coeff_def1",
14256   "restriction_exclusion_equation_list", "restriction_exclusion_equation",
14257   "var_estimation", "var_estimation_options_list",
14258   "var_estimation_options", "nonstationary_var_list", "varexo",
14259   "varexo_det", "predetermined_variables", "parameters",
14260   "model_local_variable", "named_var_elem", "named_var_1", "named_var",
14261   "var_list", "varexo_list", "varexo_det_list", "parameter_list",
14262   "predetermined_variables_list", "model_local_variable_list",
14263   "change_type", "change_type_arg", "change_type_var_list", "periods",
14264   "init_param", "expression", "$@8", "comma_expression",
14265   "expression_or_empty", "initval", "initval_file", "endval",
14266   "initval_list", "initval_elem", "histval", "histval_list",
14267   "histval_elem", "histval_file", "epilogue", "$@9",
14268   "epilogue_equation_list", "epilogue_equation", "$@10",
14269   "compilation_setup", "compilation_setup_options_list",
14270   "compilation_setup_option", "model_options", "model_options_list",
14271   "model", "$@11", "$@12", "equation_list", "equation", "tags_list",
14272   "tag_pair", "hand_side", "$@13", "comma_hand_side", "pound_expression",
14273   "shocks", "shock_list", "shock_elem", "det_shock_elem",
14274   "svar_identification", "$@14", "svar_identification_list",
14275   "svar_identification_elem", "$@15", "$@16", "svar_equation_list",
14276   "svar_var_list", "restriction_expression", "restriction_expression_1",
14277   "restriction_elem_expression", "svar_global_identification_check",
14278   "markov_switching", "ms_options_list", "ms_options", "svar",
14279   "svar_options_list", "svar_options", "mshocks", "mshock_list",
14280   "period_list", "sigma_e", "value_list", "triangular_matrix",
14281   "triangular_row", "steady", "steady_options_list", "steady_options",
14282   "check", "check_options_list", "check_options", "model_info",
14283   "model_info_options_list", "model_info_options",
14284   "perfect_foresight_setup", "perfect_foresight_setup_options_list",
14285   "perfect_foresight_setup_options", "perfect_foresight_solver",
14286   "perfect_foresight_solver_options_list",
14287   "perfect_foresight_solver_options", "gmm_smm_common_option",
14288   "gmm_estimation", "gmm_estimation_options_list", "gmm_estimation_option",
14289   "smm_estimation", "smm_estimation_options_list", "smm_estimation_option",
14290   "prior_function", "posterior_function",
14291   "prior_posterior_function_options_list",
14292   "prior_posterior_function_options", "simul", "simul_options_list",
14293   "simul_options", "external_function", "external_function_options_list",
14294   "external_function_options", "stoch_simul", "stoch_simul_options_list",
14295   "stoch_simul_primary_options", "stoch_simul_options", "symbol_list",
14296   "symbol_list_ext", "signed_integer", "non_negative_number",
14297   "signed_number", "signed_inf", "signed_number_w_inf", "boolean",
14298   "estimated_params", "estimated_list", "estimated_elem",
14299   "estimated_elem1", "estimated_elem2", "estimated_elem3",
14300   "estimated_params_init", "estimated_init_list", "estimated_init_elem",
14301   "estimated_params_bounds", "estimated_bounds_list",
14302   "estimated_bounds_elem", "osr_params_bounds", "osr_bounds_list",
14303   "osr_bounds_elem", "prior_distribution", "prior_pdf", "date_str",
14304   "date_expr", "set_time", "data", "data_options_list", "data_options",
14305   "subsamples", "subsamples_eq", "subsamples_eq_opt",
14306   "subsamples_name_list", "prior", "$@17", "$@18", "$@19", "$@20", "$@21",
14307   "$@22", "$@23", "prior_options_list", "prior_options",
14308   "joint_prior_options_list", "joint_prior_options", "prior_eq",
14309   "prior_eq_opt", "options", "options_options_list", "options_options",
14310   "options_eq", "options_eq_opt", "estimation", "estimation_options_list",
14311   "estimation_options", "list_optim_option", "optim_options",
14312   "list_sub_sampling_option", "sub_sampling_options",
14313   "list_sampling_option", "sampling_options", "varobs", "$@24",
14314   "varobs_list", "varexobs", "$@25", "varexobs_list", "observation_trends",
14315   "trend_list", "trend_element", "unit_root_vars", "optim_weights",
14316   "optim_weights_list", "osr_params", "osr_options_list", "osr_options",
14317   "osr", "dynatype", "dynasave", "load_params_and_steady_state",
14318   "save_params_and_steady_state", "identification",
14319   "identification_options_list", "identification_option",
14320   "model_comparison", "filename", "namespace_qualified_symbol",
14321   "namespace_qualified_filename", "parallel_local_filename_list",
14322   "mc_filename_list", "planner_objective", "$@26", "$@27", "ramsey_model",
14323   "ramsey_policy", "ramsey_constraints", "ramsey_constraints_list",
14324   "ramsey_constraint", "evaluate_planner_objective",
14325   "discretionary_policy", "discretionary_policy_options_list",
14326   "discretionary_policy_options", "ramsey_model_options_list",
14327   "ramsey_model_options", "ramsey_policy_options_list",
14328   "ramsey_policy_options", "write_latex_dynamic_model",
14329   "write_latex_static_model", "write_latex_original_model",
14330   "write_latex_steady_state_model", "shock_decomposition",
14331   "realtime_shock_decomposition", "plot_shock_decomposition",
14332   "initial_condition_decomposition", "squeeze_shock_decomposition",
14333   "bvar_prior_option", "bvar_common_option", "bvar_density_options_list",
14334   "bvar_density", "bvar_forecast_option", "bvar_forecast_options_list",
14335   "bvar_forecast", "sbvar_option", "sbvar_options_list", "sbvar",
14336   "ms_variance_decomposition_option",
14337   "ms_variance_decomposition_options_list", "ms_variance_decomposition",
14338   "ms_forecast_option", "ms_forecast_options_list", "ms_forecast",
14339   "ms_irf_option", "ms_irf_options_list", "ms_irf",
14340   "ms_compute_probabilities_option",
14341   "ms_compute_probabilities_options_list", "ms_compute_probabilities",
14342   "ms_compute_mdd_option", "ms_compute_mdd_options_list", "ms_compute_mdd",
14343   "ms_simulation_option", "ms_simulation_options_list", "ms_simulation",
14344   "ms_estimation_option", "ms_estimation_options_list", "ms_estimation",
14345   "dynare_sensitivity", "dynare_sensitivity_options_list",
14346   "dynare_sensitivity_option", "shock_decomposition_options_list",
14347   "shock_decomposition_option",
14348   "realtime_shock_decomposition_options_list",
14349   "realtime_shock_decomposition_option",
14350   "plot_shock_decomposition_options_list",
14351   "plot_shock_decomposition_option",
14352   "initial_condition_decomposition_options_list",
14353   "initial_condition_decomposition_option", "homotopy_setup",
14354   "homotopy_list", "homotopy_item", "forecast", "forecast_options",
14355   "forecast_option", "conditional_forecast",
14356   "conditional_forecast_options", "conditional_forecast_option",
14357   "plot_conditional_forecast", "conditional_forecast_paths",
14358   "conditional_forecast_paths_shock_list",
14359   "conditional_forecast_paths_shock_elem", "steady_state_model", "$@28",
14360   "steady_state_equation_list", "steady_state_equation", "calib_smoother",
14361   "calib_smoother_options_list", "calib_smoother_option", "generate_irfs",
14362   "generate_irfs_options_list", "generate_irfs_option",
14363   "generate_irfs_element_list", "generate_irfs_element",
14364   "generate_irfs_exog_element_list", "extended_path",
14365   "extended_path_options_list", "extended_path_option",
14366   "model_diagnostics", "calibration_range", "moment_calibration",
14367   "moment_calibration_list", "moment_calibration_item", "irf_calibration",
14368   "irf_calibration_list", "irf_calibration_item", "smoother2histval",
14369   "smoother2histval_options_list", "smoother2histval_option",
14370   "shock_groups", "shock_group_list", "shock_group_element",
14371   "shock_name_list", "init2shocks", "init2shocks_list",
14372   "init2shocks_element", "o_dr_algo", "o_solve_algo", "o_simul_algo",
14373   "o_stack_solve_algo", "o_robust_lin_solve",
14374   "o_endogenous_terminal_period", "o_linear", "o_order", "o_replic",
14375   "o_drop", "o_ar", "o_nocorr", "o_nofunctions", "o_nomoments", "o_irf",
14376   "o_irf_shocks", "o_hp_filter", "o_hp_ngrid",
14377   "o_filtered_theoretical_moments_grid", "o_one_sided_hp_filter",
14378   "o_periods", "o_solver_periods", "o_extended_path_order", "o_hybrid",
14379   "o_steady_maxit", "o_simul_maxit", "o_bandpass_filter", "o_dp_maxit",
14380   "o_osr_maxit", "o_osr_tolf", "o_pf_tolf", "o_pf_tolx", "o_steady_tolf",
14381   "o_opt_algo", "o_cutoff", "o_markowitz", "o_minimal_solving_periods",
14382   "o_mfs", "o_simul", "o_simul_replic", "o_simul_seed", "o_qz_criterium",
14383   "o_qz_zero_threshold", "o_file", "o_pac_name", "o_pac_aux_model_name",
14384   "o_pac_discount", "o_pac_growth", "$@29", "o_pac_steady_state_growth",
14385   "o_var_name", "o_var_order", "o_series", "o_datafile", "o_var_datafile",
14386   "o_var_model_name", "o_var_eq_tags", "o_dirname", "o_huge_number",
14387   "o_nobs", "o_trend_component_model_name",
14388   "o_trend_component_model_targets", "o_trend_component_model_eq_tags",
14389   "o_conditional_variance_decomposition", "o_est_first_obs",
14390   "o_posterior_sampling_method", "o_first_obs", "o_data_first_obs",
14391   "o_data_last_obs", "o_keep_kalman_algo_if_singularity_is_detected",
14392   "o_data_nobs", "o_shift", "o_shape", "o_mode", "o_mean", "o_mean_vec",
14393   "o_truncate", "o_stdev", "o_jscale", "o_init", "o_bounds", "o_domain",
14394   "o_interval", "o_variance", "o_variance_mat", "o_prefilter",
14395   "o_presample", "o_lik_algo", "o_lik_init", "o_nograph",
14396   "o_posterior_nograph", "o_psd_nograph", "o_shock_decomposition_nograph",
14397   "o_init_state", "o_forecast_type", "o_shock_decomposition_presample",
14398   "o_shock_decomposition_forecast", "o_save_realtime", "o_fast_realtime",
14399   "o_nodisplay", "o_icd_nodisplay", "o_psd_nodisplay", "o_psd_init2shocks",
14400   "o_icd_max_nrows", "o_psd_max_nrows", "o_graph_format",
14401   "o_icd_graph_format", "o_psd_graph_format",
14402   "o_shock_decomposition_with_epilogue", "o_icd_with_epilogue",
14403   "allowed_graph_formats", "list_allowed_graph_formats",
14404   "o_subsample_name", "o_bvar_conf_sig", "o_forecasts_conf_sig",
14405   "o_conditional_forecast_conf_sig", "o_mh_conf_sig", "o_mh_replic",
14406   "o_posterior_max_subsample_draws", "o_mh_drop", "o_mh_jscale",
14407   "o_mh_tune_jscale", "o_optim", "o_posterior_sampler_options",
14408   "o_proposal_distribution", "o_no_posterior_kernel_density",
14409   "o_mh_init_scale", "o_mode_file", "o_mode_compute", "o_mode_check",
14410   "o_mode_check_neighbourhood_size", "o_mode_check_number_of_points",
14411   "o_mode_check_symmetric_plots", "o_prior_trunc", "o_mh_mode",
14412   "o_mh_nblocks", "o_load_mh_file", "o_load_results_after_load_mh",
14413   "o_loglinear", "o_linear_approximation", "o_logdata", "o_nodiagnostic",
14414   "o_bayesian_irf", "o_dsge_var", "o_dsge_varlag", "o_tex", "o_forecast",
14415   "o_smoother", "o_moments_varendo", "o_contemporaneous_correlation",
14416   "o_filtered_vars", "o_relative_irf", "o_fast_kalman_filter",
14417   "o_kalman_algo", "o_kalman_tol", "o_diffuse_kalman_tol",
14418   "o_marginal_density", "o_print", "o_noprint", "o_xls_sheet",
14419   "o_xls_range", "o_filter_step_ahead", "o_taper_steps",
14420   "o_geweke_interval", "o_raftery_lewis_diagnostics",
14421   "o_raftery_lewis_qrs", "o_constant", "o_noconstant", "o_mh_recover",
14422   "o_diffuse_filter", "o_plot_priors", "o_aim_solver",
14423   "o_partial_information", "o_sub_draws", "o_planner_discount",
14424   "o_planner_discount_latex_name", "o_sylvester",
14425   "o_sylvester_fixed_point_tol", "o_lyapunov",
14426   "o_lyapunov_fixed_point_tol", "o_lyapunov_doubling_tol", "o_dr",
14427   "o_dr_cycle_reduction_tol", "o_dr_logarithmic_reduction_tol",
14428   "o_dr_logarithmic_reduction_maxiter", "o_psd_detail_plot",
14429   "o_icd_detail_plot", "o_psd_interactive", "o_psd_screen_shocks",
14430   "o_psd_steadystate", "o_icd_steadystate", "o_icd_fig_name",
14431   "o_psd_fig_name", "o_psd_type", "o_icd_type", "o_icd_plot_init_date",
14432   "o_icd_plot_end_date", "o_psd_plot_init_date", "o_psd_plot_end_date",
14433   "o_icd_write_xls", "o_psd_write_xls", "o_psd_realtime", "o_psd_vintage",
14434   "o_psd_diff", "o_icd_diff", "o_psd_flip", "o_icd_flip",
14435   "o_bvar_prior_tau", "o_bvar_prior_decay", "o_bvar_prior_lambda",
14436   "o_bvar_prior_mu", "o_bvar_prior_omega", "o_bvar_prior_flat",
14437   "o_bvar_prior_train", "o_bvar_replic", "o_stderr_multiples",
14438   "o_diagonal_only", "o_number_of_particles", "o_resampling",
14439   "o_resampling_threshold", "o_resampling_method", "o_cpf_weights",
14440   "o_filter_algorithm", "o_nonlinear_filter_initialization",
14441   "o_proposal_approximation", "o_distribution_approximation",
14442   "o_gsa_identification", "o_gsa_morris", "o_gsa_stab", "o_gsa_redform",
14443   "o_gsa_pprior", "o_gsa_prior_range", "o_gsa_ppost", "o_gsa_ilptau",
14444   "o_gsa_morris_nliv", "o_gsa_morris_ntra", "o_gsa_nsam",
14445   "o_gsa_load_redform", "o_gsa_load_rmse", "o_gsa_load_stab",
14446   "o_gsa_alpha2_stab", "o_gsa_logtrans_redform", "o_gsa_threshold_redform",
14447   "o_gsa_ksstat_redform", "o_gsa_alpha2_redform", "o_gsa_namendo",
14448   "o_gsa_namlagendo", "o_gsa_namexo", "o_gsa_rmse", "o_gsa_lik_only",
14449   "o_gsa_var_rmse", "o_gsa_pfilt_rmse", "o_gsa_istart_rmse",
14450   "o_gsa_alpha_rmse", "o_gsa_alpha2_rmse", "o_gsa_sample_file",
14451   "o_gsa_neighborhood_width", "o_gsa_pvalue_ks", "o_gsa_pvalue_corr",
14452   "o_load_ident_files", "o_useautocorr", "o_prior_mc", "o_advanced",
14453   "o_max_dim_cova_group", "o_homotopy_mode", "o_homotopy_steps",
14454   "o_homotopy_force_continue", "o_nocheck", "o_controlled_varexo",
14455   "o_parameter_set", "o_nodecomposition", "o_spectral_density",
14456   "o_ms_drop", "o_ms_mh_replic", "o_freq", "o_initial_year",
14457   "o_initial_subperiod", "o_final_year", "o_final_subperiod", "o_data",
14458   "o_vlist", "o_vlistlog", "o_vlistper", "o_restriction_fname", "o_nlags",
14459   "o_cross_restrictions", "o_contemp_reduced_form",
14460   "o_real_pseudo_forecast", "o_no_bayesian_prior", "o_dummy_obs",
14461   "o_nstates", "o_indxscalesstates", "o_alpha", "o_beta", "o_gsig2_lmdm",
14462   "o_specification", "o_q_diag", "o_flat_prior", "o_ncsk", "o_nstd",
14463   "o_ninv", "o_indxparr", "o_indxovr", "o_aband", "o_indxap", "o_apband",
14464   "o_indximf", "o_indxfore", "o_foreband", "o_indxgforhat",
14465   "o_indxgimfhat", "o_indxestima", "o_indxgdls", "o_eq_ms", "o_cms",
14466   "o_ncms", "o_eq_cms", "o_tlindx", "o_tlnumber", "o_cnum",
14467   "o_k_order_solver", "o_pruning", "o_chain", "o_restrictions",
14468   "o_duration", "o_number_of_regimes", "o_number_of_lags", "o_parameters",
14469   "o_coefficients", "o_variances", "o_equations", "o_silent_optimizer",
14470   "o_instruments", "o_ext_func_name", "o_ext_func_nargs",
14471   "o_first_deriv_provided", "o_second_deriv_provided",
14472   "o_filter_covariance", "o_filter_decomposition",
14473   "o_smoothed_state_uncertainty", "o_selected_variables_only",
14474   "o_cova_compute", "o_output_file_tag", "o_file_tag", "o_no_create_init",
14475   "o_simulation_file_tag", "o_coefficients_prior_hyperparameters",
14476   "o_convergence_starting_value", "o_convergence_ending_value",
14477   "o_convergence_increment_value", "o_max_iterations_starting_value",
14478   "o_max_iterations_increment_value", "o_max_block_iterations",
14479   "o_max_repeated_optimization_runs", "o_function_convergence_criterion",
14480   "o_parameter_convergence_criterion", "o_number_of_large_perturbations",
14481   "o_number_of_small_perturbations",
14482   "o_number_of_posterior_draws_after_perturbation",
14483   "o_max_number_of_stages", "o_random_function_convergence_criterion",
14484   "o_random_parameter_convergence_criterion", "o_thinning_factor",
14485   "o_adaptive_mh_draws", "o_save_draws", "o_proposal_draws",
14486   "o_use_mean_center", "o_proposal_type", "o_proposal_lower_bound",
14487   "o_proposal_upper_bound", "o_parameter_uncertainty", "o_horizon",
14488   "o_filtered_probabilities", "o_real_time_smoothed", "o_no_error_bands",
14489   "o_error_band_percentiles", "o_shock_draws", "o_shocks_per_parameter",
14490   "o_free_parameters", "o_median", "o_regimes", "o_regime",
14491   "o_data_obs_nbr", "o_discretionary_tol", "o_analytic_derivation",
14492   "o_analytic_derivation_mode", "o_endogenous_prior",
14493   "o_use_univariate_filters_if_singularity_is_detected",
14494   "o_mcmc_jumping_covariance", "o_rescale_prediction_error_covariance",
14495   "o_use_penalized_objective_for_hessian", "o_irf_plot_threshold",
14496   "o_dr_display_tol", "o_consider_all_endogenous",
14497   "o_consider_only_observed", "o_no_homotopy", "o_infile", "o_invars",
14498   "o_period", "o_outfile", "o_outvars", "o_lmmcp", "o_occbin",
14499   "o_function", "o_sampling_draws", "o_use_shock_groups", "o_colormap",
14500   "o_icd_colormap", "o_gmm_order", "o_smm_order", "o_gmm_centered_moments",
14501   "o_smm_centered_moments", "o_gmm_autolag", "o_smm_autolag",
14502   "o_gmm_recursive_order_estimation", "o_smm_recursive_order_estimation",
14503   "o_gmm_bartlett_kernel_lag", "o_smm_bartlett_kernel_lag",
14504   "o_gmm_weighting_matrix", "o_smm_weighting_matrix",
14505   "o_gmm_penalized_estimator", "o_smm_penalized_estimator",
14506   "o_gmm_verbose", "o_smm_verbose", "o_smm_simulation_multiple",
14507   "o_smm_drop", "o_smm_seed", "o_smm_bounded_shock_support",
14508   "o_analytical_girf", "o_irf_in_percent", "o_emas_girf", "o_emas_drop",
14509   "o_emas_tolf", "o_emas_max_iter", "o_no_identification_strength",
14510   "o_no_identification_reducedform", "o_no_identification_moments",
14511   "o_no_identification_minimal", "o_no_identification_spectrum",
14512   "o_normalize_jacobians", "o_grid_nbr", "o_tol_rank", "o_tol_deriv",
14513   "o_tol_sv", "o_checks_via_subsets", "o_max_dim_subsets_groups", "range",
14514   "integer_range", "integer_range_w_inf", "signed_integer_range",
14515   "vec_int_number", "vec_int_elem", "vec_int_1", "vec_int", "vec_str_1",
14516   "vec_str", "vec_value_1", "vec_value", "vec_value_list",
14517   "vec_of_vec_value", "vec_value_1_w_inf", "vec_value_w_inf", "symbol",
14518   "number", YY_NULLPTR
14519   };
14520 
14521 #if YYDEBUG
14522   const unsigned short
14523   parser::yyrline_[] =
14524   {
14525        0,   198,   198,   199,   202,   203,   204,   205,   206,   207,
14526      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
14527      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
14528      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
14529      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
14530      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
14531      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
14532      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
14533      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
14534      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
14535      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
14536      308,   309,   310,   311,   312,   313,   314,   317,   319,   323,
14537      325,   325,   329,   331,   333,   335,   337,   339,   343,   343,
14538      347,   349,   351,   353,   355,   357,   361,   362,   362,   364,
14539      364,   368,   369,   372,   374,   376,   380,   381,   384,   385,
14540      386,   389,   392,   393,   396,   397,   398,   401,   401,   403,
14541      404,   407,   408,   409,   410,   411,   414,   418,   419,   423,
14542      425,   425,   430,   432,   434,   436,   438,   442,   442,   446,
14543      447,   450,   452,   454,   456,   458,   462,   464,   469,   473,
14544      475,   482,   487,   489,   494,   498,   500,   507,   511,   512,
14545      515,   519,   523,   524,   527,   528,   531,   533,   535,   537,
14546      539,   541,   543,   545,   547,   549,   551,   553,   557,   560,
14547      562,   564,   567,   569,   572,   574,   576,   581,   588,   589,
14548      592,   594,   596,   598,   600,   602,   604,   606,   608,   610,
14549      612,   614,   618,   620,   622,   624,   626,   628,   630,   632,
14550      634,   636,   638,   640,   644,   646,   648,   650,   652,   654,
14551      656,   658,   660,   662,   664,   666,   670,   672,   674,   676,
14552      678,   680,   682,   684,   686,   688,   690,   692,   696,   698,
14553      700,   704,   706,   708,   710,   712,   714,   718,   722,   724,
14554      726,   728,   732,   734,   739,   746,   748,   752,   754,   756,
14555      758,   760,   762,   764,   766,   768,   770,   772,   774,   776,
14556      778,   780,   782,   784,   786,   788,   790,   792,   794,   796,
14557      798,   800,   802,   804,   806,   808,   810,   812,   814,   816,
14558      818,   818,   820,   822,   824,   826,   828,   830,   832,   836,
14559      838,   842,   844,   847,   849,   853,   857,   859,   863,   864,
14560      867,   869,   871,   875,   876,   879,   881,   885,   885,   889,
14561      890,   893,   893,   897,   899,   900,   903,   905,   907,   909,
14562      911,   915,   916,   917,   918,   919,   920,   921,   922,   923,
14563      924,   925,   926,   929,   930,   933,   933,   935,   935,   939,
14564      940,   941,   942,   945,   947,   949,   951,   955,   956,   959,
14565      961,   965,   967,   969,   971,   973,   975,   977,   979,   981,
14566      983,   985,   987,   989,   991,   993,   995,   997,   999,  1001,
14567     1003,  1005,  1007,  1009,  1011,  1013,  1015,  1017,  1019,  1021,
14568     1023,  1025,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,
14569     1043,  1045,  1047,  1049,  1049,  1051,  1053,  1055,  1057,  1059,
14570     1061,  1065,  1067,  1071,  1074,  1075,  1078,  1079,  1082,  1083,
14571     1085,  1087,  1089,  1093,  1097,  1097,  1101,  1102,  1105,  1107,
14572     1110,  1112,  1109,  1114,  1116,  1120,  1122,  1126,  1128,  1132,
14573     1133,  1136,  1137,  1140,  1142,  1144,  1146,  1150,  1154,  1158,
14574     1159,  1162,  1163,  1164,  1165,  1166,  1167,  1170,  1174,  1175,
14575     1178,  1179,  1180,  1181,  1184,  1185,  1188,  1189,  1192,  1194,
14576     1196,  1198,  1200,  1202,  1206,  1208,  1210,  1212,  1214,  1216,
14577     1218,  1222,  1224,  1228,  1230,  1232,  1234,  1236,  1238,  1242,
14578     1244,  1248,  1249,  1252,  1253,  1254,  1255,  1256,  1257,  1258,
14579     1259,  1262,  1264,  1268,  1269,  1272,  1273,  1276,  1278,  1282,
14580     1283,  1285,  1287,  1289,  1293,  1294,  1297,  1298,  1301,  1303,
14581     1307,  1308,  1311,  1312,  1313,  1314,  1315,  1316,  1317,  1318,
14582     1319,  1320,  1321,  1322,  1323,  1324,  1325,  1328,  1329,  1330,
14583     1331,  1332,  1333,  1334,  1335,  1336,  1337,  1338,  1339,  1340,
14584     1341,  1342,  1343,  1344,  1345,  1346,  1347,  1348,  1349,  1350,
14585     1351,  1352,  1353,  1354,  1355,  1356,  1357,  1358,  1359,  1360,
14586     1361,  1362,  1363,  1364,  1365,  1366,  1367,  1368,  1369,  1370,
14587     1371,  1372,  1373,  1376,  1378,  1382,  1383,  1386,  1387,  1388,
14588     1389,  1390,  1391,  1392,  1393,  1394,  1397,  1399,  1403,  1404,
14589     1407,  1408,  1409,  1410,  1411,  1412,  1413,  1414,  1415,  1416,
14590     1417,  1418,  1419,  1422,  1426,  1430,  1431,  1434,  1435,  1438,
14591     1440,  1444,  1445,  1448,  1449,  1452,  1456,  1457,  1460,  1461,
14592     1462,  1463,  1466,  1468,  1470,  1472,  1476,  1477,  1480,  1481,
14593     1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,  1490,  1491,
14594     1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,  1501,
14595     1502,  1503,  1504,  1505,  1506,  1507,  1508,  1509,  1510,  1511,
14596     1512,  1513,  1514,  1515,  1516,  1517,  1518,  1519,  1520,  1521,
14597     1522,  1523,  1524,  1525,  1526,  1527,  1528,  1529,  1532,  1533,
14598     1534,  1535,  1536,  1537,  1540,  1542,  1544,  1548,  1549,  1553,
14599     1555,  1560,  1563,  1564,  1567,  1569,  1574,  1577,  1579,  1581,
14600     1585,  1586,  1589,  1590,  1593,  1595,  1597,  1601,  1602,  1604,
14601     1609,  1614,  1620,  1627,  1631,  1636,  1643,  1647,  1655,  1660,
14602     1666,  1673,  1683,  1685,  1687,  1691,  1693,  1697,  1703,  1710,
14603     1718,  1721,  1723,  1727,  1734,  1742,  1751,  1754,  1756,  1760,
14604     1768,  1770,  1772,  1774,  1776,  1778,  1780,  1782,  1784,  1788,
14605     1790,  1792,  1794,  1796,  1798,  1800,  1802,  1806,  1808,  1809,
14606     1813,  1817,  1821,  1822,  1825,  1826,  1827,  1828,  1829,  1830,
14607     1831,  1834,  1838,  1842,  1844,  1846,  1850,  1851,  1854,  1854,
14608     1856,  1856,  1858,  1858,  1860,  1860,  1862,  1862,  1864,  1864,
14609     1866,  1866,  1870,  1871,  1874,  1875,  1876,  1877,  1878,  1879,
14610     1880,  1881,  1882,  1883,  1886,  1887,  1890,  1891,  1892,  1893,
14611     1894,  1895,  1896,  1897,  1898,  1899,  1902,  1907,  1909,  1911,
14612     1913,  1915,  1917,  1921,  1923,  1925,  1927,  1929,  1931,  1935,
14613     1936,  1939,  1940,  1941,  1944,  1949,  1951,  1953,  1955,  1957,
14614     1959,  1963,  1965,  1967,  1969,  1973,  1974,  1977,  1978,  1979,
14615     1980,  1981,  1982,  1983,  1984,  1985,  1986,  1987,  1988,  1989,
14616     1990,  1991,  1992,  1993,  1994,  1995,  1996,  1997,  1998,  1999,
14617     2000,  2001,  2002,  2003,  2004,  2005,  2006,  2007,  2008,  2009,
14618     2010,  2011,  2012,  2013,  2014,  2015,  2016,  2017,  2018,  2019,
14619     2020,  2021,  2022,  2023,  2024,  2025,  2026,  2027,  2028,  2029,
14620     2030,  2031,  2032,  2033,  2034,  2035,  2036,  2037,  2038,  2039,
14621     2040,  2041,  2042,  2043,  2044,  2045,  2046,  2047,  2048,  2049,
14622     2050,  2051,  2052,  2053,  2054,  2055,  2056,  2057,  2058,  2059,
14623     2060,  2061,  2062,  2063,  2064,  2065,  2066,  2067,  2068,  2069,
14624     2070,  2071,  2072,  2073,  2074,  2075,  2076,  2077,  2078,  2079,
14625     2080,  2081,  2082,  2083,  2084,  2085,  2086,  2087,  2088,  2089,
14626     2090,  2091,  2092,  2093,  2094,  2095,  2098,  2100,  2102,  2106,
14627     2107,  2110,  2112,  2116,  2117,  2121,  2123,  2125,  2127,  2131,
14628     2132,  2135,  2135,  2137,  2139,  2141,  2145,  2145,  2147,  2149,
14629     2151,  2155,  2157,  2158,  2161,  2163,  2165,  2167,  2169,  2171,
14630     2173,  2177,  2180,  2181,  2184,  2185,  2186,  2187,  2188,  2189,
14631     2190,  2193,  2195,  2197,  2199,  2203,  2205,  2209,  2211,  2215,
14632     2219,  2223,  2225,  2229,  2230,  2233,  2234,  2235,  2236,  2237,
14633     2238,  2239,  2240,  2241,  2242,  2243,  2244,  2245,  2246,  2247,
14634     2248,  2249,  2250,  2251,  2252,  2253,  2254,  2255,  2256,  2257,
14635     2258,  2259,  2260,  2261,  2262,  2263,  2264,  2265,  2266,  2269,
14636     2271,  2275,  2276,  2279,  2280,  2284,  2285,  2288,  2290,  2294,
14637     2296,  2298,  2300,  2302,  2304,  2308,  2309,  2308,  2311,  2313,
14638     2317,  2319,  2321,  2323,  2327,  2331,  2332,  2335,  2337,  2339,
14639     2341,  2345,  2349,  2351,  2353,  2355,  2359,  2360,  2363,  2364,
14640     2365,  2368,  2369,  2372,  2373,  2374,  2377,  2378,  2381,  2382,
14641     2383,  2386,  2388,  2392,  2394,  2398,  2400,  2404,  2408,  2410,
14642     2412,  2414,  2418,  2420,  2422,  2424,  2428,  2430,  2432,  2434,
14643     2438,  2440,  2442,  2444,  2448,  2450,  2454,  2455,  2456,  2457,
14644     2458,  2459,  2460,  2463,  2464,  2465,  2466,  2467,  2468,  2469,
14645     2470,  2471,  2472,  2475,  2476,  2479,  2481,  2485,  2486,  2487,
14646     2488,  2491,  2492,  2495,  2497,  2501,  2502,  2503,  2504,  2505,
14647     2506,  2507,  2508,  2509,  2510,  2511,  2512,  2513,  2514,  2515,
14648     2516,  2517,  2518,  2519,  2520,  2521,  2522,  2523,  2524,  2525,
14649     2526,  2527,  2528,  2529,  2530,  2531,  2532,  2533,  2534,  2535,
14650     2536,  2537,  2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,
14651     2546,  2547,  2548,  2551,  2552,  2555,  2557,  2561,  2562,  2563,
14652     2564,  2565,  2566,  2567,  2568,  2569,  2570,  2571,  2572,  2573,
14653     2574,  2577,  2578,  2581,  2583,  2587,  2588,  2589,  2590,  2591,
14654     2592,  2593,  2594,  2595,  2596,  2597,  2598,  2599,  2600,  2603,
14655     2604,  2607,  2609,  2613,  2614,  2615,  2616,  2617,  2618,  2619,
14656     2620,  2621,  2622,  2623,  2624,  2625,  2626,  2629,  2630,  2633,
14657     2635,  2637,  2639,  2643,  2644,  2645,  2646,  2649,  2650,  2653,
14658     2655,  2659,  2660,  2661,  2662,  2663,  2664,  2665,  2666,  2669,
14659     2670,  2673,  2675,  2679,  2680,  2681,  2682,  2683,  2684,  2685,
14660     2688,  2689,  2692,  2694,  2698,  2699,  2700,  2701,  2702,  2703,
14661     2704,  2705,  2706,  2707,  2708,  2709,  2710,  2711,  2712,  2713,
14662     2714,  2715,  2716,  2717,  2718,  2719,  2720,  2721,  2722,  2723,
14663     2724,  2725,  2726,  2727,  2728,  2729,  2730,  2731,  2732,  2735,
14664     2736,  2739,  2741,  2745,  2747,  2751,  2752,  2755,  2756,  2757,
14665     2758,  2759,  2760,  2761,  2762,  2763,  2764,  2765,  2766,  2767,
14666     2768,  2769,  2770,  2771,  2772,  2773,  2774,  2775,  2776,  2777,
14667     2778,  2779,  2780,  2781,  2782,  2783,  2784,  2785,  2786,  2787,
14668     2788,  2789,  2790,  2791,  2792,  2793,  2794,  2795,  2796,  2797,
14669     2798,  2799,  2800,  2801,  2802,  2803,  2804,  2805,  2806,  2809,
14670     2810,  2813,  2814,  2815,  2816,  2817,  2818,  2819,  2820,  2821,
14671     2822,  2823,  2824,  2825,  2826,  2827,  2828,  2831,  2832,  2835,
14672     2836,  2837,  2838,  2839,  2840,  2841,  2842,  2843,  2844,  2845,
14673     2846,  2849,  2850,  2853,  2854,  2855,  2856,  2857,  2858,  2859,
14674     2860,  2861,  2862,  2863,  2864,  2865,  2866,  2867,  2868,  2869,
14675     2870,  2871,  2872,  2875,  2876,  2879,  2880,  2881,  2882,  2883,
14676     2884,  2885,  2886,  2887,  2888,  2889,  2890,  2891,  2892,  2895,
14677     2898,  2899,  2902,  2904,  2908,  2909,  2910,  2911,  2914,  2915,
14678     2918,  2919,  2920,  2921,  2922,  2925,  2929,  2930,  2933,  2934,
14679     2935,  2936,  2937,  2940,  2942,  2946,  2950,  2951,  2954,  2958,
14680     2958,  2962,  2963,  2966,  2968,  2972,  2974,  2976,  2978,  2982,
14681     2983,  2986,  2987,  2988,  2989,  2990,  2991,  2992,  2993,  2994,
14682     2995,  2996,  2997,  2998,  3001,  3003,  3005,  3007,  3011,  3012,
14683     3015,  3016,  3019,  3020,  3023,  3027,  3029,  3033,  3035,  3039,
14684     3040,  3043,  3044,  3045,  3046,  3047,  3048,  3051,  3055,  3057,
14685     3059,  3063,  3067,  3068,  3071,  3073,  3075,  3079,  3081,  3085,
14686     3086,  3089,  3091,  3093,  3097,  3099,  3103,  3104,  3107,  3108,
14687     3109,  3110,  3111,  3114,  3116,  3120,  3121,  3124,  3125,  3128,
14688     3129,  3130,  3133,  3135,  3139,  3140,  3143,  3144,  3147,  3153,
14689     3154,  3160,  3161,  3162,  3163,  3164,  3165,  3166,  3167,  3168,
14690     3169,  3170,  3171,  3172,  3173,  3174,  3178,  3179,  3180,  3181,
14691     3182,  3183,  3184,  3185,  3186,  3187,  3193,  3194,  3195,  3196,
14692     3197,  3198,  3199,  3200,  3202,  3203,  3204,  3205,  3206,  3207,
14693     3208,  3209,  3210,  3211,  3212,  3213,  3214,  3215,  3215,  3216,
14694     3217,  3219,  3220,  3221,  3222,  3223,  3224,  3225,  3226,  3227,
14695     3228,  3230,  3233,  3234,  3235,  3236,  3238,  3241,  3243,  3246,
14696     3248,  3249,  3250,  3251,  3252,  3253,  3254,  3255,  3256,  3257,
14697     3258,  3259,  3260,  3261,  3262,  3263,  3264,  3265,  3266,  3267,
14698     3268,  3269,  3270,  3271,  3273,  3276,  3278,  3281,  3282,  3283,
14699     3284,  3286,  3288,  3289,  3290,  3291,  3292,  3293,  3294,  3295,
14700     3296,  3298,  3299,  3300,  3302,  3305,  3307,  3310,  3312,  3315,
14701     3316,  3317,  3319,  3321,  3323,  3326,  3327,  3330,  3333,  3334,
14702     3335,  3336,  3337,  3338,  3339,  3340,  3341,  3343,  3344,  3345,
14703     3346,  3347,  3350,  3351,  3352,  3353,  3354,  3355,  3356,  3357,
14704     3358,  3359,  3360,  3361,  3362,  3363,  3364,  3365,  3366,  3367,
14705     3368,  3370,  3372,  3375,  3376,  3377,  3378,  3379,  3380,  3381,
14706     3382,  3383,  3384,  3385,  3386,  3387,  3389,  3392,  3393,  3394,
14707     3395,  3396,  3397,  3398,  3399,  3400,  3401,  3402,  3403,  3404,
14708     3405,  3406,  3407,  3408,  3409,  3410,  3411,  3412,  3413,  3414,
14709     3415,  3416,  3417,  3418,  3419,  3420,  3421,  3422,  3423,  3424,
14710     3425,  3426,  3427,  3428,  3429,  3430,  3431,  3432,  3433,  3434,
14711     3436,  3438,  3441,  3443,  3445,  3448,  3449,  3450,  3451,  3452,
14712     3453,  3454,  3455,  3456,  3457,  3458,  3459,  3460,  3461,  3462,
14713     3463,  3464,  3465,  3466,  3467,  3468,  3469,  3470,  3471,  3472,
14714     3473,  3474,  3475,  3476,  3477,  3478,  3479,  3480,  3481,  3482,
14715     3483,  3484,  3485,  3486,  3487,  3490,  3491,  3492,  3493,  3494,
14716     3495,  3496,  3497,  3498,  3499,  3500,  3501,  3502,  3503,  3504,
14717     3505,  3506,  3507,  3508,  3509,  3510,  3511,  3512,  3513,  3514,
14718     3515,  3516,  3517,  3518,  3519,  3521,  3524,  3525,  3526,  3527,
14719     3528,  3529,  3530,  3531,  3533,  3534,  3535,  3536,  3538,  3539,
14720     3541,  3543,  3545,  3547,  3549,  3551,  3554,  3555,  3556,  3557,
14721     3558,  3560,  3562,  3565,  3566,  3567,  3568,  3569,  3570,  3571,
14722     3572,  3573,  3578,  3583,  3589,  3590,  3591,  3592,  3593,  3594,
14723     3595,  3596,  3597,  3598,  3599,  3600,  3602,  3605,  3606,  3607,
14724     3608,  3609,  3610,  3611,  3612,  3613,  3614,  3615,  3616,  3617,
14725     3618,  3619,  3620,  3621,  3622,  3623,  3624,  3625,  3626,  3627,
14726     3628,  3629,  3630,  3631,  3632,  3635,  3637,  3640,  3641,  3642,
14727     3643,  3644,  3645,  3647,  3650,  3651,  3653,  3654,  3655,  3657,
14728     3660,  3662,  3665,  3668,  3671,  3674,  3677,  3680,  3681,  3682,
14729     3683,  3684,  3686,  3688,  3690,  3692,  3694,  3696,  3698,  3700,
14730     3702,  3704,  3706,  3708,  3710,  3712,  3714,  3716,  3717,  3718,
14731     3719,  3720,  3721,  3722,  3723,  3724,  3725,  3726,  3727,  3728,
14732     3729,  3730,  3731,  3732,  3733,  3734,  3735,  3736,  3737,  3738,
14733     3739,  3740,  3741,  3742,  3743,  3744,  3746,  3748,  3751,  3752,
14734     3753,  3754,  3755,  3756,  3757,  3759,  3760,  3761,  3762,  3763,
14735     3764,  3765,  3766,  3767,  3768,  3769,  3771,  3772,  3774,  3775,
14736     3776,  3777,  3778,  3780,  3783,  3785,  3788,  3789,  3790,  3791,
14737     3792,  3794,  3796,  3798,  3801,  3803,  3805,  3807,  3810,  3811,
14738     3812,  3813,  3815,  3816,  3817,  3818,  3820,  3821,  3822,  3823,
14739     3824,  3825,  3828,  3829,  3830,  3831,  3832,  3833,  3834,  3835,
14740     3836,  3837,  3838,  3839,  3841,  3844,  3847,  3849,  3853,  3855,
14741     3858,  3862,  3863,  3871,  3873,  3875,  3880,  3887,  3888,  3891,
14742     3893,  3895,  3900,  3907,  3908,  3911,  3913,  3915,  3917,  3921,
14743     3923,  3927,  3929,  3932,  3934,  3937,  3939,  3943,  3946,  3947,
14744     3948,  3949,  3950,  3951,  3952,  3953,  3954,  3955,  3956,  3957,
14745     3958,  3959,  3960,  3961,  3962,  3963,  3964,  3965,  3966,  3967,
14746     3971,  3972
14747   };
14748 
14749   // Print the state stack on the debug stream.
14750   void
yystack_print_()14751   parser::yystack_print_ ()
14752   {
14753     *yycdebug_ << "Stack now";
14754     for (stack_type::const_iterator
14755            i = yystack_.begin (),
14756            i_end = yystack_.end ();
14757          i != i_end; ++i)
14758       *yycdebug_ << ' ' << i->state;
14759     *yycdebug_ << '\n';
14760   }
14761 
14762   // Report on the debug stream that the rule \a yyrule is going to be reduced.
14763   void
yy_reduce_print_(int yyrule)14764   parser::yy_reduce_print_ (int yyrule)
14765   {
14766     unsigned yylno = yyrline_[yyrule];
14767     int yynrhs = yyr2_[yyrule];
14768     // Print the symbols being reduced, and their result.
14769     *yycdebug_ << "Reducing stack by rule " << yyrule - 1
14770                << " (line " << yylno << "):\n";
14771     // The symbols being reduced.
14772     for (int yyi = 0; yyi < yynrhs; yyi++)
14773       YY_SYMBOL_PRINT ("   $" << yyi + 1 << " =",
14774                        yystack_[(yynrhs) - (yyi + 1)]);
14775   }
14776 #endif // YYDEBUG
14777 
14778   parser::token_number_type
yytranslate_(int t)14779   parser::yytranslate_ (int t)
14780   {
14781     // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
14782     // TOKEN-NUM as returned by yylex.
14783     static
14784     const token_number_type
14785     translate_table[] =
14786     {
14787        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14788        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14789        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14790        2,     2,     2,     2,     2,   651,     2,     2,     2,     2,
14791      647,   648,     2,     2,     2,     2,   653,     2,     2,     2,
14792        2,     2,     2,     2,     2,     2,     2,     2,   652,   646,
14793        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14794        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14795        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14796        2,   649,     2,   650,     2,     2,     2,     2,     2,     2,
14797        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14798        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14799        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14800        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14801        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14802        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14803        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14804        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14805        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14806        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14807        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14808        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14809        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14810        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14811        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14812        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
14813        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
14814       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
14815       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
14816       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
14817       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
14818       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
14819       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
14820       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
14821       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
14822       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
14823      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
14824      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
14825      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
14826      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
14827      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
14828      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
14829      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
14830      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
14831      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
14832      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
14833      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
14834      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
14835      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
14836      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
14837      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
14838      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
14839      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
14840      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
14841      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
14842      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
14843      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
14844      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
14845      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
14846      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
14847      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
14848      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
14849      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
14850      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
14851      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
14852      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
14853      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
14854      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
14855      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
14856      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
14857      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
14858      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
14859      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
14860      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
14861      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
14862      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
14863      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
14864      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
14865      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
14866      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
14867      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
14868      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
14869      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
14870      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
14871      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
14872      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
14873      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
14874      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
14875      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
14876      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
14877      645
14878     };
14879     const unsigned user_token_number_max_ = 900;
14880     const token_number_type undef_token_ = 2;
14881 
14882     if (static_cast<int> (t) <= yyeof_)
14883       return yyeof_;
14884     else if (static_cast<unsigned> (t) <= user_token_number_max_)
14885       return translate_table[t];
14886     else
14887       return undef_token_;
14888   }
14889 
14890 #line 25 "DynareBison.yy" // lalr1.cc:1242
14891 } // Dynare
14892 #line 14893 "DynareBison.cc" // lalr1.cc:1242
14893 #line 3974 "DynareBison.yy" // lalr1.cc:1243
14894 
14895 
14896 void
error(const Dynare::parser::location_type & l,const string & m)14897 Dynare::parser::error(const Dynare::parser::location_type &l,
14898                       const string &m)
14899 {
14900   driver.error(l, m);
14901 }
14902