]> git.mxchange.org Git - friendica.git/blob - library/Smarty/libs/sysplugins/smarty_internal_templateparser.php
reverting tinymce changes, updating smarty to 3.1.19
[friendica.git] / library / Smarty / libs / sysplugins / smarty_internal_templateparser.php
1 <?php
2
3 /**
4  * Smarty Internal Plugin Templateparser
5  * This is the template parser.
6  * It is generated from the internal.templateparser.y file
7  *
8  * @package    Smarty
9  * @subpackage Compiler
10  * @author     Uwe Tews
11  */
12 class TP_yyToken implements ArrayAccess
13 {
14     public $string = '';
15     public $metadata = array();
16
17     public 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     public function __toString()
33     {
34         return $this->_string;
35     }
36
37     public function offsetExists($offset)
38     {
39         return isset($this->metadata[$offset]);
40     }
41
42     public function offsetGet($offset)
43     {
44         return $this->metadata[$offset];
45     }
46
47     public 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
55                 return;
56             }
57             $offset = count($this->metadata);
58         }
59         if ($value === null) {
60             return;
61         }
62         if ($value instanceof TP_yyToken) {
63             if ($value->metadata) {
64                 $this->metadata[$offset] = $value->metadata;
65             }
66         } elseif ($value) {
67             $this->metadata[$offset] = $value;
68         }
69     }
70
71     public function offsetUnset($offset)
72     {
73         unset($this->metadata[$offset]);
74     }
75 }
76
77 class TP_yyStackEntry
78 {
79     public $stateno; /* The state-number */
80     public $major; /* The major token value.  This is the code
81                      ** number for the token at this stack level */
82     public $minor; /* The user-supplied minor token value.  This
83                      ** is the value of the token  */
84 }
85
86 ;
87
88 #line 13 "smarty_internal_templateparser.y"
89 class Smarty_Internal_Templateparser #line 80 "smarty_internal_templateparser.php"
90 {
91     #line 15 "smarty_internal_templateparser.y"
92
93     const Err1 = "Security error: Call to private object member not allowed";
94     const Err2 = "Security error: Call to dynamic object member not allowed";
95     const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
96     // states whether the parse was successful or not
97     public $successful = true;
98     public $retvalue = 0;
99     public static $prefix_number = 0;
100     private $lex;
101     private $internalError = false;
102     private $strip = false;
103
104     function __construct($lex, $compiler)
105     {
106         $this->lex = $lex;
107         $this->compiler = $compiler;
108         $this->smarty = $this->compiler->smarty;
109         $this->template = $this->compiler->template;
110         $this->compiler->has_variable_string = false;
111         $this->compiler->prefix_code = array();
112         $this->block_nesting_level = 0;
113         if ($this->security = isset($this->smarty->security_policy)) {
114             $this->php_handling = $this->smarty->security_policy->php_handling;
115         } else {
116             $this->php_handling = $this->smarty->php_handling;
117         }
118         $this->is_xml = false;
119         $this->asp_tags = (ini_get('asp_tags') != '0');
120         $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
121     }
122
123     public static function escape_start_tag($tag_text)
124     {
125         $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, - 1, $count); //Escape tag
126         return $tag;
127     }
128
129     public static function escape_end_tag($tag_text)
130     {
131         return '?<?php ?>>';
132     }
133
134     public function compileVariable($variable)
135     {
136         if (strpos($variable, '(') == 0) {
137             // not a variable variable
138             $var = trim($variable, '\'');
139             $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable($var, null, true, false)->nocache;
140             $this->template->properties['variables'][$var] = $this->compiler->tag_nocache | $this->compiler->nocache;
141         }
142         //       return '(isset($_smarty_tpl->tpl_vars['. $variable .'])?$_smarty_tpl->tpl_vars['. $variable .']->value:$_smarty_tpl->getVariable('. $variable .')->value)';
143         return '$_smarty_tpl->tpl_vars[' . $variable . ']->value';
144     }
145
146     #line 133 "smarty_internal_templateparser.php"
147
148     const TP_VERT = 1;
149     const TP_COLON = 2;
150     const TP_RDEL = 3;
151     const TP_COMMENT = 4;
152     const TP_PHPSTARTTAG = 5;
153     const TP_PHPENDTAG = 6;
154     const TP_ASPSTARTTAG = 7;
155     const TP_ASPENDTAG = 8;
156     const TP_FAKEPHPSTARTTAG = 9;
157     const TP_XMLTAG = 10;
158     const TP_TEXT = 11;
159     const TP_STRIPON = 12;
160     const TP_STRIPOFF = 13;
161     const TP_BLOCKSOURCE = 14;
162     const TP_LITERALSTART = 15;
163     const TP_LITERALEND = 16;
164     const TP_LITERAL = 17;
165     const TP_LDEL = 18;
166     const TP_DOLLAR = 19;
167     const TP_ID = 20;
168     const TP_EQUAL = 21;
169     const TP_PTR = 22;
170     const TP_LDELIF = 23;
171     const TP_LDELFOR = 24;
172     const TP_SEMICOLON = 25;
173     const TP_INCDEC = 26;
174     const TP_TO = 27;
175     const TP_STEP = 28;
176     const TP_LDELFOREACH = 29;
177     const TP_SPACE = 30;
178     const TP_AS = 31;
179     const TP_APTR = 32;
180     const TP_LDELSETFILTER = 33;
181     const TP_SMARTYBLOCKCHILDPARENT = 34;
182     const TP_LDELSLASH = 35;
183     const TP_ATTR = 36;
184     const TP_INTEGER = 37;
185     const TP_COMMA = 38;
186     const TP_OPENP = 39;
187     const TP_CLOSEP = 40;
188     const TP_MATH = 41;
189     const TP_UNIMATH = 42;
190     const TP_ANDSYM = 43;
191     const TP_ISIN = 44;
192     const TP_ISDIVBY = 45;
193     const TP_ISNOTDIVBY = 46;
194     const TP_ISEVEN = 47;
195     const TP_ISNOTEVEN = 48;
196     const TP_ISEVENBY = 49;
197     const TP_ISNOTEVENBY = 50;
198     const TP_ISODD = 51;
199     const TP_ISNOTODD = 52;
200     const TP_ISODDBY = 53;
201     const TP_ISNOTODDBY = 54;
202     const TP_INSTANCEOF = 55;
203     const TP_QMARK = 56;
204     const TP_NOT = 57;
205     const TP_TYPECAST = 58;
206     const TP_HEX = 59;
207     const TP_DOT = 60;
208     const TP_SINGLEQUOTESTRING = 61;
209     const TP_DOUBLECOLON = 62;
210     const TP_AT = 63;
211     const TP_HATCH = 64;
212     const TP_OPENB = 65;
213     const TP_CLOSEB = 66;
214     const TP_EQUALS = 67;
215     const TP_NOTEQUALS = 68;
216     const TP_GREATERTHAN = 69;
217     const TP_LESSTHAN = 70;
218     const TP_GREATEREQUAL = 71;
219     const TP_LESSEQUAL = 72;
220     const TP_IDENTITY = 73;
221     const TP_NONEIDENTITY = 74;
222     const TP_MOD = 75;
223     const TP_LAND = 76;
224     const TP_LOR = 77;
225     const TP_LXOR = 78;
226     const TP_QUOTE = 79;
227     const TP_BACKTICK = 80;
228     const TP_DOLLARID = 81;
229     const YY_NO_ACTION = 570;
230     const YY_ACCEPT_ACTION = 569;
231     const YY_ERROR_ACTION = 568;
232
233     const YY_SZ_ACTTAB = 2407;
234     static public $yy_action = array(
235         /*     0 */
236         219, 309, 305, 301, 302, 303, 304, 310, 311, 317,
237         /*    10 */
238         318, 319, 201, 30, 273, 9, 33, 238, 280, 15,
239         /*    20 */
240         5, 108, 235, 234, 220, 7, 126, 42, 30, 30,
241         /*    30 */
242         259, 211, 256, 495, 15, 15, 10, 33, 495, 280,
243         /*    40 */
244         46, 47, 51, 45, 24, 14, 352, 353, 39, 37,
245         /*    50 */
246         278, 359, 12, 25, 219, 219, 326, 434, 219, 192,
247         /*    60 */
248         434, 569, 95, 263, 227, 306, 360, 361, 358, 357,
249         /*    70 */
250         354, 355, 356, 342, 341, 328, 329, 330, 292, 219,
251         /*    80 */
252         202, 322, 242, 30, 434, 231, 207, 434, 143, 15,
253         /*    90 */
254         434, 35, 158, 434, 46, 47, 51, 45, 24, 14,
255         /*   100 */
256         352, 353, 39, 37, 278, 359, 12, 25, 219, 48,
257         /*   110 */
258         32, 219, 48, 391, 196, 2, 31, 138, 321, 4,
259         /*   120 */
260         360, 361, 358, 357, 354, 355, 356, 342, 341, 328,
261         /*   130 */
262         329, 330, 127, 48, 290, 349, 251, 30, 145, 140,
263         /*   140 */
264         30, 207, 264, 15, 200, 322, 15, 334, 46, 47,
265         /*   150 */
266         51, 45, 24, 14, 352, 353, 39, 37, 278, 359,
267         /*   160 */
268         12, 25, 219, 289, 219, 48, 431, 297, 219, 33,
269         /*   170 */
270         396, 280, 18, 191, 360, 361, 358, 357, 354, 355,
271         /*   180 */
272         356, 342, 341, 328, 329, 330, 300, 285, 286, 287,
273         /*   190 */
274         299, 206, 219, 431, 428, 194, 201, 315, 314, 431,
275         /*   200 */
276         207, 281, 46, 47, 51, 45, 24, 14, 352, 353,
277         /*   210 */
278         39, 37, 278, 359, 12, 25, 219, 33, 48, 280,
279         /*   220 */
280         34, 30, 48, 197, 322, 276, 158, 15, 360, 361,
281         /*   230 */
282         358, 357, 354, 355, 356, 342, 341, 328, 329, 330,
283         /*   240 */
284         230, 338, 16, 289, 103, 179, 244, 219, 295, 2,
285         /*   250 */
286         41, 33, 265, 280, 283, 148, 46, 47, 51, 45,
287         /*   260 */
288         24, 14, 352, 353, 39, 37, 278, 359, 12, 25,
289         /*   270 */
290         219, 207, 145, 43, 132, 189, 109, 333, 307, 227,
291         /*   280 */
292         306, 190, 360, 361, 358, 357, 354, 355, 356, 342,
293         /*   290 */
294         341, 328, 329, 330, 20, 22, 248, 339, 219, 99,
295         /*   300 */
296         174, 48, 324, 33, 346, 280, 18, 288, 207, 283,
297         /*   310 */
298         46, 47, 51, 45, 24, 14, 352, 353, 39, 37,
299         /*   320 */
300         278, 359, 12, 25, 219, 289, 207, 30, 41, 110,
301         /*   330 */
302         275, 2, 41, 15, 272, 266, 360, 361, 358, 357,
303         /*   340 */
304         354, 355, 356, 342, 341, 328, 329, 330, 242, 40,
305         /*   350 */
306         236, 347, 104, 177, 145, 219, 44, 316, 148, 135,
307         /*   360 */
308         228, 27, 283, 269, 46, 47, 51, 45, 24, 14,
309         /*   370 */
310         352, 353, 39, 37, 278, 359, 12, 25, 219, 207,
311         /*   380 */
312         208, 33, 7, 280, 245, 239, 136, 173, 241, 279,
313         /*   390 */
314         360, 361, 358, 357, 354, 355, 356, 342, 341, 328,
315         /*   400 */
316         329, 330, 29, 158, 106, 13, 122, 171, 181, 6,
317         /*   410 */
318         33, 15, 226, 33, 219, 237, 283, 283, 46, 47,
319         /*   420 */
320         51, 45, 24, 14, 352, 353, 39, 37, 278, 359,
321         /*   430 */
322         12, 25, 219, 205, 205, 252, 313, 238, 312, 235,
323         /*   440 */
324         232, 195, 97, 127, 360, 361, 358, 357, 354, 355,
325         /*   450 */
326         356, 342, 341, 328, 329, 330, 28, 320, 230, 105,
327         /*   460 */
328         182, 164, 176, 33, 279, 254, 282, 186, 207, 283,
329         /*   470 */
330         283, 253, 46, 47, 51, 45, 24, 14, 352, 353,
331         /*   480 */
332         39, 37, 278, 359, 12, 25, 219, 205, 260, 107,
333         /*   490 */
334         235, 262, 33, 193, 214, 332, 166, 198, 360, 361,
335         /*   500 */
336         358, 357, 354, 355, 356, 342, 341, 328, 329, 330,
337         /*   510 */
338         137, 175, 167, 291, 308, 344, 185, 261, 267, 161,
339         /*   520 */
340         283, 283, 128, 337, 124, 283, 46, 47, 51, 45,
341         /*   530 */
342         24, 14, 352, 353, 39, 37, 278, 359, 12, 25,
343         /*   540 */
344         219, 38, 205, 203, 141, 169, 257, 134, 35, 130,
345         /*   550 */
346         156, 114, 360, 361, 358, 357, 354, 355, 356, 342,
347         /*   560 */
348         341, 328, 329, 330, 320, 158, 320, 241, 36, 293,
349         /*   570 */
350         298, 94, 21, 26, 284, 219, 292, 168, 271, 162,
351         /*   580 */
352         46, 47, 51, 45, 24, 14, 352, 353, 39, 37,
353         /*   590 */
354         278, 359, 12, 25, 219, 279, 229, 205, 44, 281,
355         /*   600 */
356         187, 17, 270, 331, 98, 127, 360, 361, 358, 357,
357         /*   610 */
358         354, 355, 356, 342, 341, 328, 329, 330, 199, 320,
359         /*   620 */
360         331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
361         /*   630 */
362         331, 331, 331, 331, 46, 47, 51, 45, 24, 14,
363         /*   640 */
364         352, 353, 39, 37, 278, 359, 12, 25, 219, 331,
365         /*   650 */
366         268, 331, 331, 331, 331, 331, 331, 331, 125, 115,
367         /*   660 */
368         360, 361, 358, 357, 354, 355, 356, 342, 341, 328,
369         /*   670 */
370         329, 330, 279, 331, 320, 331, 331, 331, 331, 331,
371         /*   680 */
372         331, 331, 331, 331, 331, 331, 331, 331, 46, 47,
373         /*   690 */
374         51, 45, 24, 14, 352, 353, 39, 37, 278, 359,
375         /*   700 */
376         12, 25, 219, 331, 204, 331, 331, 331, 331, 331,
377         /*   710 */
378         331, 159, 100, 116, 360, 361, 358, 357, 354, 355,
379         /*   720 */
380         356, 342, 341, 328, 329, 330, 320, 320, 320, 331,
381         /*   730 */
382         331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
383         /*   740 */
384         331, 331, 46, 47, 51, 45, 24, 14, 352, 353,
385         /*   750 */
386         39, 37, 278, 359, 12, 25, 219, 331, 331, 331,
387         /*   760 */
388         331, 331, 331, 331, 331, 102, 117, 331, 360, 361,
389         /*   770 */
390         358, 357, 354, 355, 356, 342, 341, 328, 329, 330,
391         /*   780 */
392         320, 320, 331, 331, 331, 331, 331, 331, 331, 331,
393         /*   790 */
394         331, 331, 331, 331, 331, 331, 46, 47, 51, 45,
395         /*   800 */
396         24, 14, 352, 353, 39, 37, 278, 359, 12, 25,
397         /*   810 */
398         331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
399         /*   820 */
400         158, 331, 360, 361, 358, 357, 354, 355, 356, 342,
401         /*   830 */
402         341, 328, 329, 330, 331, 331, 331, 331, 46, 47,
403         /*   840 */
404         51, 45, 24, 14, 352, 353, 39, 37, 278, 359,
405         /*   850 */
406         12, 25, 331, 331, 331, 331, 331, 331, 211, 331,
407         /*   860 */
408         331, 331, 331, 10, 360, 361, 358, 357, 354, 355,
409         /*   870 */
410         356, 342, 341, 328, 329, 330, 331, 331, 331, 331,
411         /*   880 */
412         331, 331, 331, 9, 142, 212, 331, 331, 5, 108,
413         /*   890 */
414         331, 246, 331, 331, 126, 157, 183, 331, 259, 123,
415         /*   900 */
416         256, 331, 250, 331, 23, 283, 331, 52, 277, 331,
417         /*   910 */
418         331, 255, 350, 348, 331, 345, 331, 279, 180, 178,
419         /*   920 */
420         331, 331, 49, 50, 296, 240, 351, 283, 283, 106,
421         /*   930 */
422         1, 274, 331, 147, 331, 331, 331, 331, 331, 279,
423         /*   940 */
424         279, 9, 144, 92, 96, 233, 5, 108, 331, 345,
425         /*   950 */
426         331, 331, 126, 331, 331, 246, 259, 323, 256, 146,
427         /*   960 */
428         250, 331, 23, 123, 184, 52, 331, 331, 331, 331,
429         /*   970 */
430         246, 331, 343, 283, 153, 255, 350, 348, 123, 345,
431         /*   980 */
432         49, 50, 296, 240, 351, 279, 331, 106, 1, 331,
433         /*   990 */
434         255, 350, 348, 331, 345, 33, 331, 280, 331, 9,
435         /*  1000 */
436         142, 224, 96, 331, 5, 108, 331, 30, 331, 247,
437         /*  1010 */
438         126, 246, 331, 15, 259, 149, 256, 331, 250, 123,
439         /*  1020 */
440         23, 331, 331, 52, 331, 331, 331, 331, 331, 331,
441         /*  1030 */
442         331, 255, 350, 348, 331, 345, 331, 331, 49, 50,
443         /*  1040 */
444         296, 240, 351, 331, 331, 106, 1, 331, 331, 331,
445         /*  1050 */
446         331, 331, 33, 331, 280, 331, 331, 9, 135, 224,
447         /*  1060 */
448         96, 331, 5, 108, 30, 246, 258, 331, 126, 151,
449         /*  1070 */
450         15, 246, 259, 123, 256, 154, 250, 331, 11, 123,
451         /*  1080 */
452         331, 52, 331, 331, 331, 255, 350, 348, 331, 345,
453         /*  1090 */
454         331, 255, 350, 348, 331, 345, 49, 50, 296, 240,
455         /*  1100 */
456         351, 331, 331, 106, 1, 331, 331, 331, 331, 331,
457         /*  1110 */
458         331, 331, 331, 331, 331, 9, 142, 210, 96, 331,
459         /*  1120 */
460         5, 108, 331, 331, 331, 331, 126, 246, 331, 331,
461         /*  1130 */
462         259, 155, 256, 331, 216, 123, 23, 331, 331, 52,
463         /*  1140 */
464         331, 331, 331, 331, 331, 331, 331, 255, 350, 348,
465         /*  1150 */
466         331, 345, 331, 331, 49, 50, 296, 240, 351, 331,
467         /*  1160 */
468         331, 106, 1, 331, 331, 331, 331, 331, 331, 331,
469         /*  1170 */
470         331, 331, 331, 9, 131, 224, 96, 331, 5, 108,
471         /*  1180 */
472         331, 331, 331, 331, 126, 246, 331, 331, 259, 152,
473         /*  1190 */
474         256, 331, 250, 123, 3, 331, 331, 52, 331, 331,
475         /*  1200 */
476         331, 331, 331, 331, 331, 255, 350, 348, 331, 345,
477         /*  1210 */
478         331, 331, 49, 50, 296, 240, 351, 331, 331, 106,
479         /*  1220 */
480         1, 331, 331, 331, 331, 331, 331, 331, 331, 331,
481         /*  1230 */
482         331, 9, 142, 213, 96, 331, 5, 108, 331, 331,
483         /*  1240 */
484         331, 331, 126, 246, 331, 331, 259, 150, 256, 331,
485         /*  1250 */
486         250, 123, 23, 331, 331, 52, 331, 331, 331, 331,
487         /*  1260 */
488         331, 331, 331, 255, 350, 348, 331, 345, 331, 331,
489         /*  1270 */
490         49, 50, 296, 240, 351, 331, 331, 106, 1, 331,
491         /*  1280 */
492         219, 331, 401, 331, 331, 331, 331, 331, 331, 9,
493         /*  1290 */
494         142, 209, 96, 331, 5, 108, 331, 331, 331, 331,
495         /*  1300 */
496         126, 249, 331, 331, 259, 331, 256, 331, 250, 30,
497         /*  1310 */
498         23, 190, 163, 52, 331, 15, 331, 331, 2, 331,
499         /*  1320 */
500         331, 283, 331, 331, 20, 22, 331, 331, 49, 50,
501         /*  1330 */
502         296, 240, 351, 331, 331, 106, 1, 331, 207, 331,
503         /*  1340 */
504         331, 145, 331, 331, 331, 432, 331, 9, 139, 224,
505         /*  1350 */
506         96, 331, 5, 108, 331, 331, 331, 331, 126, 331,
507         /*  1360 */
508         331, 331, 259, 243, 256, 331, 250, 331, 23, 190,
509         /*  1370 */
510         188, 52, 432, 331, 331, 331, 331, 331, 432, 283,
511         /*  1380 */
512         331, 2, 20, 22, 331, 331, 49, 50, 296, 240,
513         /*  1390 */
514         351, 331, 331, 106, 1, 331, 207, 331, 331, 331,
515         /*  1400 */
516         331, 331, 331, 331, 145, 9, 135, 224, 96, 331,
517         /*  1410 */
518         5, 108, 331, 331, 331, 331, 126, 331, 331, 331,
519         /*  1420 */
520         259, 331, 256, 331, 250, 331, 11, 101, 160, 52,
521         /*  1430 */
522         331, 331, 331, 331, 331, 331, 331, 283, 331, 331,
523         /*  1440 */
524         20, 22, 331, 331, 49, 50, 296, 240, 351, 331,
525         /*  1450 */
526         331, 106, 331, 331, 207, 331, 331, 331, 331, 331,
527         /*  1460 */
528         331, 331, 331, 9, 135, 225, 96, 331, 5, 108,
529         /*  1470 */
530         331, 331, 331, 331, 126, 331, 331, 331, 259, 331,
531         /*  1480 */
532         256, 331, 250, 331, 11, 331, 477, 52, 331, 331,
533         /*  1490 */
534         331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
535         /*  1500 */
536         331, 331, 49, 50, 296, 240, 351, 331, 477, 106,
537         /*  1510 */
538         477, 477, 331, 477, 477, 331, 331, 331, 331, 477,
539         /*  1520 */
540         331, 477, 2, 477, 96, 331, 331, 331, 331, 331,
541         /*  1530 */
542         331, 331, 331, 331, 331, 246, 331, 331, 477, 120,
543         /*  1540 */
544         331, 331, 84, 123, 331, 145, 331, 331, 331, 477,
545         /*  1550 */
546         331, 294, 327, 331, 331, 255, 350, 348, 331, 345,
547         /*  1560 */
548         331, 331, 331, 477, 331, 331, 331, 246, 331, 218,
549         /*  1570 */
550         362, 120, 331, 331, 84, 123, 331, 331, 331, 331,
551         /*  1580 */
552         331, 331, 331, 294, 327, 331, 331, 255, 350, 348,
553         /*  1590 */
554         246, 345, 331, 331, 129, 331, 331, 61, 119, 232,
555         /*  1600 */
556         331, 246, 335, 331, 331, 129, 294, 327, 80, 123,
557         /*  1610 */
558         255, 350, 348, 331, 345, 331, 331, 294, 327, 331,
559         /*  1620 */
560         331, 255, 350, 348, 331, 345, 246, 331, 331, 331,
561         /*  1630 */
562         129, 331, 215, 80, 123, 331, 331, 331, 331, 331,
563         /*  1640 */
564         331, 331, 294, 327, 331, 331, 255, 350, 348, 331,
565         /*  1650 */
566         345, 331, 331, 331, 246, 190, 170, 221, 129, 331,
567         /*  1660 */
568         331, 55, 119, 133, 331, 283, 331, 331, 20, 22,
569         /*  1670 */
570         294, 327, 331, 331, 255, 350, 348, 246, 345, 331,
571         /*  1680 */
572         331, 129, 207, 331, 80, 123, 331, 331, 331, 331,
573         /*  1690 */
574         331, 331, 331, 294, 327, 331, 246, 255, 350, 348,
575         /*  1700 */
576         129, 345, 331, 89, 123, 331, 331, 331, 223, 331,
577         /*  1710 */
578         331, 331, 294, 327, 331, 331, 255, 350, 348, 246,
579         /*  1720 */
580         345, 331, 331, 129, 331, 331, 70, 123, 331, 331,
581         /*  1730 */
582         246, 331, 331, 331, 111, 294, 327, 67, 123, 255,
583         /*  1740 */
584         350, 348, 331, 345, 331, 331, 294, 327, 331, 246,
585         /*  1750 */
586         255, 350, 348, 129, 345, 331, 86, 123, 331, 331,
587         /*  1760 */
588         331, 331, 331, 331, 331, 294, 327, 331, 246, 255,
589         /*  1770 */
590         350, 348, 129, 345, 331, 90, 123, 331, 331, 331,
591         /*  1780 */
592         331, 331, 331, 331, 294, 327, 331, 246, 255, 350,
593         /*  1790 */
594         348, 129, 345, 331, 77, 123, 331, 331, 331, 331,
595         /*  1800 */
596         331, 331, 331, 294, 327, 331, 246, 255, 350, 348,
597         /*  1810 */
598         129, 345, 331, 74, 123, 331, 331, 246, 331, 331,
599         /*  1820 */
600         331, 129, 294, 327, 66, 123, 255, 350, 348, 331,
601         /*  1830 */
602         345, 331, 331, 294, 327, 331, 246, 222, 350, 348,
603         /*  1840 */
604         129, 345, 331, 69, 123, 331, 331, 331, 331, 331,
605         /*  1850 */
606         331, 331, 294, 327, 331, 246, 255, 350, 348, 129,
607         /*  1860 */
608         345, 331, 78, 123, 331, 331, 331, 331, 331, 331,
609         /*  1870 */
610         331, 294, 327, 331, 246, 255, 350, 348, 129, 345,
611         /*  1880 */
612         331, 60, 123, 331, 331, 331, 331, 331, 331, 331,
613         /*  1890 */
614         294, 327, 331, 246, 255, 350, 348, 129, 345, 331,
615         /*  1900 */
616         53, 123, 331, 331, 246, 331, 331, 331, 129, 294,
617         /*  1910 */
618         327, 65, 123, 255, 350, 348, 331, 345, 331, 331,
619         /*  1920 */
620         294, 327, 336, 331, 255, 350, 348, 331, 345, 8,
621         /*  1930 */
622         331, 331, 331, 331, 5, 108, 331, 331, 331, 331,
623         /*  1940 */
624         126, 331, 331, 246, 259, 331, 256, 129, 331, 331,
625         /*  1950 */
626         72, 123, 331, 331, 331, 331, 331, 331, 331, 294,
627         /*  1960 */
628         327, 331, 246, 255, 350, 348, 129, 345, 331, 85,
629         /*  1970 */
630         123, 331, 331, 331, 331, 331, 331, 331, 294, 327,
631         /*  1980 */
632         331, 246, 255, 350, 348, 129, 345, 331, 81, 123,
633         /*  1990 */
634         331, 19, 340, 331, 331, 331, 331, 294, 327, 331,
635         /*  2000 */
636         246, 255, 350, 348, 113, 345, 331, 82, 123, 331,
637         /*  2010 */
638         331, 246, 331, 331, 331, 93, 294, 327, 54, 121,
639         /*  2020 */
640         255, 350, 348, 331, 345, 331, 331, 294, 327, 331,
641         /*  2030 */
642         246, 217, 350, 348, 129, 345, 331, 58, 123, 331,
643         /*  2040 */
644         331, 331, 331, 331, 331, 331, 294, 327, 331, 336,
645         /*  2050 */
646         255, 350, 348, 331, 345, 331, 8, 331, 331, 331,
647         /*  2060 */
648         331, 5, 108, 331, 331, 331, 331, 126, 246, 331,
649         /*  2070 */
650         331, 259, 129, 256, 331, 88, 123, 331, 331, 246,
651         /*  2080 */
652         331, 331, 331, 129, 294, 327, 56, 123, 255, 350,
653         /*  2090 */
654         348, 331, 345, 331, 331, 294, 327, 331, 331, 255,
655         /*  2100 */
656         350, 348, 331, 345, 246, 331, 331, 331, 129, 331,
657         /*  2110 */
658         331, 68, 123, 331, 331, 331, 331, 325, 19, 340,
659         /*  2120 */
660         294, 327, 331, 331, 255, 350, 348, 331, 345, 331,
661         /*  2130 */
662         331, 331, 331, 246, 331, 331, 331, 118, 331, 331,
663         /*  2140 */
664         59, 123, 331, 331, 331, 331, 190, 172, 331, 294,
665         /*  2150 */
666         327, 331, 331, 255, 350, 348, 283, 345, 246, 20,
667         /*  2160 */
668         22, 331, 93, 331, 331, 57, 121, 331, 331, 331,
669         /*  2170 */
670         331, 331, 331, 207, 294, 327, 331, 246, 255, 350,
671         /*  2180 */
672         348, 129, 345, 331, 64, 123, 331, 331, 246, 331,
673         /*  2190 */
674         331, 331, 129, 294, 327, 63, 123, 255, 350, 348,
675         /*  2200 */
676         331, 345, 331, 331, 294, 327, 331, 246, 255, 350,
677         /*  2210 */
678         348, 129, 345, 331, 73, 123, 331, 331, 331, 331,
679         /*  2220 */
680         190, 165, 331, 294, 327, 331, 331, 255, 350, 348,
681         /*  2230 */
682         283, 345, 331, 20, 22, 331, 246, 331, 331, 331,
683         /*  2240 */
684         129, 331, 331, 87, 123, 331, 331, 207, 331, 331,
685         /*  2250 */
686         331, 331, 294, 327, 331, 331, 255, 350, 348, 331,
687         /*  2260 */
688         345, 246, 331, 331, 331, 129, 331, 331, 75, 123,
689         /*  2270 */
690         331, 331, 246, 331, 331, 331, 129, 294, 327, 61,
691         /*  2280 */
692         123, 255, 350, 348, 331, 345, 331, 331, 294, 327,
693         /*  2290 */
694         331, 246, 255, 350, 348, 129, 345, 331, 71, 123,
695         /*  2300 */
696         331, 331, 246, 331, 331, 331, 129, 294, 327, 83,
697         /*  2310 */
698         123, 255, 350, 348, 331, 345, 331, 331, 294, 327,
699         /*  2320 */
700         331, 331, 255, 350, 348, 331, 345, 246, 331, 331,
701         /*  2330 */
702         331, 112, 331, 331, 76, 123, 331, 331, 331, 331,
703         /*  2340 */
704         331, 331, 331, 294, 327, 331, 331, 255, 350, 348,
705         /*  2350 */
706         331, 345, 246, 331, 331, 331, 129, 331, 331, 91,
707         /*  2360 */
708         123, 331, 331, 246, 331, 331, 331, 129, 294, 327,
709         /*  2370 */
710         62, 123, 255, 350, 348, 331, 345, 331, 331, 294,
711         /*  2380 */
712         327, 331, 246, 255, 350, 348, 129, 345, 331, 79,
713         /*  2390 */
714         123, 331, 331, 331, 331, 331, 331, 331, 294, 327,
715         /*  2400 */
716         331, 331, 255, 350, 348, 331, 345,
717     );
718     static public $yy_lookahead = array(
719         /*     0 */
720         1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
721         /*    10 */
722         13, 14, 15, 30, 66, 18, 18, 2, 20, 36,
723         /*    20 */
724         23, 24, 94, 95, 96, 39, 29, 28, 30, 30,
725         /*    30 */
726         33, 60, 35, 60, 36, 36, 65, 18, 65, 20,
727         /*    40 */
728         41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
729         /*    50 */
730         51, 52, 53, 54, 1, 1, 3, 3, 1, 91,
731         /*    60 */
732         3, 83, 84, 85, 86, 87, 67, 68, 69, 70,
733         /*    70 */
734         71, 72, 73, 74, 75, 76, 77, 78, 112, 1,
735         /*    80 */
736         114, 115, 63, 30, 30, 31, 118, 30, 19, 36,
737         /*    90 */
738         36, 21, 22, 36, 41, 42, 43, 44, 45, 46,
739         /*   100 */
740         47, 48, 49, 50, 51, 52, 53, 54, 1, 55,
741         /*   110 */
742         32, 1, 55, 3, 91, 39, 18, 19, 20, 38,
743         /*   120 */
744         67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
745         /*   130 */
746         77, 78, 62, 55, 20, 37, 60, 30, 62, 20,
747         /*   140 */
748         30, 118, 66, 36, 114, 115, 36, 66, 41, 42,
749         /*   150 */
750         43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
751         /*   160 */
752         53, 54, 1, 26, 1, 55, 3, 37, 1, 18,
753         /*   170 */
754         3, 20, 21, 91, 67, 68, 69, 70, 71, 72,
755         /*   180 */
756         73, 74, 75, 76, 77, 78, 5, 6, 7, 8,
757         /*   190 */
758         9, 20, 1, 30, 3, 100, 15, 16, 17, 36,
759         /*   200 */
760         118, 119, 41, 42, 43, 44, 45, 46, 47, 48,
761         /*   210 */
762         49, 50, 51, 52, 53, 54, 1, 18, 55, 20,
763         /*   220 */
764         21, 30, 55, 114, 115, 26, 22, 36, 67, 68,
765         /*   230 */
766         69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
767         /*   240 */
768         86, 80, 32, 26, 91, 92, 31, 1, 109, 39,
769         /*   250 */
770         38, 18, 40, 20, 101, 116, 41, 42, 43, 44,
771         /*   260 */
772         45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
773         /*   270 */
774         1, 118, 62, 18, 19, 20, 122, 123, 85, 86,
775         /*   280 */
776         87, 91, 67, 68, 69, 70, 71, 72, 73, 74,
777         /*   290 */
778         75, 76, 77, 78, 104, 105, 63, 80, 1, 91,
779         /*   300 */
780         92, 55, 3, 18, 115, 20, 21, 20, 118, 101,
781         /*   310 */
782         41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
783         /*   320 */
784         51, 52, 53, 54, 1, 26, 118, 30, 38, 88,
785         /*   330 */
786         40, 39, 38, 36, 40, 66, 67, 68, 69, 70,
787         /*   340 */
788         71, 72, 73, 74, 75, 76, 77, 78, 63, 21,
789         /*   350 */
790         63, 109, 91, 92, 62, 1, 2, 16, 116, 19,
791         /*   360 */
792         20, 18, 101, 40, 41, 42, 43, 44, 45, 46,
793         /*   370 */
794         47, 48, 49, 50, 51, 52, 53, 54, 1, 118,
795         /*   380 */
796         3, 18, 39, 20, 19, 20, 19, 111, 60, 113,
797         /*   390 */
798         67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
799         /*   400 */
800         77, 78, 21, 22, 64, 30, 39, 92, 92, 39,
801         /*   410 */
802         18, 36, 20, 18, 1, 20, 101, 101, 41, 42,
803         /*   420 */
804         43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
805         /*   430 */
806         53, 54, 1, 118, 118, 22, 87, 2, 89, 94,
807         /*   440 */
808         95, 91, 98, 62, 67, 68, 69, 70, 71, 72,
809         /*   450 */
810         73, 74, 75, 76, 77, 78, 21, 113, 86, 111,
811         /*   460 */
812         92, 92, 111, 18, 113, 20, 20, 111, 118, 101,
813         /*   470 */
814         101, 40, 41, 42, 43, 44, 45, 46, 47, 48,
815         /*   480 */
816         49, 50, 51, 52, 53, 54, 1, 118, 3, 100,
817         /*   490 */
818         94, 95, 18, 100, 20, 123, 111, 25, 67, 68,
819         /*   500 */
820         69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
821         /*   510 */
822         38, 92, 92, 20, 3, 3, 92, 20, 40, 64,
823         /*   520 */
824         101, 101, 19, 3, 19, 101, 41, 42, 43, 44,
825         /*   530 */
826         45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
827         /*   540 */
828         1, 2, 118, 20, 19, 64, 20, 19, 21, 98,
829         /*   550 */
830         20, 98, 67, 68, 69, 70, 71, 72, 73, 74,
831         /*   560 */
832         75, 76, 77, 78, 113, 22, 113, 60, 27, 20,
833         /*   570 */
834         37, 20, 56, 2, 101, 1, 112, 111, 116, 111,
835         /*   580 */
836         41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
837         /*   590 */
838         51, 52, 53, 54, 1, 113, 97, 118, 2, 119,
839         /*   600 */
840         111, 97, 30, 124, 98, 62, 67, 68, 69, 70,
841         /*   610 */
842         71, 72, 73, 74, 75, 76, 77, 78, 25, 113,
843         /*   620 */
844         124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
845         /*   630 */
846         124, 124, 124, 124, 41, 42, 43, 44, 45, 46,
847         /*   640 */
848         47, 48, 49, 50, 51, 52, 53, 54, 1, 124,
849         /*   650 */
850         3, 124, 124, 124, 124, 124, 124, 124, 99, 98,
851         /*   660 */
852         67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
853         /*   670 */
854         77, 78, 113, 124, 113, 124, 124, 124, 124, 124,
855         /*   680 */
856         124, 124, 124, 124, 124, 124, 124, 124, 41, 42,
857         /*   690 */
858         43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
859         /*   700 */
860         53, 54, 1, 124, 3, 124, 124, 124, 124, 124,
861         /*   710 */
862         124, 98, 98, 98, 67, 68, 69, 70, 71, 72,
863         /*   720 */
864         73, 74, 75, 76, 77, 78, 113, 113, 113, 124,
865         /*   730 */
866         124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
867         /*   740 */
868         124, 124, 41, 42, 43, 44, 45, 46, 47, 48,
869         /*   750 */
870         49, 50, 51, 52, 53, 54, 1, 124, 124, 124,
871         /*   760 */
872         124, 124, 124, 124, 124, 98, 98, 124, 67, 68,
873         /*   770 */
874         69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
875         /*   780 */
876         113, 113, 124, 124, 124, 124, 124, 124, 124, 124,
877         /*   790 */
878         124, 124, 124, 124, 124, 124, 41, 42, 43, 44,
879         /*   800 */
880         45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
881         /*   810 */
882         124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
883         /*   820 */
884         22, 124, 67, 68, 69, 70, 71, 72, 73, 74,
885         /*   830 */
886         75, 76, 77, 78, 124, 124, 124, 124, 41, 42,
887         /*   840 */
888         43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
889         /*   850 */
890         53, 54, 124, 124, 124, 124, 124, 124, 60, 124,
891         /*   860 */
892         124, 124, 124, 65, 67, 68, 69, 70, 71, 72,
893         /*   870 */
894         73, 74, 75, 76, 77, 78, 124, 124, 124, 124,
895         /*   880 */
896         124, 124, 124, 18, 19, 20, 124, 124, 23, 24,
897         /*   890 */
898         124, 86, 124, 124, 29, 90, 92, 124, 33, 94,
899         /*   900 */
900         35, 124, 37, 124, 39, 101, 124, 42, 103, 124,
901         /*   910 */
902         124, 106, 107, 108, 124, 110, 124, 113, 92, 92,
903         /*   920 */
904         124, 124, 57, 58, 59, 60, 61, 101, 101, 64,
905         /*   930 */
906         65, 66, 124, 94, 124, 124, 124, 124, 124, 113,
907         /*   940 */
908         113, 18, 19, 20, 79, 106, 23, 24, 124, 110,
909         /*   950 */
910         124, 124, 29, 124, 124, 86, 33, 34, 35, 90,
911         /*   960 */
912         37, 124, 39, 94, 92, 42, 124, 124, 124, 124,
913         /*   970 */
914         86, 124, 103, 101, 90, 106, 107, 108, 94, 110,
915         /*   980 */
916         57, 58, 59, 60, 61, 113, 124, 64, 65, 124,
917         /*   990 */
918         106, 107, 108, 124, 110, 18, 124, 20, 124, 18,
919         /*  1000 */
920         19, 20, 79, 124, 23, 24, 124, 30, 124, 32,
921         /*  1010 */
922         29, 86, 124, 36, 33, 90, 35, 124, 37, 94,
923         /*  1020 */
924         39, 124, 124, 42, 124, 124, 124, 124, 124, 124,
925         /*  1030 */
926         124, 106, 107, 108, 124, 110, 124, 124, 57, 58,
927         /*  1040 */
928         59, 60, 61, 124, 124, 64, 65, 124, 124, 124,
929         /*  1050 */
930         124, 124, 18, 124, 20, 124, 124, 18, 19, 20,
931         /*  1060 */
932         79, 124, 23, 24, 30, 86, 32, 124, 29, 90,
933         /*  1070 */
934         36, 86, 33, 94, 35, 90, 37, 124, 39, 94,
935         /*  1080 */
936         124, 42, 124, 124, 124, 106, 107, 108, 124, 110,
937         /*  1090 */
938         124, 106, 107, 108, 124, 110, 57, 58, 59, 60,
939         /*  1100 */
940         61, 124, 124, 64, 65, 124, 124, 124, 124, 124,
941         /*  1110 */
942         124, 124, 124, 124, 124, 18, 19, 20, 79, 124,
943         /*  1120 */
944         23, 24, 124, 124, 124, 124, 29, 86, 124, 124,
945         /*  1130 */
946         33, 90, 35, 124, 37, 94, 39, 124, 124, 42,
947         /*  1140 */
948         124, 124, 124, 124, 124, 124, 124, 106, 107, 108,
949         /*  1150 */
950         124, 110, 124, 124, 57, 58, 59, 60, 61, 124,
951         /*  1160 */
952         124, 64, 65, 124, 124, 124, 124, 124, 124, 124,
953         /*  1170 */
954         124, 124, 124, 18, 19, 20, 79, 124, 23, 24,
955         /*  1180 */
956         124, 124, 124, 124, 29, 86, 124, 124, 33, 90,
957         /*  1190 */
958         35, 124, 37, 94, 39, 124, 124, 42, 124, 124,
959         /*  1200 */
960         124, 124, 124, 124, 124, 106, 107, 108, 124, 110,
961         /*  1210 */
962         124, 124, 57, 58, 59, 60, 61, 124, 124, 64,
963         /*  1220 */
964         65, 124, 124, 124, 124, 124, 124, 124, 124, 124,
965         /*  1230 */
966         124, 18, 19, 20, 79, 124, 23, 24, 124, 124,
967         /*  1240 */
968         124, 124, 29, 86, 124, 124, 33, 90, 35, 124,
969         /*  1250 */
970         37, 94, 39, 124, 124, 42, 124, 124, 124, 124,
971         /*  1260 */
972         124, 124, 124, 106, 107, 108, 124, 110, 124, 124,
973         /*  1270 */
974         57, 58, 59, 60, 61, 124, 124, 64, 65, 124,
975         /*  1280 */
976         1, 124, 3, 124, 124, 124, 124, 124, 124, 18,
977         /*  1290 */
978         19, 20, 79, 124, 23, 24, 124, 124, 124, 124,
979         /*  1300 */
980         29, 22, 124, 124, 33, 124, 35, 124, 37, 30,
981         /*  1310 */
982         39, 91, 92, 42, 124, 36, 124, 124, 39, 124,
983         /*  1320 */
984         124, 101, 124, 124, 104, 105, 124, 124, 57, 58,
985         /*  1330 */
986         59, 60, 61, 124, 124, 64, 65, 124, 118, 124,
987         /*  1340 */
988         124, 62, 124, 124, 124, 3, 124, 18, 19, 20,
989         /*  1350 */
990         79, 124, 23, 24, 124, 124, 124, 124, 29, 124,
991         /*  1360 */
992         124, 124, 33, 21, 35, 124, 37, 124, 39, 91,
993         /*  1370 */
994         92, 42, 30, 124, 124, 124, 124, 124, 36, 101,
995         /*  1380 */
996         124, 39, 104, 105, 124, 124, 57, 58, 59, 60,
997         /*  1390 */
998         61, 124, 124, 64, 65, 124, 118, 124, 124, 124,
999         /*  1400 */
1000         124, 124, 124, 124, 62, 18, 19, 20, 79, 124,
1001         /*  1410 */
1002         23, 24, 124, 124, 124, 124, 29, 124, 124, 124,
1003         /*  1420 */
1004         33, 124, 35, 124, 37, 124, 39, 91, 92, 42,
1005         /*  1430 */
1006         124, 124, 124, 124, 124, 124, 124, 101, 124, 124,
1007         /*  1440 */
1008         104, 105, 124, 124, 57, 58, 59, 60, 61, 124,
1009         /*  1450 */
1010         124, 64, 124, 124, 118, 124, 124, 124, 124, 124,
1011         /*  1460 */
1012         124, 124, 124, 18, 19, 20, 79, 124, 23, 24,
1013         /*  1470 */
1014         124, 124, 124, 124, 29, 124, 124, 124, 33, 124,
1015         /*  1480 */
1016         35, 124, 37, 124, 39, 124, 3, 42, 124, 124,
1017         /*  1490 */
1018         124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1019         /*  1500 */
1020         124, 124, 57, 58, 59, 60, 61, 124, 25, 64,
1021         /*  1510 */
1022         27, 28, 124, 30, 31, 124, 124, 124, 124, 36,
1023         /*  1520 */
1024         124, 38, 39, 40, 79, 124, 124, 124, 124, 124,
1025         /*  1530 */
1026         124, 124, 124, 124, 124, 86, 124, 124, 55, 90,
1027         /*  1540 */
1028         124, 124, 93, 94, 124, 62, 124, 124, 124, 66,
1029         /*  1550 */
1030         124, 102, 103, 124, 124, 106, 107, 108, 124, 110,
1031         /*  1560 */
1032         124, 124, 124, 80, 124, 124, 124, 86, 124, 120,
1033         /*  1570 */
1034         121, 90, 124, 124, 93, 94, 124, 124, 124, 124,
1035         /*  1580 */
1036         124, 124, 124, 102, 103, 124, 124, 106, 107, 108,
1037         /*  1590 */
1038         86, 110, 124, 124, 90, 124, 124, 93, 94, 95,
1039         /*  1600 */
1040         124, 86, 121, 124, 124, 90, 102, 103, 93, 94,
1041         /*  1610 */
1042         106, 107, 108, 124, 110, 124, 124, 102, 103, 124,
1043         /*  1620 */
1044         124, 106, 107, 108, 124, 110, 86, 124, 124, 124,
1045         /*  1630 */
1046         90, 124, 117, 93, 94, 124, 124, 124, 124, 124,
1047         /*  1640 */
1048         124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
1049         /*  1650 */
1050         110, 124, 124, 124, 86, 91, 92, 117, 90, 124,
1051         /*  1660 */
1052         124, 93, 94, 95, 124, 101, 124, 124, 104, 105,
1053         /*  1670 */
1054         102, 103, 124, 124, 106, 107, 108, 86, 110, 124,
1055         /*  1680 */
1056         124, 90, 118, 124, 93, 94, 124, 124, 124, 124,
1057         /*  1690 */
1058         124, 124, 124, 102, 103, 124, 86, 106, 107, 108,
1059         /*  1700 */
1060         90, 110, 124, 93, 94, 124, 124, 124, 117, 124,
1061         /*  1710 */
1062         124, 124, 102, 103, 124, 124, 106, 107, 108, 86,
1063         /*  1720 */
1064         110, 124, 124, 90, 124, 124, 93, 94, 124, 124,
1065         /*  1730 */
1066         86, 124, 124, 124, 90, 102, 103, 93, 94, 106,
1067         /*  1740 */
1068         107, 108, 124, 110, 124, 124, 102, 103, 124, 86,
1069         /*  1750 */
1070         106, 107, 108, 90, 110, 124, 93, 94, 124, 124,
1071         /*  1760 */
1072         124, 124, 124, 124, 124, 102, 103, 124, 86, 106,
1073         /*  1770 */
1074         107, 108, 90, 110, 124, 93, 94, 124, 124, 124,
1075         /*  1780 */
1076         124, 124, 124, 124, 102, 103, 124, 86, 106, 107,
1077         /*  1790 */
1078         108, 90, 110, 124, 93, 94, 124, 124, 124, 124,
1079         /*  1800 */
1080         124, 124, 124, 102, 103, 124, 86, 106, 107, 108,
1081         /*  1810 */
1082         90, 110, 124, 93, 94, 124, 124, 86, 124, 124,
1083         /*  1820 */
1084         124, 90, 102, 103, 93, 94, 106, 107, 108, 124,
1085         /*  1830 */
1086         110, 124, 124, 102, 103, 124, 86, 106, 107, 108,
1087         /*  1840 */
1088         90, 110, 124, 93, 94, 124, 124, 124, 124, 124,
1089         /*  1850 */
1090         124, 124, 102, 103, 124, 86, 106, 107, 108, 90,
1091         /*  1860 */
1092         110, 124, 93, 94, 124, 124, 124, 124, 124, 124,
1093         /*  1870 */
1094         124, 102, 103, 124, 86, 106, 107, 108, 90, 110,
1095         /*  1880 */
1096         124, 93, 94, 124, 124, 124, 124, 124, 124, 124,
1097         /*  1890 */
1098         102, 103, 124, 86, 106, 107, 108, 90, 110, 124,
1099         /*  1900 */
1100         93, 94, 124, 124, 86, 124, 124, 124, 90, 102,
1101         /*  1910 */
1102         103, 93, 94, 106, 107, 108, 124, 110, 124, 124,
1103         /*  1920 */
1104         102, 103, 11, 124, 106, 107, 108, 124, 110, 18,
1105         /*  1930 */
1106         124, 124, 124, 124, 23, 24, 124, 124, 124, 124,
1107         /*  1940 */
1108         29, 124, 124, 86, 33, 124, 35, 90, 124, 124,
1109         /*  1950 */
1110         93, 94, 124, 124, 124, 124, 124, 124, 124, 102,
1111         /*  1960 */
1112         103, 124, 86, 106, 107, 108, 90, 110, 124, 93,
1113         /*  1970 */
1114         94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
1115         /*  1980 */
1116         124, 86, 106, 107, 108, 90, 110, 124, 93, 94,
1117         /*  1990 */
1118         79, 80, 81, 124, 124, 124, 124, 102, 103, 124,
1119         /*  2000 */
1120         86, 106, 107, 108, 90, 110, 124, 93, 94, 124,
1121         /*  2010 */
1122         124, 86, 124, 124, 124, 90, 102, 103, 93, 94,
1123         /*  2020 */
1124         106, 107, 108, 124, 110, 124, 124, 102, 103, 124,
1125         /*  2030 */
1126         86, 106, 107, 108, 90, 110, 124, 93, 94, 124,
1127         /*  2040 */
1128         124, 124, 124, 124, 124, 124, 102, 103, 124, 11,
1129         /*  2050 */
1130         106, 107, 108, 124, 110, 124, 18, 124, 124, 124,
1131         /*  2060 */
1132         124, 23, 24, 124, 124, 124, 124, 29, 86, 124,
1133         /*  2070 */
1134         124, 33, 90, 35, 124, 93, 94, 124, 124, 86,
1135         /*  2080 */
1136         124, 124, 124, 90, 102, 103, 93, 94, 106, 107,
1137         /*  2090 */
1138         108, 124, 110, 124, 124, 102, 103, 124, 124, 106,
1139         /*  2100 */
1140         107, 108, 124, 110, 86, 124, 124, 124, 90, 124,
1141         /*  2110 */
1142         124, 93, 94, 124, 124, 124, 124, 79, 80, 81,
1143         /*  2120 */
1144         102, 103, 124, 124, 106, 107, 108, 124, 110, 124,
1145         /*  2130 */
1146         124, 124, 124, 86, 124, 124, 124, 90, 124, 124,
1147         /*  2140 */
1148         93, 94, 124, 124, 124, 124, 91, 92, 124, 102,
1149         /*  2150 */
1150         103, 124, 124, 106, 107, 108, 101, 110, 86, 104,
1151         /*  2160 */
1152         105, 124, 90, 124, 124, 93, 94, 124, 124, 124,
1153         /*  2170 */
1154         124, 124, 124, 118, 102, 103, 124, 86, 106, 107,
1155         /*  2180 */
1156         108, 90, 110, 124, 93, 94, 124, 124, 86, 124,
1157         /*  2190 */
1158         124, 124, 90, 102, 103, 93, 94, 106, 107, 108,
1159         /*  2200 */
1160         124, 110, 124, 124, 102, 103, 124, 86, 106, 107,
1161         /*  2210 */
1162         108, 90, 110, 124, 93, 94, 124, 124, 124, 124,
1163         /*  2220 */
1164         91, 92, 124, 102, 103, 124, 124, 106, 107, 108,
1165         /*  2230 */
1166         101, 110, 124, 104, 105, 124, 86, 124, 124, 124,
1167         /*  2240 */
1168         90, 124, 124, 93, 94, 124, 124, 118, 124, 124,
1169         /*  2250 */
1170         124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
1171         /*  2260 */
1172         110, 86, 124, 124, 124, 90, 124, 124, 93, 94,
1173         /*  2270 */
1174         124, 124, 86, 124, 124, 124, 90, 102, 103, 93,
1175         /*  2280 */
1176         94, 106, 107, 108, 124, 110, 124, 124, 102, 103,
1177         /*  2290 */
1178         124, 86, 106, 107, 108, 90, 110, 124, 93, 94,
1179         /*  2300 */
1180         124, 124, 86, 124, 124, 124, 90, 102, 103, 93,
1181         /*  2310 */
1182         94, 106, 107, 108, 124, 110, 124, 124, 102, 103,
1183         /*  2320 */
1184         124, 124, 106, 107, 108, 124, 110, 86, 124, 124,
1185         /*  2330 */
1186         124, 90, 124, 124, 93, 94, 124, 124, 124, 124,
1187         /*  2340 */
1188         124, 124, 124, 102, 103, 124, 124, 106, 107, 108,
1189         /*  2350 */
1190         124, 110, 86, 124, 124, 124, 90, 124, 124, 93,
1191         /*  2360 */
1192         94, 124, 124, 86, 124, 124, 124, 90, 102, 103,
1193         /*  2370 */
1194         93, 94, 106, 107, 108, 124, 110, 124, 124, 102,
1195         /*  2380 */
1196         103, 124, 86, 106, 107, 108, 90, 110, 124, 93,
1197         /*  2390 */
1198         94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
1199         /*  2400 */
1200         124, 124, 106, 107, 108, 124, 110,
1201     );
1202     const YY_SHIFT_USE_DFLT = - 53;
1203     const YY_SHIFT_MAX = 259;
1204     static public $yy_shift_ofst = array(
1205         /*     0 */
1206         - 3, 1213, 981, 1155, 1213, 1155, 981, 981, 923, 923,
1207         /*    10 */
1208         865, 981, 981, 1097, 981, 981, 981, 981, 981, 981,
1209         /*    20 */
1210         981, 1329, 981, 981, 981, 981, 1271, 981, 981, 981,
1211         /*    30 */
1212         1097, 981, 981, 981, 981, 981, 981, 981, 981, 981,
1213         /*    40 */
1214         981, 981, 981, 981, 1039, 1039, 1387, 1387, 1445, 1387,
1215         /*    50 */
1216         1387, 1387, 1387, - 1, 53, 107, 107, 107, 107, 107,
1217         /*    60 */
1218         485, 431, 593, 647, 701, 323, 161, 215, 377, 269,
1219         /*    70 */
1220         539, 755, 755, 755, 755, 755, 755, 755, 755, 755,
1221         /*    80 */
1222         755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
1223         /*    90 */
1224         797, 797, 1279, 110, 297, - 3, 2038, 977, 1034, 191,
1225         /*   100 */
1226         - 2, 191, - 2, 297, 297, 798, 340, 354, 367, 1911,
1227         /*   110 */
1228         181, 54, 57, 163, 199, 285, 19, 151, 167, 70,
1229         /*   120 */
1230         78, 381, 367, 543, 363, - 17, 375, 365, 363, 246,
1231         /*   130 */
1232         363, 395, 392, - 17, 363, 363, 363, 367, 363, 445,
1233         /*   140 */
1234         413, 363, 395, 363, 474, 365, 574, 204, 204, 574,
1235         /*   150 */
1236         574, 574, 574, 574, 574, 574, 574, - 53, 255, 233,
1237         /*   160 */
1238         - 17, - 27, - 29, - 17, - 17, - 17, - 29, - 17, - 29, - 27,
1239         /*   170 */
1240         - 17, - 17, - 17, - 29, - 17, - 17, - 29, - 17, - 17, - 17,
1241         /*   180 */
1242         - 17, - 17, - 17, - 17, - 17, - 17, - 29, - 29, - 17, 343,
1243         /*   190 */
1244         574, 574, 574, 596, 596, 574, 574, 204, 572, 572,
1245         /*   200 */
1246         204, 341, 204, 370, - 53, - 53, - 53, - 53, - 53, 1483,
1247         /*   210 */
1248         1342, 98, 76, 210, 435, 212, 328, 299, 81, 287,
1249         /*   220 */
1250         472, 294, 217, 290, 292, 292, 370, 511, 455, 505,
1251         /*   230 */
1252         520, 528, 478, 481, 541, 527, 446, 15, 114, - 14,
1253         /*   240 */
1254         533, 130, 493, 497, 503, 523, 512, 525, 549, 551,
1255         /*   250 */
1256         507, 526, 530, 516, 571, 137, 119, - 52, 69, 171,
1257     );
1258     const YY_REDUCE_USE_DFLT = - 73;
1259     const YY_REDUCE_MAX = 208;
1260     static public $yy_reduce_ofst = array(
1261         /*     0 */
1262         - 22, 1449, 1540, 1504, 1481, 1568, 1515, 1591, 1925, 2072,
1263         /*    10 */
1264         1750, 1818, 1895, 1644, 1663, 1914, 2205, 2277, 1876, 1731,
1265         /*    20 */
1266         1857, 1633, 1701, 2186, 2150, 2296, 2266, 2091, 2047, 1993,
1267         /*    30 */
1268         2241, 2102, 1720, 1788, 1982, 1769, 1807, 1610, 1682, 2175,
1269         /*    40 */
1270         2216, 2121, 1944, 2018, 805, 869, 884, 979, 925, 985,
1271         /*    50 */
1272         1041, 1157, 1099, 1220, 1336, 2129, 1278, 1336, 1564, 2055,
1273         /*    60 */
1274         190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
1275         /*    70 */
1276         190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
1277         /*    80 */
1278         190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
1279         /*    90 */
1280         190, 190, 261, 208, 153, 193, 154, 827, 826, 369,
1281         /*   100 */
1282         804, 315, 872, 316, 424, - 34, 839, 82, - 72, 372,
1283         /*   110 */
1284         349, - 32, - 32, - 32, 559, 351, 351, 351, - 32, 30,
1285         /*   120 */
1286         - 32, 30, 345, 30, 453, 420, 368, 242, 344, - 32,
1287         /*   130 */
1288         276, 561, 451, 419, 506, 615, 668, 396, 613, 615,
1289         /*   140 */
1290         350, 614, 615, 667, 615, 139, - 32, 30, 109, - 32,
1291         /*   150 */
1292         - 32, - 32, - 32, - 32, - 32, - 32, 23, - 32, 462, 482,
1293         /*   160 */
1294         473, 466, 464, 473, 473, 473, 464, 473, 464, 468,
1295         /*   170 */
1296         473, 473, 473, 464, 473, 473, 464, 473, 473, 473,
1297         /*   180 */
1298         473, 473, 473, 473, 473, 473, 464, 464, 473, 489,
1299         /*   190 */
1300         479, 479, 479, 480, 480, 479, 479, 189, 504, 499,
1301         /*   200 */
1302         189, 241, 189, 348, 356, 393, 389, 95, 385,
1303     );
1304     static public $yyExpectedTokens = array(
1305         /* 0 */
1306         array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,),
1307         /* 1 */
1308         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1309         /* 2 */
1310         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1311         /* 3 */
1312         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1313         /* 4 */
1314         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1315         /* 5 */
1316         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1317         /* 6 */
1318         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1319         /* 7 */
1320         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1321         /* 8 */
1322         array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1323         /* 9 */
1324         array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1325         /* 10 */
1326         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 66, 79,),
1327         /* 11 */
1328         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1329         /* 12 */
1330         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1331         /* 13 */
1332         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1333         /* 14 */
1334         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1335         /* 15 */
1336         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1337         /* 16 */
1338         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1339         /* 17 */
1340         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1341         /* 18 */
1342         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1343         /* 19 */
1344         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1345         /* 20 */
1346         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1347         /* 21 */
1348         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1349         /* 22 */
1350         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1351         /* 23 */
1352         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1353         /* 24 */
1354         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1355         /* 25 */
1356         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1357         /* 26 */
1358         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1359         /* 27 */
1360         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1361         /* 28 */
1362         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1363         /* 29 */
1364         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1365         /* 30 */
1366         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1367         /* 31 */
1368         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1369         /* 32 */
1370         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1371         /* 33 */
1372         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1373         /* 34 */
1374         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1375         /* 35 */
1376         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1377         /* 36 */
1378         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1379         /* 37 */
1380         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1381         /* 38 */
1382         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1383         /* 39 */
1384         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1385         /* 40 */
1386         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1387         /* 41 */
1388         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1389         /* 42 */
1390         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1391         /* 43 */
1392         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1393         /* 44 */
1394         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1395         /* 45 */
1396         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1397         /* 46 */
1398         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1399         /* 47 */
1400         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1401         /* 48 */
1402         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1403         /* 49 */
1404         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1405         /* 50 */
1406         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1407         /* 51 */
1408         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1409         /* 52 */
1410         array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1411         /* 53 */
1412         array(1, 28, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1413         /* 54 */
1414         array(1, 3, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1415         /* 55 */
1416         array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1417         /* 56 */
1418         array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1419         /* 57 */
1420         array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1421         /* 58 */
1422         array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1423         /* 59 */
1424         array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1425         /* 60 */
1426         array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1427         /* 61 */
1428         array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1429         /* 62 */
1430         array(1, 25, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1431         /* 63 */
1432         array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1433         /* 64 */
1434         array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1435         /* 65 */
1436         array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1437         /* 66 */
1438         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80,),
1439         /* 67 */
1440         array(1, 31, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1441         /* 68 */
1442         array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1443         /* 69 */
1444         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1445         /* 70 */
1446         array(1, 2, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1447         /* 71 */
1448         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1449         /* 72 */
1450         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1451         /* 73 */
1452         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1453         /* 74 */
1454         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1455         /* 75 */
1456         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1457         /* 76 */
1458         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1459         /* 77 */
1460         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1461         /* 78 */
1462         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1463         /* 79 */
1464         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1465         /* 80 */
1466         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1467         /* 81 */
1468         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1469         /* 82 */
1470         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1471         /* 83 */
1472         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1473         /* 84 */
1474         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1475         /* 85 */
1476         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1477         /* 86 */
1478         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1479         /* 87 */
1480         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1481         /* 88 */
1482         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1483         /* 89 */
1484         array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1485         /* 90 */
1486         array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1487         /* 91 */
1488         array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1489         /* 92 */
1490         array(1, 3, 22, 30, 36, 39, 62,),
1491         /* 93 */
1492         array(1, 3, 30, 36, 55,),
1493         /* 94 */
1494         array(1, 30, 36,),
1495         /* 95 */
1496         array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,),
1497         /* 96 */
1498         array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,),
1499         /* 97 */
1500         array(18, 20, 30, 32, 36,),
1501         /* 98 */
1502         array(18, 20, 30, 32, 36,),
1503         /* 99 */
1504         array(1, 3, 30, 36,),
1505         /* 100 */
1506         array(18, 20, 30, 36,),
1507         /* 101 */
1508         array(1, 3, 30, 36,),
1509         /* 102 */
1510         array(18, 20, 30, 36,),
1511         /* 103 */
1512         array(1, 30, 36,),
1513         /* 104 */
1514         array(1, 30, 36,),
1515         /* 105 */
1516         array(22, 60, 65,),
1517         /* 106 */
1518         array(19, 20, 64,),
1519         /* 107 */
1520         array(1, 2,),
1521         /* 108 */
1522         array(19, 39,),
1523         /* 109 */
1524         array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,),
1525         /* 110 */
1526         array(5, 6, 7, 8, 9, 15, 16, 17,),
1527         /* 111 */
1528         array(1, 3, 30, 31, 36, 55,),
1529         /* 112 */
1530         array(1, 3, 30, 36, 55,),
1531         /* 113 */
1532         array(1, 3, 30, 36, 55,),
1533         /* 114 */
1534         array(18, 20, 21, 26,),
1535         /* 115 */
1536         array(18, 20, 21, 63,),
1537         /* 116 */
1538         array(18, 20, 63,),
1539         /* 117 */
1540         array(18, 20, 21,),
1541         /* 118 */
1542         array(1, 3, 55,),
1543         /* 119 */
1544         array(21, 22, 62,),
1545         /* 120 */
1546         array(1, 32, 55,),
1547         /* 121 */
1548         array(21, 22, 62,),
1549         /* 122 */
1550         array(19, 39,),
1551         /* 123 */
1552         array(22, 62,),
1553         /* 124 */
1554         array(18, 20,),
1555         /* 125 */
1556         array(30, 36,),
1557         /* 126 */
1558         array(30, 36,),
1559         /* 127 */
1560         array(19, 20,),
1561         /* 128 */
1562         array(18, 20,),
1563         /* 129 */
1564         array(1, 55,),
1565         /* 130 */
1566         array(18, 20,),
1567         /* 131 */
1568         array(18, 20,),
1569         /* 132 */
1570         array(18, 20,),
1571         /* 133 */
1572         array(30, 36,),
1573         /* 134 */
1574         array(18, 20,),
1575         /* 135 */
1576         array(18, 20,),
1577         /* 136 */
1578         array(18, 20,),
1579         /* 137 */
1580         array(19, 39,),
1581         /* 138 */
1582         array(18, 20,),
1583         /* 139 */
1584         array(18, 20,),
1585         /* 140 */
1586         array(1, 22,),
1587         /* 141 */
1588         array(18, 20,),
1589         /* 142 */
1590         array(18, 20,),
1591         /* 143 */
1592         array(18, 20,),
1593         /* 144 */
1594         array(18, 20,),
1595         /* 145 */
1596         array(19, 20,),
1597         /* 146 */
1598         array(1,),
1599         /* 147 */
1600         array(22,),
1601         /* 148 */
1602         array(22,),
1603         /* 149 */
1604         array(1,),
1605         /* 150 */
1606         array(1,),
1607         /* 151 */
1608         array(1,),
1609         /* 152 */
1610         array(1,),
1611         /* 153 */
1612         array(1,),
1613         /* 154 */
1614         array(1,),
1615         /* 155 */
1616         array(1,),
1617         /* 156 */
1618         array(1,),
1619         /* 157 */
1620         array(),
1621         /* 158 */
1622         array(18, 19, 20,),
1623         /* 159 */
1624         array(18, 20, 63,),
1625         /* 160 */
1626         array(30, 36,),
1627         /* 161 */
1628         array(60, 65,),
1629         /* 162 */
1630         array(60, 65,),
1631         /* 163 */
1632         array(30, 36,),
1633         /* 164 */
1634         array(30, 36,),
1635         /* 165 */
1636         array(30, 36,),
1637         /* 166 */
1638         array(60, 65,),
1639         /* 167 */
1640         array(30, 36,),
1641         /* 168 */
1642         array(60, 65,),
1643         /* 169 */
1644         array(60, 65,),
1645         /* 170 */
1646         array(30, 36,),
1647         /* 171 */
1648         array(30, 36,),
1649         /* 172 */
1650         array(30, 36,),
1651         /* 173 */
1652         array(60, 65,),
1653         /* 174 */
1654         array(30, 36,),
1655         /* 175 */
1656         array(30, 36,),
1657         /* 176 */
1658         array(60, 65,),
1659         /* 177 */
1660         array(30, 36,),
1661         /* 178 */
1662         array(30, 36,),
1663         /* 179 */
1664         array(30, 36,),
1665         /* 180 */
1666         array(30, 36,),
1667         /* 181 */
1668         array(30, 36,),
1669         /* 182 */
1670         array(30, 36,),
1671         /* 183 */
1672         array(30, 36,),
1673         /* 184 */
1674         array(30, 36,),
1675         /* 185 */
1676         array(30, 36,),
1677         /* 186 */
1678         array(60, 65,),
1679         /* 187 */
1680         array(60, 65,),
1681         /* 188 */
1682         array(30, 36,),
1683         /* 189 */
1684         array(18, 39,),
1685         /* 190 */
1686         array(1,),
1687         /* 191 */
1688         array(1,),
1689         /* 192 */
1690         array(1,),
1691         /* 193 */
1692         array(2,),
1693         /* 194 */
1694         array(2,),
1695         /* 195 */
1696         array(1,),
1697         /* 196 */
1698         array(1,),
1699         /* 197 */
1700         array(22,),
1701         /* 198 */
1702         array(30,),
1703         /* 199 */
1704         array(30,),
1705         /* 200 */
1706         array(22,),
1707         /* 201 */
1708         array(16,),
1709         /* 202 */
1710         array(22,),
1711         /* 203 */
1712         array(39,),
1713         /* 204 */
1714         array(),
1715         /* 205 */
1716         array(),
1717         /* 206 */
1718         array(),
1719         /* 207 */
1720         array(),
1721         /* 208 */
1722         array(),
1723         /* 209 */
1724         array(3, 25, 27, 28, 30, 31, 36, 38, 39, 40, 55, 62, 66, 80,),
1725         /* 210 */
1726         array(3, 21, 30, 36, 39, 62,),
1727         /* 211 */
1728         array(18, 19, 20, 37,),
1729         /* 212 */
1730         array(39, 60, 62, 66,),
1731         /* 213 */
1732         array(32, 39, 62,),
1733         /* 214 */
1734         array(2, 21,),
1735         /* 215 */
1736         array(38, 40,),
1737         /* 216 */
1738         array(21, 60,),
1739         /* 217 */
1740         array(3, 26,),
1741         /* 218 */
1742         array(38, 66,),
1743         /* 219 */
1744         array(20, 63,),
1745         /* 220 */
1746         array(25, 38,),
1747         /* 221 */
1748         array(38, 40,),
1749         /* 222 */
1750         array(26, 80,),
1751         /* 223 */
1752         array(38, 40,),
1753         /* 224 */
1754         array(39, 62,),
1755         /* 225 */
1756         array(39, 62,),
1757         /* 226 */
1758         array(39,),
1759         /* 227 */
1760         array(3,),
1761         /* 228 */
1762         array(64,),
1763         /* 229 */
1764         array(19,),
1765         /* 230 */
1766         array(3,),
1767         /* 231 */
1768         array(19,),
1769         /* 232 */
1770         array(40,),
1771         /* 233 */
1772         array(64,),
1773         /* 234 */
1774         array(27,),
1775         /* 235 */
1776         array(21,),
1777         /* 236 */
1778         array(20,),
1779         /* 237 */
1780         array(2,),
1781         /* 238 */
1782         array(20,),
1783         /* 239 */
1784         array(39,),
1785         /* 240 */
1786         array(37,),
1787         /* 241 */
1788         array(37,),
1789         /* 242 */
1790         array(20,),
1791         /* 243 */
1792         array(20,),
1793         /* 244 */
1794         array(19,),
1795         /* 245 */
1796         array(20,),
1797         /* 246 */
1798         array(3,),
1799         /* 247 */
1800         array(19,),
1801         /* 248 */
1802         array(20,),
1803         /* 249 */
1804         array(20,),
1805         /* 250 */
1806         array(60,),
1807         /* 251 */
1808         array(20,),
1809         /* 252 */
1810         array(20,),
1811         /* 253 */
1812         array(56,),
1813         /* 254 */
1814         array(2,),
1815         /* 255 */
1816         array(26,),
1817         /* 256 */
1818         array(20,),
1819         /* 257 */
1820         array(66,),
1821         /* 258 */
1822         array(19,),
1823         /* 259 */
1824         array(20,),
1825         /* 260 */
1826         array(),
1827         /* 261 */
1828         array(),
1829         /* 262 */
1830         array(),
1831         /* 263 */
1832         array(),
1833         /* 264 */
1834         array(),
1835         /* 265 */
1836         array(),
1837         /* 266 */
1838         array(),
1839         /* 267 */
1840         array(),
1841         /* 268 */
1842         array(),
1843         /* 269 */
1844         array(),
1845         /* 270 */
1846         array(),
1847         /* 271 */
1848         array(),
1849         /* 272 */
1850         array(),
1851         /* 273 */
1852         array(),
1853         /* 274 */
1854         array(),
1855         /* 275 */
1856         array(),
1857         /* 276 */
1858         array(),
1859         /* 277 */
1860         array(),
1861         /* 278 */
1862         array(),
1863         /* 279 */
1864         array(),
1865         /* 280 */
1866         array(),
1867         /* 281 */
1868         array(),
1869         /* 282 */
1870         array(),
1871         /* 283 */
1872         array(),
1873         /* 284 */
1874         array(),
1875         /* 285 */
1876         array(),
1877         /* 286 */
1878         array(),
1879         /* 287 */
1880         array(),
1881         /* 288 */
1882         array(),
1883         /* 289 */
1884         array(),
1885         /* 290 */
1886         array(),
1887         /* 291 */
1888         array(),
1889         /* 292 */
1890         array(),
1891         /* 293 */
1892         array(),
1893         /* 294 */
1894         array(),
1895         /* 295 */
1896         array(),
1897         /* 296 */
1898         array(),
1899         /* 297 */
1900         array(),
1901         /* 298 */
1902         array(),
1903         /* 299 */
1904         array(),
1905         /* 300 */
1906         array(),
1907         /* 301 */
1908         array(),
1909         /* 302 */
1910         array(),
1911         /* 303 */
1912         array(),
1913         /* 304 */
1914         array(),
1915         /* 305 */
1916         array(),
1917         /* 306 */
1918         array(),
1919         /* 307 */
1920         array(),
1921         /* 308 */
1922         array(),
1923         /* 309 */
1924         array(),
1925         /* 310 */
1926         array(),
1927         /* 311 */
1928         array(),
1929         /* 312 */
1930         array(),
1931         /* 313 */
1932         array(),
1933         /* 314 */
1934         array(),
1935         /* 315 */
1936         array(),
1937         /* 316 */
1938         array(),
1939         /* 317 */
1940         array(),
1941         /* 318 */
1942         array(),
1943         /* 319 */
1944         array(),
1945         /* 320 */
1946         array(),
1947         /* 321 */
1948         array(),
1949         /* 322 */
1950         array(),
1951         /* 323 */
1952         array(),
1953         /* 324 */
1954         array(),
1955         /* 325 */
1956         array(),
1957         /* 326 */
1958         array(),
1959         /* 327 */
1960         array(),
1961         /* 328 */
1962         array(),
1963         /* 329 */
1964         array(),
1965         /* 330 */
1966         array(),
1967         /* 331 */
1968         array(),
1969         /* 332 */
1970         array(),
1971         /* 333 */
1972         array(),
1973         /* 334 */
1974         array(),
1975         /* 335 */
1976         array(),
1977         /* 336 */
1978         array(),
1979         /* 337 */
1980         array(),
1981         /* 338 */
1982         array(),
1983         /* 339 */
1984         array(),
1985         /* 340 */
1986         array(),
1987         /* 341 */
1988         array(),
1989         /* 342 */
1990         array(),
1991         /* 343 */
1992         array(),
1993         /* 344 */
1994         array(),
1995         /* 345 */
1996         array(),
1997         /* 346 */
1998         array(),
1999         /* 347 */
2000         array(),
2001         /* 348 */
2002         array(),
2003         /* 349 */
2004         array(),
2005         /* 350 */
2006         array(),
2007         /* 351 */
2008         array(),
2009         /* 352 */
2010         array(),
2011         /* 353 */
2012         array(),
2013         /* 354 */
2014         array(),
2015         /* 355 */
2016         array(),
2017         /* 356 */
2018         array(),
2019         /* 357 */
2020         array(),
2021         /* 358 */
2022         array(),
2023         /* 359 */
2024         array(),
2025         /* 360 */
2026         array(),
2027         /* 361 */
2028         array(),
2029         /* 362 */
2030         array(),
2031     );
2032     static public $yy_default = array(
2033         /*     0 */
2034         366, 551, 522, 568, 568, 568, 522, 522, 568, 568,
2035         /*    10 */
2036         568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
2037         /*    20 */
2038         568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
2039         /*    30 */
2040         568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
2041         /*    40 */
2042         568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
2043         /*    50 */
2044         568, 568, 568, 428, 568, 405, 428, 428, 428, 397,
2045         /*    60 */
2046         568, 568, 568, 568, 568, 568, 568, 433, 568, 568,
2047         /*    70 */
2048         568, 553, 449, 520, 552, 457, 433, 452, 439, 462,
2049         /*    80 */
2050         521, 461, 430, 435, 554, 438, 454, 453, 410, 458,
2051         /*    90 */
2052         466, 465, 477, 441, 428, 363, 568, 428, 428, 485,
2053         /*   100 */
2054         428, 448, 428, 428, 428, 534, 568, 419, 568, 568,
2055         /*   110 */
2056         568, 441, 441, 441, 568, 495, 495, 495, 441, 486,
2057         /*   120 */
2058         441, 486, 568, 486, 568, 428, 428, 568, 568, 441,
2059         /*   130 */
2060         495, 568, 568, 407, 568, 568, 568, 568, 568, 568,
2061         /*   140 */
2062         422, 568, 568, 568, 568, 568, 451, 486, 531, 464,
2063         /*   150 */
2064         446, 445, 468, 444, 469, 470, 424, 529, 568, 496,
2065         /*   160 */
2066         395, 489, 492, 412, 392, 406, 514, 409, 490, 491,
2067         /*   170 */
2068         413, 394, 398, 513, 393, 408, 493, 400, 417, 402,
2069         /*   180 */
2070         415, 404, 414, 418, 416, 403, 515, 512, 399, 495,
2071         /*   190 */
2072         448, 420, 485, 523, 524, 423, 425, 532, 567, 567,
2073         /*   200 */
2074         509, 383, 535, 495, 495, 528, 528, 528, 495, 443,
2075         /*   210 */
2076         477, 568, 477, 477, 507, 568, 473, 467, 568, 568,
2077         /*   220 */
2078         568, 568, 467, 568, 477, 463, 507, 568, 568, 568,
2079         /*   230 */
2080         568, 568, 568, 568, 436, 568, 568, 507, 568, 533,
2081         /*   240 */
2082         568, 475, 568, 568, 568, 568, 568, 568, 568, 568,
2083         /*   250 */
2084         473, 568, 568, 479, 507, 467, 568, 568, 568, 568,
2085         /*   260 */
2086         508, 429, 437, 364, 501, 519, 503, 440, 500, 479,
2087         /*   270 */
2088         566, 516, 517, 502, 504, 518, 411, 530, 459, 506,
2089         /*   280 */
2090         507, 527, 525, 427, 426, 388, 389, 390, 526, 471,
2091         /*   290 */
2092         443, 487, 494, 497, 442, 482, 472, 474, 476, 387,
2093         /*   300 */
2094         386, 371, 372, 373, 374, 370, 369, 365, 367, 368,
2095         /*   310 */
2096         375, 376, 382, 384, 385, 381, 380, 377, 378, 379,
2097         /*   320 */
2098         505, 498, 510, 421, 562, 555, 563, 447, 545, 546,
2099         /*   330 */
2100         547, 556, 557, 558, 548, 550, 565, 564, 560, 559,
2101         /*   340 */
2102         561, 544, 543, 450, 484, 488, 511, 483, 481, 499,
2103         /*   350 */
2104         478, 480, 455, 456, 540, 541, 542, 539, 538, 460,
2105         /*   360 */
2106         536, 537, 549,
2107     );
2108     const YYNOCODE = 125;
2109     const YYSTACKDEPTH = 500;
2110     const YYNSTATE = 363;
2111     const YYNRULE = 205;
2112     const YYERRORSYMBOL = 82;
2113     const YYERRSYMDT = 'yy0';
2114     const YYFALLBACK = 0;
2115     public static $yyFallback = array();
2116
2117     public function Trace($TraceFILE, $zTracePrompt)
2118     {
2119         if (!$TraceFILE) {
2120             $zTracePrompt = 0;
2121         } elseif (!$zTracePrompt) {
2122             $TraceFILE = 0;
2123         }
2124         $this->yyTraceFILE = $TraceFILE;
2125         $this->yyTracePrompt = $zTracePrompt;
2126     }
2127
2128     public function PrintTrace()
2129     {
2130         $this->yyTraceFILE = fopen('php://output', 'w');
2131         $this->yyTracePrompt = '<br>';
2132     }
2133
2134     public $yyTraceFILE;
2135     public $yyTracePrompt;
2136     public $yyidx; /* Index of top element in stack */
2137     public $yyerrcnt; /* Shifts left before out of the error */
2138     public $yystack = array(); /* The parser's stack */
2139
2140     public $yyTokenName = array(
2141         '$', 'VERT', 'COLON', 'RDEL',
2142         'COMMENT', 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG',
2143         'ASPENDTAG', 'FAKEPHPSTARTTAG', 'XMLTAG', 'TEXT',
2144         'STRIPON', 'STRIPOFF', 'BLOCKSOURCE', 'LITERALSTART',
2145         'LITERALEND', 'LITERAL', 'LDEL', 'DOLLAR',
2146         'ID', 'EQUAL', 'PTR', 'LDELIF',
2147         'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO',
2148         'STEP', 'LDELFOREACH', 'SPACE', 'AS',
2149         'APTR', 'LDELSETFILTER', 'SMARTYBLOCKCHILDPARENT', 'LDELSLASH',
2150         'ATTR', 'INTEGER', 'COMMA', 'OPENP',
2151         'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM',
2152         'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN',
2153         'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD',
2154         'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF',
2155         'QMARK', 'NOT', 'TYPECAST', 'HEX',
2156         'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT',
2157         'HATCH', 'OPENB', 'CLOSEB', 'EQUALS',
2158         'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL',
2159         'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD',
2160         'LAND', 'LOR', 'LXOR', 'QUOTE',
2161         'BACKTICK', 'DOLLARID', 'error', 'start',
2162         'template', 'template_element', 'smartytag', 'literal',
2163         'literal_elements', 'literal_element', 'value', 'modifierlist',
2164         'attributes', 'expr', 'varindexed', 'statement',
2165         'statements', 'optspace', 'varvar', 'foraction',
2166         'modparameters', 'attribute', 'ternary', 'array',
2167         'ifcond', 'lop', 'variable', 'function',
2168         'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex',
2169         'indexdef', 'varvarele', 'objectchain', 'objectelement',
2170         'method', 'params', 'modifier', 'modparameter',
2171         'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',
2172     );
2173
2174     public static $yyRuleName = array(
2175         /*   0 */
2176         "start ::= template",
2177         /*   1 */
2178         "template ::= template_element",
2179         /*   2 */
2180         "template ::= template template_element",
2181         /*   3 */
2182         "template ::=",
2183         /*   4 */
2184         "template_element ::= smartytag RDEL",
2185         /*   5 */
2186         "template_element ::= COMMENT",
2187         /*   6 */
2188         "template_element ::= literal",
2189         /*   7 */
2190         "template_element ::= PHPSTARTTAG",
2191         /*   8 */
2192         "template_element ::= PHPENDTAG",
2193         /*   9 */
2194         "template_element ::= ASPSTARTTAG",
2195         /*  10 */
2196         "template_element ::= ASPENDTAG",
2197         /*  11 */
2198         "template_element ::= FAKEPHPSTARTTAG",
2199         /*  12 */
2200         "template_element ::= XMLTAG",
2201         /*  13 */
2202         "template_element ::= TEXT",
2203         /*  14 */
2204         "template_element ::= STRIPON",
2205         /*  15 */
2206         "template_element ::= STRIPOFF",
2207         /*  16 */
2208         "template_element ::= BLOCKSOURCE",
2209         /*  17 */
2210         "literal ::= LITERALSTART LITERALEND",
2211         /*  18 */
2212         "literal ::= LITERALSTART literal_elements LITERALEND",
2213         /*  19 */
2214         "literal_elements ::= literal_elements literal_element",
2215         /*  20 */
2216         "literal_elements ::=",
2217         /*  21 */
2218         "literal_element ::= literal",
2219         /*  22 */
2220         "literal_element ::= LITERAL",
2221         /*  23 */
2222         "literal_element ::= PHPSTARTTAG",
2223         /*  24 */
2224         "literal_element ::= FAKEPHPSTARTTAG",
2225         /*  25 */
2226         "literal_element ::= PHPENDTAG",
2227         /*  26 */
2228         "literal_element ::= ASPSTARTTAG",
2229         /*  27 */
2230         "literal_element ::= ASPENDTAG",
2231         /*  28 */
2232         "smartytag ::= LDEL value",
2233         /*  29 */
2234         "smartytag ::= LDEL value modifierlist attributes",
2235         /*  30 */
2236         "smartytag ::= LDEL value attributes",
2237         /*  31 */
2238         "smartytag ::= LDEL expr modifierlist attributes",
2239         /*  32 */
2240         "smartytag ::= LDEL expr attributes",
2241         /*  33 */
2242         "smartytag ::= LDEL DOLLAR ID EQUAL value",
2243         /*  34 */
2244         "smartytag ::= LDEL DOLLAR ID EQUAL expr",
2245         /*  35 */
2246         "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes",
2247         /*  36 */
2248         "smartytag ::= LDEL varindexed EQUAL expr attributes",
2249         /*  37 */
2250         "smartytag ::= LDEL ID attributes",
2251         /*  38 */
2252         "smartytag ::= LDEL ID",
2253         /*  39 */
2254         "smartytag ::= LDEL ID PTR ID attributes",
2255         /*  40 */
2256         "smartytag ::= LDEL ID modifierlist attributes",
2257         /*  41 */
2258         "smartytag ::= LDEL ID PTR ID modifierlist attributes",
2259         /*  42 */
2260         "smartytag ::= LDELIF expr",
2261         /*  43 */
2262         "smartytag ::= LDELIF expr attributes",
2263         /*  44 */
2264         "smartytag ::= LDELIF statement",
2265         /*  45 */
2266         "smartytag ::= LDELIF statement attributes",
2267         /*  46 */
2268         "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes",
2269         /*  47 */
2270         "foraction ::= EQUAL expr",
2271         /*  48 */
2272         "foraction ::= INCDEC",
2273         /*  49 */
2274         "smartytag ::= LDELFOR statement TO expr attributes",
2275         /*  50 */
2276         "smartytag ::= LDELFOR statement TO expr STEP expr attributes",
2277         /*  51 */
2278         "smartytag ::= LDELFOREACH attributes",
2279         /*  52 */
2280         "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes",
2281         /*  53 */
2282         "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes",
2283         /*  54 */
2284         "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes",
2285         /*  55 */
2286         "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes",
2287         /*  56 */
2288         "smartytag ::= LDELSETFILTER ID modparameters",
2289         /*  57 */
2290         "smartytag ::= LDELSETFILTER ID modparameters modifierlist",
2291         /*  58 */
2292         "smartytag ::= LDEL SMARTYBLOCKCHILDPARENT",
2293         /*  59 */
2294         "smartytag ::= LDELSLASH ID",
2295         /*  60 */
2296         "smartytag ::= LDELSLASH ID modifierlist",
2297         /*  61 */
2298         "smartytag ::= LDELSLASH ID PTR ID",
2299         /*  62 */
2300         "smartytag ::= LDELSLASH ID PTR ID modifierlist",
2301         /*  63 */
2302         "attributes ::= attributes attribute",
2303         /*  64 */
2304         "attributes ::= attribute",
2305         /*  65 */
2306         "attributes ::=",
2307         /*  66 */
2308         "attribute ::= SPACE ID EQUAL ID",
2309         /*  67 */
2310         "attribute ::= ATTR expr",
2311         /*  68 */
2312         "attribute ::= ATTR value",
2313         /*  69 */
2314         "attribute ::= SPACE ID",
2315         /*  70 */
2316         "attribute ::= SPACE expr",
2317         /*  71 */
2318         "attribute ::= SPACE value",
2319         /*  72 */
2320         "attribute ::= SPACE INTEGER EQUAL expr",
2321         /*  73 */
2322         "statements ::= statement",
2323         /*  74 */
2324         "statements ::= statements COMMA statement",
2325         /*  75 */
2326         "statement ::= DOLLAR varvar EQUAL expr",
2327         /*  76 */
2328         "statement ::= varindexed EQUAL expr",
2329         /*  77 */
2330         "statement ::= OPENP statement CLOSEP",
2331         /*  78 */
2332         "expr ::= value",
2333         /*  79 */
2334         "expr ::= ternary",
2335         /*  80 */
2336         "expr ::= DOLLAR ID COLON ID",
2337         /*  81 */
2338         "expr ::= expr MATH value",
2339         /*  82 */
2340         "expr ::= expr UNIMATH value",
2341         /*  83 */
2342         "expr ::= expr ANDSYM value",
2343         /*  84 */
2344         "expr ::= array",
2345         /*  85 */
2346         "expr ::= expr modifierlist",
2347         /*  86 */
2348         "expr ::= expr ifcond expr",
2349         /*  87 */
2350         "expr ::= expr ISIN array",
2351         /*  88 */
2352         "expr ::= expr ISIN value",
2353         /*  89 */
2354         "expr ::= expr lop expr",
2355         /*  90 */
2356         "expr ::= expr ISDIVBY expr",
2357         /*  91 */
2358         "expr ::= expr ISNOTDIVBY expr",
2359         /*  92 */
2360         "expr ::= expr ISEVEN",
2361         /*  93 */
2362         "expr ::= expr ISNOTEVEN",
2363         /*  94 */
2364         "expr ::= expr ISEVENBY expr",
2365         /*  95 */
2366         "expr ::= expr ISNOTEVENBY expr",
2367         /*  96 */
2368         "expr ::= expr ISODD",
2369         /*  97 */
2370         "expr ::= expr ISNOTODD",
2371         /*  98 */
2372         "expr ::= expr ISODDBY expr",
2373         /*  99 */
2374         "expr ::= expr ISNOTODDBY expr",
2375         /* 100 */
2376         "expr ::= value INSTANCEOF ID",
2377         /* 101 */
2378         "expr ::= value INSTANCEOF value",
2379         /* 102 */
2380         "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
2381         /* 103 */
2382         "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
2383         /* 104 */
2384         "value ::= variable",
2385         /* 105 */
2386         "value ::= UNIMATH value",
2387         /* 106 */
2388         "value ::= NOT value",
2389         /* 107 */
2390         "value ::= TYPECAST value",
2391         /* 108 */
2392         "value ::= variable INCDEC",
2393         /* 109 */
2394         "value ::= HEX",
2395         /* 110 */
2396         "value ::= INTEGER",
2397         /* 111 */
2398         "value ::= INTEGER DOT INTEGER",
2399         /* 112 */
2400         "value ::= INTEGER DOT",
2401         /* 113 */
2402         "value ::= DOT INTEGER",
2403         /* 114 */
2404         "value ::= ID",
2405         /* 115 */
2406         "value ::= function",
2407         /* 116 */
2408         "value ::= OPENP expr CLOSEP",
2409         /* 117 */
2410         "value ::= SINGLEQUOTESTRING",
2411         /* 118 */
2412         "value ::= doublequoted_with_quotes",
2413         /* 119 */
2414         "value ::= ID DOUBLECOLON static_class_access",
2415         /* 120 */
2416         "value ::= varindexed DOUBLECOLON static_class_access",
2417         /* 121 */
2418         "value ::= smartytag RDEL",
2419         /* 122 */
2420         "value ::= value modifierlist",
2421         /* 123 */
2422         "variable ::= varindexed",
2423         /* 124 */
2424         "variable ::= DOLLAR varvar AT ID",
2425         /* 125 */
2426         "variable ::= object",
2427         /* 126 */
2428         "variable ::= HATCH ID HATCH",
2429         /* 127 */
2430         "variable ::= HATCH ID HATCH arrayindex",
2431         /* 128 */
2432         "variable ::= HATCH variable HATCH",
2433         /* 129 */
2434         "variable ::= HATCH variable HATCH arrayindex",
2435         /* 130 */
2436         "varindexed ::= DOLLAR varvar arrayindex",
2437         /* 131 */
2438         "arrayindex ::= arrayindex indexdef",
2439         /* 132 */
2440         "arrayindex ::=",
2441         /* 133 */
2442         "indexdef ::= DOT DOLLAR varvar",
2443         /* 134 */
2444         "indexdef ::= DOT DOLLAR varvar AT ID",
2445         /* 135 */
2446         "indexdef ::= DOT ID",
2447         /* 136 */
2448         "indexdef ::= DOT INTEGER",
2449         /* 137 */
2450         "indexdef ::= DOT LDEL expr RDEL",
2451         /* 138 */
2452         "indexdef ::= OPENB ID CLOSEB",
2453         /* 139 */
2454         "indexdef ::= OPENB ID DOT ID CLOSEB",
2455         /* 140 */
2456         "indexdef ::= OPENB expr CLOSEB",
2457         /* 141 */
2458         "indexdef ::= OPENB CLOSEB",
2459         /* 142 */
2460         "varvar ::= varvarele",
2461         /* 143 */
2462         "varvar ::= varvar varvarele",
2463         /* 144 */
2464         "varvarele ::= ID",
2465         /* 145 */
2466         "varvarele ::= LDEL expr RDEL",
2467         /* 146 */
2468         "object ::= varindexed objectchain",
2469         /* 147 */
2470         "objectchain ::= objectelement",
2471         /* 148 */
2472         "objectchain ::= objectchain objectelement",
2473         /* 149 */
2474         "objectelement ::= PTR ID arrayindex",
2475         /* 150 */
2476         "objectelement ::= PTR DOLLAR varvar arrayindex",
2477         /* 151 */
2478         "objectelement ::= PTR LDEL expr RDEL arrayindex",
2479         /* 152 */
2480         "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
2481         /* 153 */
2482         "objectelement ::= PTR method",
2483         /* 154 */
2484         "function ::= ID OPENP params CLOSEP",
2485         /* 155 */
2486         "method ::= ID OPENP params CLOSEP",
2487         /* 156 */
2488         "method ::= DOLLAR ID OPENP params CLOSEP",
2489         /* 157 */
2490         "params ::= params COMMA expr",
2491         /* 158 */
2492         "params ::= expr",
2493         /* 159 */
2494         "params ::=",
2495         /* 160 */
2496         "modifierlist ::= modifierlist modifier modparameters",
2497         /* 161 */
2498         "modifierlist ::= modifier modparameters",
2499         /* 162 */
2500         "modifier ::= VERT AT ID",
2501         /* 163 */
2502         "modifier ::= VERT ID",
2503         /* 164 */
2504         "modparameters ::= modparameters modparameter",
2505         /* 165 */
2506         "modparameters ::=",
2507         /* 166 */
2508         "modparameter ::= COLON value",
2509         /* 167 */
2510         "modparameter ::= COLON array",
2511         /* 168 */
2512         "static_class_access ::= method",
2513         /* 169 */
2514         "static_class_access ::= method objectchain",
2515         /* 170 */
2516         "static_class_access ::= ID",
2517         /* 171 */
2518         "static_class_access ::= DOLLAR ID arrayindex",
2519         /* 172 */
2520         "static_class_access ::= DOLLAR ID arrayindex objectchain",
2521         /* 173 */
2522         "ifcond ::= EQUALS",
2523         /* 174 */
2524         "ifcond ::= NOTEQUALS",
2525         /* 175 */
2526         "ifcond ::= GREATERTHAN",
2527         /* 176 */
2528         "ifcond ::= LESSTHAN",
2529         /* 177 */
2530         "ifcond ::= GREATEREQUAL",
2531         /* 178 */
2532         "ifcond ::= LESSEQUAL",
2533         /* 179 */
2534         "ifcond ::= IDENTITY",
2535         /* 180 */
2536         "ifcond ::= NONEIDENTITY",
2537         /* 181 */
2538         "ifcond ::= MOD",
2539         /* 182 */
2540         "lop ::= LAND",
2541         /* 183 */
2542         "lop ::= LOR",
2543         /* 184 */
2544         "lop ::= LXOR",
2545         /* 185 */
2546         "array ::= OPENB arrayelements CLOSEB",
2547         /* 186 */
2548         "arrayelements ::= arrayelement",
2549         /* 187 */
2550         "arrayelements ::= arrayelements COMMA arrayelement",
2551         /* 188 */
2552         "arrayelements ::=",
2553         /* 189 */
2554         "arrayelement ::= value APTR expr",
2555         /* 190 */
2556         "arrayelement ::= ID APTR expr",
2557         /* 191 */
2558         "arrayelement ::= expr",
2559         /* 192 */
2560         "doublequoted_with_quotes ::= QUOTE QUOTE",
2561         /* 193 */
2562         "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
2563         /* 194 */
2564         "doublequoted ::= doublequoted doublequotedcontent",
2565         /* 195 */
2566         "doublequoted ::= doublequotedcontent",
2567         /* 196 */
2568         "doublequotedcontent ::= BACKTICK variable BACKTICK",
2569         /* 197 */
2570         "doublequotedcontent ::= BACKTICK expr BACKTICK",
2571         /* 198 */
2572         "doublequotedcontent ::= DOLLARID",
2573         /* 199 */
2574         "doublequotedcontent ::= LDEL variable RDEL",
2575         /* 200 */
2576         "doublequotedcontent ::= LDEL expr RDEL",
2577         /* 201 */
2578         "doublequotedcontent ::= smartytag RDEL",
2579         /* 202 */
2580         "doublequotedcontent ::= TEXT",
2581         /* 203 */
2582         "optspace ::= SPACE",
2583         /* 204 */
2584         "optspace ::=",
2585     );
2586
2587     public function tokenName($tokenType)
2588     {
2589         if ($tokenType === 0) {
2590             return 'End of Input';
2591         }
2592         if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
2593             return $this->yyTokenName[$tokenType];
2594         } else {
2595             return "Unknown";
2596         }
2597     }
2598
2599     public static function yy_destructor($yymajor, $yypminor)
2600     {
2601         switch ($yymajor) {
2602             default:
2603                 break; /* If no destructor action specified: do nothing */
2604         }
2605     }
2606
2607     public function yy_pop_parser_stack()
2608     {
2609         if (!count($this->yystack)) {
2610             return;
2611         }
2612         $yytos = array_pop($this->yystack);
2613         if ($this->yyTraceFILE && $this->yyidx >= 0) {
2614             fwrite($this->yyTraceFILE,
2615                    $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
2616                    "\n");
2617         }
2618         $yymajor = $yytos->major;
2619         self::yy_destructor($yymajor, $yytos->minor);
2620         $this->yyidx --;
2621
2622         return $yymajor;
2623     }
2624
2625     public function __destruct()
2626     {
2627         while ($this->yystack !== Array()) {
2628             $this->yy_pop_parser_stack();
2629         }
2630         if (is_resource($this->yyTraceFILE)) {
2631             fclose($this->yyTraceFILE);
2632         }
2633     }
2634
2635     public function yy_get_expected_tokens($token)
2636     {
2637         $state = $this->yystack[$this->yyidx]->stateno;
2638         $expected = self::$yyExpectedTokens[$state];
2639         if (in_array($token, self::$yyExpectedTokens[$state], true)) {
2640             return $expected;
2641         }
2642         $stack = $this->yystack;
2643         $yyidx = $this->yyidx;
2644         do {
2645             $yyact = $this->yy_find_shift_action($token);
2646             if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
2647                 // reduce action
2648                 $done = 0;
2649                 do {
2650                     if ($done ++ == 100) {
2651                         $this->yyidx = $yyidx;
2652                         $this->yystack = $stack;
2653                         // too much recursion prevents proper detection
2654                         // so give up
2655                         return array_unique($expected);
2656                     }
2657                     $yyruleno = $yyact - self::YYNSTATE;
2658                     $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
2659                     $nextstate = $this->yy_find_reduce_action(
2660                         $this->yystack[$this->yyidx]->stateno,
2661                         self::$yyRuleInfo[$yyruleno]['lhs']);
2662                     if (isset(self::$yyExpectedTokens[$nextstate])) {
2663                         $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
2664                         if (in_array($token,
2665                                      self::$yyExpectedTokens[$nextstate], true)) {
2666                             $this->yyidx = $yyidx;
2667                             $this->yystack = $stack;
2668
2669                             return array_unique($expected);
2670                         }
2671                     }
2672                     if ($nextstate < self::YYNSTATE) {
2673                         // we need to shift a non-terminal
2674                         $this->yyidx ++;
2675                         $x = new TP_yyStackEntry;
2676                         $x->stateno = $nextstate;
2677                         $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
2678                         $this->yystack[$this->yyidx] = $x;
2679                         continue 2;
2680                     } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
2681                         $this->yyidx = $yyidx;
2682                         $this->yystack = $stack;
2683                         // the last token was just ignored, we can't accept
2684                         // by ignoring input, this is in essence ignoring a
2685                         // syntax error!
2686                         return array_unique($expected);
2687                     } elseif ($nextstate === self::YY_NO_ACTION) {
2688                         $this->yyidx = $yyidx;
2689                         $this->yystack = $stack;
2690                         // input accepted, but not shifted (I guess)
2691                         return $expected;
2692                     } else {
2693                         $yyact = $nextstate;
2694                     }
2695                 } while (true);
2696             }
2697             break;
2698         } while (true);
2699         $this->yyidx = $yyidx;
2700         $this->yystack = $stack;
2701
2702         return array_unique($expected);
2703     }
2704
2705     public function yy_is_expected_token($token)
2706     {
2707         if ($token === 0) {
2708             return true; // 0 is not part of this
2709         }
2710         $state = $this->yystack[$this->yyidx]->stateno;
2711         if (in_array($token, self::$yyExpectedTokens[$state], true)) {
2712             return true;
2713         }
2714         $stack = $this->yystack;
2715         $yyidx = $this->yyidx;
2716         do {
2717             $yyact = $this->yy_find_shift_action($token);
2718             if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
2719                 // reduce action
2720                 $done = 0;
2721                 do {
2722                     if ($done ++ == 100) {
2723                         $this->yyidx = $yyidx;
2724                         $this->yystack = $stack;
2725                         // too much recursion prevents proper detection
2726                         // so give up
2727                         return true;
2728                     }
2729                     $yyruleno = $yyact - self::YYNSTATE;
2730                     $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
2731                     $nextstate = $this->yy_find_reduce_action(
2732                         $this->yystack[$this->yyidx]->stateno,
2733                         self::$yyRuleInfo[$yyruleno]['lhs']);
2734                     if (isset(self::$yyExpectedTokens[$nextstate]) &&
2735                         in_array($token, self::$yyExpectedTokens[$nextstate], true)
2736                     ) {
2737                         $this->yyidx = $yyidx;
2738                         $this->yystack = $stack;
2739
2740                         return true;
2741                     }
2742                     if ($nextstate < self::YYNSTATE) {
2743                         // we need to shift a non-terminal
2744                         $this->yyidx ++;
2745                         $x = new TP_yyStackEntry;
2746                         $x->stateno = $nextstate;
2747                         $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
2748                         $this->yystack[$this->yyidx] = $x;
2749                         continue 2;
2750                     } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
2751                         $this->yyidx = $yyidx;
2752                         $this->yystack = $stack;
2753                         if (!$token) {
2754                             // end of input: this is valid
2755                             return true;
2756                         }
2757                         // the last token was just ignored, we can't accept
2758                         // by ignoring input, this is in essence ignoring a
2759                         // syntax error!
2760                         return false;
2761                     } elseif ($nextstate === self::YY_NO_ACTION) {
2762                         $this->yyidx = $yyidx;
2763                         $this->yystack = $stack;
2764                         // input accepted, but not shifted (I guess)
2765                         return true;
2766                     } else {
2767                         $yyact = $nextstate;
2768                     }
2769                 } while (true);
2770             }
2771             break;
2772         } while (true);
2773         $this->yyidx = $yyidx;
2774         $this->yystack = $stack;
2775
2776         return true;
2777     }
2778
2779     public function yy_find_shift_action($iLookAhead)
2780     {
2781         $stateno = $this->yystack[$this->yyidx]->stateno;
2782
2783         /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
2784         if (!isset(self::$yy_shift_ofst[$stateno])) {
2785             // no shift actions
2786             return self::$yy_default[$stateno];
2787         }
2788         $i = self::$yy_shift_ofst[$stateno];
2789         if ($i === self::YY_SHIFT_USE_DFLT) {
2790             return self::$yy_default[$stateno];
2791         }
2792         if ($iLookAhead == self::YYNOCODE) {
2793             return self::YY_NO_ACTION;
2794         }
2795         $i += $iLookAhead;
2796         if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
2797             self::$yy_lookahead[$i] != $iLookAhead
2798         ) {
2799             if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
2800                 && ($iFallback = self::$yyFallback[$iLookAhead]) != 0
2801             ) {
2802                 if ($this->yyTraceFILE) {
2803                     fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " .
2804                         $this->yyTokenName[$iLookAhead] . " => " .
2805                         $this->yyTokenName[$iFallback] . "\n");
2806                 }
2807
2808                 return $this->yy_find_shift_action($iFallback);
2809             }
2810
2811             return self::$yy_default[$stateno];
2812         } else {
2813             return self::$yy_action[$i];
2814         }
2815     }
2816
2817     public function yy_find_reduce_action($stateno, $iLookAhead)
2818     {
2819         /* $stateno = $this->yystack[$this->yyidx]->stateno; */
2820
2821         if (!isset(self::$yy_reduce_ofst[$stateno])) {
2822             return self::$yy_default[$stateno];
2823         }
2824         $i = self::$yy_reduce_ofst[$stateno];
2825         if ($i == self::YY_REDUCE_USE_DFLT) {
2826             return self::$yy_default[$stateno];
2827         }
2828         if ($iLookAhead == self::YYNOCODE) {
2829             return self::YY_NO_ACTION;
2830         }
2831         $i += $iLookAhead;
2832         if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
2833             self::$yy_lookahead[$i] != $iLookAhead
2834         ) {
2835             return self::$yy_default[$stateno];
2836         } else {
2837             return self::$yy_action[$i];
2838         }
2839     }
2840
2841     public function yy_shift($yyNewState, $yyMajor, $yypMinor)
2842     {
2843         $this->yyidx ++;
2844         if ($this->yyidx >= self::YYSTACKDEPTH) {
2845             $this->yyidx --;
2846             if ($this->yyTraceFILE) {
2847                 fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
2848             }
2849             while ($this->yyidx >= 0) {
2850                 $this->yy_pop_parser_stack();
2851             }
2852             #line 85 "smarty_internal_templateparser.y"
2853
2854             $this->internalError = true;
2855             $this->compiler->trigger_template_error("Stack overflow in template parser");
2856             #line 1707 "smarty_internal_templateparser.php"
2857
2858             return;
2859         }
2860         $yytos = new TP_yyStackEntry;
2861         $yytos->stateno = $yyNewState;
2862         $yytos->major = $yyMajor;
2863         $yytos->minor = $yypMinor;
2864         array_push($this->yystack, $yytos);
2865         if ($this->yyTraceFILE && $this->yyidx > 0) {
2866             fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt,
2867                     $yyNewState);
2868             fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
2869             for ($i = 1; $i <= $this->yyidx; $i ++) {
2870                 fprintf($this->yyTraceFILE, " %s",
2871                         $this->yyTokenName[$this->yystack[$i]->major]);
2872             }
2873             fwrite($this->yyTraceFILE, "\n");
2874         }
2875     }
2876
2877     public static $yyRuleInfo = array(
2878         array('lhs' => 83, 'rhs' => 1),
2879         array('lhs' => 84, 'rhs' => 1),
2880         array('lhs' => 84, 'rhs' => 2),
2881         array('lhs' => 84, 'rhs' => 0),
2882         array('lhs' => 85, 'rhs' => 2),
2883         array('lhs' => 85, 'rhs' => 1),
2884         array('lhs' => 85, 'rhs' => 1),
2885         array('lhs' => 85, 'rhs' => 1),
2886         array('lhs' => 85, 'rhs' => 1),
2887         array('lhs' => 85, 'rhs' => 1),
2888         array('lhs' => 85, 'rhs' => 1),
2889         array('lhs' => 85, 'rhs' => 1),
2890         array('lhs' => 85, 'rhs' => 1),
2891         array('lhs' => 85, 'rhs' => 1),
2892         array('lhs' => 85, 'rhs' => 1),
2893         array('lhs' => 85, 'rhs' => 1),
2894         array('lhs' => 85, 'rhs' => 1),
2895         array('lhs' => 87, 'rhs' => 2),
2896         array('lhs' => 87, 'rhs' => 3),
2897         array('lhs' => 88, 'rhs' => 2),
2898         array('lhs' => 88, 'rhs' => 0),
2899         array('lhs' => 89, 'rhs' => 1),
2900         array('lhs' => 89, 'rhs' => 1),
2901         array('lhs' => 89, 'rhs' => 1),
2902         array('lhs' => 89, 'rhs' => 1),
2903         array('lhs' => 89, 'rhs' => 1),
2904         array('lhs' => 89, 'rhs' => 1),
2905         array('lhs' => 89, 'rhs' => 1),
2906         array('lhs' => 86, 'rhs' => 2),
2907         array('lhs' => 86, 'rhs' => 4),
2908         array('lhs' => 86, 'rhs' => 3),
2909         array('lhs' => 86, 'rhs' => 4),
2910         array('lhs' => 86, 'rhs' => 3),
2911         array('lhs' => 86, 'rhs' => 5),
2912         array('lhs' => 86, 'rhs' => 5),
2913         array('lhs' => 86, 'rhs' => 6),
2914         array('lhs' => 86, 'rhs' => 5),
2915         array('lhs' => 86, 'rhs' => 3),
2916         array('lhs' => 86, 'rhs' => 2),
2917         array('lhs' => 86, 'rhs' => 5),
2918         array('lhs' => 86, 'rhs' => 4),
2919         array('lhs' => 86, 'rhs' => 6),
2920         array('lhs' => 86, 'rhs' => 2),
2921         array('lhs' => 86, 'rhs' => 3),
2922         array('lhs' => 86, 'rhs' => 2),
2923         array('lhs' => 86, 'rhs' => 3),
2924         array('lhs' => 86, 'rhs' => 11),
2925         array('lhs' => 99, 'rhs' => 2),
2926         array('lhs' => 99, 'rhs' => 1),
2927         array('lhs' => 86, 'rhs' => 5),
2928         array('lhs' => 86, 'rhs' => 7),
2929         array('lhs' => 86, 'rhs' => 2),
2930         array('lhs' => 86, 'rhs' => 7),
2931         array('lhs' => 86, 'rhs' => 10),
2932         array('lhs' => 86, 'rhs' => 7),
2933         array('lhs' => 86, 'rhs' => 10),
2934         array('lhs' => 86, 'rhs' => 3),
2935         array('lhs' => 86, 'rhs' => 4),
2936         array('lhs' => 86, 'rhs' => 2),
2937         array('lhs' => 86, 'rhs' => 2),
2938         array('lhs' => 86, 'rhs' => 3),
2939         array('lhs' => 86, 'rhs' => 4),
2940         array('lhs' => 86, 'rhs' => 5),
2941         array('lhs' => 92, 'rhs' => 2),
2942         array('lhs' => 92, 'rhs' => 1),
2943         array('lhs' => 92, 'rhs' => 0),
2944         array('lhs' => 101, 'rhs' => 4),
2945         array('lhs' => 101, 'rhs' => 2),
2946         array('lhs' => 101, 'rhs' => 2),
2947         array('lhs' => 101, 'rhs' => 2),
2948         array('lhs' => 101, 'rhs' => 2),
2949         array('lhs' => 101, 'rhs' => 2),
2950         array('lhs' => 101, 'rhs' => 4),
2951         array('lhs' => 96, 'rhs' => 1),
2952         array('lhs' => 96, 'rhs' => 3),
2953         array('lhs' => 95, 'rhs' => 4),
2954         array('lhs' => 95, 'rhs' => 3),
2955         array('lhs' => 95, 'rhs' => 3),
2956         array('lhs' => 93, 'rhs' => 1),
2957         array('lhs' => 93, 'rhs' => 1),
2958         array('lhs' => 93, 'rhs' => 4),
2959         array('lhs' => 93, 'rhs' => 3),
2960         array('lhs' => 93, 'rhs' => 3),
2961         array('lhs' => 93, 'rhs' => 3),
2962         array('lhs' => 93, 'rhs' => 1),
2963         array('lhs' => 93, 'rhs' => 2),
2964         array('lhs' => 93, 'rhs' => 3),
2965         array('lhs' => 93, 'rhs' => 3),
2966         array('lhs' => 93, 'rhs' => 3),
2967         array('lhs' => 93, 'rhs' => 3),
2968         array('lhs' => 93, 'rhs' => 3),
2969         array('lhs' => 93, 'rhs' => 3),
2970         array('lhs' => 93, 'rhs' => 2),
2971         array('lhs' => 93, 'rhs' => 2),
2972         array('lhs' => 93, 'rhs' => 3),
2973         array('lhs' => 93, 'rhs' => 3),
2974         array('lhs' => 93, 'rhs' => 2),
2975         array('lhs' => 93, 'rhs' => 2),
2976         array('lhs' => 93, 'rhs' => 3),
2977         array('lhs' => 93, 'rhs' => 3),
2978         array('lhs' => 93, 'rhs' => 3),
2979         array('lhs' => 93, 'rhs' => 3),
2980         array('lhs' => 102, 'rhs' => 8),
2981         array('lhs' => 102, 'rhs' => 7),
2982         array('lhs' => 90, 'rhs' => 1),
2983         array('lhs' => 90, 'rhs' => 2),
2984         array('lhs' => 90, 'rhs' => 2),
2985         array('lhs' => 90, 'rhs' => 2),
2986         array('lhs' => 90, 'rhs' => 2),
2987         array('lhs' => 90, 'rhs' => 1),
2988         array('lhs' => 90, 'rhs' => 1),
2989         array('lhs' => 90, 'rhs' => 3),
2990         array('lhs' => 90, 'rhs' => 2),
2991         array('lhs' => 90, 'rhs' => 2),
2992         array('lhs' => 90, 'rhs' => 1),
2993         array('lhs' => 90, 'rhs' => 1),
2994         array('lhs' => 90, 'rhs' => 3),
2995         array('lhs' => 90, 'rhs' => 1),
2996         array('lhs' => 90, 'rhs' => 1),
2997         array('lhs' => 90, 'rhs' => 3),
2998         array('lhs' => 90, 'rhs' => 3),
2999         array('lhs' => 90, 'rhs' => 2),
3000         array('lhs' => 90, 'rhs' => 2),
3001         array('lhs' => 106, 'rhs' => 1),
3002         array('lhs' => 106, 'rhs' => 4),
3003         array('lhs' => 106, 'rhs' => 1),
3004         array('lhs' => 106, 'rhs' => 3),
3005         array('lhs' => 106, 'rhs' => 4),
3006         array('lhs' => 106, 'rhs' => 3),
3007         array('lhs' => 106, 'rhs' => 4),
3008         array('lhs' => 94, 'rhs' => 3),
3009         array('lhs' => 111, 'rhs' => 2),
3010         array('lhs' => 111, 'rhs' => 0),
3011         array('lhs' => 112, 'rhs' => 3),
3012         array('lhs' => 112, 'rhs' => 5),
3013         array('lhs' => 112, 'rhs' => 2),
3014         array('lhs' => 112, 'rhs' => 2),
3015         array('lhs' => 112, 'rhs' => 4),
3016         array('lhs' => 112, 'rhs' => 3),
3017         array('lhs' => 112, 'rhs' => 5),
3018         array('lhs' => 112, 'rhs' => 3),
3019         array('lhs' => 112, 'rhs' => 2),
3020         array('lhs' => 98, 'rhs' => 1),
3021         array('lhs' => 98, 'rhs' => 2),
3022         array('lhs' => 113, 'rhs' => 1),
3023         array('lhs' => 113, 'rhs' => 3),
3024         array('lhs' => 110, 'rhs' => 2),
3025         array('lhs' => 114, 'rhs' => 1),
3026         array('lhs' => 114, 'rhs' => 2),
3027         array('lhs' => 115, 'rhs' => 3),
3028         array('lhs' => 115, 'rhs' => 4),
3029         array('lhs' => 115, 'rhs' => 5),
3030         array('lhs' => 115, 'rhs' => 6),
3031         array('lhs' => 115, 'rhs' => 2),
3032         array('lhs' => 107, 'rhs' => 4),
3033         array('lhs' => 116, 'rhs' => 4),
3034         array('lhs' => 116, 'rhs' => 5),
3035         array('lhs' => 117, 'rhs' => 3),
3036         array('lhs' => 117, 'rhs' => 1),
3037         array('lhs' => 117, 'rhs' => 0),
3038         array('lhs' => 91, 'rhs' => 3),
3039         array('lhs' => 91, 'rhs' => 2),
3040         array('lhs' => 118, 'rhs' => 3),
3041         array('lhs' => 118, 'rhs' => 2),
3042         array('lhs' => 100, 'rhs' => 2),
3043         array('lhs' => 100, 'rhs' => 0),
3044         array('lhs' => 119, 'rhs' => 2),
3045         array('lhs' => 119, 'rhs' => 2),
3046         array('lhs' => 109, 'rhs' => 1),
3047         array('lhs' => 109, 'rhs' => 2),
3048         array('lhs' => 109, 'rhs' => 1),
3049         array('lhs' => 109, 'rhs' => 3),
3050         array('lhs' => 109, 'rhs' => 4),
3051         array('lhs' => 104, 'rhs' => 1),
3052         array('lhs' => 104, 'rhs' => 1),
3053         array('lhs' => 104, 'rhs' => 1),
3054         array('lhs' => 104, 'rhs' => 1),
3055         array('lhs' => 104, 'rhs' => 1),
3056         array('lhs' => 104, 'rhs' => 1),
3057         array('lhs' => 104, 'rhs' => 1),
3058         array('lhs' => 104, 'rhs' => 1),
3059         array('lhs' => 104, 'rhs' => 1),
3060         array('lhs' => 105, 'rhs' => 1),
3061         array('lhs' => 105, 'rhs' => 1),
3062         array('lhs' => 105, 'rhs' => 1),
3063         array('lhs' => 103, 'rhs' => 3),
3064         array('lhs' => 120, 'rhs' => 1),
3065         array('lhs' => 120, 'rhs' => 3),
3066         array('lhs' => 120, 'rhs' => 0),
3067         array('lhs' => 121, 'rhs' => 3),
3068         array('lhs' => 121, 'rhs' => 3),
3069         array('lhs' => 121, 'rhs' => 1),
3070         array('lhs' => 108, 'rhs' => 2),
3071         array('lhs' => 108, 'rhs' => 3),
3072         array('lhs' => 122, 'rhs' => 2),
3073         array('lhs' => 122, 'rhs' => 1),
3074         array('lhs' => 123, 'rhs' => 3),
3075         array('lhs' => 123, 'rhs' => 3),
3076         array('lhs' => 123, 'rhs' => 1),
3077         array('lhs' => 123, 'rhs' => 3),
3078         array('lhs' => 123, 'rhs' => 3),
3079         array('lhs' => 123, 'rhs' => 2),
3080         array('lhs' => 123, 'rhs' => 1),
3081         array('lhs' => 97, 'rhs' => 1),
3082         array('lhs' => 97, 'rhs' => 0),
3083     );
3084
3085     public static $yyReduceMap = array(
3086         0   => 0,
3087         1   => 1,
3088         2   => 1,
3089         4   => 4,
3090         5   => 5,
3091         6   => 6,
3092         7   => 7,
3093         8   => 8,
3094         9   => 9,
3095         10  => 10,
3096         11  => 11,
3097         12  => 12,
3098         13  => 13,
3099         14  => 14,
3100         15  => 15,
3101         16  => 16,
3102         17  => 17,
3103         20  => 17,
3104         204 => 17,
3105         18  => 18,
3106         77  => 18,
3107         19  => 19,
3108         105 => 19,
3109         107 => 19,
3110         108 => 19,
3111         131 => 19,
3112         169 => 19,
3113         21  => 21,
3114         22  => 21,
3115         48  => 21,
3116         70  => 21,
3117         71  => 21,
3118         78  => 21,
3119         79  => 21,
3120         84  => 21,
3121         104 => 21,
3122         109 => 21,
3123         110 => 21,
3124         115 => 21,
3125         117 => 21,
3126         118 => 21,
3127         125 => 21,
3128         142 => 21,
3129         168 => 21,
3130         170 => 21,
3131         186 => 21,
3132         191 => 21,
3133         203 => 21,
3134         23  => 23,
3135         24  => 23,
3136         25  => 25,
3137         26  => 26,
3138         27  => 27,
3139         28  => 28,
3140         29  => 29,
3141         30  => 30,
3142         32  => 30,
3143         31  => 31,
3144         33  => 33,
3145         34  => 33,
3146         35  => 35,
3147         36  => 36,
3148         37  => 37,
3149         38  => 38,
3150         39  => 39,
3151         40  => 40,
3152         41  => 41,
3153         42  => 42,
3154         43  => 43,
3155         45  => 43,
3156         44  => 44,
3157         46  => 46,
3158         47  => 47,
3159         49  => 49,
3160         50  => 50,
3161         51  => 51,
3162         52  => 52,
3163         54  => 52,
3164         53  => 53,
3165         55  => 53,
3166         56  => 56,
3167         57  => 57,
3168         58  => 58,
3169         59  => 59,
3170         60  => 60,
3171         61  => 61,
3172         62  => 62,
3173         63  => 63,
3174         64  => 64,
3175         73  => 64,
3176         158 => 64,
3177         162 => 64,
3178         166 => 64,
3179         167 => 64,
3180         65  => 65,
3181         159 => 65,
3182         165 => 65,
3183         66  => 66,
3184         67  => 67,
3185         68  => 67,
3186         69  => 69,
3187         72  => 72,
3188         74  => 74,
3189         75  => 75,
3190         76  => 75,
3191         80  => 80,
3192         81  => 81,
3193         82  => 81,
3194         83  => 81,
3195         85  => 85,
3196         122 => 85,
3197         86  => 86,
3198         89  => 86,
3199         100 => 86,
3200         87  => 87,
3201         88  => 88,
3202         90  => 90,
3203         91  => 91,
3204         92  => 92,
3205         97  => 92,
3206         93  => 93,
3207         96  => 93,
3208         94  => 94,
3209         99  => 94,
3210         95  => 95,
3211         98  => 95,
3212         101 => 101,
3213         102 => 102,
3214         103 => 103,
3215         106 => 106,
3216         111 => 111,
3217         112 => 112,
3218         113 => 113,
3219         114 => 114,
3220         116 => 116,
3221         119 => 119,
3222         120 => 120,
3223         121 => 121,
3224         123 => 123,
3225         124 => 124,
3226         126 => 126,
3227         127 => 127,
3228         128 => 128,
3229         129 => 129,
3230         130 => 130,
3231         132 => 132,
3232         188 => 132,
3233         133 => 133,
3234         134 => 134,
3235         135 => 135,
3236         136 => 136,
3237         137 => 137,
3238         140 => 137,
3239         138 => 138,
3240         139 => 139,
3241         141 => 141,
3242         143 => 143,
3243         144 => 144,
3244         145 => 145,
3245         146 => 146,
3246         147 => 147,
3247         148 => 148,
3248         149 => 149,
3249         150 => 150,
3250         151 => 151,
3251         152 => 152,
3252         153 => 153,
3253         154 => 154,
3254         155 => 155,
3255         156 => 156,
3256         157 => 157,
3257         160 => 160,
3258         161 => 161,
3259         163 => 163,
3260         164 => 164,
3261         171 => 171,
3262         172 => 172,
3263         173 => 173,
3264         174 => 174,
3265         175 => 175,
3266         176 => 176,
3267         177 => 177,
3268         178 => 178,
3269         179 => 179,
3270         180 => 180,
3271         181 => 181,
3272         182 => 182,
3273         183 => 183,
3274         184 => 184,
3275         185 => 185,
3276         187 => 187,
3277         189 => 189,
3278         190 => 190,
3279         192 => 192,
3280         193 => 193,
3281         194 => 194,
3282         195 => 195,
3283         196 => 196,
3284         197 => 196,
3285         199 => 196,
3286         198 => 198,
3287         200 => 200,
3288         201 => 201,
3289         202 => 202,
3290     );
3291
3292     #line 96 "smarty_internal_templateparser.y"
3293     function yy_r0()
3294     {
3295         $this->_retvalue = $this->root_buffer->to_smarty_php();
3296     }
3297     #line 2146 "smarty_internal_templateparser.php"
3298     #line 104 "smarty_internal_templateparser.y"
3299     function yy_r1()
3300     {
3301         if ($this->yystack[$this->yyidx + 0]->minor != null) {
3302             $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
3303         }
3304     }
3305     #line 2153 "smarty_internal_templateparser.php"
3306     #line 124 "smarty_internal_templateparser.y"
3307     function yy_r4()
3308     {
3309         if ($this->compiler->has_code) {
3310             $tmp = '';
3311             foreach ($this->compiler->prefix_code as $code) {
3312                 $tmp .= $code;
3313             }
3314             $this->compiler->prefix_code = array();
3315             $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp . $this->yystack[$this->yyidx + - 1]->minor, true));
3316         } else {
3317             $this->_retvalue = null;
3318         }
3319         $this->compiler->has_variable_string = false;
3320         $this->block_nesting_level = count($this->compiler->_tag_stack);
3321     }
3322     #line 2165 "smarty_internal_templateparser.php"
3323     #line 136 "smarty_internal_templateparser.y"
3324     function yy_r5()
3325     {
3326         $this->_retvalue = null;
3327     }
3328     #line 2170 "smarty_internal_templateparser.php"
3329     #line 141 "smarty_internal_templateparser.y"
3330     function yy_r6()
3331     {
3332         $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3333     }
3334     #line 2175 "smarty_internal_templateparser.php"
3335     #line 146 "smarty_internal_templateparser.y"
3336     function yy_r7()
3337     {
3338         if ($this->php_handling == Smarty::PHP_PASSTHRU) {
3339             $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
3340         } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3341             $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
3342         } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3343             if (!($this->smarty instanceof SmartyBC)) {
3344                 $this->compiler->trigger_template_error(self::Err3);
3345             }
3346             $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
3347         } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3348             $this->_retvalue = null;
3349         }
3350     }
3351     #line 2191 "smarty_internal_templateparser.php"
3352     #line 162 "smarty_internal_templateparser.y"
3353     function yy_r8()
3354     {
3355         if ($this->is_xml) {
3356             $this->compiler->tag_nocache = true;
3357             $this->is_xml = false;
3358             $save = $this->template->has_nocache_code;
3359             $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>\n", $this->compiler, true));
3360             $this->template->has_nocache_code = $save;
3361         } elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
3362             $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
3363         } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3364             $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
3365         } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3366             $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
3367         } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3368             $this->_retvalue = null;
3369         }
3370     }
3371     #line 2210 "smarty_internal_templateparser.php"
3372     #line 181 "smarty_internal_templateparser.y"
3373     function yy_r9()
3374     {
3375         if ($this->php_handling == Smarty::PHP_PASSTHRU) {
3376             $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
3377         } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3378             $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
3379         } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3380             if ($this->asp_tags) {
3381                 if (!($this->smarty instanceof SmartyBC)) {
3382                     $this->compiler->trigger_template_error(self::Err3);
3383                 }
3384                 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
3385             } else {
3386                 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
3387             }
3388         } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3389             if ($this->asp_tags) {
3390                 $this->_retvalue = null;
3391             } else {
3392                 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
3393             }
3394         }
3395     }
3396     #line 2234 "smarty_internal_templateparser.php"
3397     #line 205 "smarty_internal_templateparser.y"
3398     function yy_r10()
3399     {
3400         if ($this->php_handling == Smarty::PHP_PASSTHRU) {
3401             $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
3402         } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3403             $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
3404         } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3405             if ($this->asp_tags) {
3406                 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
3407             } else {
3408                 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
3409             }
3410         } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3411             if ($this->asp_tags) {
3412                 $this->_retvalue = null;
3413             } else {
3414                 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
3415             }
3416         }
3417     }
3418     #line 2255 "smarty_internal_templateparser.php"
3419     #line 225 "smarty_internal_templateparser.y"
3420     function yy_r11()
3421     {
3422         if ($this->strip) {
3423             $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));
3424         } else {
3425             $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
3426         }
3427     }
3428     #line 2264 "smarty_internal_templateparser.php"
3429     #line 234 "smarty_internal_templateparser.y"
3430     function yy_r12()
3431     {
3432         $this->compiler->tag_nocache = true;
3433         $this->is_xml = true;
3434         $save = $this->template->has_nocache_code;
3435         $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));
3436         $this->template->has_nocache_code = $save;
3437     }
3438     #line 2273 "smarty_internal_templateparser.php"
3439     #line 243 "smarty_internal_templateparser.y"
3440     function yy_r13()
3441     {
3442         if ($this->strip) {
3443             $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
3444         } else {
3445             $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3446         }
3447     }
3448     #line 2282 "smarty_internal_templateparser.php"
3449     #line 252 "smarty_internal_templateparser.y"
3450     function yy_r14()
3451     {
3452         $this->strip = true;
3453     }
3454     #line 2287 "smarty_internal_templateparser.php"
3455     #line 256 "smarty_internal_templateparser.y"
3456     function yy_r15()
3457     {
3458         $this->strip = false;
3459     }
3460     #line 2292 "smarty_internal_templateparser.php"
3461     #line 260 "smarty_internal_templateparser.y"
3462     function yy_r16()
3463     {
3464         if ($this->strip) {
3465             SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
3466         } else {
3467             SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, $this->yystack[$this->yyidx + 0]->minor);
3468         }
3469     }
3470     #line 2301 "smarty_internal_templateparser.php"
3471     #line 269 "smarty_internal_templateparser.y"
3472     function yy_r17()
3473     {
3474         $this->_retvalue = '';
3475     }
3476     #line 2306 "smarty_internal_templateparser.php"
3477     #line 273 "smarty_internal_templateparser.y"
3478     function yy_r18()
3479     {
3480         $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
3481     }
3482     #line 2311 "smarty_internal_templateparser.php"
3483     #line 277 "smarty_internal_templateparser.y"
3484     function yy_r19()
3485     {
3486         $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
3487     }
3488     #line 2316 "smarty_internal_templateparser.php"
3489     #line 285 "smarty_internal_templateparser.y"
3490     function yy_r21()
3491     {
3492         $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
3493     }
3494     #line 2321 "smarty_internal_templateparser.php"
3495     #line 293 "smarty_internal_templateparser.y"
3496     function yy_r23()
3497     {
3498         $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor);
3499     }
3500     #line 2326 "smarty_internal_templateparser.php"
3501     #line 301 "smarty_internal_templateparser.y"
3502     function yy_r25()
3503     {
3504         $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor);
3505     }
3506     #line 2331 "smarty_internal_templateparser.php"
3507     #line 305 "smarty_internal_templateparser.y"
3508     function yy_r26()
3509     {
3510         $this->_retvalue = '<<?php ?>%';
3511     }
3512     #line 2336 "smarty_internal_templateparser.php"
3513     #line 309 "smarty_internal_templateparser.y"
3514     function yy_r27()
3515     {
3516         $this->_retvalue = '%<?php ?>>';
3517     }
3518     #line 2341 "smarty_internal_templateparser.php"
3519     #line 318 "smarty_internal_templateparser.y"
3520     function yy_r28()
3521     {
3522         $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), array('value' => $this->yystack[$this->yyidx + 0]->minor));
3523     }
3524     #line 2346 "smarty_internal_templateparser.php"
3525     #line 322 "smarty_internal_templateparser.y"
3526     function yy_r29()
3527     {
3528         $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
3529     }
3530     #line 2351 "smarty_internal_templateparser.php"
3531     #line 326 "smarty_internal_templateparser.y"
3532     function yy_r30()
3533     {
3534         $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 1]->minor));
3535     }
3536     #line 2356 "smarty_internal_templateparser.php"
3537     #line 330 "smarty_internal_templateparser.y"
3538     function yy_r31()
3539     {
3540         $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
3541     }
3542     #line 2361 "smarty_internal_templateparser.php"
3543     #line 343 "smarty_internal_templateparser.y"
3544     function yy_r33()
3545     {
3546         $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[$this->yyidx + 0]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 2]->minor . "'")));
3547     }
3548     #line 2366 "smarty_internal_templateparser.php"
3549     #line 351 "smarty_internal_templateparser.y"
3550     function yy_r35()
3551     {
3552         $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 3]->minor . "'")), $this->yystack[$this->yyidx + 0]->minor));
3553     }
3554     #line 2371 "smarty_internal_templateparser.php"
3555     #line 355 "smarty_internal_templateparser.y"
3556     function yy_r36()
3557     {
3558         $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => $this->yystack[$this->yyidx + - 3]->minor['var'])), $this->yystack[$this->yyidx + 0]->minor), array('smarty_internal_index' => $this->yystack[$this->yyidx + - 3]->minor['smarty_internal_index']));
3559     }
3560     #line 2376 "smarty_internal_templateparser.php"
3561     #line 360 "smarty_internal_templateparser.y"
3562     function yy_r37()
3563     {
3564         $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
3565     }
3566     #line 2381 "smarty_internal_templateparser.php"
3567     #line 364 "smarty_internal_templateparser.y"
3568     function yy_r38()
3569     {
3570         $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor, array());
3571     }
3572     #line 2386 "smarty_internal_templateparser.php"
3573     #line 369 "smarty_internal_templateparser.y"
3574     function yy_r39()
3575     {
3576         $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 1]->minor));
3577     }
3578     #line 2391 "smarty_internal_templateparser.php"
3579     #line 374 "smarty_internal_templateparser.y"
3580     function yy_r40()
3581     {
3582         $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + 0]->minor) . '<?php echo ';
3583         $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>';
3584     }
3585     #line 2397 "smarty_internal_templateparser.php"
3586     #line 380 "smarty_internal_templateparser.y"
3587     function yy_r41()
3588     {
3589         $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 2]->minor)) . '<?php echo ';
3590         $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>';
3591     }
3592     #line 2403 "smarty_internal_templateparser.php"
3593     #line 386 "smarty_internal_templateparser.y"
3594     function yy_r42()
3595     {
3596         $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
3597         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor));
3598     }
3599     #line 2409 "smarty_internal_templateparser.php"
3600     #line 391 "smarty_internal_templateparser.y"
3601     function yy_r43()
3602     {
3603         $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length));
3604         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, $this->yystack[$this->yyidx + 0]->minor, array('if condition' => $this->yystack[$this->yyidx + - 1]->minor));
3605     }
3606     #line 2415 "smarty_internal_templateparser.php"
3607     #line 396 "smarty_internal_templateparser.y"
3608     function yy_r44()
3609     {
3610         $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
3611         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor));
3612     }
3613     #line 2421 "smarty_internal_templateparser.php"
3614     #line 407 "smarty_internal_templateparser.y"
3615     function yy_r46()
3616     {
3617         $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 9]->minor), array('ifexp' => $this->yystack[$this->yyidx + - 6]->minor), array('var' => $this->yystack[$this->yyidx + - 2]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 1);
3618     }
3619     #line 2426 "smarty_internal_templateparser.php"
3620     #line 411 "smarty_internal_templateparser.y"
3621     function yy_r47()
3622     {
3623         $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor;
3624     }
3625     #line 2431 "smarty_internal_templateparser.php"
3626     #line 419 "smarty_internal_templateparser.y"
3627     function yy_r49()
3628     {
3629         $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 3]->minor), array('to' => $this->yystack[$this->yyidx + - 1]->minor))), 0);
3630     }
3631     #line 2436 "smarty_internal_templateparser.php"
3632     #line 423 "smarty_internal_templateparser.y"
3633     function yy_r50()
3634     {
3635         $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 5]->minor), array('to' => $this->yystack[$this->yyidx + - 3]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 0);
3636     }
3637     #line 2441 "smarty_internal_templateparser.php"
3638     #line 428 "smarty_internal_templateparser.y"
3639     function yy_r51()
3640     {
3641         $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor);
3642     }
3643     #line 2446 "smarty_internal_templateparser.php"
3644     #line 433 "smarty_internal_templateparser.y"
3645     function yy_r52()
3646     {
3647         $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 4]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor))));
3648     }
3649     #line 2451 "smarty_internal_templateparser.php"
3650     #line 437 "smarty_internal_templateparser.y"
3651     function yy_r53()
3652     {
3653         $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 7]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor), array('key' => $this->yystack[$this->yyidx + - 4]->minor))));
3654     }
3655     #line 2456 "smarty_internal_templateparser.php"
3656     #line 450 "smarty_internal_templateparser.y"
3657     function yy_r56()
3658     {
3659         $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx + - 1]->minor), $this->yystack[$this->yyidx + 0]->minor))));
3660     }
3661     #line 2461 "smarty_internal_templateparser.php"
3662     #line 454 "smarty_internal_templateparser.y"
3663     function yy_r57()
3664     {
3665         $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx + - 2]->minor), $this->yystack[$this->yyidx + - 1]->minor)), $this->yystack[$this->yyidx + 0]->minor)));
3666     }
3667     #line 2466 "smarty_internal_templateparser.php"
3668     #line 459 "smarty_internal_templateparser.y"
3669     function yy_r58()
3670     {
3671         $j = strrpos($this->yystack[$this->yyidx + 0]->minor, '.');
3672         if ($this->yystack[$this->yyidx + 0]->minor[$j + 1] == 'c') {
3673             // {$smarty.block.child}
3674             $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
3675         } else {
3676             // {$smarty.block.parent}
3677             $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
3678         }
3679     }
3680     #line 2478 "smarty_internal_templateparser.php"
3681     #line 472 "smarty_internal_templateparser.y"
3682     function yy_r59()
3683     {
3684         $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor . 'close', array());
3685     }
3686     #line 2483 "smarty_internal_templateparser.php"
3687     #line 476 "smarty_internal_templateparser.y"
3688     function yy_r60()
3689     {
3690         $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(), array('modifier_list' => $this->yystack[$this->yyidx + 0]->minor));
3691     }
3692     #line 2488 "smarty_internal_templateparser.php"
3693     #line 481 "smarty_internal_templateparser.y"
3694     function yy_r61()
3695     {
3696         $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + 0]->minor));
3697     }
3698     #line 2493 "smarty_internal_templateparser.php"
3699     #line 485 "smarty_internal_templateparser.y"
3700     function yy_r62()
3701     {
3702         $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + - 1]->minor, 'modifier_list' => $this->yystack[$this->yyidx + 0]->minor));
3703     }
3704     #line 2498 "smarty_internal_templateparser.php"
3705     #line 493 "smarty_internal_templateparser.y"
3706     function yy_r63()
3707     {
3708         $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
3709         $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
3710     }
3711     #line 2504 "smarty_internal_templateparser.php"
3712     #line 499 "smarty_internal_templateparser.y"
3713     function yy_r64()
3714     {
3715         $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
3716     }
3717     #line 2509 "smarty_internal_templateparser.php"
3718     #line 504 "smarty_internal_templateparser.y"
3719     function yy_r65()
3720     {
3721         $this->_retvalue = array();
3722     }
3723     #line 2514 "smarty_internal_templateparser.php"
3724     #line 509 "smarty_internal_templateparser.y"
3725     function yy_r66()
3726     {
3727         if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3728             $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'true');
3729         } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3730             $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'false');
3731         } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3732             $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'null');
3733         } else {
3734             $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => "'" . $this->yystack[$this->yyidx + 0]->minor . "'");
3735         }
3736     }
3737     #line 2527 "smarty_internal_templateparser.php"
3738     #line 521 "smarty_internal_templateparser.y"
3739     function yy_r67()
3740     {
3741         $this->_retvalue = array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx + 0]->minor);
3742     }
3743     #line 2532 "smarty_internal_templateparser.php"
3744     #line 529 "smarty_internal_templateparser.y"
3745     function yy_r69()
3746     {
3747         $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'";
3748     }
3749     #line 2537 "smarty_internal_templateparser.php"
3750     #line 541 "smarty_internal_templateparser.y"
3751     function yy_r72()
3752     {
3753         $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor);
3754     }
3755     #line 2542 "smarty_internal_templateparser.php"
3756     #line 554 "smarty_internal_templateparser.y"
3757     function yy_r74()
3758     {
3759         $this->yystack[$this->yyidx + - 2]->minor[] = $this->yystack[$this->yyidx + 0]->minor;
3760         $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor;
3761     }
3762     #line 2548 "smarty_internal_templateparser.php"
3763     #line 559 "smarty_internal_templateparser.y"
3764     function yy_r75()
3765     {
3766         $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor, 'value' => $this->yystack[$this->yyidx + 0]->minor);
3767     }
3768     #line 2553 "smarty_internal_templateparser.php"
3769     #line 587 "smarty_internal_templateparser.y"
3770     function yy_r80()
3771     {
3772         $this->_retvalue = '$_smarty_tpl->getStreamVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '://' . $this->yystack[$this->yyidx + 0]->minor . '\')';
3773     }
3774     #line 2558 "smarty_internal_templateparser.php"
3775     #line 592 "smarty_internal_templateparser.y"
3776     function yy_r81()
3777     {
3778         $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor;
3779     }
3780     #line 2563 "smarty_internal_templateparser.php"
3781     #line 611 "smarty_internal_templateparser.y"
3782     function yy_r85()
3783     {
3784         $this->_retvalue = $this->compiler->compileTag('private_modifier', array(), array('value' => $this->yystack[$this->yyidx + - 1]->minor, 'modifierlist' => $this->yystack[$this->yyidx + 0]->minor));
3785     }
3786     #line 2568 "smarty_internal_templateparser.php"
3787     #line 617 "smarty_internal_templateparser.y"
3788     function yy_r86()
3789     {
3790         $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
3791     }
3792     #line 2573 "smarty_internal_templateparser.php"
3793     #line 621 "smarty_internal_templateparser.y"
3794     function yy_r87()
3795     {
3796         $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor . ')';
3797     }
3798     #line 2578 "smarty_internal_templateparser.php"
3799     #line 625 "smarty_internal_templateparser.y"
3800     function yy_r88()
3801     {
3802         $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' . $this->yystack[$this->yyidx + 0]->minor . ')';
3803     }
3804     #line 2583 "smarty_internal_templateparser.php"
3805     #line 633 "smarty_internal_templateparser.y"
3806     function yy_r90()
3807     {
3808         $this->_retvalue = '!(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')';
3809     }
3810     #line 2588 "smarty_internal_templateparser.php"
3811     #line 637 "smarty_internal_templateparser.y"
3812     function yy_r91()
3813     {
3814         $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')';
3815     }
3816     #line 2593 "smarty_internal_templateparser.php"
3817     #line 641 "smarty_internal_templateparser.y"
3818     function yy_r92()
3819     {
3820         $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')';
3821     }
3822     #line 2598 "smarty_internal_templateparser.php"
3823     #line 645 "smarty_internal_templateparser.y"
3824     function yy_r93()
3825     {
3826         $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')';
3827     }
3828     #line 2603 "smarty_internal_templateparser.php"
3829     #line 649 "smarty_internal_templateparser.y"
3830     function yy_r94()
3831     {
3832         $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')';
3833     }
3834     #line 2608 "smarty_internal_templateparser.php"
3835     #line 653 "smarty_internal_templateparser.y"
3836     function yy_r95()
3837     {
3838         $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')';
3839     }
3840     #line 2613 "smarty_internal_templateparser.php"
3841     #line 677 "smarty_internal_templateparser.y"
3842     function yy_r101()
3843     {
3844         self::$prefix_number ++;
3845         $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->yystack[$this->yyidx + 0]->minor . ';?>';
3846         $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . '$_tmp' . self::$prefix_number;
3847     }
3848     #line 2620 "smarty_internal_templateparser.php"
3849     #line 686 "smarty_internal_templateparser.y"
3850     function yy_r102()
3851     {
3852         $this->_retvalue = $this->yystack[$this->yyidx + - 6]->minor . ' ? ' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 2]->minor . "'") . ' : ' . $this->yystack[$this->yyidx + 0]->minor;
3853     }
3854     #line 2625 "smarty_internal_templateparser.php"
3855     #line 690 "smarty_internal_templateparser.y"
3856     function yy_r103()
3857     {
3858         $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' . $this->yystack[$this->yyidx + 0]->minor;
3859     }
3860     #line 2630 "smarty_internal_templateparser.php"
3861     #line 705 "smarty_internal_templateparser.y"
3862     function yy_r106()
3863     {
3864         $this->_retvalue = '!' . $this->yystack[$this->yyidx + 0]->minor;
3865     }
3866     #line 2635 "smarty_internal_templateparser.php"
3867     #line 726 "smarty_internal_templateparser.y"
3868     function yy_r111()
3869     {
3870         $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
3871     }
3872     #line 2640 "smarty_internal_templateparser.php"
3873     #line 730 "smarty_internal_templateparser.y"
3874     function yy_r112()
3875     {
3876         $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.';
3877     }
3878     #line 2645 "smarty_internal_templateparser.php"
3879     #line 734 "smarty_internal_templateparser.y"
3880     function yy_r113()
3881     {
3882         $this->_retvalue = '.' . $this->yystack[$this->yyidx + 0]->minor;
3883     }
3884     #line 2650 "smarty_internal_templateparser.php"
3885     #line 739 "smarty_internal_templateparser.y"
3886     function yy_r114()
3887     {
3888         if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3889             $this->_retvalue = 'true';
3890         } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3891             $this->_retvalue = 'false';
3892         } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3893             $this->_retvalue = 'null';
3894         } else {
3895             $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'";
3896         }
3897     }
3898     #line 2663 "smarty_internal_templateparser.php"
3899     #line 757 "smarty_internal_templateparser.y"
3900     function yy_r116()
3901     {
3902         $this->_retvalue = "(" . $this->yystack[$this->yyidx + - 1]->minor . ")";
3903     }
3904     #line 2668 "smarty_internal_templateparser.php"
3905     #line 772 "smarty_internal_templateparser.y"
3906     function yy_r119()
3907     {
3908         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)) {
3909             if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor])) {
3910                 $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor] . '::' . $this->yystack[$this->yyidx + 0]->minor;
3911             } else {
3912                 $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '::' . $this->yystack[$this->yyidx + 0]->minor;
3913             }
3914         } else {
3915             $this->compiler->trigger_template_error("static class '" . $this->yystack[$this->yyidx + - 2]->minor . "' is undefined or not allowed by security setting");
3916         }
3917     }
3918     #line 2681 "smarty_internal_templateparser.php"
3919     #line 784 "smarty_internal_templateparser.y"
3920     function yy_r120()
3921     {
3922         if ($this->yystack[$this->yyidx + - 2]->minor['var'] == '\'smarty\'') {
3923             $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index']) . '::' . $this->yystack[$this->yyidx + 0]->minor;
3924         } else {
3925             $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor['var']) . $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index'] . '::' . $this->yystack[$this->yyidx + 0]->minor;
3926         }
3927     }
3928     #line 2690 "smarty_internal_templateparser.php"
3929     #line 793 "smarty_internal_templateparser.y"
3930     function yy_r121()
3931     {
3932         self::$prefix_number ++;
3933         $this->compiler->prefix_code[] = '<?php ob_start();?>' . $this->yystack[$this->yyidx + - 1]->minor . '<?php $_tmp' . self::$prefix_number . '=ob_get_clean();?>';
3934         $this->_retvalue = '$_tmp' . self::$prefix_number;
3935     }
3936     #line 2697 "smarty_internal_templateparser.php"
3937     #line 808 "smarty_internal_templateparser.y"
3938     function yy_r123()
3939     {
3940         if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
3941             $smarty_var = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
3942             $this->_retvalue = $smarty_var;
3943         } else {
3944             // used for array reset,next,prev,end,current 
3945             $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
3946             $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
3947             $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']) . $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
3948         }
3949     }
3950     #line 2710 "smarty_internal_templateparser.php"
3951     #line 821 "smarty_internal_templateparser.y"
3952     function yy_r124()
3953     {
3954         $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' . $this->yystack[$this->yyidx + 0]->minor;
3955     }
3956     #line 2715 "smarty_internal_templateparser.php"
3957     #line 831 "smarty_internal_templateparser.y"
3958     function yy_r126()
3959     {
3960         $this->_retvalue = '$_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 1]->minor . '\')';
3961     }
3962     #line 2720 "smarty_internal_templateparser.php"
3963     #line 835 "smarty_internal_templateparser.y"
3964     function yy_r127()
3965     {
3966         $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '\')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' :null)';
3967     }
3968     #line 2725 "smarty_internal_templateparser.php"
3969     #line 839 "smarty_internal_templateparser.y"
3970     function yy_r128()
3971     {
3972         $this->_retvalue = '$_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
3973     }
3974     #line 2730 "smarty_internal_templateparser.php"
3975     #line 843 "smarty_internal_templateparser.y"
3976     function yy_r129()
3977     {
3978         $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 2]->minor . ')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)';
3979     }
3980     #line 2735 "smarty_internal_templateparser.php"
3981     #line 847 "smarty_internal_templateparser.y"
3982     function yy_r130()
3983     {
3984         $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor, 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor);
3985     }
3986     #line 2740 "smarty_internal_templateparser.php"
3987     #line 860 "smarty_internal_templateparser.y"
3988     function yy_r132()
3989     {
3990         return;
3991     }
3992     #line 2745 "smarty_internal_templateparser.php"
3993     #line 866 "smarty_internal_templateparser.y"
3994     function yy_r133()
3995     {
3996         $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']';
3997     }
3998     #line 2750 "smarty_internal_templateparser.php"
3999     #line 870 "smarty_internal_templateparser.y"
4000     function yy_r134()
4001     {
4002         $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' . $this->yystack[$this->yyidx + 0]->minor . ']';
4003     }
4004     #line 2755 "smarty_internal_templateparser.php"
4005     #line 874 "smarty_internal_templateparser.y"
4006     function yy_r135()
4007     {
4008         $this->_retvalue = "['" . $this->yystack[$this->yyidx + 0]->minor . "']";
4009     }
4010     #line 2760 "smarty_internal_templateparser.php"
4011     #line 878 "smarty_internal_templateparser.y"
4012     function yy_r136()
4013     {
4014         $this->_retvalue = "[" . $this->yystack[$this->yyidx + 0]->minor . "]";
4015     }
4016     #line 2765 "smarty_internal_templateparser.php"
4017     #line 882 "smarty_internal_templateparser.y"
4018     function yy_r137()
4019     {
4020         $this->_retvalue = "[" . $this->yystack[$this->yyidx + - 1]->minor . "]";
4021     }
4022     #line 2770 "smarty_internal_templateparser.php"
4023     #line 887 "smarty_internal_templateparser.y"
4024     function yy_r138()
4025     {
4026         $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\'][\'index\']') . ']';
4027     }
4028     #line 2775 "smarty_internal_templateparser.php"
4029     #line 891 "smarty_internal_templateparser.y"
4030     function yy_r139()
4031     {
4032         $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 3]->minor . '\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\']') . ']';
4033     }
4034     #line 2780 "smarty_internal_templateparser.php"
4035     #line 901 "smarty_internal_templateparser.y"
4036     function yy_r141()
4037     {
4038         $this->_retvalue = '[]';
4039     }
4040     #line 2785 "smarty_internal_templateparser.php"
4041     #line 914 "smarty_internal_templateparser.y"
4042     function yy_r143()
4043     {
4044         $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
4045     }
4046     #line 2790 "smarty_internal_templateparser.php"
4047     #line 919 "smarty_internal_templateparser.y"
4048     function yy_r144()
4049     {
4050         $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\'';
4051     }
4052     #line 2795 "smarty_internal_templateparser.php"
4053     #line 924 "smarty_internal_templateparser.y"
4054     function yy_r145()
4055     {
4056         $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
4057     }
4058     #line 2800 "smarty_internal_templateparser.php"
4059     #line 931 "smarty_internal_templateparser.y"
4060     function yy_r146()
4061     {
4062         if ($this->yystack[$this->yyidx + - 1]->minor['var'] == '\'smarty\'') {
4063             $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index']) . $this->yystack[$this->yyidx + 0]->minor;
4064         } else {
4065             $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor['var']) . $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index'] . $this->yystack[$this->yyidx + 0]->minor;
4066         }
4067     }
4068     #line 2809 "smarty_internal_templateparser.php"
4069     #line 940 "smarty_internal_templateparser.y"
4070     function yy_r147()
4071     {
4072         $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
4073     }
4074     #line 2814 "smarty_internal_templateparser.php"
4075     #line 945 "smarty_internal_templateparser.y"
4076     function yy_r148()
4077     {
4078         $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
4079     }
4080     #line 2819 "smarty_internal_templateparser.php"
4081     #line 950 "smarty_internal_templateparser.y"
4082     function yy_r149()
4083     {
4084         if ($this->security && substr($this->yystack[$this->yyidx + - 1]->minor, 0, 1) == '_') {
4085             $this->compiler->trigger_template_error(self::Err1);
4086         }
4087         $this->_retvalue = '->' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
4088     }
4089     #line 2827 "smarty_internal_templateparser.php"
4090     #line 957 "smarty_internal_templateparser.y"
4091     function yy_r150()
4092     {
4093         if ($this->security) {
4094             $this->compiler->trigger_template_error(self::Err2);
4095         }
4096         $this->_retvalue = '->{' . $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor . '}';
4097     }
4098     #line 2835 "smarty_internal_templateparser.php"
4099     #line 964 "smarty_internal_templateparser.y"
4100     function yy_r151()
4101     {
4102         if ($this->security) {
4103             $this->compiler->trigger_template_error(self::Err2);
4104         }
4105         $this->_retvalue = '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
4106     }
4107     #line 2843 "smarty_internal_templateparser.php"
4108     #line 971 "smarty_internal_templateparser.y"
4109     function yy_r152()
4110     {
4111         if ($this->security) {
4112             $this->compiler->trigger_template_error(self::Err2);
4113         }
4114         $this->_retvalue = '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
4115     }
4116     #line 2851 "smarty_internal_templateparser.php"
4117     #line 979 "smarty_internal_templateparser.y"
4118     function yy_r153()
4119     {
4120         $this->_retvalue = '->' . $this->yystack[$this->yyidx + 0]->minor;
4121     }
4122     #line 2856 "smarty_internal_templateparser.php"
4123     #line 987 "smarty_internal_templateparser.y"
4124     function yy_r154()
4125     {
4126         if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler)) {
4127             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)) {
4128                 $func_name = strtolower($this->yystack[$this->yyidx + - 3]->minor);
4129                 if ($func_name == 'isset') {
4130                     if (count($this->yystack[$this->yyidx + - 1]->minor) == 0) {
4131                         $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
4132                     }
4133                     $par = implode(',', $this->yystack[$this->yyidx + - 1]->minor);
4134                     if (strncasecmp($par, '$_smarty_tpl->getConfigVariable', strlen('$_smarty_tpl->getConfigVariable')) === 0) {
4135                         self::$prefix_number ++;
4136                         $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . str_replace(')', ', false)', $par) . ';?>';
4137                         $isset_par = '$_tmp' . self::$prefix_number;
4138                     } else {
4139                         $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
4140                     }
4141                     $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . $isset_par . ")";
4142                 } elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
4143                     if (count($this->yystack[$this->yyidx + - 1]->minor) != 1) {
4144                         $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
4145                     }
4146                     if ($func_name == 'empty') {
4147                         $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value", $this->yystack[$this->yyidx + - 1]->minor[0]) . ')';
4148                     } else {
4149                         $this->_retvalue = $func_name . '(' . $this->yystack[$this->yyidx + - 1]->minor[0] . ')';
4150                     }
4151                 } else {
4152                     $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
4153                 }
4154             } else {
4155                 $this->compiler->trigger_template_error("unknown function \"" . $this->yystack[$this->yyidx + - 3]->minor . "\"");
4156             }
4157         }
4158     }
4159     #line 2892 "smarty_internal_templateparser.php"
4160     #line 1025 "smarty_internal_templateparser.y"
4161     function yy_r155()
4162     {
4163         if ($this->security && substr($this->yystack[$this->yyidx + - 3]->minor, 0, 1) == '_') {
4164             $this->compiler->trigger_template_error(self::Err1);
4165         }
4166         $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
4167     }
4168     #line 2900 "smarty_internal_templateparser.php"
4169     #line 1032 "smarty_internal_templateparser.y"
4170     function yy_r156()
4171     {
4172         if ($this->security) {
4173             $this->compiler->trigger_template_error(self::Err2);
4174         }
4175         self::$prefix_number ++;
4176         $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 3]->minor . "'") . ';?>';
4177         $this->_retvalue = '$_tmp' . self::$prefix_number . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')';
4178     }
4179     #line 2910 "smarty_internal_templateparser.php"
4180     #line 1043 "smarty_internal_templateparser.y"
4181     function yy_r157()
4182     {
4183         $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor));
4184     }
4185     #line 2915 "smarty_internal_templateparser.php"
4186     #line 1060 "smarty_internal_templateparser.y"
4187     function yy_r160()
4188     {
4189         $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)));
4190     }
4191     #line 2920 "smarty_internal_templateparser.php"
4192     #line 1064 "smarty_internal_templateparser.y"
4193     function yy_r161()
4194     {
4195         $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor));
4196     }
4197     #line 2925 "smarty_internal_templateparser.php"
4198     #line 1072 "smarty_internal_templateparser.y"
4199     function yy_r163()
4200     {
4201         $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
4202     }
4203     #line 2930 "smarty_internal_templateparser.php"
4204     #line 1080 "smarty_internal_templateparser.y"
4205     function yy_r164()
4206     {
4207         $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
4208     }
4209     #line 2935 "smarty_internal_templateparser.php"
4210     #line 1114 "smarty_internal_templateparser.y"
4211     function yy_r171()
4212     {
4213         $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
4214     }
4215     #line 2940 "smarty_internal_templateparser.php"
4216     #line 1119 "smarty_internal_templateparser.y"
4217     function yy_r172()
4218     {
4219         $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
4220     }
4221     #line 2945 "smarty_internal_templateparser.php"
4222     #line 1125 "smarty_internal_templateparser.y"
4223     function yy_r173()
4224     {
4225         $this->_retvalue = '==';
4226     }
4227     #line 2950 "smarty_internal_templateparser.php"
4228     #line 1129 "smarty_internal_templateparser.y"
4229     function yy_r174()
4230     {
4231         $this->_retvalue = '!=';
4232     }
4233     #line 2955 "smarty_internal_templateparser.php"
4234     #line 1133 "smarty_internal_templateparser.y"
4235     function yy_r175()
4236     {
4237         $this->_retvalue = '>';
4238     }
4239     #line 2960 "smarty_internal_templateparser.php"
4240     #line 1137 "smarty_internal_templateparser.y"
4241     function yy_r176()
4242     {
4243         $this->_retvalue = '<';
4244     }
4245     #line 2965 "smarty_internal_templateparser.php"
4246     #line 1141 "smarty_internal_templateparser.y"
4247     function yy_r177()
4248     {
4249         $this->_retvalue = '>=';
4250     }
4251     #line 2970 "smarty_internal_templateparser.php"
4252     #line 1145 "smarty_internal_templateparser.y"
4253     function yy_r178()
4254     {
4255         $this->_retvalue = '<=';
4256     }
4257     #line 2975 "smarty_internal_templateparser.php"
4258     #line 1149 "smarty_internal_templateparser.y"
4259     function yy_r179()
4260     {
4261         $this->_retvalue = '===';
4262     }
4263     #line 2980 "smarty_internal_templateparser.php"
4264     #line 1153 "smarty_internal_templateparser.y"
4265     function yy_r180()
4266     {
4267         $this->_retvalue = '!==';
4268     }
4269     #line 2985 "smarty_internal_templateparser.php"
4270     #line 1157 "smarty_internal_templateparser.y"
4271     function yy_r181()
4272     {
4273         $this->_retvalue = '%';
4274     }
4275     #line 2990 "smarty_internal_templateparser.php"
4276     #line 1161 "smarty_internal_templateparser.y"
4277     function yy_r182()
4278     {
4279         $this->_retvalue = '&&';
4280     }
4281     #line 2995 "smarty_internal_templateparser.php"
4282     #line 1165 "smarty_internal_templateparser.y"
4283     function yy_r183()
4284     {
4285         $this->_retvalue = '||';
4286     }
4287     #line 3000 "smarty_internal_templateparser.php"
4288     #line 1169 "smarty_internal_templateparser.y"
4289     function yy_r184()
4290     {
4291         $this->_retvalue = ' XOR ';
4292     }
4293     #line 3005 "smarty_internal_templateparser.php"
4294     #line 1176 "smarty_internal_templateparser.y"
4295     function yy_r185()
4296     {
4297         $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
4298     }
4299     #line 3010 "smarty_internal_templateparser.php"
4300     #line 1184 "smarty_internal_templateparser.y"
4301     function yy_r187()
4302     {
4303         $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor;
4304     }
4305     #line 3015 "smarty_internal_templateparser.php"
4306     #line 1192 "smarty_internal_templateparser.y"
4307     function yy_r189()
4308     {
4309         $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor;
4310     }
4311     #line 3020 "smarty_internal_templateparser.php"
4312     #line 1196 "smarty_internal_templateparser.y"
4313     function yy_r190()
4314     {
4315         $this->_retvalue = '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor;
4316     }
4317     #line 3025 "smarty_internal_templateparser.php"
4318     #line 1208 "smarty_internal_templateparser.y"
4319     function yy_r192()
4320     {
4321         $this->_retvalue = "''";
4322     }
4323     #line 3030 "smarty_internal_templateparser.php"
4324     #line 1212 "smarty_internal_templateparser.y"
4325     function yy_r193()
4326     {
4327         $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php();
4328     }
4329     #line 3035 "smarty_internal_templateparser.php"
4330     #line 1217 "smarty_internal_templateparser.y"
4331     function yy_r194()
4332     {
4333         $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor);
4334         $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
4335     }
4336     #line 3041 "smarty_internal_templateparser.php"
4337     #line 1222 "smarty_internal_templateparser.y"
4338     function yy_r195()
4339     {
4340         $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor);
4341     }
4342     #line 3046 "smarty_internal_templateparser.php"
4343     #line 1226 "smarty_internal_templateparser.y"
4344     function yy_r196()
4345     {
4346         $this->_retvalue = new _smarty_code($this, '(string)' . $this->yystack[$this->yyidx + - 1]->minor);
4347     }
4348     #line 3051 "smarty_internal_templateparser.php"
4349     #line 1234 "smarty_internal_templateparser.y"
4350     function yy_r198()
4351     {
4352         $this->_retvalue = new _smarty_code($this, '(string)$_smarty_tpl->tpl_vars[\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\']->value');
4353     }
4354     #line 3056 "smarty_internal_templateparser.php"
4355     #line 1242 "smarty_internal_templateparser.y"
4356     function yy_r200()
4357     {
4358         $this->_retvalue = new _smarty_code($this, '(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')');
4359     }
4360     #line 3061 "smarty_internal_templateparser.php"
4361     #line 1246 "smarty_internal_templateparser.y"
4362     function yy_r201()
4363     {
4364         $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + - 1]->minor);
4365     }
4366     #line 3066 "smarty_internal_templateparser.php"
4367     #line 1250 "smarty_internal_templateparser.y"
4368     function yy_r202()
4369     {
4370         $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor);
4371     }
4372
4373     #line 3071 "smarty_internal_templateparser.php"
4374
4375     private $_retvalue;
4376
4377     public function yy_reduce($yyruleno)
4378     {
4379         $yymsp = $this->yystack[$this->yyidx];
4380         if ($this->yyTraceFILE && $yyruleno >= 0
4381             && $yyruleno < count(self::$yyRuleName)
4382         ) {
4383             fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n",
4384                     $this->yyTracePrompt, $yyruleno,
4385                     self::$yyRuleName[$yyruleno]);
4386         }
4387
4388         $this->_retvalue = $yy_lefthand_side = null;
4389         if (array_key_exists($yyruleno, self::$yyReduceMap)) {
4390             // call the action
4391             $this->_retvalue = null;
4392             $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
4393             $yy_lefthand_side = $this->_retvalue;
4394         }
4395         $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
4396         $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
4397         $this->yyidx -= $yysize;
4398         for ($i = $yysize; $i; $i --) {
4399             // pop all of the right-hand side parameters
4400             array_pop($this->yystack);
4401         }
4402         $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
4403         if ($yyact < self::YYNSTATE) {
4404             if (!$this->yyTraceFILE && $yysize) {
4405                 $this->yyidx ++;
4406                 $x = new TP_yyStackEntry;
4407                 $x->stateno = $yyact;
4408                 $x->major = $yygoto;
4409                 $x->minor = $yy_lefthand_side;
4410                 $this->yystack[$this->yyidx] = $x;
4411             } else {
4412                 $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
4413             }
4414         } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
4415             $this->yy_accept();
4416         }
4417     }
4418
4419     public function yy_parse_failed()
4420     {
4421         if ($this->yyTraceFILE) {
4422             fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
4423         }
4424         while ($this->yyidx >= 0) {
4425             $this->yy_pop_parser_stack();
4426         }
4427     }
4428
4429     public function yy_syntax_error($yymajor, $TOKEN)
4430     {
4431         #line 78 "smarty_internal_templateparser.y"
4432
4433         $this->internalError = true;
4434         $this->yymajor = $yymajor;
4435         $this->compiler->trigger_template_error();
4436         #line 3133 "smarty_internal_templateparser.php"
4437     }
4438
4439     public function yy_accept()
4440     {
4441         if ($this->yyTraceFILE) {
4442             fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
4443         }
4444         while ($this->yyidx >= 0) {
4445             $stack = $this->yy_pop_parser_stack();
4446         }
4447         #line 70 "smarty_internal_templateparser.y"
4448
4449         $this->successful = !$this->internalError;
4450         $this->internalError = false;
4451         $this->retvalue = $this->_retvalue;
4452         //echo $this->retvalue."\n\n";
4453         #line 3150 "smarty_internal_templateparser.php"
4454     }
4455
4456     public function doParse($yymajor, $yytokenvalue)
4457     {
4458         $yyerrorhit = 0; /* True if yymajor has invoked an error */
4459
4460         if ($this->yyidx === null || $this->yyidx < 0) {
4461             $this->yyidx = 0;
4462             $this->yyerrcnt = - 1;
4463             $x = new TP_yyStackEntry;
4464             $x->stateno = 0;
4465             $x->major = 0;
4466             $this->yystack = array();
4467             array_push($this->yystack, $x);
4468         }
4469         $yyendofinput = ($yymajor == 0);
4470
4471         if ($this->yyTraceFILE) {
4472             fprintf($this->yyTraceFILE, "%sInput %s\n",
4473                     $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
4474         }
4475
4476         do {
4477             $yyact = $this->yy_find_shift_action($yymajor);
4478             if ($yymajor < self::YYERRORSYMBOL &&
4479                 !$this->yy_is_expected_token($yymajor)
4480             ) {
4481                 // force a syntax error
4482                 $yyact = self::YY_ERROR_ACTION;
4483             }
4484             if ($yyact < self::YYNSTATE) {
4485                 $this->yy_shift($yyact, $yymajor, $yytokenvalue);
4486                 $this->yyerrcnt --;
4487                 if ($yyendofinput && $this->yyidx >= 0) {
4488                     $yymajor = 0;
4489                 } else {
4490                     $yymajor = self::YYNOCODE;
4491                 }
4492             } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
4493                 $this->yy_reduce($yyact - self::YYNSTATE);
4494             } elseif ($yyact == self::YY_ERROR_ACTION) {
4495                 if ($this->yyTraceFILE) {
4496                     fprintf($this->yyTraceFILE, "%sSyntax Error!\n",
4497                             $this->yyTracePrompt);
4498                 }
4499                 if (self::YYERRORSYMBOL) {
4500                     if ($this->yyerrcnt < 0) {
4501                         $this->yy_syntax_error($yymajor, $yytokenvalue);
4502                     }
4503                     $yymx = $this->yystack[$this->yyidx]->major;
4504                     if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
4505                         if ($this->yyTraceFILE) {
4506                             fprintf($this->yyTraceFILE, "%sDiscard input token %s\n",
4507                                     $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
4508                         }
4509                         $this->yy_destructor($yymajor, $yytokenvalue);
4510                         $yymajor = self::YYNOCODE;
4511                     } else {
4512                         while ($this->yyidx >= 0 &&
4513                             $yymx != self::YYERRORSYMBOL &&
4514                             ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
4515                         ) {
4516                             $this->yy_pop_parser_stack();
4517                         }
4518                         if ($this->yyidx < 0 || $yymajor == 0) {
4519                             $this->yy_destructor($yymajor, $yytokenvalue);
4520                             $this->yy_parse_failed();
4521                             $yymajor = self::YYNOCODE;
4522                         } elseif ($yymx != self::YYERRORSYMBOL) {
4523                             $u2 = 0;
4524                             $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
4525                         }
4526                     }
4527                     $this->yyerrcnt = 3;
4528                     $yyerrorhit = 1;
4529                 } else {
4530                     if ($this->yyerrcnt <= 0) {
4531                         $this->yy_syntax_error($yymajor, $yytokenvalue);
4532                     }
4533                     $this->yyerrcnt = 3;
4534                     $this->yy_destructor($yymajor, $yytokenvalue);
4535                     if ($yyendofinput) {
4536                         $this->yy_parse_failed();
4537                     }
4538                     $yymajor = self::YYNOCODE;
4539                 }
4540             } else {
4541                 $this->yy_accept();
4542                 $yymajor = self::YYNOCODE;
4543             }
4544         } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
4545     }
4546 }