Initial repo created
[timetracker.git] / WEB-INF / lib / smarty / sysplugins / smarty_internal_templateparser.php
1 <?php
2 /**
3 * Smarty Internal Plugin Templateparser
4 *
5 * This is the template parser.
6 * It is generated from the internal.templateparser.y file
7 * @package Smarty
8 * @subpackage Compiler
9 * @author Uwe Tews
10 */
11
12 class TP_yyToken implements ArrayAccess
13 {
14     public $string = '';
15     public $metadata = array();
16
17     function __construct($s, $m = array())
18     {
19         if ($s instanceof TP_yyToken) {
20             $this->string = $s->string;
21             $this->metadata = $s->metadata;
22         } else {
23             $this->string = (string) $s;
24             if ($m instanceof TP_yyToken) {
25                 $this->metadata = $m->metadata;
26             } elseif (is_array($m)) {
27                 $this->metadata = $m;
28             }
29         }
30     }
31
32     function __toString()
33     {
34         return $this->_string;
35     }
36
37     function offsetExists($offset)
38     {
39         return isset($this->metadata[$offset]);
40     }
41
42     function offsetGet($offset)
43     {
44         return $this->metadata[$offset];
45     }
46
47     function offsetSet($offset, $value)
48     {
49         if ($offset === null) {
50             if (isset($value[0])) {
51                 $x = ($value instanceof TP_yyToken) ?
52                     $value->metadata : $value;
53                 $this->metadata = array_merge($this->metadata, $x);
54                 return;
55             }
56             $offset = count($this->metadata);
57         }
58         if ($value === null) {
59             return;
60         }
61         if ($value instanceof TP_yyToken) {
62             if ($value->metadata) {
63                 $this->metadata[$offset] = $value->metadata;
64             }
65         } elseif ($value) {
66             $this->metadata[$offset] = $value;
67         }
68     }
69
70     function offsetUnset($offset)
71     {
72         unset($this->metadata[$offset]);
73     }
74 }
75
76 class TP_yyStackEntry
77 {
78     public $stateno;       /* The state-number */
79     public $major;         /* The major token value.  This is the code
80                      ** number for the token at this stack level */
81     public $minor; /* The user-supplied minor token value.  This
82                      ** is the value of the token  */
83 };
84
85
86 #line 12 "smarty_internal_templateparser.y"
87 class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
88 {
89 #line 14 "smarty_internal_templateparser.y"
90
91           const Err1 = "Security error: Call to private object member not allowed";
92           const Err2 = "Security error: Call to dynamic object member not allowed";
93     // states whether the parse was successful or not
94     public $successful = true;
95     public $retvalue = 0;
96     private $lex;
97     private $internalError = false;
98
99     function __construct($lex, $compiler) {
100         $this->lex = $lex;
101         $this->compiler = $compiler;
102         $this->smarty = $this->compiler->smarty;
103         $this->template = $this->compiler->template;
104         $this->compiler->has_variable_string = false;
105                                 $this->compiler->prefix_code = array();
106                                 $this->prefix_number = 0;
107                                 $this->block_nesting_level = 0;
108                                 if ($this->security = isset($this->smarty->security_policy)) {
109               $this->php_handling = $this->smarty->security_policy->php_handling;
110         } else {
111               $this->php_handling = $this->smarty->php_handling;
112         }
113                                 $this->is_xml = false;
114                                 $this->asp_tags = (ini_get('asp_tags') != '0');
115                                 $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
116     }
117
118     public static function escape_start_tag($tag_text) {
119        $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
120        return $tag;
121     }
122
123     public static function escape_end_tag($tag_text) {
124        return '?<?php ?>>';
125     }
126
127     
128 #line 121 "smarty_internal_templateparser.php"
129
130     const TP_VERT                           =  1;
131     const TP_COLON                          =  2;
132     const TP_COMMENT                        =  3;
133     const TP_PHPSTARTTAG                    =  4;
134     const TP_PHPENDTAG                      =  5;
135     const TP_ASPSTARTTAG                    =  6;
136     const TP_ASPENDTAG                      =  7;
137     const TP_FAKEPHPSTARTTAG                =  8;
138     const TP_XMLTAG                         =  9;
139     const TP_OTHER                          = 10;
140     const TP_LINEBREAK                      = 11;
141     const TP_LITERALSTART                   = 12;
142     const TP_LITERALEND                     = 13;
143     const TP_LITERAL                        = 14;
144     const TP_LDEL                           = 15;
145     const TP_RDEL                           = 16;
146     const TP_DOLLAR                         = 17;
147     const TP_ID                             = 18;
148     const TP_EQUAL                          = 19;
149     const TP_PTR                            = 20;
150     const TP_LDELIF                         = 21;
151     const TP_SPACE                          = 22;
152     const TP_LDELFOR                        = 23;
153     const TP_SEMICOLON                      = 24;
154     const TP_INCDEC                         = 25;
155     const TP_TO                             = 26;
156     const TP_STEP                           = 27;
157     const TP_LDELFOREACH                    = 28;
158     const TP_AS                             = 29;
159     const TP_APTR                           = 30;
160     const TP_SMARTYBLOCKCHILD               = 31;
161     const TP_LDELSLASH                      = 32;
162     const TP_INTEGER                        = 33;
163     const TP_COMMA                          = 34;
164     const TP_OPENP                          = 35;
165     const TP_CLOSEP                         = 36;
166     const TP_MATH                           = 37;
167     const TP_UNIMATH                        = 38;
168     const TP_ANDSYM                         = 39;
169     const TP_ISIN                           = 40;
170     const TP_ISDIVBY                        = 41;
171     const TP_ISNOTDIVBY                     = 42;
172     const TP_ISEVEN                         = 43;
173     const TP_ISNOTEVEN                      = 44;
174     const TP_ISEVENBY                       = 45;
175     const TP_ISNOTEVENBY                    = 46;
176     const TP_ISODD                          = 47;
177     const TP_ISNOTODD                       = 48;
178     const TP_ISODDBY                        = 49;
179     const TP_ISNOTODDBY                     = 50;
180     const TP_INSTANCEOF                     = 51;
181     const TP_QMARK                          = 52;
182     const TP_NOT                            = 53;
183     const TP_TYPECAST                       = 54;
184     const TP_HEX                            = 55;
185     const TP_DOT                            = 56;
186     const TP_SINGLEQUOTESTRING              = 57;
187     const TP_DOUBLECOLON                    = 58;
188     const TP_AT                             = 59;
189     const TP_HATCH                          = 60;
190     const TP_OPENB                          = 61;
191     const TP_CLOSEB                         = 62;
192     const TP_EQUALS                         = 63;
193     const TP_NOTEQUALS                      = 64;
194     const TP_GREATERTHAN                    = 65;
195     const TP_LESSTHAN                       = 66;
196     const TP_GREATEREQUAL                   = 67;
197     const TP_LESSEQUAL                      = 68;
198     const TP_IDENTITY                       = 69;
199     const TP_NONEIDENTITY                   = 70;
200     const TP_MOD                            = 71;
201     const TP_LAND                           = 72;
202     const TP_LOR                            = 73;
203     const TP_LXOR                           = 74;
204     const TP_QUOTE                          = 75;
205     const TP_BACKTICK                       = 76;
206     const TP_DOLLARID                       = 77;
207     const YY_NO_ACTION = 584;
208     const YY_ACCEPT_ACTION = 583;
209     const YY_ERROR_ACTION = 582;
210
211     const YY_SZ_ACTTAB = 2566;
212 static public $yy_action = array(
213  /*     0 */   218,  272,  271,  275,  274,  278,  277,  276,  270,  262,
214  /*    10 */   260,  264,  268,  196,  298,  285,   42,   22,  159,  265,
215  /*    20 */    19,   29,  222,  374,  237,   29,  294,   29,  280,  149,
216  /*    30 */   243,   19,  378,  225,  374,  244,   52,   47,   50,   45,
217  /*    40 */    38,   37,  331,  332,   40,   39,  340,  337,   30,   25,
218  /*    50 */   292,  299,  291,  290,  295,  190,  123,  342,  196,  279,
219  /*    60 */   293,  135,  335,  322,  321,  308,  309,  310,  307,  306,
220  /*    70 */   302,  303,  304,  305,  218,  242,  319,  175,  199,  133,
221  /*    80 */   138,   19,  248,   72,  374,  124,   19,  288,  448,  374,
222  /*    90 */    41,   14,  339,  311,  448,   29,  348,  329,  376,  320,
223  /*   100 */    34,  583,   95,  273,  271,  275,  219,    3,  301,    3,
224  /*   110 */    52,   47,   50,   45,   38,   37,  331,  332,   40,   39,
225  /*   120 */   340,  337,   30,   25,    7,  231,   17,  108,  134,  167,
226  /*   130 */   140,   35,  140,  143,  336,  192,  335,  322,  321,  308,
227  /*   140 */   309,  310,  307,  306,  302,  303,  304,  305,  218,  334,
228  /*   150 */   319,  193,  353,   10,  138,    3,  248,   55,    3,  119,
229  /*   160 */   136,   36,   31,  371,  218,   19,  339,  311,  374,   29,
230  /*   170 */   348,  329,   29,  320,  199,   27,  223,  258,  140,  372,
231  /*   180 */   224,  140,  254,  220,   52,   47,   50,   45,   38,   37,
232  /*   190 */   331,  332,   40,   39,  340,  337,   30,   25,  341,  179,
233  /*   200 */    32,  159,  106,  323,   29,  194,  379,  342,  218,  288,
234  /*   210 */   335,  322,  321,  308,  309,  310,  307,  306,  302,  303,
235  /*   220 */   304,  305,  218,  366,  319,  199,  186,  218,  138,  190,
236  /*   230 */   248,   72,  445,  124,  218,  266,  288,  364,  445,  123,
237  /*   240 */   339,  311,  447,   29,  348,  329,   19,  320,  447,  374,
238  /*   250 */    23,    3,  199,   16,  211,   29,  297,  170,   52,   47,
239  /*   260 */    50,   45,   38,   37,  331,  332,   40,   39,  340,  337,
240  /*   270 */    30,   25,  218,  172,  140,  183,  104,   46,   19,  189,
241  /*   280 */   379,  374,   41,  288,  335,  322,  321,  308,  309,  310,
242  /*   290 */   307,  306,  302,  303,  304,  305,  344,  188,  444,  199,
243  /*   300 */   218,  235,  249,  216,   29,  191,  379,  342,   52,   47,
244  /*   310 */    50,   45,   38,   37,  331,  332,   40,   39,  340,  337,
245  /*   320 */    30,   25,  242,   19,  142,   43,  374,  130,  245,   28,
246  /*   330 */    29,  159,  107,  346,  335,  322,  321,  308,  309,  310,
247  /*   340 */   307,  306,  302,  303,  304,  305,  218,  347,  319,   27,
248  /*   350 */    46,  257,  138,  198,  248,   62,  164,  119,  240,  218,
249  /*   360 */   267,  252,  228,  126,  339,  311,  288,  205,  348,  329,
250  /*   370 */   103,  320,    8,  261,  444,  357,  180,  376,  376,   29,
251  /*   380 */    29,   29,   52,   47,   50,   45,   38,   37,  331,  332,
252  /*   390 */    40,   39,  340,  337,   30,   25,  184,  349,  361,  365,
253  /*   400 */    27,  284,  358,   29,   29,   29,  288,   29,  335,  322,
254  /*   410 */   321,  308,  309,  310,  307,  306,  302,  303,  304,  305,
255  /*   420 */   218,  319,  202,  221,  181,  138,  154,  248,   72,  171,
256  /*   430 */   124,  313,    9,  162,  288,  289,  163,  339,  311,  288,
257  /*   440 */   320,  348,  329,  288,  320,  376,  288,  281,  269,  370,
258  /*   450 */   376,  214,    6,   29,   29,   29,   52,   47,   50,   45,
259  /*   460 */    38,   37,  331,  332,   40,   39,  340,  337,   30,   25,
260  /*   470 */   218,  178,  239,  283,  373,   19,  226,  238,  374,   29,
261  /*   480 */    29,  288,  335,  322,  321,  308,  309,  310,  307,  306,
262  /*   490 */   302,  303,  304,  305,  177,  205,  286,  202,  227,  377,
263  /*   500 */     8,  166,   29,  376,  288,   29,   52,   47,   50,   45,
264  /*   510 */    38,   37,  331,  332,   40,   39,  340,  337,   30,   25,
265  /*   520 */   202,  218,  363,  375,  380,  315,  235,  296,   29,   29,
266  /*   530 */    29,   29,  335,  322,  321,  308,  309,  310,  307,  306,
267  /*   540 */   302,  303,  304,  305,  197,  369,  352,   19,  327,  218,
268  /*   550 */   236,   29,   29,  165,  234,  156,  174,   52,   47,   50,
269  /*   560 */    45,   38,   37,  331,  332,   40,   39,  340,  337,   30,
270  /*   570 */    25,   26,  344,    5,   19,  314,  199,  212,   19,  199,
271  /*   580 */   159,  241,  218,  335,  322,  321,  308,  309,  310,  307,
272  /*   590 */   306,  302,  303,  304,  305,  218,  319,  300,  100,   46,
273  /*   600 */   138,   19,  248,   76,  233,  124,    6,  218,  110,  351,
274  /*   610 */   201,  338,  339,  311,  115,  168,  348,  329,  123,  320,
275  /*   620 */   182,  338,  287,  234,  105,  288,  324,  338,  235,  240,
276  /*   630 */   288,   52,   47,   50,   45,   38,   37,  331,  332,   40,
277  /*   640 */    39,  340,  337,   30,   25,  218,  333,  144,  263,   33,
278  /*   650 */    13,  342,  312,  156,   29,  355,   97,  335,  322,  321,
279  /*   660 */   308,  309,  310,  307,  306,  302,  303,  304,  305,  338,
280  /*   670 */   141,   32,  325,  121,  195,  131,  356,  229,  127,    2,
281  /*   680 */   250,   52,   47,   50,   45,   38,   37,  331,  332,   40,
282  /*   690 */    39,  340,  337,   30,   25,  318,  228,   11,  330,   94,
283  /*   700 */   129,  282,  218,  253,  159,   29,  323,  335,  322,  321,
284  /*   710 */   308,  309,  310,  307,  306,  302,  303,  304,  305,  218,
285  /*   720 */   218,  319,   18,  101,  148,  122,  114,  248,   54,   44,
286  /*   730 */   124,  202,   99,  158,  316,  367,  376,  339,  311,  338,
287  /*   740 */    29,  348,  329,  376,  320,  338,  338,  354,  169,  368,
288  /*   750 */   321,  321,  321,  321,  321,   52,   47,   50,   45,   38,
289  /*   760 */    37,  331,  332,   40,   39,  340,  337,   30,   25,  218,
290  /*   770 */    46,  321,  321,  321,  321,  321,  321,  321,  321,  321,
291  /*   780 */   113,  335,  322,  321,  308,  309,  310,  307,  306,  302,
292  /*   790 */   303,  304,  305,  338,  321,  321,  321,  321,  321,  321,
293  /*   800 */   321,  321,  321,  321,  256,   52,   47,   50,   45,   38,
294  /*   810 */    37,  331,  332,   40,   39,  340,  337,   30,   25,  218,
295  /*   820 */   321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
296  /*   830 */   321,  335,  322,  321,  308,  309,  310,  307,  306,  302,
297  /*   840 */   303,  304,  305,  321,  321,  321,  321,  321,  321,  321,
298  /*   850 */   321,  321,  321,  321,  321,   52,   47,   50,   45,   38,
299  /*   860 */    37,  331,  332,   40,   39,  340,  337,   30,   25,  218,
300  /*   870 */    12,  321,  321,  321,  321,  321,  321,  321,  321,  321,
301  /*   880 */   382,  335,  322,  321,  308,  309,  310,  307,  306,  302,
302  /*   890 */   303,  304,  305,  321,  321,  321,  321,  321,  321,  321,
303  /*   900 */   321,  321,  321,  321,  321,   52,   47,   50,   45,   38,
304  /*   910 */    37,  331,  332,   40,   39,  340,  337,   30,   25,  321,
305  /*   920 */   321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
306  /*   930 */   321,  335,  322,  321,  308,  309,  310,  307,  306,  302,
307  /*   940 */   303,  304,  305,  218,  319,  321,  321,  321,  138,  321,
308  /*   950 */   248,   61,  321,  124,  321,   98,  132,  321,  200,  321,
309  /*   960 */   339,  311,  321,  321,  348,  329,  321,  320,  338,  338,
310  /*   970 */   321,  321,  321,  321,  321,  321,  321,  321,  321,   52,
311  /*   980 */    47,   50,   45,   38,   37,  331,  332,   40,   39,  340,
312  /*   990 */   337,   30,   25,  218,  321,  321,  321,  321,  321,  321,
313  /*  1000 */   321,  321,  321,  321,  321,  335,  322,  321,  308,  309,
314  /*  1010 */   310,  307,  306,  302,  303,  304,  305,  321,  321,  321,
315  /*  1020 */   321,  321,  321,  321,  321,  321,  321,  321,  321,   52,
316  /*  1030 */    47,   50,   45,   38,   37,  331,  332,   40,   39,  340,
317  /*  1040 */   337,   30,   25,  321,  321,  321,  321,  321,  321,  321,
318  /*  1050 */   321,  321,  321,  321,  321,  335,  322,  321,  308,  309,
319  /*  1060 */   310,  307,  306,  302,  303,  304,  305,   52,   47,   50,
320  /*  1070 */    45,   38,   37,  331,  332,   40,   39,  340,  337,   30,
321  /*  1080 */    25,  321,  321,  321,  321,  321,  321,  321,  321,  321,
322  /*  1090 */   321,  321,  321,  335,  322,  321,  308,  309,  310,  307,
323  /*  1100 */   306,  302,  303,  304,  305,  321,  321,  321,  321,   42,
324  /*  1110 */   321,  139,  207,  321,  319,  222,  321,  237,  138,  321,
325  /*  1120 */   248,   78,  149,  124,  321,  378,  225,  232,  321,   15,
326  /*  1130 */   339,  311,   49,  321,  348,  329,  321,  320,  321,  321,
327  /*  1140 */   321,  321,  321,  321,  321,  321,  321,   51,   48,  317,
328  /*  1150 */   247,  328,  321,  319,  103,    1,  255,  145,  321,  248,
329  /*  1160 */   321,  321,  124,  321,   42,  321,  139,  209,  321,   96,
330  /*  1170 */   222,  321,  237,  348,  329,  321,  320,  149,  345,  321,
331  /*  1180 */   378,  225,  232,   24,   15,  321,  321,   49,  321,  222,
332  /*  1190 */   321,  237,  321,  321,  321,  321,  149,  321,  321,  378,
333  /*  1200 */   225,  321,   51,   48,  317,  247,  328,  321,  319,  103,
334  /*  1210 */     1,  321,  146,  321,  248,  321,  321,  124,  321,   42,
335  /*  1220 */   161,  130,  209,  193,   96,  222,  321,  237,  348,  329,
336  /*  1230 */   288,  320,  149,   36,   31,  378,  225,  232,  321,   21,
337  /*  1240 */   321,  321,   49,  350,   20,  343,  199,  319,  218,  321,
338  /*  1250 */   321,  155,  321,  248,  321,  321,  124,   51,   48,  317,
339  /*  1260 */   247,  328,  321,  450,  103,    1,  321,  348,  329,  450,
340  /*  1270 */   320,  321,  321,  321,   42,  321,  125,  209,  321,   96,
341  /*  1280 */   222,  321,  237,  321,  321,  321,  321,  149,  345,  321,
342  /*  1290 */   378,  225,  232,   24,    4,  321,  321,   49,   46,  222,
343  /*  1300 */   321,  237,  321,  321,  321,  321,  149,  321,  321,  378,
344  /*  1310 */   225,  321,   51,   48,  317,  247,  328,  321,  319,  103,
345  /*  1320 */     1,  321,  151,  321,  248,  321,  321,  124,  321,   42,
346  /*  1330 */   176,  139,  204,  193,   96,  222,  321,  237,  348,  329,
347  /*  1340 */   288,  320,  149,   36,   31,  378,  225,  215,  321,   15,
348  /*  1350 */   321,  321,   49,  362,   20,  343,  199,  319,  218,  321,
349  /*  1360 */   321,  150,  321,  248,  321,  321,  124,   51,   48,  317,
350  /*  1370 */   247,  328,  321,  259,  103,    1,  321,  348,  329,   29,
351  /*  1380 */   320,  321,  321,  321,   42,  173,  128,   92,  193,   96,
352  /*  1390 */   222,  321,  237,  321,  218,  288,  321,  149,   36,   31,
353  /*  1400 */   378,  225,  232,  321,   15,  321,  321,   49,   46,  381,
354  /*  1410 */   321,  199,  319,  230,  321,   29,  152,  321,  248,  321,
355  /*  1420 */   321,  124,   51,   48,  317,  247,  328,  321,    3,  103,
356  /*  1430 */     1,  321,  348,  329,  321,  320,  321,  321,  321,   42,
357  /*  1440 */   185,  139,  208,  102,   96,  222,  321,  237,  321,  321,
358  /*  1450 */   288,  140,  149,   36,   31,  378,  225,  232,  321,   15,
359  /*  1460 */   321,  321,   49,  321,  321,  321,  199,  319,  321,  321,
360  /*  1470 */   321,  147,  321,  248,  321,  321,  124,   51,   48,  317,
361  /*  1480 */   247,  328,  321,  321,  103,    1,  321,  348,  329,  321,
362  /*  1490 */   320,  321,  321,  321,   42,  187,  139,  203,  193,   96,
363  /*  1500 */   222,  321,  237,  321,  321,  288,  321,  149,   36,   31,
364  /*  1510 */   378,  225,  232,  321,   15,  321,  160,   49,  321,  193,
365  /*  1520 */   321,  199,  321,  321,  321,  321,  288,  321,  321,   36,
366  /*  1530 */    31,  321,   51,   48,  317,  247,  328,  321,  321,  103,
367  /*  1540 */     1,  321,  199,  321,  321,  321,  321,  321,  321,   42,
368  /*  1550 */   321,  139,  206,  218,   96,  222,  321,  237,  321,  321,
369  /*  1560 */   321,  321,  149,  321,  321,  378,  225,  232,  450,   15,
370  /*  1570 */   321,  321,   49,  321,  450,  321,  321,  321,  321,  321,
371  /*  1580 */   321,  246,  321,  321,  321,  321,  321,   51,   48,  317,
372  /*  1590 */   247,  328,  321,  321,  103,    1,  321,  321,  321,  321,
373  /*  1600 */   321,  321,  321,   46,   42,  321,  137,  209,  321,   96,
374  /*  1610 */   222,  321,  237,  321,  321,  321,  321,  149,  321,  321,
375  /*  1620 */   378,  225,  232,  321,   15,  321,  321,   49,  321,  321,
376  /*  1630 */   321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
377  /*  1640 */   321,  321,   51,   48,  317,  247,  328,  321,  321,  103,
378  /*  1650 */     1,  321,  321,  321,  321,  321,  321,  321,  321,   42,
379  /*  1660 */   321,  130,  210,  321,   96,  222,  321,  237,  321,  321,
380  /*  1670 */   321,  321,  149,  321,  321,  378,  225,  232,  321,   21,
381  /*  1680 */   321,  321,   49,  321,  321,  321,  321,  321,  321,  321,
382  /*  1690 */   321,  321,  321,  321,  321,  321,  321,   51,   48,  317,
383  /*  1700 */   247,  328,  321,  321,  103,  321,  321,  321,  321,  321,
384  /*  1710 */   321,  321,  321,  321,   42,  321,  130,  209,  321,   96,
385  /*  1720 */   222,  321,  237,  321,  321,  321,  321,  149,  321,  321,
386  /*  1730 */   378,  225,  232,  321,   21,  321,  321,   49,  321,  321,
387  /*  1740 */   321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
388  /*  1750 */   321,  321,   51,   48,  317,  247,  328,  321,  321,  103,
389  /*  1760 */   321,  321,  321,  321,  321,  321,  321,  321,  321,  493,
390  /*  1770 */   321,  321,  321,  321,   96,  493,  321,  493,  321,  493,
391  /*  1780 */   493,  321,  493,  321,  321,  321,  321,  493,    3,  493,
392  /*  1790 */   321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
393  /*  1800 */   321,  321,  321,  319,  493,  321,  321,  117,  321,  248,
394  /*  1810 */    82,  140,  124,  321,  321,  493,  321,  321,  321,  339,
395  /*  1820 */   311,  321,  321,  348,  329,  321,  320,  321,  321,  493,
396  /*  1830 */   321,  321,  321,  321,  321,  321,  319,  217,  360,  321,
397  /*  1840 */   117,  321,  248,   82,  321,  124,  321,  321,  321,  321,
398  /*  1850 */   321,  321,  339,  311,  321,  321,  348,  329,  319,  320,
399  /*  1860 */   321,  321,  138,  321,  248,   90,  321,  124,  321,  321,
400  /*  1870 */   321,  359,  321,  321,  339,  311,  321,  321,  348,  329,
401  /*  1880 */   321,  320,  321,  321,  321,  321,  319,  321,  321,  321,
402  /*  1890 */   138,  321,  248,   69,  321,  124,  321,  321,  321,  321,
403  /*  1900 */   321,  321,  339,  311,  321,  321,  348,  329,  321,  320,
404  /*  1910 */   321,  321,  319,  321,  321,  321,  138,  321,  248,   67,
405  /*  1920 */   321,  124,  321,  321,  321,  321,  321,  321,  339,  311,
406  /*  1930 */   321,  321,  348,  329,  321,  320,  319,  321,  321,  321,
407  /*  1940 */   138,  321,  248,   58,  321,  124,  321,  321,  321,  321,
408  /*  1950 */   321,  321,  339,  311,  319,  321,  348,  329,  138,  320,
409  /*  1960 */   248,   62,  321,  124,  321,  321,  321,  321,  321,  321,
410  /*  1970 */   339,  311,  321,  321,  348,  329,  319,  320,  321,  321,
411  /*  1980 */   138,  321,  248,   56,  321,  124,  321,  321,  321,  321,
412  /*  1990 */   321,  321,  339,  311,  321,  321,  348,  329,  321,  320,
413  /*  2000 */   321,  319,  321,  321,  321,  112,  321,  248,   71,  321,
414  /*  2010 */   124,  321,  321,  321,  321,  321,  321,  339,  311,  319,
415  /*  2020 */   321,  348,  329,  111,  320,  248,   81,  321,  124,  321,
416  /*  2030 */   321,  321,  321,  321,  321,  339,  311,  319,  321,  348,
417  /*  2040 */   329,  138,  320,  248,   74,  321,  124,  321,  321,  321,
418  /*  2050 */   321,  321,  321,  339,  311,  321,  321,  348,  329,  319,
419  /*  2060 */   320,  321,  321,  138,  321,  248,   91,  321,  124,  321,
420  /*  2070 */   321,  321,  321,  321,  321,  339,  311,  321,  321,  348,
421  /*  2080 */   329,  321,  320,  321,  319,  321,  321,  321,  138,  321,
422  /*  2090 */   248,   64,  321,  124,  321,  321,  321,  321,  321,  321,
423  /*  2100 */   339,  311,  319,  321,  348,  329,  138,  320,  248,   63,
424  /*  2110 */   321,  124,  321,  321,  321,  321,  321,  321,  339,  311,
425  /*  2120 */   319,  321,  348,  329,  138,  320,  248,   83,  321,  124,
426  /*  2130 */   321,  321,  321,  321,  321,  321,  339,  311,  321,  321,
427  /*  2140 */   348,  329,  319,  320,  321,  321,  138,  321,  248,   79,
428  /*  2150 */   321,  124,  321,  321,  321,  321,  321,  321,  339,  311,
429  /*  2160 */   321,  321,  348,  329,  321,  320,  321,  319,  321,  321,
430  /*  2170 */   321,  138,  321,  248,   75,  321,  124,  321,  321,  321,
431  /*  2180 */   321,  321,  321,  339,  311,  319,  321,  348,  329,  138,
432  /*  2190 */   320,  248,   70,  321,  124,  321,  321,  321,  321,  321,
433  /*  2200 */   321,  339,  311,  319,  321,  348,  329,  109,  320,  248,
434  /*  2210 */    68,  321,  124,  321,  321,  321,  321,  321,  321,  339,
435  /*  2220 */   311,  321,  321,  348,  329,  319,  320,  321,  321,  138,
436  /*  2230 */   321,  248,   77,  321,  124,  321,  321,  321,  321,  321,
437  /*  2240 */   321,  339,  311,  321,  321,  348,  329,  321,  320,  321,
438  /*  2250 */   319,  321,  321,  321,  138,  321,  248,   73,  321,  124,
439  /*  2260 */   321,  321,  321,  321,  321,  321,  339,  311,  319,  321,
440  /*  2270 */   348,  329,  138,  320,  213,   65,  321,  124,  321,  321,
441  /*  2280 */   321,  321,  321,  321,  339,  311,  319,  321,  348,  329,
442  /*  2290 */   138,  320,  248,   86,  321,  124,  321,  321,  321,  321,
443  /*  2300 */   321,  321,  339,  311,  321,  321,  348,  329,  319,  320,
444  /*  2310 */   321,  321,  138,  321,  248,   88,  321,  124,  321,  321,
445  /*  2320 */   321,  321,  321,  321,  339,  311,  321,  321,  348,  329,
446  /*  2330 */   321,  320,  321,  319,  321,  321,  321,   93,  321,  120,
447  /*  2340 */    59,  321,  116,  321,  321,  321,  321,  321,  321,  339,
448  /*  2350 */   311,  319,  321,  348,  329,  138,  320,  248,   57,  321,
449  /*  2360 */   124,  321,  321,  321,  321,  321,  321,  339,  311,  319,
450  /*  2370 */   321,  348,  329,  138,  320,  248,   60,  321,  124,  321,
451  /*  2380 */   321,  321,  321,  321,  321,  339,  311,  321,  321,  348,
452  /*  2390 */   329,  319,  320,  321,  321,  138,  321,  248,   89,  321,
453  /*  2400 */   124,  321,  321,  321,  321,  321,  321,  339,  311,  321,
454  /*  2410 */   321,  348,  329,  321,  320,  321,  319,  321,  321,  321,
455  /*  2420 */   138,  321,  248,   85,  321,  124,  321,  321,  321,  321,
456  /*  2430 */   321,  321,  339,  311,  319,  321,  348,  329,  138,  320,
457  /*  2440 */   248,   80,  321,  124,  321,  321,  321,  321,  321,  321,
458  /*  2450 */   339,  311,  319,  321,  348,  329,  138,  320,  248,   84,
459  /*  2460 */   321,  124,  321,  321,  321,  321,  321,  321,  339,  311,
460  /*  2470 */   321,  321,  348,  329,  319,  320,  321,  321,  138,  321,
461  /*  2480 */   248,   66,  321,  124,  321,  321,  321,  321,  321,  321,
462  /*  2490 */   339,  311,  321,  321,  348,  329,  321,  320,  321,  319,
463  /*  2500 */   321,  321,  321,  138,  321,  248,   87,  321,  124,  321,
464  /*  2510 */   321,  321,  321,  321,  321,  339,  311,  319,  321,  348,
465  /*  2520 */   329,   93,  320,  118,   53,  321,  116,  321,  321,  321,
466  /*  2530 */   321,  321,  321,  339,  311,  319,  321,  348,  329,  153,
467  /*  2540 */   320,  248,  319,  321,  124,  321,  157,  321,  248,  321,
468  /*  2550 */   321,  124,  326,  321,  321,  348,  329,  321,  320,  251,
469  /*  2560 */   321,  321,  348,  329,  321,  320,
470     );
471     static public $yy_lookahead = array(
472  /*     0 */     1,   81,   82,   83,    3,    4,    5,    6,    7,    8,
473  /*    10 */     9,   10,   11,   12,   22,   16,   15,   19,   20,   16,
474  /*    20 */    15,   22,   21,   18,   23,   22,   83,   22,   85,   28,
475  /*    30 */    94,   15,   31,   32,   18,   30,   37,   38,   39,   40,
476  /*    40 */    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
477  /*    50 */     4,    5,    6,    7,    8,   90,   58,   25,   12,   13,
478  /*    60 */    14,   17,   63,   64,   65,   66,   67,   68,   69,   70,
479  /*    70 */    71,   72,   73,   74,    1,   59,   82,   87,  113,   35,
480  /*    80 */    86,   15,   88,   89,   18,   91,   15,   97,   16,   18,
481  /*    90 */    19,   19,   98,   99,   22,   22,  102,  103,  108,  105,
482  /*   100 */    27,   79,   80,   81,   82,   83,  112,   35,   76,   35,
483  /*   110 */    37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
484  /*   120 */    47,   48,   49,   50,   34,   59,   15,   84,   17,   18,
485  /*   130 */    58,   15,   58,   17,   18,  114,   63,   64,   65,   66,
486  /*   140 */    67,   68,   69,   70,   71,   72,   73,   74,    1,   33,
487  /*   150 */    82,   90,   62,   30,   86,   35,   88,   89,   35,   91,
488  /*   160 */    92,  100,  101,   16,    1,   15,   98,   99,   18,   22,
489  /*   170 */   102,  103,   22,  105,  113,   34,   56,   36,   58,   16,
490  /*   180 */    30,   58,   62,   20,   37,   38,   39,   40,   41,   42,
491  /*   190 */    43,   44,   45,   46,   47,   48,   49,   50,   16,   87,
492  /*   200 */    19,   20,   90,  107,   22,  109,  110,   25,    1,   97,
493  /*   210 */    63,   64,   65,   66,   67,   68,   69,   70,   71,   72,
494  /*   220 */    73,   74,    1,   16,   82,  113,   87,    1,   86,   90,
495  /*   230 */    88,   89,   16,   91,    1,   13,   97,   16,   22,   58,
496  /*   240 */    98,   99,   16,   22,  102,  103,   15,  105,   22,   18,
497  /*   250 */    19,   35,  113,   94,  112,   22,   25,  106,   37,   38,
498  /*   260 */    39,   40,   41,   42,   43,   44,   45,   46,   47,   48,
499  /*   270 */    49,   50,    1,   87,   58,  106,   90,   51,   15,  109,
500  /*   280 */   110,   18,   19,   97,   63,   64,   65,   66,   67,   68,
501  /*   290 */    69,   70,   71,   72,   73,   74,   82,  114,   16,  113,
502  /*   300 */     1,   91,   92,   93,   22,  109,  110,   25,   37,   38,
503  /*   310 */    39,   40,   41,   42,   43,   44,   45,   46,   47,   48,
504  /*   320 */    49,   50,   59,   15,   17,   19,   18,   17,   18,   30,
505  /*   330 */    22,   20,  118,  119,   63,   64,   65,   66,   67,   68,
506  /*   340 */    69,   70,   71,   72,   73,   74,    1,   76,   82,   34,
507  /*   350 */    51,   36,   86,   24,   88,   89,   87,   91,   92,    1,
508  /*   360 */    36,   16,   56,   34,   98,   99,   97,   56,  102,  103,
509  /*   370 */    60,  105,   61,   16,   16,   16,  106,  108,  108,   22,
510  /*   380 */    22,   22,   37,   38,   39,   40,   41,   42,   43,   44,
511  /*   390 */    45,   46,   47,   48,   49,   50,   87,   16,   16,   16,
512  /*   400 */    34,   16,   36,   22,   22,   22,   97,   22,   63,   64,
513  /*   410 */    65,   66,   67,   68,   69,   70,   71,   72,   73,   74,
514  /*   420 */     1,   82,  113,   88,   87,   86,   91,   88,   89,   87,
515  /*   430 */    91,   18,   15,   87,   97,   16,   87,   98,   99,   97,
516  /*   440 */   105,  102,  103,   97,  105,  108,   97,   16,   16,   16,
517  /*   450 */   108,  112,   35,   22,   22,   22,   37,   38,   39,   40,
518  /*   460 */    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
519  /*   470 */     1,   87,   59,   16,   16,   15,   17,   18,   18,   22,
520  /*   480 */    22,   97,   63,   64,   65,   66,   67,   68,   69,   70,
521  /*   490 */    71,   72,   73,   74,   87,   56,   16,  113,   29,   16,
522  /*   500 */    61,  106,   22,  108,   97,   22,   37,   38,   39,   40,
523  /*   510 */    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
524  /*   520 */   113,    1,   16,   16,   16,   16,   91,   92,   22,   22,
525  /*   530 */    22,   22,   63,   64,   65,   66,   67,   68,   69,   70,
526  /*   540 */    71,   72,   73,   74,   24,   16,   16,   15,  104,    1,
527  /*   550 */    18,   22,   22,   90,    2,  111,   90,   37,   38,   39,
528  /*   560 */    40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
529  /*   570 */    50,   19,   82,   35,   15,   18,  113,   18,   15,  113,
530  /*   580 */    20,   18,    1,   63,   64,   65,   66,   67,   68,   69,
531  /*   590 */    70,   71,   72,   73,   74,    1,   82,   16,   95,   51,
532  /*   600 */    86,   15,   88,   89,   18,   91,   35,    1,   95,  119,
533  /*   610 */    16,  108,   98,   99,   95,   87,  102,  103,   58,  105,
534  /*   620 */    87,  108,   16,    2,   22,   97,   18,  108,   91,   92,
535  /*   630 */    97,   37,   38,   39,   40,   41,   42,   43,   44,   45,
536  /*   640 */    46,   47,   48,   49,   50,    1,  104,   17,   16,   26,
537  /*   650 */    52,   25,   33,  111,   22,   60,   95,   63,   64,   65,
538  /*   660 */    66,   67,   68,   69,   70,   71,   72,   73,   74,  108,
539  /*   670 */    17,   19,   18,   18,   18,   17,   60,   18,   17,   22,
540  /*   680 */    36,   37,   38,   39,   40,   41,   42,   43,   44,   45,
541  /*   690 */    46,   47,   48,   49,   50,   33,   56,    2,   18,   18,
542  /*   700 */    18,   97,    1,   62,   20,   22,  107,   63,   64,   65,
543  /*   710 */    66,   67,   68,   69,   70,   71,   72,   73,   74,    1,
544  /*   720 */     1,   82,   22,  106,   96,   86,   95,   88,   89,    2,
545  /*   730 */    91,  113,   95,   95,  110,   16,  108,   98,   99,  108,
546  /*   740 */    22,  102,  103,  108,  105,  108,  108,  111,  106,  115,
547  /*   750 */   120,  120,  120,  120,  120,   37,   38,   39,   40,   41,
548  /*   760 */    42,   43,   44,   45,   46,   47,   48,   49,   50,    1,
549  /*   770 */    51,  120,  120,  120,  120,  120,  120,  120,  120,  120,
550  /*   780 */    95,   63,   64,   65,   66,   67,   68,   69,   70,   71,
551  /*   790 */    72,   73,   74,  108,  120,  120,  120,  120,  120,  120,
552  /*   800 */   120,  120,  120,  120,   36,   37,   38,   39,   40,   41,
553  /*   810 */    42,   43,   44,   45,   46,   47,   48,   49,   50,    1,
554  /*   820 */   120,  120,  120,  120,  120,  120,  120,  120,  120,  120,
555  /*   830 */   120,   63,   64,   65,   66,   67,   68,   69,   70,   71,
556  /*   840 */    72,   73,   74,  120,  120,  120,  120,  120,  120,  120,
557  /*   850 */   120,  120,  120,  120,  120,   37,   38,   39,   40,   41,
558  /*   860 */    42,   43,   44,   45,   46,   47,   48,   49,   50,    1,
559  /*   870 */     2,  120,  120,  120,  120,  120,  120,  120,  120,  120,
560  /*   880 */    62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
561  /*   890 */    72,   73,   74,  120,  120,  120,  120,  120,  120,  120,
562  /*   900 */   120,  120,  120,  120,  120,   37,   38,   39,   40,   41,
563  /*   910 */    42,   43,   44,   45,   46,   47,   48,   49,   50,  120,
564  /*   920 */   120,  120,  120,  120,  120,  120,  120,  120,  120,  120,
565  /*   930 */   120,   63,   64,   65,   66,   67,   68,   69,   70,   71,
566  /*   940 */    72,   73,   74,    1,   82,  120,  120,  120,   86,  120,
567  /*   950 */    88,   89,  120,   91,  120,   95,   95,  120,   16,  120,
568  /*   960 */    98,   99,  120,  120,  102,  103,  120,  105,  108,  108,
569  /*   970 */   120,  120,  120,  120,  120,  120,  120,  120,  120,   37,
570  /*   980 */    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
571  /*   990 */    48,   49,   50,    1,  120,  120,  120,  120,  120,  120,
572  /*  1000 */   120,  120,  120,  120,  120,   63,   64,   65,   66,   67,
573  /*  1010 */    68,   69,   70,   71,   72,   73,   74,  120,  120,  120,
574  /*  1020 */   120,  120,  120,  120,  120,  120,  120,  120,  120,   37,
575  /*  1030 */    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
576  /*  1040 */    48,   49,   50,  120,  120,  120,  120,  120,  120,  120,
577  /*  1050 */   120,  120,  120,  120,  120,   63,   64,   65,   66,   67,
578  /*  1060 */    68,   69,   70,   71,   72,   73,   74,   37,   38,   39,
579  /*  1070 */    40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
580  /*  1080 */    50,  120,  120,  120,  120,  120,  120,  120,  120,  120,
581  /*  1090 */   120,  120,  120,   63,   64,   65,   66,   67,   68,   69,
582  /*  1100 */    70,   71,   72,   73,   74,  120,  120,  120,  120,   15,
583  /*  1110 */   120,   17,   18,  120,   82,   21,  120,   23,   86,  120,
584  /*  1120 */    88,   89,   28,   91,  120,   31,   32,   33,  120,   35,
585  /*  1130 */    98,   99,   38,  120,  102,  103,  120,  105,  120,  120,
586  /*  1140 */   120,  120,  120,  120,  120,  120,  120,   53,   54,   55,
587  /*  1150 */    56,   57,  120,   82,   60,   61,   62,   86,  120,   88,
588  /*  1160 */   120,  120,   91,  120,   15,  120,   17,   18,  120,   75,
589  /*  1170 */    21,  120,   23,  102,  103,  120,  105,   28,   10,  120,
590  /*  1180 */    31,   32,   33,   15,   35,  120,  120,   38,  120,   21,
591  /*  1190 */   120,   23,  120,  120,  120,  120,   28,  120,  120,   31,
592  /*  1200 */    32,  120,   53,   54,   55,   56,   57,  120,   82,   60,
593  /*  1210 */    61,  120,   86,  120,   88,  120,  120,   91,  120,   15,
594  /*  1220 */    87,   17,   18,   90,   75,   21,  120,   23,  102,  103,
595  /*  1230 */    97,  105,   28,  100,  101,   31,   32,   33,  120,   35,
596  /*  1240 */   120,  120,   38,   75,   76,   77,  113,   82,    1,  120,
597  /*  1250 */   120,   86,  120,   88,  120,  120,   91,   53,   54,   55,
598  /*  1260 */    56,   57,  120,   16,   60,   61,  120,  102,  103,   22,
599  /*  1270 */   105,  120,  120,  120,   15,  120,   17,   18,  120,   75,
600  /*  1280 */    21,  120,   23,  120,  120,  120,  120,   28,   10,  120,
601  /*  1290 */    31,   32,   33,   15,   35,  120,  120,   38,   51,   21,
602  /*  1300 */   120,   23,  120,  120,  120,  120,   28,  120,  120,   31,
603  /*  1310 */    32,  120,   53,   54,   55,   56,   57,  120,   82,   60,
604  /*  1320 */    61,  120,   86,  120,   88,  120,  120,   91,  120,   15,
605  /*  1330 */    87,   17,   18,   90,   75,   21,  120,   23,  102,  103,
606  /*  1340 */    97,  105,   28,  100,  101,   31,   32,   33,  120,   35,
607  /*  1350 */   120,  120,   38,   75,   76,   77,  113,   82,    1,  120,
608  /*  1360 */   120,   86,  120,   88,  120,  120,   91,   53,   54,   55,
609  /*  1370 */    56,   57,  120,   16,   60,   61,  120,  102,  103,   22,
610  /*  1380 */   105,  120,  120,  120,   15,   87,   17,   18,   90,   75,
611  /*  1390 */    21,  120,   23,  120,    1,   97,  120,   28,  100,  101,
612  /*  1400 */    31,   32,   33,  120,   35,  120,  120,   38,   51,   16,
613  /*  1410 */   120,  113,   82,   20,  120,   22,   86,  120,   88,  120,
614  /*  1420 */   120,   91,   53,   54,   55,   56,   57,  120,   35,   60,
615  /*  1430 */    61,  120,  102,  103,  120,  105,  120,  120,  120,   15,
616  /*  1440 */    87,   17,   18,   90,   75,   21,  120,   23,  120,  120,
617  /*  1450 */    97,   58,   28,  100,  101,   31,   32,   33,  120,   35,
618  /*  1460 */   120,  120,   38,  120,  120,  120,  113,   82,  120,  120,
619  /*  1470 */   120,   86,  120,   88,  120,  120,   91,   53,   54,   55,
620  /*  1480 */    56,   57,  120,  120,   60,   61,  120,  102,  103,  120,
621  /*  1490 */   105,  120,  120,  120,   15,   87,   17,   18,   90,   75,
622  /*  1500 */    21,  120,   23,  120,  120,   97,  120,   28,  100,  101,
623  /*  1510 */    31,   32,   33,  120,   35,  120,   87,   38,  120,   90,
624  /*  1520 */   120,  113,  120,  120,  120,  120,   97,  120,  120,  100,
625  /*  1530 */   101,  120,   53,   54,   55,   56,   57,  120,  120,   60,
626  /*  1540 */    61,  120,  113,  120,  120,  120,  120,  120,  120,   15,
627  /*  1550 */   120,   17,   18,    1,   75,   21,  120,   23,  120,  120,
628  /*  1560 */   120,  120,   28,  120,  120,   31,   32,   33,   16,   35,
629  /*  1570 */   120,  120,   38,  120,   22,  120,  120,  120,  120,  120,
630  /*  1580 */   120,   29,  120,  120,  120,  120,  120,   53,   54,   55,
631  /*  1590 */    56,   57,  120,  120,   60,   61,  120,  120,  120,  120,
632  /*  1600 */   120,  120,  120,   51,   15,  120,   17,   18,  120,   75,
633  /*  1610 */    21,  120,   23,  120,  120,  120,  120,   28,  120,  120,
634  /*  1620 */    31,   32,   33,  120,   35,  120,  120,   38,  120,  120,
635  /*  1630 */   120,  120,  120,  120,  120,  120,  120,  120,  120,  120,
636  /*  1640 */   120,  120,   53,   54,   55,   56,   57,  120,  120,   60,
637  /*  1650 */    61,  120,  120,  120,  120,  120,  120,  120,  120,   15,
638  /*  1660 */   120,   17,   18,  120,   75,   21,  120,   23,  120,  120,
639  /*  1670 */   120,  120,   28,  120,  120,   31,   32,   33,  120,   35,
640  /*  1680 */   120,  120,   38,  120,  120,  120,  120,  120,  120,  120,
641  /*  1690 */   120,  120,  120,  120,  120,  120,  120,   53,   54,   55,
642  /*  1700 */    56,   57,  120,  120,   60,  120,  120,  120,  120,  120,
643  /*  1710 */   120,  120,  120,  120,   15,  120,   17,   18,  120,   75,
644  /*  1720 */    21,  120,   23,  120,  120,  120,  120,   28,  120,  120,
645  /*  1730 */    31,   32,   33,  120,   35,  120,  120,   38,  120,  120,
646  /*  1740 */   120,  120,  120,  120,  120,  120,  120,  120,  120,  120,
647  /*  1750 */   120,  120,   53,   54,   55,   56,   57,  120,  120,   60,
648  /*  1760 */   120,  120,  120,  120,  120,  120,  120,  120,  120,   16,
649  /*  1770 */   120,  120,  120,  120,   75,   22,  120,   24,  120,   26,
650  /*  1780 */    27,  120,   29,  120,  120,  120,  120,   34,   35,   36,
651  /*  1790 */   120,  120,  120,  120,  120,  120,  120,  120,  120,  120,
652  /*  1800 */   120,  120,  120,   82,   51,  120,  120,   86,  120,   88,
653  /*  1810 */    89,   58,   91,  120,  120,   62,  120,  120,  120,   98,
654  /*  1820 */    99,  120,  120,  102,  103,  120,  105,  120,  120,   76,
655  /*  1830 */   120,  120,  120,  120,  120,  120,   82,  116,  117,  120,
656  /*  1840 */    86,  120,   88,   89,  120,   91,  120,  120,  120,  120,
657  /*  1850 */   120,  120,   98,   99,  120,  120,  102,  103,   82,  105,
658  /*  1860 */   120,  120,   86,  120,   88,   89,  120,   91,  120,  120,
659  /*  1870 */   120,  117,  120,  120,   98,   99,  120,  120,  102,  103,
660  /*  1880 */   120,  105,  120,  120,  120,  120,   82,  120,  120,  120,
661  /*  1890 */    86,  120,   88,   89,  120,   91,  120,  120,  120,  120,
662  /*  1900 */   120,  120,   98,   99,  120,  120,  102,  103,  120,  105,
663  /*  1910 */   120,  120,   82,  120,  120,  120,   86,  120,   88,   89,
664  /*  1920 */   120,   91,  120,  120,  120,  120,  120,  120,   98,   99,
665  /*  1930 */   120,  120,  102,  103,  120,  105,   82,  120,  120,  120,
666  /*  1940 */    86,  120,   88,   89,  120,   91,  120,  120,  120,  120,
667  /*  1950 */   120,  120,   98,   99,   82,  120,  102,  103,   86,  105,
668  /*  1960 */    88,   89,  120,   91,  120,  120,  120,  120,  120,  120,
669  /*  1970 */    98,   99,  120,  120,  102,  103,   82,  105,  120,  120,
670  /*  1980 */    86,  120,   88,   89,  120,   91,  120,  120,  120,  120,
671  /*  1990 */   120,  120,   98,   99,  120,  120,  102,  103,  120,  105,
672  /*  2000 */   120,   82,  120,  120,  120,   86,  120,   88,   89,  120,
673  /*  2010 */    91,  120,  120,  120,  120,  120,  120,   98,   99,   82,
674  /*  2020 */   120,  102,  103,   86,  105,   88,   89,  120,   91,  120,
675  /*  2030 */   120,  120,  120,  120,  120,   98,   99,   82,  120,  102,
676  /*  2040 */   103,   86,  105,   88,   89,  120,   91,  120,  120,  120,
677  /*  2050 */   120,  120,  120,   98,   99,  120,  120,  102,  103,   82,
678  /*  2060 */   105,  120,  120,   86,  120,   88,   89,  120,   91,  120,
679  /*  2070 */   120,  120,  120,  120,  120,   98,   99,  120,  120,  102,
680  /*  2080 */   103,  120,  105,  120,   82,  120,  120,  120,   86,  120,
681  /*  2090 */    88,   89,  120,   91,  120,  120,  120,  120,  120,  120,
682  /*  2100 */    98,   99,   82,  120,  102,  103,   86,  105,   88,   89,
683  /*  2110 */   120,   91,  120,  120,  120,  120,  120,  120,   98,   99,
684  /*  2120 */    82,  120,  102,  103,   86,  105,   88,   89,  120,   91,
685  /*  2130 */   120,  120,  120,  120,  120,  120,   98,   99,  120,  120,
686  /*  2140 */   102,  103,   82,  105,  120,  120,   86,  120,   88,   89,
687  /*  2150 */   120,   91,  120,  120,  120,  120,  120,  120,   98,   99,
688  /*  2160 */   120,  120,  102,  103,  120,  105,  120,   82,  120,  120,
689  /*  2170 */   120,   86,  120,   88,   89,  120,   91,  120,  120,  120,
690  /*  2180 */   120,  120,  120,   98,   99,   82,  120,  102,  103,   86,
691  /*  2190 */   105,   88,   89,  120,   91,  120,  120,  120,  120,  120,
692  /*  2200 */   120,   98,   99,   82,  120,  102,  103,   86,  105,   88,
693  /*  2210 */    89,  120,   91,  120,  120,  120,  120,  120,  120,   98,
694  /*  2220 */    99,  120,  120,  102,  103,   82,  105,  120,  120,   86,
695  /*  2230 */   120,   88,   89,  120,   91,  120,  120,  120,  120,  120,
696  /*  2240 */   120,   98,   99,  120,  120,  102,  103,  120,  105,  120,
697  /*  2250 */    82,  120,  120,  120,   86,  120,   88,   89,  120,   91,
698  /*  2260 */   120,  120,  120,  120,  120,  120,   98,   99,   82,  120,
699  /*  2270 */   102,  103,   86,  105,   88,   89,  120,   91,  120,  120,
700  /*  2280 */   120,  120,  120,  120,   98,   99,   82,  120,  102,  103,
701  /*  2290 */    86,  105,   88,   89,  120,   91,  120,  120,  120,  120,
702  /*  2300 */   120,  120,   98,   99,  120,  120,  102,  103,   82,  105,
703  /*  2310 */   120,  120,   86,  120,   88,   89,  120,   91,  120,  120,
704  /*  2320 */   120,  120,  120,  120,   98,   99,  120,  120,  102,  103,
705  /*  2330 */   120,  105,  120,   82,  120,  120,  120,   86,  120,   88,
706  /*  2340 */    89,  120,   91,  120,  120,  120,  120,  120,  120,   98,
707  /*  2350 */    99,   82,  120,  102,  103,   86,  105,   88,   89,  120,
708  /*  2360 */    91,  120,  120,  120,  120,  120,  120,   98,   99,   82,
709  /*  2370 */   120,  102,  103,   86,  105,   88,   89,  120,   91,  120,
710  /*  2380 */   120,  120,  120,  120,  120,   98,   99,  120,  120,  102,
711  /*  2390 */   103,   82,  105,  120,  120,   86,  120,   88,   89,  120,
712  /*  2400 */    91,  120,  120,  120,  120,  120,  120,   98,   99,  120,
713  /*  2410 */   120,  102,  103,  120,  105,  120,   82,  120,  120,  120,
714  /*  2420 */    86,  120,   88,   89,  120,   91,  120,  120,  120,  120,
715  /*  2430 */   120,  120,   98,   99,   82,  120,  102,  103,   86,  105,
716  /*  2440 */    88,   89,  120,   91,  120,  120,  120,  120,  120,  120,
717  /*  2450 */    98,   99,   82,  120,  102,  103,   86,  105,   88,   89,
718  /*  2460 */   120,   91,  120,  120,  120,  120,  120,  120,   98,   99,
719  /*  2470 */   120,  120,  102,  103,   82,  105,  120,  120,   86,  120,
720  /*  2480 */    88,   89,  120,   91,  120,  120,  120,  120,  120,  120,
721  /*  2490 */    98,   99,  120,  120,  102,  103,  120,  105,  120,   82,
722  /*  2500 */   120,  120,  120,   86,  120,   88,   89,  120,   91,  120,
723  /*  2510 */   120,  120,  120,  120,  120,   98,   99,   82,  120,  102,
724  /*  2520 */   103,   86,  105,   88,   89,  120,   91,  120,  120,  120,
725  /*  2530 */   120,  120,  120,   98,   99,   82,  120,  102,  103,   86,
726  /*  2540 */   105,   88,   82,  120,   91,  120,   86,  120,   88,  120,
727  /*  2550 */   120,   91,   99,  120,  120,  102,  103,  120,  105,   99,
728  /*  2560 */   120,  120,  102,  103,  120,  105,
729 );
730     const YY_SHIFT_USE_DFLT = -9;
731     const YY_SHIFT_MAX = 250;
732     static public $yy_shift_ofst = array(
733  /*     0 */     1, 1424, 1259, 1149, 1259, 1149, 1149, 1424, 1094, 1149,
734  /*    10 */  1149, 1479, 1149, 1589, 1534, 1149, 1149, 1149, 1314, 1149,
735  /*    20 */  1149, 1149, 1149, 1149, 1369, 1149, 1149, 1149, 1149, 1314,
736  /*    30 */  1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
737  /*    40 */  1149, 1149, 1369, 1149, 1204, 1204, 1644, 1699, 1699, 1699,
738  /*    50 */  1699, 1699, 1699,  147,  221,   -1,   73,  718,  718,  718,
739  /*    60 */   768,  818,  644,  594,  345,  271,  419,  942,  469,  520,
740  /*    70 */   868,  992,  992,  992,  992,  992,  992,  992,  992,  992,
741  /*    80 */   992,  992,  992,  992,  992,  992,  992,  992,  992,  992,
742  /*    90 */  1030, 1030, 1393, 1357,  233,    1, 1278,  150,    5,  308,
743  /*   100 */   308,  311,  358,  310,  233,   44,  233, 1168,   46, 1552,
744  /*   110 */   263, 1247,  226,  231,   71,   16,   -2,  299,  182,  181,
745  /*   120 */   282,  163,  719,  459,  560,  532,   44,  460,  559,  581,
746  /*   130 */   460,  460,  460,   44,  563,  460,  632,  586,  548,  532,
747  /*   140 */   459,  460,  460,  460,  460,  701,  701,  701,  683,  700,
748  /*   150 */   701,  701,  701,  701,  684,  701,  684,   -9,   66,  111,
749  /*   160 */     3,  357,  359,  382,  381,  606,  439,  417,  509,  439,
750  /*   170 */   439,  530,  508,  458,  207,  431,  480,  507,  506,  483,
751  /*   180 */   439,  457,  432,  439,  529,  433,  385,  383,  727,  684,
752  /*   190 */   701,  684,  727,  701,  684,  538,  222,   -8,   -8,   -9,
753  /*   200 */    -9,   -9,   -9, 1753,   72,  116,  216,  120,  123,   74,
754  /*   210 */    74,  141,  552,   32,  315,  306,  329,   90,  413,  366,
755  /*   220 */   682,  616,  657,  659,  658,  655,  656,  661,  662,  641,
756  /*   230 */   681,  680,  640,  695,  654,  652,  621,  602,  571,  557,
757  /*   240 */   324,  538,  608,  307,  630,  595,  653,  619,  626,  623,
758  /*   250 */   598,
759 );
760     const YY_REDUCE_USE_DFLT = -81;
761     const YY_REDUCE_MAX = 202;
762     static public $yy_reduce_ofst = array(
763  /*     0 */    22, 1721,   68,  339,  266,   -6,  142, 1754,  862, 2020,
764  /*    10 */   514, 1977, 1776, 2103, 1919, 1872, 1804, 1830, 2121, 2392,
765  /*    20 */  2186, 2287, 2269, 2168, 2435, 2143,  639, 1955, 2085, 1937,
766  /*    30 */  1032, 2060, 2038, 1894, 1854, 2002, 2352, 2417, 2370, 2334,
767  /*    40 */  2204, 2226, 2251, 2309, 2460, 2453, 1071, 1126, 1275, 1385,
768  /*    50 */  1330, 1236, 1165, 1353, 1408, 1243, 1429, 1298, 1133, 1353,
769  /*    60 */    61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
770  /*    70 */    61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
771  /*    80 */    61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
772  /*    90 */    61,   61,  186,  139,  112,  -80,  214,  -10,  342,  337,
773  /*   100 */   269,   96,  309,  335,  384,  210,  407,  490,  -57,  -35,
774  /*   110 */   270,  -35,  -35,  628,  270,  270,  170,  -35,  528,  170,
775  /*   120 */   528,  466,  -35,  444,  170,  513,  435,  561,  519,  463,
776  /*   130 */   519,  637,  395,  537,  861,  631,  533,  519,  -35,  519,
777  /*   140 */   542,  860,  685,  638,  503,  -35,  -35,  -35,  346,  349,
778  /*   150 */   -35,  -35,  -35,  -35,  170,  -35,  196,  -35,  635,  636,
779  /*   160 */   604,  604,  604,  604,  604,  618,  599,  642,  604,  599,
780  /*   170 */   599,  604,  604,  604,  618,  604,  604,  604,  604,  604,
781  /*   180 */   599,  604,  604,  599,  604,  604,  604,  604,  634,  624,
782  /*   190 */   618,  624,  634,  618,  624,  617,   43,  -64,  159,   21,
783  /*   200 */   169,  151,  183,
784 );
785     static public $yyExpectedTokens = array(
786         /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ),
787         /* 1 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
788         /* 2 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
789         /* 3 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
790         /* 4 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
791         /* 5 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
792         /* 6 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
793         /* 7 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
794         /* 8 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 62, 75, ),
795         /* 9 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
796         /* 10 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
797         /* 11 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
798         /* 12 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
799         /* 13 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
800         /* 14 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
801         /* 15 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
802         /* 16 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
803         /* 17 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
804         /* 18 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
805         /* 19 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
806         /* 20 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
807         /* 21 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
808         /* 22 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
809         /* 23 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
810         /* 24 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
811         /* 25 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
812         /* 26 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
813         /* 27 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
814         /* 28 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
815         /* 29 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
816         /* 30 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
817         /* 31 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
818         /* 32 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
819         /* 33 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
820         /* 34 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
821         /* 35 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
822         /* 36 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
823         /* 37 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
824         /* 38 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
825         /* 39 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
826         /* 40 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
827         /* 41 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
828         /* 42 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
829         /* 43 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
830         /* 44 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
831         /* 45 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
832         /* 46 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
833         /* 47 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
834         /* 48 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
835         /* 49 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
836         /* 50 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
837         /* 51 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
838         /* 52 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
839         /* 53 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
840         /* 54 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
841         /* 55 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
842         /* 56 */ array(1, 22, 27, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
843         /* 57 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
844         /* 58 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
845         /* 59 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
846         /* 60 */ array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
847         /* 61 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
848         /* 62 */ array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
849         /* 63 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
850         /* 64 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
851         /* 65 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, ),
852         /* 66 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
853         /* 67 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
854         /* 68 */ array(1, 29, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
855         /* 69 */ array(1, 24, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
856         /* 70 */ array(1, 2, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
857         /* 71 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
858         /* 72 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
859         /* 73 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
860         /* 74 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
861         /* 75 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
862         /* 76 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
863         /* 77 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
864         /* 78 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
865         /* 79 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
866         /* 80 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
867         /* 81 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
868         /* 82 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
869         /* 83 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
870         /* 84 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
871         /* 85 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
872         /* 86 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
873         /* 87 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
874         /* 88 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
875         /* 89 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
876         /* 90 */ array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
877         /* 91 */ array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
878         /* 92 */ array(1, 16, 20, 22, 35, 58, ),
879         /* 93 */ array(1, 16, 22, 51, ),
880         /* 94 */ array(1, 22, ),
881         /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ),
882         /* 96 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ),
883         /* 97 */ array(15, 18, 22, 30, ),
884         /* 98 */ array(15, 18, 22, 30, ),
885         /* 99 */ array(15, 18, 22, ),
886         /* 100 */ array(15, 18, 22, ),
887         /* 101 */ array(20, 56, 61, ),
888         /* 102 */ array(1, 16, 22, ),
889         /* 103 */ array(17, 18, 60, ),
890         /* 104 */ array(1, 22, ),
891         /* 105 */ array(17, 35, ),
892         /* 106 */ array(1, 22, ),
893         /* 107 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ),
894         /* 108 */ array(4, 5, 6, 7, 8, 12, 13, 14, ),
895         /* 109 */ array(1, 16, 22, 29, 51, ),
896         /* 110 */ array(15, 18, 19, 59, ),
897         /* 111 */ array(1, 16, 22, 51, ),
898         /* 112 */ array(1, 16, 22, 51, ),
899         /* 113 */ array(15, 18, 19, 25, ),
900         /* 114 */ array(15, 18, 19, ),
901         /* 115 */ array(15, 18, 59, ),
902         /* 116 */ array(19, 20, 58, ),
903         /* 117 */ array(1, 30, 51, ),
904         /* 118 */ array(16, 22, 25, ),
905         /* 119 */ array(19, 20, 58, ),
906         /* 120 */ array(16, 22, 25, ),
907         /* 121 */ array(1, 16, 20, ),
908         /* 122 */ array(1, 16, 51, ),
909         /* 123 */ array(17, 18, ),
910         /* 124 */ array(20, 58, ),
911         /* 125 */ array(15, 18, ),
912         /* 126 */ array(17, 35, ),
913         /* 127 */ array(15, 18, ),
914         /* 128 */ array(15, 18, ),
915         /* 129 */ array(1, 16, ),
916         /* 130 */ array(15, 18, ),
917         /* 131 */ array(15, 18, ),
918         /* 132 */ array(15, 18, ),
919         /* 133 */ array(17, 35, ),
920         /* 134 */ array(15, 18, ),
921         /* 135 */ array(15, 18, ),
922         /* 136 */ array(16, 22, ),
923         /* 137 */ array(15, 18, ),
924         /* 138 */ array(1, 51, ),
925         /* 139 */ array(15, 18, ),
926         /* 140 */ array(17, 18, ),
927         /* 141 */ array(15, 18, ),
928         /* 142 */ array(15, 18, ),
929         /* 143 */ array(15, 18, ),
930         /* 144 */ array(15, 18, ),
931         /* 145 */ array(1, ),
932         /* 146 */ array(1, ),
933         /* 147 */ array(1, ),
934         /* 148 */ array(22, ),
935         /* 149 */ array(22, ),
936         /* 150 */ array(1, ),
937         /* 151 */ array(1, ),
938         /* 152 */ array(1, ),
939         /* 153 */ array(1, ),
940         /* 154 */ array(20, ),
941         /* 155 */ array(1, ),
942         /* 156 */ array(20, ),
943         /* 157 */ array(),
944         /* 158 */ array(15, 18, 59, ),
945         /* 159 */ array(15, 17, 18, ),
946         /* 160 */ array(16, 22, ),
947         /* 161 */ array(16, 22, ),
948         /* 162 */ array(16, 22, ),
949         /* 163 */ array(16, 22, ),
950         /* 164 */ array(16, 22, ),
951         /* 165 */ array(1, 16, ),
952         /* 166 */ array(56, 61, ),
953         /* 167 */ array(15, 35, ),
954         /* 168 */ array(16, 22, ),
955         /* 169 */ array(56, 61, ),
956         /* 170 */ array(56, 61, ),
957         /* 171 */ array(16, 22, ),
958         /* 172 */ array(16, 22, ),
959         /* 173 */ array(16, 22, ),
960         /* 174 */ array(1, 16, ),
961         /* 175 */ array(16, 22, ),
962         /* 176 */ array(16, 22, ),
963         /* 177 */ array(16, 22, ),
964         /* 178 */ array(16, 22, ),
965         /* 179 */ array(16, 22, ),
966         /* 180 */ array(56, 61, ),
967         /* 181 */ array(16, 22, ),
968         /* 182 */ array(16, 22, ),
969         /* 183 */ array(56, 61, ),
970         /* 184 */ array(16, 22, ),
971         /* 185 */ array(16, 22, ),
972         /* 186 */ array(16, 22, ),
973         /* 187 */ array(16, 22, ),
974         /* 188 */ array(2, ),
975         /* 189 */ array(20, ),
976         /* 190 */ array(1, ),
977         /* 191 */ array(20, ),
978         /* 192 */ array(2, ),
979         /* 193 */ array(1, ),
980         /* 194 */ array(20, ),
981         /* 195 */ array(35, ),
982         /* 196 */ array(13, ),
983         /* 197 */ array(22, ),
984         /* 198 */ array(22, ),
985         /* 199 */ array(),
986         /* 200 */ array(),
987         /* 201 */ array(),
988         /* 202 */ array(),
989         /* 203 */ array(16, 22, 24, 26, 27, 29, 34, 35, 36, 51, 58, 62, 76, ),
990         /* 204 */ array(16, 19, 22, 35, 58, ),
991         /* 205 */ array(15, 17, 18, 33, ),
992         /* 206 */ array(16, 22, 35, 58, ),
993         /* 207 */ array(35, 56, 58, 62, ),
994         /* 208 */ array(30, 35, 58, ),
995         /* 209 */ array(35, 58, ),
996         /* 210 */ array(35, 58, ),
997         /* 211 */ array(34, 36, ),
998         /* 212 */ array(2, 19, ),
999         /* 213 */ array(25, 76, ),
1000         /* 214 */ array(34, 36, ),
1001         /* 215 */ array(19, 56, ),
1002         /* 216 */ array(24, 34, ),
1003         /* 217 */ array(34, 62, ),
1004         /* 218 */ array(18, 59, ),
1005         /* 219 */ array(34, 36, ),
1006         /* 220 */ array(18, ),
1007         /* 221 */ array(60, ),
1008         /* 222 */ array(22, ),
1009         /* 223 */ array(18, ),
1010         /* 224 */ array(17, ),
1011         /* 225 */ array(18, ),
1012         /* 226 */ array(18, ),
1013         /* 227 */ array(17, ),
1014         /* 228 */ array(33, ),
1015         /* 229 */ array(62, ),
1016         /* 230 */ array(18, ),
1017         /* 231 */ array(18, ),
1018         /* 232 */ array(56, ),
1019         /* 233 */ array(2, ),
1020         /* 234 */ array(18, ),
1021         /* 235 */ array(19, ),
1022         /* 236 */ array(2, ),
1023         /* 237 */ array(22, ),
1024         /* 238 */ array(35, ),
1025         /* 239 */ array(18, ),
1026         /* 240 */ array(36, ),
1027         /* 241 */ array(35, ),
1028         /* 242 */ array(18, ),
1029         /* 243 */ array(17, ),
1030         /* 244 */ array(17, ),
1031         /* 245 */ array(60, ),
1032         /* 246 */ array(17, ),
1033         /* 247 */ array(33, ),
1034         /* 248 */ array(25, ),
1035         /* 249 */ array(26, ),
1036         /* 250 */ array(52, ),
1037         /* 251 */ array(),
1038         /* 252 */ array(),
1039         /* 253 */ array(),
1040         /* 254 */ array(),
1041         /* 255 */ array(),
1042         /* 256 */ array(),
1043         /* 257 */ array(),
1044         /* 258 */ array(),
1045         /* 259 */ array(),
1046         /* 260 */ array(),
1047         /* 261 */ array(),
1048         /* 262 */ array(),
1049         /* 263 */ array(),
1050         /* 264 */ array(),
1051         /* 265 */ array(),
1052         /* 266 */ array(),
1053         /* 267 */ array(),
1054         /* 268 */ array(),
1055         /* 269 */ array(),
1056         /* 270 */ array(),
1057         /* 271 */ array(),
1058         /* 272 */ array(),
1059         /* 273 */ array(),
1060         /* 274 */ array(),
1061         /* 275 */ array(),
1062         /* 276 */ array(),
1063         /* 277 */ array(),
1064         /* 278 */ array(),
1065         /* 279 */ array(),
1066         /* 280 */ array(),
1067         /* 281 */ array(),
1068         /* 282 */ array(),
1069         /* 283 */ array(),
1070         /* 284 */ array(),
1071         /* 285 */ array(),
1072         /* 286 */ array(),
1073         /* 287 */ array(),
1074         /* 288 */ array(),
1075         /* 289 */ array(),
1076         /* 290 */ array(),
1077         /* 291 */ array(),
1078         /* 292 */ array(),
1079         /* 293 */ array(),
1080         /* 294 */ array(),
1081         /* 295 */ array(),
1082         /* 296 */ array(),
1083         /* 297 */ array(),
1084         /* 298 */ array(),
1085         /* 299 */ array(),
1086         /* 300 */ array(),
1087         /* 301 */ array(),
1088         /* 302 */ array(),
1089         /* 303 */ array(),
1090         /* 304 */ array(),
1091         /* 305 */ array(),
1092         /* 306 */ array(),
1093         /* 307 */ array(),
1094         /* 308 */ array(),
1095         /* 309 */ array(),
1096         /* 310 */ array(),
1097         /* 311 */ array(),
1098         /* 312 */ array(),
1099         /* 313 */ array(),
1100         /* 314 */ array(),
1101         /* 315 */ array(),
1102         /* 316 */ array(),
1103         /* 317 */ array(),
1104         /* 318 */ array(),
1105         /* 319 */ array(),
1106         /* 320 */ array(),
1107         /* 321 */ array(),
1108         /* 322 */ array(),
1109         /* 323 */ array(),
1110         /* 324 */ array(),
1111         /* 325 */ array(),
1112         /* 326 */ array(),
1113         /* 327 */ array(),
1114         /* 328 */ array(),
1115         /* 329 */ array(),
1116         /* 330 */ array(),
1117         /* 331 */ array(),
1118         /* 332 */ array(),
1119         /* 333 */ array(),
1120         /* 334 */ array(),
1121         /* 335 */ array(),
1122         /* 336 */ array(),
1123         /* 337 */ array(),
1124         /* 338 */ array(),
1125         /* 339 */ array(),
1126         /* 340 */ array(),
1127         /* 341 */ array(),
1128         /* 342 */ array(),
1129         /* 343 */ array(),
1130         /* 344 */ array(),
1131         /* 345 */ array(),
1132         /* 346 */ array(),
1133         /* 347 */ array(),
1134         /* 348 */ array(),
1135         /* 349 */ array(),
1136         /* 350 */ array(),
1137         /* 351 */ array(),
1138         /* 352 */ array(),
1139         /* 353 */ array(),
1140         /* 354 */ array(),
1141         /* 355 */ array(),
1142         /* 356 */ array(),
1143         /* 357 */ array(),
1144         /* 358 */ array(),
1145         /* 359 */ array(),
1146         /* 360 */ array(),
1147         /* 361 */ array(),
1148         /* 362 */ array(),
1149         /* 363 */ array(),
1150         /* 364 */ array(),
1151         /* 365 */ array(),
1152         /* 366 */ array(),
1153         /* 367 */ array(),
1154         /* 368 */ array(),
1155         /* 369 */ array(),
1156         /* 370 */ array(),
1157         /* 371 */ array(),
1158         /* 372 */ array(),
1159         /* 373 */ array(),
1160         /* 374 */ array(),
1161         /* 375 */ array(),
1162         /* 376 */ array(),
1163         /* 377 */ array(),
1164         /* 378 */ array(),
1165         /* 379 */ array(),
1166         /* 380 */ array(),
1167         /* 381 */ array(),
1168         /* 382 */ array(),
1169 );
1170     static public $yy_default = array(
1171  /*     0 */   386,  565,  582,  536,  582,  536,  536,  582,  582,  582,
1172  /*    10 */   582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
1173  /*    20 */   582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
1174  /*    30 */   582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
1175  /*    40 */   582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
1176  /*    50 */   582,  582,  582,  582,  582,  582,  444,  444,  444,  444,
1177  /*    60 */   582,  582,  582,  582,  582,  582,  582,  582,  449,  582,
1178  /*    70 */   582,  446,  535,  428,  534,  566,  567,  478,  477,  468,
1179  /*    80 */   465,  449,  568,  455,  469,  474,  473,  470,  454,  451,
1180  /*    90 */   482,  481,  493,  457,  444,  383,  582,  444,  444,  444,
1181  /*   100 */   444,  548,  464,  582,  444,  582,  444,  582,  582,  457,
1182  /*   110 */   509,  457,  457,  582,  509,  509,  502,  457,  483,  502,
1183  /*   120 */   483,  582,  457,  582,  502,  582,  582,  582,  582,  582,
1184  /*   130 */   582,  582,  509,  582,  582,  582,  582,  582,  457,  582,
1185  /*   140 */   582,  582,  582,  582,  582,  480,  461,  484,  444,  444,
1186  /*   150 */   486,  485,  462,  467,  502,  460,  545,  543,  510,  582,
1187  /*   160 */   582,  582,  582,  582,  582,  582,  527,  509,  582,  526,
1188  /*   170 */   529,  582,  582,  582,  582,  582,  582,  582,  582,  582,
1189  /*   180 */   507,  582,  582,  528,  582,  582,  582,  582,  537,  523,
1190  /*   190 */   501,  546,  538,  464,  549,  509,  401,  581,  581,  542,
1191  /*   200 */   509,  509,  542,  459,  493,  582,  493,  493,  493,  493,
1192  /*   210 */   479,  582,  521,  483,  582,  489,  582,  582,  582,  582,
1193  /*   220 */   582,  582,  582,  582,  582,  582,  582,  582,  491,  582,
1194  /*   230 */   582,  582,  489,  521,  582,  582,  521,  582,  547,  582,
1195  /*   240 */   582,  521,  582,  582,  582,  582,  582,  582,  483,  452,
1196  /*   250 */   495,  544,  514,  516,  515,  518,  495,  531,  532,  409,
1197  /*   260 */   395,  431,  394,  425,  396,  430,  398,  456,  397,  426,
1198  /*   270 */   393,  387,  385,  384,  388,  389,  392,  391,  390,  399,
1199  /*   280 */   400,  435,  442,  436,  410,  423,  424,  441,  443,  522,
1200  /*   290 */   408,  407,  404,  403,  402,  405,  453,  429,  580,  406,
1201  /*   300 */   440,  573,  558,  559,  560,  561,  557,  556,  553,  554,
1202  /*   310 */   555,  463,  492,  540,  539,  411,  525,  488,  490,  500,
1203  /*   320 */   504,  552,  551,  508,  503,  459,  466,  499,  496,  497,
1204  /*   330 */   511,  471,  472,  498,  513,  550,  512,  476,  519,  458,
1205  /*   340 */   475,  576,  487,  575,  578,  579,  572,  574,  494,  434,
1206  /*   350 */   570,  571,  433,  562,  530,  505,  506,  427,  533,  564,
1207  /*   360 */   563,  432,  569,  421,  415,  416,  439,  414,  541,  412,
1208  /*   370 */   413,  577,  438,  417,  521,  422,  520,  420,  437,  524,
1209  /*   380 */   418,  419,  517,
1210 );
1211     const YYNOCODE = 121;
1212     const YYSTACKDEPTH = 100;
1213     const YYNSTATE = 383;
1214     const YYNRULE = 199;
1215     const YYERRORSYMBOL = 78;
1216     const YYERRSYMDT = 'yy0';
1217     const YYFALLBACK = 0;
1218     static public $yyFallback = array(
1219     );
1220     static function Trace($TraceFILE, $zTracePrompt)
1221     {
1222         if (!$TraceFILE) {
1223             $zTracePrompt = 0;
1224         } elseif (!$zTracePrompt) {
1225             $TraceFILE = 0;
1226         }
1227         self::$yyTraceFILE = $TraceFILE;
1228         self::$yyTracePrompt = $zTracePrompt;
1229     }
1230
1231     static function PrintTrace()
1232     {
1233         self::$yyTraceFILE = fopen('php://output', 'w');
1234         self::$yyTracePrompt = '<br>';
1235     }
1236
1237     static public $yyTraceFILE;
1238     static public $yyTracePrompt;
1239     public $yyidx;                    /* Index of top element in stack */
1240     public $yyerrcnt;                 /* Shifts left before out of the error */
1241     public $yystack = array();  /* The parser's stack */
1242
1243     public $yyTokenName = array( 
1244   '$',             'VERT',          'COLON',         'COMMENT',     
1245   'PHPSTARTTAG',   'PHPENDTAG',     'ASPSTARTTAG',   'ASPENDTAG',   
1246   'FAKEPHPSTARTTAG',  'XMLTAG',        'OTHER',         'LINEBREAK',   
1247   'LITERALSTART',  'LITERALEND',    'LITERAL',       'LDEL',        
1248   'RDEL',          'DOLLAR',        'ID',            'EQUAL',       
1249   'PTR',           'LDELIF',        'SPACE',         'LDELFOR',     
1250   'SEMICOLON',     'INCDEC',        'TO',            'STEP',        
1251   'LDELFOREACH',   'AS',            'APTR',          'SMARTYBLOCKCHILD',
1252   'LDELSLASH',     'INTEGER',       'COMMA',         'OPENP',       
1253   'CLOSEP',        'MATH',          'UNIMATH',       'ANDSYM',      
1254   'ISIN',          'ISDIVBY',       'ISNOTDIVBY',    'ISEVEN',      
1255   'ISNOTEVEN',     'ISEVENBY',      'ISNOTEVENBY',   'ISODD',       
1256   'ISNOTODD',      'ISODDBY',       'ISNOTODDBY',    'INSTANCEOF',  
1257   'QMARK',         'NOT',           'TYPECAST',      'HEX',         
1258   'DOT',           'SINGLEQUOTESTRING',  'DOUBLECOLON',   'AT',          
1259   'HATCH',         'OPENB',         'CLOSEB',        'EQUALS',      
1260   'NOTEQUALS',     'GREATERTHAN',   'LESSTHAN',      'GREATEREQUAL',
1261   'LESSEQUAL',     'IDENTITY',      'NONEIDENTITY',  'MOD',         
1262   'LAND',          'LOR',           'LXOR',          'QUOTE',       
1263   'BACKTICK',      'DOLLARID',      'error',         'start',       
1264   'template',      'template_element',  'smartytag',     'literal',     
1265   'literal_elements',  'literal_element',  'value',         'attributes',  
1266   'variable',      'expr',          'modifierlist',  'varindexed',  
1267   'statement',     'statements',    'optspace',      'varvar',      
1268   'foraction',     'attribute',     'ternary',       'array',       
1269   'ifcond',        'lop',           'function',      'doublequoted_with_quotes',
1270   'static_class_access',  'object',        'arrayindex',    'indexdef',    
1271   'varvarele',     'objectchain',   'objectelement',  'method',      
1272   'params',        'modifier',      'modparameters',  'modparameter',
1273   'arrayelements',  'arrayelement',  'doublequoted',  'doublequotedcontent',
1274     );
1275
1276     static public $yyRuleName = array(
1277  /*   0 */ "start ::= template",
1278  /*   1 */ "template ::= template_element",
1279  /*   2 */ "template ::= template template_element",
1280  /*   3 */ "template ::=",
1281  /*   4 */ "template_element ::= smartytag",
1282  /*   5 */ "template_element ::= COMMENT",
1283  /*   6 */ "template_element ::= literal",
1284  /*   7 */ "template_element ::= PHPSTARTTAG",
1285  /*   8 */ "template_element ::= PHPENDTAG",
1286  /*   9 */ "template_element ::= ASPSTARTTAG",
1287  /*  10 */ "template_element ::= ASPENDTAG",
1288  /*  11 */ "template_element ::= FAKEPHPSTARTTAG",
1289  /*  12 */ "template_element ::= XMLTAG",
1290  /*  13 */ "template_element ::= OTHER",
1291  /*  14 */ "template_element ::= LINEBREAK",
1292  /*  15 */ "literal ::= LITERALSTART LITERALEND",
1293  /*  16 */ "literal ::= LITERALSTART literal_elements LITERALEND",
1294  /*  17 */ "literal_elements ::= literal_elements literal_element",
1295  /*  18 */ "literal_elements ::=",
1296  /*  19 */ "literal_element ::= literal",
1297  /*  20 */ "literal_element ::= LITERAL",
1298  /*  21 */ "literal_element ::= PHPSTARTTAG",
1299  /*  22 */ "literal_element ::= FAKEPHPSTARTTAG",
1300  /*  23 */ "literal_element ::= PHPENDTAG",
1301  /*  24 */ "literal_element ::= ASPSTARTTAG",
1302  /*  25 */ "literal_element ::= ASPENDTAG",
1303  /*  26 */ "smartytag ::= LDEL value RDEL",
1304  /*  27 */ "smartytag ::= LDEL value attributes RDEL",
1305  /*  28 */ "smartytag ::= LDEL variable attributes RDEL",
1306  /*  29 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
1307  /*  30 */ "smartytag ::= LDEL expr attributes RDEL",
1308  /*  31 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
1309  /*  32 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
1310  /*  33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
1311  /*  34 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
1312  /*  35 */ "smartytag ::= LDEL ID attributes RDEL",
1313  /*  36 */ "smartytag ::= LDEL ID RDEL",
1314  /*  37 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
1315  /*  38 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
1316  /*  39 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
1317  /*  40 */ "smartytag ::= LDELIF SPACE expr RDEL",
1318  /*  41 */ "smartytag ::= LDELIF SPACE expr attributes RDEL",
1319  /*  42 */ "smartytag ::= LDELIF SPACE statement RDEL",
1320  /*  43 */ "smartytag ::= LDELIF SPACE statement attributes RDEL",
1321  /*  44 */ "smartytag ::= LDELFOR SPACE statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL",
1322  /*  45 */ "foraction ::= EQUAL expr",
1323  /*  46 */ "foraction ::= INCDEC",
1324  /*  47 */ "smartytag ::= LDELFOR SPACE statement TO expr attributes RDEL",
1325  /*  48 */ "smartytag ::= LDELFOR SPACE statement TO expr STEP expr attributes RDEL",
1326  /*  49 */ "smartytag ::= LDELFOREACH attributes RDEL",
1327  /*  50 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL",
1328  /*  51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1329  /*  52 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL",
1330  /*  53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1331  /*  54 */ "smartytag ::= SMARTYBLOCKCHILD",
1332  /*  55 */ "smartytag ::= LDELSLASH ID RDEL",
1333  /*  56 */ "smartytag ::= LDELSLASH ID modifierlist RDEL",
1334  /*  57 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
1335  /*  58 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL",
1336  /*  59 */ "attributes ::= attributes attribute",
1337  /*  60 */ "attributes ::= attribute",
1338  /*  61 */ "attributes ::=",
1339  /*  62 */ "attribute ::= SPACE ID EQUAL ID",
1340  /*  63 */ "attribute ::= SPACE ID EQUAL expr",
1341  /*  64 */ "attribute ::= SPACE ID EQUAL value",
1342  /*  65 */ "attribute ::= SPACE ID",
1343  /*  66 */ "attribute ::= SPACE expr",
1344  /*  67 */ "attribute ::= SPACE value",
1345  /*  68 */ "attribute ::= SPACE INTEGER EQUAL expr",
1346  /*  69 */ "statements ::= statement",
1347  /*  70 */ "statements ::= statements COMMA statement",
1348  /*  71 */ "statement ::= DOLLAR varvar EQUAL expr",
1349  /*  72 */ "statement ::= varindexed EQUAL expr",
1350  /*  73 */ "statement ::= OPENP statement CLOSEP",
1351  /*  74 */ "expr ::= value",
1352  /*  75 */ "expr ::= ternary",
1353  /*  76 */ "expr ::= DOLLAR ID COLON ID",
1354  /*  77 */ "expr ::= expr MATH value",
1355  /*  78 */ "expr ::= expr UNIMATH value",
1356  /*  79 */ "expr ::= expr ANDSYM value",
1357  /*  80 */ "expr ::= array",
1358  /*  81 */ "expr ::= expr modifierlist",
1359  /*  82 */ "expr ::= expr ifcond expr",
1360  /*  83 */ "expr ::= expr ISIN array",
1361  /*  84 */ "expr ::= expr ISIN value",
1362  /*  85 */ "expr ::= expr lop expr",
1363  /*  86 */ "expr ::= expr ISDIVBY expr",
1364  /*  87 */ "expr ::= expr ISNOTDIVBY expr",
1365  /*  88 */ "expr ::= expr ISEVEN",
1366  /*  89 */ "expr ::= expr ISNOTEVEN",
1367  /*  90 */ "expr ::= expr ISEVENBY expr",
1368  /*  91 */ "expr ::= expr ISNOTEVENBY expr",
1369  /*  92 */ "expr ::= expr ISODD",
1370  /*  93 */ "expr ::= expr ISNOTODD",
1371  /*  94 */ "expr ::= expr ISODDBY expr",
1372  /*  95 */ "expr ::= expr ISNOTODDBY expr",
1373  /*  96 */ "expr ::= value INSTANCEOF ID",
1374  /*  97 */ "expr ::= value INSTANCEOF value",
1375  /*  98 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
1376  /*  99 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
1377  /* 100 */ "value ::= variable",
1378  /* 101 */ "value ::= UNIMATH value",
1379  /* 102 */ "value ::= NOT value",
1380  /* 103 */ "value ::= TYPECAST value",
1381  /* 104 */ "value ::= variable INCDEC",
1382  /* 105 */ "value ::= HEX",
1383  /* 106 */ "value ::= INTEGER",
1384  /* 107 */ "value ::= INTEGER DOT INTEGER",
1385  /* 108 */ "value ::= INTEGER DOT",
1386  /* 109 */ "value ::= DOT INTEGER",
1387  /* 110 */ "value ::= ID",
1388  /* 111 */ "value ::= function",
1389  /* 112 */ "value ::= OPENP expr CLOSEP",
1390  /* 113 */ "value ::= SINGLEQUOTESTRING",
1391  /* 114 */ "value ::= doublequoted_with_quotes",
1392  /* 115 */ "value ::= ID DOUBLECOLON static_class_access",
1393  /* 116 */ "value ::= varindexed DOUBLECOLON static_class_access",
1394  /* 117 */ "value ::= smartytag",
1395  /* 118 */ "value ::= value modifierlist",
1396  /* 119 */ "variable ::= varindexed",
1397  /* 120 */ "variable ::= DOLLAR varvar AT ID",
1398  /* 121 */ "variable ::= object",
1399  /* 122 */ "variable ::= HATCH ID HATCH",
1400  /* 123 */ "variable ::= HATCH variable HATCH",
1401  /* 124 */ "varindexed ::= DOLLAR varvar arrayindex",
1402  /* 125 */ "arrayindex ::= arrayindex indexdef",
1403  /* 126 */ "arrayindex ::=",
1404  /* 127 */ "indexdef ::= DOT DOLLAR varvar",
1405  /* 128 */ "indexdef ::= DOT DOLLAR varvar AT ID",
1406  /* 129 */ "indexdef ::= DOT ID",
1407  /* 130 */ "indexdef ::= DOT INTEGER",
1408  /* 131 */ "indexdef ::= DOT LDEL expr RDEL",
1409  /* 132 */ "indexdef ::= OPENB ID CLOSEB",
1410  /* 133 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
1411  /* 134 */ "indexdef ::= OPENB expr CLOSEB",
1412  /* 135 */ "indexdef ::= OPENB CLOSEB",
1413  /* 136 */ "varvar ::= varvarele",
1414  /* 137 */ "varvar ::= varvar varvarele",
1415  /* 138 */ "varvarele ::= ID",
1416  /* 139 */ "varvarele ::= LDEL expr RDEL",
1417  /* 140 */ "object ::= varindexed objectchain",
1418  /* 141 */ "objectchain ::= objectelement",
1419  /* 142 */ "objectchain ::= objectchain objectelement",
1420  /* 143 */ "objectelement ::= PTR ID arrayindex",
1421  /* 144 */ "objectelement ::= PTR DOLLAR varvar arrayindex",
1422  /* 145 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
1423  /* 146 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
1424  /* 147 */ "objectelement ::= PTR method",
1425  /* 148 */ "function ::= ID OPENP params CLOSEP",
1426  /* 149 */ "method ::= ID OPENP params CLOSEP",
1427  /* 150 */ "method ::= DOLLAR ID OPENP params CLOSEP",
1428  /* 151 */ "params ::= params COMMA expr",
1429  /* 152 */ "params ::= expr",
1430  /* 153 */ "params ::=",
1431  /* 154 */ "modifierlist ::= modifierlist modifier modparameters",
1432  /* 155 */ "modifierlist ::= modifier modparameters",
1433  /* 156 */ "modifier ::= VERT AT ID",
1434  /* 157 */ "modifier ::= VERT ID",
1435  /* 158 */ "modparameters ::= modparameters modparameter",
1436  /* 159 */ "modparameters ::=",
1437  /* 160 */ "modparameter ::= COLON value",
1438  /* 161 */ "modparameter ::= COLON array",
1439  /* 162 */ "static_class_access ::= method",
1440  /* 163 */ "static_class_access ::= method objectchain",
1441  /* 164 */ "static_class_access ::= ID",
1442  /* 165 */ "static_class_access ::= DOLLAR ID arrayindex",
1443  /* 166 */ "static_class_access ::= DOLLAR ID arrayindex objectchain",
1444  /* 167 */ "ifcond ::= EQUALS",
1445  /* 168 */ "ifcond ::= NOTEQUALS",
1446  /* 169 */ "ifcond ::= GREATERTHAN",
1447  /* 170 */ "ifcond ::= LESSTHAN",
1448  /* 171 */ "ifcond ::= GREATEREQUAL",
1449  /* 172 */ "ifcond ::= LESSEQUAL",
1450  /* 173 */ "ifcond ::= IDENTITY",
1451  /* 174 */ "ifcond ::= NONEIDENTITY",
1452  /* 175 */ "ifcond ::= MOD",
1453  /* 176 */ "lop ::= LAND",
1454  /* 177 */ "lop ::= LOR",
1455  /* 178 */ "lop ::= LXOR",
1456  /* 179 */ "array ::= OPENB arrayelements CLOSEB",
1457  /* 180 */ "arrayelements ::= arrayelement",
1458  /* 181 */ "arrayelements ::= arrayelements COMMA arrayelement",
1459  /* 182 */ "arrayelements ::=",
1460  /* 183 */ "arrayelement ::= value APTR expr",
1461  /* 184 */ "arrayelement ::= ID APTR expr",
1462  /* 185 */ "arrayelement ::= expr",
1463  /* 186 */ "doublequoted_with_quotes ::= QUOTE QUOTE",
1464  /* 187 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
1465  /* 188 */ "doublequoted ::= doublequoted doublequotedcontent",
1466  /* 189 */ "doublequoted ::= doublequotedcontent",
1467  /* 190 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
1468  /* 191 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
1469  /* 192 */ "doublequotedcontent ::= DOLLARID",
1470  /* 193 */ "doublequotedcontent ::= LDEL variable RDEL",
1471  /* 194 */ "doublequotedcontent ::= LDEL expr RDEL",
1472  /* 195 */ "doublequotedcontent ::= smartytag",
1473  /* 196 */ "doublequotedcontent ::= OTHER",
1474  /* 197 */ "optspace ::= SPACE",
1475  /* 198 */ "optspace ::=",
1476     );
1477
1478     function tokenName($tokenType)
1479     {
1480         if ($tokenType === 0) {
1481             return 'End of Input';
1482         }
1483         if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1484             return $this->yyTokenName[$tokenType];
1485         } else {
1486             return "Unknown";
1487         }
1488     }
1489
1490     static function yy_destructor($yymajor, $yypminor)
1491     {
1492         switch ($yymajor) {
1493             default:  break;   /* If no destructor action specified: do nothing */
1494         }
1495     }
1496
1497     function yy_pop_parser_stack()
1498     {
1499         if (!count($this->yystack)) {
1500             return;
1501         }
1502         $yytos = array_pop($this->yystack);
1503         if (self::$yyTraceFILE && $this->yyidx >= 0) {
1504             fwrite(self::$yyTraceFILE,
1505                 self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
1506                     "\n");
1507         }
1508         $yymajor = $yytos->major;
1509         self::yy_destructor($yymajor, $yytos->minor);
1510         $this->yyidx--;
1511         return $yymajor;
1512     }
1513
1514     function __destruct()
1515     {
1516         while ($this->yystack !== Array()) {
1517             $this->yy_pop_parser_stack();
1518         }
1519         if (is_resource(self::$yyTraceFILE)) {
1520             fclose(self::$yyTraceFILE);
1521         }
1522     }
1523
1524     function yy_get_expected_tokens($token)
1525     {
1526         $state = $this->yystack[$this->yyidx]->stateno;
1527         $expected = self::$yyExpectedTokens[$state];
1528         if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1529             return $expected;
1530         }
1531         $stack = $this->yystack;
1532         $yyidx = $this->yyidx;
1533         do {
1534             $yyact = $this->yy_find_shift_action($token);
1535             if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1536                 // reduce action
1537                 $done = 0;
1538                 do {
1539                     if ($done++ == 100) {
1540                         $this->yyidx = $yyidx;
1541                         $this->yystack = $stack;
1542                         // too much recursion prevents proper detection
1543                         // so give up
1544                         return array_unique($expected);
1545                     }
1546                     $yyruleno = $yyact - self::YYNSTATE;
1547                     $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1548                     $nextstate = $this->yy_find_reduce_action(
1549                         $this->yystack[$this->yyidx]->stateno,
1550                         self::$yyRuleInfo[$yyruleno]['lhs']);
1551                     if (isset(self::$yyExpectedTokens[$nextstate])) {
1552                         $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
1553                             if (in_array($token,
1554                                   self::$yyExpectedTokens[$nextstate], true)) {
1555                             $this->yyidx = $yyidx;
1556                             $this->yystack = $stack;
1557                             return array_unique($expected);
1558                         }
1559                     }
1560                     if ($nextstate < self::YYNSTATE) {
1561                         // we need to shift a non-terminal
1562                         $this->yyidx++;
1563                         $x = new TP_yyStackEntry;
1564                         $x->stateno = $nextstate;
1565                         $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1566                         $this->yystack[$this->yyidx] = $x;
1567                         continue 2;
1568                     } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1569                         $this->yyidx = $yyidx;
1570                         $this->yystack = $stack;
1571                         // the last token was just ignored, we can't accept
1572                         // by ignoring input, this is in essence ignoring a
1573                         // syntax error!
1574                         return array_unique($expected);
1575                     } elseif ($nextstate === self::YY_NO_ACTION) {
1576                         $this->yyidx = $yyidx;
1577                         $this->yystack = $stack;
1578                         // input accepted, but not shifted (I guess)
1579                         return $expected;
1580                     } else {
1581                         $yyact = $nextstate;
1582                     }
1583                 } while (true);
1584             }
1585             break;
1586         } while (true);
1587         $this->yyidx = $yyidx;
1588         $this->yystack = $stack;
1589         return array_unique($expected);
1590     }
1591
1592     function yy_is_expected_token($token)
1593     {
1594         if ($token === 0) {
1595             return true; // 0 is not part of this
1596         }
1597         $state = $this->yystack[$this->yyidx]->stateno;
1598         if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1599             return true;
1600         }
1601         $stack = $this->yystack;
1602         $yyidx = $this->yyidx;
1603         do {
1604             $yyact = $this->yy_find_shift_action($token);
1605             if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1606                 // reduce action
1607                 $done = 0;
1608                 do {
1609                     if ($done++ == 100) {
1610                         $this->yyidx = $yyidx;
1611                         $this->yystack = $stack;
1612                         // too much recursion prevents proper detection
1613                         // so give up
1614                         return true;
1615                     }
1616                     $yyruleno = $yyact - self::YYNSTATE;
1617                     $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1618                     $nextstate = $this->yy_find_reduce_action(
1619                         $this->yystack[$this->yyidx]->stateno,
1620                         self::$yyRuleInfo[$yyruleno]['lhs']);
1621                     if (isset(self::$yyExpectedTokens[$nextstate]) &&
1622                           in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
1623                         $this->yyidx = $yyidx;
1624                         $this->yystack = $stack;
1625                         return true;
1626                     }
1627                     if ($nextstate < self::YYNSTATE) {
1628                         // we need to shift a non-terminal
1629                         $this->yyidx++;
1630                         $x = new TP_yyStackEntry;
1631                         $x->stateno = $nextstate;
1632                         $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1633                         $this->yystack[$this->yyidx] = $x;
1634                         continue 2;
1635                     } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1636                         $this->yyidx = $yyidx;
1637                         $this->yystack = $stack;
1638                         if (!$token) {
1639                             // end of input: this is valid
1640                             return true;
1641                         }
1642                         // the last token was just ignored, we can't accept
1643                         // by ignoring input, this is in essence ignoring a
1644                         // syntax error!
1645                         return false;
1646                     } elseif ($nextstate === self::YY_NO_ACTION) {
1647                         $this->yyidx = $yyidx;
1648                         $this->yystack = $stack;
1649                         // input accepted, but not shifted (I guess)
1650                         return true;
1651                     } else {
1652                         $yyact = $nextstate;
1653                     }
1654                 } while (true);
1655             }
1656             break;
1657         } while (true);
1658         $this->yyidx = $yyidx;
1659         $this->yystack = $stack;
1660         return true;
1661     }
1662
1663    function yy_find_shift_action($iLookAhead)
1664     {
1665         $stateno = $this->yystack[$this->yyidx]->stateno;
1666      
1667         /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
1668         if (!isset(self::$yy_shift_ofst[$stateno])) {
1669             // no shift actions
1670             return self::$yy_default[$stateno];
1671         }
1672         $i = self::$yy_shift_ofst[$stateno];
1673         if ($i === self::YY_SHIFT_USE_DFLT) {
1674             return self::$yy_default[$stateno];
1675         }
1676         if ($iLookAhead == self::YYNOCODE) {
1677             return self::YY_NO_ACTION;
1678         }
1679         $i += $iLookAhead;
1680         if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1681               self::$yy_lookahead[$i] != $iLookAhead) {
1682             if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
1683                    && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
1684                 if (self::$yyTraceFILE) {
1685                     fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
1686                         $this->yyTokenName[$iLookAhead] . " => " .
1687                         $this->yyTokenName[$iFallback] . "\n");
1688                 }
1689                 return $this->yy_find_shift_action($iFallback);
1690             }
1691             return self::$yy_default[$stateno];
1692         } else {
1693             return self::$yy_action[$i];
1694         }
1695     }
1696
1697     function yy_find_reduce_action($stateno, $iLookAhead)
1698     {
1699         /* $stateno = $this->yystack[$this->yyidx]->stateno; */
1700
1701         if (!isset(self::$yy_reduce_ofst[$stateno])) {
1702             return self::$yy_default[$stateno];
1703         }
1704         $i = self::$yy_reduce_ofst[$stateno];
1705         if ($i == self::YY_REDUCE_USE_DFLT) {
1706             return self::$yy_default[$stateno];
1707         }
1708         if ($iLookAhead == self::YYNOCODE) {
1709             return self::YY_NO_ACTION;
1710         }
1711         $i += $iLookAhead;
1712         if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1713               self::$yy_lookahead[$i] != $iLookAhead) {
1714             return self::$yy_default[$stateno];
1715         } else {
1716             return self::$yy_action[$i];
1717         }
1718     }
1719
1720     function yy_shift($yyNewState, $yyMajor, $yypMinor)
1721     {
1722         $this->yyidx++;
1723         if ($this->yyidx >= self::YYSTACKDEPTH) {
1724             $this->yyidx--;
1725             if (self::$yyTraceFILE) {
1726                 fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
1727             }
1728             while ($this->yyidx >= 0) {
1729                 $this->yy_pop_parser_stack();
1730             }
1731 #line 73 "smarty_internal_templateparser.y"
1732
1733     $this->internalError = true;
1734     $this->compiler->trigger_template_error("Stack overflow in template parser");
1735 #line 1731 "smarty_internal_templateparser.php"
1736             return;
1737         }
1738         $yytos = new TP_yyStackEntry;
1739         $yytos->stateno = $yyNewState;
1740         $yytos->major = $yyMajor;
1741         $yytos->minor = $yypMinor;
1742         array_push($this->yystack, $yytos);
1743         if (self::$yyTraceFILE && $this->yyidx > 0) {
1744             fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
1745                 $yyNewState);
1746             fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
1747             for($i = 1; $i <= $this->yyidx; $i++) {
1748                 fprintf(self::$yyTraceFILE, " %s",
1749                     $this->yyTokenName[$this->yystack[$i]->major]);
1750             }
1751             fwrite(self::$yyTraceFILE,"\n");
1752         }
1753     }
1754
1755     static public $yyRuleInfo = array(
1756   array( 'lhs' => 79, 'rhs' => 1 ),
1757   array( 'lhs' => 80, 'rhs' => 1 ),
1758   array( 'lhs' => 80, 'rhs' => 2 ),
1759   array( 'lhs' => 80, 'rhs' => 0 ),
1760   array( 'lhs' => 81, 'rhs' => 1 ),
1761   array( 'lhs' => 81, 'rhs' => 1 ),
1762   array( 'lhs' => 81, 'rhs' => 1 ),
1763   array( 'lhs' => 81, 'rhs' => 1 ),
1764   array( 'lhs' => 81, 'rhs' => 1 ),
1765   array( 'lhs' => 81, 'rhs' => 1 ),
1766   array( 'lhs' => 81, 'rhs' => 1 ),
1767   array( 'lhs' => 81, 'rhs' => 1 ),
1768   array( 'lhs' => 81, 'rhs' => 1 ),
1769   array( 'lhs' => 81, 'rhs' => 1 ),
1770   array( 'lhs' => 81, 'rhs' => 1 ),
1771   array( 'lhs' => 83, 'rhs' => 2 ),
1772   array( 'lhs' => 83, 'rhs' => 3 ),
1773   array( 'lhs' => 84, 'rhs' => 2 ),
1774   array( 'lhs' => 84, 'rhs' => 0 ),
1775   array( 'lhs' => 85, 'rhs' => 1 ),
1776   array( 'lhs' => 85, 'rhs' => 1 ),
1777   array( 'lhs' => 85, 'rhs' => 1 ),
1778   array( 'lhs' => 85, 'rhs' => 1 ),
1779   array( 'lhs' => 85, 'rhs' => 1 ),
1780   array( 'lhs' => 85, 'rhs' => 1 ),
1781   array( 'lhs' => 85, 'rhs' => 1 ),
1782   array( 'lhs' => 82, 'rhs' => 3 ),
1783   array( 'lhs' => 82, 'rhs' => 4 ),
1784   array( 'lhs' => 82, 'rhs' => 4 ),
1785   array( 'lhs' => 82, 'rhs' => 5 ),
1786   array( 'lhs' => 82, 'rhs' => 4 ),
1787   array( 'lhs' => 82, 'rhs' => 6 ),
1788   array( 'lhs' => 82, 'rhs' => 6 ),
1789   array( 'lhs' => 82, 'rhs' => 7 ),
1790   array( 'lhs' => 82, 'rhs' => 6 ),
1791   array( 'lhs' => 82, 'rhs' => 4 ),
1792   array( 'lhs' => 82, 'rhs' => 3 ),
1793   array( 'lhs' => 82, 'rhs' => 6 ),
1794   array( 'lhs' => 82, 'rhs' => 5 ),
1795   array( 'lhs' => 82, 'rhs' => 7 ),
1796   array( 'lhs' => 82, 'rhs' => 4 ),
1797   array( 'lhs' => 82, 'rhs' => 5 ),
1798   array( 'lhs' => 82, 'rhs' => 4 ),
1799   array( 'lhs' => 82, 'rhs' => 5 ),
1800   array( 'lhs' => 82, 'rhs' => 13 ),
1801   array( 'lhs' => 96, 'rhs' => 2 ),
1802   array( 'lhs' => 96, 'rhs' => 1 ),
1803   array( 'lhs' => 82, 'rhs' => 7 ),
1804   array( 'lhs' => 82, 'rhs' => 9 ),
1805   array( 'lhs' => 82, 'rhs' => 3 ),
1806   array( 'lhs' => 82, 'rhs' => 8 ),
1807   array( 'lhs' => 82, 'rhs' => 11 ),
1808   array( 'lhs' => 82, 'rhs' => 8 ),
1809   array( 'lhs' => 82, 'rhs' => 11 ),
1810   array( 'lhs' => 82, 'rhs' => 1 ),
1811   array( 'lhs' => 82, 'rhs' => 3 ),
1812   array( 'lhs' => 82, 'rhs' => 4 ),
1813   array( 'lhs' => 82, 'rhs' => 5 ),
1814   array( 'lhs' => 82, 'rhs' => 6 ),
1815   array( 'lhs' => 87, 'rhs' => 2 ),
1816   array( 'lhs' => 87, 'rhs' => 1 ),
1817   array( 'lhs' => 87, 'rhs' => 0 ),
1818   array( 'lhs' => 97, 'rhs' => 4 ),
1819   array( 'lhs' => 97, 'rhs' => 4 ),
1820   array( 'lhs' => 97, 'rhs' => 4 ),
1821   array( 'lhs' => 97, 'rhs' => 2 ),
1822   array( 'lhs' => 97, 'rhs' => 2 ),
1823   array( 'lhs' => 97, 'rhs' => 2 ),
1824   array( 'lhs' => 97, 'rhs' => 4 ),
1825   array( 'lhs' => 93, 'rhs' => 1 ),
1826   array( 'lhs' => 93, 'rhs' => 3 ),
1827   array( 'lhs' => 92, 'rhs' => 4 ),
1828   array( 'lhs' => 92, 'rhs' => 3 ),
1829   array( 'lhs' => 92, 'rhs' => 3 ),
1830   array( 'lhs' => 89, 'rhs' => 1 ),
1831   array( 'lhs' => 89, 'rhs' => 1 ),
1832   array( 'lhs' => 89, 'rhs' => 4 ),
1833   array( 'lhs' => 89, 'rhs' => 3 ),
1834   array( 'lhs' => 89, 'rhs' => 3 ),
1835   array( 'lhs' => 89, 'rhs' => 3 ),
1836   array( 'lhs' => 89, 'rhs' => 1 ),
1837   array( 'lhs' => 89, 'rhs' => 2 ),
1838   array( 'lhs' => 89, 'rhs' => 3 ),
1839   array( 'lhs' => 89, 'rhs' => 3 ),
1840   array( 'lhs' => 89, 'rhs' => 3 ),
1841   array( 'lhs' => 89, 'rhs' => 3 ),
1842   array( 'lhs' => 89, 'rhs' => 3 ),
1843   array( 'lhs' => 89, 'rhs' => 3 ),
1844   array( 'lhs' => 89, 'rhs' => 2 ),
1845   array( 'lhs' => 89, 'rhs' => 2 ),
1846   array( 'lhs' => 89, 'rhs' => 3 ),
1847   array( 'lhs' => 89, 'rhs' => 3 ),
1848   array( 'lhs' => 89, 'rhs' => 2 ),
1849   array( 'lhs' => 89, 'rhs' => 2 ),
1850   array( 'lhs' => 89, 'rhs' => 3 ),
1851   array( 'lhs' => 89, 'rhs' => 3 ),
1852   array( 'lhs' => 89, 'rhs' => 3 ),
1853   array( 'lhs' => 89, 'rhs' => 3 ),
1854   array( 'lhs' => 98, 'rhs' => 8 ),
1855   array( 'lhs' => 98, 'rhs' => 7 ),
1856   array( 'lhs' => 86, 'rhs' => 1 ),
1857   array( 'lhs' => 86, 'rhs' => 2 ),
1858   array( 'lhs' => 86, 'rhs' => 2 ),
1859   array( 'lhs' => 86, 'rhs' => 2 ),
1860   array( 'lhs' => 86, 'rhs' => 2 ),
1861   array( 'lhs' => 86, 'rhs' => 1 ),
1862   array( 'lhs' => 86, 'rhs' => 1 ),
1863   array( 'lhs' => 86, 'rhs' => 3 ),
1864   array( 'lhs' => 86, 'rhs' => 2 ),
1865   array( 'lhs' => 86, 'rhs' => 2 ),
1866   array( 'lhs' => 86, 'rhs' => 1 ),
1867   array( 'lhs' => 86, 'rhs' => 1 ),
1868   array( 'lhs' => 86, 'rhs' => 3 ),
1869   array( 'lhs' => 86, 'rhs' => 1 ),
1870   array( 'lhs' => 86, 'rhs' => 1 ),
1871   array( 'lhs' => 86, 'rhs' => 3 ),
1872   array( 'lhs' => 86, 'rhs' => 3 ),
1873   array( 'lhs' => 86, 'rhs' => 1 ),
1874   array( 'lhs' => 86, 'rhs' => 2 ),
1875   array( 'lhs' => 88, 'rhs' => 1 ),
1876   array( 'lhs' => 88, 'rhs' => 4 ),
1877   array( 'lhs' => 88, 'rhs' => 1 ),
1878   array( 'lhs' => 88, 'rhs' => 3 ),
1879   array( 'lhs' => 88, 'rhs' => 3 ),
1880   array( 'lhs' => 91, 'rhs' => 3 ),
1881   array( 'lhs' => 106, 'rhs' => 2 ),
1882   array( 'lhs' => 106, 'rhs' => 0 ),
1883   array( 'lhs' => 107, 'rhs' => 3 ),
1884   array( 'lhs' => 107, 'rhs' => 5 ),
1885   array( 'lhs' => 107, 'rhs' => 2 ),
1886   array( 'lhs' => 107, 'rhs' => 2 ),
1887   array( 'lhs' => 107, 'rhs' => 4 ),
1888   array( 'lhs' => 107, 'rhs' => 3 ),
1889   array( 'lhs' => 107, 'rhs' => 5 ),
1890   array( 'lhs' => 107, 'rhs' => 3 ),
1891   array( 'lhs' => 107, 'rhs' => 2 ),
1892   array( 'lhs' => 95, 'rhs' => 1 ),
1893   array( 'lhs' => 95, 'rhs' => 2 ),
1894   array( 'lhs' => 108, 'rhs' => 1 ),
1895   array( 'lhs' => 108, 'rhs' => 3 ),
1896   array( 'lhs' => 105, 'rhs' => 2 ),
1897   array( 'lhs' => 109, 'rhs' => 1 ),
1898   array( 'lhs' => 109, 'rhs' => 2 ),
1899   array( 'lhs' => 110, 'rhs' => 3 ),
1900   array( 'lhs' => 110, 'rhs' => 4 ),
1901   array( 'lhs' => 110, 'rhs' => 5 ),
1902   array( 'lhs' => 110, 'rhs' => 6 ),
1903   array( 'lhs' => 110, 'rhs' => 2 ),
1904   array( 'lhs' => 102, 'rhs' => 4 ),
1905   array( 'lhs' => 111, 'rhs' => 4 ),
1906   array( 'lhs' => 111, 'rhs' => 5 ),
1907   array( 'lhs' => 112, 'rhs' => 3 ),
1908   array( 'lhs' => 112, 'rhs' => 1 ),
1909   array( 'lhs' => 112, 'rhs' => 0 ),
1910   array( 'lhs' => 90, 'rhs' => 3 ),
1911   array( 'lhs' => 90, 'rhs' => 2 ),
1912   array( 'lhs' => 113, 'rhs' => 3 ),
1913   array( 'lhs' => 113, 'rhs' => 2 ),
1914   array( 'lhs' => 114, 'rhs' => 2 ),
1915   array( 'lhs' => 114, 'rhs' => 0 ),
1916   array( 'lhs' => 115, 'rhs' => 2 ),
1917   array( 'lhs' => 115, 'rhs' => 2 ),
1918   array( 'lhs' => 104, 'rhs' => 1 ),
1919   array( 'lhs' => 104, 'rhs' => 2 ),
1920   array( 'lhs' => 104, 'rhs' => 1 ),
1921   array( 'lhs' => 104, 'rhs' => 3 ),
1922   array( 'lhs' => 104, 'rhs' => 4 ),
1923   array( 'lhs' => 100, 'rhs' => 1 ),
1924   array( 'lhs' => 100, 'rhs' => 1 ),
1925   array( 'lhs' => 100, 'rhs' => 1 ),
1926   array( 'lhs' => 100, 'rhs' => 1 ),
1927   array( 'lhs' => 100, 'rhs' => 1 ),
1928   array( 'lhs' => 100, 'rhs' => 1 ),
1929   array( 'lhs' => 100, 'rhs' => 1 ),
1930   array( 'lhs' => 100, 'rhs' => 1 ),
1931   array( 'lhs' => 100, 'rhs' => 1 ),
1932   array( 'lhs' => 101, 'rhs' => 1 ),
1933   array( 'lhs' => 101, 'rhs' => 1 ),
1934   array( 'lhs' => 101, 'rhs' => 1 ),
1935   array( 'lhs' => 99, 'rhs' => 3 ),
1936   array( 'lhs' => 116, 'rhs' => 1 ),
1937   array( 'lhs' => 116, 'rhs' => 3 ),
1938   array( 'lhs' => 116, 'rhs' => 0 ),
1939   array( 'lhs' => 117, 'rhs' => 3 ),
1940   array( 'lhs' => 117, 'rhs' => 3 ),
1941   array( 'lhs' => 117, 'rhs' => 1 ),
1942   array( 'lhs' => 103, 'rhs' => 2 ),
1943   array( 'lhs' => 103, 'rhs' => 3 ),
1944   array( 'lhs' => 118, 'rhs' => 2 ),
1945   array( 'lhs' => 118, 'rhs' => 1 ),
1946   array( 'lhs' => 119, 'rhs' => 3 ),
1947   array( 'lhs' => 119, 'rhs' => 3 ),
1948   array( 'lhs' => 119, 'rhs' => 1 ),
1949   array( 'lhs' => 119, 'rhs' => 3 ),
1950   array( 'lhs' => 119, 'rhs' => 3 ),
1951   array( 'lhs' => 119, 'rhs' => 1 ),
1952   array( 'lhs' => 119, 'rhs' => 1 ),
1953   array( 'lhs' => 94, 'rhs' => 1 ),
1954   array( 'lhs' => 94, 'rhs' => 0 ),
1955     );
1956
1957     static public $yyReduceMap = array(
1958         0 => 0,
1959         1 => 1,
1960         2 => 1,
1961         4 => 4,
1962         5 => 5,
1963         6 => 6,
1964         7 => 7,
1965         8 => 8,
1966         9 => 9,
1967         10 => 10,
1968         11 => 11,
1969         12 => 12,
1970         13 => 13,
1971         14 => 14,
1972         15 => 15,
1973         18 => 15,
1974         16 => 16,
1975         17 => 17,
1976         101 => 17,
1977         103 => 17,
1978         104 => 17,
1979         163 => 17,
1980         19 => 19,
1981         20 => 19,
1982         74 => 19,
1983         75 => 19,
1984         100 => 19,
1985         105 => 19,
1986         106 => 19,
1987         111 => 19,
1988         113 => 19,
1989         114 => 19,
1990         121 => 19,
1991         162 => 19,
1992         180 => 19,
1993         21 => 21,
1994         22 => 21,
1995         23 => 23,
1996         24 => 24,
1997         25 => 25,
1998         26 => 26,
1999         27 => 27,
2000         28 => 27,
2001         30 => 27,
2002         29 => 29,
2003         31 => 31,
2004         32 => 31,
2005         33 => 33,
2006         34 => 34,
2007         35 => 35,
2008         36 => 36,
2009         37 => 37,
2010         38 => 38,
2011         39 => 39,
2012         40 => 40,
2013         42 => 40,
2014         41 => 41,
2015         43 => 41,
2016         44 => 44,
2017         45 => 45,
2018         46 => 46,
2019         66 => 46,
2020         67 => 46,
2021         164 => 46,
2022         185 => 46,
2023         47 => 47,
2024         48 => 48,
2025         49 => 49,
2026         50 => 50,
2027         51 => 51,
2028         52 => 52,
2029         53 => 53,
2030         54 => 54,
2031         55 => 55,
2032         56 => 56,
2033         57 => 57,
2034         58 => 58,
2035         59 => 59,
2036         60 => 60,
2037         69 => 60,
2038         152 => 60,
2039         156 => 60,
2040         61 => 61,
2041         153 => 61,
2042         62 => 62,
2043         63 => 63,
2044         64 => 63,
2045         65 => 65,
2046         68 => 68,
2047         70 => 70,
2048         71 => 71,
2049         72 => 71,
2050         73 => 73,
2051         76 => 76,
2052         77 => 77,
2053         78 => 77,
2054         79 => 77,
2055         80 => 80,
2056         136 => 80,
2057         197 => 80,
2058         81 => 81,
2059         118 => 81,
2060         82 => 82,
2061         85 => 82,
2062         96 => 82,
2063         83 => 83,
2064         84 => 84,
2065         86 => 86,
2066         87 => 87,
2067         88 => 88,
2068         93 => 88,
2069         89 => 89,
2070         92 => 89,
2071         90 => 90,
2072         95 => 90,
2073         91 => 91,
2074         94 => 91,
2075         97 => 97,
2076         98 => 98,
2077         99 => 99,
2078         102 => 102,
2079         107 => 107,
2080         108 => 108,
2081         109 => 109,
2082         110 => 110,
2083         112 => 112,
2084         115 => 115,
2085         116 => 116,
2086         117 => 117,
2087         119 => 119,
2088         120 => 120,
2089         122 => 122,
2090         123 => 123,
2091         124 => 124,
2092         125 => 125,
2093         126 => 126,
2094         127 => 127,
2095         128 => 128,
2096         129 => 129,
2097         130 => 130,
2098         131 => 131,
2099         134 => 131,
2100         132 => 132,
2101         133 => 133,
2102         135 => 135,
2103         137 => 137,
2104         138 => 138,
2105         139 => 139,
2106         140 => 140,
2107         141 => 141,
2108         142 => 142,
2109         143 => 143,
2110         144 => 144,
2111         145 => 145,
2112         146 => 146,
2113         147 => 147,
2114         148 => 148,
2115         149 => 149,
2116         150 => 150,
2117         151 => 151,
2118         154 => 154,
2119         155 => 155,
2120         157 => 157,
2121         158 => 158,
2122         159 => 159,
2123         160 => 160,
2124         161 => 160,
2125         165 => 165,
2126         166 => 166,
2127         167 => 167,
2128         168 => 168,
2129         169 => 169,
2130         170 => 170,
2131         171 => 171,
2132         172 => 172,
2133         173 => 173,
2134         174 => 174,
2135         175 => 175,
2136         176 => 176,
2137         177 => 177,
2138         178 => 178,
2139         179 => 179,
2140         181 => 181,
2141         182 => 182,
2142         183 => 183,
2143         184 => 184,
2144         186 => 186,
2145         187 => 187,
2146         188 => 188,
2147         189 => 189,
2148         190 => 190,
2149         191 => 190,
2150         193 => 190,
2151         192 => 192,
2152         194 => 194,
2153         195 => 195,
2154         196 => 196,
2155         198 => 198,
2156     );
2157 #line 84 "smarty_internal_templateparser.y"
2158     function yy_r0(){ $this->_retvalue = $this->root_buffer->to_smarty_php();     }
2159 #line 2155 "smarty_internal_templateparser.php"
2160 #line 90 "smarty_internal_templateparser.y"
2161     function yy_r1(){ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);     }
2162 #line 2158 "smarty_internal_templateparser.php"
2163 #line 102 "smarty_internal_templateparser.y"
2164     function yy_r4(){
2165                                           if ($this->compiler->has_code) {
2166                                             $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
2167                                             $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true));
2168                                          } else { 
2169                                            $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
2170                                          }  
2171                                          $this->compiler->has_variable_string = false;
2172                                          $this->block_nesting_level = count($this->compiler->_tag_stack);
2173                                             }
2174 #line 2170 "smarty_internal_templateparser.php"
2175 #line 114 "smarty_internal_templateparser.y"
2176     function yy_r5(){ $this->_retvalue = new _smarty_tag($this, '');    }
2177 #line 2173 "smarty_internal_templateparser.php"
2178 #line 117 "smarty_internal_templateparser.y"
2179     function yy_r6(){ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);     }
2180 #line 2176 "smarty_internal_templateparser.php"
2181 #line 120 "smarty_internal_templateparser.y"
2182     function yy_r7(){
2183                                       if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2184                                                                      $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2185                                       } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2186                                        $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2187                                       }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2188                                        $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
2189                                       }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2190                                        $this->_retvalue = new _smarty_text($this, '');
2191                                       }
2192                                          }
2193 #line 2189 "smarty_internal_templateparser.php"
2194 #line 132 "smarty_internal_templateparser.y"
2195     function yy_r8(){if ($this->is_xml) {
2196                                        $this->compiler->tag_nocache = true; 
2197                                        $this->is_xml = true; 
2198                                        $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>", $this->compiler, true));
2199                                       }elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
2200                                                                      $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
2201                                       } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2202                                        $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
2203                                       }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2204                                        $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
2205                                       }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2206                                        $this->_retvalue = new _smarty_text($this, '');
2207                                       }
2208                                          }
2209 #line 2205 "smarty_internal_templateparser.php"
2210 #line 148 "smarty_internal_templateparser.y"
2211     function yy_r9(){
2212                                       if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2213                                                                      $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2214                                       } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2215                                        $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2216                                       }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2217                                         if ($this->asp_tags) {
2218                                           $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
2219                                         } else {
2220                                          $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2221                                         }
2222                                       }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2223                                         if ($this->asp_tags) {
2224                                          $this->_retvalue = new _smarty_text($this, '');
2225                                         } else {
2226                                          $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2227                                         }
2228                                       }
2229                                         }
2230 #line 2226 "smarty_internal_templateparser.php"
2231 #line 169 "smarty_internal_templateparser.y"
2232     function yy_r10(){
2233                                       if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2234                                                                      $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2235                                       } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2236                                        $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
2237                                       }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2238                                         if ($this->asp_tags) {
2239                                           $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
2240                                         } else {
2241                                          $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2242                                         }
2243                                       }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2244                                         if ($this->asp_tags) {
2245                                          $this->_retvalue = new _smarty_text($this, '');
2246                                         } else {
2247                                          $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2248                                         }
2249                                       }
2250                                         }
2251 #line 2247 "smarty_internal_templateparser.php"
2252 #line 189 "smarty_internal_templateparser.y"
2253     function yy_r11(){if ($this->lex->strip) {
2254                                        $this->_retvalue = new _smarty_text($this, preg_replace('![\$this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));      
2255                                      } else {
2256                                        $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));     
2257                                      }
2258                                         }
2259 #line 2255 "smarty_internal_templateparser.php"
2260 #line 197 "smarty_internal_templateparser.y"
2261     function yy_r12(){ $this->compiler->tag_nocache = true; $this->is_xml = true; $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));    }
2262 #line 2258 "smarty_internal_templateparser.php"
2263 #line 200 "smarty_internal_templateparser.y"
2264     function yy_r13(){if ($this->lex->strip) {
2265                                        $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));  
2266                                      } else {
2267                                        $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);     
2268                                      }
2269                                         }
2270 #line 2266 "smarty_internal_templateparser.php"
2271 #line 206 "smarty_internal_templateparser.y"
2272     function yy_r14(){
2273                                      $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor);
2274                                        }
2275 #line 2271 "smarty_internal_templateparser.php"
2276 #line 211 "smarty_internal_templateparser.y"
2277     function yy_r15(){ $this->_retvalue = '';     }
2278 #line 2274 "smarty_internal_templateparser.php"
2279 #line 212 "smarty_internal_templateparser.y"
2280     function yy_r16(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;     }
2281 #line 2277 "smarty_internal_templateparser.php"
2282 #line 214 "smarty_internal_templateparser.y"
2283     function yy_r17(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;     }
2284 #line 2280 "smarty_internal_templateparser.php"
2285 #line 217 "smarty_internal_templateparser.y"
2286     function yy_r19(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;     }
2287 #line 2283 "smarty_internal_templateparser.php"
2288 #line 219 "smarty_internal_templateparser.y"
2289     function yy_r21(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor);     }
2290 #line 2286 "smarty_internal_templateparser.php"
2291 #line 221 "smarty_internal_templateparser.y"
2292     function yy_r23(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor);     }
2293 #line 2289 "smarty_internal_templateparser.php"
2294 #line 222 "smarty_internal_templateparser.y"
2295     function yy_r24(){ $this->_retvalue = '<<?php ?>%';     }
2296 #line 2292 "smarty_internal_templateparser.php"
2297 #line 223 "smarty_internal_templateparser.y"
2298     function yy_r25(){ $this->_retvalue = '%<?php ?>>';     }
2299 #line 2295 "smarty_internal_templateparser.php"
2300 #line 231 "smarty_internal_templateparser.y"
2301     function yy_r26(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor));    }
2302 #line 2298 "smarty_internal_templateparser.php"
2303 #line 232 "smarty_internal_templateparser.y"
2304     function yy_r27(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor));    }
2305 #line 2301 "smarty_internal_templateparser.php"
2306 #line 234 "smarty_internal_templateparser.y"
2307     function yy_r29(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor));    }
2308 #line 2304 "smarty_internal_templateparser.php"
2309 #line 242 "smarty_internal_templateparser.y"
2310     function yy_r31(){ $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'")));    }
2311 #line 2307 "smarty_internal_templateparser.php"
2312 #line 244 "smarty_internal_templateparser.y"
2313     function yy_r33(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor));    }
2314 #line 2310 "smarty_internal_templateparser.php"
2315 #line 245 "smarty_internal_templateparser.y"
2316     function yy_r34(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index']));    }
2317 #line 2313 "smarty_internal_templateparser.php"
2318 #line 247 "smarty_internal_templateparser.y"
2319     function yy_r35(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor);    }
2320 #line 2316 "smarty_internal_templateparser.php"
2321 #line 248 "smarty_internal_templateparser.y"
2322     function yy_r36(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array());    }
2323 #line 2319 "smarty_internal_templateparser.php"
2324 #line 250 "smarty_internal_templateparser.y"
2325     function yy_r37(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor));    }
2326 #line 2322 "smarty_internal_templateparser.php"
2327 #line 252 "smarty_internal_templateparser.y"
2328     function yy_r38(){  $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
2329                                                                                     $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2330                                                                                      }
2331 #line 2327 "smarty_internal_templateparser.php"
2332 #line 256 "smarty_internal_templateparser.y"
2333     function yy_r39(){  $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'<?php echo ';
2334                                                                                                $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2335                                                                                                 }
2336 #line 2332 "smarty_internal_templateparser.php"
2337 #line 260 "smarty_internal_templateparser.y"
2338     function yy_r40(){ $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));    }
2339 #line 2335 "smarty_internal_templateparser.php"
2340 #line 261 "smarty_internal_templateparser.y"
2341     function yy_r41(){ $tag = trim(substr($this->yystack[$this->yyidx + -4]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor));    }
2342 #line 2338 "smarty_internal_templateparser.php"
2343 #line 265 "smarty_internal_templateparser.y"
2344     function yy_r44(){
2345                                                              $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -10]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -7]->minor),array('var'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),1);    }
2346 #line 2342 "smarty_internal_templateparser.php"
2347 #line 268 "smarty_internal_templateparser.y"
2348     function yy_r45(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor;    }
2349 #line 2345 "smarty_internal_templateparser.php"
2350 #line 269 "smarty_internal_templateparser.y"
2351     function yy_r46(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;    }
2352 #line 2348 "smarty_internal_templateparser.php"
2353 #line 270 "smarty_internal_templateparser.y"
2354     function yy_r47(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0);    }
2355 #line 2351 "smarty_internal_templateparser.php"
2356 #line 271 "smarty_internal_templateparser.y"
2357     function yy_r48(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0);    }
2358 #line 2354 "smarty_internal_templateparser.php"
2359 #line 273 "smarty_internal_templateparser.y"
2360     function yy_r49(){ $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor);    }
2361 #line 2357 "smarty_internal_templateparser.php"
2362 #line 275 "smarty_internal_templateparser.y"
2363     function yy_r50(){
2364                                                             $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor))));    }
2365 #line 2361 "smarty_internal_templateparser.php"
2366 #line 277 "smarty_internal_templateparser.y"
2367     function yy_r51(){
2368                                                             $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor))));    }
2369 #line 2365 "smarty_internal_templateparser.php"
2370 #line 279 "smarty_internal_templateparser.y"
2371     function yy_r52(){ 
2372                                                             $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor))));    }
2373 #line 2369 "smarty_internal_templateparser.php"
2374 #line 281 "smarty_internal_templateparser.y"
2375     function yy_r53(){ 
2376                                                             $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor))));    }
2377 #line 2373 "smarty_internal_templateparser.php"
2378 #line 285 "smarty_internal_templateparser.y"
2379     function yy_r54(){ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);    }
2380 #line 2376 "smarty_internal_templateparser.php"
2381 #line 289 "smarty_internal_templateparser.y"
2382     function yy_r55(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array());    }
2383 #line 2379 "smarty_internal_templateparser.php"
2384 #line 291 "smarty_internal_templateparser.y"
2385     function yy_r56(){  $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
2386                                                                                           }
2387 #line 2383 "smarty_internal_templateparser.php"
2388 #line 294 "smarty_internal_templateparser.y"
2389     function yy_r57(){  $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor));    }
2390 #line 2386 "smarty_internal_templateparser.php"
2391 #line 295 "smarty_internal_templateparser.y"
2392     function yy_r58(){  $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));    }
2393 #line 2389 "smarty_internal_templateparser.php"
2394 #line 301 "smarty_internal_templateparser.y"
2395     function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;    }
2396 #line 2392 "smarty_internal_templateparser.php"
2397 #line 303 "smarty_internal_templateparser.y"
2398     function yy_r60(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);    }
2399 #line 2395 "smarty_internal_templateparser.php"
2400 #line 305 "smarty_internal_templateparser.y"
2401     function yy_r61(){ $this->_retvalue = array();    }
2402 #line 2398 "smarty_internal_templateparser.php"
2403 #line 308 "smarty_internal_templateparser.y"
2404     function yy_r62(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2405                                                   $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true');
2406                                                  } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2407                                                   $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false');
2408                                                  } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2409                                                   $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null');
2410                                                  } else
2411                                                   $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'");    }
2412 #line 2408 "smarty_internal_templateparser.php"
2413 #line 316 "smarty_internal_templateparser.y"
2414     function yy_r63(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor);    }
2415 #line 2411 "smarty_internal_templateparser.php"
2416 #line 318 "smarty_internal_templateparser.y"
2417     function yy_r65(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'";    }
2418 #line 2414 "smarty_internal_templateparser.php"
2419 #line 321 "smarty_internal_templateparser.y"
2420     function yy_r68(){$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor);    }
2421 #line 2417 "smarty_internal_templateparser.php"
2422 #line 328 "smarty_internal_templateparser.y"
2423     function yy_r70(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor;    }
2424 #line 2420 "smarty_internal_templateparser.php"
2425 #line 330 "smarty_internal_templateparser.y"
2426     function yy_r71(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor);    }
2427 #line 2423 "smarty_internal_templateparser.php"
2428 #line 332 "smarty_internal_templateparser.y"
2429     function yy_r73(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;    }
2430 #line 2426 "smarty_internal_templateparser.php"
2431 #line 343 "smarty_internal_templateparser.y"
2432     function yy_r76(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')';    }
2433 #line 2429 "smarty_internal_templateparser.php"
2434 #line 345 "smarty_internal_templateparser.y"
2435     function yy_r77(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor;     }
2436 #line 2432 "smarty_internal_templateparser.php"
2437 #line 351 "smarty_internal_templateparser.y"
2438     function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;    }
2439 #line 2435 "smarty_internal_templateparser.php"
2440 #line 354 "smarty_internal_templateparser.y"
2441     function yy_r81(){  $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor));     }
2442 #line 2438 "smarty_internal_templateparser.php"
2443 #line 358 "smarty_internal_templateparser.y"
2444     function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
2445 #line 2441 "smarty_internal_templateparser.php"
2446 #line 359 "smarty_internal_templateparser.y"
2447     function yy_r83(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')';    }
2448 #line 2444 "smarty_internal_templateparser.php"
2449 #line 360 "smarty_internal_templateparser.y"
2450     function yy_r84(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')';    }
2451 #line 2447 "smarty_internal_templateparser.php"
2452 #line 362 "smarty_internal_templateparser.y"
2453     function yy_r86(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';    }
2454 #line 2450 "smarty_internal_templateparser.php"
2455 #line 363 "smarty_internal_templateparser.y"
2456     function yy_r87(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';    }
2457 #line 2453 "smarty_internal_templateparser.php"
2458 #line 364 "smarty_internal_templateparser.y"
2459     function yy_r88(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';    }
2460 #line 2456 "smarty_internal_templateparser.php"
2461 #line 365 "smarty_internal_templateparser.y"
2462     function yy_r89(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';    }
2463 #line 2459 "smarty_internal_templateparser.php"
2464 #line 366 "smarty_internal_templateparser.y"
2465     function yy_r90(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';    }
2466 #line 2462 "smarty_internal_templateparser.php"
2467 #line 367 "smarty_internal_templateparser.y"
2468     function yy_r91(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';    }
2469 #line 2465 "smarty_internal_templateparser.php"
2470 #line 373 "smarty_internal_templateparser.y"
2471     function yy_r97(){$this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number;    }
2472 #line 2468 "smarty_internal_templateparser.php"
2473 #line 379 "smarty_internal_templateparser.y"
2474     function yy_r98(){ $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? $_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'\')->value : '.$this->yystack[$this->yyidx + 0]->minor;  $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + -2]->minor', null, true, false)->nocache;    }
2475 #line 2471 "smarty_internal_templateparser.php"
2476 #line 380 "smarty_internal_templateparser.y"
2477     function yy_r99(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor;    }
2478 #line 2474 "smarty_internal_templateparser.php"
2479 #line 387 "smarty_internal_templateparser.y"
2480     function yy_r102(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor;     }
2481 #line 2477 "smarty_internal_templateparser.php"
2482 #line 393 "smarty_internal_templateparser.y"
2483     function yy_r107(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;     }
2484 #line 2480 "smarty_internal_templateparser.php"
2485 #line 394 "smarty_internal_templateparser.y"
2486     function yy_r108(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.';     }
2487 #line 2483 "smarty_internal_templateparser.php"
2488 #line 395 "smarty_internal_templateparser.y"
2489     function yy_r109(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor;     }
2490 #line 2486 "smarty_internal_templateparser.php"
2491 #line 397 "smarty_internal_templateparser.y"
2492     function yy_r110(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2493                                 $this->_retvalue = 'true';
2494                                } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2495                                 $this->_retvalue = 'false';
2496                                } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2497                                 $this->_retvalue = 'null';
2498                                } else
2499                                $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'";     }
2500 #line 2496 "smarty_internal_templateparser.php"
2501 #line 408 "smarty_internal_templateparser.y"
2502     function yy_r112(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")";     }
2503 #line 2499 "smarty_internal_templateparser.php"
2504 #line 414 "smarty_internal_templateparser.y"
2505     function yy_r115(){if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) {
2506                                                                                                                                                                                    if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
2507                                                                   $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor;
2508                                                                                                                                                                                    } else {
2509                                                                   $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;
2510                                                                  } 
2511                                                                 } else {
2512                                                                  $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting");
2513                                                                 }
2514                                                                    }
2515 #line 2511 "smarty_internal_templateparser.php"
2516 #line 424 "smarty_internal_templateparser.y"
2517     function yy_r116(){ if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { $this->_retvalue =  $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;} else {
2518                                                          $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor['var'],"'"), null, true, false)->nocache;}    }
2519 #line 2515 "smarty_internal_templateparser.php"
2520 #line 427 "smarty_internal_templateparser.y"
2521     function yy_r117(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number;     }
2522 #line 2518 "smarty_internal_templateparser.php"
2523 #line 437 "smarty_internal_templateparser.y"
2524     function yy_r119(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
2525                                                                                                                                                                 $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
2526                                                                                                                                                                 $this->_retvalue = $smarty_var;
2527                                       } else {
2528                                         // used for array reset,next,prev,end,current 
2529                                         $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
2530                                         $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2531                                         if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + 0]->minor['var']])) {
2532                                           $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + 0]->minor['var'] .']->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2533                                         } else {
2534                                           $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2535                                         }
2536                                         $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache;
2537                                      }
2538                                         }
2539 #line 2535 "smarty_internal_templateparser.php"
2540 #line 453 "smarty_internal_templateparser.y"
2541     function yy_r120(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) {
2542                                                   $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor;
2543                                                  } else {
2544                                                   $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor;
2545                                                  }
2546                                                   $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache;    }
2547 #line 2543 "smarty_internal_templateparser.php"
2548 #line 462 "smarty_internal_templateparser.y"
2549     function yy_r122(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')';    }
2550 #line 2546 "smarty_internal_templateparser.php"
2551 #line 463 "smarty_internal_templateparser.y"
2552     function yy_r123(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')';    }
2553 #line 2549 "smarty_internal_templateparser.php"
2554 #line 466 "smarty_internal_templateparser.y"
2555     function yy_r124(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor);    }
2556 #line 2552 "smarty_internal_templateparser.php"
2557 #line 472 "smarty_internal_templateparser.y"
2558     function yy_r125(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
2559 #line 2555 "smarty_internal_templateparser.php"
2560 #line 474 "smarty_internal_templateparser.y"
2561     function yy_r126(){return;    }
2562 #line 2558 "smarty_internal_templateparser.php"
2563 #line 478 "smarty_internal_templateparser.y"
2564     function yy_r127(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache;    }
2565 #line 2561 "smarty_internal_templateparser.php"
2566 #line 479 "smarty_internal_templateparser.y"
2567     function yy_r128(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache;    }
2568 #line 2564 "smarty_internal_templateparser.php"
2569 #line 480 "smarty_internal_templateparser.y"
2570     function yy_r129(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']";    }
2571 #line 2567 "smarty_internal_templateparser.php"
2572 #line 481 "smarty_internal_templateparser.y"
2573     function yy_r130(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]";    }
2574 #line 2570 "smarty_internal_templateparser.php"
2575 #line 482 "smarty_internal_templateparser.y"
2576     function yy_r131(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]";    }
2577 #line 2573 "smarty_internal_templateparser.php"
2578 #line 484 "smarty_internal_templateparser.y"
2579     function yy_r132(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']';    }
2580 #line 2576 "smarty_internal_templateparser.php"
2581 #line 485 "smarty_internal_templateparser.y"
2582     function yy_r133(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']';    }
2583 #line 2579 "smarty_internal_templateparser.php"
2584 #line 489 "smarty_internal_templateparser.y"
2585     function yy_r135(){$this->_retvalue = '[]';    }
2586 #line 2582 "smarty_internal_templateparser.php"
2587 #line 497 "smarty_internal_templateparser.y"
2588     function yy_r137(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;    }
2589 #line 2585 "smarty_internal_templateparser.php"
2590 #line 499 "smarty_internal_templateparser.y"
2591     function yy_r138(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\'';    }
2592 #line 2588 "smarty_internal_templateparser.php"
2593 #line 501 "smarty_internal_templateparser.y"
2594     function yy_r139(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')';    }
2595 #line 2591 "smarty_internal_templateparser.php"
2596 #line 506 "smarty_internal_templateparser.y"
2597     function yy_r140(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue =  $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;} else {
2598                                                          $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;}    }
2599 #line 2595 "smarty_internal_templateparser.php"
2600 #line 509 "smarty_internal_templateparser.y"
2601     function yy_r141(){$this->_retvalue  = $this->yystack[$this->yyidx + 0]->minor;     }
2602 #line 2598 "smarty_internal_templateparser.php"
2603 #line 511 "smarty_internal_templateparser.y"
2604     function yy_r142(){$this->_retvalue  = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;     }
2605 #line 2601 "smarty_internal_templateparser.php"
2606 #line 513 "smarty_internal_templateparser.y"
2607     function yy_r143(){if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') {
2608                                                       $this->compiler->trigger_template_error (self::Err1);
2609                                                                                                                                                                                                            }
2610                                                      $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2611                                                          }
2612 #line 2608 "smarty_internal_templateparser.php"
2613 #line 518 "smarty_internal_templateparser.y"
2614     function yy_r144(){if ($this->security) {
2615                                                                  $this->compiler->trigger_template_error (self::Err2);
2616                                                                                                                                                                                                                                                          }
2617                                                                $this->_retvalue = '->{$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor .')->value'.$this->yystack[$this->yyidx + 0]->minor.'}'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor,"'"), null, true, false)->nocache;
2618                                                                    }
2619 #line 2615 "smarty_internal_templateparser.php"
2620 #line 523 "smarty_internal_templateparser.y"
2621     function yy_r145(){if ($this->security) {
2622                                                                  $this->compiler->trigger_template_error (self::Err2);
2623                                                                                                                                                                                                                                                            }
2624                                                                                                                                                                                                  $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2625                                                                                                                                                                                                     }
2626 #line 2622 "smarty_internal_templateparser.php"
2627 #line 528 "smarty_internal_templateparser.y"
2628     function yy_r146(){if ($this->security) {
2629                                                                          $this->compiler->trigger_template_error (self::Err2);
2630                                                                                                                                                                                                                                                                  }
2631                                                                        $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2632                                                                           }
2633 #line 2629 "smarty_internal_templateparser.php"
2634 #line 534 "smarty_internal_templateparser.y"
2635     function yy_r147(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor;    }
2636 #line 2632 "smarty_internal_templateparser.php"
2637 #line 540 "smarty_internal_templateparser.y"
2638     function yy_r148(){if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
2639                                                                                                                                                                                     if (strcasecmp($this->yystack[$this->yyidx + -3]->minor,'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'array') === 0 || is_callable($this->yystack[$this->yyidx + -3]->minor)) {
2640                                                                                                                                                                                         $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor);
2641                                                                                                                                                                                         if ($func_name == 'isset') {
2642                                                                                                                                                                                           if (count($this->yystack[$this->yyidx + -1]->minor) == 0) {
2643                                                                                                                                                                                            $this->compiler->trigger_template_error ('Illegal number of paramer in "isset()"');
2644                                                                                                                                                                                           }
2645                                                                                                                                                                                           $isset_par=str_replace("')->value","',null,true,false)->value",implode(',',$this->yystack[$this->yyidx + -1]->minor));
2646                                                                                                                                                                                           $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $isset_par .")";
2647                                                                                                                                                                                               } elseif (in_array($func_name,array('empty','reset','current','end','prev','next'))){
2648                                                                                                                                                                                           if (count($this->yystack[$this->yyidx + -1]->minor) != 1) {
2649                                                                                                                                                                                            $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"');
2650                                                                                                                                                                                           }
2651                                                                                                                                                                                           if ($func_name == 'empty') {
2652                                                                                                                                                                                                 $this->_retvalue = $func_name.'('.str_replace("')->value","',null,true,false)->value",$this->yystack[$this->yyidx + -1]->minor[0]).')';
2653                                                                                                                                                                                           } else {
2654                                                                                                                                                                                                 $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')';
2655                                                                                                                                                                                           }
2656                                                                                                                                                                                         } else {
2657                                                                                                                                                                                           $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2658                                                                                                                                                                                         }
2659                                                                                                                                                                                     } else {
2660                                                        $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\"");
2661                                                       }
2662                                                      }
2663                                                         }
2664 #line 2660 "smarty_internal_templateparser.php"
2665 #line 570 "smarty_internal_templateparser.y"
2666     function yy_r149(){if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') {
2667                                                       $this->compiler->trigger_template_error (self::Err1);
2668                                                                                                                                                                                                          }
2669                                                    $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2670                                                       }
2671 #line 2667 "smarty_internal_templateparser.php"
2672 #line 575 "smarty_internal_templateparser.y"
2673     function yy_r150(){if ($this->security) {
2674                                                               $this->compiler->trigger_template_error (self::Err2);
2675                                                                                                                                                                                                                                          }
2676                                                            $this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')';
2677                                                               }
2678 #line 2674 "smarty_internal_templateparser.php"
2679 #line 583 "smarty_internal_templateparser.y"
2680     function yy_r151(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor));    }
2681 #line 2677 "smarty_internal_templateparser.php"
2682 #line 592 "smarty_internal_templateparser.y"
2683     function yy_r154(){$this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)));    }
2684 #line 2680 "smarty_internal_templateparser.php"
2685 #line 593 "smarty_internal_templateparser.y"
2686     function yy_r155(){$this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor));    }
2687 #line 2683 "smarty_internal_templateparser.php"
2688 #line 596 "smarty_internal_templateparser.y"
2689     function yy_r157(){ $this->_retvalue =  array($this->yystack[$this->yyidx + 0]->minor);    }
2690 #line 2686 "smarty_internal_templateparser.php"
2691 #line 601 "smarty_internal_templateparser.y"
2692     function yy_r158(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor);    }
2693 #line 2689 "smarty_internal_templateparser.php"
2694 #line 603 "smarty_internal_templateparser.y"
2695     function yy_r159(){$this->_retvalue = array();    }
2696 #line 2692 "smarty_internal_templateparser.php"
2697 #line 605 "smarty_internal_templateparser.y"
2698     function yy_r160(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);    }
2699 #line 2695 "smarty_internal_templateparser.php"
2700 #line 615 "smarty_internal_templateparser.y"
2701     function yy_r165(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
2702 #line 2698 "smarty_internal_templateparser.php"
2703 #line 617 "smarty_internal_templateparser.y"
2704     function yy_r166(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
2705 #line 2701 "smarty_internal_templateparser.php"
2706 #line 626 "smarty_internal_templateparser.y"
2707     function yy_r167(){$this->_retvalue = '==';    }
2708 #line 2704 "smarty_internal_templateparser.php"
2709 #line 627 "smarty_internal_templateparser.y"
2710     function yy_r168(){$this->_retvalue = '!=';    }
2711 #line 2707 "smarty_internal_templateparser.php"
2712 #line 628 "smarty_internal_templateparser.y"
2713     function yy_r169(){$this->_retvalue = '>';    }
2714 #line 2710 "smarty_internal_templateparser.php"
2715 #line 629 "smarty_internal_templateparser.y"
2716     function yy_r170(){$this->_retvalue = '<';    }
2717 #line 2713 "smarty_internal_templateparser.php"
2718 #line 630 "smarty_internal_templateparser.y"
2719     function yy_r171(){$this->_retvalue = '>=';    }
2720 #line 2716 "smarty_internal_templateparser.php"
2721 #line 631 "smarty_internal_templateparser.y"
2722     function yy_r172(){$this->_retvalue = '<=';    }
2723 #line 2719 "smarty_internal_templateparser.php"
2724 #line 632 "smarty_internal_templateparser.y"
2725     function yy_r173(){$this->_retvalue = '===';    }
2726 #line 2722 "smarty_internal_templateparser.php"
2727 #line 633 "smarty_internal_templateparser.y"
2728     function yy_r174(){$this->_retvalue = '!==';    }
2729 #line 2725 "smarty_internal_templateparser.php"
2730 #line 634 "smarty_internal_templateparser.y"
2731     function yy_r175(){$this->_retvalue = '%';    }
2732 #line 2728 "smarty_internal_templateparser.php"
2733 #line 636 "smarty_internal_templateparser.y"
2734     function yy_r176(){$this->_retvalue = '&&';    }
2735 #line 2731 "smarty_internal_templateparser.php"
2736 #line 637 "smarty_internal_templateparser.y"
2737     function yy_r177(){$this->_retvalue = '||';    }
2738 #line 2734 "smarty_internal_templateparser.php"
2739 #line 638 "smarty_internal_templateparser.y"
2740     function yy_r178(){$this->_retvalue = ' XOR ';    }
2741 #line 2737 "smarty_internal_templateparser.php"
2742 #line 643 "smarty_internal_templateparser.y"
2743     function yy_r179(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')';    }
2744 #line 2740 "smarty_internal_templateparser.php"
2745 #line 645 "smarty_internal_templateparser.y"
2746     function yy_r181(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor;     }
2747 #line 2743 "smarty_internal_templateparser.php"
2748 #line 646 "smarty_internal_templateparser.y"
2749     function yy_r182(){ return;     }
2750 #line 2746 "smarty_internal_templateparser.php"
2751 #line 647 "smarty_internal_templateparser.y"
2752     function yy_r183(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor;    }
2753 #line 2749 "smarty_internal_templateparser.php"
2754 #line 648 "smarty_internal_templateparser.y"
2755     function yy_r184(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor;    }
2756 #line 2752 "smarty_internal_templateparser.php"
2757 #line 655 "smarty_internal_templateparser.y"
2758     function yy_r186(){ $this->_retvalue = "''";     }
2759 #line 2755 "smarty_internal_templateparser.php"
2760 #line 656 "smarty_internal_templateparser.y"
2761     function yy_r187(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php();     }
2762 #line 2758 "smarty_internal_templateparser.php"
2763 #line 658 "smarty_internal_templateparser.y"
2764     function yy_r188(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;     }
2765 #line 2761 "smarty_internal_templateparser.php"
2766 #line 659 "smarty_internal_templateparser.y"
2767     function yy_r189(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor);     }
2768 #line 2764 "smarty_internal_templateparser.php"
2769 #line 661 "smarty_internal_templateparser.y"
2770     function yy_r190(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor);     }
2771 #line 2767 "smarty_internal_templateparser.php"
2772 #line 663 "smarty_internal_templateparser.y"
2773     function yy_r192(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) {
2774                                                        $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value');
2775                                                       } else {
2776                                                        $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->getVariable(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')->value');
2777                                                       }
2778                                                       $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"), null, true, false)->nocache;
2779       }
2780 #line 2776 "smarty_internal_templateparser.php"
2781 #line 671 "smarty_internal_templateparser.y"
2782     function yy_r194(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')');     }
2783 #line 2779 "smarty_internal_templateparser.php"
2784 #line 672 "smarty_internal_templateparser.y"
2785     function yy_r195(){
2786    $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
2787       }
2788 #line 2784 "smarty_internal_templateparser.php"
2789 #line 675 "smarty_internal_templateparser.y"
2790     function yy_r196(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor);     }
2791 #line 2787 "smarty_internal_templateparser.php"
2792 #line 682 "smarty_internal_templateparser.y"
2793     function yy_r198(){$this->_retvalue = '';    }
2794 #line 2790 "smarty_internal_templateparser.php"
2795
2796     private $_retvalue;
2797
2798     function yy_reduce($yyruleno)
2799     {
2800         $yymsp = $this->yystack[$this->yyidx];
2801         if (self::$yyTraceFILE && $yyruleno >= 0 
2802               && $yyruleno < count(self::$yyRuleName)) {
2803             fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
2804                 self::$yyTracePrompt, $yyruleno,
2805                 self::$yyRuleName[$yyruleno]);
2806         }
2807
2808         $this->_retvalue = $yy_lefthand_side = null;
2809         if (array_key_exists($yyruleno, self::$yyReduceMap)) {
2810             // call the action
2811             $this->_retvalue = null;
2812             $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
2813             $yy_lefthand_side = $this->_retvalue;
2814         }
2815         $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
2816         $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
2817         $this->yyidx -= $yysize;
2818         for($i = $yysize; $i; $i--) {
2819             // pop all of the right-hand side parameters
2820             array_pop($this->yystack);
2821         }
2822         $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
2823         if ($yyact < self::YYNSTATE) {
2824             if (!self::$yyTraceFILE && $yysize) {
2825                 $this->yyidx++;
2826                 $x = new TP_yyStackEntry;
2827                 $x->stateno = $yyact;
2828                 $x->major = $yygoto;
2829                 $x->minor = $yy_lefthand_side;
2830                 $this->yystack[$this->yyidx] = $x;
2831             } else {
2832                 $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2833             }
2834         } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
2835             $this->yy_accept();
2836         }
2837     }
2838
2839     function yy_parse_failed()
2840     {
2841         if (self::$yyTraceFILE) {
2842             fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
2843         }
2844         while ($this->yyidx >= 0) {
2845             $this->yy_pop_parser_stack();
2846         }
2847     }
2848
2849     function yy_syntax_error($yymajor, $TOKEN)
2850     {
2851 #line 66 "smarty_internal_templateparser.y"
2852
2853     $this->internalError = true;
2854     $this->yymajor = $yymajor;
2855     $this->compiler->trigger_template_error();
2856 #line 2853 "smarty_internal_templateparser.php"
2857     }
2858
2859     function yy_accept()
2860     {
2861         if (self::$yyTraceFILE) {
2862             fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
2863         }
2864         while ($this->yyidx >= 0) {
2865             $stack = $this->yy_pop_parser_stack();
2866         }
2867 #line 58 "smarty_internal_templateparser.y"
2868
2869     $this->successful = !$this->internalError;
2870     $this->internalError = false;
2871     $this->retvalue = $this->_retvalue;
2872     //echo $this->retvalue."\n\n";
2873 #line 2871 "smarty_internal_templateparser.php"
2874     }
2875
2876     function doParse($yymajor, $yytokenvalue)
2877     {
2878         $yyerrorhit = 0;   /* True if yymajor has invoked an error */
2879         
2880         if ($this->yyidx === null || $this->yyidx < 0) {
2881             $this->yyidx = 0;
2882             $this->yyerrcnt = -1;
2883             $x = new TP_yyStackEntry;
2884             $x->stateno = 0;
2885             $x->major = 0;
2886             $this->yystack = array();
2887             array_push($this->yystack, $x);
2888         }
2889         $yyendofinput = ($yymajor==0);
2890         
2891         if (self::$yyTraceFILE) {
2892             fprintf(self::$yyTraceFILE, "%sInput %s\n",
2893                 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
2894         }
2895         
2896         do {
2897             $yyact = $this->yy_find_shift_action($yymajor);
2898             if ($yymajor < self::YYERRORSYMBOL &&
2899                   !$this->yy_is_expected_token($yymajor)) {
2900                 // force a syntax error
2901                 $yyact = self::YY_ERROR_ACTION;
2902             }
2903             if ($yyact < self::YYNSTATE) {
2904                 $this->yy_shift($yyact, $yymajor, $yytokenvalue);
2905                 $this->yyerrcnt--;
2906                 if ($yyendofinput && $this->yyidx >= 0) {
2907                     $yymajor = 0;
2908                 } else {
2909                     $yymajor = self::YYNOCODE;
2910                 }
2911             } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
2912                 $this->yy_reduce($yyact - self::YYNSTATE);
2913             } elseif ($yyact == self::YY_ERROR_ACTION) {
2914                 if (self::$yyTraceFILE) {
2915                     fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
2916                         self::$yyTracePrompt);
2917                 }
2918                 if (self::YYERRORSYMBOL) {
2919                     if ($this->yyerrcnt < 0) {
2920                         $this->yy_syntax_error($yymajor, $yytokenvalue);
2921                     }
2922                     $yymx = $this->yystack[$this->yyidx]->major;
2923                     if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
2924                         if (self::$yyTraceFILE) {
2925                             fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
2926                                 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
2927                         }
2928                         $this->yy_destructor($yymajor, $yytokenvalue);
2929                         $yymajor = self::YYNOCODE;
2930                     } else {
2931                         while ($this->yyidx >= 0 &&
2932                                  $yymx != self::YYERRORSYMBOL &&
2933         ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
2934                               ){
2935                             $this->yy_pop_parser_stack();
2936                         }
2937                         if ($this->yyidx < 0 || $yymajor==0) {
2938                             $this->yy_destructor($yymajor, $yytokenvalue);
2939                             $this->yy_parse_failed();
2940                             $yymajor = self::YYNOCODE;
2941                         } elseif ($yymx != self::YYERRORSYMBOL) {
2942                             $u2 = 0;
2943                             $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
2944                         }
2945                     }
2946                     $this->yyerrcnt = 3;
2947                     $yyerrorhit = 1;
2948                 } else {
2949                     if ($this->yyerrcnt <= 0) {
2950                         $this->yy_syntax_error($yymajor, $yytokenvalue);
2951                     }
2952                     $this->yyerrcnt = 3;
2953                     $this->yy_destructor($yymajor, $yytokenvalue);
2954                     if ($yyendofinput) {
2955                         $this->yy_parse_failed();
2956                     }
2957                     $yymajor = self::YYNOCODE;
2958                 }
2959             } else {
2960                 $this->yy_accept();
2961                 $yymajor = self::YYNOCODE;
2962             }            
2963         } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
2964     }
2965 }
2966 ?>