Completed
Push — developer ( 67fdb5...f9e515 )
by Błażej
469:22 queued 431:37
created
Smarty/libs/sysplugins/smarty_internal_method_unregisterfilter.php 2 patches
Indentation   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -11,32 +11,32 @@
 block discarded – undo
11 11
  */
12 12
 class Smarty_Internal_Method_UnregisterFilter extends Smarty_Internal_Method_RegisterFilter
13 13
 {
14
-    /**
15
-     * Unregisters a filter function
16
-     *
17
-     * @api  Smarty::unregisterFilter()
18
-     *
19
-     * @link http://www.smarty.net/docs/en/api.unregister.filter.tpl
20
-     *
21
-     * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
22
-     * @param  string                                                         $type filter type
23
-     * @param  callback|string                                                $callback
24
-     *
25
-     * @return \Smarty|\Smarty_Internal_Template
26
-     */
27
-    public function unregisterFilter(Smarty_Internal_TemplateBase $obj, $type, $callback)
28
-    {
29
-        $smarty = isset($obj->smarty) ? $obj->smarty : $obj;
30
-        $this->_checkFilterType($type);
31
-        if (isset($smarty->registered_filters[ $type ])) {
32
-            $name = is_string($callback) ? $callback : $this->_getFilterName($callback);
33
-            if (isset($smarty->registered_filters[ $type ][ $name ])) {
34
-                unset($smarty->registered_filters[ $type ][ $name ]);
35
-                if (empty($smarty->registered_filters[ $type ])) {
36
-                    unset($smarty->registered_filters[ $type ]);
37
-                }
38
-            }
39
-        }
40
-        return $obj;
41
-    }
14
+	/**
15
+	 * Unregisters a filter function
16
+	 *
17
+	 * @api  Smarty::unregisterFilter()
18
+	 *
19
+	 * @link http://www.smarty.net/docs/en/api.unregister.filter.tpl
20
+	 *
21
+	 * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
22
+	 * @param  string                                                         $type filter type
23
+	 * @param  callback|string                                                $callback
24
+	 *
25
+	 * @return \Smarty|\Smarty_Internal_Template
26
+	 */
27
+	public function unregisterFilter(Smarty_Internal_TemplateBase $obj, $type, $callback)
28
+	{
29
+		$smarty = isset($obj->smarty) ? $obj->smarty : $obj;
30
+		$this->_checkFilterType($type);
31
+		if (isset($smarty->registered_filters[ $type ])) {
32
+			$name = is_string($callback) ? $callback : $this->_getFilterName($callback);
33
+			if (isset($smarty->registered_filters[ $type ][ $name ])) {
34
+				unset($smarty->registered_filters[ $type ][ $name ]);
35
+				if (empty($smarty->registered_filters[ $type ])) {
36
+					unset($smarty->registered_filters[ $type ]);
37
+				}
38
+			}
39
+		}
40
+		return $obj;
41
+	}
42 42
 }
43 43
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -28,12 +28,12 @@
 block discarded – undo
28 28
     {
29 29
         $smarty = isset($obj->smarty) ? $obj->smarty : $obj;
30 30
         $this->_checkFilterType($type);
31
-        if (isset($smarty->registered_filters[ $type ])) {
31
+        if (isset($smarty->registered_filters[$type])) {
32 32
             $name = is_string($callback) ? $callback : $this->_getFilterName($callback);
33
-            if (isset($smarty->registered_filters[ $type ][ $name ])) {
34
-                unset($smarty->registered_filters[ $type ][ $name ]);
35
-                if (empty($smarty->registered_filters[ $type ])) {
36
-                    unset($smarty->registered_filters[ $type ]);
33
+            if (isset($smarty->registered_filters[$type][$name])) {
34
+                unset($smarty->registered_filters[$type][$name]);
35
+                if (empty($smarty->registered_filters[$type])) {
36
+                    unset($smarty->registered_filters[$type]);
37 37
                 }
38 38
             }
39 39
         }
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_internal_templateparser.php 2 patches
Spacing   +405 added lines, -405 removed lines patch added patch discarded remove patch
@@ -28,18 +28,18 @@  discard block
 block discarded – undo
28 28
 
29 29
     public function offsetExists($offset)
30 30
     {
31
-        return isset($this->metadata[ $offset ]);
31
+        return isset($this->metadata[$offset]);
32 32
     }
33 33
 
34 34
     public function offsetGet($offset)
35 35
     {
36
-        return $this->metadata[ $offset ];
36
+        return $this->metadata[$offset];
37 37
     }
38 38
 
39 39
     public function offsetSet($offset, $value)
40 40
     {
41 41
         if ($offset === null) {
42
-            if (isset($value[ 0 ])) {
42
+            if (isset($value[0])) {
43 43
                 $x = ($value instanceof TP_yyToken) ? $value->metadata : $value;
44 44
                 $this->metadata = array_merge($this->metadata, $x);
45 45
 
@@ -52,23 +52,23 @@  discard block
 block discarded – undo
52 52
         }
53 53
         if ($value instanceof TP_yyToken) {
54 54
             if ($value->metadata) {
55
-                $this->metadata[ $offset ] = $value->metadata;
55
+                $this->metadata[$offset] = $value->metadata;
56 56
             }
57 57
         } elseif ($value) {
58
-            $this->metadata[ $offset ] = $value;
58
+            $this->metadata[$offset] = $value;
59 59
         }
60 60
     }
61 61
 
62 62
     public function offsetUnset($offset)
63 63
     {
64
-        unset($this->metadata[ $offset ]);
64
+        unset($this->metadata[$offset]);
65 65
     }
66 66
 }
67 67
 
68 68
 class TP_yyStackEntry
69 69
 {
70
-    public $stateno;       /* The state-number */
71
-    public $major;         /* The major token value.  This is the code
70
+    public $stateno; /* The state-number */
71
+    public $major; /* The major token value.  This is the code
72 72
                      ** number for the token at this stack level */
73 73
     public $minor; /* The user-supplied minor token value.  This
74 74
                      ** is the value of the token  */
@@ -895,9 +895,9 @@  discard block
 block discarded – undo
895 895
 
896 896
     public $yyTracePrompt;
897 897
 
898
-    public $yyidx;                    /* Index of top element in stack */
899
-    public $yyerrcnt;                 /* Shifts left before out of the error */
900
-    public $yystack = array();  /* The parser's stack */
898
+    public $yyidx; /* Index of top element in stack */
899
+    public $yyerrcnt; /* Shifts left before out of the error */
900
+    public $yystack = array(); /* The parser's stack */
901 901
 
902 902
     public $yyTokenName = array('$', 'VERT', 'COLON', 'PHP', 'NOCACHE', 'TEXT', 'STRIPON', 'STRIPOFF', 'LITERALSTART',
903 903
                                 'LITERALEND', 'LITERAL', 'RDEL', 'SIMPELOUTPUT', 'LDEL', 'DOLLARID', 'EQUAL',
@@ -1027,7 +1027,7 @@  discard block
 block discarded – undo
1027 1027
             return 'End of Input';
1028 1028
         }
1029 1029
         if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1030
-            return $this->yyTokenName[ $tokenType ];
1030
+            return $this->yyTokenName[$tokenType];
1031 1031
         } else {
1032 1032
             return "Unknown";
1033 1033
         }
@@ -1037,7 +1037,7 @@  discard block
 block discarded – undo
1037 1037
     {
1038 1038
         switch ($yymajor) {
1039 1039
             default:
1040
-                break;   /* If no destructor action specified: do nothing */
1040
+                break; /* If no destructor action specified: do nothing */
1041 1041
         }
1042 1042
     }
1043 1043
 
@@ -1048,11 +1048,11 @@  discard block
 block discarded – undo
1048 1048
         }
1049 1049
         $yytos = array_pop($this->yystack);
1050 1050
         if ($this->yyTraceFILE && $this->yyidx >= 0) {
1051
-            fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[ $yytos->major ] . "\n");
1051
+            fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . "\n");
1052 1052
         }
1053 1053
         $yymajor = $yytos->major;
1054 1054
         self::yy_destructor($yymajor, $yytos->minor);
1055
-        $this->yyidx --;
1055
+        $this->yyidx--;
1056 1056
 
1057 1057
         return $yymajor;
1058 1058
     }
@@ -1071,14 +1071,14 @@  discard block
 block discarded – undo
1071 1071
     {
1072 1072
         static $res3 = array();
1073 1073
         static $res4 = array();
1074
-        $state = $this->yystack[ $this->yyidx ]->stateno;
1075
-        $expected = self::$yyExpectedTokens[ $state ];
1076
-        if (isset($res3[ $state ][ $token ])) {
1077
-            if ($res3[ $state ][ $token ]) {
1074
+        $state = $this->yystack[$this->yyidx]->stateno;
1075
+        $expected = self::$yyExpectedTokens[$state];
1076
+        if (isset($res3[$state][$token])) {
1077
+            if ($res3[$state][$token]) {
1078 1078
                 return $expected;
1079 1079
             }
1080 1080
         } else {
1081
-            if ($res3[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1081
+            if ($res3[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) {
1082 1082
                 return $expected;
1083 1083
             }
1084 1084
         }
@@ -1090,7 +1090,7 @@  discard block
 block discarded – undo
1090 1090
                 // reduce action
1091 1091
                 $done = 0;
1092 1092
                 do {
1093
-                    if ($done ++ == 100) {
1093
+                    if ($done++ == 100) {
1094 1094
                         $this->yyidx = $yyidx;
1095 1095
                         $this->yystack = $stack;
1096 1096
                         // too much recursion prevents proper detection
@@ -1098,20 +1098,20 @@  discard block
 block discarded – undo
1098 1098
                         return array_unique($expected);
1099 1099
                     }
1100 1100
                     $yyruleno = $yyact - self::YYNSTATE;
1101
-                    $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1102
-                    $nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1103
-                                                              self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1104
-                    if (isset(self::$yyExpectedTokens[ $nextstate ])) {
1105
-                        $expected = array_merge($expected, self::$yyExpectedTokens[ $nextstate ]);
1106
-                        if (isset($res4[ $nextstate ][ $token ])) {
1107
-                            if ($res4[ $nextstate ][ $token ]) {
1101
+                    $this->yyidx -= self::$yyRuleInfo[$yyruleno][1];
1102
+                    $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno,
1103
+                                                              self::$yyRuleInfo[$yyruleno][0]);
1104
+                    if (isset(self::$yyExpectedTokens[$nextstate])) {
1105
+                        $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
1106
+                        if (isset($res4[$nextstate][$token])) {
1107
+                            if ($res4[$nextstate][$token]) {
1108 1108
                                 $this->yyidx = $yyidx;
1109 1109
                                 $this->yystack = $stack;
1110 1110
                                 return array_unique($expected);
1111 1111
                             }
1112 1112
                         } else {
1113
-                            if ($res4[ $nextstate ][ $token ] =
1114
-                                in_array($token, self::$yyExpectedTokens[ $nextstate ], true)
1113
+                            if ($res4[$nextstate][$token] =
1114
+                                in_array($token, self::$yyExpectedTokens[$nextstate], true)
1115 1115
                             ) {
1116 1116
                                 $this->yyidx = $yyidx;
1117 1117
                                 $this->yystack = $stack;
@@ -1121,11 +1121,11 @@  discard block
 block discarded – undo
1121 1121
                     }
1122 1122
                     if ($nextstate < self::YYNSTATE) {
1123 1123
                         // we need to shift a non-terminal
1124
-                        $this->yyidx ++;
1124
+                        $this->yyidx++;
1125 1125
                         $x = new TP_yyStackEntry;
1126 1126
                         $x->stateno = $nextstate;
1127
-                        $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1128
-                        $this->yystack[ $this->yyidx ] = $x;
1127
+                        $x->major = self::$yyRuleInfo[$yyruleno][0];
1128
+                        $this->yystack[$this->yyidx] = $x;
1129 1129
                         continue 2;
1130 1130
                     } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1131 1131
                         $this->yyidx = $yyidx;
@@ -1161,13 +1161,13 @@  discard block
 block discarded – undo
1161 1161
         if ($token === 0) {
1162 1162
             return true; // 0 is not part of this
1163 1163
         }
1164
-        $state = $this->yystack[ $this->yyidx ]->stateno;
1165
-        if (isset($res[ $state ][ $token ])) {
1166
-            if ($res[ $state ][ $token ]) {
1164
+        $state = $this->yystack[$this->yyidx]->stateno;
1165
+        if (isset($res[$state][$token])) {
1166
+            if ($res[$state][$token]) {
1167 1167
                 return true;
1168 1168
             }
1169 1169
         } else {
1170
-            if ($res[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1170
+            if ($res[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) {
1171 1171
                 return true;
1172 1172
             }
1173 1173
         }
@@ -1179,7 +1179,7 @@  discard block
 block discarded – undo
1179 1179
                 // reduce action
1180 1180
                 $done = 0;
1181 1181
                 do {
1182
-                    if ($done ++ == 100) {
1182
+                    if ($done++ == 100) {
1183 1183
                         $this->yyidx = $yyidx;
1184 1184
                         $this->yystack = $stack;
1185 1185
                         // too much recursion prevents proper detection
@@ -1187,18 +1187,18 @@  discard block
 block discarded – undo
1187 1187
                         return true;
1188 1188
                     }
1189 1189
                     $yyruleno = $yyact - self::YYNSTATE;
1190
-                    $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1191
-                    $nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1192
-                                                              self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1193
-                    if (isset($res2[ $nextstate ][ $token ])) {
1194
-                        if ($res2[ $nextstate ][ $token ]) {
1190
+                    $this->yyidx -= self::$yyRuleInfo[$yyruleno][1];
1191
+                    $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno,
1192
+                                                              self::$yyRuleInfo[$yyruleno][0]);
1193
+                    if (isset($res2[$nextstate][$token])) {
1194
+                        if ($res2[$nextstate][$token]) {
1195 1195
                             $this->yyidx = $yyidx;
1196 1196
                             $this->yystack = $stack;
1197 1197
                             return true;
1198 1198
                         }
1199 1199
                     } else {
1200
-                        if ($res2[ $nextstate ][ $token ] = (isset(self::$yyExpectedTokens[ $nextstate ]) &&
1201
-                                                             in_array($token, self::$yyExpectedTokens[ $nextstate ],
1200
+                        if ($res2[$nextstate][$token] = (isset(self::$yyExpectedTokens[$nextstate]) &&
1201
+                                                             in_array($token, self::$yyExpectedTokens[$nextstate],
1202 1202
                                                                       true))
1203 1203
                         ) {
1204 1204
                             $this->yyidx = $yyidx;
@@ -1208,11 +1208,11 @@  discard block
 block discarded – undo
1208 1208
                     }
1209 1209
                     if ($nextstate < self::YYNSTATE) {
1210 1210
                         // we need to shift a non-terminal
1211
-                        $this->yyidx ++;
1211
+                        $this->yyidx++;
1212 1212
                         $x = new TP_yyStackEntry;
1213 1213
                         $x->stateno = $nextstate;
1214
-                        $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1215
-                        $this->yystack[ $this->yyidx ] = $x;
1214
+                        $x->major = self::$yyRuleInfo[$yyruleno][0];
1215
+                        $this->yystack[$this->yyidx] = $x;
1216 1216
                         continue 2;
1217 1217
                     } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1218 1218
                         $this->yyidx = $yyidx;
@@ -1247,37 +1247,37 @@  discard block
 block discarded – undo
1247 1247
 
1248 1248
     public function yy_find_shift_action($iLookAhead)
1249 1249
     {
1250
-        $stateno = $this->yystack[ $this->yyidx ]->stateno;
1250
+        $stateno = $this->yystack[$this->yyidx]->stateno;
1251 1251
 
1252 1252
         /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
1253
-        if (!isset(self::$yy_shift_ofst[ $stateno ])) {
1253
+        if (!isset(self::$yy_shift_ofst[$stateno])) {
1254 1254
             // no shift actions
1255
-            return self::$yy_default[ $stateno ];
1255
+            return self::$yy_default[$stateno];
1256 1256
         }
1257
-        $i = self::$yy_shift_ofst[ $stateno ];
1257
+        $i = self::$yy_shift_ofst[$stateno];
1258 1258
         if ($i === self::YY_SHIFT_USE_DFLT) {
1259
-            return self::$yy_default[ $stateno ];
1259
+            return self::$yy_default[$stateno];
1260 1260
         }
1261 1261
         if ($iLookAhead == self::YYNOCODE) {
1262 1262
             return self::YY_NO_ACTION;
1263 1263
         }
1264 1264
         $i += $iLookAhead;
1265
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1265
+        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) {
1266 1266
             if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) &&
1267
-                ($iFallback = self::$yyFallback[ $iLookAhead ]) != 0
1267
+                ($iFallback = self::$yyFallback[$iLookAhead]) != 0
1268 1268
             ) {
1269 1269
                 if ($this->yyTraceFILE) {
1270 1270
                     fwrite($this->yyTraceFILE,
1271
-                           $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[ $iLookAhead ] . " => " .
1272
-                           $this->yyTokenName[ $iFallback ] . "\n");
1271
+                           $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[$iLookAhead] . " => " .
1272
+                           $this->yyTokenName[$iFallback] . "\n");
1273 1273
                 }
1274 1274
 
1275 1275
                 return $this->yy_find_shift_action($iFallback);
1276 1276
             }
1277 1277
 
1278
-            return self::$yy_default[ $stateno ];
1278
+            return self::$yy_default[$stateno];
1279 1279
         } else {
1280
-            return self::$yy_action[ $i ];
1280
+            return self::$yy_action[$i];
1281 1281
         }
1282 1282
     }
1283 1283
 
@@ -1285,29 +1285,29 @@  discard block
 block discarded – undo
1285 1285
     {
1286 1286
         /* $stateno = $this->yystack[$this->yyidx]->stateno; */
1287 1287
 
1288
-        if (!isset(self::$yy_reduce_ofst[ $stateno ])) {
1289
-            return self::$yy_default[ $stateno ];
1288
+        if (!isset(self::$yy_reduce_ofst[$stateno])) {
1289
+            return self::$yy_default[$stateno];
1290 1290
         }
1291
-        $i = self::$yy_reduce_ofst[ $stateno ];
1291
+        $i = self::$yy_reduce_ofst[$stateno];
1292 1292
         if ($i == self::YY_REDUCE_USE_DFLT) {
1293
-            return self::$yy_default[ $stateno ];
1293
+            return self::$yy_default[$stateno];
1294 1294
         }
1295 1295
         if ($iLookAhead == self::YYNOCODE) {
1296 1296
             return self::YY_NO_ACTION;
1297 1297
         }
1298 1298
         $i += $iLookAhead;
1299
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1300
-            return self::$yy_default[ $stateno ];
1299
+        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) {
1300
+            return self::$yy_default[$stateno];
1301 1301
         } else {
1302
-            return self::$yy_action[ $i ];
1302
+            return self::$yy_action[$i];
1303 1303
         }
1304 1304
     }
1305 1305
 
1306 1306
     public function yy_shift($yyNewState, $yyMajor, $yypMinor)
1307 1307
     {
1308
-        $this->yyidx ++;
1308
+        $this->yyidx++;
1309 1309
         if ($this->yyidx >= self::YYSTACKDEPTH) {
1310
-            $this->yyidx --;
1310
+            $this->yyidx--;
1311 1311
             if ($this->yyTraceFILE) {
1312 1312
                 fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
1313 1313
             }
@@ -1329,8 +1329,8 @@  discard block
 block discarded – undo
1329 1329
         if ($this->yyTraceFILE && $this->yyidx > 0) {
1330 1330
             fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState);
1331 1331
             fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
1332
-            for ($i = 1; $i <= $this->yyidx; $i ++) {
1333
-                fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[ $this->yystack[ $i ]->major ]);
1332
+            for ($i = 1; $i <= $this->yyidx; $i++) {
1333
+                fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[$this->yystack[$i]->major]);
1334 1334
             }
1335 1335
             fwrite($this->yyTraceFILE, "\n");
1336 1336
         }
@@ -1443,17 +1443,17 @@  discard block
 block discarded – undo
1443 1443
     #line 228 "../smarty/lexer/smarty_internal_templateparser.y"
1444 1444
     function yy_r1()
1445 1445
     {
1446
-        if ($this->yystack[ $this->yyidx + 0 ]->minor != null) {
1447
-            $this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1446
+        if ($this->yystack[$this->yyidx + 0]->minor != null) {
1447
+            $this->current_buffer->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor);
1448 1448
         }
1449 1449
     }
1450 1450
 
1451 1451
     #line 235 "../smarty/lexer/smarty_internal_templateparser.y"
1452 1452
     function yy_r2()
1453 1453
     {
1454
-        if ($this->yystack[ $this->yyidx + 0 ]->minor != null) {
1454
+        if ($this->yystack[$this->yyidx + 0]->minor != null) {
1455 1455
             // because of possible code injection
1456
-            $this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1456
+            $this->current_buffer->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor);
1457 1457
         }
1458 1458
     }
1459 1459
 
@@ -1461,7 +1461,7 @@  discard block
 block discarded – undo
1461 1461
     function yy_r4()
1462 1462
     {
1463 1463
         if ($this->compiler->has_code) {
1464
-            $this->_retvalue = $this->mergePrefixCode($this->yystack[ $this->yyidx + 0 ]->minor);
1464
+            $this->_retvalue = $this->mergePrefixCode($this->yystack[$this->yyidx + 0]->minor);
1465 1465
         } else {
1466 1466
             $this->_retvalue = null;
1467 1467
         }
@@ -1472,14 +1472,14 @@  discard block
 block discarded – undo
1472 1472
     #line 260 "../smarty/lexer/smarty_internal_templateparser.y"
1473 1473
     function yy_r5()
1474 1474
     {
1475
-        $this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[ $this->yyidx + 0 ]->minor);
1475
+        $this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[$this->yyidx + 0]->minor);
1476 1476
     }
1477 1477
 
1478 1478
     #line 264 "../smarty/lexer/smarty_internal_templateparser.y"
1479 1479
     function yy_r6()
1480 1480
     {
1481 1481
         $code = $this->compiler->compileTag('private_php',
1482
-                                            array(array('code' => $this->yystack[ $this->yyidx + 0 ]->minor),
1482
+                                            array(array('code' => $this->yystack[$this->yyidx + 0]->minor),
1483 1483
                                                   array('type' => $this->lex->phpType)), array());
1484 1484
         if ($this->compiler->has_code && !empty($code)) {
1485 1485
             $tmp = '';
@@ -1508,19 +1508,19 @@  discard block
 block discarded – undo
1508 1508
     #line 282 "../smarty/lexer/smarty_internal_templateparser.y"
1509 1509
     function yy_r8()
1510 1510
     {
1511
-        $this->_retvalue = $this->compiler->processText($this->yystack[ $this->yyidx + 0 ]->minor);
1511
+        $this->_retvalue = $this->compiler->processText($this->yystack[$this->yyidx + 0]->minor);
1512 1512
     }
1513 1513
 
1514 1514
     #line 286 "../smarty/lexer/smarty_internal_templateparser.y"
1515 1515
     function yy_r9()
1516 1516
     {
1517
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
1517
+        $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
1518 1518
     }
1519 1519
 
1520 1520
     #line 290 "../smarty/lexer/smarty_internal_templateparser.y"
1521 1521
     function yy_r10()
1522 1522
     {
1523
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1523
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
1524 1524
     }
1525 1525
 
1526 1526
     #line 295 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -1544,31 +1544,31 @@  discard block
 block discarded – undo
1544 1544
     #line 308 "../smarty/lexer/smarty_internal_templateparser.y"
1545 1545
     function yy_r14()
1546 1546
     {
1547
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1547
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
1548 1548
     }
1549 1549
 
1550 1550
     #line 312 "../smarty/lexer/smarty_internal_templateparser.y"
1551 1551
     function yy_r15()
1552 1552
     {
1553
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1553
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
1554 1554
     }
1555 1555
 
1556 1556
     #line 328 "../smarty/lexer/smarty_internal_templateparser.y"
1557 1557
     function yy_r19()
1558 1558
     {
1559
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1559
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
1560 1560
     }
1561 1561
 
1562 1562
     #line 334 "../smarty/lexer/smarty_internal_templateparser.y"
1563 1563
     function yy_r20()
1564 1564
     {
1565 1565
         $var =
1566
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1566
+            trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1567 1567
                  ' $');
1568 1568
         if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
1569 1569
             $this->_retvalue = $this->compiler->compileTag('private_print_expression', array('nocache'),
1570 1570
                                                            array('value' => $this->compiler->compileVariable('\'' .
1571
-                                                                                                             $match[ 1 ] .
1571
+                                                                                                             $match[1] .
1572 1572
                                                                                                              '\'')));
1573 1573
         } else {
1574 1574
             $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
@@ -1582,25 +1582,25 @@  discard block
 block discarded – undo
1582 1582
     function yy_r21()
1583 1583
     {
1584 1584
         $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1585
-                                                       array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1585
+                                                       array('value' => $this->yystack[$this->yyidx + 0]->minor));
1586 1586
     }
1587 1587
 
1588 1588
     #line 348 "../smarty/lexer/smarty_internal_templateparser.y"
1589 1589
     function yy_r22()
1590 1590
     {
1591 1591
         $this->_retvalue =
1592
-            $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1593
-                                        array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1592
+            $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor,
1593
+                                        array('value' => $this->yystack[$this->yyidx + - 1]->minor));
1594 1594
     }
1595 1595
 
1596 1596
     #line 371 "../smarty/lexer/smarty_internal_templateparser.y"
1597 1597
     function yy_r27()
1598 1598
     {
1599
-        $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[ $this->yyidx +
1600
-                                                                                                        0 ]->minor),
1599
+        $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[$this->yyidx +
1600
+                                                                                                        0]->minor),
1601 1601
                                                                        array('var' => '\'' .
1602
-                                                                                      substr($this->yystack[ $this->yyidx +
1603
-                                                                                                             - 2 ]->minor,
1602
+                                                                                      substr($this->yystack[$this->yyidx +
1603
+                                                                                                             - 2]->minor,
1604 1604
                                                                                              1) . '\'')));
1605 1605
     }
1606 1606
 
@@ -1608,36 +1608,36 @@  discard block
 block discarded – undo
1608 1608
     function yy_r29()
1609 1609
     {
1610 1610
         $this->_retvalue = $this->compiler->compileTag('assign',
1611
-                                                       array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1612
-                                                                                                          - 1 ]->minor),
1611
+                                                       array_merge(array(array('value' => $this->yystack[$this->yyidx +
1612
+                                                                                                          - 1]->minor),
1613 1613
                                                                          array('var' => '\'' .
1614
-                                                                                        substr($this->yystack[ $this->yyidx +
1615
-                                                                                                               - 3 ]->minor,
1614
+                                                                                        substr($this->yystack[$this->yyidx +
1615
+                                                                                                               - 3]->minor,
1616 1616
                                                                                                1) . '\'')),
1617
-                                                                   $this->yystack[ $this->yyidx + 0 ]->minor));
1617
+                                                                   $this->yystack[$this->yyidx + 0]->minor));
1618 1618
     }
1619 1619
 
1620 1620
     #line 383 "../smarty/lexer/smarty_internal_templateparser.y"
1621 1621
     function yy_r30()
1622 1622
     {
1623 1623
         $this->_retvalue = $this->compiler->compileTag('assign',
1624
-                                                       array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1625
-                                                                                                          - 1 ]->minor),
1626
-                                                                         array('var' => $this->yystack[ $this->yyidx +
1627
-                                                                                                        - 3 ]->minor[ 'var' ])),
1628
-                                                                   $this->yystack[ $this->yyidx + 0 ]->minor),
1629
-                                                       array('smarty_internal_index' => $this->yystack[ $this->yyidx +
1630
-                                                                                                        - 3 ]->minor[ 'smarty_internal_index' ]));
1624
+                                                       array_merge(array(array('value' => $this->yystack[$this->yyidx +
1625
+                                                                                                          - 1]->minor),
1626
+                                                                         array('var' => $this->yystack[$this->yyidx +
1627
+                                                                                                        - 3]->minor['var'])),
1628
+                                                                   $this->yystack[$this->yyidx + 0]->minor),
1629
+                                                       array('smarty_internal_index' => $this->yystack[$this->yyidx +
1630
+                                                                                                        - 3]->minor['smarty_internal_index']));
1631 1631
     }
1632 1632
 
1633 1633
     #line 388 "../smarty/lexer/smarty_internal_templateparser.y"
1634 1634
     function yy_r31()
1635 1635
     {
1636 1636
         $tag =
1637
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length));
1637
+            trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length));
1638 1638
         if ($tag == 'strip') {
1639 1639
             $this->strip = true;
1640
-            $this->_retvalue = null;;
1640
+            $this->_retvalue = null; ;
1641 1641
         } else {
1642 1642
             if (defined($tag)) {
1643 1643
                 if ($this->security) {
@@ -1647,7 +1647,7 @@  discard block
 block discarded – undo
1647 1647
                     $this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
1648 1648
             } else {
1649 1649
                 if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
1650
-                    $this->_retvalue = $this->compiler->compileTag($match[ 1 ], array("'nocache'"));
1650
+                    $this->_retvalue = $this->compiler->compileTag($match[1], array("'nocache'"));
1651 1651
                 } else {
1652 1652
                     $this->_retvalue = $this->compiler->compileTag($tag, array());
1653 1653
                 }
@@ -1658,209 +1658,209 @@  discard block
 block discarded – undo
1658 1658
     #line 410 "../smarty/lexer/smarty_internal_templateparser.y"
1659 1659
     function yy_r32()
1660 1660
     {
1661
-        if (defined($this->yystack[ $this->yyidx + - 1 ]->minor)) {
1661
+        if (defined($this->yystack[$this->yyidx + - 1]->minor)) {
1662 1662
             if ($this->security) {
1663
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 1 ]->minor, $this->compiler);
1663
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + - 1]->minor, $this->compiler);
1664 1664
             }
1665 1665
             $this->_retvalue =
1666
-                $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1667
-                                            array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1666
+                $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor,
1667
+                                            array('value' => $this->yystack[$this->yyidx + - 1]->minor));
1668 1668
         } else {
1669
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor,
1670
-                                                           $this->yystack[ $this->yyidx + 0 ]->minor);
1669
+            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor,
1670
+                                                           $this->yystack[$this->yyidx + 0]->minor);
1671 1671
         }
1672 1672
     }
1673 1673
 
1674 1674
     #line 420 "../smarty/lexer/smarty_internal_templateparser.y"
1675 1675
     function yy_r33()
1676 1676
     {
1677
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1677
+        if (defined($this->yystack[$this->yyidx + 0]->minor)) {
1678 1678
             if ($this->security) {
1679
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1679
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
1680 1680
             }
1681 1681
             $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1682
-                                                           array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1682
+                                                           array('value' => $this->yystack[$this->yyidx + 0]->minor));
1683 1683
         } else {
1684
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor, array());
1684
+            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor, array());
1685 1685
         }
1686 1686
     }
1687 1687
 
1688 1688
     #line 433 "../smarty/lexer/smarty_internal_templateparser.y"
1689 1689
     function yy_r34()
1690 1690
     {
1691
-        if (defined($this->yystack[ $this->yyidx + - 2 ]->minor)) {
1691
+        if (defined($this->yystack[$this->yyidx + - 2]->minor)) {
1692 1692
             if ($this->security) {
1693
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 2 ]->minor, $this->compiler);
1693
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + - 2]->minor, $this->compiler);
1694 1694
             }
1695 1695
             $this->_retvalue =
1696
-                $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1697
-                                            array('value' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1698
-                                                  'modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1696
+                $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor,
1697
+                                            array('value' => $this->yystack[$this->yyidx + - 2]->minor,
1698
+                                                  'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
1699 1699
         } else {
1700
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor,
1701
-                                                           $this->yystack[ $this->yyidx + 0 ]->minor,
1702
-                                                           array('modifierlist' => $this->yystack[ $this->yyidx +
1703
-                                                                                                   - 1 ]->minor));
1700
+            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor,
1701
+                                                           $this->yystack[$this->yyidx + 0]->minor,
1702
+                                                           array('modifierlist' => $this->yystack[$this->yyidx +
1703
+                                                                                                   - 1]->minor));
1704 1704
         }
1705 1705
     }
1706 1706
 
1707 1707
     #line 445 "../smarty/lexer/smarty_internal_templateparser.y"
1708 1708
     function yy_r35()
1709 1709
     {
1710
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor,
1711
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1712
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1713
-                                                                                                - 1 ]->minor));
1710
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor,
1711
+                                                       $this->yystack[$this->yyidx + 0]->minor,
1712
+                                                       array('object_method' => $this->yystack[$this->yyidx +
1713
+                                                                                                - 1]->minor));
1714 1714
     }
1715 1715
 
1716 1716
     #line 450 "../smarty/lexer/smarty_internal_templateparser.y"
1717 1717
     function yy_r36()
1718 1718
     {
1719
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 4 ]->minor,
1720
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1721
-                                                       array('modifierlist' => $this->yystack[ $this->yyidx +
1722
-                                                                                               - 1 ]->minor,
1723
-                                                             'object_method' => $this->yystack[ $this->yyidx +
1724
-                                                                                                - 2 ]->minor));
1719
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor,
1720
+                                                       $this->yystack[$this->yyidx + 0]->minor,
1721
+                                                       array('modifierlist' => $this->yystack[$this->yyidx +
1722
+                                                                                               - 1]->minor,
1723
+                                                             'object_method' => $this->yystack[$this->yyidx +
1724
+                                                                                                - 2]->minor));
1725 1725
     }
1726 1726
 
1727 1727
     #line 455 "../smarty/lexer/smarty_internal_templateparser.y"
1728 1728
     function yy_r37()
1729 1729
     {
1730 1730
         $this->_retvalue = $this->compiler->compileTag('make_nocache', array(array('var' => '\'' .
1731
-                                                                                            substr($this->yystack[ $this->yyidx +
1732
-                                                                                                                   0 ]->minor,
1731
+                                                                                            substr($this->yystack[$this->yyidx +
1732
+                                                                                                                   0]->minor,
1733 1733
                                                                                                    1) . '\'')));
1734 1734
     }
1735 1735
 
1736 1736
     #line 460 "../smarty/lexer/smarty_internal_templateparser.y"
1737 1737
     function yy_r38()
1738 1738
     {
1739
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1739
+        $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
1740 1740
         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1741
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1742
-                                                                                               0 ]->minor));
1741
+                                                       array('if condition' => $this->yystack[$this->yyidx +
1742
+                                                                                               0]->minor));
1743 1743
     }
1744 1744
 
1745 1745
     #line 465 "../smarty/lexer/smarty_internal_templateparser.y"
1746 1746
     function yy_r39()
1747 1747
     {
1748
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 2 ]->minor, $this->lex->ldel_length));
1748
+        $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length));
1749 1749
         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag,
1750
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1751
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1752
-                                                                                               - 1 ]->minor));
1750
+                                                       $this->yystack[$this->yyidx + 0]->minor,
1751
+                                                       array('if condition' => $this->yystack[$this->yyidx +
1752
+                                                                                               - 1]->minor));
1753 1753
     }
1754 1754
 
1755 1755
     #line 470 "../smarty/lexer/smarty_internal_templateparser.y"
1756 1756
     function yy_r40()
1757 1757
     {
1758
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1758
+        $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
1759 1759
         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1760
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1761
-                                                                                               0 ]->minor));
1760
+                                                       array('if condition' => $this->yystack[$this->yyidx +
1761
+                                                                                               0]->minor));
1762 1762
     }
1763 1763
 
1764 1764
     #line 481 "../smarty/lexer/smarty_internal_templateparser.y"
1765 1765
     function yy_r42()
1766 1766
     {
1767
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1768
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1769
-                                                                                                                 - 6 ]->minor),
1770
-                                                                                array('ifexp' => $this->yystack[ $this->yyidx +
1771
-                                                                                                                 - 4 ]->minor),
1772
-                                                                                array('var' => $this->yystack[ $this->yyidx +
1773
-                                                                                                               - 2 ]->minor),
1774
-                                                                                array('step' => $this->yystack[ $this->yyidx +
1775
-                                                                                                                - 1 ]->minor))),
1767
+        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor,
1768
+                                                                          array(array('start' => $this->yystack[$this->yyidx +
1769
+                                                                                                                 - 6]->minor),
1770
+                                                                                array('ifexp' => $this->yystack[$this->yyidx +
1771
+                                                                                                                 - 4]->minor),
1772
+                                                                                array('var' => $this->yystack[$this->yyidx +
1773
+                                                                                                               - 2]->minor),
1774
+                                                                                array('step' => $this->yystack[$this->yyidx +
1775
+                                                                                                                - 1]->minor))),
1776 1776
                                                        1);
1777 1777
     }
1778 1778
 
1779 1779
     #line 485 "../smarty/lexer/smarty_internal_templateparser.y"
1780 1780
     function yy_r43()
1781 1781
     {
1782
-        $this->_retvalue = '=' . $this->yystack[ $this->yyidx + 0 ]->minor;
1782
+        $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor;
1783 1783
     }
1784 1784
 
1785 1785
     #line 493 "../smarty/lexer/smarty_internal_templateparser.y"
1786 1786
     function yy_r45()
1787 1787
     {
1788
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1789
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1790
-                                                                                                                 - 3 ]->minor),
1791
-                                                                                array('to' => $this->yystack[ $this->yyidx +
1792
-                                                                                                              - 1 ]->minor))),
1788
+        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor,
1789
+                                                                          array(array('start' => $this->yystack[$this->yyidx +
1790
+                                                                                                                 - 3]->minor),
1791
+                                                                                array('to' => $this->yystack[$this->yyidx +
1792
+                                                                                                              - 1]->minor))),
1793 1793
                                                        0);
1794 1794
     }
1795 1795
 
1796 1796
     #line 497 "../smarty/lexer/smarty_internal_templateparser.y"
1797 1797
     function yy_r46()
1798 1798
     {
1799
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1800
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1801
-                                                                                                                 - 5 ]->minor),
1802
-                                                                                array('to' => $this->yystack[ $this->yyidx +
1803
-                                                                                                              - 3 ]->minor),
1804
-                                                                                array('step' => $this->yystack[ $this->yyidx +
1805
-                                                                                                                - 1 ]->minor))),
1799
+        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor,
1800
+                                                                          array(array('start' => $this->yystack[$this->yyidx +
1801
+                                                                                                                 - 5]->minor),
1802
+                                                                                array('to' => $this->yystack[$this->yyidx +
1803
+                                                                                                              - 3]->minor),
1804
+                                                                                array('step' => $this->yystack[$this->yyidx +
1805
+                                                                                                                - 1]->minor))),
1806 1806
                                                        0);
1807 1807
     }
1808 1808
 
1809 1809
     #line 502 "../smarty/lexer/smarty_internal_templateparser.y"
1810 1810
     function yy_r47()
1811 1811
     {
1812
-        $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[ $this->yyidx + 0 ]->minor);
1812
+        $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor);
1813 1813
     }
1814 1814
 
1815 1815
     #line 507 "../smarty/lexer/smarty_internal_templateparser.y"
1816 1816
     function yy_r48()
1817 1817
     {
1818
-        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1819
-                                                                              array(array('from' => $this->yystack[ $this->yyidx +
1820
-                                                                                                                    - 3 ]->minor),
1821
-                                                                                    array('item' => $this->yystack[ $this->yyidx +
1822
-                                                                                                                    - 1 ]->minor))));
1818
+        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor,
1819
+                                                                              array(array('from' => $this->yystack[$this->yyidx +
1820
+                                                                                                                    - 3]->minor),
1821
+                                                                                    array('item' => $this->yystack[$this->yyidx +
1822
+                                                                                                                    - 1]->minor))));
1823 1823
     }
1824 1824
 
1825 1825
     #line 511 "../smarty/lexer/smarty_internal_templateparser.y"
1826 1826
     function yy_r49()
1827 1827
     {
1828
-        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1829
-                                                                              array(array('from' => $this->yystack[ $this->yyidx +
1830
-                                                                                                                    - 5 ]->minor),
1831
-                                                                                    array('item' => $this->yystack[ $this->yyidx +
1832
-                                                                                                                    - 1 ]->minor),
1833
-                                                                                    array('key' => $this->yystack[ $this->yyidx +
1834
-                                                                                                                   - 3 ]->minor))));
1828
+        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor,
1829
+                                                                              array(array('from' => $this->yystack[$this->yyidx +
1830
+                                                                                                                    - 5]->minor),
1831
+                                                                                    array('item' => $this->yystack[$this->yyidx +
1832
+                                                                                                                    - 1]->minor),
1833
+                                                                                    array('key' => $this->yystack[$this->yyidx +
1834
+                                                                                                                   - 3]->minor))));
1835 1835
     }
1836 1836
 
1837 1837
     #line 524 "../smarty/lexer/smarty_internal_templateparser.y"
1838 1838
     function yy_r52()
1839 1839
     {
1840 1840
         $this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1841
-                                                       array('modifier_list' => array(array_merge(array($this->yystack[ $this->yyidx +
1842
-                                                                                                                        - 1 ]->minor),
1843
-                                                                                                  $this->yystack[ $this->yyidx +
1844
-                                                                                                                  0 ]->minor))));
1841
+                                                       array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx +
1842
+                                                                                                                        - 1]->minor),
1843
+                                                                                                  $this->yystack[$this->yyidx +
1844
+                                                                                                                  0]->minor))));
1845 1845
     }
1846 1846
 
1847 1847
     #line 528 "../smarty/lexer/smarty_internal_templateparser.y"
1848 1848
     function yy_r53()
1849 1849
     {
1850 1850
         $this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1851
-                                                       array('modifier_list' => array_merge(array(array_merge(array($this->yystack[ $this->yyidx +
1852
-                                                                                                                                    - 2 ]->minor),
1853
-                                                                                                              $this->yystack[ $this->yyidx +
1854
-                                                                                                                              - 1 ]->minor)),
1855
-                                                                                            $this->yystack[ $this->yyidx +
1856
-                                                                                                            0 ]->minor)));
1851
+                                                       array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx +
1852
+                                                                                                                                    - 2]->minor),
1853
+                                                                                                              $this->yystack[$this->yyidx +
1854
+                                                                                                                              - 1]->minor)),
1855
+                                                                                            $this->yystack[$this->yyidx +
1856
+                                                                                                            0]->minor)));
1857 1857
     }
1858 1858
 
1859 1859
     #line 533 "../smarty/lexer/smarty_internal_templateparser.y"
1860 1860
     function yy_r54()
1861 1861
     {
1862
-        $j = strrpos($this->yystack[ $this->yyidx + 0 ]->minor, '.');
1863
-        if ($this->yystack[ $this->yyidx + 0 ]->minor[ $j + 1 ] == 'c') {
1862
+        $j = strrpos($this->yystack[$this->yyidx + 0]->minor, '.');
1863
+        if ($this->yystack[$this->yyidx + 0]->minor[$j + 1] == 'c') {
1864 1864
             // {$smarty.block.child}
1865 1865
             $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
1866 1866
         } else {
@@ -1873,7 +1873,7 @@  discard block
 block discarded – undo
1873 1873
     function yy_r55()
1874 1874
     {
1875 1875
         $tag =
1876
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1876
+            trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1877 1877
                  ' /');
1878 1878
         if ($tag == 'strip') {
1879 1879
             $this->strip = false;
@@ -1886,46 +1886,46 @@  discard block
 block discarded – undo
1886 1886
     #line 555 "../smarty/lexer/smarty_internal_templateparser.y"
1887 1887
     function yy_r56()
1888 1888
     {
1889
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor . 'close', array());
1889
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor . 'close', array());
1890 1890
     }
1891 1891
 
1892 1892
     #line 559 "../smarty/lexer/smarty_internal_templateparser.y"
1893 1893
     function yy_r57()
1894 1894
     {
1895
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor . 'close', array(),
1896
-                                                       array('modifier_list' => $this->yystack[ $this->yyidx +
1897
-                                                                                                0 ]->minor));
1895
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(),
1896
+                                                       array('modifier_list' => $this->yystack[$this->yyidx +
1897
+                                                                                                0]->minor));
1898 1898
     }
1899 1899
 
1900 1900
     #line 564 "../smarty/lexer/smarty_internal_templateparser.y"
1901 1901
     function yy_r58()
1902 1902
     {
1903
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor . 'close', array(),
1904
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1905
-                                                                                                0 ]->minor));
1903
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(),
1904
+                                                       array('object_method' => $this->yystack[$this->yyidx +
1905
+                                                                                                0]->minor));
1906 1906
     }
1907 1907
 
1908 1908
     #line 568 "../smarty/lexer/smarty_internal_templateparser.y"
1909 1909
     function yy_r59()
1910 1910
     {
1911
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor . 'close', array(),
1912
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1913
-                                                                                                - 1 ]->minor,
1914
-                                                             'modifier_list' => $this->yystack[ $this->yyidx +
1915
-                                                                                                0 ]->minor));
1911
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(),
1912
+                                                       array('object_method' => $this->yystack[$this->yyidx +
1913
+                                                                                                - 1]->minor,
1914
+                                                             'modifier_list' => $this->yystack[$this->yyidx +
1915
+                                                                                                0]->minor));
1916 1916
     }
1917 1917
 
1918 1918
     #line 576 "../smarty/lexer/smarty_internal_templateparser.y"
1919 1919
     function yy_r60()
1920 1920
     {
1921
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1922
-        $this->_retvalue[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1921
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
1922
+        $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
1923 1923
     }
1924 1924
 
1925 1925
     #line 582 "../smarty/lexer/smarty_internal_templateparser.y"
1926 1926
     function yy_r61()
1927 1927
     {
1928
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
1928
+        $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
1929 1929
     }
1930 1930
 
1931 1931
     #line 587 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -1937,15 +1937,15 @@  discard block
 block discarded – undo
1937 1937
     #line 592 "../smarty/lexer/smarty_internal_templateparser.y"
1938 1938
     function yy_r63()
1939 1939
     {
1940
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1940
+        if (defined($this->yystack[$this->yyidx + 0]->minor)) {
1941 1941
             if ($this->security) {
1942
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1942
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
1943 1943
             }
1944 1944
             $this->_retvalue =
1945
-                array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1945
+                array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor);
1946 1946
         } else {
1947 1947
             $this->_retvalue =
1948
-                array($this->yystack[ $this->yyidx + - 2 ]->minor => '\'' . $this->yystack[ $this->yyidx + 0 ]->minor .
1948
+                array($this->yystack[$this->yyidx + - 2]->minor => '\'' . $this->yystack[$this->yyidx + 0]->minor .
1949 1949
                                                                      '\'');
1950 1950
         }
1951 1951
     }
@@ -1954,201 +1954,201 @@  discard block
 block discarded – undo
1954 1954
     function yy_r64()
1955 1955
     {
1956 1956
         $this->_retvalue =
1957
-            array(trim($this->yystack[ $this->yyidx + - 1 ]->minor, " =\n\r\t") => $this->yystack[ $this->yyidx +
1958
-                                                                                                   0 ]->minor);
1957
+            array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx +
1958
+                                                                                                   0]->minor);
1959 1959
     }
1960 1960
 
1961 1961
     #line 611 "../smarty/lexer/smarty_internal_templateparser.y"
1962 1962
     function yy_r66()
1963 1963
     {
1964
-        $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
1964
+        $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\'';
1965 1965
     }
1966 1966
 
1967 1967
     #line 623 "../smarty/lexer/smarty_internal_templateparser.y"
1968 1968
     function yy_r69()
1969 1969
     {
1970 1970
         $this->_retvalue =
1971
-            array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1971
+            array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor);
1972 1972
     }
1973 1973
 
1974 1974
     #line 636 "../smarty/lexer/smarty_internal_templateparser.y"
1975 1975
     function yy_r71()
1976 1976
     {
1977
-        $this->yystack[ $this->yyidx + - 2 ]->minor[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1978
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor;
1977
+        $this->yystack[$this->yyidx + - 2]->minor[] = $this->yystack[$this->yyidx + 0]->minor;
1978
+        $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor;
1979 1979
     }
1980 1980
 
1981 1981
     #line 641 "../smarty/lexer/smarty_internal_templateparser.y"
1982 1982
     function yy_r72()
1983 1983
     {
1984
-        $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '\'',
1985
-                                 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1984
+        $this->_retvalue = array('var' => '\'' . substr($this->yystack[$this->yyidx + - 2]->minor, 1) . '\'',
1985
+                                 'value' => $this->yystack[$this->yyidx + 0]->minor);
1986 1986
     }
1987 1987
 
1988 1988
     #line 648 "../smarty/lexer/smarty_internal_templateparser.y"
1989 1989
     function yy_r74()
1990 1990
     {
1991
-        $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1992
-                                 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1991
+        $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor,
1992
+                                 'value' => $this->yystack[$this->yyidx + 0]->minor);
1993 1993
     }
1994 1994
 
1995 1995
     #line 672 "../smarty/lexer/smarty_internal_templateparser.y"
1996 1996
     function yy_r78()
1997 1997
     {
1998 1998
         $this->_retvalue =
1999
-            '$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '://' .
2000
-            $this->yystack[ $this->yyidx + 0 ]->minor . '\')';
1999
+            '$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[$this->yyidx + - 2]->minor, 1) . '://' .
2000
+            $this->yystack[$this->yyidx + 0]->minor . '\')';
2001 2001
     }
2002 2002
 
2003 2003
     #line 677 "../smarty/lexer/smarty_internal_templateparser.y"
2004 2004
     function yy_r79()
2005 2005
     {
2006 2006
         $this->_retvalue =
2007
-            $this->yystack[ $this->yyidx + - 2 ]->minor . trim($this->yystack[ $this->yyidx + - 1 ]->minor) .
2008
-            $this->yystack[ $this->yyidx + 0 ]->minor;
2007
+            $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) .
2008
+            $this->yystack[$this->yyidx + 0]->minor;
2009 2009
     }
2010 2010
 
2011 2011
     #line 691 "../smarty/lexer/smarty_internal_templateparser.y"
2012 2012
     function yy_r82()
2013 2013
     {
2014 2014
         $this->_retvalue = $this->compiler->compileTag('private_modifier', array(),
2015
-                                                       array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2016
-                                                             'modifierlist' => $this->yystack[ $this->yyidx +
2017
-                                                                                               0 ]->minor));
2015
+                                                       array('value' => $this->yystack[$this->yyidx + - 1]->minor,
2016
+                                                             'modifierlist' => $this->yystack[$this->yyidx +
2017
+                                                                                               0]->minor));
2018 2018
     }
2019 2019
 
2020 2020
     #line 697 "../smarty/lexer/smarty_internal_templateparser.y"
2021 2021
     function yy_r83()
2022 2022
     {
2023 2023
         $this->_retvalue =
2024
-            $this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ] . $this->yystack[ $this->yyidx + - 2 ]->minor .
2025
-            $this->yystack[ $this->yyidx + - 1 ]->minor[ 'op' ] . $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2024
+            $this->yystack[$this->yyidx + - 1]->minor['pre'] . $this->yystack[$this->yyidx + - 2]->minor .
2025
+            $this->yystack[$this->yyidx + - 1]->minor['op'] . $this->yystack[$this->yyidx + 0]->minor . ')';
2026 2026
     }
2027 2027
 
2028 2028
     #line 701 "../smarty/lexer/smarty_internal_templateparser.y"
2029 2029
     function yy_r84()
2030 2030
     {
2031
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2032
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2031
+        $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor .
2032
+                           $this->yystack[$this->yyidx + 0]->minor;
2033 2033
     }
2034 2034
 
2035 2035
     #line 705 "../smarty/lexer/smarty_internal_templateparser.y"
2036 2036
     function yy_r85()
2037 2037
     {
2038 2038
         $this->_retvalue =
2039
-            $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2039
+            $this->yystack[$this->yyidx + 0]->minor . $this->yystack[$this->yyidx + - 1]->minor . ')';
2040 2040
     }
2041 2041
 
2042 2042
     #line 709 "../smarty/lexer/smarty_internal_templateparser.y"
2043 2043
     function yy_r86()
2044 2044
     {
2045
-        $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' .
2046
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2045
+        $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' .
2046
+                           $this->yystack[$this->yyidx + 0]->minor . ')';
2047 2047
     }
2048 2048
 
2049 2049
     #line 713 "../smarty/lexer/smarty_internal_templateparser.y"
2050 2050
     function yy_r87()
2051 2051
     {
2052
-        $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' .
2053
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2052
+        $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' .
2053
+                           $this->yystack[$this->yyidx + 0]->minor . ')';
2054 2054
     }
2055 2055
 
2056 2056
     #line 721 "../smarty/lexer/smarty_internal_templateparser.y"
2057 2057
     function yy_r88()
2058 2058
     {
2059
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->compiler->compileVariable('\'' .
2060
-                                                                                                                  substr($this->yystack[ $this->yyidx +
2061
-                                                                                                                                         - 2 ]->minor,
2059
+        $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->compiler->compileVariable('\'' .
2060
+                                                                                                                  substr($this->yystack[$this->yyidx +
2061
+                                                                                                                                         - 2]->minor,
2062 2062
                                                                                                                          1) .
2063 2063
                                                                                                                   '\'') .
2064
-                           ' : ' . $this->yystack[ $this->yyidx + 0 ]->minor;
2064
+                           ' : ' . $this->yystack[$this->yyidx + 0]->minor;
2065 2065
     }
2066 2066
 
2067 2067
     #line 725 "../smarty/lexer/smarty_internal_templateparser.y"
2068 2068
     function yy_r89()
2069 2069
     {
2070 2070
         $this->_retvalue =
2071
-            $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->yystack[ $this->yyidx + - 2 ]->minor . ' : ' .
2072
-            $this->yystack[ $this->yyidx + 0 ]->minor;
2071
+            $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' .
2072
+            $this->yystack[$this->yyidx + 0]->minor;
2073 2073
     }
2074 2074
 
2075 2075
     #line 740 "../smarty/lexer/smarty_internal_templateparser.y"
2076 2076
     function yy_r92()
2077 2077
     {
2078
-        $this->_retvalue = '!' . $this->yystack[ $this->yyidx + 0 ]->minor;
2078
+        $this->_retvalue = '!' . $this->yystack[$this->yyidx + 0]->minor;
2079 2079
     }
2080 2080
 
2081 2081
     #line 761 "../smarty/lexer/smarty_internal_templateparser.y"
2082 2082
     function yy_r97()
2083 2083
     {
2084 2084
         $this->_retvalue =
2085
-            $this->yystack[ $this->yyidx + - 2 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2085
+            $this->yystack[$this->yyidx + - 2]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
2086 2086
     }
2087 2087
 
2088 2088
     #line 765 "../smarty/lexer/smarty_internal_templateparser.y"
2089 2089
     function yy_r98()
2090 2090
     {
2091
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '.';
2091
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.';
2092 2092
     }
2093 2093
 
2094 2094
     #line 769 "../smarty/lexer/smarty_internal_templateparser.y"
2095 2095
     function yy_r99()
2096 2096
     {
2097
-        $this->_retvalue = '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2097
+        $this->_retvalue = '.' . $this->yystack[$this->yyidx + 0]->minor;
2098 2098
     }
2099 2099
 
2100 2100
     #line 774 "../smarty/lexer/smarty_internal_templateparser.y"
2101 2101
     function yy_r100()
2102 2102
     {
2103
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
2103
+        if (defined($this->yystack[$this->yyidx + 0]->minor)) {
2104 2104
             if ($this->security) {
2105
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
2105
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
2106 2106
             }
2107
-            $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2107
+            $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2108 2108
         } else {
2109
-            $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
2109
+            $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\'';
2110 2110
         }
2111 2111
     }
2112 2112
 
2113 2113
     #line 791 "../smarty/lexer/smarty_internal_templateparser.y"
2114 2114
     function yy_r102()
2115 2115
     {
2116
-        $this->_retvalue = "(" . $this->yystack[ $this->yyidx + - 1 ]->minor . ")";
2116
+        $this->_retvalue = "(" . $this->yystack[$this->yyidx + - 1]->minor . ")";
2117 2117
     }
2118 2118
 
2119 2119
     #line 795 "../smarty/lexer/smarty_internal_templateparser.y"
2120 2120
     function yy_r103()
2121 2121
     {
2122
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2123
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2122
+        $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor .
2123
+                           $this->yystack[$this->yyidx + 0]->minor;
2124 2124
     }
2125 2125
 
2126 2126
     #line 813 "../smarty/lexer/smarty_internal_templateparser.y"
2127 2127
     function yy_r107()
2128 2128
     {
2129 2129
         $prefixVar = $this->compiler->getNewPrefixVariable();
2130
-        if ($this->yystack[ $this->yyidx + - 2 ]->minor[ 'var' ] == '\'smarty\'') {
2130
+        if ($this->yystack[$this->yyidx + - 2]->minor['var'] == '\'smarty\'') {
2131 2131
             $this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2132 2132
                                               $this->compiler->compileTag('private_special_variable', array(),
2133
-                                                                          $this->yystack[ $this->yyidx +
2134
-                                                                                          - 2 ]->minor[ 'smarty_internal_index' ]) .
2133
+                                                                          $this->yystack[$this->yyidx +
2134
+                                                                                          - 2]->minor['smarty_internal_index']) .
2135 2135
                                               ';?>');
2136 2136
         } else {
2137 2137
             $this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2138
-                                              $this->compiler->compileVariable($this->yystack[ $this->yyidx +
2139
-                                                                                               - 2 ]->minor[ 'var' ]) .
2140
-                                              $this->yystack[ $this->yyidx + - 2 ]->minor[ 'smarty_internal_index' ] .
2138
+                                              $this->compiler->compileVariable($this->yystack[$this->yyidx +
2139
+                                                                                               - 2]->minor['var']) .
2140
+                                              $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index'] .
2141 2141
                                               ';?>');
2142 2142
         }
2143
-        $this->_retvalue = $prefixVar . '::' . $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2144
-                           $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2143
+        $this->_retvalue = $prefixVar . '::' . $this->yystack[$this->yyidx + 0]->minor[0] .
2144
+                           $this->yystack[$this->yyidx + 0]->minor[1];
2145 2145
     }
2146 2146
 
2147 2147
     #line 824 "../smarty/lexer/smarty_internal_templateparser.y"
2148 2148
     function yy_r108()
2149 2149
     {
2150 2150
         $prefixVar = $this->compiler->getNewPrefixVariable();
2151
-        $tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[ $this->yyidx + 0 ]->minor);
2151
+        $tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[$this->yyidx + 0]->minor);
2152 2152
         $this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php $prefixVar" . '=ob_get_clean();?>'));
2153 2153
         $this->_retvalue = $prefixVar;
2154 2154
     }
@@ -2156,22 +2156,22 @@  discard block
 block discarded – undo
2156 2156
     #line 841 "../smarty/lexer/smarty_internal_templateparser.y"
2157 2157
     function yy_r111()
2158 2158
     {
2159
-        if (!in_array(strtolower($this->yystack[ $this->yyidx + - 2 ]->minor), array('self', 'parent')) &&
2159
+        if (!in_array(strtolower($this->yystack[$this->yyidx + - 2]->minor), array('self', 'parent')) &&
2160 2160
             (!$this->security ||
2161
-             $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + - 2 ]->minor,
2162
-                                                         $this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler))
2161
+             $this->security->isTrustedStaticClassAccess($this->yystack[$this->yyidx + - 2]->minor,
2162
+                                                         $this->yystack[$this->yyidx + 0]->minor, $this->compiler))
2163 2163
         ) {
2164
-            if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ])) {
2164
+            if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor])) {
2165 2165
                 $this->_retvalue =
2166
-                    $this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ] . '::' .
2167
-                    $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] . $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2166
+                    $this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor] . '::' .
2167
+                    $this->yystack[$this->yyidx + 0]->minor[0] . $this->yystack[$this->yyidx + 0]->minor[1];
2168 2168
             } else {
2169
-                $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . '::' .
2170
-                                   $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2171
-                                   $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2169
+                $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '::' .
2170
+                                   $this->yystack[$this->yyidx + 0]->minor[0] .
2171
+                                   $this->yystack[$this->yyidx + 0]->minor[1];
2172 2172
             }
2173 2173
         } else {
2174
-            $this->compiler->trigger_template_error("static class '" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2174
+            $this->compiler->trigger_template_error("static class '" . $this->yystack[$this->yyidx + - 2]->minor .
2175 2175
                                                     "' is undefined or not allowed by security setting");
2176 2176
         }
2177 2177
     }
@@ -2179,82 +2179,82 @@  discard block
 block discarded – undo
2179 2179
     #line 860 "../smarty/lexer/smarty_internal_templateparser.y"
2180 2180
     function yy_r113()
2181 2181
     {
2182
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2182
+        $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2183 2183
     }
2184 2184
 
2185 2185
     #line 871 "../smarty/lexer/smarty_internal_templateparser.y"
2186 2186
     function yy_r114()
2187 2187
     {
2188 2188
         $this->_retvalue =
2189
-            $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'');
2189
+            $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\'');
2190 2190
     }
2191 2191
 
2192 2192
     #line 874 "../smarty/lexer/smarty_internal_templateparser.y"
2193 2193
     function yy_r115()
2194 2194
     {
2195
-        if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] == '\'smarty\'') {
2195
+        if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
2196 2196
             $smarty_var = $this->compiler->compileTag('private_special_variable', array(),
2197
-                                                      $this->yystack[ $this->yyidx +
2198
-                                                                      0 ]->minor[ 'smarty_internal_index' ]);
2197
+                                                      $this->yystack[$this->yyidx +
2198
+                                                                      0]->minor['smarty_internal_index']);
2199 2199
             $this->_retvalue = $smarty_var;
2200 2200
         } else {
2201 2201
             // used for array reset,next,prev,end,current
2202
-            $this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
2203
-            $this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2204
-            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
2205
-                               $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2202
+            $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
2203
+            $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2204
+            $this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']) .
2205
+                               $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2206 2206
         }
2207 2207
     }
2208 2208
 
2209 2209
     #line 887 "../smarty/lexer/smarty_internal_templateparser.y"
2210 2210
     function yy_r116()
2211 2211
     {
2212
-        $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[ $this->yyidx + - 2 ]->minor . ']->' .
2213
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2212
+        $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' .
2213
+                           $this->yystack[$this->yyidx + 0]->minor;
2214 2214
     }
2215 2215
 
2216 2216
     #line 897 "../smarty/lexer/smarty_internal_templateparser.y"
2217 2217
     function yy_r118()
2218 2218
     {
2219 2219
         $this->_retvalue =
2220
-            $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 1 ]->minor . "'");
2220
+            $this->compiler->compileConfigVariable("'" . $this->yystack[$this->yyidx + - 1]->minor . "'");
2221 2221
     }
2222 2222
 
2223 2223
     #line 901 "../smarty/lexer/smarty_internal_templateparser.y"
2224 2224
     function yy_r119()
2225 2225
     {
2226 2226
         $this->_retvalue = '(is_array($tmp = ' .
2227
-                           $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2227
+                           $this->compiler->compileConfigVariable("'" . $this->yystack[$this->yyidx + - 2]->minor .
2228 2228
                                                                   "'") . ') ? $tmp' .
2229
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ' :null)';
2229
+                           $this->yystack[$this->yyidx + 0]->minor . ' :null)';
2230 2230
     }
2231 2231
 
2232 2232
     #line 905 "../smarty/lexer/smarty_internal_templateparser.y"
2233 2233
     function yy_r120()
2234 2234
     {
2235
-        $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 1 ]->minor);
2235
+        $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + - 1]->minor);
2236 2236
     }
2237 2237
 
2238 2238
     #line 909 "../smarty/lexer/smarty_internal_templateparser.y"
2239 2239
     function yy_r121()
2240 2240
     {
2241 2241
         $this->_retvalue =
2242
-            '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 2 ]->minor) .
2243
-            ') ? $tmp' . $this->yystack[ $this->yyidx + 0 ]->minor . ' : null)';
2242
+            '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + - 2]->minor) .
2243
+            ') ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)';
2244 2244
     }
2245 2245
 
2246 2246
     #line 913 "../smarty/lexer/smarty_internal_templateparser.y"
2247 2247
     function yy_r122()
2248 2248
     {
2249
-        $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'',
2250
-                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2249
+        $this->_retvalue = array('var' => '\'' . substr($this->yystack[$this->yyidx + - 1]->minor, 1) . '\'',
2250
+                                 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor);
2251 2251
     }
2252 2252
 
2253 2253
     #line 916 "../smarty/lexer/smarty_internal_templateparser.y"
2254 2254
     function yy_r123()
2255 2255
     {
2256
-        $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2257
-                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2256
+        $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor,
2257
+                                 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor);
2258 2258
     }
2259 2259
 
2260 2260
     #line 929 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2267,47 +2267,47 @@  discard block
 block discarded – undo
2267 2267
     function yy_r126()
2268 2268
     {
2269 2269
         $this->_retvalue =
2270
-            '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'') .
2270
+            '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\'') .
2271 2271
             ']';
2272 2272
     }
2273 2273
 
2274 2274
     #line 938 "../smarty/lexer/smarty_internal_templateparser.y"
2275 2275
     function yy_r127()
2276 2276
     {
2277
-        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
2277
+        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']';
2278 2278
     }
2279 2279
 
2280 2280
     #line 942 "../smarty/lexer/smarty_internal_templateparser.y"
2281 2281
     function yy_r128()
2282 2282
     {
2283
-        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 2 ]->minor) . '->' .
2284
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2283
+        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' .
2284
+                           $this->yystack[$this->yyidx + 0]->minor . ']';
2285 2285
     }
2286 2286
 
2287 2287
     #line 946 "../smarty/lexer/smarty_internal_templateparser.y"
2288 2288
     function yy_r129()
2289 2289
     {
2290
-        $this->_retvalue = "['" . $this->yystack[ $this->yyidx + 0 ]->minor . "']";
2290
+        $this->_retvalue = "['" . $this->yystack[$this->yyidx + 0]->minor . "']";
2291 2291
     }
2292 2292
 
2293 2293
     #line 950 "../smarty/lexer/smarty_internal_templateparser.y"
2294 2294
     function yy_r130()
2295 2295
     {
2296
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2296
+        $this->_retvalue = '[' . $this->yystack[$this->yyidx + 0]->minor . ']';
2297 2297
     }
2298 2298
 
2299 2299
     #line 955 "../smarty/lexer/smarty_internal_templateparser.y"
2300 2300
     function yy_r131()
2301 2301
     {
2302
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2302
+        $this->_retvalue = '[' . $this->yystack[$this->yyidx + - 1]->minor . ']';
2303 2303
     }
2304 2304
 
2305 2305
     #line 960 "../smarty/lexer/smarty_internal_templateparser.y"
2306 2306
     function yy_r132()
2307 2307
     {
2308 2308
         $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2309
-                                                                                                  $this->yystack[ $this->yyidx +
2310
-                                                                                                                  - 1 ]->minor .
2309
+                                                                                                  $this->yystack[$this->yyidx +
2310
+                                                                                                                  - 1]->minor .
2311 2311
                                                                                                   '\'][\'index\']') .
2312 2312
                            ']';
2313 2313
     }
@@ -2316,26 +2316,26 @@  discard block
 block discarded – undo
2316 2316
     function yy_r133()
2317 2317
     {
2318 2318
         $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2319
-                                                                                                  $this->yystack[ $this->yyidx +
2320
-                                                                                                                  - 3 ]->minor .
2319
+                                                                                                  $this->yystack[$this->yyidx +
2320
+                                                                                                                  - 3]->minor .
2321 2321
                                                                                                   '\'][\'' .
2322
-                                                                                                  $this->yystack[ $this->yyidx +
2323
-                                                                                                                  - 1 ]->minor .
2322
+                                                                                                  $this->yystack[$this->yyidx +
2323
+                                                                                                                  - 1]->minor .
2324 2324
                                                                                                   '\']') . ']';
2325 2325
     }
2326 2326
 
2327 2327
     #line 967 "../smarty/lexer/smarty_internal_templateparser.y"
2328 2328
     function yy_r134()
2329 2329
     {
2330
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2330
+        $this->_retvalue = '[' . $this->yystack[$this->yyidx + - 1]->minor . ']';
2331 2331
     }
2332 2332
 
2333 2333
     #line 973 "../smarty/lexer/smarty_internal_templateparser.y"
2334 2334
     function yy_r136()
2335 2335
     {
2336 2336
         $this->_retvalue = '[' . $this->compiler->compileVariable('\'' .
2337
-                                                                  substr($this->yystack[ $this->yyidx + - 1 ]->minor,
2338
-                                                                         1) . '\'') . ']';;
2337
+                                                                  substr($this->yystack[$this->yyidx + - 1]->minor,
2338
+                                                                         1) . '\'') . ']'; ;
2339 2339
     }
2340 2340
 
2341 2341
     #line 989 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2347,7 +2347,7 @@  discard block
 block discarded – undo
2347 2347
     #line 999 "../smarty/lexer/smarty_internal_templateparser.y"
2348 2348
     function yy_r141()
2349 2349
     {
2350
-        $this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'';
2350
+        $this->_retvalue = '\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\'';
2351 2351
     }
2352 2352
 
2353 2353
     #line 1003 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2360,14 +2360,14 @@  discard block
 block discarded – undo
2360 2360
     function yy_r143()
2361 2361
     {
2362 2362
         $this->_retvalue =
2363
-            $this->yystack[ $this->yyidx + - 1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2363
+            $this->yystack[$this->yyidx + - 1]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
2364 2364
     }
2365 2365
 
2366 2366
     #line 1016 "../smarty/lexer/smarty_internal_templateparser.y"
2367 2367
     function yy_r145()
2368 2368
     {
2369 2369
         $var =
2370
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
2370
+            trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
2371 2371
                  ' $');
2372 2372
         $this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\'');
2373 2373
     }
@@ -2375,44 +2375,44 @@  discard block
 block discarded – undo
2375 2375
     #line 1022 "../smarty/lexer/smarty_internal_templateparser.y"
2376 2376
     function yy_r146()
2377 2377
     {
2378
-        $this->_retvalue = '(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2378
+        $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
2379 2379
     }
2380 2380
 
2381 2381
     #line 1029 "../smarty/lexer/smarty_internal_templateparser.y"
2382 2382
     function yy_r147()
2383 2383
     {
2384
-        if ($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ] == '\'smarty\'') {
2384
+        if ($this->yystack[$this->yyidx + - 1]->minor['var'] == '\'smarty\'') {
2385 2385
             $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(),
2386
-                                                           $this->yystack[ $this->yyidx +
2387
-                                                                           - 1 ]->minor[ 'smarty_internal_index' ]) .
2388
-                               $this->yystack[ $this->yyidx + 0 ]->minor;
2386
+                                                           $this->yystack[$this->yyidx +
2387
+                                                                           - 1]->minor['smarty_internal_index']) .
2388
+                               $this->yystack[$this->yyidx + 0]->minor;
2389 2389
         } else {
2390
-            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ]) .
2391
-                               $this->yystack[ $this->yyidx + - 1 ]->minor[ 'smarty_internal_index' ] .
2392
-                               $this->yystack[ $this->yyidx + 0 ]->minor;
2390
+            $this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + - 1]->minor['var']) .
2391
+                               $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index'] .
2392
+                               $this->yystack[$this->yyidx + 0]->minor;
2393 2393
         }
2394 2394
     }
2395 2395
 
2396 2396
     #line 1038 "../smarty/lexer/smarty_internal_templateparser.y"
2397 2397
     function yy_r148()
2398 2398
     {
2399
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2399
+        $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2400 2400
     }
2401 2401
 
2402 2402
     #line 1043 "../smarty/lexer/smarty_internal_templateparser.y"
2403 2403
     function yy_r149()
2404 2404
     {
2405
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2405
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
2406 2406
     }
2407 2407
 
2408 2408
     #line 1048 "../smarty/lexer/smarty_internal_templateparser.y"
2409 2409
     function yy_r150()
2410 2410
     {
2411
-        if ($this->security && substr($this->yystack[ $this->yyidx + - 1 ]->minor, 0, 1) == '_') {
2411
+        if ($this->security && substr($this->yystack[$this->yyidx + - 1]->minor, 0, 1) == '_') {
2412 2412
             $this->compiler->trigger_template_error(self::Err1);
2413 2413
         }
2414 2414
         $this->_retvalue =
2415
-            '->' . $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2415
+            '->' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
2416 2416
     }
2417 2417
 
2418 2418
     #line 1055 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2421,8 +2421,8 @@  discard block
 block discarded – undo
2421 2421
         if ($this->security) {
2422 2422
             $this->compiler->trigger_template_error(self::Err2);
2423 2423
         }
2424
-        $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor) .
2425
-                           $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2424
+        $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[$this->yyidx + - 1]->minor) .
2425
+                           $this->yystack[$this->yyidx + 0]->minor . '}';
2426 2426
     }
2427 2427
 
2428 2428
     #line 1062 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2432,7 +2432,7 @@  discard block
 block discarded – undo
2432 2432
             $this->compiler->trigger_template_error(self::Err2);
2433 2433
         }
2434 2434
         $this->_retvalue =
2435
-            '->{' . $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2435
+            '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
2436 2436
     }
2437 2437
 
2438 2438
     #line 1069 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2441,34 +2441,34 @@  discard block
 block discarded – undo
2441 2441
         if ($this->security) {
2442 2442
             $this->compiler->trigger_template_error(self::Err2);
2443 2443
         }
2444
-        $this->_retvalue = '->{\'' . $this->yystack[ $this->yyidx + - 4 ]->minor . '\'.' .
2445
-                           $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor .
2444
+        $this->_retvalue = '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' .
2445
+                           $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor .
2446 2446
                            '}';
2447 2447
     }
2448 2448
 
2449 2449
     #line 1077 "../smarty/lexer/smarty_internal_templateparser.y"
2450 2450
     function yy_r154()
2451 2451
     {
2452
-        $this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
2452
+        $this->_retvalue = '->' . $this->yystack[$this->yyidx + 0]->minor;
2453 2453
     }
2454 2454
 
2455 2455
     #line 1085 "../smarty/lexer/smarty_internal_templateparser.y"
2456 2456
     function yy_r155()
2457 2457
     {
2458 2458
         if (!$this->security ||
2459
-            $this->security->isTrustedPhpFunction($this->yystack[ $this->yyidx + - 3 ]->minor, $this->compiler)
2459
+            $this->security->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler)
2460 2460
         ) {
2461
-            if (strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'isset') === 0 ||
2462
-                strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'empty') === 0 ||
2463
-                strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'array') === 0 ||
2464
-                is_callable($this->yystack[ $this->yyidx + - 3 ]->minor)
2461
+            if (strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'isset') === 0 ||
2462
+                strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'empty') === 0 ||
2463
+                strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'array') === 0 ||
2464
+                is_callable($this->yystack[$this->yyidx + - 3]->minor)
2465 2465
             ) {
2466
-                $func_name = strtolower($this->yystack[ $this->yyidx + - 3 ]->minor);
2466
+                $func_name = strtolower($this->yystack[$this->yyidx + - 3]->minor);
2467 2467
                 if ($func_name == 'isset') {
2468
-                    if (count($this->yystack[ $this->yyidx + - 1 ]->minor) == 0) {
2468
+                    if (count($this->yystack[$this->yyidx + - 1]->minor) == 0) {
2469 2469
                         $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
2470 2470
                     }
2471
-                    $par = implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor);
2471
+                    $par = implode(',', $this->yystack[$this->yyidx + - 1]->minor);
2472 2472
                     if (strncasecmp($par, '$_smarty_tpl->smarty->ext->_config->_getConfigVariable',
2473 2473
                                     strlen('$_smarty_tpl->smarty->ext->_config->_getConfigVariable')) === 0
2474 2474
                     ) {
@@ -2479,25 +2479,25 @@  discard block
 block discarded – undo
2479 2479
                     } else {
2480 2480
                         $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
2481 2481
                     }
2482
-                    $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" . $isset_par . ")";
2482
+                    $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . $isset_par . ")";
2483 2483
                 } elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
2484
-                    if (count($this->yystack[ $this->yyidx + - 1 ]->minor) != 1) {
2484
+                    if (count($this->yystack[$this->yyidx + - 1]->minor) != 1) {
2485 2485
                         $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
2486 2486
                     }
2487 2487
                     if ($func_name == 'empty') {
2488 2488
                         $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value",
2489
-                                                                          $this->yystack[ $this->yyidx +
2490
-                                                                                          - 1 ]->minor[ 0 ]) . ')';
2489
+                                                                          $this->yystack[$this->yyidx +
2490
+                                                                                          - 1]->minor[0]) . ')';
2491 2491
                     } else {
2492
-                        $this->_retvalue = $func_name . '(' . $this->yystack[ $this->yyidx + - 1 ]->minor[ 0 ] . ')';
2492
+                        $this->_retvalue = $func_name . '(' . $this->yystack[$this->yyidx + - 1]->minor[0] . ')';
2493 2493
                     }
2494 2494
                 } else {
2495
-                    $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2496
-                                       implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2495
+                    $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" .
2496
+                                       implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
2497 2497
                 }
2498 2498
             } else {
2499 2499
                 $this->compiler->trigger_template_error("unknown function \"" .
2500
-                                                        $this->yystack[ $this->yyidx + - 3 ]->minor . "\"");
2500
+                                                        $this->yystack[$this->yyidx + - 3]->minor . "\"");
2501 2501
             }
2502 2502
         }
2503 2503
     }
@@ -2505,11 +2505,11 @@  discard block
 block discarded – undo
2505 2505
     #line 1124 "../smarty/lexer/smarty_internal_templateparser.y"
2506 2506
     function yy_r156()
2507 2507
     {
2508
-        if ($this->security && substr($this->yystack[ $this->yyidx + - 3 ]->minor, 0, 1) == '_') {
2508
+        if ($this->security && substr($this->yystack[$this->yyidx + - 3]->minor, 0, 1) == '_') {
2509 2509
             $this->compiler->trigger_template_error(self::Err1);
2510 2510
         }
2511
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2512
-                           implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2511
+        $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" .
2512
+                           implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
2513 2513
     }
2514 2514
 
2515 2515
     #line 1131 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2520,86 +2520,86 @@  discard block
 block discarded – undo
2520 2520
         }
2521 2521
         $prefixVar = $this->compiler->getNewPrefixVariable();
2522 2522
         $this->compiler->appendPrefixCode("<?php $prefixVar" . '=' . $this->compiler->compileVariable('\'' .
2523
-                                                                                                      substr($this->yystack[ $this->yyidx +
2524
-                                                                                                                             - 3 ]->minor,
2523
+                                                                                                      substr($this->yystack[$this->yyidx +
2524
+                                                                                                                             - 3]->minor,
2525 2525
                                                                                                              1) .
2526 2526
                                                                                                       '\'') . ';?>');
2527
-        $this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ')';
2527
+        $this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')';
2528 2528
     }
2529 2529
 
2530 2530
     #line 1142 "../smarty/lexer/smarty_internal_templateparser.y"
2531 2531
     function yy_r158()
2532 2532
     {
2533 2533
         $this->_retvalue =
2534
-            array_merge($this->yystack[ $this->yyidx + - 2 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor));
2534
+            array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor));
2535 2535
     }
2536 2536
 
2537 2537
     #line 1159 "../smarty/lexer/smarty_internal_templateparser.y"
2538 2538
     function yy_r161()
2539 2539
     {
2540
-        $this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 2 ]->minor,
2541
-                                       array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor,
2542
-                                                         $this->yystack[ $this->yyidx + 0 ]->minor)));
2540
+        $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor,
2541
+                                       array(array_merge($this->yystack[$this->yyidx + - 1]->minor,
2542
+                                                         $this->yystack[$this->yyidx + 0]->minor)));
2543 2543
     }
2544 2544
 
2545 2545
     #line 1163 "../smarty/lexer/smarty_internal_templateparser.y"
2546 2546
     function yy_r162()
2547 2547
     {
2548 2548
         $this->_retvalue =
2549
-            array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor));
2549
+            array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor));
2550 2550
     }
2551 2551
 
2552 2552
     #line 1171 "../smarty/lexer/smarty_internal_templateparser.y"
2553 2553
     function yy_r164()
2554 2554
     {
2555
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
2555
+        $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
2556 2556
     }
2557 2557
 
2558 2558
     #line 1179 "../smarty/lexer/smarty_internal_templateparser.y"
2559 2559
     function yy_r165()
2560 2560
     {
2561 2561
         $this->_retvalue =
2562
-            array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
2562
+            array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
2563 2563
     }
2564 2564
 
2565 2565
     #line 1198 "../smarty/lexer/smarty_internal_templateparser.y"
2566 2566
     function yy_r169()
2567 2567
     {
2568
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method');
2568
+        $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '', 'method');
2569 2569
     }
2570 2570
 
2571 2571
     #line 1203 "../smarty/lexer/smarty_internal_templateparser.y"
2572 2572
     function yy_r170()
2573 2573
     {
2574 2574
         $this->_retvalue =
2575
-            array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method');
2575
+            array($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'method');
2576 2576
     }
2577 2577
 
2578 2578
     #line 1208 "../smarty/lexer/smarty_internal_templateparser.y"
2579 2579
     function yy_r171()
2580 2580
     {
2581
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '');
2581
+        $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '');
2582 2582
     }
2583 2583
 
2584 2584
     #line 1213 "../smarty/lexer/smarty_internal_templateparser.y"
2585 2585
     function yy_r172()
2586 2586
     {
2587 2587
         $this->_retvalue =
2588
-            array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2588
+            array($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'property');
2589 2589
     }
2590 2590
 
2591 2591
     #line 1218 "../smarty/lexer/smarty_internal_templateparser.y"
2592 2592
     function yy_r173()
2593 2593
     {
2594
-        $this->_retvalue = array($this->yystack[ $this->yyidx + - 2 ]->minor,
2595
-                                 $this->yystack[ $this->yyidx + - 1 ]->minor .
2596
-                                 $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2594
+        $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor,
2595
+                                 $this->yystack[$this->yyidx + - 1]->minor .
2596
+                                 $this->yystack[$this->yyidx + 0]->minor, 'property');
2597 2597
     }
2598 2598
 
2599 2599
     #line 1224 "../smarty/lexer/smarty_internal_templateparser.y"
2600 2600
     function yy_r174()
2601 2601
     {
2602
-        $this->_retvalue = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' ';
2602
+        $this->_retvalue = ' ' . trim($this->yystack[$this->yyidx + 0]->minor) . ' ';
2603 2603
     }
2604 2604
 
2605 2605
     #line 1228 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2609,8 +2609,8 @@  discard block
 block discarded – undo
2609 2609
             array('eq' => ' == ', 'ne' => ' != ', 'neq' => ' != ', 'gt' => ' > ', 'ge' => ' >= ', 'gte' => ' >= ',
2610 2610
                   'lt' => ' < ', 'le' => ' <= ', 'lte' => ' <= ', 'mod' => ' % ', 'and' => ' && ', 'or' => ' || ',
2611 2611
                   'xor' => ' xor ',);
2612
-        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2613
-        $this->_retvalue = $lops[ $op ];
2612
+        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor));
2613
+        $this->_retvalue = $lops[$op];
2614 2614
     }
2615 2615
 
2616 2616
     #line 1247 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2622,8 +2622,8 @@  discard block
 block discarded – undo
2622 2622
                   'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
2623 2623
                   'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
2624 2624
                   'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),);
2625
-        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2626
-        $this->_retvalue = $tlops[ $op ];
2625
+        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor));
2626
+        $this->_retvalue = $tlops[$op];
2627 2627
     }
2628 2628
 
2629 2629
     #line 1260 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2631,67 +2631,67 @@  discard block
 block discarded – undo
2631 2631
     {
2632 2632
         static $scond =
2633 2633
             array('iseven' => '!(1 & ', 'isnoteven' => '(1 & ', 'isodd' => '(1 & ', 'isnotodd' => '!(1 & ',);
2634
-        $op = strtolower(str_replace(' ', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2635
-        $this->_retvalue = $scond[ $op ];
2634
+        $op = strtolower(str_replace(' ', '', $this->yystack[$this->yyidx + 0]->minor));
2635
+        $this->_retvalue = $scond[$op];
2636 2636
     }
2637 2637
 
2638 2638
     #line 1274 "../smarty/lexer/smarty_internal_templateparser.y"
2639 2639
     function yy_r178()
2640 2640
     {
2641
-        $this->_retvalue = 'array(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2641
+        $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
2642 2642
     }
2643 2643
 
2644 2644
     #line 1282 "../smarty/lexer/smarty_internal_templateparser.y"
2645 2645
     function yy_r180()
2646 2646
     {
2647 2647
         $this->_retvalue =
2648
-            $this->yystack[ $this->yyidx + - 2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor;
2648
+            $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor;
2649 2649
     }
2650 2650
 
2651 2651
     #line 1290 "../smarty/lexer/smarty_internal_templateparser.y"
2652 2652
     function yy_r182()
2653 2653
     {
2654 2654
         $this->_retvalue =
2655
-            $this->yystack[ $this->yyidx + - 2 ]->minor . '=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2655
+            $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor;
2656 2656
     }
2657 2657
 
2658 2658
     #line 1294 "../smarty/lexer/smarty_internal_templateparser.y"
2659 2659
     function yy_r183()
2660 2660
     {
2661 2661
         $this->_retvalue =
2662
-            '\'' . $this->yystack[ $this->yyidx + - 2 ]->minor . '\'=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2662
+            '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor;
2663 2663
     }
2664 2664
 
2665 2665
     #line 1310 "../smarty/lexer/smarty_internal_templateparser.y"
2666 2666
     function yy_r186()
2667 2667
     {
2668
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor->to_smarty_php($this);
2668
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php($this);
2669 2669
     }
2670 2670
 
2671 2671
     #line 1315 "../smarty/lexer/smarty_internal_templateparser.y"
2672 2672
     function yy_r187()
2673 2673
     {
2674
-        $this->yystack[ $this->yyidx + - 1 ]->minor->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2675
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
2674
+        $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor);
2675
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
2676 2676
     }
2677 2677
 
2678 2678
     #line 1320 "../smarty/lexer/smarty_internal_templateparser.y"
2679 2679
     function yy_r188()
2680 2680
     {
2681
-        $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2681
+        $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[$this->yyidx + 0]->minor);
2682 2682
     }
2683 2683
 
2684 2684
     #line 1324 "../smarty/lexer/smarty_internal_templateparser.y"
2685 2685
     function yy_r189()
2686 2686
     {
2687
-        $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[ $this->yyidx + - 1 ]->minor);
2687
+        $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[$this->yyidx + - 1]->minor);
2688 2688
     }
2689 2689
 
2690 2690
     #line 1332 "../smarty/lexer/smarty_internal_templateparser.y"
2691 2691
     function yy_r191()
2692 2692
     {
2693 2693
         $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' .
2694
-                                                              substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) .
2694
+                                                              substr($this->yystack[$this->yyidx + 0]->minor, 1) .
2695 2695
                                                               '\']->value');
2696 2696
     }
2697 2697
 
@@ -2699,19 +2699,19 @@  discard block
 block discarded – undo
2699 2699
     function yy_r193()
2700 2700
     {
2701 2701
         $this->_retvalue =
2702
-            new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')');
2702
+            new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')');
2703 2703
     }
2704 2704
 
2705 2705
     #line 1344 "../smarty/lexer/smarty_internal_templateparser.y"
2706 2706
     function yy_r194()
2707 2707
     {
2708
-        $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2708
+        $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[$this->yyidx + 0]->minor);
2709 2709
     }
2710 2710
 
2711 2711
     #line 1348 "../smarty/lexer/smarty_internal_templateparser.y"
2712 2712
     function yy_r195()
2713 2713
     {
2714
-        $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[ $this->yyidx + 0 ]->minor);
2714
+        $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[$this->yyidx + 0]->minor);
2715 2715
     }
2716 2716
 
2717 2717
     private $_retvalue;
@@ -2720,32 +2720,32 @@  discard block
 block discarded – undo
2720 2720
     {
2721 2721
         if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < count(self::$yyRuleName)) {
2722 2722
             fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno,
2723
-                    self::$yyRuleName[ $yyruleno ]);
2723
+                    self::$yyRuleName[$yyruleno]);
2724 2724
         }
2725 2725
 
2726 2726
         $this->_retvalue = $yy_lefthand_side = null;
2727
-        if (isset(self::$yyReduceMap[ $yyruleno ])) {
2727
+        if (isset(self::$yyReduceMap[$yyruleno])) {
2728 2728
             // call the action
2729 2729
             $this->_retvalue = null;
2730
-            $this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
2730
+            $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
2731 2731
             $yy_lefthand_side = $this->_retvalue;
2732 2732
         }
2733
-        $yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
2734
-        $yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
2733
+        $yygoto = self::$yyRuleInfo[$yyruleno][0];
2734
+        $yysize = self::$yyRuleInfo[$yyruleno][1];
2735 2735
         $this->yyidx -= $yysize;
2736
-        for ($i = $yysize; $i; $i --) {
2736
+        for ($i = $yysize; $i; $i--) {
2737 2737
             // pop all of the right-hand side parameters
2738 2738
             array_pop($this->yystack);
2739 2739
         }
2740
-        $yyact = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno, $yygoto);
2740
+        $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
2741 2741
         if ($yyact < self::YYNSTATE) {
2742 2742
             if (!$this->yyTraceFILE && $yysize) {
2743
-                $this->yyidx ++;
2743
+                $this->yyidx++;
2744 2744
                 $x = new TP_yyStackEntry;
2745 2745
                 $x->stateno = $yyact;
2746 2746
                 $x->major = $yygoto;
2747 2747
                 $x->minor = $yy_lefthand_side;
2748
-                $this->yystack[ $this->yyidx ] = $x;
2748
+                $this->yystack[$this->yyidx] = $x;
2749 2749
             } else {
2750 2750
                 $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2751 2751
             }
@@ -2790,7 +2790,7 @@  discard block
 block discarded – undo
2790 2790
 
2791 2791
     public function doParse($yymajor, $yytokenvalue)
2792 2792
     {
2793
-        $yyerrorhit = 0;   /* True if yymajor has invoked an error */
2793
+        $yyerrorhit = 0; /* True if yymajor has invoked an error */
2794 2794
 
2795 2795
         if ($this->yyidx === null || $this->yyidx < 0) {
2796 2796
             $this->yyidx = 0;
@@ -2804,7 +2804,7 @@  discard block
 block discarded – undo
2804 2804
         $yyendofinput = ($yymajor == 0);
2805 2805
 
2806 2806
         if ($this->yyTraceFILE) {
2807
-            fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[ $yymajor ]);
2807
+            fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
2808 2808
         }
2809 2809
 
2810 2810
         do {
@@ -2815,7 +2815,7 @@  discard block
 block discarded – undo
2815 2815
             }
2816 2816
             if ($yyact < self::YYNSTATE) {
2817 2817
                 $this->yy_shift($yyact, $yymajor, $yytokenvalue);
2818
-                $this->yyerrcnt --;
2818
+                $this->yyerrcnt--;
2819 2819
                 if ($yyendofinput && $this->yyidx >= 0) {
2820 2820
                     $yymajor = 0;
2821 2821
                 } else {
@@ -2831,11 +2831,11 @@  discard block
 block discarded – undo
2831 2831
                     if ($this->yyerrcnt < 0) {
2832 2832
                         $this->yy_syntax_error($yymajor, $yytokenvalue);
2833 2833
                     }
2834
-                    $yymx = $this->yystack[ $this->yyidx ]->major;
2834
+                    $yymx = $this->yystack[$this->yyidx]->major;
2835 2835
                     if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
2836 2836
                         if ($this->yyTraceFILE) {
2837 2837
                             fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt,
2838
-                                    $this->yyTokenName[ $yymajor ]);
2838
+                                    $this->yyTokenName[$yymajor]);
2839 2839
                         }
2840 2840
                         $this->yy_destructor($yymajor, $yytokenvalue);
2841 2841
                         $yymajor = self::YYNOCODE;
Please login to merge, or discard this patch.
Indentation   +2779 added lines, -2779 removed lines patch added patch discarded remove patch
@@ -2,75 +2,75 @@  discard block
 block discarded – undo
2 2
 
3 3
 class TP_yyToken implements ArrayAccess
4 4
 {
5
-    public $string = '';
6
-
7
-    public $metadata = array();
8
-
9
-    public function __construct($s, $m = array())
10
-    {
11
-        if ($s instanceof TP_yyToken) {
12
-            $this->string = $s->string;
13
-            $this->metadata = $s->metadata;
14
-        } else {
15
-            $this->string = (string) $s;
16
-            if ($m instanceof TP_yyToken) {
17
-                $this->metadata = $m->metadata;
18
-            } elseif (is_array($m)) {
19
-                $this->metadata = $m;
20
-            }
21
-        }
22
-    }
23
-
24
-    public function __toString()
25
-    {
26
-        return $this->string;
27
-    }
28
-
29
-    public function offsetExists($offset)
30
-    {
31
-        return isset($this->metadata[ $offset ]);
32
-    }
33
-
34
-    public function offsetGet($offset)
35
-    {
36
-        return $this->metadata[ $offset ];
37
-    }
38
-
39
-    public function offsetSet($offset, $value)
40
-    {
41
-        if ($offset === null) {
42
-            if (isset($value[ 0 ])) {
43
-                $x = ($value instanceof TP_yyToken) ? $value->metadata : $value;
44
-                $this->metadata = array_merge($this->metadata, $x);
45
-
46
-                return;
47
-            }
48
-            $offset = count($this->metadata);
49
-        }
50
-        if ($value === null) {
51
-            return;
52
-        }
53
-        if ($value instanceof TP_yyToken) {
54
-            if ($value->metadata) {
55
-                $this->metadata[ $offset ] = $value->metadata;
56
-            }
57
-        } elseif ($value) {
58
-            $this->metadata[ $offset ] = $value;
59
-        }
60
-    }
61
-
62
-    public function offsetUnset($offset)
63
-    {
64
-        unset($this->metadata[ $offset ]);
65
-    }
5
+	public $string = '';
6
+
7
+	public $metadata = array();
8
+
9
+	public function __construct($s, $m = array())
10
+	{
11
+		if ($s instanceof TP_yyToken) {
12
+			$this->string = $s->string;
13
+			$this->metadata = $s->metadata;
14
+		} else {
15
+			$this->string = (string) $s;
16
+			if ($m instanceof TP_yyToken) {
17
+				$this->metadata = $m->metadata;
18
+			} elseif (is_array($m)) {
19
+				$this->metadata = $m;
20
+			}
21
+		}
22
+	}
23
+
24
+	public function __toString()
25
+	{
26
+		return $this->string;
27
+	}
28
+
29
+	public function offsetExists($offset)
30
+	{
31
+		return isset($this->metadata[ $offset ]);
32
+	}
33
+
34
+	public function offsetGet($offset)
35
+	{
36
+		return $this->metadata[ $offset ];
37
+	}
38
+
39
+	public function offsetSet($offset, $value)
40
+	{
41
+		if ($offset === null) {
42
+			if (isset($value[ 0 ])) {
43
+				$x = ($value instanceof TP_yyToken) ? $value->metadata : $value;
44
+				$this->metadata = array_merge($this->metadata, $x);
45
+
46
+				return;
47
+			}
48
+			$offset = count($this->metadata);
49
+		}
50
+		if ($value === null) {
51
+			return;
52
+		}
53
+		if ($value instanceof TP_yyToken) {
54
+			if ($value->metadata) {
55
+				$this->metadata[ $offset ] = $value->metadata;
56
+			}
57
+		} elseif ($value) {
58
+			$this->metadata[ $offset ] = $value;
59
+		}
60
+	}
61
+
62
+	public function offsetUnset($offset)
63
+	{
64
+		unset($this->metadata[ $offset ]);
65
+	}
66 66
 }
67 67
 
68 68
 class TP_yyStackEntry
69 69
 {
70
-    public $stateno;       /* The state-number */
71
-    public $major;         /* The major token value.  This is the code
70
+	public $stateno;       /* The state-number */
71
+	public $major;         /* The major token value.  This is the code
72 72
                      ** number for the token at this stack level */
73
-    public $minor; /* The user-supplied minor token value.  This
73
+	public $minor; /* The user-supplied minor token value.  This
74 74
                      ** is the value of the token  */
75 75
 }
76 76
 
@@ -88,2791 +88,2791 @@  discard block
 block discarded – undo
88 88
  */
89 89
 class Smarty_Internal_Templateparser
90 90
 {
91
-    #line 23 "../smarty/lexer/smarty_internal_templateparser.y"
92
-
93
-    const Err1 = "Security error: Call to private object member not allowed";
94
-
95
-    const Err2 = "Security error: Call to dynamic object member not allowed";
96
-
97
-    const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
98
-
99
-    /**
100
-     * result status
101
-     *
102
-     * @var bool
103
-     */
104
-    public $successful = true;
105
-
106
-    /**
107
-     * return value
108
-     *
109
-     * @var mixed
110
-     */
111
-    public $retvalue = 0;
112
-
113
-    /**
114
-     * @var
115
-     */
116
-    public $yymajor;
117
-
118
-    /**
119
-     * last index of array variable
120
-     *
121
-     * @var mixed
122
-     */
123
-    public $last_index;
124
-
125
-    /**
126
-     * last variable name
127
-     *
128
-     * @var string
129
-     */
130
-    public $last_variable;
131
-
132
-    /**
133
-     * root parse tree buffer
134
-     *
135
-     * @var Smarty_Internal_ParseTree
136
-     */
137
-    public $root_buffer;
138
-
139
-    /**
140
-     * current parse tree object
141
-     *
142
-     * @var Smarty_Internal_ParseTree
143
-     */
144
-    public $current_buffer;
145
-
146
-    /**
147
-     * lexer object
148
-     *
149
-     * @var Smarty_Internal_Templatelexer
150
-     */
151
-    public $lex;
152
-
153
-    /**
154
-     * internal error flag
155
-     *
156
-     * @var bool
157
-     */
158
-    private $internalError = false;
159
-
160
-    /**
161
-     * {strip} status
162
-     *
163
-     * @var bool
164
-     */
165
-    public $strip = false;
166
-
167
-    /**
168
-     * compiler object
169
-     *
170
-     * @var Smarty_Internal_TemplateCompilerBase
171
-     */
172
-    public $compiler = null;
173
-
174
-    /**
175
-     * smarty object
176
-     *
177
-     * @var Smarty
178
-     */
179
-    public $smarty = null;
180
-
181
-    /**
182
-     * template object
183
-     *
184
-     * @var Smarty_Internal_Template
185
-     */
186
-    public $template = null;
187
-
188
-    /**
189
-     * block nesting level
190
-     *
191
-     * @var int
192
-     */
193
-    public $block_nesting_level = 0;
194
-
195
-    /**
196
-     * security object
197
-     *
198
-     * @var Smarty_Security
199
-     */
200
-    public $security = null;
201
-
202
-    /**
203
-     * template prefix array
204
-     *
205
-     * @var \Smarty_Internal_ParseTree[]
206
-     */
207
-    public $template_prefix = array();
208
-
209
-    /**
210
-     * security object
211
-     *
212
-     * @var \Smarty_Internal_ParseTree[]
213
-     */
214
-    public $template_postfix = array();
215
-
216
-    /**
217
-     * constructor
218
-     *
219
-     * @param Smarty_Internal_Templatelexer        $lex
220
-     * @param Smarty_Internal_TemplateCompilerBase $compiler
221
-     */
222
-    public function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler)
223
-    {
224
-        $this->lex = $lex;
225
-        $this->compiler = $compiler;
226
-        $this->template = $this->compiler->template;
227
-        $this->smarty = $this->template->smarty;
228
-        $this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy : false;
229
-        $this->current_buffer = $this->root_buffer = new Smarty_Internal_ParseTree_Template();
230
-    }
91
+	#line 23 "../smarty/lexer/smarty_internal_templateparser.y"
92
+
93
+	const Err1 = "Security error: Call to private object member not allowed";
94
+
95
+	const Err2 = "Security error: Call to dynamic object member not allowed";
96
+
97
+	const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
98
+
99
+	/**
100
+	 * result status
101
+	 *
102
+	 * @var bool
103
+	 */
104
+	public $successful = true;
105
+
106
+	/**
107
+	 * return value
108
+	 *
109
+	 * @var mixed
110
+	 */
111
+	public $retvalue = 0;
112
+
113
+	/**
114
+	 * @var
115
+	 */
116
+	public $yymajor;
117
+
118
+	/**
119
+	 * last index of array variable
120
+	 *
121
+	 * @var mixed
122
+	 */
123
+	public $last_index;
124
+
125
+	/**
126
+	 * last variable name
127
+	 *
128
+	 * @var string
129
+	 */
130
+	public $last_variable;
131
+
132
+	/**
133
+	 * root parse tree buffer
134
+	 *
135
+	 * @var Smarty_Internal_ParseTree
136
+	 */
137
+	public $root_buffer;
138
+
139
+	/**
140
+	 * current parse tree object
141
+	 *
142
+	 * @var Smarty_Internal_ParseTree
143
+	 */
144
+	public $current_buffer;
145
+
146
+	/**
147
+	 * lexer object
148
+	 *
149
+	 * @var Smarty_Internal_Templatelexer
150
+	 */
151
+	public $lex;
152
+
153
+	/**
154
+	 * internal error flag
155
+	 *
156
+	 * @var bool
157
+	 */
158
+	private $internalError = false;
159
+
160
+	/**
161
+	 * {strip} status
162
+	 *
163
+	 * @var bool
164
+	 */
165
+	public $strip = false;
166
+
167
+	/**
168
+	 * compiler object
169
+	 *
170
+	 * @var Smarty_Internal_TemplateCompilerBase
171
+	 */
172
+	public $compiler = null;
173
+
174
+	/**
175
+	 * smarty object
176
+	 *
177
+	 * @var Smarty
178
+	 */
179
+	public $smarty = null;
180
+
181
+	/**
182
+	 * template object
183
+	 *
184
+	 * @var Smarty_Internal_Template
185
+	 */
186
+	public $template = null;
187
+
188
+	/**
189
+	 * block nesting level
190
+	 *
191
+	 * @var int
192
+	 */
193
+	public $block_nesting_level = 0;
194
+
195
+	/**
196
+	 * security object
197
+	 *
198
+	 * @var Smarty_Security
199
+	 */
200
+	public $security = null;
201
+
202
+	/**
203
+	 * template prefix array
204
+	 *
205
+	 * @var \Smarty_Internal_ParseTree[]
206
+	 */
207
+	public $template_prefix = array();
208
+
209
+	/**
210
+	 * security object
211
+	 *
212
+	 * @var \Smarty_Internal_ParseTree[]
213
+	 */
214
+	public $template_postfix = array();
215
+
216
+	/**
217
+	 * constructor
218
+	 *
219
+	 * @param Smarty_Internal_Templatelexer        $lex
220
+	 * @param Smarty_Internal_TemplateCompilerBase $compiler
221
+	 */
222
+	public function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler)
223
+	{
224
+		$this->lex = $lex;
225
+		$this->compiler = $compiler;
226
+		$this->template = $this->compiler->template;
227
+		$this->smarty = $this->template->smarty;
228
+		$this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy : false;
229
+		$this->current_buffer = $this->root_buffer = new Smarty_Internal_ParseTree_Template();
230
+	}
231 231
 
232
-    /**
233
-     * insert PHP code in current buffer
234
-     *
235
-     * @param string $code
236
-     */
237
-    public function insertPhpCode($code)
238
-    {
239
-        $this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $code));
240
-    }
232
+	/**
233
+	 * insert PHP code in current buffer
234
+	 *
235
+	 * @param string $code
236
+	 */
237
+	public function insertPhpCode($code)
238
+	{
239
+		$this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $code));
240
+	}
241 241
 
242
-    /**
243
-     *  merge PHP code with prefix code and return parse tree tag object
244
-     *
245
-     * @param string $code
246
-     *
247
-     * @return Smarty_Internal_ParseTree_Tag
248
-     */
249
-    public function mergePrefixCode($code)
250
-    {
251
-        $tmp = '';
252
-        foreach ($this->compiler->prefix_code as $preCode) {
253
-            $tmp .= $preCode;
254
-        }
255
-        $this->compiler->prefix_code = array();
256
-        $tmp .= $code;
257
-        return new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true));
258
-    }
242
+	/**
243
+	 *  merge PHP code with prefix code and return parse tree tag object
244
+	 *
245
+	 * @param string $code
246
+	 *
247
+	 * @return Smarty_Internal_ParseTree_Tag
248
+	 */
249
+	public function mergePrefixCode($code)
250
+	{
251
+		$tmp = '';
252
+		foreach ($this->compiler->prefix_code as $preCode) {
253
+			$tmp .= $preCode;
254
+		}
255
+		$this->compiler->prefix_code = array();
256
+		$tmp .= $code;
257
+		return new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true));
258
+	}
259 259
 
260
-    const TP_VERT = 1;
260
+	const TP_VERT = 1;
261 261
 
262
-    const TP_COLON = 2;
262
+	const TP_COLON = 2;
263 263
 
264
-    const TP_PHP = 3;
264
+	const TP_PHP = 3;
265 265
 
266
-    const TP_NOCACHE = 4;
266
+	const TP_NOCACHE = 4;
267 267
 
268
-    const TP_TEXT = 5;
268
+	const TP_TEXT = 5;
269 269
 
270
-    const TP_STRIPON = 6;
270
+	const TP_STRIPON = 6;
271 271
 
272
-    const TP_STRIPOFF = 7;
272
+	const TP_STRIPOFF = 7;
273 273
 
274
-    const TP_LITERALSTART = 8;
274
+	const TP_LITERALSTART = 8;
275 275
 
276
-    const TP_LITERALEND = 9;
276
+	const TP_LITERALEND = 9;
277 277
 
278
-    const TP_LITERAL = 10;
278
+	const TP_LITERAL = 10;
279 279
 
280
-    const TP_RDEL = 11;
280
+	const TP_RDEL = 11;
281 281
 
282
-    const TP_SIMPELOUTPUT = 12;
282
+	const TP_SIMPELOUTPUT = 12;
283 283
 
284
-    const TP_LDEL = 13;
284
+	const TP_LDEL = 13;
285 285
 
286
-    const TP_DOLLARID = 14;
286
+	const TP_DOLLARID = 14;
287 287
 
288
-    const TP_EQUAL = 15;
288
+	const TP_EQUAL = 15;
289 289
 
290
-    const TP_SIMPLETAG = 16;
290
+	const TP_SIMPLETAG = 16;
291 291
 
292
-    const TP_ID = 17;
292
+	const TP_ID = 17;
293 293
 
294
-    const TP_PTR = 18;
294
+	const TP_PTR = 18;
295 295
 
296
-    const TP_LDELMAKENOCACHE = 19;
296
+	const TP_LDELMAKENOCACHE = 19;
297 297
 
298
-    const TP_LDELIF = 20;
298
+	const TP_LDELIF = 20;
299 299
 
300
-    const TP_LDELFOR = 21;
300
+	const TP_LDELFOR = 21;
301 301
 
302
-    const TP_SEMICOLON = 22;
302
+	const TP_SEMICOLON = 22;
303 303
 
304
-    const TP_INCDEC = 23;
304
+	const TP_INCDEC = 23;
305 305
 
306
-    const TP_TO = 24;
306
+	const TP_TO = 24;
307 307
 
308
-    const TP_STEP = 25;
308
+	const TP_STEP = 25;
309 309
 
310
-    const TP_LDELFOREACH = 26;
310
+	const TP_LDELFOREACH = 26;
311 311
 
312
-    const TP_SPACE = 27;
312
+	const TP_SPACE = 27;
313 313
 
314
-    const TP_AS = 28;
314
+	const TP_AS = 28;
315 315
 
316
-    const TP_APTR = 29;
316
+	const TP_APTR = 29;
317 317
 
318
-    const TP_LDELSETFILTER = 30;
318
+	const TP_LDELSETFILTER = 30;
319 319
 
320
-    const TP_SMARTYBLOCKCHILDPARENT = 31;
320
+	const TP_SMARTYBLOCKCHILDPARENT = 31;
321 321
 
322
-    const TP_CLOSETAG = 32;
322
+	const TP_CLOSETAG = 32;
323 323
 
324
-    const TP_LDELSLASH = 33;
324
+	const TP_LDELSLASH = 33;
325 325
 
326
-    const TP_ATTR = 34;
326
+	const TP_ATTR = 34;
327 327
 
328
-    const TP_INTEGER = 35;
328
+	const TP_INTEGER = 35;
329 329
 
330
-    const TP_COMMA = 36;
330
+	const TP_COMMA = 36;
331 331
 
332
-    const TP_OPENP = 37;
332
+	const TP_OPENP = 37;
333 333
 
334
-    const TP_CLOSEP = 38;
334
+	const TP_CLOSEP = 38;
335 335
 
336
-    const TP_MATH = 39;
336
+	const TP_MATH = 39;
337 337
 
338
-    const TP_UNIMATH = 40;
338
+	const TP_UNIMATH = 40;
339 339
 
340
-    const TP_ISIN = 41;
340
+	const TP_ISIN = 41;
341 341
 
342
-    const TP_QMARK = 42;
342
+	const TP_QMARK = 42;
343 343
 
344
-    const TP_NOT = 43;
344
+	const TP_NOT = 43;
345 345
 
346
-    const TP_TYPECAST = 44;
346
+	const TP_TYPECAST = 44;
347 347
 
348
-    const TP_HEX = 45;
348
+	const TP_HEX = 45;
349 349
 
350
-    const TP_DOT = 46;
350
+	const TP_DOT = 46;
351 351
 
352
-    const TP_INSTANCEOF = 47;
352
+	const TP_INSTANCEOF = 47;
353 353
 
354
-    const TP_SINGLEQUOTESTRING = 48;
354
+	const TP_SINGLEQUOTESTRING = 48;
355 355
 
356
-    const TP_DOUBLECOLON = 49;
356
+	const TP_DOUBLECOLON = 49;
357 357
 
358
-    const TP_NAMESPACE = 50;
358
+	const TP_NAMESPACE = 50;
359 359
 
360
-    const TP_AT = 51;
360
+	const TP_AT = 51;
361 361
 
362
-    const TP_HATCH = 52;
362
+	const TP_HATCH = 52;
363 363
 
364
-    const TP_OPENB = 53;
364
+	const TP_OPENB = 53;
365 365
 
366
-    const TP_CLOSEB = 54;
366
+	const TP_CLOSEB = 54;
367 367
 
368
-    const TP_DOLLAR = 55;
368
+	const TP_DOLLAR = 55;
369 369
 
370
-    const TP_LOGOP = 56;
370
+	const TP_LOGOP = 56;
371 371
 
372
-    const TP_SLOGOP = 57;
372
+	const TP_SLOGOP = 57;
373 373
 
374
-    const TP_TLOGOP = 58;
374
+	const TP_TLOGOP = 58;
375 375
 
376
-    const TP_SINGLECOND = 59;
376
+	const TP_SINGLECOND = 59;
377 377
 
378
-    const TP_QUOTE = 60;
378
+	const TP_QUOTE = 60;
379 379
 
380
-    const TP_BACKTICK = 61;
380
+	const TP_BACKTICK = 61;
381 381
 
382
-    const YY_NO_ACTION = 534;
382
+	const YY_NO_ACTION = 534;
383 383
 
384
-    const YY_ACCEPT_ACTION = 533;
384
+	const YY_ACCEPT_ACTION = 533;
385 385
 
386
-    const YY_ERROR_ACTION = 532;
386
+	const YY_ERROR_ACTION = 532;
387 387
 
388
-    const YY_SZ_ACTTAB = 2017;
388
+	const YY_SZ_ACTTAB = 2017;
389 389
 
390
-    static public $yy_action = array(269, 8, 133, 295, 335, 80, 282, 219, 7, 84, 128, 178, 255, 276, 113, 102, 13, 83,
391
-                                     227, 286, 305, 220, 36, 223, 283, 21, 32, 297, 41, 14, 90, 40, 44, 260, 213, 231,
392
-                                     250, 235, 210, 128, 81, 1, 298, 296, 102, 269, 8, 132, 79, 335, 196, 184, 219, 7,
393
-                                     84, 26, 297, 461, 101, 113, 39, 24, 278, 227, 461, 305, 220, 171, 206, 222, 21,
394
-                                     230, 201, 41, 104, 192, 40, 44, 260, 213, 18, 236, 241, 210, 251, 81, 1, 316, 296,
395
-                                     114, 269, 8, 135, 79, 335, 205, 302, 219, 7, 84, 116, 107, 477, 477, 113, 33, 197,
396
-                                     477, 227, 266, 305, 220, 326, 223, 31, 21, 29, 215, 41, 311, 78, 40, 44, 260, 213,
397
-                                     296, 250, 256, 210, 190, 81, 1, 3, 296, 307, 269, 8, 134, 79, 335, 205, 302, 219,
398
-                                     7, 84, 232, 18, 296, 294, 113, 334, 85, 323, 227, 136, 305, 220, 328, 223, 29, 21,
399
-                                     183, 101, 41, 234, 78, 40, 44, 260, 213, 137, 250, 314, 210, 139, 81, 1, 10, 296,
400
-                                     101, 269, 8, 135, 79, 335, 195, 154, 219, 7, 84, 322, 232, 81, 114, 113, 296, 329,
401
-                                     94, 227, 315, 305, 220, 326, 212, 120, 21, 168, 215, 41, 281, 114, 40, 44, 260,
402
-                                     213, 296, 250, 222, 210, 265, 81, 1, 104, 296, 211, 269, 8, 135, 79, 335, 193, 302,
403
-                                     219, 7, 84, 242, 239, 249, 217, 113, 11, 215, 289, 227, 136, 305, 220, 228, 223,
404
-                                     222, 21, 238, 149, 41, 104, 78, 40, 44, 260, 213, 461, 250, 329, 210, 6, 81, 1,
405
-                                     461, 296, 2, 269, 8, 136, 79, 335, 205, 158, 219, 7, 84, 190, 211, 81, 101, 113,
406
-                                     296, 329, 93, 227, 12, 305, 220, 18, 223, 244, 34, 268, 448, 41, 281, 449, 40, 44,
407
-                                     260, 213, 191, 250, 36, 210, 448, 81, 1, 449, 296, 14, 269, 8, 135, 79, 335, 205,
408
-                                     15, 219, 7, 84, 186, 293, 152, 14, 113, 16, 214, 5, 227, 165, 305, 220, 329, 194,
409
-                                     20, 21, 140, 101, 41, 115, 448, 40, 44, 260, 213, 281, 250, 303, 210, 264, 81, 1,
410
-                                     448, 296, 169, 269, 8, 131, 79, 335, 205, 176, 219, 7, 84, 137, 28, 296, 310, 113,
411
-                                     185, 293, 10, 227, 275, 305, 220, 296, 223, 175, 4, 281, 143, 41, 144, 192, 40, 44,
412
-                                     260, 213, 35, 250, 329, 210, 329, 81, 1, 270, 296, 308, 269, 8, 135, 79, 335, 198,
413
-                                     121, 219, 7, 84, 190, 292, 17, 232, 113, 166, 284, 281, 227, 141, 305, 220, 211,
414
-                                     223, 319, 21, 299, 211, 41, 329, 211, 40, 44, 260, 213, 258, 250, 363, 210, 221,
415
-                                     81, 1, 281, 296, 6, 269, 8, 136, 79, 335, 205, 177, 219, 7, 84, 167, 211, 159, 22,
416
-                                     113, 104, 211, 156, 227, 300, 305, 220, 329, 223, 274, 34, 359, 329, 41, 172, 192,
417
-                                     40, 44, 260, 213, 95, 250, 318, 210, 329, 81, 273, 36, 296, 257, 292, 17, 181, 79,
418
-                                     14, 284, 309, 277, 254, 262, 263, 259, 178, 211, 25, 36, 269, 8, 187, 331, 335,
419
-                                     261, 14, 219, 7, 84, 192, 303, 211, 38, 113, 237, 321, 180, 227, 267, 305, 220,
420
-                                     153, 121, 312, 179, 192, 272, 108, 215, 209, 211, 118, 69, 112, 43, 42, 37, 248,
421
-                                     102, 86, 189, 252, 279, 182, 293, 150, 271, 204, 317, 176, 297, 288, 287, 285, 280,
422
-                                     329, 281, 312, 174, 87, 202, 330, 215, 209, 170, 118, 69, 112, 43, 42, 37, 138,
423
-                                     102, 192, 402, 252, 279, 38, 216, 88, 271, 204, 317, 211, 297, 288, 287, 285, 280,
424
-                                     310, 402, 105, 253, 404, 164, 332, 312, 402, 211, 89, 448, 215, 209, 305, 129, 61,
425
-                                     106, 163, 238, 404, 142, 102, 448, 305, 252, 279, 404, 305, 305, 271, 204, 317,
426
-                                     305, 297, 312, 155, 305, 305, 305, 215, 209, 211, 129, 73, 112, 211, 43, 42, 37,
427
-                                     102, 305, 404, 252, 279, 305, 292, 17, 271, 204, 317, 284, 297, 305, 288, 287, 285,
428
-                                     280, 404, 203, 305, 477, 477, 312, 305, 404, 477, 305, 215, 209, 305, 129, 73, 112,
429
-                                     43, 42, 37, 305, 102, 305, 305, 252, 279, 305, 305, 224, 271, 204, 317, 324, 297,
430
-                                     288, 287, 285, 280, 305, 305, 208, 312, 305, 477, 305, 305, 215, 209, 211, 129, 50,
431
-                                     106, 305, 117, 305, 305, 102, 148, 401, 252, 279, 92, 325, 448, 271, 204, 317, 329,
432
-                                     297, 269, 9, 327, 218, 335, 401, 448, 219, 7, 84, 305, 320, 401, 305, 113, 325,
433
-                                     192, 305, 227, 305, 305, 220, 269, 9, 327, 305, 335, 305, 305, 219, 7, 84, 305, 43,
434
-                                     42, 37, 113, 305, 305, 305, 227, 305, 305, 220, 305, 305, 305, 305, 291, 27, 288,
435
-                                     287, 285, 280, 305, 305, 305, 312, 305, 305, 305, 305, 215, 209, 305, 129, 73, 112,
436
-                                     211, 305, 290, 27, 102, 305, 305, 252, 279, 305, 369, 305, 271, 204, 317, 305, 297,
437
-                                     225, 305, 312, 305, 211, 305, 207, 215, 209, 36, 129, 54, 112, 305, 188, 305, 14,
438
-                                     102, 145, 448, 252, 279, 91, 305, 305, 271, 204, 317, 329, 297, 312, 448, 292, 17,
439
-                                     305, 215, 209, 284, 129, 65, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305,
440
-                                     305, 305, 271, 204, 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 99, 67,
441
-                                     112, 305, 305, 229, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317,
442
-                                     312, 297, 211, 305, 305, 215, 209, 305, 129, 45, 112, 305, 246, 305, 305, 102, 162,
443
-                                     305, 252, 279, 184, 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215,
444
-                                     209, 305, 129, 56, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305,
445
-                                     271, 204, 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 96, 55, 112, 305,
446
-                                     305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297,
447
-                                     211, 305, 305, 215, 97, 305, 82, 47, 103, 305, 247, 305, 305, 102, 151, 305, 252,
448
-                                     279, 184, 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305,
449
-                                     129, 71, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204,
450
-                                     317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 129, 59, 112, 305, 305, 305,
451
-                                     305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305,
452
-                                     305, 215, 209, 305, 129, 58, 112, 305, 305, 305, 305, 102, 160, 305, 252, 279, 184,
453
-                                     305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 53,
454
-                                     112, 226, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305,
455
-                                     297, 312, 288, 287, 285, 280, 215, 209, 305, 129, 60, 112, 305, 305, 305, 305, 102,
456
-                                     305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305, 305, 215,
457
-                                     209, 305, 100, 64, 112, 305, 305, 305, 305, 102, 146, 305, 252, 279, 184, 305, 305,
458
-                                     271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 61, 112, 245,
459
-                                     43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312,
460
-                                     288, 287, 285, 280, 215, 200, 305, 129, 63, 112, 305, 305, 305, 305, 102, 305, 305,
461
-                                     252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305, 305, 215, 209, 305,
462
-                                     111, 51, 112, 305, 305, 305, 305, 102, 147, 305, 252, 279, 184, 305, 305, 271, 204,
463
-                                     317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 49, 112, 305, 43, 42, 37,
464
-                                     102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 288, 287,
465
-                                     285, 280, 215, 209, 305, 129, 75, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279,
466
-                                     305, 305, 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 76, 112,
467
-                                     305, 305, 305, 305, 102, 161, 305, 252, 279, 184, 305, 305, 271, 204, 317, 329,
468
-                                     297, 312, 39, 24, 278, 305, 215, 98, 305, 82, 46, 103, 305, 305, 305, 305, 102,
469
-                                     192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305,
470
-                                     305, 215, 209, 305, 129, 70, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305,
471
-                                     305, 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 57, 112, 305,
472
-                                     305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297,
473
-                                     312, 305, 305, 305, 305, 215, 199, 305, 109, 62, 112, 305, 305, 305, 305, 102, 305,
474
-                                     305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305, 305,
475
-                                     215, 209, 305, 129, 72, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305, 305,
476
-                                     305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 77, 112, 305, 305,
477
-                                     305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312,
478
-                                     305, 305, 305, 305, 215, 209, 305, 129, 68, 112, 305, 305, 305, 305, 102, 305, 305,
479
-                                     252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305, 305, 215,
480
-                                     209, 305, 129, 74, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305,
481
-                                     271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 48, 112, 305, 305, 305,
482
-                                     305, 102, 305, 305, 252, 279, 414, 414, 305, 271, 204, 317, 305, 297, 312, 305,
483
-                                     305, 305, 305, 215, 209, 305, 129, 66, 112, 305, 305, 305, 305, 102, 305, 305, 252,
484
-                                     279, 211, 305, 305, 271, 204, 317, 305, 297, 448, 305, 414, 414, 414, 533, 52, 243,
485
-                                     239, 249, 217, 305, 448, 215, 305, 305, 30, 305, 36, 414, 414, 414, 414, 305, 233,
486
-                                     14, 305, 305, 305, 305, 43, 42, 37, 305, 477, 477, 312, 23, 305, 477, 461, 215,
487
-                                     209, 211, 127, 305, 112, 288, 287, 285, 280, 102, 305, 301, 357, 313, 305, 292, 17,
488
-                                     271, 204, 317, 284, 297, 305, 305, 302, 305, 461, 36, 36, 461, 36, 477, 157, 461,
489
-                                     14, 14, 305, 14, 305, 43, 42, 37, 305, 305, 305, 312, 305, 211, 78, 305, 215, 209,
490
-                                     305, 130, 305, 112, 288, 287, 285, 280, 102, 305, 305, 305, 240, 305, 292, 17, 271,
491
-                                     204, 317, 284, 297, 36, 305, 305, 305, 305, 305, 305, 14, 36, 305, 173, 312, 43,
492
-                                     42, 37, 14, 215, 209, 305, 122, 305, 112, 305, 305, 305, 305, 102, 304, 305, 288,
493
-                                     287, 285, 280, 305, 271, 204, 317, 305, 297, 302, 305, 312, 305, 36, 305, 305, 215,
494
-                                     209, 305, 123, 14, 112, 312, 305, 305, 305, 102, 215, 209, 305, 124, 305, 112, 78,
495
-                                     271, 204, 317, 102, 297, 305, 305, 305, 305, 305, 305, 271, 204, 317, 312, 297,
496
-                                     305, 305, 305, 215, 209, 305, 119, 305, 112, 305, 305, 305, 305, 102, 305, 305,
497
-                                     233, 305, 305, 305, 305, 271, 204, 317, 305, 297, 477, 477, 312, 32, 305, 477, 461,
498
-                                     215, 209, 305, 126, 305, 112, 305, 305, 305, 305, 102, 305, 305, 233, 305, 305,
499
-                                     305, 305, 271, 204, 317, 305, 297, 477, 477, 305, 305, 461, 477, 461, 461, 312,
500
-                                     477, 19, 461, 211, 215, 209, 305, 125, 305, 112, 305, 477, 477, 305, 102, 305, 477,
501
-                                     461, 305, 305, 305, 305, 271, 204, 317, 461, 297, 305, 461, 305, 477, 305, 461,
502
-                                     333, 305, 211, 305, 305, 305, 305, 305, 43, 42, 37, 305, 461, 305, 305, 461, 305,
503
-                                     477, 305, 461, 305, 305, 233, 110, 305, 288, 287, 285, 280, 305, 306, 305, 477,
504
-                                     477, 305, 305, 305, 477, 461, 305, 43, 42, 37, 477, 477, 305, 305, 305, 477, 461,
505
-                                     305, 305, 305, 305, 305, 305, 305, 288, 287, 285, 280, 305, 305, 305, 305, 305,
506
-                                     461, 305, 305, 461, 408, 477, 305, 461, 305, 305, 305, 461, 305, 305, 461, 408,
507
-                                     477, 408, 461, 305, 408, 305, 305, 305, 305, 305, 305, 408, 305, 408, 305, 408,
508
-                                     305, 305, 305, 305, 305, 305, 305, 232,);
509
-
510
-    static public $yy_lookahead = array(12, 13, 14, 17, 16, 17, 72, 19, 20, 21, 76, 8, 9, 10, 26, 81, 22, 17, 30, 31,
511
-                                        32, 33, 27, 35, 90, 37, 15, 93, 40, 34, 36, 43, 44, 45, 46, 72, 48, 51, 50, 76,
512
-                                        52, 53, 98, 55, 81, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21, 15, 93, 46, 18, 26,
513
-                                        86, 87, 88, 30, 53, 32, 33, 94, 35, 76, 37, 78, 79, 40, 81, 101, 43, 44, 45, 46,
514
-                                        36, 48, 38, 50, 14, 52, 53, 54, 55, 49, 12, 13, 14, 60, 16, 17, 23, 19, 20, 21,
515
-                                        17, 81, 12, 13, 26, 13, 14, 17, 30, 17, 32, 33, 66, 35, 15, 37, 15, 71, 40, 99,
516
-                                        47, 43, 44, 45, 46, 55, 48, 35, 50, 101, 52, 53, 36, 55, 61, 12, 13, 14, 60, 16,
517
-                                        17, 23, 19, 20, 21, 46, 36, 55, 38, 26, 54, 105, 106, 30, 14, 32, 33, 17, 35,
518
-                                        15, 37, 14, 18, 40, 17, 47, 43, 44, 45, 46, 46, 48, 54, 50, 14, 52, 53, 53, 55,
519
-                                        18, 12, 13, 14, 60, 16, 17, 73, 19, 20, 21, 50, 46, 52, 49, 26, 55, 83, 37, 30,
520
-                                        54, 32, 33, 66, 35, 17, 37, 94, 71, 40, 96, 49, 43, 44, 45, 46, 55, 48, 76, 50,
521
-                                        78, 52, 53, 81, 55, 1, 12, 13, 14, 60, 16, 17, 23, 19, 20, 21, 65, 66, 67, 68,
522
-                                        26, 13, 71, 106, 30, 14, 32, 33, 17, 35, 76, 37, 78, 73, 40, 81, 47, 43, 44, 45,
523
-                                        46, 46, 48, 83, 50, 37, 52, 53, 53, 55, 37, 12, 13, 14, 60, 16, 17, 73, 19, 20,
524
-                                        21, 101, 1, 52, 18, 26, 55, 83, 94, 30, 29, 32, 33, 36, 35, 38, 37, 17, 37, 40,
525
-                                        96, 37, 43, 44, 45, 46, 17, 48, 27, 50, 49, 52, 53, 49, 55, 34, 12, 13, 14, 60,
526
-                                        16, 17, 27, 19, 20, 21, 97, 98, 73, 34, 26, 13, 14, 37, 30, 17, 32, 33, 83, 35,
527
-                                        42, 37, 14, 18, 40, 49, 37, 43, 44, 45, 46, 96, 48, 102, 50, 35, 52, 53, 49, 55,
528
-                                        52, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21, 46, 15, 55, 95, 26, 97, 98, 53, 30,
529
-                                        23, 32, 33, 55, 35, 94, 37, 96, 73, 40, 73, 101, 43, 44, 45, 46, 24, 48, 83, 50,
530
-                                        83, 52, 53, 17, 55, 92, 12, 13, 14, 60, 16, 17, 99, 19, 20, 21, 101, 12, 13, 46,
531
-                                        26, 94, 17, 96, 30, 73, 32, 33, 1, 35, 54, 37, 17, 1, 40, 83, 1, 43, 44, 45, 46,
532
-                                        38, 48, 11, 50, 18, 52, 53, 96, 55, 37, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21,
533
-                                        76, 1, 73, 29, 26, 81, 1, 73, 30, 17, 32, 33, 83, 35, 35, 37, 11, 83, 40, 73,
534
-                                        101, 43, 44, 45, 46, 82, 48, 54, 50, 83, 52, 67, 27, 55, 70, 12, 13, 77, 60, 34,
535
-                                        17, 14, 3, 4, 5, 6, 7, 8, 1, 2, 27, 12, 13, 77, 54, 16, 5, 34, 19, 20, 21, 101,
536
-                                        102, 1, 2, 26, 17, 92, 82, 30, 11, 32, 33, 52, 99, 66, 82, 101, 17, 80, 71, 72,
537
-                                        1, 74, 75, 76, 39, 40, 41, 83, 81, 81, 11, 84, 85, 97, 98, 73, 89, 90, 91, 77,
538
-                                        93, 56, 57, 58, 59, 83, 96, 66, 94, 81, 103, 104, 71, 72, 94, 74, 75, 76, 39,
539
-                                        40, 41, 81, 81, 101, 11, 84, 85, 2, 15, 81, 89, 90, 91, 1, 93, 56, 57, 58, 59,
540
-                                        95, 27, 69, 9, 11, 94, 104, 66, 34, 1, 81, 37, 71, 72, 107, 74, 75, 76, 94, 78,
541
-                                        27, 28, 81, 49, 107, 84, 85, 34, 107, 107, 89, 90, 91, 107, 93, 66, 28, 107,
542
-                                        107, 107, 71, 72, 1, 74, 75, 76, 1, 39, 40, 41, 81, 107, 11, 84, 85, 107, 12,
543
-                                        13, 89, 90, 91, 17, 93, 107, 56, 57, 58, 59, 27, 100, 107, 12, 13, 66, 107, 34,
544
-                                        17, 107, 71, 72, 107, 74, 75, 76, 39, 40, 41, 107, 81, 107, 107, 84, 85, 107,
545
-                                        107, 51, 89, 90, 91, 54, 93, 56, 57, 58, 59, 107, 107, 100, 66, 107, 51, 107,
546
-                                        107, 71, 72, 1, 74, 75, 76, 107, 78, 107, 107, 81, 73, 11, 84, 85, 77, 5, 37,
547
-                                        89, 90, 91, 83, 93, 12, 13, 14, 46, 16, 27, 49, 19, 20, 21, 107, 54, 34, 107,
548
-                                        26, 5, 101, 107, 30, 107, 32, 33, 12, 13, 14, 107, 16, 107, 107, 19, 20, 21,
549
-                                        107, 39, 40, 41, 26, 107, 107, 107, 30, 107, 32, 33, 107, 107, 107, 107, 60, 61,
550
-                                        56, 57, 58, 59, 107, 107, 107, 66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76,
551
-                                        1, 107, 60, 61, 81, 107, 107, 84, 85, 107, 11, 107, 89, 90, 91, 107, 93, 18,
552
-                                        107, 66, 107, 1, 107, 100, 71, 72, 27, 74, 75, 76, 107, 11, 107, 34, 81, 73, 37,
553
-                                        84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 49, 12, 13, 107, 71, 72, 17, 74,
554
-                                        75, 76, 107, 39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107,
555
-                                        93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 51, 107, 81, 107,
556
-                                        107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74,
557
-                                        75, 76, 107, 11, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83,
558
-                                        93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 107, 39, 40, 41, 81, 101, 107,
559
-                                        84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74,
560
-                                        75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66,
561
-                                        93, 1, 107, 107, 71, 72, 107, 74, 75, 76, 107, 11, 107, 107, 81, 73, 107, 84,
562
-                                        85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75,
563
-                                        76, 107, 39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
564
-                                        66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
565
-                                        84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74, 75, 76,
566
-                                        107, 107, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66,
567
-                                        86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 38, 39, 40, 41, 81, 101, 107, 84, 85,
568
-                                        107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76,
569
-                                        107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1,
570
-                                        107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 73, 107, 84, 85, 77,
571
-                                        107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 38,
572
-                                        39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 56,
573
-                                        57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85,
574
-                                        107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74, 75, 76, 107,
575
-                                        107, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 86,
576
-                                        87, 88, 107, 71, 72, 107, 74, 75, 76, 107, 39, 40, 41, 81, 101, 107, 84, 85,
577
-                                        107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76,
578
-                                        107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93,
579
-                                        107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 73, 107, 84, 85,
580
-                                        77, 107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76,
581
-                                        107, 107, 107, 107, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
582
-                                        66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107,
583
-                                        107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107, 74,
584
-                                        75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91,
585
-                                        107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107,
586
-                                        81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107,
587
-                                        107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107,
588
-                                        107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107,
589
-                                        107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107,
590
-                                        107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84,
591
-                                        85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74,
592
-                                        75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66,
593
-                                        93, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
594
-                                        84, 85, 1, 2, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74,
595
-                                        75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 1, 107, 107, 89, 90, 91, 107,
596
-                                        93, 37, 107, 39, 40, 41, 63, 64, 65, 66, 67, 68, 107, 49, 71, 107, 107, 25, 107,
597
-                                        27, 56, 57, 58, 59, 107, 2, 34, 107, 107, 107, 107, 39, 40, 41, 107, 12, 13, 66,
598
-                                        15, 107, 17, 18, 71, 72, 1, 74, 107, 76, 56, 57, 58, 59, 81, 107, 11, 11, 85,
599
-                                        107, 12, 13, 89, 90, 91, 17, 93, 107, 107, 23, 107, 46, 27, 27, 49, 27, 51, 29,
600
-                                        53, 34, 34, 107, 34, 107, 39, 40, 41, 107, 107, 107, 66, 107, 1, 47, 107, 71,
601
-                                        72, 107, 74, 107, 76, 56, 57, 58, 59, 81, 107, 107, 107, 85, 107, 12, 13, 89,
602
-                                        90, 91, 17, 93, 27, 107, 107, 107, 107, 107, 107, 34, 27, 107, 29, 66, 39, 40,
603
-                                        41, 34, 71, 72, 107, 74, 107, 76, 107, 107, 107, 107, 81, 11, 107, 56, 57, 58,
604
-                                        59, 107, 89, 90, 91, 107, 93, 23, 107, 66, 107, 27, 107, 107, 71, 72, 107, 74,
605
-                                        34, 76, 66, 107, 107, 107, 81, 71, 72, 107, 74, 107, 76, 47, 89, 90, 91, 81, 93,
606
-                                        107, 107, 107, 107, 107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107,
607
-                                        74, 107, 76, 107, 107, 107, 107, 81, 107, 107, 2, 107, 107, 107, 107, 89, 90,
608
-                                        91, 107, 93, 12, 13, 66, 15, 107, 17, 18, 71, 72, 107, 74, 107, 76, 107, 107,
609
-                                        107, 107, 81, 107, 107, 2, 107, 107, 107, 107, 89, 90, 91, 107, 93, 12, 13, 107,
610
-                                        107, 46, 17, 18, 49, 66, 51, 2, 53, 1, 71, 72, 107, 74, 107, 76, 107, 12, 13,
611
-                                        107, 81, 107, 17, 18, 107, 107, 107, 107, 89, 90, 91, 46, 93, 107, 49, 107, 51,
612
-                                        107, 53, 54, 107, 1, 107, 107, 107, 107, 107, 39, 40, 41, 107, 46, 107, 107, 49,
613
-                                        107, 51, 107, 53, 107, 107, 2, 22, 107, 56, 57, 58, 59, 107, 61, 107, 12, 13,
614
-                                        107, 107, 107, 17, 18, 107, 39, 40, 41, 12, 13, 107, 107, 107, 17, 18, 107, 107,
615
-                                        107, 107, 107, 107, 107, 56, 57, 58, 59, 107, 107, 107, 107, 107, 46, 107, 107,
616
-                                        49, 11, 51, 107, 53, 107, 107, 107, 46, 107, 107, 49, 22, 51, 24, 53, 107, 27,
617
-                                        107, 107, 107, 107, 107, 107, 34, 107, 36, 107, 38, 107, 107, 107, 107, 107,
618
-                                        107, 107, 46,);
619
-
620
-    const YY_SHIFT_USE_DFLT = - 15;
621
-
622
-    const YY_SHIFT_MAX = 238;
623
-
624
-    static public $yy_shift_ofst = array(499, 393, 78, 393, 348, 78, 78, 348, - 12, - 12, 33, 78, 78, 78, 78, 168, 78,
625
-                                         78, 78, 213, 123, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 303, 78, 78, 78,
626
-                                         168, 258, 258, 438, 438, 438, 438, 438, 438, 1609, 1660, 1706, 1706, 1706,
627
-                                         1706, 1706, 499, 1912, 1153, 609, 541, 507, 989, 907, 825, 1071, 646, 1880,
628
-                                         1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 731,
629
-                                         731, 140, 725, 804, 230, 465, 280, 160, 747, 1714, 1663, 483, 483, 160, 280,
630
-                                         280, 324, 160, 522, 594, 1661, 1749, 642, 715, 317, 842, 40, 404, 3, 144, 404,
631
-                                         - 5, 460, 327, 431, 161, 294, 147, 147, 426, - 5, 434, 223, 223, 265, 223, 223,
632
-                                         223, 223, 223, 223, 265, 223, - 15, 1827, 1857, 1640, 1877, 1931, 1942, 92,
633
-                                         645, 11, 90, - 5, 70, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, 214,
634
-                                         - 5, 70, - 5, 70, - 5, - 5, - 5, - 5, - 5, 124, 124, 227, 124, 356, 124, 214,
635
-                                         124, 124, - 5, 70, 124, 124, 223, 223, 595, 587, 587, 223, 265, 232, 223, 265,
636
-                                         265, 223, - 15, - 15, - 15, - 15, - 15, 1581, 1970, 575, 694, 660, 260, 118,
637
-                                         73, - 6, 96, 256, 295, 308, 145, 44, 110, 208, 263, - 14, 99, 439, 232, 519,
638
-                                         521, 511, 509, 487, 83, 187, 101, 372, 279, 0, 297, 288, 481, 452, 371, 307,
639
-                                         319, 385, 412, 414, 433, 375, 402,);
640
-
641
-    const YY_REDUCE_USE_DFLT = - 67;
642
-
643
-    const YY_REDUCE_MAX = 192;
644
-
645
-    static public $yy_reduce_ofst = array(1560, 469, 608, 503, 542, 570, 728, 643, 922, 1278, 1360, 1060, 950, 1032,
646
-                                          1086, 896, 868, 1004, 786, 1414, 1332, 1114, 1524, 1168, 1224, 1250, 1196,
647
-                                          1142, 1306, 1470, 1496, 1388, 1442, 978, 758, 840, 814, 1588, 1639, 1745,
648
-                                          1719, 1678, 1708, 1775, 1811, 1259, 931, 931, 1013, 1095, 849, 1177, 170,
649
-                                          - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26,
650
-                                          - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 66,
651
-                                          46, 652, - 37, 484, 767, - 7, 136, 351, 113, 203, 254, 141, 314, 179, 278,
652
-                                          173, 420, 289, 394, 394, 289, 289, 20, 290, 228, 290, 424, 228, 326, 406, 289,
653
-                                          384, 289, 228, 316, 312, 435, 379, 389, 289, 289, 436, 458, 289, 289, 289,
654
-                                          289, 289, 289, 228, 289, 289, 476, 476, 476, 476, 476, 476, 502, 472, 476,
655
-                                          476, 466, 470, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 482, 466,
656
-                                          490, 466, 510, 466, 466, 466, 466, 466, 506, 506, 512, 506, 459, 506, 525,
657
-                                          506, 506, 466, 530, 506, 506, 28, 28, 534, 250, 250, 28, - 56, 193, 28, - 56,
658
-                                          - 56, 28, 112, - 27, 454, 403, 446,);
659
-
660
-    static public $yyExpectedTokens = array(array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 21, 26, 30, 32, 33,),
661
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
662
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
663
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
664
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
665
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
666
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
667
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
668
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
669
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
670
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
671
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
672
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
673
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
674
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
675
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 31, 32, 33, 35, 37, 40, 43,
676
-                                                  44, 45, 46, 48, 50, 52, 53, 55, 60,),
677
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 31, 32, 33, 35, 37, 40, 43,
678
-                                                  44, 45, 46, 48, 50, 52, 53, 55, 60,),
679
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
680
-                                                  45, 46, 48, 50, 52, 53, 54, 55, 60,),
681
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
682
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
683
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
684
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
685
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
686
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
687
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
688
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
689
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
690
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
691
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
692
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
693
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
694
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
695
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
696
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
697
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
698
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
699
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
700
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
701
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
702
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
703
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
704
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
705
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
706
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
707
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
708
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
709
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
710
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
711
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
712
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
713
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
714
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
715
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
716
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
717
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
718
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
719
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
720
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
721
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
722
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
723
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
724
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
725
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
726
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
727
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
728
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
729
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
730
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
731
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
732
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
733
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
734
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
735
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
736
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
737
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
738
-                                                  45, 46, 48, 50, 52, 55, 60,),
739
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
740
-                                                  45, 46, 48, 50, 52, 55, 60,),
741
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
742
-                                                  45, 46, 48, 50, 52, 55, 60,),
743
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
744
-                                                  45, 46, 48, 50, 52, 55, 60,),
745
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
746
-                                                  45, 46, 48, 50, 52, 55, 60,),
747
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
748
-                                                  45, 46, 48, 50, 52, 55, 60,),
749
-                                            array(1, 25, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
750
-                                            array(1, 11, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
751
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
752
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
753
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
754
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
755
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
756
-                                            array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 21, 26, 30, 32, 33,),
757
-                                            array(1, 22, 39, 40, 41, 56, 57, 58, 59,),
758
-                                            array(1, 38, 39, 40, 41, 56, 57, 58, 59,),
759
-                                            array(1, 28, 39, 40, 41, 56, 57, 58, 59,),
760
-                                            array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
761
-                                            array(1, 2, 39, 40, 41, 56, 57, 58, 59,),
762
-                                            array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
763
-                                            array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
764
-                                            array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
765
-                                            array(1, 38, 39, 40, 41, 56, 57, 58, 59,),
766
-                                            array(1, 39, 40, 41, 54, 56, 57, 58, 59,),
767
-                                            array(1, 39, 40, 41, 56, 57, 58, 59, 61,),
768
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
769
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
770
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
771
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
772
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
773
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
774
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
775
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
776
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
777
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
778
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
779
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,), array(39, 40, 41, 56, 57, 58, 59,),
780
-                                            array(39, 40, 41, 56, 57, 58, 59,), array(14, 17, 50, 52, 55,),
781
-                                            array(5, 12, 13, 14, 16, 19, 20, 21, 26, 30, 32, 33, 60, 61,),
782
-                                            array(1, 11, 18, 27, 34, 37, 49,), array(14, 17, 52, 55,),
783
-                                            array(1, 11, 27, 34,), array(1, 27, 34,), array(14, 37, 55,),
784
-                                            array(5, 12, 13, 14, 16, 19, 20, 21, 26, 30, 32, 33, 60, 61,),
785
-                                            array(12, 13, 17, 27, 29, 34,), array(12, 13, 17, 27, 29, 34,),
786
-                                            array(12, 13, 17, 27, 34,), array(12, 13, 17, 27, 34,), array(14, 37, 55,),
787
-                                            array(1, 27, 34,), array(1, 27, 34,), array(18, 46, 53,),
788
-                                            array(14, 37, 55,), array(1, 2,), array(1, 11, 27, 28, 34,),
789
-                                            array(11, 23, 27, 34, 47,), array(11, 23, 27, 34, 47,),
790
-                                            array(1, 11, 27, 34,), array(1, 11, 27, 34,), array(13, 14, 17, 55,),
791
-                                            array(12, 13, 17, 51,), array(15, 18, 49,), array(12, 13, 17,),
792
-                                            array(8, 9, 10,), array(15, 18, 49,), array(12, 13, 17,), array(27, 34,),
793
-                                            array(1, 54,), array(14, 55,), array(1, 11,), array(18, 49,),
794
-                                            array(27, 34,), array(14, 17,), array(14, 17,), array(1, 18,),
795
-                                            array(27, 34,), array(1, 29,), array(1,), array(1,), array(18,), array(1,),
796
-                                            array(1,), array(1,), array(1,), array(1,), array(1,), array(18,),
797
-                                            array(1,), array(), array(2, 12, 13, 15, 17, 18, 46, 49, 51, 53,),
798
-                                            array(2, 12, 13, 17, 18, 46, 49, 51, 53, 54,),
799
-                                            array(2, 12, 13, 15, 17, 18, 46, 49, 51, 53,),
800
-                                            array(2, 12, 13, 17, 18, 46, 49, 51, 53,),
801
-                                            array(2, 12, 13, 17, 18, 46, 49, 51, 53,),
802
-                                            array(12, 13, 17, 18, 46, 49, 51, 53,), array(13, 14, 17, 35, 55,),
803
-                                            array(12, 13, 17, 51,), array(15, 46, 53,), array(12, 13, 17,),
804
-                                            array(27, 34,), array(14, 55,), array(27, 34,), array(27, 34,),
805
-                                            array(27, 34,), array(27, 34,), array(27, 34,), array(27, 34,),
806
-                                            array(27, 34,), array(27, 34,), array(27, 34,), array(27, 34,),
807
-                                            array(46, 53,), array(27, 34,), array(14, 55,), array(27, 34,),
808
-                                            array(14, 55,), array(27, 34,), array(27, 34,), array(27, 34,),
809
-                                            array(27, 34,), array(27, 34,), array(46, 53,), array(46, 53,),
810
-                                            array(13, 37,), array(46, 53,), array(15, 23,), array(46, 53,),
811
-                                            array(46, 53,), array(46, 53,), array(46, 53,), array(27, 34,),
812
-                                            array(14, 55,), array(46, 53,), array(46, 53,), array(1,), array(1,),
813
-                                            array(9,), array(2,), array(2,), array(1,), array(18,), array(37,),
814
-                                            array(1,), array(18,), array(18,), array(1,), array(), array(), array(),
815
-                                            array(), array(), array(1, 2, 37, 39, 40, 41, 49, 56, 57, 58, 59,),
816
-                                            array(11, 22, 24, 27, 34, 36, 38, 46,), array(11, 15, 27, 34, 37, 49,),
817
-                                            array(37, 46, 49, 54,), array(12, 13, 17, 51,), array(29, 37, 49,),
818
-                                            array(23, 47, 54,), array(23, 47, 61,), array(22, 36,), array(36, 54,),
819
-                                            array(36, 38,), array(37, 49,), array(37, 49,), array(46, 54,),
820
-                                            array(36, 38,), array(36, 38,), array(23, 47,), array(37, 49,),
821
-                                            array(17, 51,), array(15, 46,), array(35,), array(37,), array(11,),
822
-                                            array(17,), array(5,), array(17,), array(14,), array(17,), array(17,),
823
-                                            array(15,), array(46,), array(17,), array(17,), array(42,), array(17,),
824
-                                            array(52,), array(17,), array(24,), array(52,), array(35,), array(17,),
825
-                                            array(37,), array(17,), array(54,), array(54,), array(38,), array(),
826
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
827
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
828
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
829
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
830
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
831
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
832
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
833
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
834
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
835
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
836
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
837
-                                            array(), array(), array(), array(), array(), array(), array(), array(),);
838
-
839
-    static public $yy_default = array(339, 517, 496, 532, 532, 496, 496, 532, 532, 532, 532, 532, 532, 532, 532, 532,
840
-                                      532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
841
-                                      532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 398, 532, 361,
842
-                                      398, 398, 374, 364, 336, 532, 532, 403, 532, 532, 532, 532, 532, 532, 532, 532,
843
-                                      400, 494, 518, 403, 409, 520, 379, 519, 405, 495, 410, 420, 425, 424, 532, 532,
844
-                                      436, 532, 412, 398, 532, 532, 398, 398, 398, 398, 532, 398, 398, 508, 532, 388,
845
-                                      412, 426, 426, 412, 412, 532, 461, 451, 461, 532, 451, 461, 398, 412, 532, 412,
846
-                                      451, 398, 532, 532, 392, 376, 412, 419, 394, 505, 427, 416, 428, 429, 415, 423,
847
-                                      451, 412, 503, 450, 450, 450, 450, 450, 450, 532, 463, 477, 461, 384, 532, 372,
848
-                                      383, 371, 366, 365, 368, 370, 360, 362, 385, 454, 386, 532, 358, 532, 387, 377,
849
-                                      382, 381, 375, 457, 486, 461, 487, 532, 489, 456, 455, 488, 378, 532, 458, 459,
850
-                                      445, 393, 352, 497, 498, 389, 506, 461, 418, 509, 483, 395, 461, 461, 502, 502,
851
-                                      502, 436, 432, 436, 436, 462, 436, 426, 426, 532, 532, 532, 532, 436, 432, 532,
852
-                                      532, 426, 446, 532, 432, 532, 477, 532, 532, 344, 532, 532, 532, 532, 532, 432,
853
-                                      532, 532, 438, 532, 532, 532, 406, 532, 434, 532, 507, 532, 441, 532, 532, 340,
854
-                                      504, 492, 338, 337, 491, 438, 467, 482, 396, 341, 441, 477, 413, 349, 343, 350,
855
-                                      466, 351, 411, 348, 431, 346, 345, 347, 433, 407, 465, 355, 464, 356, 414, 437,
856
-                                      399, 353, 435, 380, 354, 342, 421, 417, 513, 479, 440, 439, 480, 512, 390, 511,
857
-                                      510, 523, 522, 521, 481, 484, 493, 500, 478, 453, 485, 499, 452, 529, 430, 501,
858
-                                      528, 391, 526, 525, 443, 373, 460, 490, 444, 422, 473, 471, 476, 442, 470, 469,
859
-                                      468, 447, 449, 524, 475, 531, 530, 527, 448, 397, 515, 474, 516, 472, 514, 367,);
860
-
861
-    const YYNOCODE = 108;
862
-
863
-    const YYSTACKDEPTH = 500;
864
-
865
-    const YYNSTATE = 336;
866
-
867
-    const YYNRULE = 196;
868
-
869
-    const YYERRORSYMBOL = 62;
870
-
871
-    const YYERRSYMDT = 'yy0';
872
-
873
-    const YYFALLBACK = 0;
874
-
875
-    public static $yyFallback = array();
876
-
877
-    public function Trace($TraceFILE, $zTracePrompt)
878
-    {
879
-        if (!$TraceFILE) {
880
-            $zTracePrompt = 0;
881
-        } elseif (!$zTracePrompt) {
882
-            $TraceFILE = 0;
883
-        }
884
-        $this->yyTraceFILE = $TraceFILE;
885
-        $this->yyTracePrompt = $zTracePrompt;
886
-    }
887
-
888
-    public function PrintTrace()
889
-    {
890
-        $this->yyTraceFILE = fopen('php://output', 'w');
891
-        $this->yyTracePrompt = '<br>';
892
-    }
893
-
894
-    public $yyTraceFILE;
895
-
896
-    public $yyTracePrompt;
897
-
898
-    public $yyidx;                    /* Index of top element in stack */
899
-    public $yyerrcnt;                 /* Shifts left before out of the error */
900
-    public $yystack = array();  /* The parser's stack */
901
-
902
-    public $yyTokenName = array('$', 'VERT', 'COLON', 'PHP', 'NOCACHE', 'TEXT', 'STRIPON', 'STRIPOFF', 'LITERALSTART',
903
-                                'LITERALEND', 'LITERAL', 'RDEL', 'SIMPELOUTPUT', 'LDEL', 'DOLLARID', 'EQUAL',
904
-                                'SIMPLETAG', 'ID', 'PTR', 'LDELMAKENOCACHE', 'LDELIF', 'LDELFOR', 'SEMICOLON', 'INCDEC',
905
-                                'TO', 'STEP', 'LDELFOREACH', 'SPACE', 'AS', 'APTR', 'LDELSETFILTER',
906
-                                'SMARTYBLOCKCHILDPARENT', 'CLOSETAG', 'LDELSLASH', 'ATTR', 'INTEGER', 'COMMA', 'OPENP',
907
-                                'CLOSEP', 'MATH', 'UNIMATH', 'ISIN', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT',
908
-                                'INSTANCEOF', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH', 'OPENB',
909
-                                'CLOSEB', 'DOLLAR', 'LOGOP', 'SLOGOP', 'TLOGOP', 'SINGLECOND', 'QUOTE', 'BACKTICK',
910
-                                'error', 'start', 'template', 'template_element', 'smartytag', 'literal',
911
-                                'text_content', 'literal_elements', 'literal_element', 'tag', 'variable', 'attributes',
912
-                                'value', 'expr', 'varindexed', 'modifierlist', 'statement', 'statements', 'foraction',
913
-                                'varvar', 'modparameters', 'attribute', 'ternary', 'array', 'tlop', 'lop', 'scond',
914
-                                'function', 'ns1', 'doublequoted_with_quotes', 'static_class_access', 'object',
915
-                                'arrayindex', 'indexdef', 'varvarele', 'objectchain', 'objectelement', 'method',
916
-                                'params', 'modifier', 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted',
917
-                                'doublequotedcontent',);
918
-
919
-    public static $yyRuleName = array('start ::= template', 'template ::= template_element',
920
-                                      'template ::= template template_element', 'template ::=',
921
-                                      'template_element ::= smartytag', 'template_element ::= literal',
922
-                                      'template_element ::= PHP', 'template_element ::= NOCACHE',
923
-                                      'template_element ::= text_content', 'text_content ::= TEXT',
924
-                                      'text_content ::= text_content TEXT', 'template_element ::= STRIPON',
925
-                                      'template_element ::= STRIPOFF', 'literal ::= LITERALSTART LITERALEND',
926
-                                      'literal ::= LITERALSTART literal_elements LITERALEND',
927
-                                      'literal_elements ::= literal_elements literal_element', 'literal_elements ::=',
928
-                                      'literal_element ::= literal', 'literal_element ::= LITERAL',
929
-                                      'smartytag ::= tag RDEL', 'smartytag ::= SIMPELOUTPUT', 'tag ::= LDEL variable',
930
-                                      'tag ::= LDEL variable attributes', 'tag ::= LDEL value',
931
-                                      'tag ::= LDEL value attributes', 'tag ::= LDEL expr',
932
-                                      'tag ::= LDEL expr attributes', 'tag ::= LDEL DOLLARID EQUAL value',
933
-                                      'tag ::= LDEL DOLLARID EQUAL expr', 'tag ::= LDEL DOLLARID EQUAL expr attributes',
934
-                                      'tag ::= LDEL varindexed EQUAL expr attributes', 'smartytag ::= SIMPLETAG',
935
-                                      'tag ::= LDEL ID attributes', 'tag ::= LDEL ID',
936
-                                      'tag ::= LDEL ID modifierlist attributes', 'tag ::= LDEL ID PTR ID attributes',
937
-                                      'tag ::= LDEL ID PTR ID modifierlist attributes',
938
-                                      'tag ::= LDELMAKENOCACHE DOLLARID', 'tag ::= LDELIF expr',
939
-                                      'tag ::= LDELIF expr attributes', 'tag ::= LDELIF statement',
940
-                                      'tag ::= LDELIF statement attributes',
941
-                                      'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes',
942
-                                      'foraction ::= EQUAL expr', 'foraction ::= INCDEC',
943
-                                      'tag ::= LDELFOR statement TO expr attributes',
944
-                                      'tag ::= LDELFOR statement TO expr STEP expr attributes',
945
-                                      'tag ::= LDELFOREACH attributes',
946
-                                      'tag ::= LDELFOREACH SPACE value AS varvar attributes',
947
-                                      'tag ::= LDELFOREACH SPACE value AS varvar APTR varvar attributes',
948
-                                      'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
949
-                                      'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
950
-                                      'tag ::= LDELSETFILTER ID modparameters',
951
-                                      'tag ::= LDELSETFILTER ID modparameters modifierlist',
952
-                                      'tag ::= LDEL SMARTYBLOCKCHILDPARENT', 'smartytag ::= CLOSETAG',
953
-                                      'tag ::= LDELSLASH ID', 'tag ::= LDELSLASH ID modifierlist',
954
-                                      'tag ::= LDELSLASH ID PTR ID', 'tag ::= LDELSLASH ID PTR ID modifierlist',
955
-                                      'attributes ::= attributes attribute', 'attributes ::= attribute',
956
-                                      'attributes ::=', 'attribute ::= SPACE ID EQUAL ID', 'attribute ::= ATTR expr',
957
-                                      'attribute ::= ATTR value', 'attribute ::= SPACE ID', 'attribute ::= SPACE expr',
958
-                                      'attribute ::= SPACE value', 'attribute ::= SPACE INTEGER EQUAL expr',
959
-                                      'statements ::= statement', 'statements ::= statements COMMA statement',
960
-                                      'statement ::= DOLLARID EQUAL INTEGER', 'statement ::= DOLLARID EQUAL expr',
961
-                                      'statement ::= varindexed EQUAL expr', 'statement ::= OPENP statement CLOSEP',
962
-                                      'expr ::= value', 'expr ::= ternary', 'expr ::= DOLLARID COLON ID',
963
-                                      'expr ::= expr MATH value', 'expr ::= expr UNIMATH value', 'expr ::= array',
964
-                                      'expr ::= expr modifierlist', 'expr ::= expr tlop value',
965
-                                      'expr ::= expr lop expr', 'expr ::= expr scond', 'expr ::= expr ISIN array',
966
-                                      'expr ::= expr ISIN value',
967
-                                      'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr',
968
-                                      'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr', 'value ::= variable',
969
-                                      'value ::= UNIMATH value', 'value ::= NOT value', 'value ::= TYPECAST value',
970
-                                      'value ::= variable INCDEC', 'value ::= HEX', 'value ::= INTEGER',
971
-                                      'value ::= INTEGER DOT INTEGER', 'value ::= INTEGER DOT', 'value ::= DOT INTEGER',
972
-                                      'value ::= ID', 'value ::= function', 'value ::= OPENP expr CLOSEP',
973
-                                      'value ::= variable INSTANCEOF ns1', 'value ::= variable INSTANCEOF variable',
974
-                                      'value ::= SINGLEQUOTESTRING', 'value ::= doublequoted_with_quotes',
975
-                                      'value ::= varindexed DOUBLECOLON static_class_access', 'value ::= smartytag',
976
-                                      'value ::= value modifierlist', 'value ::= NAMESPACE',
977
-                                      'value ::= ns1 DOUBLECOLON static_class_access', 'ns1 ::= ID',
978
-                                      'ns1 ::= NAMESPACE', 'variable ::= DOLLARID', 'variable ::= varindexed',
979
-                                      'variable ::= varvar AT ID', 'variable ::= object', 'variable ::= HATCH ID HATCH',
980
-                                      'variable ::= HATCH ID HATCH arrayindex', 'variable ::= HATCH variable HATCH',
981
-                                      'variable ::= HATCH variable HATCH arrayindex',
982
-                                      'varindexed ::= DOLLARID arrayindex', 'varindexed ::= varvar arrayindex',
983
-                                      'arrayindex ::= arrayindex indexdef', 'arrayindex ::=',
984
-                                      'indexdef ::= DOT DOLLARID', 'indexdef ::= DOT varvar',
985
-                                      'indexdef ::= DOT varvar AT ID', 'indexdef ::= DOT ID',
986
-                                      'indexdef ::= DOT INTEGER', 'indexdef ::= DOT LDEL expr RDEL',
987
-                                      'indexdef ::= OPENB ID CLOSEB', 'indexdef ::= OPENB ID DOT ID CLOSEB',
988
-                                      'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB',
989
-                                      'indexdef ::= OPENB INTEGER CLOSEB', 'indexdef ::= OPENB DOLLARID CLOSEB',
990
-                                      'indexdef ::= OPENB variable CLOSEB', 'indexdef ::= OPENB value CLOSEB',
991
-                                      'indexdef ::= OPENB expr CLOSEB', 'indexdef ::= OPENB CLOSEB',
992
-                                      'varvar ::= DOLLARID', 'varvar ::= DOLLAR', 'varvar ::= varvar varvarele',
993
-                                      'varvarele ::= ID', 'varvarele ::= SIMPELOUTPUT', 'varvarele ::= LDEL expr RDEL',
994
-                                      'object ::= varindexed objectchain', 'objectchain ::= objectelement',
995
-                                      'objectchain ::= objectchain objectelement',
996
-                                      'objectelement ::= PTR ID arrayindex', 'objectelement ::= PTR varvar arrayindex',
997
-                                      'objectelement ::= PTR LDEL expr RDEL arrayindex',
998
-                                      'objectelement ::= PTR ID LDEL expr RDEL arrayindex',
999
-                                      'objectelement ::= PTR method', 'function ::= ns1 OPENP params CLOSEP',
1000
-                                      'method ::= ID OPENP params CLOSEP', 'method ::= DOLLARID OPENP params CLOSEP',
1001
-                                      'params ::= params COMMA expr', 'params ::= expr', 'params ::=',
1002
-                                      'modifierlist ::= modifierlist modifier modparameters',
1003
-                                      'modifierlist ::= modifier modparameters', 'modifier ::= VERT AT ID',
1004
-                                      'modifier ::= VERT ID', 'modparameters ::= modparameters modparameter',
1005
-                                      'modparameters ::=', 'modparameter ::= COLON value',
1006
-                                      'modparameter ::= COLON array', 'static_class_access ::= method',
1007
-                                      'static_class_access ::= method objectchain', 'static_class_access ::= ID',
1008
-                                      'static_class_access ::= DOLLARID arrayindex',
1009
-                                      'static_class_access ::= DOLLARID arrayindex objectchain', 'lop ::= LOGOP',
1010
-                                      'lop ::= SLOGOP', 'tlop ::= TLOGOP', 'scond ::= SINGLECOND',
1011
-                                      'array ::= OPENB arrayelements CLOSEB', 'arrayelements ::= arrayelement',
1012
-                                      'arrayelements ::= arrayelements COMMA arrayelement', 'arrayelements ::=',
1013
-                                      'arrayelement ::= value APTR expr', 'arrayelement ::= ID APTR expr',
1014
-                                      'arrayelement ::= expr', 'doublequoted_with_quotes ::= QUOTE QUOTE',
1015
-                                      'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE',
1016
-                                      'doublequoted ::= doublequoted doublequotedcontent',
1017
-                                      'doublequoted ::= doublequotedcontent',
1018
-                                      'doublequotedcontent ::= BACKTICK variable BACKTICK',
1019
-                                      'doublequotedcontent ::= BACKTICK expr BACKTICK',
1020
-                                      'doublequotedcontent ::= DOLLARID', 'doublequotedcontent ::= LDEL variable RDEL',
1021
-                                      'doublequotedcontent ::= LDEL expr RDEL', 'doublequotedcontent ::= smartytag',
1022
-                                      'doublequotedcontent ::= TEXT',);
1023
-
1024
-    public function tokenName($tokenType)
1025
-    {
1026
-        if ($tokenType === 0) {
1027
-            return 'End of Input';
1028
-        }
390
+	static public $yy_action = array(269, 8, 133, 295, 335, 80, 282, 219, 7, 84, 128, 178, 255, 276, 113, 102, 13, 83,
391
+									 227, 286, 305, 220, 36, 223, 283, 21, 32, 297, 41, 14, 90, 40, 44, 260, 213, 231,
392
+									 250, 235, 210, 128, 81, 1, 298, 296, 102, 269, 8, 132, 79, 335, 196, 184, 219, 7,
393
+									 84, 26, 297, 461, 101, 113, 39, 24, 278, 227, 461, 305, 220, 171, 206, 222, 21,
394
+									 230, 201, 41, 104, 192, 40, 44, 260, 213, 18, 236, 241, 210, 251, 81, 1, 316, 296,
395
+									 114, 269, 8, 135, 79, 335, 205, 302, 219, 7, 84, 116, 107, 477, 477, 113, 33, 197,
396
+									 477, 227, 266, 305, 220, 326, 223, 31, 21, 29, 215, 41, 311, 78, 40, 44, 260, 213,
397
+									 296, 250, 256, 210, 190, 81, 1, 3, 296, 307, 269, 8, 134, 79, 335, 205, 302, 219,
398
+									 7, 84, 232, 18, 296, 294, 113, 334, 85, 323, 227, 136, 305, 220, 328, 223, 29, 21,
399
+									 183, 101, 41, 234, 78, 40, 44, 260, 213, 137, 250, 314, 210, 139, 81, 1, 10, 296,
400
+									 101, 269, 8, 135, 79, 335, 195, 154, 219, 7, 84, 322, 232, 81, 114, 113, 296, 329,
401
+									 94, 227, 315, 305, 220, 326, 212, 120, 21, 168, 215, 41, 281, 114, 40, 44, 260,
402
+									 213, 296, 250, 222, 210, 265, 81, 1, 104, 296, 211, 269, 8, 135, 79, 335, 193, 302,
403
+									 219, 7, 84, 242, 239, 249, 217, 113, 11, 215, 289, 227, 136, 305, 220, 228, 223,
404
+									 222, 21, 238, 149, 41, 104, 78, 40, 44, 260, 213, 461, 250, 329, 210, 6, 81, 1,
405
+									 461, 296, 2, 269, 8, 136, 79, 335, 205, 158, 219, 7, 84, 190, 211, 81, 101, 113,
406
+									 296, 329, 93, 227, 12, 305, 220, 18, 223, 244, 34, 268, 448, 41, 281, 449, 40, 44,
407
+									 260, 213, 191, 250, 36, 210, 448, 81, 1, 449, 296, 14, 269, 8, 135, 79, 335, 205,
408
+									 15, 219, 7, 84, 186, 293, 152, 14, 113, 16, 214, 5, 227, 165, 305, 220, 329, 194,
409
+									 20, 21, 140, 101, 41, 115, 448, 40, 44, 260, 213, 281, 250, 303, 210, 264, 81, 1,
410
+									 448, 296, 169, 269, 8, 131, 79, 335, 205, 176, 219, 7, 84, 137, 28, 296, 310, 113,
411
+									 185, 293, 10, 227, 275, 305, 220, 296, 223, 175, 4, 281, 143, 41, 144, 192, 40, 44,
412
+									 260, 213, 35, 250, 329, 210, 329, 81, 1, 270, 296, 308, 269, 8, 135, 79, 335, 198,
413
+									 121, 219, 7, 84, 190, 292, 17, 232, 113, 166, 284, 281, 227, 141, 305, 220, 211,
414
+									 223, 319, 21, 299, 211, 41, 329, 211, 40, 44, 260, 213, 258, 250, 363, 210, 221,
415
+									 81, 1, 281, 296, 6, 269, 8, 136, 79, 335, 205, 177, 219, 7, 84, 167, 211, 159, 22,
416
+									 113, 104, 211, 156, 227, 300, 305, 220, 329, 223, 274, 34, 359, 329, 41, 172, 192,
417
+									 40, 44, 260, 213, 95, 250, 318, 210, 329, 81, 273, 36, 296, 257, 292, 17, 181, 79,
418
+									 14, 284, 309, 277, 254, 262, 263, 259, 178, 211, 25, 36, 269, 8, 187, 331, 335,
419
+									 261, 14, 219, 7, 84, 192, 303, 211, 38, 113, 237, 321, 180, 227, 267, 305, 220,
420
+									 153, 121, 312, 179, 192, 272, 108, 215, 209, 211, 118, 69, 112, 43, 42, 37, 248,
421
+									 102, 86, 189, 252, 279, 182, 293, 150, 271, 204, 317, 176, 297, 288, 287, 285, 280,
422
+									 329, 281, 312, 174, 87, 202, 330, 215, 209, 170, 118, 69, 112, 43, 42, 37, 138,
423
+									 102, 192, 402, 252, 279, 38, 216, 88, 271, 204, 317, 211, 297, 288, 287, 285, 280,
424
+									 310, 402, 105, 253, 404, 164, 332, 312, 402, 211, 89, 448, 215, 209, 305, 129, 61,
425
+									 106, 163, 238, 404, 142, 102, 448, 305, 252, 279, 404, 305, 305, 271, 204, 317,
426
+									 305, 297, 312, 155, 305, 305, 305, 215, 209, 211, 129, 73, 112, 211, 43, 42, 37,
427
+									 102, 305, 404, 252, 279, 305, 292, 17, 271, 204, 317, 284, 297, 305, 288, 287, 285,
428
+									 280, 404, 203, 305, 477, 477, 312, 305, 404, 477, 305, 215, 209, 305, 129, 73, 112,
429
+									 43, 42, 37, 305, 102, 305, 305, 252, 279, 305, 305, 224, 271, 204, 317, 324, 297,
430
+									 288, 287, 285, 280, 305, 305, 208, 312, 305, 477, 305, 305, 215, 209, 211, 129, 50,
431
+									 106, 305, 117, 305, 305, 102, 148, 401, 252, 279, 92, 325, 448, 271, 204, 317, 329,
432
+									 297, 269, 9, 327, 218, 335, 401, 448, 219, 7, 84, 305, 320, 401, 305, 113, 325,
433
+									 192, 305, 227, 305, 305, 220, 269, 9, 327, 305, 335, 305, 305, 219, 7, 84, 305, 43,
434
+									 42, 37, 113, 305, 305, 305, 227, 305, 305, 220, 305, 305, 305, 305, 291, 27, 288,
435
+									 287, 285, 280, 305, 305, 305, 312, 305, 305, 305, 305, 215, 209, 305, 129, 73, 112,
436
+									 211, 305, 290, 27, 102, 305, 305, 252, 279, 305, 369, 305, 271, 204, 317, 305, 297,
437
+									 225, 305, 312, 305, 211, 305, 207, 215, 209, 36, 129, 54, 112, 305, 188, 305, 14,
438
+									 102, 145, 448, 252, 279, 91, 305, 305, 271, 204, 317, 329, 297, 312, 448, 292, 17,
439
+									 305, 215, 209, 284, 129, 65, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305,
440
+									 305, 305, 271, 204, 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 99, 67,
441
+									 112, 305, 305, 229, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317,
442
+									 312, 297, 211, 305, 305, 215, 209, 305, 129, 45, 112, 305, 246, 305, 305, 102, 162,
443
+									 305, 252, 279, 184, 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215,
444
+									 209, 305, 129, 56, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305,
445
+									 271, 204, 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 96, 55, 112, 305,
446
+									 305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297,
447
+									 211, 305, 305, 215, 97, 305, 82, 47, 103, 305, 247, 305, 305, 102, 151, 305, 252,
448
+									 279, 184, 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305,
449
+									 129, 71, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204,
450
+									 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 129, 59, 112, 305, 305, 305,
451
+									 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305,
452
+									 305, 215, 209, 305, 129, 58, 112, 305, 305, 305, 305, 102, 160, 305, 252, 279, 184,
453
+									 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 53,
454
+									 112, 226, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305,
455
+									 297, 312, 288, 287, 285, 280, 215, 209, 305, 129, 60, 112, 305, 305, 305, 305, 102,
456
+									 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305, 305, 215,
457
+									 209, 305, 100, 64, 112, 305, 305, 305, 305, 102, 146, 305, 252, 279, 184, 305, 305,
458
+									 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 61, 112, 245,
459
+									 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312,
460
+									 288, 287, 285, 280, 215, 200, 305, 129, 63, 112, 305, 305, 305, 305, 102, 305, 305,
461
+									 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305, 305, 215, 209, 305,
462
+									 111, 51, 112, 305, 305, 305, 305, 102, 147, 305, 252, 279, 184, 305, 305, 271, 204,
463
+									 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 49, 112, 305, 43, 42, 37,
464
+									 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 288, 287,
465
+									 285, 280, 215, 209, 305, 129, 75, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279,
466
+									 305, 305, 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 76, 112,
467
+									 305, 305, 305, 305, 102, 161, 305, 252, 279, 184, 305, 305, 271, 204, 317, 329,
468
+									 297, 312, 39, 24, 278, 305, 215, 98, 305, 82, 46, 103, 305, 305, 305, 305, 102,
469
+									 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305,
470
+									 305, 215, 209, 305, 129, 70, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305,
471
+									 305, 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 57, 112, 305,
472
+									 305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297,
473
+									 312, 305, 305, 305, 305, 215, 199, 305, 109, 62, 112, 305, 305, 305, 305, 102, 305,
474
+									 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305, 305,
475
+									 215, 209, 305, 129, 72, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305, 305,
476
+									 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 77, 112, 305, 305,
477
+									 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312,
478
+									 305, 305, 305, 305, 215, 209, 305, 129, 68, 112, 305, 305, 305, 305, 102, 305, 305,
479
+									 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305, 305, 215,
480
+									 209, 305, 129, 74, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305,
481
+									 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 48, 112, 305, 305, 305,
482
+									 305, 102, 305, 305, 252, 279, 414, 414, 305, 271, 204, 317, 305, 297, 312, 305,
483
+									 305, 305, 305, 215, 209, 305, 129, 66, 112, 305, 305, 305, 305, 102, 305, 305, 252,
484
+									 279, 211, 305, 305, 271, 204, 317, 305, 297, 448, 305, 414, 414, 414, 533, 52, 243,
485
+									 239, 249, 217, 305, 448, 215, 305, 305, 30, 305, 36, 414, 414, 414, 414, 305, 233,
486
+									 14, 305, 305, 305, 305, 43, 42, 37, 305, 477, 477, 312, 23, 305, 477, 461, 215,
487
+									 209, 211, 127, 305, 112, 288, 287, 285, 280, 102, 305, 301, 357, 313, 305, 292, 17,
488
+									 271, 204, 317, 284, 297, 305, 305, 302, 305, 461, 36, 36, 461, 36, 477, 157, 461,
489
+									 14, 14, 305, 14, 305, 43, 42, 37, 305, 305, 305, 312, 305, 211, 78, 305, 215, 209,
490
+									 305, 130, 305, 112, 288, 287, 285, 280, 102, 305, 305, 305, 240, 305, 292, 17, 271,
491
+									 204, 317, 284, 297, 36, 305, 305, 305, 305, 305, 305, 14, 36, 305, 173, 312, 43,
492
+									 42, 37, 14, 215, 209, 305, 122, 305, 112, 305, 305, 305, 305, 102, 304, 305, 288,
493
+									 287, 285, 280, 305, 271, 204, 317, 305, 297, 302, 305, 312, 305, 36, 305, 305, 215,
494
+									 209, 305, 123, 14, 112, 312, 305, 305, 305, 102, 215, 209, 305, 124, 305, 112, 78,
495
+									 271, 204, 317, 102, 297, 305, 305, 305, 305, 305, 305, 271, 204, 317, 312, 297,
496
+									 305, 305, 305, 215, 209, 305, 119, 305, 112, 305, 305, 305, 305, 102, 305, 305,
497
+									 233, 305, 305, 305, 305, 271, 204, 317, 305, 297, 477, 477, 312, 32, 305, 477, 461,
498
+									 215, 209, 305, 126, 305, 112, 305, 305, 305, 305, 102, 305, 305, 233, 305, 305,
499
+									 305, 305, 271, 204, 317, 305, 297, 477, 477, 305, 305, 461, 477, 461, 461, 312,
500
+									 477, 19, 461, 211, 215, 209, 305, 125, 305, 112, 305, 477, 477, 305, 102, 305, 477,
501
+									 461, 305, 305, 305, 305, 271, 204, 317, 461, 297, 305, 461, 305, 477, 305, 461,
502
+									 333, 305, 211, 305, 305, 305, 305, 305, 43, 42, 37, 305, 461, 305, 305, 461, 305,
503
+									 477, 305, 461, 305, 305, 233, 110, 305, 288, 287, 285, 280, 305, 306, 305, 477,
504
+									 477, 305, 305, 305, 477, 461, 305, 43, 42, 37, 477, 477, 305, 305, 305, 477, 461,
505
+									 305, 305, 305, 305, 305, 305, 305, 288, 287, 285, 280, 305, 305, 305, 305, 305,
506
+									 461, 305, 305, 461, 408, 477, 305, 461, 305, 305, 305, 461, 305, 305, 461, 408,
507
+									 477, 408, 461, 305, 408, 305, 305, 305, 305, 305, 305, 408, 305, 408, 305, 408,
508
+									 305, 305, 305, 305, 305, 305, 305, 232,);
509
+
510
+	static public $yy_lookahead = array(12, 13, 14, 17, 16, 17, 72, 19, 20, 21, 76, 8, 9, 10, 26, 81, 22, 17, 30, 31,
511
+										32, 33, 27, 35, 90, 37, 15, 93, 40, 34, 36, 43, 44, 45, 46, 72, 48, 51, 50, 76,
512
+										52, 53, 98, 55, 81, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21, 15, 93, 46, 18, 26,
513
+										86, 87, 88, 30, 53, 32, 33, 94, 35, 76, 37, 78, 79, 40, 81, 101, 43, 44, 45, 46,
514
+										36, 48, 38, 50, 14, 52, 53, 54, 55, 49, 12, 13, 14, 60, 16, 17, 23, 19, 20, 21,
515
+										17, 81, 12, 13, 26, 13, 14, 17, 30, 17, 32, 33, 66, 35, 15, 37, 15, 71, 40, 99,
516
+										47, 43, 44, 45, 46, 55, 48, 35, 50, 101, 52, 53, 36, 55, 61, 12, 13, 14, 60, 16,
517
+										17, 23, 19, 20, 21, 46, 36, 55, 38, 26, 54, 105, 106, 30, 14, 32, 33, 17, 35,
518
+										15, 37, 14, 18, 40, 17, 47, 43, 44, 45, 46, 46, 48, 54, 50, 14, 52, 53, 53, 55,
519
+										18, 12, 13, 14, 60, 16, 17, 73, 19, 20, 21, 50, 46, 52, 49, 26, 55, 83, 37, 30,
520
+										54, 32, 33, 66, 35, 17, 37, 94, 71, 40, 96, 49, 43, 44, 45, 46, 55, 48, 76, 50,
521
+										78, 52, 53, 81, 55, 1, 12, 13, 14, 60, 16, 17, 23, 19, 20, 21, 65, 66, 67, 68,
522
+										26, 13, 71, 106, 30, 14, 32, 33, 17, 35, 76, 37, 78, 73, 40, 81, 47, 43, 44, 45,
523
+										46, 46, 48, 83, 50, 37, 52, 53, 53, 55, 37, 12, 13, 14, 60, 16, 17, 73, 19, 20,
524
+										21, 101, 1, 52, 18, 26, 55, 83, 94, 30, 29, 32, 33, 36, 35, 38, 37, 17, 37, 40,
525
+										96, 37, 43, 44, 45, 46, 17, 48, 27, 50, 49, 52, 53, 49, 55, 34, 12, 13, 14, 60,
526
+										16, 17, 27, 19, 20, 21, 97, 98, 73, 34, 26, 13, 14, 37, 30, 17, 32, 33, 83, 35,
527
+										42, 37, 14, 18, 40, 49, 37, 43, 44, 45, 46, 96, 48, 102, 50, 35, 52, 53, 49, 55,
528
+										52, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21, 46, 15, 55, 95, 26, 97, 98, 53, 30,
529
+										23, 32, 33, 55, 35, 94, 37, 96, 73, 40, 73, 101, 43, 44, 45, 46, 24, 48, 83, 50,
530
+										83, 52, 53, 17, 55, 92, 12, 13, 14, 60, 16, 17, 99, 19, 20, 21, 101, 12, 13, 46,
531
+										26, 94, 17, 96, 30, 73, 32, 33, 1, 35, 54, 37, 17, 1, 40, 83, 1, 43, 44, 45, 46,
532
+										38, 48, 11, 50, 18, 52, 53, 96, 55, 37, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21,
533
+										76, 1, 73, 29, 26, 81, 1, 73, 30, 17, 32, 33, 83, 35, 35, 37, 11, 83, 40, 73,
534
+										101, 43, 44, 45, 46, 82, 48, 54, 50, 83, 52, 67, 27, 55, 70, 12, 13, 77, 60, 34,
535
+										17, 14, 3, 4, 5, 6, 7, 8, 1, 2, 27, 12, 13, 77, 54, 16, 5, 34, 19, 20, 21, 101,
536
+										102, 1, 2, 26, 17, 92, 82, 30, 11, 32, 33, 52, 99, 66, 82, 101, 17, 80, 71, 72,
537
+										1, 74, 75, 76, 39, 40, 41, 83, 81, 81, 11, 84, 85, 97, 98, 73, 89, 90, 91, 77,
538
+										93, 56, 57, 58, 59, 83, 96, 66, 94, 81, 103, 104, 71, 72, 94, 74, 75, 76, 39,
539
+										40, 41, 81, 81, 101, 11, 84, 85, 2, 15, 81, 89, 90, 91, 1, 93, 56, 57, 58, 59,
540
+										95, 27, 69, 9, 11, 94, 104, 66, 34, 1, 81, 37, 71, 72, 107, 74, 75, 76, 94, 78,
541
+										27, 28, 81, 49, 107, 84, 85, 34, 107, 107, 89, 90, 91, 107, 93, 66, 28, 107,
542
+										107, 107, 71, 72, 1, 74, 75, 76, 1, 39, 40, 41, 81, 107, 11, 84, 85, 107, 12,
543
+										13, 89, 90, 91, 17, 93, 107, 56, 57, 58, 59, 27, 100, 107, 12, 13, 66, 107, 34,
544
+										17, 107, 71, 72, 107, 74, 75, 76, 39, 40, 41, 107, 81, 107, 107, 84, 85, 107,
545
+										107, 51, 89, 90, 91, 54, 93, 56, 57, 58, 59, 107, 107, 100, 66, 107, 51, 107,
546
+										107, 71, 72, 1, 74, 75, 76, 107, 78, 107, 107, 81, 73, 11, 84, 85, 77, 5, 37,
547
+										89, 90, 91, 83, 93, 12, 13, 14, 46, 16, 27, 49, 19, 20, 21, 107, 54, 34, 107,
548
+										26, 5, 101, 107, 30, 107, 32, 33, 12, 13, 14, 107, 16, 107, 107, 19, 20, 21,
549
+										107, 39, 40, 41, 26, 107, 107, 107, 30, 107, 32, 33, 107, 107, 107, 107, 60, 61,
550
+										56, 57, 58, 59, 107, 107, 107, 66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76,
551
+										1, 107, 60, 61, 81, 107, 107, 84, 85, 107, 11, 107, 89, 90, 91, 107, 93, 18,
552
+										107, 66, 107, 1, 107, 100, 71, 72, 27, 74, 75, 76, 107, 11, 107, 34, 81, 73, 37,
553
+										84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 49, 12, 13, 107, 71, 72, 17, 74,
554
+										75, 76, 107, 39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107,
555
+										93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 51, 107, 81, 107,
556
+										107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74,
557
+										75, 76, 107, 11, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83,
558
+										93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 107, 39, 40, 41, 81, 101, 107,
559
+										84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74,
560
+										75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66,
561
+										93, 1, 107, 107, 71, 72, 107, 74, 75, 76, 107, 11, 107, 107, 81, 73, 107, 84,
562
+										85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75,
563
+										76, 107, 39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
564
+										66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
565
+										84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74, 75, 76,
566
+										107, 107, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66,
567
+										86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 38, 39, 40, 41, 81, 101, 107, 84, 85,
568
+										107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76,
569
+										107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1,
570
+										107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 73, 107, 84, 85, 77,
571
+										107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 38,
572
+										39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 56,
573
+										57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85,
574
+										107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74, 75, 76, 107,
575
+										107, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 86,
576
+										87, 88, 107, 71, 72, 107, 74, 75, 76, 107, 39, 40, 41, 81, 101, 107, 84, 85,
577
+										107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76,
578
+										107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93,
579
+										107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 73, 107, 84, 85,
580
+										77, 107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76,
581
+										107, 107, 107, 107, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
582
+										66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107,
583
+										107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107, 74,
584
+										75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91,
585
+										107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107,
586
+										81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107,
587
+										107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107,
588
+										107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107,
589
+										107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107,
590
+										107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84,
591
+										85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74,
592
+										75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66,
593
+										93, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
594
+										84, 85, 1, 2, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74,
595
+										75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 1, 107, 107, 89, 90, 91, 107,
596
+										93, 37, 107, 39, 40, 41, 63, 64, 65, 66, 67, 68, 107, 49, 71, 107, 107, 25, 107,
597
+										27, 56, 57, 58, 59, 107, 2, 34, 107, 107, 107, 107, 39, 40, 41, 107, 12, 13, 66,
598
+										15, 107, 17, 18, 71, 72, 1, 74, 107, 76, 56, 57, 58, 59, 81, 107, 11, 11, 85,
599
+										107, 12, 13, 89, 90, 91, 17, 93, 107, 107, 23, 107, 46, 27, 27, 49, 27, 51, 29,
600
+										53, 34, 34, 107, 34, 107, 39, 40, 41, 107, 107, 107, 66, 107, 1, 47, 107, 71,
601
+										72, 107, 74, 107, 76, 56, 57, 58, 59, 81, 107, 107, 107, 85, 107, 12, 13, 89,
602
+										90, 91, 17, 93, 27, 107, 107, 107, 107, 107, 107, 34, 27, 107, 29, 66, 39, 40,
603
+										41, 34, 71, 72, 107, 74, 107, 76, 107, 107, 107, 107, 81, 11, 107, 56, 57, 58,
604
+										59, 107, 89, 90, 91, 107, 93, 23, 107, 66, 107, 27, 107, 107, 71, 72, 107, 74,
605
+										34, 76, 66, 107, 107, 107, 81, 71, 72, 107, 74, 107, 76, 47, 89, 90, 91, 81, 93,
606
+										107, 107, 107, 107, 107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107,
607
+										74, 107, 76, 107, 107, 107, 107, 81, 107, 107, 2, 107, 107, 107, 107, 89, 90,
608
+										91, 107, 93, 12, 13, 66, 15, 107, 17, 18, 71, 72, 107, 74, 107, 76, 107, 107,
609
+										107, 107, 81, 107, 107, 2, 107, 107, 107, 107, 89, 90, 91, 107, 93, 12, 13, 107,
610
+										107, 46, 17, 18, 49, 66, 51, 2, 53, 1, 71, 72, 107, 74, 107, 76, 107, 12, 13,
611
+										107, 81, 107, 17, 18, 107, 107, 107, 107, 89, 90, 91, 46, 93, 107, 49, 107, 51,
612
+										107, 53, 54, 107, 1, 107, 107, 107, 107, 107, 39, 40, 41, 107, 46, 107, 107, 49,
613
+										107, 51, 107, 53, 107, 107, 2, 22, 107, 56, 57, 58, 59, 107, 61, 107, 12, 13,
614
+										107, 107, 107, 17, 18, 107, 39, 40, 41, 12, 13, 107, 107, 107, 17, 18, 107, 107,
615
+										107, 107, 107, 107, 107, 56, 57, 58, 59, 107, 107, 107, 107, 107, 46, 107, 107,
616
+										49, 11, 51, 107, 53, 107, 107, 107, 46, 107, 107, 49, 22, 51, 24, 53, 107, 27,
617
+										107, 107, 107, 107, 107, 107, 34, 107, 36, 107, 38, 107, 107, 107, 107, 107,
618
+										107, 107, 46,);
619
+
620
+	const YY_SHIFT_USE_DFLT = - 15;
621
+
622
+	const YY_SHIFT_MAX = 238;
623
+
624
+	static public $yy_shift_ofst = array(499, 393, 78, 393, 348, 78, 78, 348, - 12, - 12, 33, 78, 78, 78, 78, 168, 78,
625
+										 78, 78, 213, 123, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 303, 78, 78, 78,
626
+										 168, 258, 258, 438, 438, 438, 438, 438, 438, 1609, 1660, 1706, 1706, 1706,
627
+										 1706, 1706, 499, 1912, 1153, 609, 541, 507, 989, 907, 825, 1071, 646, 1880,
628
+										 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 731,
629
+										 731, 140, 725, 804, 230, 465, 280, 160, 747, 1714, 1663, 483, 483, 160, 280,
630
+										 280, 324, 160, 522, 594, 1661, 1749, 642, 715, 317, 842, 40, 404, 3, 144, 404,
631
+										 - 5, 460, 327, 431, 161, 294, 147, 147, 426, - 5, 434, 223, 223, 265, 223, 223,
632
+										 223, 223, 223, 223, 265, 223, - 15, 1827, 1857, 1640, 1877, 1931, 1942, 92,
633
+										 645, 11, 90, - 5, 70, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, 214,
634
+										 - 5, 70, - 5, 70, - 5, - 5, - 5, - 5, - 5, 124, 124, 227, 124, 356, 124, 214,
635
+										 124, 124, - 5, 70, 124, 124, 223, 223, 595, 587, 587, 223, 265, 232, 223, 265,
636
+										 265, 223, - 15, - 15, - 15, - 15, - 15, 1581, 1970, 575, 694, 660, 260, 118,
637
+										 73, - 6, 96, 256, 295, 308, 145, 44, 110, 208, 263, - 14, 99, 439, 232, 519,
638
+										 521, 511, 509, 487, 83, 187, 101, 372, 279, 0, 297, 288, 481, 452, 371, 307,
639
+										 319, 385, 412, 414, 433, 375, 402,);
640
+
641
+	const YY_REDUCE_USE_DFLT = - 67;
642
+
643
+	const YY_REDUCE_MAX = 192;
644
+
645
+	static public $yy_reduce_ofst = array(1560, 469, 608, 503, 542, 570, 728, 643, 922, 1278, 1360, 1060, 950, 1032,
646
+										  1086, 896, 868, 1004, 786, 1414, 1332, 1114, 1524, 1168, 1224, 1250, 1196,
647
+										  1142, 1306, 1470, 1496, 1388, 1442, 978, 758, 840, 814, 1588, 1639, 1745,
648
+										  1719, 1678, 1708, 1775, 1811, 1259, 931, 931, 1013, 1095, 849, 1177, 170,
649
+										  - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26,
650
+										  - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 66,
651
+										  46, 652, - 37, 484, 767, - 7, 136, 351, 113, 203, 254, 141, 314, 179, 278,
652
+										  173, 420, 289, 394, 394, 289, 289, 20, 290, 228, 290, 424, 228, 326, 406, 289,
653
+										  384, 289, 228, 316, 312, 435, 379, 389, 289, 289, 436, 458, 289, 289, 289,
654
+										  289, 289, 289, 228, 289, 289, 476, 476, 476, 476, 476, 476, 502, 472, 476,
655
+										  476, 466, 470, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 482, 466,
656
+										  490, 466, 510, 466, 466, 466, 466, 466, 506, 506, 512, 506, 459, 506, 525,
657
+										  506, 506, 466, 530, 506, 506, 28, 28, 534, 250, 250, 28, - 56, 193, 28, - 56,
658
+										  - 56, 28, 112, - 27, 454, 403, 446,);
659
+
660
+	static public $yyExpectedTokens = array(array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 21, 26, 30, 32, 33,),
661
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
662
+												  45, 46, 48, 50, 52, 53, 55, 60,),
663
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
664
+												  45, 46, 48, 50, 52, 53, 55, 60,),
665
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
666
+												  45, 46, 48, 50, 52, 53, 55, 60,),
667
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
668
+												  45, 46, 48, 50, 52, 53, 55, 60,),
669
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
670
+												  45, 46, 48, 50, 52, 53, 55, 60,),
671
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
672
+												  45, 46, 48, 50, 52, 53, 55, 60,),
673
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
674
+												  45, 46, 48, 50, 52, 53, 55, 60,),
675
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 31, 32, 33, 35, 37, 40, 43,
676
+												  44, 45, 46, 48, 50, 52, 53, 55, 60,),
677
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 31, 32, 33, 35, 37, 40, 43,
678
+												  44, 45, 46, 48, 50, 52, 53, 55, 60,),
679
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
680
+												  45, 46, 48, 50, 52, 53, 54, 55, 60,),
681
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
682
+												  45, 46, 48, 50, 52, 53, 55, 60,),
683
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
684
+												  45, 46, 48, 50, 52, 53, 55, 60,),
685
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
686
+												  45, 46, 48, 50, 52, 53, 55, 60,),
687
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
688
+												  45, 46, 48, 50, 52, 53, 55, 60,),
689
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
690
+												  45, 46, 48, 50, 52, 53, 55, 60,),
691
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
692
+												  45, 46, 48, 50, 52, 53, 55, 60,),
693
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
694
+												  45, 46, 48, 50, 52, 53, 55, 60,),
695
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
696
+												  45, 46, 48, 50, 52, 53, 55, 60,),
697
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
698
+												  45, 46, 48, 50, 52, 53, 55, 60,),
699
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
700
+												  45, 46, 48, 50, 52, 53, 55, 60,),
701
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
702
+												  45, 46, 48, 50, 52, 53, 55, 60,),
703
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
704
+												  45, 46, 48, 50, 52, 53, 55, 60,),
705
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
706
+												  45, 46, 48, 50, 52, 53, 55, 60,),
707
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
708
+												  45, 46, 48, 50, 52, 53, 55, 60,),
709
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
710
+												  45, 46, 48, 50, 52, 53, 55, 60,),
711
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
712
+												  45, 46, 48, 50, 52, 53, 55, 60,),
713
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
714
+												  45, 46, 48, 50, 52, 53, 55, 60,),
715
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
716
+												  45, 46, 48, 50, 52, 53, 55, 60,),
717
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
718
+												  45, 46, 48, 50, 52, 53, 55, 60,),
719
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
720
+												  45, 46, 48, 50, 52, 53, 55, 60,),
721
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
722
+												  45, 46, 48, 50, 52, 53, 55, 60,),
723
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
724
+												  45, 46, 48, 50, 52, 53, 55, 60,),
725
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
726
+												  45, 46, 48, 50, 52, 53, 55, 60,),
727
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
728
+												  45, 46, 48, 50, 52, 53, 55, 60,),
729
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
730
+												  45, 46, 48, 50, 52, 53, 55, 60,),
731
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
732
+												  45, 46, 48, 50, 52, 53, 55, 60,),
733
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
734
+												  45, 46, 48, 50, 52, 53, 55, 60,),
735
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
736
+												  45, 46, 48, 50, 52, 53, 55, 60,),
737
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
738
+												  45, 46, 48, 50, 52, 55, 60,),
739
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
740
+												  45, 46, 48, 50, 52, 55, 60,),
741
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
742
+												  45, 46, 48, 50, 52, 55, 60,),
743
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
744
+												  45, 46, 48, 50, 52, 55, 60,),
745
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
746
+												  45, 46, 48, 50, 52, 55, 60,),
747
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
748
+												  45, 46, 48, 50, 52, 55, 60,),
749
+											array(1, 25, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
750
+											array(1, 11, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
751
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
752
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
753
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
754
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
755
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
756
+											array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 21, 26, 30, 32, 33,),
757
+											array(1, 22, 39, 40, 41, 56, 57, 58, 59,),
758
+											array(1, 38, 39, 40, 41, 56, 57, 58, 59,),
759
+											array(1, 28, 39, 40, 41, 56, 57, 58, 59,),
760
+											array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
761
+											array(1, 2, 39, 40, 41, 56, 57, 58, 59,),
762
+											array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
763
+											array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
764
+											array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
765
+											array(1, 38, 39, 40, 41, 56, 57, 58, 59,),
766
+											array(1, 39, 40, 41, 54, 56, 57, 58, 59,),
767
+											array(1, 39, 40, 41, 56, 57, 58, 59, 61,),
768
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
769
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
770
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
771
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
772
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
773
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
774
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
775
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
776
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
777
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
778
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
779
+											array(1, 39, 40, 41, 56, 57, 58, 59,), array(39, 40, 41, 56, 57, 58, 59,),
780
+											array(39, 40, 41, 56, 57, 58, 59,), array(14, 17, 50, 52, 55,),
781
+											array(5, 12, 13, 14, 16, 19, 20, 21, 26, 30, 32, 33, 60, 61,),
782
+											array(1, 11, 18, 27, 34, 37, 49,), array(14, 17, 52, 55,),
783
+											array(1, 11, 27, 34,), array(1, 27, 34,), array(14, 37, 55,),
784
+											array(5, 12, 13, 14, 16, 19, 20, 21, 26, 30, 32, 33, 60, 61,),
785
+											array(12, 13, 17, 27, 29, 34,), array(12, 13, 17, 27, 29, 34,),
786
+											array(12, 13, 17, 27, 34,), array(12, 13, 17, 27, 34,), array(14, 37, 55,),
787
+											array(1, 27, 34,), array(1, 27, 34,), array(18, 46, 53,),
788
+											array(14, 37, 55,), array(1, 2,), array(1, 11, 27, 28, 34,),
789
+											array(11, 23, 27, 34, 47,), array(11, 23, 27, 34, 47,),
790
+											array(1, 11, 27, 34,), array(1, 11, 27, 34,), array(13, 14, 17, 55,),
791
+											array(12, 13, 17, 51,), array(15, 18, 49,), array(12, 13, 17,),
792
+											array(8, 9, 10,), array(15, 18, 49,), array(12, 13, 17,), array(27, 34,),
793
+											array(1, 54,), array(14, 55,), array(1, 11,), array(18, 49,),
794
+											array(27, 34,), array(14, 17,), array(14, 17,), array(1, 18,),
795
+											array(27, 34,), array(1, 29,), array(1,), array(1,), array(18,), array(1,),
796
+											array(1,), array(1,), array(1,), array(1,), array(1,), array(18,),
797
+											array(1,), array(), array(2, 12, 13, 15, 17, 18, 46, 49, 51, 53,),
798
+											array(2, 12, 13, 17, 18, 46, 49, 51, 53, 54,),
799
+											array(2, 12, 13, 15, 17, 18, 46, 49, 51, 53,),
800
+											array(2, 12, 13, 17, 18, 46, 49, 51, 53,),
801
+											array(2, 12, 13, 17, 18, 46, 49, 51, 53,),
802
+											array(12, 13, 17, 18, 46, 49, 51, 53,), array(13, 14, 17, 35, 55,),
803
+											array(12, 13, 17, 51,), array(15, 46, 53,), array(12, 13, 17,),
804
+											array(27, 34,), array(14, 55,), array(27, 34,), array(27, 34,),
805
+											array(27, 34,), array(27, 34,), array(27, 34,), array(27, 34,),
806
+											array(27, 34,), array(27, 34,), array(27, 34,), array(27, 34,),
807
+											array(46, 53,), array(27, 34,), array(14, 55,), array(27, 34,),
808
+											array(14, 55,), array(27, 34,), array(27, 34,), array(27, 34,),
809
+											array(27, 34,), array(27, 34,), array(46, 53,), array(46, 53,),
810
+											array(13, 37,), array(46, 53,), array(15, 23,), array(46, 53,),
811
+											array(46, 53,), array(46, 53,), array(46, 53,), array(27, 34,),
812
+											array(14, 55,), array(46, 53,), array(46, 53,), array(1,), array(1,),
813
+											array(9,), array(2,), array(2,), array(1,), array(18,), array(37,),
814
+											array(1,), array(18,), array(18,), array(1,), array(), array(), array(),
815
+											array(), array(), array(1, 2, 37, 39, 40, 41, 49, 56, 57, 58, 59,),
816
+											array(11, 22, 24, 27, 34, 36, 38, 46,), array(11, 15, 27, 34, 37, 49,),
817
+											array(37, 46, 49, 54,), array(12, 13, 17, 51,), array(29, 37, 49,),
818
+											array(23, 47, 54,), array(23, 47, 61,), array(22, 36,), array(36, 54,),
819
+											array(36, 38,), array(37, 49,), array(37, 49,), array(46, 54,),
820
+											array(36, 38,), array(36, 38,), array(23, 47,), array(37, 49,),
821
+											array(17, 51,), array(15, 46,), array(35,), array(37,), array(11,),
822
+											array(17,), array(5,), array(17,), array(14,), array(17,), array(17,),
823
+											array(15,), array(46,), array(17,), array(17,), array(42,), array(17,),
824
+											array(52,), array(17,), array(24,), array(52,), array(35,), array(17,),
825
+											array(37,), array(17,), array(54,), array(54,), array(38,), array(),
826
+											array(), array(), array(), array(), array(), array(), array(), array(),
827
+											array(), array(), array(), array(), array(), array(), array(), array(),
828
+											array(), array(), array(), array(), array(), array(), array(), array(),
829
+											array(), array(), array(), array(), array(), array(), array(), array(),
830
+											array(), array(), array(), array(), array(), array(), array(), array(),
831
+											array(), array(), array(), array(), array(), array(), array(), array(),
832
+											array(), array(), array(), array(), array(), array(), array(), array(),
833
+											array(), array(), array(), array(), array(), array(), array(), array(),
834
+											array(), array(), array(), array(), array(), array(), array(), array(),
835
+											array(), array(), array(), array(), array(), array(), array(), array(),
836
+											array(), array(), array(), array(), array(), array(), array(), array(),
837
+											array(), array(), array(), array(), array(), array(), array(), array(),);
838
+
839
+	static public $yy_default = array(339, 517, 496, 532, 532, 496, 496, 532, 532, 532, 532, 532, 532, 532, 532, 532,
840
+									  532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
841
+									  532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 398, 532, 361,
842
+									  398, 398, 374, 364, 336, 532, 532, 403, 532, 532, 532, 532, 532, 532, 532, 532,
843
+									  400, 494, 518, 403, 409, 520, 379, 519, 405, 495, 410, 420, 425, 424, 532, 532,
844
+									  436, 532, 412, 398, 532, 532, 398, 398, 398, 398, 532, 398, 398, 508, 532, 388,
845
+									  412, 426, 426, 412, 412, 532, 461, 451, 461, 532, 451, 461, 398, 412, 532, 412,
846
+									  451, 398, 532, 532, 392, 376, 412, 419, 394, 505, 427, 416, 428, 429, 415, 423,
847
+									  451, 412, 503, 450, 450, 450, 450, 450, 450, 532, 463, 477, 461, 384, 532, 372,
848
+									  383, 371, 366, 365, 368, 370, 360, 362, 385, 454, 386, 532, 358, 532, 387, 377,
849
+									  382, 381, 375, 457, 486, 461, 487, 532, 489, 456, 455, 488, 378, 532, 458, 459,
850
+									  445, 393, 352, 497, 498, 389, 506, 461, 418, 509, 483, 395, 461, 461, 502, 502,
851
+									  502, 436, 432, 436, 436, 462, 436, 426, 426, 532, 532, 532, 532, 436, 432, 532,
852
+									  532, 426, 446, 532, 432, 532, 477, 532, 532, 344, 532, 532, 532, 532, 532, 432,
853
+									  532, 532, 438, 532, 532, 532, 406, 532, 434, 532, 507, 532, 441, 532, 532, 340,
854
+									  504, 492, 338, 337, 491, 438, 467, 482, 396, 341, 441, 477, 413, 349, 343, 350,
855
+									  466, 351, 411, 348, 431, 346, 345, 347, 433, 407, 465, 355, 464, 356, 414, 437,
856
+									  399, 353, 435, 380, 354, 342, 421, 417, 513, 479, 440, 439, 480, 512, 390, 511,
857
+									  510, 523, 522, 521, 481, 484, 493, 500, 478, 453, 485, 499, 452, 529, 430, 501,
858
+									  528, 391, 526, 525, 443, 373, 460, 490, 444, 422, 473, 471, 476, 442, 470, 469,
859
+									  468, 447, 449, 524, 475, 531, 530, 527, 448, 397, 515, 474, 516, 472, 514, 367,);
860
+
861
+	const YYNOCODE = 108;
862
+
863
+	const YYSTACKDEPTH = 500;
864
+
865
+	const YYNSTATE = 336;
866
+
867
+	const YYNRULE = 196;
868
+
869
+	const YYERRORSYMBOL = 62;
870
+
871
+	const YYERRSYMDT = 'yy0';
872
+
873
+	const YYFALLBACK = 0;
874
+
875
+	public static $yyFallback = array();
876
+
877
+	public function Trace($TraceFILE, $zTracePrompt)
878
+	{
879
+		if (!$TraceFILE) {
880
+			$zTracePrompt = 0;
881
+		} elseif (!$zTracePrompt) {
882
+			$TraceFILE = 0;
883
+		}
884
+		$this->yyTraceFILE = $TraceFILE;
885
+		$this->yyTracePrompt = $zTracePrompt;
886
+	}
887
+
888
+	public function PrintTrace()
889
+	{
890
+		$this->yyTraceFILE = fopen('php://output', 'w');
891
+		$this->yyTracePrompt = '<br>';
892
+	}
893
+
894
+	public $yyTraceFILE;
895
+
896
+	public $yyTracePrompt;
897
+
898
+	public $yyidx;                    /* Index of top element in stack */
899
+	public $yyerrcnt;                 /* Shifts left before out of the error */
900
+	public $yystack = array();  /* The parser's stack */
901
+
902
+	public $yyTokenName = array('$', 'VERT', 'COLON', 'PHP', 'NOCACHE', 'TEXT', 'STRIPON', 'STRIPOFF', 'LITERALSTART',
903
+								'LITERALEND', 'LITERAL', 'RDEL', 'SIMPELOUTPUT', 'LDEL', 'DOLLARID', 'EQUAL',
904
+								'SIMPLETAG', 'ID', 'PTR', 'LDELMAKENOCACHE', 'LDELIF', 'LDELFOR', 'SEMICOLON', 'INCDEC',
905
+								'TO', 'STEP', 'LDELFOREACH', 'SPACE', 'AS', 'APTR', 'LDELSETFILTER',
906
+								'SMARTYBLOCKCHILDPARENT', 'CLOSETAG', 'LDELSLASH', 'ATTR', 'INTEGER', 'COMMA', 'OPENP',
907
+								'CLOSEP', 'MATH', 'UNIMATH', 'ISIN', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT',
908
+								'INSTANCEOF', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH', 'OPENB',
909
+								'CLOSEB', 'DOLLAR', 'LOGOP', 'SLOGOP', 'TLOGOP', 'SINGLECOND', 'QUOTE', 'BACKTICK',
910
+								'error', 'start', 'template', 'template_element', 'smartytag', 'literal',
911
+								'text_content', 'literal_elements', 'literal_element', 'tag', 'variable', 'attributes',
912
+								'value', 'expr', 'varindexed', 'modifierlist', 'statement', 'statements', 'foraction',
913
+								'varvar', 'modparameters', 'attribute', 'ternary', 'array', 'tlop', 'lop', 'scond',
914
+								'function', 'ns1', 'doublequoted_with_quotes', 'static_class_access', 'object',
915
+								'arrayindex', 'indexdef', 'varvarele', 'objectchain', 'objectelement', 'method',
916
+								'params', 'modifier', 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted',
917
+								'doublequotedcontent',);
918
+
919
+	public static $yyRuleName = array('start ::= template', 'template ::= template_element',
920
+									  'template ::= template template_element', 'template ::=',
921
+									  'template_element ::= smartytag', 'template_element ::= literal',
922
+									  'template_element ::= PHP', 'template_element ::= NOCACHE',
923
+									  'template_element ::= text_content', 'text_content ::= TEXT',
924
+									  'text_content ::= text_content TEXT', 'template_element ::= STRIPON',
925
+									  'template_element ::= STRIPOFF', 'literal ::= LITERALSTART LITERALEND',
926
+									  'literal ::= LITERALSTART literal_elements LITERALEND',
927
+									  'literal_elements ::= literal_elements literal_element', 'literal_elements ::=',
928
+									  'literal_element ::= literal', 'literal_element ::= LITERAL',
929
+									  'smartytag ::= tag RDEL', 'smartytag ::= SIMPELOUTPUT', 'tag ::= LDEL variable',
930
+									  'tag ::= LDEL variable attributes', 'tag ::= LDEL value',
931
+									  'tag ::= LDEL value attributes', 'tag ::= LDEL expr',
932
+									  'tag ::= LDEL expr attributes', 'tag ::= LDEL DOLLARID EQUAL value',
933
+									  'tag ::= LDEL DOLLARID EQUAL expr', 'tag ::= LDEL DOLLARID EQUAL expr attributes',
934
+									  'tag ::= LDEL varindexed EQUAL expr attributes', 'smartytag ::= SIMPLETAG',
935
+									  'tag ::= LDEL ID attributes', 'tag ::= LDEL ID',
936
+									  'tag ::= LDEL ID modifierlist attributes', 'tag ::= LDEL ID PTR ID attributes',
937
+									  'tag ::= LDEL ID PTR ID modifierlist attributes',
938
+									  'tag ::= LDELMAKENOCACHE DOLLARID', 'tag ::= LDELIF expr',
939
+									  'tag ::= LDELIF expr attributes', 'tag ::= LDELIF statement',
940
+									  'tag ::= LDELIF statement attributes',
941
+									  'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes',
942
+									  'foraction ::= EQUAL expr', 'foraction ::= INCDEC',
943
+									  'tag ::= LDELFOR statement TO expr attributes',
944
+									  'tag ::= LDELFOR statement TO expr STEP expr attributes',
945
+									  'tag ::= LDELFOREACH attributes',
946
+									  'tag ::= LDELFOREACH SPACE value AS varvar attributes',
947
+									  'tag ::= LDELFOREACH SPACE value AS varvar APTR varvar attributes',
948
+									  'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
949
+									  'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
950
+									  'tag ::= LDELSETFILTER ID modparameters',
951
+									  'tag ::= LDELSETFILTER ID modparameters modifierlist',
952
+									  'tag ::= LDEL SMARTYBLOCKCHILDPARENT', 'smartytag ::= CLOSETAG',
953
+									  'tag ::= LDELSLASH ID', 'tag ::= LDELSLASH ID modifierlist',
954
+									  'tag ::= LDELSLASH ID PTR ID', 'tag ::= LDELSLASH ID PTR ID modifierlist',
955
+									  'attributes ::= attributes attribute', 'attributes ::= attribute',
956
+									  'attributes ::=', 'attribute ::= SPACE ID EQUAL ID', 'attribute ::= ATTR expr',
957
+									  'attribute ::= ATTR value', 'attribute ::= SPACE ID', 'attribute ::= SPACE expr',
958
+									  'attribute ::= SPACE value', 'attribute ::= SPACE INTEGER EQUAL expr',
959
+									  'statements ::= statement', 'statements ::= statements COMMA statement',
960
+									  'statement ::= DOLLARID EQUAL INTEGER', 'statement ::= DOLLARID EQUAL expr',
961
+									  'statement ::= varindexed EQUAL expr', 'statement ::= OPENP statement CLOSEP',
962
+									  'expr ::= value', 'expr ::= ternary', 'expr ::= DOLLARID COLON ID',
963
+									  'expr ::= expr MATH value', 'expr ::= expr UNIMATH value', 'expr ::= array',
964
+									  'expr ::= expr modifierlist', 'expr ::= expr tlop value',
965
+									  'expr ::= expr lop expr', 'expr ::= expr scond', 'expr ::= expr ISIN array',
966
+									  'expr ::= expr ISIN value',
967
+									  'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr',
968
+									  'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr', 'value ::= variable',
969
+									  'value ::= UNIMATH value', 'value ::= NOT value', 'value ::= TYPECAST value',
970
+									  'value ::= variable INCDEC', 'value ::= HEX', 'value ::= INTEGER',
971
+									  'value ::= INTEGER DOT INTEGER', 'value ::= INTEGER DOT', 'value ::= DOT INTEGER',
972
+									  'value ::= ID', 'value ::= function', 'value ::= OPENP expr CLOSEP',
973
+									  'value ::= variable INSTANCEOF ns1', 'value ::= variable INSTANCEOF variable',
974
+									  'value ::= SINGLEQUOTESTRING', 'value ::= doublequoted_with_quotes',
975
+									  'value ::= varindexed DOUBLECOLON static_class_access', 'value ::= smartytag',
976
+									  'value ::= value modifierlist', 'value ::= NAMESPACE',
977
+									  'value ::= ns1 DOUBLECOLON static_class_access', 'ns1 ::= ID',
978
+									  'ns1 ::= NAMESPACE', 'variable ::= DOLLARID', 'variable ::= varindexed',
979
+									  'variable ::= varvar AT ID', 'variable ::= object', 'variable ::= HATCH ID HATCH',
980
+									  'variable ::= HATCH ID HATCH arrayindex', 'variable ::= HATCH variable HATCH',
981
+									  'variable ::= HATCH variable HATCH arrayindex',
982
+									  'varindexed ::= DOLLARID arrayindex', 'varindexed ::= varvar arrayindex',
983
+									  'arrayindex ::= arrayindex indexdef', 'arrayindex ::=',
984
+									  'indexdef ::= DOT DOLLARID', 'indexdef ::= DOT varvar',
985
+									  'indexdef ::= DOT varvar AT ID', 'indexdef ::= DOT ID',
986
+									  'indexdef ::= DOT INTEGER', 'indexdef ::= DOT LDEL expr RDEL',
987
+									  'indexdef ::= OPENB ID CLOSEB', 'indexdef ::= OPENB ID DOT ID CLOSEB',
988
+									  'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB',
989
+									  'indexdef ::= OPENB INTEGER CLOSEB', 'indexdef ::= OPENB DOLLARID CLOSEB',
990
+									  'indexdef ::= OPENB variable CLOSEB', 'indexdef ::= OPENB value CLOSEB',
991
+									  'indexdef ::= OPENB expr CLOSEB', 'indexdef ::= OPENB CLOSEB',
992
+									  'varvar ::= DOLLARID', 'varvar ::= DOLLAR', 'varvar ::= varvar varvarele',
993
+									  'varvarele ::= ID', 'varvarele ::= SIMPELOUTPUT', 'varvarele ::= LDEL expr RDEL',
994
+									  'object ::= varindexed objectchain', 'objectchain ::= objectelement',
995
+									  'objectchain ::= objectchain objectelement',
996
+									  'objectelement ::= PTR ID arrayindex', 'objectelement ::= PTR varvar arrayindex',
997
+									  'objectelement ::= PTR LDEL expr RDEL arrayindex',
998
+									  'objectelement ::= PTR ID LDEL expr RDEL arrayindex',
999
+									  'objectelement ::= PTR method', 'function ::= ns1 OPENP params CLOSEP',
1000
+									  'method ::= ID OPENP params CLOSEP', 'method ::= DOLLARID OPENP params CLOSEP',
1001
+									  'params ::= params COMMA expr', 'params ::= expr', 'params ::=',
1002
+									  'modifierlist ::= modifierlist modifier modparameters',
1003
+									  'modifierlist ::= modifier modparameters', 'modifier ::= VERT AT ID',
1004
+									  'modifier ::= VERT ID', 'modparameters ::= modparameters modparameter',
1005
+									  'modparameters ::=', 'modparameter ::= COLON value',
1006
+									  'modparameter ::= COLON array', 'static_class_access ::= method',
1007
+									  'static_class_access ::= method objectchain', 'static_class_access ::= ID',
1008
+									  'static_class_access ::= DOLLARID arrayindex',
1009
+									  'static_class_access ::= DOLLARID arrayindex objectchain', 'lop ::= LOGOP',
1010
+									  'lop ::= SLOGOP', 'tlop ::= TLOGOP', 'scond ::= SINGLECOND',
1011
+									  'array ::= OPENB arrayelements CLOSEB', 'arrayelements ::= arrayelement',
1012
+									  'arrayelements ::= arrayelements COMMA arrayelement', 'arrayelements ::=',
1013
+									  'arrayelement ::= value APTR expr', 'arrayelement ::= ID APTR expr',
1014
+									  'arrayelement ::= expr', 'doublequoted_with_quotes ::= QUOTE QUOTE',
1015
+									  'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE',
1016
+									  'doublequoted ::= doublequoted doublequotedcontent',
1017
+									  'doublequoted ::= doublequotedcontent',
1018
+									  'doublequotedcontent ::= BACKTICK variable BACKTICK',
1019
+									  'doublequotedcontent ::= BACKTICK expr BACKTICK',
1020
+									  'doublequotedcontent ::= DOLLARID', 'doublequotedcontent ::= LDEL variable RDEL',
1021
+									  'doublequotedcontent ::= LDEL expr RDEL', 'doublequotedcontent ::= smartytag',
1022
+									  'doublequotedcontent ::= TEXT',);
1023
+
1024
+	public function tokenName($tokenType)
1025
+	{
1026
+		if ($tokenType === 0) {
1027
+			return 'End of Input';
1028
+		}
1029 1029
 		$countYyTokenName = count($this->yyTokenName);
1030
-        if ($tokenType > 0 && $tokenType < $countYyTokenName) {
1031
-            return $this->yyTokenName[ $tokenType ];
1032
-        } else {
1033
-            return "Unknown";
1034
-        }
1035
-    }
1036
-
1037
-    public static function yy_destructor($yymajor, $yypminor)
1038
-    {
1039
-        switch ($yymajor) {
1040
-            default:
1041
-                break;   /* If no destructor action specified: do nothing */
1042
-        }
1043
-    }
1044
-
1045
-    public function yy_pop_parser_stack()
1046
-    {
1047
-        if (empty($this->yystack)) {
1048
-            return;
1049
-        }
1050
-        $yytos = array_pop($this->yystack);
1051
-        if ($this->yyTraceFILE && $this->yyidx >= 0) {
1052
-            fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[ $yytos->major ] . "\n");
1053
-        }
1054
-        $yymajor = $yytos->major;
1055
-        self::yy_destructor($yymajor, $yytos->minor);
1056
-        $this->yyidx --;
1057
-
1058
-        return $yymajor;
1059
-    }
1060
-
1061
-    public function __destruct()
1062
-    {
1063
-        while ($this->yystack !== Array()) {
1064
-            $this->yy_pop_parser_stack();
1065
-        }
1066
-        if (is_resource($this->yyTraceFILE)) {
1067
-            fclose($this->yyTraceFILE);
1068
-        }
1069
-    }
1070
-
1071
-    public function yy_get_expected_tokens($token)
1072
-    {
1073
-        static $res3 = array();
1074
-        static $res4 = array();
1075
-        $state = $this->yystack[ $this->yyidx ]->stateno;
1076
-        $expected = self::$yyExpectedTokens[ $state ];
1077
-        if (isset($res3[ $state ][ $token ])) {
1078
-            if ($res3[ $state ][ $token ]) {
1079
-                return $expected;
1080
-            }
1081
-        } else {
1082
-            if ($res3[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1083
-                return $expected;
1084
-            }
1085
-        }
1086
-        $stack = $this->yystack;
1087
-        $yyidx = $this->yyidx;
1088
-        do {
1089
-            $yyact = $this->yy_find_shift_action($token);
1090
-            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1091
-                // reduce action
1092
-                $done = 0;
1093
-                do {
1094
-                    if ($done ++ == 100) {
1095
-                        $this->yyidx = $yyidx;
1096
-                        $this->yystack = $stack;
1097
-                        // too much recursion prevents proper detection
1098
-                        // so give up
1099
-                        return array_unique($expected);
1100
-                    }
1101
-                    $yyruleno = $yyact - self::YYNSTATE;
1102
-                    $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1103
-                    $nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1104
-                                                              self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1105
-                    if (isset(self::$yyExpectedTokens[ $nextstate ])) {
1106
-                        $expected = array_merge($expected, self::$yyExpectedTokens[ $nextstate ]);
1107
-                        if (isset($res4[ $nextstate ][ $token ])) {
1108
-                            if ($res4[ $nextstate ][ $token ]) {
1109
-                                $this->yyidx = $yyidx;
1110
-                                $this->yystack = $stack;
1111
-                                return array_unique($expected);
1112
-                            }
1113
-                        } else {
1114
-                            if ($res4[ $nextstate ][ $token ] =
1115
-                                in_array($token, self::$yyExpectedTokens[ $nextstate ], true)
1116
-                            ) {
1117
-                                $this->yyidx = $yyidx;
1118
-                                $this->yystack = $stack;
1119
-                                return array_unique($expected);
1120
-                            }
1121
-                        }
1122
-                    }
1123
-                    if ($nextstate < self::YYNSTATE) {
1124
-                        // we need to shift a non-terminal
1125
-                        $this->yyidx ++;
1126
-                        $x = new TP_yyStackEntry;
1127
-                        $x->stateno = $nextstate;
1128
-                        $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1129
-                        $this->yystack[ $this->yyidx ] = $x;
1130
-                        continue 2;
1131
-                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1132
-                        $this->yyidx = $yyidx;
1133
-                        $this->yystack = $stack;
1134
-                        // the last token was just ignored, we can't accept
1135
-                        // by ignoring input, this is in essence ignoring a
1136
-                        // syntax error!
1137
-                        return array_unique($expected);
1138
-                    } elseif ($nextstate === self::YY_NO_ACTION) {
1139
-                        $this->yyidx = $yyidx;
1140
-                        $this->yystack = $stack;
1141
-                        // input accepted, but not shifted (I guess)
1142
-                        return $expected;
1143
-                    } else {
1144
-                        $yyact = $nextstate;
1145
-                    }
1146
-                }
1147
-                while (true);
1148
-            }
1149
-            break;
1150
-        }
1151
-        while (true);
1152
-        $this->yyidx = $yyidx;
1153
-        $this->yystack = $stack;
1154
-
1155
-        return array_unique($expected);
1156
-    }
1157
-
1158
-    public function yy_is_expected_token($token)
1159
-    {
1160
-        static $res = array();
1161
-        static $res2 = array();
1162
-        if ($token === 0) {
1163
-            return true; // 0 is not part of this
1164
-        }
1165
-        $state = $this->yystack[ $this->yyidx ]->stateno;
1166
-        if (isset($res[ $state ][ $token ])) {
1167
-            if ($res[ $state ][ $token ]) {
1168
-                return true;
1169
-            }
1170
-        } else {
1171
-            if ($res[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1172
-                return true;
1173
-            }
1174
-        }
1175
-        $stack = $this->yystack;
1176
-        $yyidx = $this->yyidx;
1177
-        do {
1178
-            $yyact = $this->yy_find_shift_action($token);
1179
-            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1180
-                // reduce action
1181
-                $done = 0;
1182
-                do {
1183
-                    if ($done ++ == 100) {
1184
-                        $this->yyidx = $yyidx;
1185
-                        $this->yystack = $stack;
1186
-                        // too much recursion prevents proper detection
1187
-                        // so give up
1188
-                        return true;
1189
-                    }
1190
-                    $yyruleno = $yyact - self::YYNSTATE;
1191
-                    $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1192
-                    $nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1193
-                                                              self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1194
-                    if (isset($res2[ $nextstate ][ $token ])) {
1195
-                        if ($res2[ $nextstate ][ $token ]) {
1196
-                            $this->yyidx = $yyidx;
1197
-                            $this->yystack = $stack;
1198
-                            return true;
1199
-                        }
1200
-                    } else {
1201
-                        if ($res2[ $nextstate ][ $token ] = (isset(self::$yyExpectedTokens[ $nextstate ]) &&
1202
-                                                             in_array($token, self::$yyExpectedTokens[ $nextstate ],
1203
-                                                                      true))
1204
-                        ) {
1205
-                            $this->yyidx = $yyidx;
1206
-                            $this->yystack = $stack;
1207
-                            return true;
1208
-                        }
1209
-                    }
1210
-                    if ($nextstate < self::YYNSTATE) {
1211
-                        // we need to shift a non-terminal
1212
-                        $this->yyidx ++;
1213
-                        $x = new TP_yyStackEntry;
1214
-                        $x->stateno = $nextstate;
1215
-                        $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1216
-                        $this->yystack[ $this->yyidx ] = $x;
1217
-                        continue 2;
1218
-                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1219
-                        $this->yyidx = $yyidx;
1220
-                        $this->yystack = $stack;
1221
-                        if (!$token) {
1222
-                            // end of input: this is valid
1223
-                            return true;
1224
-                        }
1225
-                        // the last token was just ignored, we can't accept
1226
-                        // by ignoring input, this is in essence ignoring a
1227
-                        // syntax error!
1228
-                        return false;
1229
-                    } elseif ($nextstate === self::YY_NO_ACTION) {
1230
-                        $this->yyidx = $yyidx;
1231
-                        $this->yystack = $stack;
1232
-                        // input accepted, but not shifted (I guess)
1233
-                        return true;
1234
-                    } else {
1235
-                        $yyact = $nextstate;
1236
-                    }
1237
-                }
1238
-                while (true);
1239
-            }
1240
-            break;
1241
-        }
1242
-        while (true);
1243
-        $this->yyidx = $yyidx;
1244
-        $this->yystack = $stack;
1245
-
1246
-        return true;
1247
-    }
1248
-
1249
-    public function yy_find_shift_action($iLookAhead)
1250
-    {
1251
-        $stateno = $this->yystack[ $this->yyidx ]->stateno;
1252
-
1253
-        if (!isset(self::$yy_shift_ofst[ $stateno ])) {
1254
-            // no shift actions
1255
-            return self::$yy_default[ $stateno ];
1256
-        }
1257
-        $i = self::$yy_shift_ofst[ $stateno ];
1258
-        if ($i === self::YY_SHIFT_USE_DFLT) {
1259
-            return self::$yy_default[ $stateno ];
1260
-        }
1261
-        if ($iLookAhead == self::YYNOCODE) {
1262
-            return self::YY_NO_ACTION;
1263
-        }
1264
-        $i += $iLookAhead;
1265
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1030
+		if ($tokenType > 0 && $tokenType < $countYyTokenName) {
1031
+			return $this->yyTokenName[ $tokenType ];
1032
+		} else {
1033
+			return "Unknown";
1034
+		}
1035
+	}
1036
+
1037
+	public static function yy_destructor($yymajor, $yypminor)
1038
+	{
1039
+		switch ($yymajor) {
1040
+			default:
1041
+				break;   /* If no destructor action specified: do nothing */
1042
+		}
1043
+	}
1044
+
1045
+	public function yy_pop_parser_stack()
1046
+	{
1047
+		if (empty($this->yystack)) {
1048
+			return;
1049
+		}
1050
+		$yytos = array_pop($this->yystack);
1051
+		if ($this->yyTraceFILE && $this->yyidx >= 0) {
1052
+			fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[ $yytos->major ] . "\n");
1053
+		}
1054
+		$yymajor = $yytos->major;
1055
+		self::yy_destructor($yymajor, $yytos->minor);
1056
+		$this->yyidx --;
1057
+
1058
+		return $yymajor;
1059
+	}
1060
+
1061
+	public function __destruct()
1062
+	{
1063
+		while ($this->yystack !== Array()) {
1064
+			$this->yy_pop_parser_stack();
1065
+		}
1066
+		if (is_resource($this->yyTraceFILE)) {
1067
+			fclose($this->yyTraceFILE);
1068
+		}
1069
+	}
1070
+
1071
+	public function yy_get_expected_tokens($token)
1072
+	{
1073
+		static $res3 = array();
1074
+		static $res4 = array();
1075
+		$state = $this->yystack[ $this->yyidx ]->stateno;
1076
+		$expected = self::$yyExpectedTokens[ $state ];
1077
+		if (isset($res3[ $state ][ $token ])) {
1078
+			if ($res3[ $state ][ $token ]) {
1079
+				return $expected;
1080
+			}
1081
+		} else {
1082
+			if ($res3[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1083
+				return $expected;
1084
+			}
1085
+		}
1086
+		$stack = $this->yystack;
1087
+		$yyidx = $this->yyidx;
1088
+		do {
1089
+			$yyact = $this->yy_find_shift_action($token);
1090
+			if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1091
+				// reduce action
1092
+				$done = 0;
1093
+				do {
1094
+					if ($done ++ == 100) {
1095
+						$this->yyidx = $yyidx;
1096
+						$this->yystack = $stack;
1097
+						// too much recursion prevents proper detection
1098
+						// so give up
1099
+						return array_unique($expected);
1100
+					}
1101
+					$yyruleno = $yyact - self::YYNSTATE;
1102
+					$this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1103
+					$nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1104
+															  self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1105
+					if (isset(self::$yyExpectedTokens[ $nextstate ])) {
1106
+						$expected = array_merge($expected, self::$yyExpectedTokens[ $nextstate ]);
1107
+						if (isset($res4[ $nextstate ][ $token ])) {
1108
+							if ($res4[ $nextstate ][ $token ]) {
1109
+								$this->yyidx = $yyidx;
1110
+								$this->yystack = $stack;
1111
+								return array_unique($expected);
1112
+							}
1113
+						} else {
1114
+							if ($res4[ $nextstate ][ $token ] =
1115
+								in_array($token, self::$yyExpectedTokens[ $nextstate ], true)
1116
+							) {
1117
+								$this->yyidx = $yyidx;
1118
+								$this->yystack = $stack;
1119
+								return array_unique($expected);
1120
+							}
1121
+						}
1122
+					}
1123
+					if ($nextstate < self::YYNSTATE) {
1124
+						// we need to shift a non-terminal
1125
+						$this->yyidx ++;
1126
+						$x = new TP_yyStackEntry;
1127
+						$x->stateno = $nextstate;
1128
+						$x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1129
+						$this->yystack[ $this->yyidx ] = $x;
1130
+						continue 2;
1131
+					} elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1132
+						$this->yyidx = $yyidx;
1133
+						$this->yystack = $stack;
1134
+						// the last token was just ignored, we can't accept
1135
+						// by ignoring input, this is in essence ignoring a
1136
+						// syntax error!
1137
+						return array_unique($expected);
1138
+					} elseif ($nextstate === self::YY_NO_ACTION) {
1139
+						$this->yyidx = $yyidx;
1140
+						$this->yystack = $stack;
1141
+						// input accepted, but not shifted (I guess)
1142
+						return $expected;
1143
+					} else {
1144
+						$yyact = $nextstate;
1145
+					}
1146
+				}
1147
+				while (true);
1148
+			}
1149
+			break;
1150
+		}
1151
+		while (true);
1152
+		$this->yyidx = $yyidx;
1153
+		$this->yystack = $stack;
1154
+
1155
+		return array_unique($expected);
1156
+	}
1157
+
1158
+	public function yy_is_expected_token($token)
1159
+	{
1160
+		static $res = array();
1161
+		static $res2 = array();
1162
+		if ($token === 0) {
1163
+			return true; // 0 is not part of this
1164
+		}
1165
+		$state = $this->yystack[ $this->yyidx ]->stateno;
1166
+		if (isset($res[ $state ][ $token ])) {
1167
+			if ($res[ $state ][ $token ]) {
1168
+				return true;
1169
+			}
1170
+		} else {
1171
+			if ($res[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1172
+				return true;
1173
+			}
1174
+		}
1175
+		$stack = $this->yystack;
1176
+		$yyidx = $this->yyidx;
1177
+		do {
1178
+			$yyact = $this->yy_find_shift_action($token);
1179
+			if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1180
+				// reduce action
1181
+				$done = 0;
1182
+				do {
1183
+					if ($done ++ == 100) {
1184
+						$this->yyidx = $yyidx;
1185
+						$this->yystack = $stack;
1186
+						// too much recursion prevents proper detection
1187
+						// so give up
1188
+						return true;
1189
+					}
1190
+					$yyruleno = $yyact - self::YYNSTATE;
1191
+					$this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1192
+					$nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1193
+															  self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1194
+					if (isset($res2[ $nextstate ][ $token ])) {
1195
+						if ($res2[ $nextstate ][ $token ]) {
1196
+							$this->yyidx = $yyidx;
1197
+							$this->yystack = $stack;
1198
+							return true;
1199
+						}
1200
+					} else {
1201
+						if ($res2[ $nextstate ][ $token ] = (isset(self::$yyExpectedTokens[ $nextstate ]) &&
1202
+															 in_array($token, self::$yyExpectedTokens[ $nextstate ],
1203
+																	  true))
1204
+						) {
1205
+							$this->yyidx = $yyidx;
1206
+							$this->yystack = $stack;
1207
+							return true;
1208
+						}
1209
+					}
1210
+					if ($nextstate < self::YYNSTATE) {
1211
+						// we need to shift a non-terminal
1212
+						$this->yyidx ++;
1213
+						$x = new TP_yyStackEntry;
1214
+						$x->stateno = $nextstate;
1215
+						$x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1216
+						$this->yystack[ $this->yyidx ] = $x;
1217
+						continue 2;
1218
+					} elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1219
+						$this->yyidx = $yyidx;
1220
+						$this->yystack = $stack;
1221
+						if (!$token) {
1222
+							// end of input: this is valid
1223
+							return true;
1224
+						}
1225
+						// the last token was just ignored, we can't accept
1226
+						// by ignoring input, this is in essence ignoring a
1227
+						// syntax error!
1228
+						return false;
1229
+					} elseif ($nextstate === self::YY_NO_ACTION) {
1230
+						$this->yyidx = $yyidx;
1231
+						$this->yystack = $stack;
1232
+						// input accepted, but not shifted (I guess)
1233
+						return true;
1234
+					} else {
1235
+						$yyact = $nextstate;
1236
+					}
1237
+				}
1238
+				while (true);
1239
+			}
1240
+			break;
1241
+		}
1242
+		while (true);
1243
+		$this->yyidx = $yyidx;
1244
+		$this->yystack = $stack;
1245
+
1246
+		return true;
1247
+	}
1248
+
1249
+	public function yy_find_shift_action($iLookAhead)
1250
+	{
1251
+		$stateno = $this->yystack[ $this->yyidx ]->stateno;
1252
+
1253
+		if (!isset(self::$yy_shift_ofst[ $stateno ])) {
1254
+			// no shift actions
1255
+			return self::$yy_default[ $stateno ];
1256
+		}
1257
+		$i = self::$yy_shift_ofst[ $stateno ];
1258
+		if ($i === self::YY_SHIFT_USE_DFLT) {
1259
+			return self::$yy_default[ $stateno ];
1260
+		}
1261
+		if ($iLookAhead == self::YYNOCODE) {
1262
+			return self::YY_NO_ACTION;
1263
+		}
1264
+		$i += $iLookAhead;
1265
+		if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1266 1266
 			$countYyFallback = count(self::$yyFallback);
1267
-            if (count(self::$yyFallback) && $iLookAhead < $countYyFallback &&
1268
-                ($iFallback = self::$yyFallback[ $iLookAhead ]) != 0
1269
-            ) {
1270
-                if ($this->yyTraceFILE) {
1271
-                    fwrite($this->yyTraceFILE,
1272
-                           $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[ $iLookAhead ] . " => " .
1273
-                           $this->yyTokenName[ $iFallback ] . "\n");
1274
-                }
1275
-
1276
-                return $this->yy_find_shift_action($iFallback);
1277
-            }
1278
-
1279
-            return self::$yy_default[ $stateno ];
1280
-        } else {
1281
-            return self::$yy_action[ $i ];
1282
-        }
1283
-    }
1284
-
1285
-    public function yy_find_reduce_action($stateno, $iLookAhead)
1286
-    {
1287
-
1288
-        if (!isset(self::$yy_reduce_ofst[ $stateno ])) {
1289
-            return self::$yy_default[ $stateno ];
1290
-        }
1291
-        $i = self::$yy_reduce_ofst[ $stateno ];
1292
-        if ($i == self::YY_REDUCE_USE_DFLT) {
1293
-            return self::$yy_default[ $stateno ];
1294
-        }
1295
-        if ($iLookAhead == self::YYNOCODE) {
1296
-            return self::YY_NO_ACTION;
1297
-        }
1298
-        $i += $iLookAhead;
1299
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1300
-            return self::$yy_default[ $stateno ];
1301
-        } else {
1302
-            return self::$yy_action[ $i ];
1303
-        }
1304
-    }
1305
-
1306
-    public function yy_shift($yyNewState, $yyMajor, $yypMinor)
1307
-    {
1308
-        $this->yyidx ++;
1309
-        if ($this->yyidx >= self::YYSTACKDEPTH) {
1310
-            $this->yyidx --;
1311
-            if ($this->yyTraceFILE) {
1312
-                fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
1313
-            }
1314
-            while ($this->yyidx >= 0) {
1315
-                $this->yy_pop_parser_stack();
1316
-            }
1317
-            #line 207 "../smarty/lexer/smarty_internal_templateparser.y"
1318
-
1319
-            $this->internalError = true;
1320
-            $this->compiler->trigger_template_error("Stack overflow in template parser");
1321
-
1322
-            return;
1323
-        }
1324
-        $yytos = new TP_yyStackEntry;
1325
-        $yytos->stateno = $yyNewState;
1326
-        $yytos->major = $yyMajor;
1327
-        $yytos->minor = $yypMinor;
1328
-        $this->yystack[] = $yytos;
1329
-        if ($this->yyTraceFILE && $this->yyidx > 0) {
1330
-            fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState);
1331
-            fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
1332
-            for ($i = 1; $i <= $this->yyidx; $i ++) {
1333
-                fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[ $this->yystack[ $i ]->major ]);
1334
-            }
1335
-            fwrite($this->yyTraceFILE, "\n");
1336
-        }
1337
-    }
1338
-
1339
-    public static $yyRuleInfo = array(array(0 => 63, 1 => 1), array(0 => 64, 1 => 1), array(0 => 64, 1 => 2),
1340
-                                      array(0 => 64, 1 => 0), array(0 => 65, 1 => 1), array(0 => 65, 1 => 1),
1341
-                                      array(0 => 65, 1 => 1), array(0 => 65, 1 => 1), array(0 => 65, 1 => 1),
1342
-                                      array(0 => 68, 1 => 1), array(0 => 68, 1 => 2), array(0 => 65, 1 => 1),
1343
-                                      array(0 => 65, 1 => 1), array(0 => 67, 1 => 2), array(0 => 67, 1 => 3),
1344
-                                      array(0 => 69, 1 => 2), array(0 => 69, 1 => 0), array(0 => 70, 1 => 1),
1345
-                                      array(0 => 70, 1 => 1), array(0 => 66, 1 => 2), array(0 => 66, 1 => 1),
1346
-                                      array(0 => 71, 1 => 2), array(0 => 71, 1 => 3), array(0 => 71, 1 => 2),
1347
-                                      array(0 => 71, 1 => 3), array(0 => 71, 1 => 2), array(0 => 71, 1 => 3),
1348
-                                      array(0 => 71, 1 => 4), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1349
-                                      array(0 => 71, 1 => 5), array(0 => 66, 1 => 1), array(0 => 71, 1 => 3),
1350
-                                      array(0 => 71, 1 => 2), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1351
-                                      array(0 => 71, 1 => 6), array(0 => 71, 1 => 2), array(0 => 71, 1 => 2),
1352
-                                      array(0 => 71, 1 => 3), array(0 => 71, 1 => 2), array(0 => 71, 1 => 3),
1353
-                                      array(0 => 71, 1 => 8), array(0 => 80, 1 => 2), array(0 => 80, 1 => 1),
1354
-                                      array(0 => 71, 1 => 5), array(0 => 71, 1 => 7), array(0 => 71, 1 => 2),
1355
-                                      array(0 => 71, 1 => 6), array(0 => 71, 1 => 8), array(0 => 71, 1 => 6),
1356
-                                      array(0 => 71, 1 => 8), array(0 => 71, 1 => 3), array(0 => 71, 1 => 4),
1357
-                                      array(0 => 71, 1 => 2), array(0 => 66, 1 => 1), array(0 => 71, 1 => 2),
1358
-                                      array(0 => 71, 1 => 3), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1359
-                                      array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), array(0 => 73, 1 => 0),
1360
-                                      array(0 => 83, 1 => 4), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2),
1361
-                                      array(0 => 83, 1 => 2), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2),
1362
-                                      array(0 => 83, 1 => 4), array(0 => 79, 1 => 1), array(0 => 79, 1 => 3),
1363
-                                      array(0 => 78, 1 => 3), array(0 => 78, 1 => 3), array(0 => 78, 1 => 3),
1364
-                                      array(0 => 78, 1 => 3), array(0 => 75, 1 => 1), array(0 => 75, 1 => 1),
1365
-                                      array(0 => 75, 1 => 3), array(0 => 75, 1 => 3), array(0 => 75, 1 => 3),
1366
-                                      array(0 => 75, 1 => 1), array(0 => 75, 1 => 2), array(0 => 75, 1 => 3),
1367
-                                      array(0 => 75, 1 => 3), array(0 => 75, 1 => 2), array(0 => 75, 1 => 3),
1368
-                                      array(0 => 75, 1 => 3), array(0 => 84, 1 => 7), array(0 => 84, 1 => 7),
1369
-                                      array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), array(0 => 74, 1 => 2),
1370
-                                      array(0 => 74, 1 => 2), array(0 => 74, 1 => 2), array(0 => 74, 1 => 1),
1371
-                                      array(0 => 74, 1 => 1), array(0 => 74, 1 => 3), array(0 => 74, 1 => 2),
1372
-                                      array(0 => 74, 1 => 2), array(0 => 74, 1 => 1), array(0 => 74, 1 => 1),
1373
-                                      array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), array(0 => 74, 1 => 3),
1374
-                                      array(0 => 74, 1 => 1), array(0 => 74, 1 => 1), array(0 => 74, 1 => 3),
1375
-                                      array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), array(0 => 74, 1 => 1),
1376
-                                      array(0 => 74, 1 => 3), array(0 => 90, 1 => 1), array(0 => 90, 1 => 1),
1377
-                                      array(0 => 72, 1 => 1), array(0 => 72, 1 => 1), array(0 => 72, 1 => 3),
1378
-                                      array(0 => 72, 1 => 1), array(0 => 72, 1 => 3), array(0 => 72, 1 => 4),
1379
-                                      array(0 => 72, 1 => 3), array(0 => 72, 1 => 4), array(0 => 76, 1 => 2),
1380
-                                      array(0 => 76, 1 => 2), array(0 => 94, 1 => 2), array(0 => 94, 1 => 0),
1381
-                                      array(0 => 95, 1 => 2), array(0 => 95, 1 => 2), array(0 => 95, 1 => 4),
1382
-                                      array(0 => 95, 1 => 2), array(0 => 95, 1 => 2), array(0 => 95, 1 => 4),
1383
-                                      array(0 => 95, 1 => 3), array(0 => 95, 1 => 5), array(0 => 95, 1 => 3),
1384
-                                      array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 3),
1385
-                                      array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 2),
1386
-                                      array(0 => 81, 1 => 1), array(0 => 81, 1 => 1), array(0 => 81, 1 => 2),
1387
-                                      array(0 => 96, 1 => 1), array(0 => 96, 1 => 1), array(0 => 96, 1 => 3),
1388
-                                      array(0 => 93, 1 => 2), array(0 => 97, 1 => 1), array(0 => 97, 1 => 2),
1389
-                                      array(0 => 98, 1 => 3), array(0 => 98, 1 => 3), array(0 => 98, 1 => 5),
1390
-                                      array(0 => 98, 1 => 6), array(0 => 98, 1 => 2), array(0 => 89, 1 => 4),
1391
-                                      array(0 => 99, 1 => 4), array(0 => 99, 1 => 4), array(0 => 100, 1 => 3),
1392
-                                      array(0 => 100, 1 => 1), array(0 => 100, 1 => 0), array(0 => 77, 1 => 3),
1393
-                                      array(0 => 77, 1 => 2), array(0 => 101, 1 => 3), array(0 => 101, 1 => 2),
1394
-                                      array(0 => 82, 1 => 2), array(0 => 82, 1 => 0), array(0 => 102, 1 => 2),
1395
-                                      array(0 => 102, 1 => 2), array(0 => 92, 1 => 1), array(0 => 92, 1 => 2),
1396
-                                      array(0 => 92, 1 => 1), array(0 => 92, 1 => 2), array(0 => 92, 1 => 3),
1397
-                                      array(0 => 87, 1 => 1), array(0 => 87, 1 => 1), array(0 => 86, 1 => 1),
1398
-                                      array(0 => 88, 1 => 1), array(0 => 85, 1 => 3), array(0 => 103, 1 => 1),
1399
-                                      array(0 => 103, 1 => 3), array(0 => 103, 1 => 0), array(0 => 104, 1 => 3),
1400
-                                      array(0 => 104, 1 => 3), array(0 => 104, 1 => 1), array(0 => 91, 1 => 2),
1401
-                                      array(0 => 91, 1 => 3), array(0 => 105, 1 => 2), array(0 => 105, 1 => 1),
1402
-                                      array(0 => 106, 1 => 3), array(0 => 106, 1 => 3), array(0 => 106, 1 => 1),
1403
-                                      array(0 => 106, 1 => 3), array(0 => 106, 1 => 3), array(0 => 106, 1 => 1),
1404
-                                      array(0 => 106, 1 => 1),);
1405
-
1406
-    public static $yyReduceMap = array(0 => 0, 1 => 1, 2 => 2, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 17 => 9,
1407
-                                       18 => 9, 44 => 9, 67 => 9, 68 => 9, 76 => 9, 77 => 9, 81 => 9, 90 => 9, 95 => 9,
1408
-                                       96 => 9, 101 => 9, 105 => 9, 106 => 9, 110 => 9, 112 => 9, 117 => 9, 179 => 9,
1409
-                                       184 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 16 => 13, 14 => 14, 75 => 14,
1410
-                                       15 => 15, 91 => 15, 93 => 15, 94 => 15, 124 => 15, 19 => 19, 20 => 20, 21 => 21,
1411
-                                       23 => 21, 25 => 21, 22 => 22, 24 => 22, 26 => 22, 27 => 27, 28 => 27, 29 => 29,
1412
-                                       30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37,
1413
-                                       38 => 38, 39 => 39, 41 => 39, 40 => 40, 42 => 42, 43 => 43, 45 => 45, 46 => 46,
1414
-                                       47 => 47, 48 => 48, 50 => 48, 49 => 49, 51 => 49, 52 => 52, 53 => 53, 54 => 54,
1415
-                                       55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 70 => 61,
1416
-                                       159 => 61, 163 => 61, 167 => 61, 168 => 61, 62 => 62, 160 => 62, 166 => 62,
1417
-                                       63 => 63, 64 => 64, 65 => 64, 66 => 66, 144 => 66, 69 => 69, 71 => 71, 72 => 72,
1418
-                                       73 => 72, 74 => 74, 78 => 78, 79 => 79, 80 => 79, 82 => 82, 109 => 82, 83 => 83,
1419
-                                       84 => 84, 85 => 85, 86 => 86, 87 => 87, 88 => 88, 89 => 89, 92 => 92, 97 => 97,
1420
-                                       98 => 98, 99 => 99, 100 => 100, 102 => 102, 103 => 103, 104 => 103, 107 => 107,
1421
-                                       108 => 108, 111 => 111, 113 => 113, 114 => 114, 115 => 115, 116 => 116,
1422
-                                       118 => 118, 119 => 119, 120 => 120, 121 => 121, 122 => 122, 123 => 123,
1423
-                                       125 => 125, 181 => 125, 126 => 126, 127 => 127, 128 => 128, 129 => 129,
1424
-                                       130 => 130, 131 => 131, 139 => 131, 132 => 132, 133 => 133, 134 => 134,
1425
-                                       135 => 134, 137 => 134, 138 => 134, 136 => 136, 140 => 140, 141 => 141,
1426
-                                       142 => 142, 185 => 142, 143 => 143, 145 => 145, 146 => 146, 147 => 147,
1427
-                                       148 => 148, 149 => 149, 150 => 150, 151 => 151, 152 => 152, 153 => 153,
1428
-                                       154 => 154, 155 => 155, 156 => 156, 157 => 157, 158 => 158, 161 => 161,
1429
-                                       162 => 162, 164 => 164, 165 => 165, 169 => 169, 170 => 170, 171 => 171,
1430
-                                       172 => 172, 173 => 173, 174 => 174, 175 => 175, 176 => 176, 177 => 177,
1431
-                                       178 => 178, 180 => 180, 182 => 182, 183 => 183, 186 => 186, 187 => 187,
1432
-                                       188 => 188, 189 => 189, 190 => 189, 192 => 189, 191 => 191, 193 => 193,
1433
-                                       194 => 194, 195 => 195,);
1434
-
1435
-    #line 218 "../smarty/lexer/smarty_internal_templateparser.y"
1436
-    public function yy_r0()
1437
-    {
1438
-        $this->root_buffer->prepend_array($this, $this->template_prefix);
1439
-        $this->root_buffer->append_array($this, $this->template_postfix);
1440
-        $this->_retvalue = $this->root_buffer->to_smarty_php($this);
1441
-    }
1442
-
1443
-    #line 228 "../smarty/lexer/smarty_internal_templateparser.y"
1444
-    public function yy_r1()
1445
-    {
1446
-        if ($this->yystack[ $this->yyidx + 0 ]->minor != null) {
1447
-            $this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1448
-        }
1449
-    }
1450
-
1451
-    #line 235 "../smarty/lexer/smarty_internal_templateparser.y"
1452
-    public function yy_r2()
1453
-    {
1454
-        if ($this->yystack[ $this->yyidx + 0 ]->minor != null) {
1455
-            // because of possible code injection
1456
-            $this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1457
-        }
1458
-    }
1459
-
1460
-    #line 249 "../smarty/lexer/smarty_internal_templateparser.y"
1461
-    public function yy_r4()
1462
-    {
1463
-        if ($this->compiler->has_code) {
1464
-            $this->_retvalue = $this->mergePrefixCode($this->yystack[ $this->yyidx + 0 ]->minor);
1465
-        } else {
1466
-            $this->_retvalue = null;
1467
-        }
1468
-        $this->compiler->has_variable_string = false;
1469
-        $this->block_nesting_level = count($this->compiler->_tag_stack);
1470
-    }
1471
-
1472
-    #line 260 "../smarty/lexer/smarty_internal_templateparser.y"
1473
-    public function yy_r5()
1474
-    {
1475
-        $this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[ $this->yyidx + 0 ]->minor);
1476
-    }
1477
-
1478
-    #line 264 "../smarty/lexer/smarty_internal_templateparser.y"
1479
-    public function yy_r6()
1480
-    {
1481
-        $code = $this->compiler->compileTag('private_php',
1482
-                                            array(array('code' => $this->yystack[ $this->yyidx + 0 ]->minor),
1483
-                                                  array('type' => $this->lex->phpType)), array());
1484
-        if ($this->compiler->has_code && !empty($code)) {
1485
-            $tmp = '';
1486
-            foreach ($this->compiler->prefix_code as $code) {
1487
-                $tmp .= $code;
1488
-            }
1489
-            $this->compiler->prefix_code = array();
1490
-            $this->_retvalue =
1491
-                new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp . $code, true));
1492
-        } else {
1493
-            $this->_retvalue = null;
1494
-        }
1495
-    }
1496
-
1497
-    #line 275 "../smarty/lexer/smarty_internal_templateparser.y"
1498
-    public function yy_r7()
1499
-    {
1500
-        $this->compiler->tag_nocache = true;
1501
-        $save = $this->template->compiled->has_nocache_code;
1502
-        $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this,
1503
-                                                             $this->compiler->processNocacheCode("<?php echo '{$this->yystack[$this->yyidx + 0]->minor}';?>\n",
1504
-                                                                                                 true));
1505
-        $this->template->compiled->has_nocache_code = $save;
1506
-    }
1507
-
1508
-    #line 282 "../smarty/lexer/smarty_internal_templateparser.y"
1509
-    public function yy_r8()
1510
-    {
1511
-        $this->_retvalue = $this->compiler->processText($this->yystack[ $this->yyidx + 0 ]->minor);
1512
-    }
1513
-
1514
-    #line 286 "../smarty/lexer/smarty_internal_templateparser.y"
1515
-    public function yy_r9()
1516
-    {
1517
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
1518
-    }
1519
-
1520
-    #line 290 "../smarty/lexer/smarty_internal_templateparser.y"
1521
-    public function yy_r10()
1522
-    {
1523
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1524
-    }
1525
-
1526
-    #line 295 "../smarty/lexer/smarty_internal_templateparser.y"
1527
-    public function yy_r11()
1528
-    {
1529
-        $this->strip = true;
1530
-    }
1531
-
1532
-    #line 299 "../smarty/lexer/smarty_internal_templateparser.y"
1533
-    public function yy_r12()
1534
-    {
1535
-        $this->strip = false;
1536
-    }
1537
-
1538
-    #line 304 "../smarty/lexer/smarty_internal_templateparser.y"
1539
-    public function yy_r13()
1540
-    {
1541
-        $this->_retvalue = '';
1542
-    }
1543
-
1544
-    #line 308 "../smarty/lexer/smarty_internal_templateparser.y"
1545
-    public function yy_r14()
1546
-    {
1547
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1548
-    }
1549
-
1550
-    #line 312 "../smarty/lexer/smarty_internal_templateparser.y"
1551
-    public function yy_r15()
1552
-    {
1553
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1554
-    }
1555
-
1556
-    #line 328 "../smarty/lexer/smarty_internal_templateparser.y"
1557
-    public function yy_r19()
1558
-    {
1559
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1560
-    }
1561
-
1562
-    #line 334 "../smarty/lexer/smarty_internal_templateparser.y"
1563
-    public function yy_r20()
1564
-    {
1565
-        $var =
1566
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1567
-                 ' $');
1568
-        if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
1569
-            $this->_retvalue = $this->compiler->compileTag('private_print_expression', array('nocache'),
1570
-                                                           array('value' => $this->compiler->compileVariable('\'' .
1571
-                                                                                                             $match[ 1 ] .
1572
-                                                                                                             '\'')));
1573
-        } else {
1574
-            $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1575
-                                                           array('value' => $this->compiler->compileVariable('\'' .
1576
-                                                                                                             $var .
1577
-                                                                                                             '\'')));
1578
-        }
1579
-    }
1580
-
1581
-    #line 344 "../smarty/lexer/smarty_internal_templateparser.y"
1582
-    public function yy_r21()
1583
-    {
1584
-        $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1585
-                                                       array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1586
-    }
1587
-
1588
-    #line 348 "../smarty/lexer/smarty_internal_templateparser.y"
1589
-    public function yy_r22()
1590
-    {
1591
-        $this->_retvalue =
1592
-            $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1593
-                                        array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1594
-    }
1595
-
1596
-    #line 371 "../smarty/lexer/smarty_internal_templateparser.y"
1597
-    public function yy_r27()
1598
-    {
1599
-        $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[ $this->yyidx +
1600
-                                                                                                        0 ]->minor),
1601
-                                                                       array('var' => '\'' .
1602
-                                                                                      substr($this->yystack[ $this->yyidx +
1603
-                                                                                                             - 2 ]->minor,
1604
-                                                                                             1) . '\'')));
1605
-    }
1606
-
1607
-    #line 379 "../smarty/lexer/smarty_internal_templateparser.y"
1608
-    public function yy_r29()
1609
-    {
1610
-        $this->_retvalue = $this->compiler->compileTag('assign',
1611
-                                                       array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1612
-                                                                                                          - 1 ]->minor),
1613
-                                                                         array('var' => '\'' .
1614
-                                                                                        substr($this->yystack[ $this->yyidx +
1615
-                                                                                                               - 3 ]->minor,
1616
-                                                                                               1) . '\'')),
1617
-                                                                   $this->yystack[ $this->yyidx + 0 ]->minor));
1618
-    }
1619
-
1620
-    #line 383 "../smarty/lexer/smarty_internal_templateparser.y"
1621
-    public function yy_r30()
1622
-    {
1623
-        $this->_retvalue = $this->compiler->compileTag('assign',
1624
-                                                       array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1625
-                                                                                                          - 1 ]->minor),
1626
-                                                                         array('var' => $this->yystack[ $this->yyidx +
1627
-                                                                                                        - 3 ]->minor[ 'var' ])),
1628
-                                                                   $this->yystack[ $this->yyidx + 0 ]->minor),
1629
-                                                       array('smarty_internal_index' => $this->yystack[ $this->yyidx +
1630
-                                                                                                        - 3 ]->minor[ 'smarty_internal_index' ]));
1631
-    }
1632
-
1633
-    #line 388 "../smarty/lexer/smarty_internal_templateparser.y"
1634
-    public function yy_r31()
1635
-    {
1636
-        $tag =
1637
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length));
1638
-        if ($tag == 'strip') {
1639
-            $this->strip = true;
1640
-            $this->_retvalue = null;;
1641
-        } else {
1642
-            if (defined($tag)) {
1643
-                if ($this->security) {
1644
-                    $this->security->isTrustedConstant($tag, $this->compiler);
1645
-                }
1646
-                $this->_retvalue =
1647
-                    $this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
1648
-            } else {
1649
-                if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
1650
-                    $this->_retvalue = $this->compiler->compileTag($match[ 1 ], array("'nocache'"));
1651
-                } else {
1652
-                    $this->_retvalue = $this->compiler->compileTag($tag, array());
1653
-                }
1654
-            }
1655
-        }
1656
-    }
1657
-
1658
-    #line 410 "../smarty/lexer/smarty_internal_templateparser.y"
1659
-    public function yy_r32()
1660
-    {
1661
-        if (defined($this->yystack[ $this->yyidx + - 1 ]->minor)) {
1662
-            if ($this->security) {
1663
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 1 ]->minor, $this->compiler);
1664
-            }
1665
-            $this->_retvalue =
1666
-                $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1667
-                                            array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1668
-        } else {
1669
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor,
1670
-                                                           $this->yystack[ $this->yyidx + 0 ]->minor);
1671
-        }
1672
-    }
1673
-
1674
-    #line 420 "../smarty/lexer/smarty_internal_templateparser.y"
1675
-    public function yy_r33()
1676
-    {
1677
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1678
-            if ($this->security) {
1679
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1680
-            }
1681
-            $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1682
-                                                           array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1683
-        } else {
1684
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor, array());
1685
-        }
1686
-    }
1687
-
1688
-    #line 433 "../smarty/lexer/smarty_internal_templateparser.y"
1689
-    public function yy_r34()
1690
-    {
1691
-        if (defined($this->yystack[ $this->yyidx + - 2 ]->minor)) {
1692
-            if ($this->security) {
1693
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 2 ]->minor, $this->compiler);
1694
-            }
1695
-            $this->_retvalue =
1696
-                $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1697
-                                            array('value' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1698
-                                                  'modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1699
-        } else {
1700
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor,
1701
-                                                           $this->yystack[ $this->yyidx + 0 ]->minor,
1702
-                                                           array('modifierlist' => $this->yystack[ $this->yyidx +
1703
-                                                                                                   - 1 ]->minor));
1704
-        }
1705
-    }
1706
-
1707
-    #line 445 "../smarty/lexer/smarty_internal_templateparser.y"
1708
-    public function yy_r35()
1709
-    {
1710
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor,
1711
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1712
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1713
-                                                                                                - 1 ]->minor));
1714
-    }
1715
-
1716
-    #line 450 "../smarty/lexer/smarty_internal_templateparser.y"
1717
-    public function yy_r36()
1718
-    {
1719
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 4 ]->minor,
1720
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1721
-                                                       array('modifierlist' => $this->yystack[ $this->yyidx +
1722
-                                                                                               - 1 ]->minor,
1723
-                                                             'object_method' => $this->yystack[ $this->yyidx +
1724
-                                                                                                - 2 ]->minor));
1725
-    }
1726
-
1727
-    #line 455 "../smarty/lexer/smarty_internal_templateparser.y"
1728
-    public function yy_r37()
1729
-    {
1730
-        $this->_retvalue = $this->compiler->compileTag('make_nocache', array(array('var' => '\'' .
1731
-                                                                                            substr($this->yystack[ $this->yyidx +
1732
-                                                                                                                   0 ]->minor,
1733
-                                                                                                   1) . '\'')));
1734
-    }
1735
-
1736
-    #line 460 "../smarty/lexer/smarty_internal_templateparser.y"
1737
-    public function yy_r38()
1738
-    {
1739
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1740
-        $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1741
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1742
-                                                                                               0 ]->minor));
1743
-    }
1744
-
1745
-    #line 465 "../smarty/lexer/smarty_internal_templateparser.y"
1746
-    public function yy_r39()
1747
-    {
1748
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 2 ]->minor, $this->lex->ldel_length));
1749
-        $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag,
1750
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1751
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1752
-                                                                                               - 1 ]->minor));
1753
-    }
1754
-
1755
-    #line 470 "../smarty/lexer/smarty_internal_templateparser.y"
1756
-    public function yy_r40()
1757
-    {
1758
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1759
-        $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1760
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1761
-                                                                                               0 ]->minor));
1762
-    }
1763
-
1764
-    #line 481 "../smarty/lexer/smarty_internal_templateparser.y"
1765
-    public function yy_r42()
1766
-    {
1767
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1768
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1769
-                                                                                                                 - 6 ]->minor),
1770
-                                                                                array('ifexp' => $this->yystack[ $this->yyidx +
1771
-                                                                                                                 - 4 ]->minor),
1772
-                                                                                array('var' => $this->yystack[ $this->yyidx +
1773
-                                                                                                               - 2 ]->minor),
1774
-                                                                                array('step' => $this->yystack[ $this->yyidx +
1775
-                                                                                                                - 1 ]->minor))),
1776
-                                                       1);
1777
-    }
1778
-
1779
-    #line 485 "../smarty/lexer/smarty_internal_templateparser.y"
1780
-    public function yy_r43()
1781
-    {
1782
-        $this->_retvalue = '=' . $this->yystack[ $this->yyidx + 0 ]->minor;
1783
-    }
1784
-
1785
-    #line 493 "../smarty/lexer/smarty_internal_templateparser.y"
1786
-    public function yy_r45()
1787
-    {
1788
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1789
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1790
-                                                                                                                 - 3 ]->minor),
1791
-                                                                                array('to' => $this->yystack[ $this->yyidx +
1792
-                                                                                                              - 1 ]->minor))),
1793
-                                                       0);
1794
-    }
1795
-
1796
-    #line 497 "../smarty/lexer/smarty_internal_templateparser.y"
1797
-    public function yy_r46()
1798
-    {
1799
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1800
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1801
-                                                                                                                 - 5 ]->minor),
1802
-                                                                                array('to' => $this->yystack[ $this->yyidx +
1803
-                                                                                                              - 3 ]->minor),
1804
-                                                                                array('step' => $this->yystack[ $this->yyidx +
1805
-                                                                                                                - 1 ]->minor))),
1806
-                                                       0);
1807
-    }
1808
-
1809
-    #line 502 "../smarty/lexer/smarty_internal_templateparser.y"
1810
-    public function yy_r47()
1811
-    {
1812
-        $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[ $this->yyidx + 0 ]->minor);
1813
-    }
1814
-
1815
-    #line 507 "../smarty/lexer/smarty_internal_templateparser.y"
1816
-    public function yy_r48()
1817
-    {
1818
-        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1819
-                                                                              array(array('from' => $this->yystack[ $this->yyidx +
1820
-                                                                                                                    - 3 ]->minor),
1821
-                                                                                    array('item' => $this->yystack[ $this->yyidx +
1822
-                                                                                                                    - 1 ]->minor))));
1823
-    }
1824
-
1825
-    #line 511 "../smarty/lexer/smarty_internal_templateparser.y"
1826
-    public function yy_r49()
1827
-    {
1828
-        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1829
-                                                                              array(array('from' => $this->yystack[ $this->yyidx +
1830
-                                                                                                                    - 5 ]->minor),
1831
-                                                                                    array('item' => $this->yystack[ $this->yyidx +
1832
-                                                                                                                    - 1 ]->minor),
1833
-                                                                                    array('key' => $this->yystack[ $this->yyidx +
1834
-                                                                                                                   - 3 ]->minor))));
1835
-    }
1836
-
1837
-    #line 524 "../smarty/lexer/smarty_internal_templateparser.y"
1838
-    public function yy_r52()
1839
-    {
1840
-        $this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1841
-                                                       array('modifier_list' => array(array_merge(array($this->yystack[ $this->yyidx +
1842
-                                                                                                                        - 1 ]->minor),
1843
-                                                                                                  $this->yystack[ $this->yyidx +
1844
-                                                                                                                  0 ]->minor))));
1845
-    }
1846
-
1847
-    #line 528 "../smarty/lexer/smarty_internal_templateparser.y"
1848
-    public function yy_r53()
1849
-    {
1850
-        $this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1851
-                                                       array('modifier_list' => array_merge(array(array_merge(array($this->yystack[ $this->yyidx +
1852
-                                                                                                                                    - 2 ]->minor),
1853
-                                                                                                              $this->yystack[ $this->yyidx +
1854
-                                                                                                                              - 1 ]->minor)),
1855
-                                                                                            $this->yystack[ $this->yyidx +
1856
-                                                                                                            0 ]->minor)));
1857
-    }
1858
-
1859
-    #line 533 "../smarty/lexer/smarty_internal_templateparser.y"
1860
-    public function yy_r54()
1861
-    {
1862
-        $j = strrpos($this->yystack[ $this->yyidx + 0 ]->minor, '.');
1863
-        if ($this->yystack[ $this->yyidx + 0 ]->minor[ $j + 1 ] == 'c') {
1864
-            // {$smarty.block.child}
1865
-            $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
1866
-        } else {
1867
-            // {$smarty.block.parent}
1868
-            $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
1869
-        }
1870
-    }
1871
-
1872
-    #line 546 "../smarty/lexer/smarty_internal_templateparser.y"
1873
-    public function yy_r55()
1874
-    {
1875
-        $tag =
1876
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1877
-                 ' /');
1878
-        if ($tag == 'strip') {
1879
-            $this->strip = false;
1880
-            $this->_retvalue = null;
1881
-        } else {
1882
-            $this->_retvalue = $this->compiler->compileTag($tag . 'close', array());
1883
-        }
1884
-    }
1885
-
1886
-    #line 555 "../smarty/lexer/smarty_internal_templateparser.y"
1887
-    public function yy_r56()
1888
-    {
1889
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor . 'close', array());
1890
-    }
1891
-
1892
-    #line 559 "../smarty/lexer/smarty_internal_templateparser.y"
1893
-    public function yy_r57()
1894
-    {
1895
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor . 'close', array(),
1896
-                                                       array('modifier_list' => $this->yystack[ $this->yyidx +
1897
-                                                                                                0 ]->minor));
1898
-    }
1899
-
1900
-    #line 564 "../smarty/lexer/smarty_internal_templateparser.y"
1901
-    public function yy_r58()
1902
-    {
1903
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor . 'close', array(),
1904
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1905
-                                                                                                0 ]->minor));
1906
-    }
1907
-
1908
-    #line 568 "../smarty/lexer/smarty_internal_templateparser.y"
1909
-    public function yy_r59()
1910
-    {
1911
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor . 'close', array(),
1912
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1913
-                                                                                                - 1 ]->minor,
1914
-                                                             'modifier_list' => $this->yystack[ $this->yyidx +
1915
-                                                                                                0 ]->minor));
1916
-    }
1917
-
1918
-    #line 576 "../smarty/lexer/smarty_internal_templateparser.y"
1919
-    public function yy_r60()
1920
-    {
1921
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1922
-        $this->_retvalue[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1923
-    }
1924
-
1925
-    #line 582 "../smarty/lexer/smarty_internal_templateparser.y"
1926
-    public function yy_r61()
1927
-    {
1928
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
1929
-    }
1930
-
1931
-    #line 587 "../smarty/lexer/smarty_internal_templateparser.y"
1932
-    public function yy_r62()
1933
-    {
1934
-        $this->_retvalue = array();
1935
-    }
1936
-
1937
-    #line 592 "../smarty/lexer/smarty_internal_templateparser.y"
1938
-    public function yy_r63()
1939
-    {
1940
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1941
-            if ($this->security) {
1942
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1943
-            }
1944
-            $this->_retvalue =
1945
-                array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1946
-        } else {
1947
-            $this->_retvalue =
1948
-                array($this->yystack[ $this->yyidx + - 2 ]->minor => '\'' . $this->yystack[ $this->yyidx + 0 ]->minor .
1949
-                                                                     '\'');
1950
-        }
1951
-    }
1952
-
1953
-    #line 603 "../smarty/lexer/smarty_internal_templateparser.y"
1954
-    public function yy_r64()
1955
-    {
1956
-        $this->_retvalue =
1957
-            array(trim($this->yystack[ $this->yyidx + - 1 ]->minor, " =\n\r\t") => $this->yystack[ $this->yyidx +
1958
-                                                                                                   0 ]->minor);
1959
-    }
1960
-
1961
-    #line 611 "../smarty/lexer/smarty_internal_templateparser.y"
1962
-    public function yy_r66()
1963
-    {
1964
-        $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
1965
-    }
1966
-
1967
-    #line 623 "../smarty/lexer/smarty_internal_templateparser.y"
1968
-    public function yy_r69()
1969
-    {
1970
-        $this->_retvalue =
1971
-            array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1972
-    }
1973
-
1974
-    #line 636 "../smarty/lexer/smarty_internal_templateparser.y"
1975
-    public function yy_r71()
1976
-    {
1977
-        $this->yystack[ $this->yyidx + - 2 ]->minor[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1978
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor;
1979
-    }
1980
-
1981
-    #line 641 "../smarty/lexer/smarty_internal_templateparser.y"
1982
-    public function yy_r72()
1983
-    {
1984
-        $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '\'',
1985
-                                 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1986
-    }
1987
-
1988
-    #line 648 "../smarty/lexer/smarty_internal_templateparser.y"
1989
-    public function yy_r74()
1990
-    {
1991
-        $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1992
-                                 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1993
-    }
1994
-
1995
-    #line 672 "../smarty/lexer/smarty_internal_templateparser.y"
1996
-    public function yy_r78()
1997
-    {
1998
-        $this->_retvalue =
1999
-            '$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '://' .
2000
-            $this->yystack[ $this->yyidx + 0 ]->minor . '\')';
2001
-    }
2002
-
2003
-    #line 677 "../smarty/lexer/smarty_internal_templateparser.y"
2004
-    public function yy_r79()
2005
-    {
2006
-        $this->_retvalue =
2007
-            $this->yystack[ $this->yyidx + - 2 ]->minor . trim($this->yystack[ $this->yyidx + - 1 ]->minor) .
2008
-            $this->yystack[ $this->yyidx + 0 ]->minor;
2009
-    }
2010
-
2011
-    #line 691 "../smarty/lexer/smarty_internal_templateparser.y"
2012
-    public function yy_r82()
2013
-    {
2014
-        $this->_retvalue = $this->compiler->compileTag('private_modifier', array(),
2015
-                                                       array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2016
-                                                             'modifierlist' => $this->yystack[ $this->yyidx +
2017
-                                                                                               0 ]->minor));
2018
-    }
2019
-
2020
-    #line 697 "../smarty/lexer/smarty_internal_templateparser.y"
2021
-    public function yy_r83()
2022
-    {
2023
-        $this->_retvalue =
2024
-            $this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ] . $this->yystack[ $this->yyidx + - 2 ]->minor .
2025
-            $this->yystack[ $this->yyidx + - 1 ]->minor[ 'op' ] . $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2026
-    }
2027
-
2028
-    #line 701 "../smarty/lexer/smarty_internal_templateparser.y"
2029
-    public function yy_r84()
2030
-    {
2031
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2032
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2033
-    }
2034
-
2035
-    #line 705 "../smarty/lexer/smarty_internal_templateparser.y"
2036
-    public function yy_r85()
2037
-    {
2038
-        $this->_retvalue =
2039
-            $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2040
-    }
2041
-
2042
-    #line 709 "../smarty/lexer/smarty_internal_templateparser.y"
2043
-    public function yy_r86()
2044
-    {
2045
-        $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' .
2046
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2047
-    }
2048
-
2049
-    #line 713 "../smarty/lexer/smarty_internal_templateparser.y"
2050
-    public function yy_r87()
2051
-    {
2052
-        $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' .
2053
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2054
-    }
2055
-
2056
-    #line 721 "../smarty/lexer/smarty_internal_templateparser.y"
2057
-    public function yy_r88()
2058
-    {
2059
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->compiler->compileVariable('\'' .
2060
-                                                                                                                  substr($this->yystack[ $this->yyidx +
2061
-                                                                                                                                         - 2 ]->minor,
2062
-                                                                                                                         1) .
2063
-                                                                                                                  '\'') .
2064
-                           ' : ' . $this->yystack[ $this->yyidx + 0 ]->minor;
2065
-    }
2066
-
2067
-    #line 725 "../smarty/lexer/smarty_internal_templateparser.y"
2068
-    public function yy_r89()
2069
-    {
2070
-        $this->_retvalue =
2071
-            $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->yystack[ $this->yyidx + - 2 ]->minor . ' : ' .
2072
-            $this->yystack[ $this->yyidx + 0 ]->minor;
2073
-    }
2074
-
2075
-    #line 740 "../smarty/lexer/smarty_internal_templateparser.y"
2076
-    public function yy_r92()
2077
-    {
2078
-        $this->_retvalue = '!' . $this->yystack[ $this->yyidx + 0 ]->minor;
2079
-    }
2080
-
2081
-    #line 761 "../smarty/lexer/smarty_internal_templateparser.y"
2082
-    public function yy_r97()
2083
-    {
2084
-        $this->_retvalue =
2085
-            $this->yystack[ $this->yyidx + - 2 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2086
-    }
2087
-
2088
-    #line 765 "../smarty/lexer/smarty_internal_templateparser.y"
2089
-    public function yy_r98()
2090
-    {
2091
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '.';
2092
-    }
2093
-
2094
-    #line 769 "../smarty/lexer/smarty_internal_templateparser.y"
2095
-    public function yy_r99()
2096
-    {
2097
-        $this->_retvalue = '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2098
-    }
2099
-
2100
-    #line 774 "../smarty/lexer/smarty_internal_templateparser.y"
2101
-    public function yy_r100()
2102
-    {
2103
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
2104
-            if ($this->security) {
2105
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
2106
-            }
2107
-            $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2108
-        } else {
2109
-            $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
2110
-        }
2111
-    }
2112
-
2113
-    #line 791 "../smarty/lexer/smarty_internal_templateparser.y"
2114
-    public function yy_r102()
2115
-    {
2116
-        $this->_retvalue = "(" . $this->yystack[ $this->yyidx + - 1 ]->minor . ")";
2117
-    }
2118
-
2119
-    #line 795 "../smarty/lexer/smarty_internal_templateparser.y"
2120
-    public function yy_r103()
2121
-    {
2122
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2123
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2124
-    }
2125
-
2126
-    #line 813 "../smarty/lexer/smarty_internal_templateparser.y"
2127
-    public function yy_r107()
2128
-    {
2129
-        $prefixVar = $this->compiler->getNewPrefixVariable();
2130
-        if ($this->yystack[ $this->yyidx + - 2 ]->minor[ 'var' ] == '\'smarty\'') {
2131
-            $this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2132
-                                              $this->compiler->compileTag('private_special_variable', array(),
2133
-                                                                          $this->yystack[ $this->yyidx +
2134
-                                                                                          - 2 ]->minor[ 'smarty_internal_index' ]) .
2135
-                                              ';?>');
2136
-        } else {
2137
-            $this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2138
-                                              $this->compiler->compileVariable($this->yystack[ $this->yyidx +
2139
-                                                                                               - 2 ]->minor[ 'var' ]) .
2140
-                                              $this->yystack[ $this->yyidx + - 2 ]->minor[ 'smarty_internal_index' ] .
2141
-                                              ';?>');
2142
-        }
2143
-        $this->_retvalue = $prefixVar . '::' . $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2144
-                           $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2145
-    }
2146
-
2147
-    #line 824 "../smarty/lexer/smarty_internal_templateparser.y"
2148
-    public function yy_r108()
2149
-    {
2150
-        $prefixVar = $this->compiler->getNewPrefixVariable();
2151
-        $tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[ $this->yyidx + 0 ]->minor);
2152
-        $this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php $prefixVar" . '=ob_get_clean();?>'));
2153
-        $this->_retvalue = $prefixVar;
2154
-    }
2155
-
2156
-    #line 841 "../smarty/lexer/smarty_internal_templateparser.y"
2157
-    public function yy_r111()
2158
-    {
2159
-        if (!in_array(strtolower($this->yystack[ $this->yyidx + - 2 ]->minor), array('self', 'parent')) &&
2160
-            (!$this->security ||
2161
-             $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + - 2 ]->minor,
2162
-                                                         $this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler))
2163
-        ) {
2164
-            if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ])) {
2165
-                $this->_retvalue =
2166
-                    $this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ] . '::' .
2167
-                    $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] . $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2168
-            } else {
2169
-                $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . '::' .
2170
-                                   $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2171
-                                   $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2172
-            }
2173
-        } else {
2174
-            $this->compiler->trigger_template_error("static class '" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2175
-                                                    "' is undefined or not allowed by security setting");
2176
-        }
2177
-    }
2178
-
2179
-    #line 860 "../smarty/lexer/smarty_internal_templateparser.y"
2180
-    public function yy_r113()
2181
-    {
2182
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2183
-    }
2184
-
2185
-    #line 871 "../smarty/lexer/smarty_internal_templateparser.y"
2186
-    public function yy_r114()
2187
-    {
2188
-        $this->_retvalue =
2189
-            $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'');
2190
-    }
2191
-
2192
-    #line 874 "../smarty/lexer/smarty_internal_templateparser.y"
2193
-    public function yy_r115()
2194
-    {
2195
-        if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] == '\'smarty\'') {
2196
-            $smarty_var = $this->compiler->compileTag('private_special_variable', array(),
2197
-                                                      $this->yystack[ $this->yyidx +
2198
-                                                                      0 ]->minor[ 'smarty_internal_index' ]);
2199
-            $this->_retvalue = $smarty_var;
2200
-        } else {
2201
-            // used for array reset,next,prev,end,current
2202
-            $this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
2203
-            $this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2204
-            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
2205
-                               $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2206
-        }
2207
-    }
2208
-
2209
-    #line 887 "../smarty/lexer/smarty_internal_templateparser.y"
2210
-    public function yy_r116()
2211
-    {
2212
-        $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[ $this->yyidx + - 2 ]->minor . ']->' .
2213
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2214
-    }
2215
-
2216
-    #line 897 "../smarty/lexer/smarty_internal_templateparser.y"
2217
-    public function yy_r118()
2218
-    {
2219
-        $this->_retvalue =
2220
-            $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 1 ]->minor . "'");
2221
-    }
2222
-
2223
-    #line 901 "../smarty/lexer/smarty_internal_templateparser.y"
2224
-    public function yy_r119()
2225
-    {
2226
-        $this->_retvalue = '(is_array($tmp = ' .
2227
-                           $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2228
-                                                                  "'") . ') ? $tmp' .
2229
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ' :null)';
2230
-    }
2231
-
2232
-    #line 905 "../smarty/lexer/smarty_internal_templateparser.y"
2233
-    public function yy_r120()
2234
-    {
2235
-        $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 1 ]->minor);
2236
-    }
2237
-
2238
-    #line 909 "../smarty/lexer/smarty_internal_templateparser.y"
2239
-    public function yy_r121()
2240
-    {
2241
-        $this->_retvalue =
2242
-            '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 2 ]->minor) .
2243
-            ') ? $tmp' . $this->yystack[ $this->yyidx + 0 ]->minor . ' : null)';
2244
-    }
2245
-
2246
-    #line 913 "../smarty/lexer/smarty_internal_templateparser.y"
2247
-    public function yy_r122()
2248
-    {
2249
-        $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'',
2250
-                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2251
-    }
2252
-
2253
-    #line 916 "../smarty/lexer/smarty_internal_templateparser.y"
2254
-    public function yy_r123()
2255
-    {
2256
-        $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2257
-                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2258
-    }
2259
-
2260
-    #line 929 "../smarty/lexer/smarty_internal_templateparser.y"
2261
-    public function yy_r125()
2262
-    {
2263
-        return;
2264
-    }
2265
-
2266
-    #line 935 "../smarty/lexer/smarty_internal_templateparser.y"
2267
-    public function yy_r126()
2268
-    {
2269
-        $this->_retvalue =
2270
-            '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'') .
2271
-            ']';
2272
-    }
2273
-
2274
-    #line 938 "../smarty/lexer/smarty_internal_templateparser.y"
2275
-    public function yy_r127()
2276
-    {
2277
-        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
2278
-    }
2279
-
2280
-    #line 942 "../smarty/lexer/smarty_internal_templateparser.y"
2281
-    public function yy_r128()
2282
-    {
2283
-        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 2 ]->minor) . '->' .
2284
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2285
-    }
2286
-
2287
-    #line 946 "../smarty/lexer/smarty_internal_templateparser.y"
2288
-    public function yy_r129()
2289
-    {
2290
-        $this->_retvalue = "['" . $this->yystack[ $this->yyidx + 0 ]->minor . "']";
2291
-    }
2292
-
2293
-    #line 950 "../smarty/lexer/smarty_internal_templateparser.y"
2294
-    public function yy_r130()
2295
-    {
2296
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2297
-    }
2298
-
2299
-    #line 955 "../smarty/lexer/smarty_internal_templateparser.y"
2300
-    public function yy_r131()
2301
-    {
2302
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2303
-    }
2304
-
2305
-    #line 960 "../smarty/lexer/smarty_internal_templateparser.y"
2306
-    public function yy_r132()
2307
-    {
2308
-        $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2309
-                                                                                                  $this->yystack[ $this->yyidx +
2310
-                                                                                                                  - 1 ]->minor .
2311
-                                                                                                  '\'][\'index\']') .
2312
-                           ']';
2313
-    }
2314
-
2315
-    #line 964 "../smarty/lexer/smarty_internal_templateparser.y"
2316
-    public function yy_r133()
2317
-    {
2318
-        $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2319
-                                                                                                  $this->yystack[ $this->yyidx +
2320
-                                                                                                                  - 3 ]->minor .
2321
-                                                                                                  '\'][\'' .
2322
-                                                                                                  $this->yystack[ $this->yyidx +
2323
-                                                                                                                  - 1 ]->minor .
2324
-                                                                                                  '\']') . ']';
2325
-    }
2326
-
2327
-    #line 967 "../smarty/lexer/smarty_internal_templateparser.y"
2328
-    public function yy_r134()
2329
-    {
2330
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2331
-    }
2332
-
2333
-    #line 973 "../smarty/lexer/smarty_internal_templateparser.y"
2334
-    public function yy_r136()
2335
-    {
2336
-        $this->_retvalue = '[' . $this->compiler->compileVariable('\'' .
2337
-                                                                  substr($this->yystack[ $this->yyidx + - 1 ]->minor,
2338
-                                                                         1) . '\'') . ']';;
2339
-    }
2340
-
2341
-    #line 989 "../smarty/lexer/smarty_internal_templateparser.y"
2342
-    public function yy_r140()
2343
-    {
2344
-        $this->_retvalue = '[]';
2345
-    }
2346
-
2347
-    #line 999 "../smarty/lexer/smarty_internal_templateparser.y"
2348
-    public function yy_r141()
2349
-    {
2350
-        $this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'';
2351
-    }
2352
-
2353
-    #line 1003 "../smarty/lexer/smarty_internal_templateparser.y"
2354
-    public function yy_r142()
2355
-    {
2356
-        $this->_retvalue = "''";
2357
-    }
2358
-
2359
-    #line 1008 "../smarty/lexer/smarty_internal_templateparser.y"
2360
-    public function yy_r143()
2361
-    {
2362
-        $this->_retvalue =
2363
-            $this->yystack[ $this->yyidx + - 1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2364
-    }
2365
-
2366
-    #line 1016 "../smarty/lexer/smarty_internal_templateparser.y"
2367
-    public function yy_r145()
2368
-    {
2369
-        $var =
2370
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
2371
-                 ' $');
2372
-        $this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\'');
2373
-    }
2374
-
2375
-    #line 1022 "../smarty/lexer/smarty_internal_templateparser.y"
2376
-    public function yy_r146()
2377
-    {
2378
-        $this->_retvalue = '(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2379
-    }
2380
-
2381
-    #line 1029 "../smarty/lexer/smarty_internal_templateparser.y"
2382
-    public function yy_r147()
2383
-    {
2384
-        if ($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ] == '\'smarty\'') {
2385
-            $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(),
2386
-                                                           $this->yystack[ $this->yyidx +
2387
-                                                                           - 1 ]->minor[ 'smarty_internal_index' ]) .
2388
-                               $this->yystack[ $this->yyidx + 0 ]->minor;
2389
-        } else {
2390
-            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ]) .
2391
-                               $this->yystack[ $this->yyidx + - 1 ]->minor[ 'smarty_internal_index' ] .
2392
-                               $this->yystack[ $this->yyidx + 0 ]->minor;
2393
-        }
2394
-    }
2395
-
2396
-    #line 1038 "../smarty/lexer/smarty_internal_templateparser.y"
2397
-    public function yy_r148()
2398
-    {
2399
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2400
-    }
2401
-
2402
-    #line 1043 "../smarty/lexer/smarty_internal_templateparser.y"
2403
-    public function yy_r149()
2404
-    {
2405
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2406
-    }
2407
-
2408
-    #line 1048 "../smarty/lexer/smarty_internal_templateparser.y"
2409
-    public function yy_r150()
2410
-    {
2411
-        if ($this->security && substr($this->yystack[ $this->yyidx + - 1 ]->minor, 0, 1) == '_') {
2412
-            $this->compiler->trigger_template_error(self::Err1);
2413
-        }
2414
-        $this->_retvalue =
2415
-            '->' . $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2416
-    }
2417
-
2418
-    #line 1055 "../smarty/lexer/smarty_internal_templateparser.y"
2419
-    public function yy_r151()
2420
-    {
2421
-        if ($this->security) {
2422
-            $this->compiler->trigger_template_error(self::Err2);
2423
-        }
2424
-        $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor) .
2425
-                           $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2426
-    }
2427
-
2428
-    #line 1062 "../smarty/lexer/smarty_internal_templateparser.y"
2429
-    public function yy_r152()
2430
-    {
2431
-        if ($this->security) {
2432
-            $this->compiler->trigger_template_error(self::Err2);
2433
-        }
2434
-        $this->_retvalue =
2435
-            '->{' . $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2436
-    }
2437
-
2438
-    #line 1069 "../smarty/lexer/smarty_internal_templateparser.y"
2439
-    public function yy_r153()
2440
-    {
2441
-        if ($this->security) {
2442
-            $this->compiler->trigger_template_error(self::Err2);
2443
-        }
2444
-        $this->_retvalue = '->{\'' . $this->yystack[ $this->yyidx + - 4 ]->minor . '\'.' .
2445
-                           $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor .
2446
-                           '}';
2447
-    }
2448
-
2449
-    #line 1077 "../smarty/lexer/smarty_internal_templateparser.y"
2450
-    public function yy_r154()
2451
-    {
2452
-        $this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
2453
-    }
2454
-
2455
-    #line 1085 "../smarty/lexer/smarty_internal_templateparser.y"
2456
-    public function yy_r155()
2457
-    {
2458
-        if (!$this->security ||
2459
-            $this->security->isTrustedPhpFunction($this->yystack[ $this->yyidx + - 3 ]->minor, $this->compiler)
2460
-        ) {
2461
-            if (strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'isset') === 0 ||
2462
-                strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'empty') === 0 ||
2463
-                strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'array') === 0 ||
2464
-                is_callable($this->yystack[ $this->yyidx + - 3 ]->minor)
2465
-            ) {
2466
-                $func_name = strtolower($this->yystack[ $this->yyidx + - 3 ]->minor);
2467
-                if ($func_name == 'isset') {
2468
-                    if (count($this->yystack[ $this->yyidx + - 1 ]->minor) == 0) {
2469
-                        $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
2470
-                    }
2471
-                    $par = implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor);
2472
-                    if (strncasecmp($par, '$_smarty_tpl->smarty->ext->_config->_getConfigVariable',
2473
-                                    strlen('$_smarty_tpl->smarty->ext->_config->_getConfigVariable')) === 0
2474
-                    ) {
2475
-                        $prefixVar = $this->compiler->getNewPrefixVariable();
2476
-                        $this->compiler->appendPrefixCode("<?php $prefixVar" . '=' .
2477
-                                                          str_replace(')', ', false)', $par) . ';?>');
2478
-                        $isset_par = $prefixVar;
2479
-                    } else {
2480
-                        $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
2481
-                    }
2482
-                    $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" . $isset_par . ")";
2483
-                } elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
2484
-                    if (count($this->yystack[ $this->yyidx + - 1 ]->minor) != 1) {
2485
-                        $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
2486
-                    }
2487
-                    if ($func_name == 'empty') {
2488
-                        $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value",
2489
-                                                                          $this->yystack[ $this->yyidx +
2490
-                                                                                          - 1 ]->minor[ 0 ]) . ')';
2491
-                    } else {
2492
-                        $this->_retvalue = $func_name . '(' . $this->yystack[ $this->yyidx + - 1 ]->minor[ 0 ] . ')';
2493
-                    }
2494
-                } else {
2495
-                    $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2496
-                                       implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2497
-                }
2498
-            } else {
2499
-                $this->compiler->trigger_template_error("unknown function \"" .
2500
-                                                        $this->yystack[ $this->yyidx + - 3 ]->minor . "\"");
2501
-            }
2502
-        }
2503
-    }
2504
-
2505
-    #line 1124 "../smarty/lexer/smarty_internal_templateparser.y"
2506
-    public function yy_r156()
2507
-    {
2508
-        if ($this->security && substr($this->yystack[ $this->yyidx + - 3 ]->minor, 0, 1) == '_') {
2509
-            $this->compiler->trigger_template_error(self::Err1);
2510
-        }
2511
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2512
-                           implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2513
-    }
2514
-
2515
-    #line 1131 "../smarty/lexer/smarty_internal_templateparser.y"
2516
-    public function yy_r157()
2517
-    {
2518
-        if ($this->security) {
2519
-            $this->compiler->trigger_template_error(self::Err2);
2520
-        }
2521
-        $prefixVar = $this->compiler->getNewPrefixVariable();
2522
-        $this->compiler->appendPrefixCode("<?php $prefixVar" . '=' . $this->compiler->compileVariable('\'' .
2523
-                                                                                                      substr($this->yystack[ $this->yyidx +
2524
-                                                                                                                             - 3 ]->minor,
2525
-                                                                                                             1) .
2526
-                                                                                                      '\'') . ';?>');
2527
-        $this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ')';
2528
-    }
2529
-
2530
-    #line 1142 "../smarty/lexer/smarty_internal_templateparser.y"
2531
-    public function yy_r158()
2532
-    {
2533
-        $this->_retvalue =
2534
-            array_merge($this->yystack[ $this->yyidx + - 2 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor));
2535
-    }
2536
-
2537
-    #line 1159 "../smarty/lexer/smarty_internal_templateparser.y"
2538
-    public function yy_r161()
2539
-    {
2540
-        $this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 2 ]->minor,
2541
-                                       array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor,
2542
-                                                         $this->yystack[ $this->yyidx + 0 ]->minor)));
2543
-    }
2544
-
2545
-    #line 1163 "../smarty/lexer/smarty_internal_templateparser.y"
2546
-    public function yy_r162()
2547
-    {
2548
-        $this->_retvalue =
2549
-            array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor));
2550
-    }
2551
-
2552
-    #line 1171 "../smarty/lexer/smarty_internal_templateparser.y"
2553
-    public function yy_r164()
2554
-    {
2555
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
2556
-    }
2557
-
2558
-    #line 1179 "../smarty/lexer/smarty_internal_templateparser.y"
2559
-    public function yy_r165()
2560
-    {
2561
-        $this->_retvalue =
2562
-            array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
2563
-    }
2564
-
2565
-    #line 1198 "../smarty/lexer/smarty_internal_templateparser.y"
2566
-    public function yy_r169()
2567
-    {
2568
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method');
2569
-    }
2570
-
2571
-    #line 1203 "../smarty/lexer/smarty_internal_templateparser.y"
2572
-    public function yy_r170()
2573
-    {
2574
-        $this->_retvalue =
2575
-            array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method');
2576
-    }
2577
-
2578
-    #line 1208 "../smarty/lexer/smarty_internal_templateparser.y"
2579
-    public function yy_r171()
2580
-    {
2581
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '');
2582
-    }
2583
-
2584
-    #line 1213 "../smarty/lexer/smarty_internal_templateparser.y"
2585
-    public function yy_r172()
2586
-    {
2587
-        $this->_retvalue =
2588
-            array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2589
-    }
2590
-
2591
-    #line 1218 "../smarty/lexer/smarty_internal_templateparser.y"
2592
-    public function yy_r173()
2593
-    {
2594
-        $this->_retvalue = array($this->yystack[ $this->yyidx + - 2 ]->minor,
2595
-                                 $this->yystack[ $this->yyidx + - 1 ]->minor .
2596
-                                 $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2597
-    }
2598
-
2599
-    #line 1224 "../smarty/lexer/smarty_internal_templateparser.y"
2600
-    public function yy_r174()
2601
-    {
2602
-        $this->_retvalue = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' ';
2603
-    }
2604
-
2605
-    #line 1228 "../smarty/lexer/smarty_internal_templateparser.y"
2606
-    public function yy_r175()
2607
-    {
2608
-        static $lops =
2609
-            array('eq' => ' == ', 'ne' => ' != ', 'neq' => ' != ', 'gt' => ' > ', 'ge' => ' >= ', 'gte' => ' >= ',
2610
-                  'lt' => ' < ', 'le' => ' <= ', 'lte' => ' <= ', 'mod' => ' % ', 'and' => ' && ', 'or' => ' || ',
2611
-                  'xor' => ' xor ',);
2612
-        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2613
-        $this->_retvalue = $lops[ $op ];
2614
-    }
2615
-
2616
-    #line 1247 "../smarty/lexer/smarty_internal_templateparser.y"
2617
-    public function yy_r176()
2618
-    {
2619
-        static $tlops =
2620
-            array('isdivby' => array('op' => ' % ', 'pre' => '!('), 'isnotdivby' => array('op' => ' % ', 'pre' => '('),
2621
-                  'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '),
2622
-                  'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
2623
-                  'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
2624
-                  'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),);
2625
-        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2626
-        $this->_retvalue = $tlops[ $op ];
2627
-    }
2628
-
2629
-    #line 1260 "../smarty/lexer/smarty_internal_templateparser.y"
2630
-    public function yy_r177()
2631
-    {
2632
-        static $scond =
2633
-            array('iseven' => '!(1 & ', 'isnoteven' => '(1 & ', 'isodd' => '(1 & ', 'isnotodd' => '!(1 & ',);
2634
-        $op = strtolower(str_replace(' ', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2635
-        $this->_retvalue = $scond[ $op ];
2636
-    }
2637
-
2638
-    #line 1274 "../smarty/lexer/smarty_internal_templateparser.y"
2639
-    public function yy_r178()
2640
-    {
2641
-        $this->_retvalue = 'array(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2642
-    }
2643
-
2644
-    #line 1282 "../smarty/lexer/smarty_internal_templateparser.y"
2645
-    public function yy_r180()
2646
-    {
2647
-        $this->_retvalue =
2648
-            $this->yystack[ $this->yyidx + - 2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor;
2649
-    }
2650
-
2651
-    #line 1290 "../smarty/lexer/smarty_internal_templateparser.y"
2652
-    public function yy_r182()
2653
-    {
2654
-        $this->_retvalue =
2655
-            $this->yystack[ $this->yyidx + - 2 ]->minor . '=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2656
-    }
2657
-
2658
-    #line 1294 "../smarty/lexer/smarty_internal_templateparser.y"
2659
-    public function yy_r183()
2660
-    {
2661
-        $this->_retvalue =
2662
-            '\'' . $this->yystack[ $this->yyidx + - 2 ]->minor . '\'=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2663
-    }
2664
-
2665
-    #line 1310 "../smarty/lexer/smarty_internal_templateparser.y"
2666
-    public function yy_r186()
2667
-    {
2668
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor->to_smarty_php($this);
2669
-    }
2670
-
2671
-    #line 1315 "../smarty/lexer/smarty_internal_templateparser.y"
2672
-    public function yy_r187()
2673
-    {
2674
-        $this->yystack[ $this->yyidx + - 1 ]->minor->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2675
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
2676
-    }
2677
-
2678
-    #line 1320 "../smarty/lexer/smarty_internal_templateparser.y"
2679
-    public function yy_r188()
2680
-    {
2681
-        $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2682
-    }
2683
-
2684
-    #line 1324 "../smarty/lexer/smarty_internal_templateparser.y"
2685
-    public function yy_r189()
2686
-    {
2687
-        $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[ $this->yyidx + - 1 ]->minor);
2688
-    }
2689
-
2690
-    #line 1332 "../smarty/lexer/smarty_internal_templateparser.y"
2691
-    public function yy_r191()
2692
-    {
2693
-        $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' .
2694
-                                                              substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) .
2695
-                                                              '\']->value');
2696
-    }
2697
-
2698
-    #line 1340 "../smarty/lexer/smarty_internal_templateparser.y"
2699
-    public function yy_r193()
2700
-    {
2701
-        $this->_retvalue =
2702
-            new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')');
2703
-    }
2704
-
2705
-    #line 1344 "../smarty/lexer/smarty_internal_templateparser.y"
2706
-    public function yy_r194()
2707
-    {
2708
-        $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2709
-    }
2710
-
2711
-    #line 1348 "../smarty/lexer/smarty_internal_templateparser.y"
2712
-    public function yy_r195()
2713
-    {
2714
-        $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[ $this->yyidx + 0 ]->minor);
2715
-    }
2716
-
2717
-    private $_retvalue;
2718
-
2719
-    public function yy_reduce($yyruleno)
2720
-    {
1267
+			if (count(self::$yyFallback) && $iLookAhead < $countYyFallback &&
1268
+				($iFallback = self::$yyFallback[ $iLookAhead ]) != 0
1269
+			) {
1270
+				if ($this->yyTraceFILE) {
1271
+					fwrite($this->yyTraceFILE,
1272
+						   $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[ $iLookAhead ] . " => " .
1273
+						   $this->yyTokenName[ $iFallback ] . "\n");
1274
+				}
1275
+
1276
+				return $this->yy_find_shift_action($iFallback);
1277
+			}
1278
+
1279
+			return self::$yy_default[ $stateno ];
1280
+		} else {
1281
+			return self::$yy_action[ $i ];
1282
+		}
1283
+	}
1284
+
1285
+	public function yy_find_reduce_action($stateno, $iLookAhead)
1286
+	{
1287
+
1288
+		if (!isset(self::$yy_reduce_ofst[ $stateno ])) {
1289
+			return self::$yy_default[ $stateno ];
1290
+		}
1291
+		$i = self::$yy_reduce_ofst[ $stateno ];
1292
+		if ($i == self::YY_REDUCE_USE_DFLT) {
1293
+			return self::$yy_default[ $stateno ];
1294
+		}
1295
+		if ($iLookAhead == self::YYNOCODE) {
1296
+			return self::YY_NO_ACTION;
1297
+		}
1298
+		$i += $iLookAhead;
1299
+		if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1300
+			return self::$yy_default[ $stateno ];
1301
+		} else {
1302
+			return self::$yy_action[ $i ];
1303
+		}
1304
+	}
1305
+
1306
+	public function yy_shift($yyNewState, $yyMajor, $yypMinor)
1307
+	{
1308
+		$this->yyidx ++;
1309
+		if ($this->yyidx >= self::YYSTACKDEPTH) {
1310
+			$this->yyidx --;
1311
+			if ($this->yyTraceFILE) {
1312
+				fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
1313
+			}
1314
+			while ($this->yyidx >= 0) {
1315
+				$this->yy_pop_parser_stack();
1316
+			}
1317
+			#line 207 "../smarty/lexer/smarty_internal_templateparser.y"
1318
+
1319
+			$this->internalError = true;
1320
+			$this->compiler->trigger_template_error("Stack overflow in template parser");
1321
+
1322
+			return;
1323
+		}
1324
+		$yytos = new TP_yyStackEntry;
1325
+		$yytos->stateno = $yyNewState;
1326
+		$yytos->major = $yyMajor;
1327
+		$yytos->minor = $yypMinor;
1328
+		$this->yystack[] = $yytos;
1329
+		if ($this->yyTraceFILE && $this->yyidx > 0) {
1330
+			fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState);
1331
+			fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
1332
+			for ($i = 1; $i <= $this->yyidx; $i ++) {
1333
+				fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[ $this->yystack[ $i ]->major ]);
1334
+			}
1335
+			fwrite($this->yyTraceFILE, "\n");
1336
+		}
1337
+	}
1338
+
1339
+	public static $yyRuleInfo = array(array(0 => 63, 1 => 1), array(0 => 64, 1 => 1), array(0 => 64, 1 => 2),
1340
+									  array(0 => 64, 1 => 0), array(0 => 65, 1 => 1), array(0 => 65, 1 => 1),
1341
+									  array(0 => 65, 1 => 1), array(0 => 65, 1 => 1), array(0 => 65, 1 => 1),
1342
+									  array(0 => 68, 1 => 1), array(0 => 68, 1 => 2), array(0 => 65, 1 => 1),
1343
+									  array(0 => 65, 1 => 1), array(0 => 67, 1 => 2), array(0 => 67, 1 => 3),
1344
+									  array(0 => 69, 1 => 2), array(0 => 69, 1 => 0), array(0 => 70, 1 => 1),
1345
+									  array(0 => 70, 1 => 1), array(0 => 66, 1 => 2), array(0 => 66, 1 => 1),
1346
+									  array(0 => 71, 1 => 2), array(0 => 71, 1 => 3), array(0 => 71, 1 => 2),
1347
+									  array(0 => 71, 1 => 3), array(0 => 71, 1 => 2), array(0 => 71, 1 => 3),
1348
+									  array(0 => 71, 1 => 4), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1349
+									  array(0 => 71, 1 => 5), array(0 => 66, 1 => 1), array(0 => 71, 1 => 3),
1350
+									  array(0 => 71, 1 => 2), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1351
+									  array(0 => 71, 1 => 6), array(0 => 71, 1 => 2), array(0 => 71, 1 => 2),
1352
+									  array(0 => 71, 1 => 3), array(0 => 71, 1 => 2), array(0 => 71, 1 => 3),
1353
+									  array(0 => 71, 1 => 8), array(0 => 80, 1 => 2), array(0 => 80, 1 => 1),
1354
+									  array(0 => 71, 1 => 5), array(0 => 71, 1 => 7), array(0 => 71, 1 => 2),
1355
+									  array(0 => 71, 1 => 6), array(0 => 71, 1 => 8), array(0 => 71, 1 => 6),
1356
+									  array(0 => 71, 1 => 8), array(0 => 71, 1 => 3), array(0 => 71, 1 => 4),
1357
+									  array(0 => 71, 1 => 2), array(0 => 66, 1 => 1), array(0 => 71, 1 => 2),
1358
+									  array(0 => 71, 1 => 3), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1359
+									  array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), array(0 => 73, 1 => 0),
1360
+									  array(0 => 83, 1 => 4), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2),
1361
+									  array(0 => 83, 1 => 2), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2),
1362
+									  array(0 => 83, 1 => 4), array(0 => 79, 1 => 1), array(0 => 79, 1 => 3),
1363
+									  array(0 => 78, 1 => 3), array(0 => 78, 1 => 3), array(0 => 78, 1 => 3),
1364
+									  array(0 => 78, 1 => 3), array(0 => 75, 1 => 1), array(0 => 75, 1 => 1),
1365
+									  array(0 => 75, 1 => 3), array(0 => 75, 1 => 3), array(0 => 75, 1 => 3),
1366
+									  array(0 => 75, 1 => 1), array(0 => 75, 1 => 2), array(0 => 75, 1 => 3),
1367
+									  array(0 => 75, 1 => 3), array(0 => 75, 1 => 2), array(0 => 75, 1 => 3),
1368
+									  array(0 => 75, 1 => 3), array(0 => 84, 1 => 7), array(0 => 84, 1 => 7),
1369
+									  array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), array(0 => 74, 1 => 2),
1370
+									  array(0 => 74, 1 => 2), array(0 => 74, 1 => 2), array(0 => 74, 1 => 1),
1371
+									  array(0 => 74, 1 => 1), array(0 => 74, 1 => 3), array(0 => 74, 1 => 2),
1372
+									  array(0 => 74, 1 => 2), array(0 => 74, 1 => 1), array(0 => 74, 1 => 1),
1373
+									  array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), array(0 => 74, 1 => 3),
1374
+									  array(0 => 74, 1 => 1), array(0 => 74, 1 => 1), array(0 => 74, 1 => 3),
1375
+									  array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), array(0 => 74, 1 => 1),
1376
+									  array(0 => 74, 1 => 3), array(0 => 90, 1 => 1), array(0 => 90, 1 => 1),
1377
+									  array(0 => 72, 1 => 1), array(0 => 72, 1 => 1), array(0 => 72, 1 => 3),
1378
+									  array(0 => 72, 1 => 1), array(0 => 72, 1 => 3), array(0 => 72, 1 => 4),
1379
+									  array(0 => 72, 1 => 3), array(0 => 72, 1 => 4), array(0 => 76, 1 => 2),
1380
+									  array(0 => 76, 1 => 2), array(0 => 94, 1 => 2), array(0 => 94, 1 => 0),
1381
+									  array(0 => 95, 1 => 2), array(0 => 95, 1 => 2), array(0 => 95, 1 => 4),
1382
+									  array(0 => 95, 1 => 2), array(0 => 95, 1 => 2), array(0 => 95, 1 => 4),
1383
+									  array(0 => 95, 1 => 3), array(0 => 95, 1 => 5), array(0 => 95, 1 => 3),
1384
+									  array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 3),
1385
+									  array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 2),
1386
+									  array(0 => 81, 1 => 1), array(0 => 81, 1 => 1), array(0 => 81, 1 => 2),
1387
+									  array(0 => 96, 1 => 1), array(0 => 96, 1 => 1), array(0 => 96, 1 => 3),
1388
+									  array(0 => 93, 1 => 2), array(0 => 97, 1 => 1), array(0 => 97, 1 => 2),
1389
+									  array(0 => 98, 1 => 3), array(0 => 98, 1 => 3), array(0 => 98, 1 => 5),
1390
+									  array(0 => 98, 1 => 6), array(0 => 98, 1 => 2), array(0 => 89, 1 => 4),
1391
+									  array(0 => 99, 1 => 4), array(0 => 99, 1 => 4), array(0 => 100, 1 => 3),
1392
+									  array(0 => 100, 1 => 1), array(0 => 100, 1 => 0), array(0 => 77, 1 => 3),
1393
+									  array(0 => 77, 1 => 2), array(0 => 101, 1 => 3), array(0 => 101, 1 => 2),
1394
+									  array(0 => 82, 1 => 2), array(0 => 82, 1 => 0), array(0 => 102, 1 => 2),
1395
+									  array(0 => 102, 1 => 2), array(0 => 92, 1 => 1), array(0 => 92, 1 => 2),
1396
+									  array(0 => 92, 1 => 1), array(0 => 92, 1 => 2), array(0 => 92, 1 => 3),
1397
+									  array(0 => 87, 1 => 1), array(0 => 87, 1 => 1), array(0 => 86, 1 => 1),
1398
+									  array(0 => 88, 1 => 1), array(0 => 85, 1 => 3), array(0 => 103, 1 => 1),
1399
+									  array(0 => 103, 1 => 3), array(0 => 103, 1 => 0), array(0 => 104, 1 => 3),
1400
+									  array(0 => 104, 1 => 3), array(0 => 104, 1 => 1), array(0 => 91, 1 => 2),
1401
+									  array(0 => 91, 1 => 3), array(0 => 105, 1 => 2), array(0 => 105, 1 => 1),
1402
+									  array(0 => 106, 1 => 3), array(0 => 106, 1 => 3), array(0 => 106, 1 => 1),
1403
+									  array(0 => 106, 1 => 3), array(0 => 106, 1 => 3), array(0 => 106, 1 => 1),
1404
+									  array(0 => 106, 1 => 1),);
1405
+
1406
+	public static $yyReduceMap = array(0 => 0, 1 => 1, 2 => 2, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 17 => 9,
1407
+									   18 => 9, 44 => 9, 67 => 9, 68 => 9, 76 => 9, 77 => 9, 81 => 9, 90 => 9, 95 => 9,
1408
+									   96 => 9, 101 => 9, 105 => 9, 106 => 9, 110 => 9, 112 => 9, 117 => 9, 179 => 9,
1409
+									   184 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 16 => 13, 14 => 14, 75 => 14,
1410
+									   15 => 15, 91 => 15, 93 => 15, 94 => 15, 124 => 15, 19 => 19, 20 => 20, 21 => 21,
1411
+									   23 => 21, 25 => 21, 22 => 22, 24 => 22, 26 => 22, 27 => 27, 28 => 27, 29 => 29,
1412
+									   30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37,
1413
+									   38 => 38, 39 => 39, 41 => 39, 40 => 40, 42 => 42, 43 => 43, 45 => 45, 46 => 46,
1414
+									   47 => 47, 48 => 48, 50 => 48, 49 => 49, 51 => 49, 52 => 52, 53 => 53, 54 => 54,
1415
+									   55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 70 => 61,
1416
+									   159 => 61, 163 => 61, 167 => 61, 168 => 61, 62 => 62, 160 => 62, 166 => 62,
1417
+									   63 => 63, 64 => 64, 65 => 64, 66 => 66, 144 => 66, 69 => 69, 71 => 71, 72 => 72,
1418
+									   73 => 72, 74 => 74, 78 => 78, 79 => 79, 80 => 79, 82 => 82, 109 => 82, 83 => 83,
1419
+									   84 => 84, 85 => 85, 86 => 86, 87 => 87, 88 => 88, 89 => 89, 92 => 92, 97 => 97,
1420
+									   98 => 98, 99 => 99, 100 => 100, 102 => 102, 103 => 103, 104 => 103, 107 => 107,
1421
+									   108 => 108, 111 => 111, 113 => 113, 114 => 114, 115 => 115, 116 => 116,
1422
+									   118 => 118, 119 => 119, 120 => 120, 121 => 121, 122 => 122, 123 => 123,
1423
+									   125 => 125, 181 => 125, 126 => 126, 127 => 127, 128 => 128, 129 => 129,
1424
+									   130 => 130, 131 => 131, 139 => 131, 132 => 132, 133 => 133, 134 => 134,
1425
+									   135 => 134, 137 => 134, 138 => 134, 136 => 136, 140 => 140, 141 => 141,
1426
+									   142 => 142, 185 => 142, 143 => 143, 145 => 145, 146 => 146, 147 => 147,
1427
+									   148 => 148, 149 => 149, 150 => 150, 151 => 151, 152 => 152, 153 => 153,
1428
+									   154 => 154, 155 => 155, 156 => 156, 157 => 157, 158 => 158, 161 => 161,
1429
+									   162 => 162, 164 => 164, 165 => 165, 169 => 169, 170 => 170, 171 => 171,
1430
+									   172 => 172, 173 => 173, 174 => 174, 175 => 175, 176 => 176, 177 => 177,
1431
+									   178 => 178, 180 => 180, 182 => 182, 183 => 183, 186 => 186, 187 => 187,
1432
+									   188 => 188, 189 => 189, 190 => 189, 192 => 189, 191 => 191, 193 => 193,
1433
+									   194 => 194, 195 => 195,);
1434
+
1435
+	#line 218 "../smarty/lexer/smarty_internal_templateparser.y"
1436
+	public function yy_r0()
1437
+	{
1438
+		$this->root_buffer->prepend_array($this, $this->template_prefix);
1439
+		$this->root_buffer->append_array($this, $this->template_postfix);
1440
+		$this->_retvalue = $this->root_buffer->to_smarty_php($this);
1441
+	}
1442
+
1443
+	#line 228 "../smarty/lexer/smarty_internal_templateparser.y"
1444
+	public function yy_r1()
1445
+	{
1446
+		if ($this->yystack[ $this->yyidx + 0 ]->minor != null) {
1447
+			$this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1448
+		}
1449
+	}
1450
+
1451
+	#line 235 "../smarty/lexer/smarty_internal_templateparser.y"
1452
+	public function yy_r2()
1453
+	{
1454
+		if ($this->yystack[ $this->yyidx + 0 ]->minor != null) {
1455
+			// because of possible code injection
1456
+			$this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1457
+		}
1458
+	}
1459
+
1460
+	#line 249 "../smarty/lexer/smarty_internal_templateparser.y"
1461
+	public function yy_r4()
1462
+	{
1463
+		if ($this->compiler->has_code) {
1464
+			$this->_retvalue = $this->mergePrefixCode($this->yystack[ $this->yyidx + 0 ]->minor);
1465
+		} else {
1466
+			$this->_retvalue = null;
1467
+		}
1468
+		$this->compiler->has_variable_string = false;
1469
+		$this->block_nesting_level = count($this->compiler->_tag_stack);
1470
+	}
1471
+
1472
+	#line 260 "../smarty/lexer/smarty_internal_templateparser.y"
1473
+	public function yy_r5()
1474
+	{
1475
+		$this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[ $this->yyidx + 0 ]->minor);
1476
+	}
1477
+
1478
+	#line 264 "../smarty/lexer/smarty_internal_templateparser.y"
1479
+	public function yy_r6()
1480
+	{
1481
+		$code = $this->compiler->compileTag('private_php',
1482
+											array(array('code' => $this->yystack[ $this->yyidx + 0 ]->minor),
1483
+												  array('type' => $this->lex->phpType)), array());
1484
+		if ($this->compiler->has_code && !empty($code)) {
1485
+			$tmp = '';
1486
+			foreach ($this->compiler->prefix_code as $code) {
1487
+				$tmp .= $code;
1488
+			}
1489
+			$this->compiler->prefix_code = array();
1490
+			$this->_retvalue =
1491
+				new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp . $code, true));
1492
+		} else {
1493
+			$this->_retvalue = null;
1494
+		}
1495
+	}
1496
+
1497
+	#line 275 "../smarty/lexer/smarty_internal_templateparser.y"
1498
+	public function yy_r7()
1499
+	{
1500
+		$this->compiler->tag_nocache = true;
1501
+		$save = $this->template->compiled->has_nocache_code;
1502
+		$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this,
1503
+															 $this->compiler->processNocacheCode("<?php echo '{$this->yystack[$this->yyidx + 0]->minor}';?>\n",
1504
+																								 true));
1505
+		$this->template->compiled->has_nocache_code = $save;
1506
+	}
1507
+
1508
+	#line 282 "../smarty/lexer/smarty_internal_templateparser.y"
1509
+	public function yy_r8()
1510
+	{
1511
+		$this->_retvalue = $this->compiler->processText($this->yystack[ $this->yyidx + 0 ]->minor);
1512
+	}
1513
+
1514
+	#line 286 "../smarty/lexer/smarty_internal_templateparser.y"
1515
+	public function yy_r9()
1516
+	{
1517
+		$this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
1518
+	}
1519
+
1520
+	#line 290 "../smarty/lexer/smarty_internal_templateparser.y"
1521
+	public function yy_r10()
1522
+	{
1523
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1524
+	}
1525
+
1526
+	#line 295 "../smarty/lexer/smarty_internal_templateparser.y"
1527
+	public function yy_r11()
1528
+	{
1529
+		$this->strip = true;
1530
+	}
1531
+
1532
+	#line 299 "../smarty/lexer/smarty_internal_templateparser.y"
1533
+	public function yy_r12()
1534
+	{
1535
+		$this->strip = false;
1536
+	}
1537
+
1538
+	#line 304 "../smarty/lexer/smarty_internal_templateparser.y"
1539
+	public function yy_r13()
1540
+	{
1541
+		$this->_retvalue = '';
1542
+	}
1543
+
1544
+	#line 308 "../smarty/lexer/smarty_internal_templateparser.y"
1545
+	public function yy_r14()
1546
+	{
1547
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1548
+	}
1549
+
1550
+	#line 312 "../smarty/lexer/smarty_internal_templateparser.y"
1551
+	public function yy_r15()
1552
+	{
1553
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1554
+	}
1555
+
1556
+	#line 328 "../smarty/lexer/smarty_internal_templateparser.y"
1557
+	public function yy_r19()
1558
+	{
1559
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1560
+	}
1561
+
1562
+	#line 334 "../smarty/lexer/smarty_internal_templateparser.y"
1563
+	public function yy_r20()
1564
+	{
1565
+		$var =
1566
+			trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1567
+				 ' $');
1568
+		if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
1569
+			$this->_retvalue = $this->compiler->compileTag('private_print_expression', array('nocache'),
1570
+														   array('value' => $this->compiler->compileVariable('\'' .
1571
+																											 $match[ 1 ] .
1572
+																											 '\'')));
1573
+		} else {
1574
+			$this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1575
+														   array('value' => $this->compiler->compileVariable('\'' .
1576
+																											 $var .
1577
+																											 '\'')));
1578
+		}
1579
+	}
1580
+
1581
+	#line 344 "../smarty/lexer/smarty_internal_templateparser.y"
1582
+	public function yy_r21()
1583
+	{
1584
+		$this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1585
+													   array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1586
+	}
1587
+
1588
+	#line 348 "../smarty/lexer/smarty_internal_templateparser.y"
1589
+	public function yy_r22()
1590
+	{
1591
+		$this->_retvalue =
1592
+			$this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1593
+										array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1594
+	}
1595
+
1596
+	#line 371 "../smarty/lexer/smarty_internal_templateparser.y"
1597
+	public function yy_r27()
1598
+	{
1599
+		$this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[ $this->yyidx +
1600
+																										0 ]->minor),
1601
+																	   array('var' => '\'' .
1602
+																					  substr($this->yystack[ $this->yyidx +
1603
+																											 - 2 ]->minor,
1604
+																							 1) . '\'')));
1605
+	}
1606
+
1607
+	#line 379 "../smarty/lexer/smarty_internal_templateparser.y"
1608
+	public function yy_r29()
1609
+	{
1610
+		$this->_retvalue = $this->compiler->compileTag('assign',
1611
+													   array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1612
+																										  - 1 ]->minor),
1613
+																		 array('var' => '\'' .
1614
+																						substr($this->yystack[ $this->yyidx +
1615
+																											   - 3 ]->minor,
1616
+																							   1) . '\'')),
1617
+																   $this->yystack[ $this->yyidx + 0 ]->minor));
1618
+	}
1619
+
1620
+	#line 383 "../smarty/lexer/smarty_internal_templateparser.y"
1621
+	public function yy_r30()
1622
+	{
1623
+		$this->_retvalue = $this->compiler->compileTag('assign',
1624
+													   array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1625
+																										  - 1 ]->minor),
1626
+																		 array('var' => $this->yystack[ $this->yyidx +
1627
+																										- 3 ]->minor[ 'var' ])),
1628
+																   $this->yystack[ $this->yyidx + 0 ]->minor),
1629
+													   array('smarty_internal_index' => $this->yystack[ $this->yyidx +
1630
+																										- 3 ]->minor[ 'smarty_internal_index' ]));
1631
+	}
1632
+
1633
+	#line 388 "../smarty/lexer/smarty_internal_templateparser.y"
1634
+	public function yy_r31()
1635
+	{
1636
+		$tag =
1637
+			trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length));
1638
+		if ($tag == 'strip') {
1639
+			$this->strip = true;
1640
+			$this->_retvalue = null;;
1641
+		} else {
1642
+			if (defined($tag)) {
1643
+				if ($this->security) {
1644
+					$this->security->isTrustedConstant($tag, $this->compiler);
1645
+				}
1646
+				$this->_retvalue =
1647
+					$this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
1648
+			} else {
1649
+				if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
1650
+					$this->_retvalue = $this->compiler->compileTag($match[ 1 ], array("'nocache'"));
1651
+				} else {
1652
+					$this->_retvalue = $this->compiler->compileTag($tag, array());
1653
+				}
1654
+			}
1655
+		}
1656
+	}
1657
+
1658
+	#line 410 "../smarty/lexer/smarty_internal_templateparser.y"
1659
+	public function yy_r32()
1660
+	{
1661
+		if (defined($this->yystack[ $this->yyidx + - 1 ]->minor)) {
1662
+			if ($this->security) {
1663
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 1 ]->minor, $this->compiler);
1664
+			}
1665
+			$this->_retvalue =
1666
+				$this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1667
+											array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1668
+		} else {
1669
+			$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor,
1670
+														   $this->yystack[ $this->yyidx + 0 ]->minor);
1671
+		}
1672
+	}
1673
+
1674
+	#line 420 "../smarty/lexer/smarty_internal_templateparser.y"
1675
+	public function yy_r33()
1676
+	{
1677
+		if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1678
+			if ($this->security) {
1679
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1680
+			}
1681
+			$this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1682
+														   array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1683
+		} else {
1684
+			$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor, array());
1685
+		}
1686
+	}
1687
+
1688
+	#line 433 "../smarty/lexer/smarty_internal_templateparser.y"
1689
+	public function yy_r34()
1690
+	{
1691
+		if (defined($this->yystack[ $this->yyidx + - 2 ]->minor)) {
1692
+			if ($this->security) {
1693
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 2 ]->minor, $this->compiler);
1694
+			}
1695
+			$this->_retvalue =
1696
+				$this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1697
+											array('value' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1698
+												  'modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1699
+		} else {
1700
+			$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor,
1701
+														   $this->yystack[ $this->yyidx + 0 ]->minor,
1702
+														   array('modifierlist' => $this->yystack[ $this->yyidx +
1703
+																								   - 1 ]->minor));
1704
+		}
1705
+	}
1706
+
1707
+	#line 445 "../smarty/lexer/smarty_internal_templateparser.y"
1708
+	public function yy_r35()
1709
+	{
1710
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor,
1711
+													   $this->yystack[ $this->yyidx + 0 ]->minor,
1712
+													   array('object_method' => $this->yystack[ $this->yyidx +
1713
+																								- 1 ]->minor));
1714
+	}
1715
+
1716
+	#line 450 "../smarty/lexer/smarty_internal_templateparser.y"
1717
+	public function yy_r36()
1718
+	{
1719
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 4 ]->minor,
1720
+													   $this->yystack[ $this->yyidx + 0 ]->minor,
1721
+													   array('modifierlist' => $this->yystack[ $this->yyidx +
1722
+																							   - 1 ]->minor,
1723
+															 'object_method' => $this->yystack[ $this->yyidx +
1724
+																								- 2 ]->minor));
1725
+	}
1726
+
1727
+	#line 455 "../smarty/lexer/smarty_internal_templateparser.y"
1728
+	public function yy_r37()
1729
+	{
1730
+		$this->_retvalue = $this->compiler->compileTag('make_nocache', array(array('var' => '\'' .
1731
+																							substr($this->yystack[ $this->yyidx +
1732
+																												   0 ]->minor,
1733
+																								   1) . '\'')));
1734
+	}
1735
+
1736
+	#line 460 "../smarty/lexer/smarty_internal_templateparser.y"
1737
+	public function yy_r38()
1738
+	{
1739
+		$tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1740
+		$this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1741
+													   array('if condition' => $this->yystack[ $this->yyidx +
1742
+																							   0 ]->minor));
1743
+	}
1744
+
1745
+	#line 465 "../smarty/lexer/smarty_internal_templateparser.y"
1746
+	public function yy_r39()
1747
+	{
1748
+		$tag = trim(substr($this->yystack[ $this->yyidx + - 2 ]->minor, $this->lex->ldel_length));
1749
+		$this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag,
1750
+													   $this->yystack[ $this->yyidx + 0 ]->minor,
1751
+													   array('if condition' => $this->yystack[ $this->yyidx +
1752
+																							   - 1 ]->minor));
1753
+	}
1754
+
1755
+	#line 470 "../smarty/lexer/smarty_internal_templateparser.y"
1756
+	public function yy_r40()
1757
+	{
1758
+		$tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1759
+		$this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1760
+													   array('if condition' => $this->yystack[ $this->yyidx +
1761
+																							   0 ]->minor));
1762
+	}
1763
+
1764
+	#line 481 "../smarty/lexer/smarty_internal_templateparser.y"
1765
+	public function yy_r42()
1766
+	{
1767
+		$this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1768
+																		  array(array('start' => $this->yystack[ $this->yyidx +
1769
+																												 - 6 ]->minor),
1770
+																				array('ifexp' => $this->yystack[ $this->yyidx +
1771
+																												 - 4 ]->minor),
1772
+																				array('var' => $this->yystack[ $this->yyidx +
1773
+																											   - 2 ]->minor),
1774
+																				array('step' => $this->yystack[ $this->yyidx +
1775
+																												- 1 ]->minor))),
1776
+													   1);
1777
+	}
1778
+
1779
+	#line 485 "../smarty/lexer/smarty_internal_templateparser.y"
1780
+	public function yy_r43()
1781
+	{
1782
+		$this->_retvalue = '=' . $this->yystack[ $this->yyidx + 0 ]->minor;
1783
+	}
1784
+
1785
+	#line 493 "../smarty/lexer/smarty_internal_templateparser.y"
1786
+	public function yy_r45()
1787
+	{
1788
+		$this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1789
+																		  array(array('start' => $this->yystack[ $this->yyidx +
1790
+																												 - 3 ]->minor),
1791
+																				array('to' => $this->yystack[ $this->yyidx +
1792
+																											  - 1 ]->minor))),
1793
+													   0);
1794
+	}
1795
+
1796
+	#line 497 "../smarty/lexer/smarty_internal_templateparser.y"
1797
+	public function yy_r46()
1798
+	{
1799
+		$this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1800
+																		  array(array('start' => $this->yystack[ $this->yyidx +
1801
+																												 - 5 ]->minor),
1802
+																				array('to' => $this->yystack[ $this->yyidx +
1803
+																											  - 3 ]->minor),
1804
+																				array('step' => $this->yystack[ $this->yyidx +
1805
+																												- 1 ]->minor))),
1806
+													   0);
1807
+	}
1808
+
1809
+	#line 502 "../smarty/lexer/smarty_internal_templateparser.y"
1810
+	public function yy_r47()
1811
+	{
1812
+		$this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[ $this->yyidx + 0 ]->minor);
1813
+	}
1814
+
1815
+	#line 507 "../smarty/lexer/smarty_internal_templateparser.y"
1816
+	public function yy_r48()
1817
+	{
1818
+		$this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1819
+																			  array(array('from' => $this->yystack[ $this->yyidx +
1820
+																													- 3 ]->minor),
1821
+																					array('item' => $this->yystack[ $this->yyidx +
1822
+																													- 1 ]->minor))));
1823
+	}
1824
+
1825
+	#line 511 "../smarty/lexer/smarty_internal_templateparser.y"
1826
+	public function yy_r49()
1827
+	{
1828
+		$this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1829
+																			  array(array('from' => $this->yystack[ $this->yyidx +
1830
+																													- 5 ]->minor),
1831
+																					array('item' => $this->yystack[ $this->yyidx +
1832
+																													- 1 ]->minor),
1833
+																					array('key' => $this->yystack[ $this->yyidx +
1834
+																												   - 3 ]->minor))));
1835
+	}
1836
+
1837
+	#line 524 "../smarty/lexer/smarty_internal_templateparser.y"
1838
+	public function yy_r52()
1839
+	{
1840
+		$this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1841
+													   array('modifier_list' => array(array_merge(array($this->yystack[ $this->yyidx +
1842
+																														- 1 ]->minor),
1843
+																								  $this->yystack[ $this->yyidx +
1844
+																												  0 ]->minor))));
1845
+	}
1846
+
1847
+	#line 528 "../smarty/lexer/smarty_internal_templateparser.y"
1848
+	public function yy_r53()
1849
+	{
1850
+		$this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1851
+													   array('modifier_list' => array_merge(array(array_merge(array($this->yystack[ $this->yyidx +
1852
+																																	- 2 ]->minor),
1853
+																											  $this->yystack[ $this->yyidx +
1854
+																															  - 1 ]->minor)),
1855
+																							$this->yystack[ $this->yyidx +
1856
+																											0 ]->minor)));
1857
+	}
1858
+
1859
+	#line 533 "../smarty/lexer/smarty_internal_templateparser.y"
1860
+	public function yy_r54()
1861
+	{
1862
+		$j = strrpos($this->yystack[ $this->yyidx + 0 ]->minor, '.');
1863
+		if ($this->yystack[ $this->yyidx + 0 ]->minor[ $j + 1 ] == 'c') {
1864
+			// {$smarty.block.child}
1865
+			$this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
1866
+		} else {
1867
+			// {$smarty.block.parent}
1868
+			$this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
1869
+		}
1870
+	}
1871
+
1872
+	#line 546 "../smarty/lexer/smarty_internal_templateparser.y"
1873
+	public function yy_r55()
1874
+	{
1875
+		$tag =
1876
+			trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1877
+				 ' /');
1878
+		if ($tag == 'strip') {
1879
+			$this->strip = false;
1880
+			$this->_retvalue = null;
1881
+		} else {
1882
+			$this->_retvalue = $this->compiler->compileTag($tag . 'close', array());
1883
+		}
1884
+	}
1885
+
1886
+	#line 555 "../smarty/lexer/smarty_internal_templateparser.y"
1887
+	public function yy_r56()
1888
+	{
1889
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor . 'close', array());
1890
+	}
1891
+
1892
+	#line 559 "../smarty/lexer/smarty_internal_templateparser.y"
1893
+	public function yy_r57()
1894
+	{
1895
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor . 'close', array(),
1896
+													   array('modifier_list' => $this->yystack[ $this->yyidx +
1897
+																								0 ]->minor));
1898
+	}
1899
+
1900
+	#line 564 "../smarty/lexer/smarty_internal_templateparser.y"
1901
+	public function yy_r58()
1902
+	{
1903
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor . 'close', array(),
1904
+													   array('object_method' => $this->yystack[ $this->yyidx +
1905
+																								0 ]->minor));
1906
+	}
1907
+
1908
+	#line 568 "../smarty/lexer/smarty_internal_templateparser.y"
1909
+	public function yy_r59()
1910
+	{
1911
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor . 'close', array(),
1912
+													   array('object_method' => $this->yystack[ $this->yyidx +
1913
+																								- 1 ]->minor,
1914
+															 'modifier_list' => $this->yystack[ $this->yyidx +
1915
+																								0 ]->minor));
1916
+	}
1917
+
1918
+	#line 576 "../smarty/lexer/smarty_internal_templateparser.y"
1919
+	public function yy_r60()
1920
+	{
1921
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1922
+		$this->_retvalue[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1923
+	}
1924
+
1925
+	#line 582 "../smarty/lexer/smarty_internal_templateparser.y"
1926
+	public function yy_r61()
1927
+	{
1928
+		$this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
1929
+	}
1930
+
1931
+	#line 587 "../smarty/lexer/smarty_internal_templateparser.y"
1932
+	public function yy_r62()
1933
+	{
1934
+		$this->_retvalue = array();
1935
+	}
1936
+
1937
+	#line 592 "../smarty/lexer/smarty_internal_templateparser.y"
1938
+	public function yy_r63()
1939
+	{
1940
+		if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1941
+			if ($this->security) {
1942
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1943
+			}
1944
+			$this->_retvalue =
1945
+				array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1946
+		} else {
1947
+			$this->_retvalue =
1948
+				array($this->yystack[ $this->yyidx + - 2 ]->minor => '\'' . $this->yystack[ $this->yyidx + 0 ]->minor .
1949
+																	 '\'');
1950
+		}
1951
+	}
1952
+
1953
+	#line 603 "../smarty/lexer/smarty_internal_templateparser.y"
1954
+	public function yy_r64()
1955
+	{
1956
+		$this->_retvalue =
1957
+			array(trim($this->yystack[ $this->yyidx + - 1 ]->minor, " =\n\r\t") => $this->yystack[ $this->yyidx +
1958
+																								   0 ]->minor);
1959
+	}
1960
+
1961
+	#line 611 "../smarty/lexer/smarty_internal_templateparser.y"
1962
+	public function yy_r66()
1963
+	{
1964
+		$this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
1965
+	}
1966
+
1967
+	#line 623 "../smarty/lexer/smarty_internal_templateparser.y"
1968
+	public function yy_r69()
1969
+	{
1970
+		$this->_retvalue =
1971
+			array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1972
+	}
1973
+
1974
+	#line 636 "../smarty/lexer/smarty_internal_templateparser.y"
1975
+	public function yy_r71()
1976
+	{
1977
+		$this->yystack[ $this->yyidx + - 2 ]->minor[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1978
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor;
1979
+	}
1980
+
1981
+	#line 641 "../smarty/lexer/smarty_internal_templateparser.y"
1982
+	public function yy_r72()
1983
+	{
1984
+		$this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '\'',
1985
+								 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1986
+	}
1987
+
1988
+	#line 648 "../smarty/lexer/smarty_internal_templateparser.y"
1989
+	public function yy_r74()
1990
+	{
1991
+		$this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1992
+								 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1993
+	}
1994
+
1995
+	#line 672 "../smarty/lexer/smarty_internal_templateparser.y"
1996
+	public function yy_r78()
1997
+	{
1998
+		$this->_retvalue =
1999
+			'$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '://' .
2000
+			$this->yystack[ $this->yyidx + 0 ]->minor . '\')';
2001
+	}
2002
+
2003
+	#line 677 "../smarty/lexer/smarty_internal_templateparser.y"
2004
+	public function yy_r79()
2005
+	{
2006
+		$this->_retvalue =
2007
+			$this->yystack[ $this->yyidx + - 2 ]->minor . trim($this->yystack[ $this->yyidx + - 1 ]->minor) .
2008
+			$this->yystack[ $this->yyidx + 0 ]->minor;
2009
+	}
2010
+
2011
+	#line 691 "../smarty/lexer/smarty_internal_templateparser.y"
2012
+	public function yy_r82()
2013
+	{
2014
+		$this->_retvalue = $this->compiler->compileTag('private_modifier', array(),
2015
+													   array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2016
+															 'modifierlist' => $this->yystack[ $this->yyidx +
2017
+																							   0 ]->minor));
2018
+	}
2019
+
2020
+	#line 697 "../smarty/lexer/smarty_internal_templateparser.y"
2021
+	public function yy_r83()
2022
+	{
2023
+		$this->_retvalue =
2024
+			$this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ] . $this->yystack[ $this->yyidx + - 2 ]->minor .
2025
+			$this->yystack[ $this->yyidx + - 1 ]->minor[ 'op' ] . $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2026
+	}
2027
+
2028
+	#line 701 "../smarty/lexer/smarty_internal_templateparser.y"
2029
+	public function yy_r84()
2030
+	{
2031
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2032
+						   $this->yystack[ $this->yyidx + 0 ]->minor;
2033
+	}
2034
+
2035
+	#line 705 "../smarty/lexer/smarty_internal_templateparser.y"
2036
+	public function yy_r85()
2037
+	{
2038
+		$this->_retvalue =
2039
+			$this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2040
+	}
2041
+
2042
+	#line 709 "../smarty/lexer/smarty_internal_templateparser.y"
2043
+	public function yy_r86()
2044
+	{
2045
+		$this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' .
2046
+						   $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2047
+	}
2048
+
2049
+	#line 713 "../smarty/lexer/smarty_internal_templateparser.y"
2050
+	public function yy_r87()
2051
+	{
2052
+		$this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' .
2053
+						   $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2054
+	}
2055
+
2056
+	#line 721 "../smarty/lexer/smarty_internal_templateparser.y"
2057
+	public function yy_r88()
2058
+	{
2059
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->compiler->compileVariable('\'' .
2060
+																												  substr($this->yystack[ $this->yyidx +
2061
+																																		 - 2 ]->minor,
2062
+																														 1) .
2063
+																												  '\'') .
2064
+						   ' : ' . $this->yystack[ $this->yyidx + 0 ]->minor;
2065
+	}
2066
+
2067
+	#line 725 "../smarty/lexer/smarty_internal_templateparser.y"
2068
+	public function yy_r89()
2069
+	{
2070
+		$this->_retvalue =
2071
+			$this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->yystack[ $this->yyidx + - 2 ]->minor . ' : ' .
2072
+			$this->yystack[ $this->yyidx + 0 ]->minor;
2073
+	}
2074
+
2075
+	#line 740 "../smarty/lexer/smarty_internal_templateparser.y"
2076
+	public function yy_r92()
2077
+	{
2078
+		$this->_retvalue = '!' . $this->yystack[ $this->yyidx + 0 ]->minor;
2079
+	}
2080
+
2081
+	#line 761 "../smarty/lexer/smarty_internal_templateparser.y"
2082
+	public function yy_r97()
2083
+	{
2084
+		$this->_retvalue =
2085
+			$this->yystack[ $this->yyidx + - 2 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2086
+	}
2087
+
2088
+	#line 765 "../smarty/lexer/smarty_internal_templateparser.y"
2089
+	public function yy_r98()
2090
+	{
2091
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '.';
2092
+	}
2093
+
2094
+	#line 769 "../smarty/lexer/smarty_internal_templateparser.y"
2095
+	public function yy_r99()
2096
+	{
2097
+		$this->_retvalue = '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2098
+	}
2099
+
2100
+	#line 774 "../smarty/lexer/smarty_internal_templateparser.y"
2101
+	public function yy_r100()
2102
+	{
2103
+		if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
2104
+			if ($this->security) {
2105
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
2106
+			}
2107
+			$this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2108
+		} else {
2109
+			$this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
2110
+		}
2111
+	}
2112
+
2113
+	#line 791 "../smarty/lexer/smarty_internal_templateparser.y"
2114
+	public function yy_r102()
2115
+	{
2116
+		$this->_retvalue = "(" . $this->yystack[ $this->yyidx + - 1 ]->minor . ")";
2117
+	}
2118
+
2119
+	#line 795 "../smarty/lexer/smarty_internal_templateparser.y"
2120
+	public function yy_r103()
2121
+	{
2122
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2123
+						   $this->yystack[ $this->yyidx + 0 ]->minor;
2124
+	}
2125
+
2126
+	#line 813 "../smarty/lexer/smarty_internal_templateparser.y"
2127
+	public function yy_r107()
2128
+	{
2129
+		$prefixVar = $this->compiler->getNewPrefixVariable();
2130
+		if ($this->yystack[ $this->yyidx + - 2 ]->minor[ 'var' ] == '\'smarty\'') {
2131
+			$this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2132
+											  $this->compiler->compileTag('private_special_variable', array(),
2133
+																		  $this->yystack[ $this->yyidx +
2134
+																						  - 2 ]->minor[ 'smarty_internal_index' ]) .
2135
+											  ';?>');
2136
+		} else {
2137
+			$this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2138
+											  $this->compiler->compileVariable($this->yystack[ $this->yyidx +
2139
+																							   - 2 ]->minor[ 'var' ]) .
2140
+											  $this->yystack[ $this->yyidx + - 2 ]->minor[ 'smarty_internal_index' ] .
2141
+											  ';?>');
2142
+		}
2143
+		$this->_retvalue = $prefixVar . '::' . $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2144
+						   $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2145
+	}
2146
+
2147
+	#line 824 "../smarty/lexer/smarty_internal_templateparser.y"
2148
+	public function yy_r108()
2149
+	{
2150
+		$prefixVar = $this->compiler->getNewPrefixVariable();
2151
+		$tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[ $this->yyidx + 0 ]->minor);
2152
+		$this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php $prefixVar" . '=ob_get_clean();?>'));
2153
+		$this->_retvalue = $prefixVar;
2154
+	}
2155
+
2156
+	#line 841 "../smarty/lexer/smarty_internal_templateparser.y"
2157
+	public function yy_r111()
2158
+	{
2159
+		if (!in_array(strtolower($this->yystack[ $this->yyidx + - 2 ]->minor), array('self', 'parent')) &&
2160
+			(!$this->security ||
2161
+			 $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + - 2 ]->minor,
2162
+														 $this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler))
2163
+		) {
2164
+			if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ])) {
2165
+				$this->_retvalue =
2166
+					$this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ] . '::' .
2167
+					$this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] . $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2168
+			} else {
2169
+				$this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . '::' .
2170
+								   $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2171
+								   $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2172
+			}
2173
+		} else {
2174
+			$this->compiler->trigger_template_error("static class '" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2175
+													"' is undefined or not allowed by security setting");
2176
+		}
2177
+	}
2178
+
2179
+	#line 860 "../smarty/lexer/smarty_internal_templateparser.y"
2180
+	public function yy_r113()
2181
+	{
2182
+		$this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2183
+	}
2184
+
2185
+	#line 871 "../smarty/lexer/smarty_internal_templateparser.y"
2186
+	public function yy_r114()
2187
+	{
2188
+		$this->_retvalue =
2189
+			$this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'');
2190
+	}
2191
+
2192
+	#line 874 "../smarty/lexer/smarty_internal_templateparser.y"
2193
+	public function yy_r115()
2194
+	{
2195
+		if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] == '\'smarty\'') {
2196
+			$smarty_var = $this->compiler->compileTag('private_special_variable', array(),
2197
+													  $this->yystack[ $this->yyidx +
2198
+																	  0 ]->minor[ 'smarty_internal_index' ]);
2199
+			$this->_retvalue = $smarty_var;
2200
+		} else {
2201
+			// used for array reset,next,prev,end,current
2202
+			$this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
2203
+			$this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2204
+			$this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
2205
+							   $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2206
+		}
2207
+	}
2208
+
2209
+	#line 887 "../smarty/lexer/smarty_internal_templateparser.y"
2210
+	public function yy_r116()
2211
+	{
2212
+		$this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[ $this->yyidx + - 2 ]->minor . ']->' .
2213
+						   $this->yystack[ $this->yyidx + 0 ]->minor;
2214
+	}
2215
+
2216
+	#line 897 "../smarty/lexer/smarty_internal_templateparser.y"
2217
+	public function yy_r118()
2218
+	{
2219
+		$this->_retvalue =
2220
+			$this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 1 ]->minor . "'");
2221
+	}
2222
+
2223
+	#line 901 "../smarty/lexer/smarty_internal_templateparser.y"
2224
+	public function yy_r119()
2225
+	{
2226
+		$this->_retvalue = '(is_array($tmp = ' .
2227
+						   $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2228
+																  "'") . ') ? $tmp' .
2229
+						   $this->yystack[ $this->yyidx + 0 ]->minor . ' :null)';
2230
+	}
2231
+
2232
+	#line 905 "../smarty/lexer/smarty_internal_templateparser.y"
2233
+	public function yy_r120()
2234
+	{
2235
+		$this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 1 ]->minor);
2236
+	}
2237
+
2238
+	#line 909 "../smarty/lexer/smarty_internal_templateparser.y"
2239
+	public function yy_r121()
2240
+	{
2241
+		$this->_retvalue =
2242
+			'(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 2 ]->minor) .
2243
+			') ? $tmp' . $this->yystack[ $this->yyidx + 0 ]->minor . ' : null)';
2244
+	}
2245
+
2246
+	#line 913 "../smarty/lexer/smarty_internal_templateparser.y"
2247
+	public function yy_r122()
2248
+	{
2249
+		$this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'',
2250
+								 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2251
+	}
2252
+
2253
+	#line 916 "../smarty/lexer/smarty_internal_templateparser.y"
2254
+	public function yy_r123()
2255
+	{
2256
+		$this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2257
+								 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2258
+	}
2259
+
2260
+	#line 929 "../smarty/lexer/smarty_internal_templateparser.y"
2261
+	public function yy_r125()
2262
+	{
2263
+		return;
2264
+	}
2265
+
2266
+	#line 935 "../smarty/lexer/smarty_internal_templateparser.y"
2267
+	public function yy_r126()
2268
+	{
2269
+		$this->_retvalue =
2270
+			'[' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'') .
2271
+			']';
2272
+	}
2273
+
2274
+	#line 938 "../smarty/lexer/smarty_internal_templateparser.y"
2275
+	public function yy_r127()
2276
+	{
2277
+		$this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
2278
+	}
2279
+
2280
+	#line 942 "../smarty/lexer/smarty_internal_templateparser.y"
2281
+	public function yy_r128()
2282
+	{
2283
+		$this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 2 ]->minor) . '->' .
2284
+						   $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2285
+	}
2286
+
2287
+	#line 946 "../smarty/lexer/smarty_internal_templateparser.y"
2288
+	public function yy_r129()
2289
+	{
2290
+		$this->_retvalue = "['" . $this->yystack[ $this->yyidx + 0 ]->minor . "']";
2291
+	}
2292
+
2293
+	#line 950 "../smarty/lexer/smarty_internal_templateparser.y"
2294
+	public function yy_r130()
2295
+	{
2296
+		$this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2297
+	}
2298
+
2299
+	#line 955 "../smarty/lexer/smarty_internal_templateparser.y"
2300
+	public function yy_r131()
2301
+	{
2302
+		$this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2303
+	}
2304
+
2305
+	#line 960 "../smarty/lexer/smarty_internal_templateparser.y"
2306
+	public function yy_r132()
2307
+	{
2308
+		$this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2309
+																								  $this->yystack[ $this->yyidx +
2310
+																												  - 1 ]->minor .
2311
+																								  '\'][\'index\']') .
2312
+						   ']';
2313
+	}
2314
+
2315
+	#line 964 "../smarty/lexer/smarty_internal_templateparser.y"
2316
+	public function yy_r133()
2317
+	{
2318
+		$this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2319
+																								  $this->yystack[ $this->yyidx +
2320
+																												  - 3 ]->minor .
2321
+																								  '\'][\'' .
2322
+																								  $this->yystack[ $this->yyidx +
2323
+																												  - 1 ]->minor .
2324
+																								  '\']') . ']';
2325
+	}
2326
+
2327
+	#line 967 "../smarty/lexer/smarty_internal_templateparser.y"
2328
+	public function yy_r134()
2329
+	{
2330
+		$this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2331
+	}
2332
+
2333
+	#line 973 "../smarty/lexer/smarty_internal_templateparser.y"
2334
+	public function yy_r136()
2335
+	{
2336
+		$this->_retvalue = '[' . $this->compiler->compileVariable('\'' .
2337
+																  substr($this->yystack[ $this->yyidx + - 1 ]->minor,
2338
+																		 1) . '\'') . ']';;
2339
+	}
2340
+
2341
+	#line 989 "../smarty/lexer/smarty_internal_templateparser.y"
2342
+	public function yy_r140()
2343
+	{
2344
+		$this->_retvalue = '[]';
2345
+	}
2346
+
2347
+	#line 999 "../smarty/lexer/smarty_internal_templateparser.y"
2348
+	public function yy_r141()
2349
+	{
2350
+		$this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'';
2351
+	}
2352
+
2353
+	#line 1003 "../smarty/lexer/smarty_internal_templateparser.y"
2354
+	public function yy_r142()
2355
+	{
2356
+		$this->_retvalue = "''";
2357
+	}
2358
+
2359
+	#line 1008 "../smarty/lexer/smarty_internal_templateparser.y"
2360
+	public function yy_r143()
2361
+	{
2362
+		$this->_retvalue =
2363
+			$this->yystack[ $this->yyidx + - 1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2364
+	}
2365
+
2366
+	#line 1016 "../smarty/lexer/smarty_internal_templateparser.y"
2367
+	public function yy_r145()
2368
+	{
2369
+		$var =
2370
+			trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
2371
+				 ' $');
2372
+		$this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\'');
2373
+	}
2374
+
2375
+	#line 1022 "../smarty/lexer/smarty_internal_templateparser.y"
2376
+	public function yy_r146()
2377
+	{
2378
+		$this->_retvalue = '(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2379
+	}
2380
+
2381
+	#line 1029 "../smarty/lexer/smarty_internal_templateparser.y"
2382
+	public function yy_r147()
2383
+	{
2384
+		if ($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ] == '\'smarty\'') {
2385
+			$this->_retvalue = $this->compiler->compileTag('private_special_variable', array(),
2386
+														   $this->yystack[ $this->yyidx +
2387
+																		   - 1 ]->minor[ 'smarty_internal_index' ]) .
2388
+							   $this->yystack[ $this->yyidx + 0 ]->minor;
2389
+		} else {
2390
+			$this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ]) .
2391
+							   $this->yystack[ $this->yyidx + - 1 ]->minor[ 'smarty_internal_index' ] .
2392
+							   $this->yystack[ $this->yyidx + 0 ]->minor;
2393
+		}
2394
+	}
2395
+
2396
+	#line 1038 "../smarty/lexer/smarty_internal_templateparser.y"
2397
+	public function yy_r148()
2398
+	{
2399
+		$this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2400
+	}
2401
+
2402
+	#line 1043 "../smarty/lexer/smarty_internal_templateparser.y"
2403
+	public function yy_r149()
2404
+	{
2405
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2406
+	}
2407
+
2408
+	#line 1048 "../smarty/lexer/smarty_internal_templateparser.y"
2409
+	public function yy_r150()
2410
+	{
2411
+		if ($this->security && substr($this->yystack[ $this->yyidx + - 1 ]->minor, 0, 1) == '_') {
2412
+			$this->compiler->trigger_template_error(self::Err1);
2413
+		}
2414
+		$this->_retvalue =
2415
+			'->' . $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2416
+	}
2417
+
2418
+	#line 1055 "../smarty/lexer/smarty_internal_templateparser.y"
2419
+	public function yy_r151()
2420
+	{
2421
+		if ($this->security) {
2422
+			$this->compiler->trigger_template_error(self::Err2);
2423
+		}
2424
+		$this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor) .
2425
+						   $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2426
+	}
2427
+
2428
+	#line 1062 "../smarty/lexer/smarty_internal_templateparser.y"
2429
+	public function yy_r152()
2430
+	{
2431
+		if ($this->security) {
2432
+			$this->compiler->trigger_template_error(self::Err2);
2433
+		}
2434
+		$this->_retvalue =
2435
+			'->{' . $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2436
+	}
2437
+
2438
+	#line 1069 "../smarty/lexer/smarty_internal_templateparser.y"
2439
+	public function yy_r153()
2440
+	{
2441
+		if ($this->security) {
2442
+			$this->compiler->trigger_template_error(self::Err2);
2443
+		}
2444
+		$this->_retvalue = '->{\'' . $this->yystack[ $this->yyidx + - 4 ]->minor . '\'.' .
2445
+						   $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor .
2446
+						   '}';
2447
+	}
2448
+
2449
+	#line 1077 "../smarty/lexer/smarty_internal_templateparser.y"
2450
+	public function yy_r154()
2451
+	{
2452
+		$this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
2453
+	}
2454
+
2455
+	#line 1085 "../smarty/lexer/smarty_internal_templateparser.y"
2456
+	public function yy_r155()
2457
+	{
2458
+		if (!$this->security ||
2459
+			$this->security->isTrustedPhpFunction($this->yystack[ $this->yyidx + - 3 ]->minor, $this->compiler)
2460
+		) {
2461
+			if (strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'isset') === 0 ||
2462
+				strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'empty') === 0 ||
2463
+				strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'array') === 0 ||
2464
+				is_callable($this->yystack[ $this->yyidx + - 3 ]->minor)
2465
+			) {
2466
+				$func_name = strtolower($this->yystack[ $this->yyidx + - 3 ]->minor);
2467
+				if ($func_name == 'isset') {
2468
+					if (count($this->yystack[ $this->yyidx + - 1 ]->minor) == 0) {
2469
+						$this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
2470
+					}
2471
+					$par = implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor);
2472
+					if (strncasecmp($par, '$_smarty_tpl->smarty->ext->_config->_getConfigVariable',
2473
+									strlen('$_smarty_tpl->smarty->ext->_config->_getConfigVariable')) === 0
2474
+					) {
2475
+						$prefixVar = $this->compiler->getNewPrefixVariable();
2476
+						$this->compiler->appendPrefixCode("<?php $prefixVar" . '=' .
2477
+														  str_replace(')', ', false)', $par) . ';?>');
2478
+						$isset_par = $prefixVar;
2479
+					} else {
2480
+						$isset_par = str_replace("')->value", "',null,true,false)->value", $par);
2481
+					}
2482
+					$this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" . $isset_par . ")";
2483
+				} elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
2484
+					if (count($this->yystack[ $this->yyidx + - 1 ]->minor) != 1) {
2485
+						$this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
2486
+					}
2487
+					if ($func_name == 'empty') {
2488
+						$this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value",
2489
+																		  $this->yystack[ $this->yyidx +
2490
+																						  - 1 ]->minor[ 0 ]) . ')';
2491
+					} else {
2492
+						$this->_retvalue = $func_name . '(' . $this->yystack[ $this->yyidx + - 1 ]->minor[ 0 ] . ')';
2493
+					}
2494
+				} else {
2495
+					$this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2496
+									   implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2497
+				}
2498
+			} else {
2499
+				$this->compiler->trigger_template_error("unknown function \"" .
2500
+														$this->yystack[ $this->yyidx + - 3 ]->minor . "\"");
2501
+			}
2502
+		}
2503
+	}
2504
+
2505
+	#line 1124 "../smarty/lexer/smarty_internal_templateparser.y"
2506
+	public function yy_r156()
2507
+	{
2508
+		if ($this->security && substr($this->yystack[ $this->yyidx + - 3 ]->minor, 0, 1) == '_') {
2509
+			$this->compiler->trigger_template_error(self::Err1);
2510
+		}
2511
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2512
+						   implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2513
+	}
2514
+
2515
+	#line 1131 "../smarty/lexer/smarty_internal_templateparser.y"
2516
+	public function yy_r157()
2517
+	{
2518
+		if ($this->security) {
2519
+			$this->compiler->trigger_template_error(self::Err2);
2520
+		}
2521
+		$prefixVar = $this->compiler->getNewPrefixVariable();
2522
+		$this->compiler->appendPrefixCode("<?php $prefixVar" . '=' . $this->compiler->compileVariable('\'' .
2523
+																									  substr($this->yystack[ $this->yyidx +
2524
+																															 - 3 ]->minor,
2525
+																											 1) .
2526
+																									  '\'') . ';?>');
2527
+		$this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ')';
2528
+	}
2529
+
2530
+	#line 1142 "../smarty/lexer/smarty_internal_templateparser.y"
2531
+	public function yy_r158()
2532
+	{
2533
+		$this->_retvalue =
2534
+			array_merge($this->yystack[ $this->yyidx + - 2 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor));
2535
+	}
2536
+
2537
+	#line 1159 "../smarty/lexer/smarty_internal_templateparser.y"
2538
+	public function yy_r161()
2539
+	{
2540
+		$this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 2 ]->minor,
2541
+									   array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor,
2542
+														 $this->yystack[ $this->yyidx + 0 ]->minor)));
2543
+	}
2544
+
2545
+	#line 1163 "../smarty/lexer/smarty_internal_templateparser.y"
2546
+	public function yy_r162()
2547
+	{
2548
+		$this->_retvalue =
2549
+			array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor));
2550
+	}
2551
+
2552
+	#line 1171 "../smarty/lexer/smarty_internal_templateparser.y"
2553
+	public function yy_r164()
2554
+	{
2555
+		$this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
2556
+	}
2557
+
2558
+	#line 1179 "../smarty/lexer/smarty_internal_templateparser.y"
2559
+	public function yy_r165()
2560
+	{
2561
+		$this->_retvalue =
2562
+			array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
2563
+	}
2564
+
2565
+	#line 1198 "../smarty/lexer/smarty_internal_templateparser.y"
2566
+	public function yy_r169()
2567
+	{
2568
+		$this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method');
2569
+	}
2570
+
2571
+	#line 1203 "../smarty/lexer/smarty_internal_templateparser.y"
2572
+	public function yy_r170()
2573
+	{
2574
+		$this->_retvalue =
2575
+			array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method');
2576
+	}
2577
+
2578
+	#line 1208 "../smarty/lexer/smarty_internal_templateparser.y"
2579
+	public function yy_r171()
2580
+	{
2581
+		$this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '');
2582
+	}
2583
+
2584
+	#line 1213 "../smarty/lexer/smarty_internal_templateparser.y"
2585
+	public function yy_r172()
2586
+	{
2587
+		$this->_retvalue =
2588
+			array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2589
+	}
2590
+
2591
+	#line 1218 "../smarty/lexer/smarty_internal_templateparser.y"
2592
+	public function yy_r173()
2593
+	{
2594
+		$this->_retvalue = array($this->yystack[ $this->yyidx + - 2 ]->minor,
2595
+								 $this->yystack[ $this->yyidx + - 1 ]->minor .
2596
+								 $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2597
+	}
2598
+
2599
+	#line 1224 "../smarty/lexer/smarty_internal_templateparser.y"
2600
+	public function yy_r174()
2601
+	{
2602
+		$this->_retvalue = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' ';
2603
+	}
2604
+
2605
+	#line 1228 "../smarty/lexer/smarty_internal_templateparser.y"
2606
+	public function yy_r175()
2607
+	{
2608
+		static $lops =
2609
+			array('eq' => ' == ', 'ne' => ' != ', 'neq' => ' != ', 'gt' => ' > ', 'ge' => ' >= ', 'gte' => ' >= ',
2610
+				  'lt' => ' < ', 'le' => ' <= ', 'lte' => ' <= ', 'mod' => ' % ', 'and' => ' && ', 'or' => ' || ',
2611
+				  'xor' => ' xor ',);
2612
+		$op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2613
+		$this->_retvalue = $lops[ $op ];
2614
+	}
2615
+
2616
+	#line 1247 "../smarty/lexer/smarty_internal_templateparser.y"
2617
+	public function yy_r176()
2618
+	{
2619
+		static $tlops =
2620
+			array('isdivby' => array('op' => ' % ', 'pre' => '!('), 'isnotdivby' => array('op' => ' % ', 'pre' => '('),
2621
+				  'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '),
2622
+				  'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
2623
+				  'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
2624
+				  'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),);
2625
+		$op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2626
+		$this->_retvalue = $tlops[ $op ];
2627
+	}
2628
+
2629
+	#line 1260 "../smarty/lexer/smarty_internal_templateparser.y"
2630
+	public function yy_r177()
2631
+	{
2632
+		static $scond =
2633
+			array('iseven' => '!(1 & ', 'isnoteven' => '(1 & ', 'isodd' => '(1 & ', 'isnotodd' => '!(1 & ',);
2634
+		$op = strtolower(str_replace(' ', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2635
+		$this->_retvalue = $scond[ $op ];
2636
+	}
2637
+
2638
+	#line 1274 "../smarty/lexer/smarty_internal_templateparser.y"
2639
+	public function yy_r178()
2640
+	{
2641
+		$this->_retvalue = 'array(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2642
+	}
2643
+
2644
+	#line 1282 "../smarty/lexer/smarty_internal_templateparser.y"
2645
+	public function yy_r180()
2646
+	{
2647
+		$this->_retvalue =
2648
+			$this->yystack[ $this->yyidx + - 2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor;
2649
+	}
2650
+
2651
+	#line 1290 "../smarty/lexer/smarty_internal_templateparser.y"
2652
+	public function yy_r182()
2653
+	{
2654
+		$this->_retvalue =
2655
+			$this->yystack[ $this->yyidx + - 2 ]->minor . '=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2656
+	}
2657
+
2658
+	#line 1294 "../smarty/lexer/smarty_internal_templateparser.y"
2659
+	public function yy_r183()
2660
+	{
2661
+		$this->_retvalue =
2662
+			'\'' . $this->yystack[ $this->yyidx + - 2 ]->minor . '\'=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2663
+	}
2664
+
2665
+	#line 1310 "../smarty/lexer/smarty_internal_templateparser.y"
2666
+	public function yy_r186()
2667
+	{
2668
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor->to_smarty_php($this);
2669
+	}
2670
+
2671
+	#line 1315 "../smarty/lexer/smarty_internal_templateparser.y"
2672
+	public function yy_r187()
2673
+	{
2674
+		$this->yystack[ $this->yyidx + - 1 ]->minor->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2675
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
2676
+	}
2677
+
2678
+	#line 1320 "../smarty/lexer/smarty_internal_templateparser.y"
2679
+	public function yy_r188()
2680
+	{
2681
+		$this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2682
+	}
2683
+
2684
+	#line 1324 "../smarty/lexer/smarty_internal_templateparser.y"
2685
+	public function yy_r189()
2686
+	{
2687
+		$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[ $this->yyidx + - 1 ]->minor);
2688
+	}
2689
+
2690
+	#line 1332 "../smarty/lexer/smarty_internal_templateparser.y"
2691
+	public function yy_r191()
2692
+	{
2693
+		$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' .
2694
+															  substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) .
2695
+															  '\']->value');
2696
+	}
2697
+
2698
+	#line 1340 "../smarty/lexer/smarty_internal_templateparser.y"
2699
+	public function yy_r193()
2700
+	{
2701
+		$this->_retvalue =
2702
+			new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')');
2703
+	}
2704
+
2705
+	#line 1344 "../smarty/lexer/smarty_internal_templateparser.y"
2706
+	public function yy_r194()
2707
+	{
2708
+		$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2709
+	}
2710
+
2711
+	#line 1348 "../smarty/lexer/smarty_internal_templateparser.y"
2712
+	public function yy_r195()
2713
+	{
2714
+		$this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[ $this->yyidx + 0 ]->minor);
2715
+	}
2716
+
2717
+	private $_retvalue;
2718
+
2719
+	public function yy_reduce($yyruleno)
2720
+	{
2721 2721
 		$countYyRuleName = count(self::$yyRuleName);
2722
-        if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < $countYyRuleName) {
2723
-            fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno,
2724
-                    self::$yyRuleName[ $yyruleno ]);
2725
-        }
2726
-
2727
-        $this->_retvalue = $yy_lefthand_side = null;
2728
-        if (isset(self::$yyReduceMap[ $yyruleno ])) {
2729
-            // call the action
2730
-            $this->_retvalue = null;
2731
-            $this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
2732
-            $yy_lefthand_side = $this->_retvalue;
2733
-        }
2734
-        $yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
2735
-        $yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
2736
-        $this->yyidx -= $yysize;
2737
-        for ($i = $yysize; $i; $i --) {
2738
-            // pop all of the right-hand side parameters
2739
-            array_pop($this->yystack);
2740
-        }
2741
-        $yyact = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno, $yygoto);
2742
-        if ($yyact < self::YYNSTATE) {
2743
-            if (!$this->yyTraceFILE && $yysize) {
2744
-                $this->yyidx ++;
2745
-                $x = new TP_yyStackEntry;
2746
-                $x->stateno = $yyact;
2747
-                $x->major = $yygoto;
2748
-                $x->minor = $yy_lefthand_side;
2749
-                $this->yystack[ $this->yyidx ] = $x;
2750
-            } else {
2751
-                $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2752
-            }
2753
-        } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
2754
-            $this->yy_accept();
2755
-        }
2756
-    }
2757
-
2758
-    public function yy_parse_failed()
2759
-    {
2760
-        if ($this->yyTraceFILE) {
2761
-            fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
2762
-        }
2763
-        while ($this->yyidx >= 0) {
2764
-            $this->yy_pop_parser_stack();
2765
-        }
2766
-    }
2767
-
2768
-    public function yy_syntax_error($yymajor, $TOKEN)
2769
-    {
2770
-        #line 200 "../smarty/lexer/smarty_internal_templateparser.y"
2771
-
2772
-        $this->internalError = true;
2773
-        $this->yymajor = $yymajor;
2774
-        $this->compiler->trigger_template_error();
2775
-    }
2776
-
2777
-    public function yy_accept()
2778
-    {
2779
-        if ($this->yyTraceFILE) {
2780
-            fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
2781
-        }
2782
-        while ($this->yyidx >= 0) {
2783
-            $this->yy_pop_parser_stack();
2784
-        }
2785
-        #line 193 "../smarty/lexer/smarty_internal_templateparser.y"
2786
-
2787
-        $this->successful = !$this->internalError;
2788
-        $this->internalError = false;
2789
-        $this->retvalue = $this->_retvalue;
2790
-    }
2791
-
2792
-    public function doParse($yymajor, $yytokenvalue)
2793
-    {
2794
-        $yyerrorhit = 0;   /* True if yymajor has invoked an error */
2795
-
2796
-        if ($this->yyidx === null || $this->yyidx < 0) {
2797
-            $this->yyidx = 0;
2798
-            $this->yyerrcnt = - 1;
2799
-            $x = new TP_yyStackEntry;
2800
-            $x->stateno = 0;
2801
-            $x->major = 0;
2802
-            $this->yystack = array();
2803
-            $this->yystack[] = $x;
2804
-        }
2805
-        $yyendofinput = ($yymajor == 0);
2806
-
2807
-        if ($this->yyTraceFILE) {
2808
-            fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[ $yymajor ]);
2809
-        }
2810
-
2811
-        do {
2812
-            $yyact = $this->yy_find_shift_action($yymajor);
2813
-            if ($yymajor < self::YYERRORSYMBOL && !$this->yy_is_expected_token($yymajor)) {
2814
-                // force a syntax error
2815
-                $yyact = self::YY_ERROR_ACTION;
2816
-            }
2817
-            if ($yyact < self::YYNSTATE) {
2818
-                $this->yy_shift($yyact, $yymajor, $yytokenvalue);
2819
-                $this->yyerrcnt --;
2820
-                if ($yyendofinput && $this->yyidx >= 0) {
2821
-                    $yymajor = 0;
2822
-                } else {
2823
-                    $yymajor = self::YYNOCODE;
2824
-                }
2825
-            } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
2826
-                $this->yy_reduce($yyact - self::YYNSTATE);
2827
-            } elseif ($yyact == self::YY_ERROR_ACTION) {
2828
-                if ($this->yyTraceFILE) {
2829
-                    fprintf($this->yyTraceFILE, "%sSyntax Error!\n", $this->yyTracePrompt);
2830
-                }
2831
-                if (self::YYERRORSYMBOL) {
2832
-                    if ($this->yyerrcnt < 0) {
2833
-                        $this->yy_syntax_error($yymajor, $yytokenvalue);
2834
-                    }
2835
-                    $yymx = $this->yystack[ $this->yyidx ]->major;
2836
-                    if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
2837
-                        if ($this->yyTraceFILE) {
2838
-                            fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt,
2839
-                                    $this->yyTokenName[ $yymajor ]);
2840
-                        }
2841
-                        $this->yy_destructor($yymajor, $yytokenvalue);
2842
-                        $yymajor = self::YYNOCODE;
2843
-                    } else {
2844
-                        while ($this->yyidx >= 0 && $yymx != self::YYERRORSYMBOL &&
2845
-                               ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE) {
2846
-                            $this->yy_pop_parser_stack();
2847
-                        }
2848
-                        if ($this->yyidx < 0 || $yymajor == 0) {
2849
-                            $this->yy_destructor($yymajor, $yytokenvalue);
2850
-                            $this->yy_parse_failed();
2851
-                            $yymajor = self::YYNOCODE;
2852
-                        } elseif ($yymx != self::YYERRORSYMBOL) {
2853
-                            $u2 = 0;
2854
-                            $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
2855
-                        }
2856
-                    }
2857
-                    $this->yyerrcnt = 3;
2858
-                    $yyerrorhit = 1;
2859
-                } else {
2860
-                    if ($this->yyerrcnt <= 0) {
2861
-                        $this->yy_syntax_error($yymajor, $yytokenvalue);
2862
-                    }
2863
-                    $this->yyerrcnt = 3;
2864
-                    $this->yy_destructor($yymajor, $yytokenvalue);
2865
-                    if ($yyendofinput) {
2866
-                        $this->yy_parse_failed();
2867
-                    }
2868
-                    $yymajor = self::YYNOCODE;
2869
-                }
2870
-            } else {
2871
-                $this->yy_accept();
2872
-                $yymajor = self::YYNOCODE;
2873
-            }
2874
-        }
2875
-        while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
2876
-    }
2722
+		if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < $countYyRuleName) {
2723
+			fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno,
2724
+					self::$yyRuleName[ $yyruleno ]);
2725
+		}
2726
+
2727
+		$this->_retvalue = $yy_lefthand_side = null;
2728
+		if (isset(self::$yyReduceMap[ $yyruleno ])) {
2729
+			// call the action
2730
+			$this->_retvalue = null;
2731
+			$this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
2732
+			$yy_lefthand_side = $this->_retvalue;
2733
+		}
2734
+		$yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
2735
+		$yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
2736
+		$this->yyidx -= $yysize;
2737
+		for ($i = $yysize; $i; $i --) {
2738
+			// pop all of the right-hand side parameters
2739
+			array_pop($this->yystack);
2740
+		}
2741
+		$yyact = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno, $yygoto);
2742
+		if ($yyact < self::YYNSTATE) {
2743
+			if (!$this->yyTraceFILE && $yysize) {
2744
+				$this->yyidx ++;
2745
+				$x = new TP_yyStackEntry;
2746
+				$x->stateno = $yyact;
2747
+				$x->major = $yygoto;
2748
+				$x->minor = $yy_lefthand_side;
2749
+				$this->yystack[ $this->yyidx ] = $x;
2750
+			} else {
2751
+				$this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2752
+			}
2753
+		} elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
2754
+			$this->yy_accept();
2755
+		}
2756
+	}
2757
+
2758
+	public function yy_parse_failed()
2759
+	{
2760
+		if ($this->yyTraceFILE) {
2761
+			fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
2762
+		}
2763
+		while ($this->yyidx >= 0) {
2764
+			$this->yy_pop_parser_stack();
2765
+		}
2766
+	}
2767
+
2768
+	public function yy_syntax_error($yymajor, $TOKEN)
2769
+	{
2770
+		#line 200 "../smarty/lexer/smarty_internal_templateparser.y"
2771
+
2772
+		$this->internalError = true;
2773
+		$this->yymajor = $yymajor;
2774
+		$this->compiler->trigger_template_error();
2775
+	}
2776
+
2777
+	public function yy_accept()
2778
+	{
2779
+		if ($this->yyTraceFILE) {
2780
+			fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
2781
+		}
2782
+		while ($this->yyidx >= 0) {
2783
+			$this->yy_pop_parser_stack();
2784
+		}
2785
+		#line 193 "../smarty/lexer/smarty_internal_templateparser.y"
2786
+
2787
+		$this->successful = !$this->internalError;
2788
+		$this->internalError = false;
2789
+		$this->retvalue = $this->_retvalue;
2790
+	}
2791
+
2792
+	public function doParse($yymajor, $yytokenvalue)
2793
+	{
2794
+		$yyerrorhit = 0;   /* True if yymajor has invoked an error */
2795
+
2796
+		if ($this->yyidx === null || $this->yyidx < 0) {
2797
+			$this->yyidx = 0;
2798
+			$this->yyerrcnt = - 1;
2799
+			$x = new TP_yyStackEntry;
2800
+			$x->stateno = 0;
2801
+			$x->major = 0;
2802
+			$this->yystack = array();
2803
+			$this->yystack[] = $x;
2804
+		}
2805
+		$yyendofinput = ($yymajor == 0);
2806
+
2807
+		if ($this->yyTraceFILE) {
2808
+			fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[ $yymajor ]);
2809
+		}
2810
+
2811
+		do {
2812
+			$yyact = $this->yy_find_shift_action($yymajor);
2813
+			if ($yymajor < self::YYERRORSYMBOL && !$this->yy_is_expected_token($yymajor)) {
2814
+				// force a syntax error
2815
+				$yyact = self::YY_ERROR_ACTION;
2816
+			}
2817
+			if ($yyact < self::YYNSTATE) {
2818
+				$this->yy_shift($yyact, $yymajor, $yytokenvalue);
2819
+				$this->yyerrcnt --;
2820
+				if ($yyendofinput && $this->yyidx >= 0) {
2821
+					$yymajor = 0;
2822
+				} else {
2823
+					$yymajor = self::YYNOCODE;
2824
+				}
2825
+			} elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
2826
+				$this->yy_reduce($yyact - self::YYNSTATE);
2827
+			} elseif ($yyact == self::YY_ERROR_ACTION) {
2828
+				if ($this->yyTraceFILE) {
2829
+					fprintf($this->yyTraceFILE, "%sSyntax Error!\n", $this->yyTracePrompt);
2830
+				}
2831
+				if (self::YYERRORSYMBOL) {
2832
+					if ($this->yyerrcnt < 0) {
2833
+						$this->yy_syntax_error($yymajor, $yytokenvalue);
2834
+					}
2835
+					$yymx = $this->yystack[ $this->yyidx ]->major;
2836
+					if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
2837
+						if ($this->yyTraceFILE) {
2838
+							fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt,
2839
+									$this->yyTokenName[ $yymajor ]);
2840
+						}
2841
+						$this->yy_destructor($yymajor, $yytokenvalue);
2842
+						$yymajor = self::YYNOCODE;
2843
+					} else {
2844
+						while ($this->yyidx >= 0 && $yymx != self::YYERRORSYMBOL &&
2845
+							   ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE) {
2846
+							$this->yy_pop_parser_stack();
2847
+						}
2848
+						if ($this->yyidx < 0 || $yymajor == 0) {
2849
+							$this->yy_destructor($yymajor, $yytokenvalue);
2850
+							$this->yy_parse_failed();
2851
+							$yymajor = self::YYNOCODE;
2852
+						} elseif ($yymx != self::YYERRORSYMBOL) {
2853
+							$u2 = 0;
2854
+							$this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
2855
+						}
2856
+					}
2857
+					$this->yyerrcnt = 3;
2858
+					$yyerrorhit = 1;
2859
+				} else {
2860
+					if ($this->yyerrcnt <= 0) {
2861
+						$this->yy_syntax_error($yymajor, $yytokenvalue);
2862
+					}
2863
+					$this->yyerrcnt = 3;
2864
+					$this->yy_destructor($yymajor, $yytokenvalue);
2865
+					if ($yyendofinput) {
2866
+						$this->yy_parse_failed();
2867
+					}
2868
+					$yymajor = self::YYNOCODE;
2869
+				}
2870
+			} else {
2871
+				$this->yy_accept();
2872
+				$yymajor = self::YYNOCODE;
2873
+			}
2874
+		}
2875
+		while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
2876
+	}
2877 2877
 }
2878 2878
 
Please login to merge, or discard this patch.
libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php 1 patch
Indentation   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -11,33 +11,33 @@
 block discarded – undo
11 11
  */
12 12
 class Smarty_Internal_Method_RegisterDefaultPluginHandler
13 13
 {
14
-    /**
15
-     * Valid for Smarty and template object
16
-     *
17
-     * @var int
18
-     */
19
-    public $objMap = 3;
14
+	/**
15
+	 * Valid for Smarty and template object
16
+	 *
17
+	 * @var int
18
+	 */
19
+	public $objMap = 3;
20 20
 
21
-    /**
22
-     * Registers a default plugin handler
23
-     *
24
-     * @api  Smarty::registerDefaultPluginHandler()
25
-     * @link http://www.smarty.net/docs/en/api.register.default.plugin.handler.tpl
26
-     *
27
-     * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
28
-     * @param  callable                                                       $callback class/method name
29
-     *
30
-     * @return \Smarty|\Smarty_Internal_Template
31
-     * @throws SmartyException              if $callback is not callable
32
-     */
33
-    public function registerDefaultPluginHandler(Smarty_Internal_TemplateBase $obj, $callback)
34
-    {
35
-        $smarty = isset($obj->smarty) ? $obj->smarty : $obj;
36
-        if (is_callable($callback)) {
37
-            $smarty->default_plugin_handler_func = $callback;
38
-        } else {
39
-            throw new SmartyException("Default plugin handler '$callback' not callable");
40
-        }
41
-        return $obj;
42
-    }
21
+	/**
22
+	 * Registers a default plugin handler
23
+	 *
24
+	 * @api  Smarty::registerDefaultPluginHandler()
25
+	 * @link http://www.smarty.net/docs/en/api.register.default.plugin.handler.tpl
26
+	 *
27
+	 * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
28
+	 * @param  callable                                                       $callback class/method name
29
+	 *
30
+	 * @return \Smarty|\Smarty_Internal_Template
31
+	 * @throws SmartyException              if $callback is not callable
32
+	 */
33
+	public function registerDefaultPluginHandler(Smarty_Internal_TemplateBase $obj, $callback)
34
+	{
35
+		$smarty = isset($obj->smarty) ? $obj->smarty : $obj;
36
+		if (is_callable($callback)) {
37
+			$smarty->default_plugin_handler_func = $callback;
38
+		} else {
39
+			throw new SmartyException("Default plugin handler '$callback' not callable");
40
+		}
41
+		return $obj;
42
+	}
43 43
 }
44 44
\ No newline at end of file
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_internal_parsetree.php 1 patch
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -17,37 +17,37 @@
 block discarded – undo
17 17
 abstract class Smarty_Internal_ParseTree
18 18
 {
19 19
 
20
-    /**
21
-     * Buffer content
22
-     *
23
-     * @var mixed
24
-     */
25
-    public $data;
26
-
27
-    /**
28
-     * Subtree array
29
-     *
30
-     * @var array
31
-     */
32
-    public $subtrees = array();
33
-
34
-    /**
35
-     * Return buffer
36
-     *
37
-     * @param \Smarty_Internal_Templateparser $parser
38
-     *
39
-     * @return string buffer content
40
-     */
41
-    abstract public function to_smarty_php(Smarty_Internal_Templateparser $parser);
42
-
43
-    /**
44
-     * Template data object destructor
45
-     */
46
-    public function __destruct()
47
-    {
48
-        $this->data = null;
49
-        $this->subtrees = null;
50
-    }
20
+	/**
21
+	 * Buffer content
22
+	 *
23
+	 * @var mixed
24
+	 */
25
+	public $data;
26
+
27
+	/**
28
+	 * Subtree array
29
+	 *
30
+	 * @var array
31
+	 */
32
+	public $subtrees = array();
33
+
34
+	/**
35
+	 * Return buffer
36
+	 *
37
+	 * @param \Smarty_Internal_Templateparser $parser
38
+	 *
39
+	 * @return string buffer content
40
+	 */
41
+	abstract public function to_smarty_php(Smarty_Internal_Templateparser $parser);
42
+
43
+	/**
44
+	 * Template data object destructor
45
+	 */
46
+	public function __destruct()
47
+	{
48
+		$this->data = null;
49
+		$this->subtrees = null;
50
+	}
51 51
 
52 52
 }
53 53
 
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_internal_runtime_cachemodify.php 2 patches
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -10,59 +10,59 @@
 block discarded – undo
10 10
  **/
11 11
 class Smarty_Internal_Runtime_CacheModify
12 12
 {
13
-    /**
14
-     * check client side cache
15
-     *
16
-     * @param \Smarty_Template_Cached   $cached
17
-     * @param \Smarty_Internal_Template $_template
18
-     * @param  string                   $content
19
-     */
20
-    public function cacheModifiedCheck(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template, $content)
21
-    {
22
-        $_isCached = $_template->isCached() && !$_template->compiled->has_nocache_code;
23
-        $_last_modified_date =
24
-            @substr($_SERVER[ 'HTTP_IF_MODIFIED_SINCE' ], 0, strpos($_SERVER[ 'HTTP_IF_MODIFIED_SINCE' ], 'GMT') + 3);
25
-        if ($_isCached && $cached->timestamp <= strtotime($_last_modified_date)) {
26
-            switch (PHP_SAPI) {
27
-                case 'cgi': // php-cgi < 5.3
28
-                case 'cgi-fcgi': // php-cgi >= 5.3
29
-                case 'fpm-fcgi': // php-fpm >= 5.3.3
30
-                    header('Status: 304 Not Modified');
31
-                    break;
13
+	/**
14
+	 * check client side cache
15
+	 *
16
+	 * @param \Smarty_Template_Cached   $cached
17
+	 * @param \Smarty_Internal_Template $_template
18
+	 * @param  string                   $content
19
+	 */
20
+	public function cacheModifiedCheck(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template, $content)
21
+	{
22
+		$_isCached = $_template->isCached() && !$_template->compiled->has_nocache_code;
23
+		$_last_modified_date =
24
+			@substr($_SERVER[ 'HTTP_IF_MODIFIED_SINCE' ], 0, strpos($_SERVER[ 'HTTP_IF_MODIFIED_SINCE' ], 'GMT') + 3);
25
+		if ($_isCached && $cached->timestamp <= strtotime($_last_modified_date)) {
26
+			switch (PHP_SAPI) {
27
+				case 'cgi': // php-cgi < 5.3
28
+				case 'cgi-fcgi': // php-cgi >= 5.3
29
+				case 'fpm-fcgi': // php-fpm >= 5.3.3
30
+					header('Status: 304 Not Modified');
31
+					break;
32 32
 
33
-                case 'cli':
34
-                    if ( /* ^phpunit */
35
-                    !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
36
-                    ) {
37
-                        $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
38
-                    }
39
-                    break;
33
+				case 'cli':
34
+					if ( /* ^phpunit */
35
+					!empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
36
+					) {
37
+						$_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
38
+					}
39
+					break;
40 40
 
41
-                default:
42
-                    if ( /* ^phpunit */
43
-                    !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
44
-                    ) {
45
-                        $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
46
-                    } else {
47
-                        header($_SERVER[ 'SERVER_PROTOCOL' ] . ' 304 Not Modified');
48
-                    }
49
-                    break;
50
-            }
51
-        } else {
52
-            switch (PHP_SAPI) {
53
-                case 'cli':
54
-                    if ( /* ^phpunit */
55
-                    !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
56
-                    ) {
57
-                        $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] =
58
-                            'Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT';
59
-                    }
60
-                    break;
61
-                default:
62
-                    header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT');
63
-                    break;
64
-            }
65
-            echo $content;
66
-        }
67
-    }
41
+				default:
42
+					if ( /* ^phpunit */
43
+					!empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
44
+					) {
45
+						$_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
46
+					} else {
47
+						header($_SERVER[ 'SERVER_PROTOCOL' ] . ' 304 Not Modified');
48
+					}
49
+					break;
50
+			}
51
+		} else {
52
+			switch (PHP_SAPI) {
53
+				case 'cli':
54
+					if ( /* ^phpunit */
55
+					!empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
56
+					) {
57
+						$_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] =
58
+							'Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT';
59
+					}
60
+					break;
61
+				default:
62
+					header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT');
63
+					break;
64
+			}
65
+			echo $content;
66
+		}
67
+	}
68 68
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
     {
22 22
         $_isCached = $_template->isCached() && !$_template->compiled->has_nocache_code;
23 23
         $_last_modified_date =
24
-            @substr($_SERVER[ 'HTTP_IF_MODIFIED_SINCE' ], 0, strpos($_SERVER[ 'HTTP_IF_MODIFIED_SINCE' ], 'GMT') + 3);
24
+            @substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 0, strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'], 'GMT') + 3);
25 25
         if ($_isCached && $cached->timestamp <= strtotime($_last_modified_date)) {
26 26
             switch (PHP_SAPI) {
27 27
                 case 'cgi': // php-cgi < 5.3
@@ -32,19 +32,19 @@  discard block
 block discarded – undo
32 32
 
33 33
                 case 'cli':
34 34
                     if ( /* ^phpunit */
35
-                    !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
35
+                    !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */
36 36
                     ) {
37
-                        $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
37
+                        $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified';
38 38
                     }
39 39
                     break;
40 40
 
41 41
                 default:
42 42
                     if ( /* ^phpunit */
43
-                    !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
43
+                    !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */
44 44
                     ) {
45
-                        $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
45
+                        $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified';
46 46
                     } else {
47
-                        header($_SERVER[ 'SERVER_PROTOCOL' ] . ' 304 Not Modified');
47
+                        header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
48 48
                     }
49 49
                     break;
50 50
             }
@@ -52,9 +52,9 @@  discard block
 block discarded – undo
52 52
             switch (PHP_SAPI) {
53 53
                 case 'cli':
54 54
                     if ( /* ^phpunit */
55
-                    !empty($_SERVER[ 'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
55
+                    !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */
56 56
                     ) {
57
-                        $_SERVER[ 'SMARTY_PHPUNIT_HEADERS' ][] =
57
+                        $_SERVER['SMARTY_PHPUNIT_HEADERS'][] =
58 58
                             'Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT';
59 59
                     }
60 60
                     break;
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_template_cached.php 1 patch
Indentation   +223 added lines, -223 removed lines patch added patch discarded remove patch
@@ -16,241 +16,241 @@
 block discarded – undo
16 16
  */
17 17
 class Smarty_Template_Cached extends Smarty_Template_Resource_Base
18 18
 {
19
-    /**
20
-     * Cache Is Valid
21
-     *
22
-     * @var boolean
23
-     */
24
-    public $valid = null;
19
+	/**
20
+	 * Cache Is Valid
21
+	 *
22
+	 * @var boolean
23
+	 */
24
+	public $valid = null;
25 25
 
26
-    /**
27
-     * CacheResource Handler
28
-     *
29
-     * @var Smarty_CacheResource
30
-     */
31
-    public $handler = null;
26
+	/**
27
+	 * CacheResource Handler
28
+	 *
29
+	 * @var Smarty_CacheResource
30
+	 */
31
+	public $handler = null;
32 32
 
33
-    /**
34
-     * Template Cache Id (Smarty_Internal_Template::$cache_id)
35
-     *
36
-     * @var string
37
-     */
38
-    public $cache_id = null;
33
+	/**
34
+	 * Template Cache Id (Smarty_Internal_Template::$cache_id)
35
+	 *
36
+	 * @var string
37
+	 */
38
+	public $cache_id = null;
39 39
 
40
-    /**
41
-     * saved cache lifetime in seconds
42
-     *
43
-     * @var integer
44
-     */
45
-    public $cache_lifetime = 0;
40
+	/**
41
+	 * saved cache lifetime in seconds
42
+	 *
43
+	 * @var integer
44
+	 */
45
+	public $cache_lifetime = 0;
46 46
 
47
-    /**
48
-     * Id for cache locking
49
-     *
50
-     * @var string
51
-     */
52
-    public $lock_id = null;
47
+	/**
48
+	 * Id for cache locking
49
+	 *
50
+	 * @var string
51
+	 */
52
+	public $lock_id = null;
53 53
 
54
-    /**
55
-     * flag that cache is locked by this instance
56
-     *
57
-     * @var bool
58
-     */
59
-    public $is_locked = false;
54
+	/**
55
+	 * flag that cache is locked by this instance
56
+	 *
57
+	 * @var bool
58
+	 */
59
+	public $is_locked = false;
60 60
 
61
-    /**
62
-     * Source Object
63
-     *
64
-     * @var Smarty_Template_Source
65
-     */
66
-    public $source = null;
61
+	/**
62
+	 * Source Object
63
+	 *
64
+	 * @var Smarty_Template_Source
65
+	 */
66
+	public $source = null;
67 67
 
68
-    /**
69
-     * Nocache hash codes of processed compiled templates
70
-     *
71
-     * @var array
72
-     */
73
-    public $hashes = array();
68
+	/**
69
+	 * Nocache hash codes of processed compiled templates
70
+	 *
71
+	 * @var array
72
+	 */
73
+	public $hashes = array();
74 74
 
75
-    /**
76
-     * Flag if this is a cache resource
77
-     *
78
-     * @var bool
79
-     */
80
-    public $isCache = true;
75
+	/**
76
+	 * Flag if this is a cache resource
77
+	 *
78
+	 * @var bool
79
+	 */
80
+	public $isCache = true;
81 81
 
82
-    /**
83
-     * create Cached Object container
84
-     *
85
-     * @param Smarty_Internal_Template $_template template object
86
-     */
87
-    public function __construct(Smarty_Internal_Template $_template)
88
-    {
89
-        $this->compile_id = $_template->compile_id;
90
-        $this->cache_id = $_template->cache_id;
91
-        $this->source = $_template->source;
92
-        if (!class_exists('Smarty_CacheResource', false)) {
93
-            require SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php';
94
-        }
95
-        $this->handler = Smarty_CacheResource::load($_template->smarty);
96
-    }
82
+	/**
83
+	 * create Cached Object container
84
+	 *
85
+	 * @param Smarty_Internal_Template $_template template object
86
+	 */
87
+	public function __construct(Smarty_Internal_Template $_template)
88
+	{
89
+		$this->compile_id = $_template->compile_id;
90
+		$this->cache_id = $_template->cache_id;
91
+		$this->source = $_template->source;
92
+		if (!class_exists('Smarty_CacheResource', false)) {
93
+			require SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php';
94
+		}
95
+		$this->handler = Smarty_CacheResource::load($_template->smarty);
96
+	}
97 97
 
98
-    /**
99
-     * @param Smarty_Internal_Template $_template
100
-     *
101
-     * @return Smarty_Template_Cached
102
-     */
103
-    static function load(Smarty_Internal_Template $_template)
104
-    {
105
-        $_template->cached = new Smarty_Template_Cached($_template);
106
-        $_template->cached->handler->populate($_template->cached, $_template);
107
-        // caching enabled ?
108
-        if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT ||
109
-              $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || $_template->source->handler->recompiled
110
-        ) {
111
-            $_template->cached->valid = false;
112
-        }
113
-        return $_template->cached;
114
-    }
98
+	/**
99
+	 * @param Smarty_Internal_Template $_template
100
+	 *
101
+	 * @return Smarty_Template_Cached
102
+	 */
103
+	static function load(Smarty_Internal_Template $_template)
104
+	{
105
+		$_template->cached = new Smarty_Template_Cached($_template);
106
+		$_template->cached->handler->populate($_template->cached, $_template);
107
+		// caching enabled ?
108
+		if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT ||
109
+			  $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || $_template->source->handler->recompiled
110
+		) {
111
+			$_template->cached->valid = false;
112
+		}
113
+		return $_template->cached;
114
+	}
115 115
 
116
-    /**
117
-     * Render cache template
118
-     *
119
-     * @param \Smarty_Internal_Template $_template
120
-     * @param  bool                     $no_output_filter
121
-     *
122
-     * @throws \Exception
123
-     */
124
-    public function render(Smarty_Internal_Template $_template, $no_output_filter = true)
125
-    {
126
-        if ($this->isCached($_template)) {
127
-            if ($_template->smarty->debugging) {
128
-                if (!isset($_template->smarty->_debug)) {
129
-                    $_template->smarty->_debug = new Smarty_Internal_Debug();
130
-                }
131
-                $_template->smarty->_debug->start_cache($_template);
132
-            }
133
-            if (!$this->processed) {
134
-                $this->process($_template);
135
-            }
136
-            $this->getRenderedTemplateCode($_template);
137
-            if ($_template->smarty->debugging) {
138
-                $_template->smarty->_debug->end_cache($_template);
139
-            }
140
-            return;
141
-        } else {
142
-            $_template->smarty->ext->_updateCache->updateCache($this, $_template, $no_output_filter);
143
-        }
144
-    }
116
+	/**
117
+	 * Render cache template
118
+	 *
119
+	 * @param \Smarty_Internal_Template $_template
120
+	 * @param  bool                     $no_output_filter
121
+	 *
122
+	 * @throws \Exception
123
+	 */
124
+	public function render(Smarty_Internal_Template $_template, $no_output_filter = true)
125
+	{
126
+		if ($this->isCached($_template)) {
127
+			if ($_template->smarty->debugging) {
128
+				if (!isset($_template->smarty->_debug)) {
129
+					$_template->smarty->_debug = new Smarty_Internal_Debug();
130
+				}
131
+				$_template->smarty->_debug->start_cache($_template);
132
+			}
133
+			if (!$this->processed) {
134
+				$this->process($_template);
135
+			}
136
+			$this->getRenderedTemplateCode($_template);
137
+			if ($_template->smarty->debugging) {
138
+				$_template->smarty->_debug->end_cache($_template);
139
+			}
140
+			return;
141
+		} else {
142
+			$_template->smarty->ext->_updateCache->updateCache($this, $_template, $no_output_filter);
143
+		}
144
+	}
145 145
 
146
-    /**
147
-     * Check if cache is valid, lock cache if required
148
-     *
149
-     * @param \Smarty_Internal_Template $_template
150
-     *
151
-     * @return bool flag true if cache is valid
152
-     */
153
-    public function isCached(Smarty_Internal_Template $_template)
154
-    {
155
-        if ($this->valid !== null) {
156
-            return $this->valid;
157
-        }
158
-        while (true) {
159
-            while (true) {
160
-                if ($this->exists === false || $_template->smarty->force_compile || $_template->smarty->force_cache) {
161
-                    $this->valid = false;
162
-                } else {
163
-                    $this->valid = true;
164
-                }
165
-                if ($this->valid && $_template->caching == Smarty::CACHING_LIFETIME_CURRENT &&
166
-                    $_template->cache_lifetime >= 0 && time() > ($this->timestamp + $_template->cache_lifetime)
167
-                ) {
168
-                    // lifetime expired
169
-                    $this->valid = false;
170
-                }
171
-                if ($this->valid && $_template->smarty->compile_check == 1 &&
172
-                    $_template->source->getTimeStamp() > $this->timestamp
173
-                ) {
174
-                    $this->valid = false;
175
-                }
176
-                if ($this->valid || !$_template->smarty->cache_locking) {
177
-                    break;
178
-                }
179
-                if (!$this->handler->locked($_template->smarty, $this)) {
180
-                    $this->handler->acquireLock($_template->smarty, $this);
181
-                    break 2;
182
-                }
183
-                $this->handler->populate($this, $_template);
184
-            }
185
-            if ($this->valid) {
186
-                if (!$_template->smarty->cache_locking || $this->handler->locked($_template->smarty, $this) === null) {
187
-                    // load cache file for the following checks
188
-                    if ($_template->smarty->debugging) {
189
-                        $_template->smarty->_debug->start_cache($_template);
190
-                    }
191
-                    if ($this->handler->process($_template, $this) === false) {
192
-                        $this->valid = false;
193
-                    } else {
194
-                        $this->processed = true;
195
-                    }
196
-                    if ($_template->smarty->debugging) {
197
-                        $_template->smarty->_debug->end_cache($_template);
198
-                    }
199
-                } else {
200
-                    $this->is_locked = true;
201
-                    continue;
202
-                }
203
-            } else {
204
-                return $this->valid;
205
-            }
206
-            if ($this->valid && $_template->caching === Smarty::CACHING_LIFETIME_SAVED &&
207
-                $_template->cached->cache_lifetime >= 0 &&
208
-                (time() > ($_template->cached->timestamp + $_template->cached->cache_lifetime))
209
-            ) {
210
-                $this->valid = false;
211
-            }
212
-            if ($_template->smarty->cache_locking) {
213
-                if (!$this->valid) {
214
-                    $this->handler->acquireLock($_template->smarty, $this);
215
-                } elseif ($this->is_locked) {
216
-                    $this->handler->releaseLock($_template->smarty, $this);
217
-                }
218
-            }
219
-            return $this->valid;
220
-        }
221
-        return $this->valid;
222
-    }
146
+	/**
147
+	 * Check if cache is valid, lock cache if required
148
+	 *
149
+	 * @param \Smarty_Internal_Template $_template
150
+	 *
151
+	 * @return bool flag true if cache is valid
152
+	 */
153
+	public function isCached(Smarty_Internal_Template $_template)
154
+	{
155
+		if ($this->valid !== null) {
156
+			return $this->valid;
157
+		}
158
+		while (true) {
159
+			while (true) {
160
+				if ($this->exists === false || $_template->smarty->force_compile || $_template->smarty->force_cache) {
161
+					$this->valid = false;
162
+				} else {
163
+					$this->valid = true;
164
+				}
165
+				if ($this->valid && $_template->caching == Smarty::CACHING_LIFETIME_CURRENT &&
166
+					$_template->cache_lifetime >= 0 && time() > ($this->timestamp + $_template->cache_lifetime)
167
+				) {
168
+					// lifetime expired
169
+					$this->valid = false;
170
+				}
171
+				if ($this->valid && $_template->smarty->compile_check == 1 &&
172
+					$_template->source->getTimeStamp() > $this->timestamp
173
+				) {
174
+					$this->valid = false;
175
+				}
176
+				if ($this->valid || !$_template->smarty->cache_locking) {
177
+					break;
178
+				}
179
+				if (!$this->handler->locked($_template->smarty, $this)) {
180
+					$this->handler->acquireLock($_template->smarty, $this);
181
+					break 2;
182
+				}
183
+				$this->handler->populate($this, $_template);
184
+			}
185
+			if ($this->valid) {
186
+				if (!$_template->smarty->cache_locking || $this->handler->locked($_template->smarty, $this) === null) {
187
+					// load cache file for the following checks
188
+					if ($_template->smarty->debugging) {
189
+						$_template->smarty->_debug->start_cache($_template);
190
+					}
191
+					if ($this->handler->process($_template, $this) === false) {
192
+						$this->valid = false;
193
+					} else {
194
+						$this->processed = true;
195
+					}
196
+					if ($_template->smarty->debugging) {
197
+						$_template->smarty->_debug->end_cache($_template);
198
+					}
199
+				} else {
200
+					$this->is_locked = true;
201
+					continue;
202
+				}
203
+			} else {
204
+				return $this->valid;
205
+			}
206
+			if ($this->valid && $_template->caching === Smarty::CACHING_LIFETIME_SAVED &&
207
+				$_template->cached->cache_lifetime >= 0 &&
208
+				(time() > ($_template->cached->timestamp + $_template->cached->cache_lifetime))
209
+			) {
210
+				$this->valid = false;
211
+			}
212
+			if ($_template->smarty->cache_locking) {
213
+				if (!$this->valid) {
214
+					$this->handler->acquireLock($_template->smarty, $this);
215
+				} elseif ($this->is_locked) {
216
+					$this->handler->releaseLock($_template->smarty, $this);
217
+				}
218
+			}
219
+			return $this->valid;
220
+		}
221
+		return $this->valid;
222
+	}
223 223
 
224
-    /**
225
-     * Process cached template
226
-     *
227
-     * @param Smarty_Internal_Template $_template template object
228
-     * @param bool                     $update    flag if called because cache update
229
-     */
230
-    public function process(Smarty_Internal_Template $_template, $update = false)
231
-    {
232
-        if ($this->handler->process($_template, $this, $update) === false) {
233
-            $this->valid = false;
234
-        }
235
-        if ($this->valid) {
236
-            $this->processed = true;
237
-        } else {
238
-            $this->processed = false;
239
-        }
240
-    }
224
+	/**
225
+	 * Process cached template
226
+	 *
227
+	 * @param Smarty_Internal_Template $_template template object
228
+	 * @param bool                     $update    flag if called because cache update
229
+	 */
230
+	public function process(Smarty_Internal_Template $_template, $update = false)
231
+	{
232
+		if ($this->handler->process($_template, $this, $update) === false) {
233
+			$this->valid = false;
234
+		}
235
+		if ($this->valid) {
236
+			$this->processed = true;
237
+		} else {
238
+			$this->processed = false;
239
+		}
240
+	}
241 241
 
242
-    /**
243
-     * Read cache content from handler
244
-     *
245
-     * @param Smarty_Internal_Template $_template template object
246
-     *
247
-     * @return string|false content
248
-     */
249
-    public function read(Smarty_Internal_Template $_template)
250
-    {
251
-        if (!$_template->source->handler->recompiled) {
252
-            return $this->handler->readCachedContent($_template);
253
-        }
254
-        return false;
255
-    }
242
+	/**
243
+	 * Read cache content from handler
244
+	 *
245
+	 * @param Smarty_Internal_Template $_template template object
246
+	 *
247
+	 * @return string|false content
248
+	 */
249
+	public function read(Smarty_Internal_Template $_template)
250
+	{
251
+		if (!$_template->source->handler->recompiled) {
252
+			return $this->handler->readCachedContent($_template);
253
+		}
254
+		return false;
255
+	}
256 256
 }
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_internal_resource_stream.php 1 patch
Indentation   +55 added lines, -55 removed lines patch added patch discarded remove patch
@@ -19,62 +19,62 @@
 block discarded – undo
19 19
  */
20 20
 class Smarty_Internal_Resource_Stream extends Smarty_Resource_Recompiled
21 21
 {
22
-    /**
23
-     * populate Source Object with meta data from Resource
24
-     *
25
-     * @param Smarty_Template_Source   $source    source object
26
-     * @param Smarty_Internal_Template $_template template object
27
-     *
28
-     * @return void
29
-     */
30
-    public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
31
-    {
32
-        if (strpos($source->resource, '://') !== false) {
33
-            $source->filepath = $source->resource;
34
-        } else {
35
-            $source->filepath = str_replace(':', '://', $source->resource);
36
-        }
37
-        $source->uid = false;
38
-        $source->content = $this->getContent($source);
39
-        $source->timestamp = $source->exists = !!$source->content;
40
-    }
22
+	/**
23
+	 * populate Source Object with meta data from Resource
24
+	 *
25
+	 * @param Smarty_Template_Source   $source    source object
26
+	 * @param Smarty_Internal_Template $_template template object
27
+	 *
28
+	 * @return void
29
+	 */
30
+	public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
31
+	{
32
+		if (strpos($source->resource, '://') !== false) {
33
+			$source->filepath = $source->resource;
34
+		} else {
35
+			$source->filepath = str_replace(':', '://', $source->resource);
36
+		}
37
+		$source->uid = false;
38
+		$source->content = $this->getContent($source);
39
+		$source->timestamp = $source->exists = !!$source->content;
40
+	}
41 41
 
42
-    /**
43
-     * Load template's source from stream into current template object
44
-     *
45
-     * @param Smarty_Template_Source $source source object
46
-     *
47
-     * @return string template source
48
-     * @throws SmartyException if source cannot be loaded
49
-     */
50
-    public function getContent(Smarty_Template_Source $source)
51
-    {
52
-        $t = '';
53
-        // the availability of the stream has already been checked in Smarty_Resource::fetch()
54
-        $fp = fopen($source->filepath, 'r+');
55
-        if ($fp) {
56
-            while (!feof($fp) && ($current_line = fgets($fp)) !== false) {
57
-                $t .= $current_line;
58
-            }
59
-            fclose($fp);
42
+	/**
43
+	 * Load template's source from stream into current template object
44
+	 *
45
+	 * @param Smarty_Template_Source $source source object
46
+	 *
47
+	 * @return string template source
48
+	 * @throws SmartyException if source cannot be loaded
49
+	 */
50
+	public function getContent(Smarty_Template_Source $source)
51
+	{
52
+		$t = '';
53
+		// the availability of the stream has already been checked in Smarty_Resource::fetch()
54
+		$fp = fopen($source->filepath, 'r+');
55
+		if ($fp) {
56
+			while (!feof($fp) && ($current_line = fgets($fp)) !== false) {
57
+				$t .= $current_line;
58
+			}
59
+			fclose($fp);
60 60
 
61
-            return $t;
62
-        } else {
63
-            return false;
64
-        }
65
-    }
61
+			return $t;
62
+		} else {
63
+			return false;
64
+		}
65
+	}
66 66
 
67
-    /**
68
-     * modify resource_name according to resource handlers specifications
69
-     *
70
-     * @param Smarty   $smarty        Smarty instance
71
-     * @param string   $resource_name resource_name to make unique
72
-     * @param  boolean $isConfig      flag for config resource
73
-     *
74
-     * @return string unique resource name
75
-     */
76
-    public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false)
77
-    {
78
-        return get_class($this) . '#' . $resource_name;
79
-    }
67
+	/**
68
+	 * modify resource_name according to resource handlers specifications
69
+	 *
70
+	 * @param Smarty   $smarty        Smarty instance
71
+	 * @param string   $resource_name resource_name to make unique
72
+	 * @param  boolean $isConfig      flag for config resource
73
+	 *
74
+	 * @return string unique resource name
75
+	 */
76
+	public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false)
77
+	{
78
+		return get_class($this) . '#' . $resource_name;
79
+	}
80 80
 }
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_template_resource_base.php 2 patches
Indentation   +132 added lines, -132 removed lines patch added patch discarded remove patch
@@ -9,150 +9,150 @@
 block discarded – undo
9 9
  */
10 10
 abstract class Smarty_Template_Resource_Base
11 11
 {
12
-    /**
13
-     * Compiled Filepath
14
-     *
15
-     * @var string
16
-     */
17
-    public $filepath = null;
12
+	/**
13
+	 * Compiled Filepath
14
+	 *
15
+	 * @var string
16
+	 */
17
+	public $filepath = null;
18 18
 
19
-    /**
20
-     * Compiled Timestamp
21
-     *
22
-     * @var integer|bool
23
-     */
24
-    public $timestamp = false;
19
+	/**
20
+	 * Compiled Timestamp
21
+	 *
22
+	 * @var integer|bool
23
+	 */
24
+	public $timestamp = false;
25 25
 
26
-    /**
27
-     * Compiled Existence
28
-     *
29
-     * @var boolean
30
-     */
31
-    public $exists = false;
26
+	/**
27
+	 * Compiled Existence
28
+	 *
29
+	 * @var boolean
30
+	 */
31
+	public $exists = false;
32 32
 
33
-    /**
34
-     * Template Compile Id (Smarty_Internal_Template::$compile_id)
35
-     *
36
-     * @var string
37
-     */
38
-    public $compile_id = null;
33
+	/**
34
+	 * Template Compile Id (Smarty_Internal_Template::$compile_id)
35
+	 *
36
+	 * @var string
37
+	 */
38
+	public $compile_id = null;
39 39
 
40
-    /**
41
-     * Compiled Content Loaded
42
-     *
43
-     * @var boolean
44
-     */
45
-    public $processed = false;
40
+	/**
41
+	 * Compiled Content Loaded
42
+	 *
43
+	 * @var boolean
44
+	 */
45
+	public $processed = false;
46 46
 
47
-    /**
48
-     * unique function name for compiled template code
49
-     *
50
-     * @var string
51
-     */
52
-    public $unifunc = '';
47
+	/**
48
+	 * unique function name for compiled template code
49
+	 *
50
+	 * @var string
51
+	 */
52
+	public $unifunc = '';
53 53
 
54
-    /**
55
-     * flag if template does contain nocache code sections
56
-     *
57
-     * @var bool
58
-     */
59
-    public $has_nocache_code = false;
54
+	/**
55
+	 * flag if template does contain nocache code sections
56
+	 *
57
+	 * @var bool
58
+	 */
59
+	public $has_nocache_code = false;
60 60
 
61
-    /**
62
-     * resource file dependency
63
-     *
64
-     * @var array
65
-     */
66
-    public $file_dependency = array();
61
+	/**
62
+	 * resource file dependency
63
+	 *
64
+	 * @var array
65
+	 */
66
+	public $file_dependency = array();
67 67
 
68
-    /**
69
-     * Content buffer
70
-     *
71
-     * @var string
72
-     */
73
-    public $content = null;
68
+	/**
69
+	 * Content buffer
70
+	 *
71
+	 * @var string
72
+	 */
73
+	public $content = null;
74 74
 
75
-    /**
76
-     * required plugins
77
-     *
78
-     * @var array
79
-     */
80
-    public $required_plugins = array();
75
+	/**
76
+	 * required plugins
77
+	 *
78
+	 * @var array
79
+	 */
80
+	public $required_plugins = array();
81 81
 
82
-    /**
83
-     * Included subtemplates
84
-     *
85
-     * @var array
86
-     */
87
-    public $includes = array();
82
+	/**
83
+	 * Included subtemplates
84
+	 *
85
+	 * @var array
86
+	 */
87
+	public $includes = array();
88 88
 
89
-    /**
90
-     * Flag if this is a cache resource
91
-     *
92
-     * @var bool
93
-     */
94
-    public $isCache = false;
89
+	/**
90
+	 * Flag if this is a cache resource
91
+	 *
92
+	 * @var bool
93
+	 */
94
+	public $isCache = false;
95 95
 
96
-    /**
97
-     * Process resource
98
-     *
99
-     * @param Smarty_Internal_Template $_template template object
100
-     */
101
-    abstract public function process(Smarty_Internal_Template $_template);
96
+	/**
97
+	 * Process resource
98
+	 *
99
+	 * @param Smarty_Internal_Template $_template template object
100
+	 */
101
+	abstract public function process(Smarty_Internal_Template $_template);
102 102
 
103
-    /**
104
-     * get rendered template content by calling compiled or cached template code
105
-     *
106
-     * @param \Smarty_Internal_Template $_template
107
-     * @param string                    $unifunc function with template code
108
-     *
109
-     * @throws \Exception
110
-     */
111
-    public function getRenderedTemplateCode(Smarty_Internal_Template $_template, $unifunc = null)
112
-    {
113
-        $smarty = &$_template->smarty;
114
-        $_template->isRenderingCache = $this->isCache;
115
-        $level = ob_get_level();
116
-        try {
117
-            if (!isset($unifunc)) {
118
-                $unifunc = $this->unifunc;
119
-            }
120
-            if (empty($unifunc) || !function_exists($unifunc)) {
121
-                throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'");
122
-            }
123
-            if ($_template->startRenderCallbacks) {
124
-                foreach ($_template->startRenderCallbacks as $callback) {
125
-                    call_user_func($callback, $_template);
126
-                }
127
-            }
128
-            $unifunc($_template);
129
-            foreach ($_template->endRenderCallbacks as $callback) {
130
-                call_user_func($callback, $_template);
131
-            }
132
-            $_template->isRenderingCache = false;
133
-        }
134
-        catch (Exception $e) {
135
-            $_template->isRenderingCache = false;
136
-            while (ob_get_level() > $level) {
137
-                ob_end_clean();
138
-            }
139
-            if (isset($smarty->security_policy)) {
140
-                $smarty->security_policy->endTemplate();
141
-            }
142
-            throw $e;
143
-        }
144
-    }
103
+	/**
104
+	 * get rendered template content by calling compiled or cached template code
105
+	 *
106
+	 * @param \Smarty_Internal_Template $_template
107
+	 * @param string                    $unifunc function with template code
108
+	 *
109
+	 * @throws \Exception
110
+	 */
111
+	public function getRenderedTemplateCode(Smarty_Internal_Template $_template, $unifunc = null)
112
+	{
113
+		$smarty = &$_template->smarty;
114
+		$_template->isRenderingCache = $this->isCache;
115
+		$level = ob_get_level();
116
+		try {
117
+			if (!isset($unifunc)) {
118
+				$unifunc = $this->unifunc;
119
+			}
120
+			if (empty($unifunc) || !function_exists($unifunc)) {
121
+				throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'");
122
+			}
123
+			if ($_template->startRenderCallbacks) {
124
+				foreach ($_template->startRenderCallbacks as $callback) {
125
+					call_user_func($callback, $_template);
126
+				}
127
+			}
128
+			$unifunc($_template);
129
+			foreach ($_template->endRenderCallbacks as $callback) {
130
+				call_user_func($callback, $_template);
131
+			}
132
+			$_template->isRenderingCache = false;
133
+		}
134
+		catch (Exception $e) {
135
+			$_template->isRenderingCache = false;
136
+			while (ob_get_level() > $level) {
137
+				ob_end_clean();
138
+			}
139
+			if (isset($smarty->security_policy)) {
140
+				$smarty->security_policy->endTemplate();
141
+			}
142
+			throw $e;
143
+		}
144
+	}
145 145
 
146
-    /**
147
-     * Get compiled time stamp
148
-     *
149
-     * @return int
150
-     */
151
-    public function getTimeStamp()
152
-    {
153
-        if ($this->exists && !$this->timestamp) {
154
-            $this->timestamp = filemtime($this->filepath);
155
-        }
156
-        return $this->timestamp;
157
-    }
146
+	/**
147
+	 * Get compiled time stamp
148
+	 *
149
+	 * @return int
150
+	 */
151
+	public function getTimeStamp()
152
+	{
153
+		if ($this->exists && !$this->timestamp) {
154
+			$this->timestamp = filemtime($this->filepath);
155
+		}
156
+		return $this->timestamp;
157
+	}
158 158
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -213,8 +213,7 @@
 block discarded – undo
213 213
                 error_reporting($_smarty_old_error_level);
214 214
             }
215 215
             return $result;
216
-        }
217
-        catch (Exception $e) {
216
+        } catch (Exception $e) {
218 217
             while (ob_get_level() > $level) {
219 218
                 ob_end_clean();
220 219
             }
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_internal_method_append.php 2 patches
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -11,64 +11,64 @@
 block discarded – undo
11 11
  */
12 12
 class Smarty_Internal_Method_Append
13 13
 {
14
-    /**
15
-     * Valid for all objects
16
-     *
17
-     * @var int
18
-     */
19
-    public $objMap = 7;
14
+	/**
15
+	 * Valid for all objects
16
+	 *
17
+	 * @var int
18
+	 */
19
+	public $objMap = 7;
20 20
 
21
-    /**
22
-     * appends values to template variables
23
-     *
24
-     * @api  Smarty::append()
25
-     * @link http://www.smarty.net/docs/en/api.append.tpl
26
-     *
27
-     * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data
28
-     * @param  array|string                                           $tpl_var the template variable name(s)
29
-     * @param  mixed                                                  $value   the value to append
30
-     * @param  bool                                                   $merge   flag if array elements shall be merged
31
-     * @param  bool                                                   $nocache if true any output of this variable will
32
-     *                                                                         be not cached
33
-     *
34
-     * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty
35
-     */
36
-    public function append(Smarty_Internal_Data $data, $tpl_var, $value = null, $merge = false, $nocache = false)
37
-    {
38
-        if (is_array($tpl_var)) {
39
-            // $tpl_var is an array, ignore $value
40
-            foreach ($tpl_var as $_key => $_val) {
41
-                if ($_key != '') {
42
-                    $this->append($data, $_key, $_val, $merge, $nocache);
43
-                }
44
-            }
45
-        } else {
46
-            if ($tpl_var != '' && isset($value)) {
47
-                if (!isset($data->tpl_vars[ $tpl_var ])) {
48
-                    $tpl_var_inst = $data->ext->getTemplateVars->_getVariable($data, $tpl_var, null, true, false);
49
-                    if ($tpl_var_inst instanceof Smarty_Undefined_Variable) {
50
-                        $data->tpl_vars[ $tpl_var ] = new Smarty_Variable(null, $nocache);
51
-                    } else {
52
-                        $data->tpl_vars[ $tpl_var ] = clone $tpl_var_inst;
53
-                    }
54
-                }
55
-                if (!(is_array($data->tpl_vars[ $tpl_var ]->value) ||
56
-                      $data->tpl_vars[ $tpl_var ]->value instanceof ArrayAccess)
57
-                ) {
58
-                    settype($data->tpl_vars[ $tpl_var ]->value, 'array');
59
-                }
60
-                if ($merge && is_array($value)) {
61
-                    foreach ($value as $_mkey => $_mval) {
62
-                        $data->tpl_vars[ $tpl_var ]->value[ $_mkey ] = $_mval;
63
-                    }
64
-                } else {
65
-                    $data->tpl_vars[ $tpl_var ]->value[] = $value;
66
-                }
67
-            }
68
-            if ($data->_objType == 2 && $data->scope) {
69
-                $data->ext->_updateScope->_updateScope($data, $tpl_var);
70
-            }
71
-        }
72
-        return $data;
73
-    }
21
+	/**
22
+	 * appends values to template variables
23
+	 *
24
+	 * @api  Smarty::append()
25
+	 * @link http://www.smarty.net/docs/en/api.append.tpl
26
+	 *
27
+	 * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data
28
+	 * @param  array|string                                           $tpl_var the template variable name(s)
29
+	 * @param  mixed                                                  $value   the value to append
30
+	 * @param  bool                                                   $merge   flag if array elements shall be merged
31
+	 * @param  bool                                                   $nocache if true any output of this variable will
32
+	 *                                                                         be not cached
33
+	 *
34
+	 * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty
35
+	 */
36
+	public function append(Smarty_Internal_Data $data, $tpl_var, $value = null, $merge = false, $nocache = false)
37
+	{
38
+		if (is_array($tpl_var)) {
39
+			// $tpl_var is an array, ignore $value
40
+			foreach ($tpl_var as $_key => $_val) {
41
+				if ($_key != '') {
42
+					$this->append($data, $_key, $_val, $merge, $nocache);
43
+				}
44
+			}
45
+		} else {
46
+			if ($tpl_var != '' && isset($value)) {
47
+				if (!isset($data->tpl_vars[ $tpl_var ])) {
48
+					$tpl_var_inst = $data->ext->getTemplateVars->_getVariable($data, $tpl_var, null, true, false);
49
+					if ($tpl_var_inst instanceof Smarty_Undefined_Variable) {
50
+						$data->tpl_vars[ $tpl_var ] = new Smarty_Variable(null, $nocache);
51
+					} else {
52
+						$data->tpl_vars[ $tpl_var ] = clone $tpl_var_inst;
53
+					}
54
+				}
55
+				if (!(is_array($data->tpl_vars[ $tpl_var ]->value) ||
56
+					  $data->tpl_vars[ $tpl_var ]->value instanceof ArrayAccess)
57
+				) {
58
+					settype($data->tpl_vars[ $tpl_var ]->value, 'array');
59
+				}
60
+				if ($merge && is_array($value)) {
61
+					foreach ($value as $_mkey => $_mval) {
62
+						$data->tpl_vars[ $tpl_var ]->value[ $_mkey ] = $_mval;
63
+					}
64
+				} else {
65
+					$data->tpl_vars[ $tpl_var ]->value[] = $value;
66
+				}
67
+			}
68
+			if ($data->_objType == 2 && $data->scope) {
69
+				$data->ext->_updateScope->_updateScope($data, $tpl_var);
70
+			}
71
+		}
72
+		return $data;
73
+	}
74 74
 }
75 75
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -44,25 +44,25 @@
 block discarded – undo
44 44
             }
45 45
         } else {
46 46
             if ($tpl_var != '' && isset($value)) {
47
-                if (!isset($data->tpl_vars[ $tpl_var ])) {
47
+                if (!isset($data->tpl_vars[$tpl_var])) {
48 48
                     $tpl_var_inst = $data->ext->getTemplateVars->_getVariable($data, $tpl_var, null, true, false);
49 49
                     if ($tpl_var_inst instanceof Smarty_Undefined_Variable) {
50
-                        $data->tpl_vars[ $tpl_var ] = new Smarty_Variable(null, $nocache);
50
+                        $data->tpl_vars[$tpl_var] = new Smarty_Variable(null, $nocache);
51 51
                     } else {
52
-                        $data->tpl_vars[ $tpl_var ] = clone $tpl_var_inst;
52
+                        $data->tpl_vars[$tpl_var] = clone $tpl_var_inst;
53 53
                     }
54 54
                 }
55
-                if (!(is_array($data->tpl_vars[ $tpl_var ]->value) ||
56
-                      $data->tpl_vars[ $tpl_var ]->value instanceof ArrayAccess)
55
+                if (!(is_array($data->tpl_vars[$tpl_var]->value) ||
56
+                      $data->tpl_vars[$tpl_var]->value instanceof ArrayAccess)
57 57
                 ) {
58
-                    settype($data->tpl_vars[ $tpl_var ]->value, 'array');
58
+                    settype($data->tpl_vars[$tpl_var]->value, 'array');
59 59
                 }
60 60
                 if ($merge && is_array($value)) {
61 61
                     foreach ($value as $_mkey => $_mval) {
62
-                        $data->tpl_vars[ $tpl_var ]->value[ $_mkey ] = $_mval;
62
+                        $data->tpl_vars[$tpl_var]->value[$_mkey] = $_mval;
63 63
                     }
64 64
                 } else {
65
-                    $data->tpl_vars[ $tpl_var ]->value[] = $value;
65
+                    $data->tpl_vars[$tpl_var]->value[] = $value;
66 66
                 }
67 67
             }
68 68
             if ($data->_objType == 2 && $data->scope) {
Please login to merge, or discard this patch.