diff --git a/change_log.txt b/change_log.txt index 4f01bd2a..9199733f 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,6 +1,7 @@  ===== 3.1.30-dev ===== (xx.xx.xx) 10.02.2016 - bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177 + - bugfix wrong precedence on special if conditions like '$foo is ... by $bar' could cause wrong code https://github.com/smarty-php/smarty/issues/178 09.02.2016 - move some code from parser into compiler diff --git a/lexer/smarty_internal_templatelexer.plex b/lexer/smarty_internal_templatelexer.plex index 7a2d81f5..1457c2f9 100644 --- a/lexer/smarty_internal_templatelexer.plex +++ b/lexer/smarty_internal_templatelexer.plex @@ -306,7 +306,8 @@ class Smarty_Internal_Templatelexer literal = ~literal~ strip = ~strip~ lop = ~\s*(([!=][=]{1,2})|([<][=>]?)|([>][=]?)|[&|]{2})\s*~ - tlop = ~\s+(eq|ne|neq|gt|ge|gte|lt|le|lte|mod|and|or|xor|(is\s+(not\s+)?(odd|even|div)\s+by))\s+~ + slop = ~\s+(eq|ne|neq|gt|ge|gte|lt|le|lte|mod|and|or|xor)\s+~ + tlop = ~\s+(is\s+(not\s+)?(odd|even|div)\s+by)\s+~ scond = ~\s+is\s+(not\s+)?(odd|even)~ isin = ~\s+is\s+in\s+~ as = ~\s+as\s+~ @@ -479,6 +480,9 @@ class Smarty_Internal_Templatelexer lop { $this->token = Smarty_Internal_Templateparser::TP_LOGOP; } + slop { + $this->token = Smarty_Internal_Templateparser::TP_SLOGOP; + } tlop { $this->token = Smarty_Internal_Templateparser::TP_TLOGOP; } diff --git a/lexer/smarty_internal_templateparser.y b/lexer/smarty_internal_templateparser.y index 28e6d0c1..ab707168 100644 --- a/lexer/smarty_internal_templateparser.y +++ b/lexer/smarty_internal_templateparser.y @@ -690,10 +690,15 @@ expr(res) ::= expr(e) modifierlist(l). { } // if expression + // special conditions +expr(res) ::= expr(e1) tlop(c) value(e2). { + res = c['pre']. e1.c['op'].e2 .')'; +} // simple expression expr(res) ::= expr(e1) lop(c) expr(e2). { - res = (isset(c['pre']) ? c['pre'] : '') . e1.c['op'].e2 . (isset(c['pre']) ? ')' : ''); + res = e1.c.e2; } + expr(res) ::= expr(e1) scond(c). { res = c . e1 . ')'; } @@ -1222,34 +1227,40 @@ static_class_access(res) ::= DOLLARID(v) arrayindex(a) objectchain(oc). { // if conditions and operators lop(res) ::= LOGOP(o). { - res['op'] = ' '. trim(o) . ' '; + res = ' '. trim(o) . ' '; } -lop(res) ::= TLOGOP(o). { +lop(res) ::= SLOGOP(o). { static $lops = array( - 'eq' => array('op' => ' == ', 'pre' => null), - 'ne' => array('op' => ' != ', 'pre' => null), - 'neq' => array('op' => ' != ', 'pre' => null), - 'gt' => array('op' => ' > ', 'pre' => null), - 'ge' => array('op' => ' >= ', 'pre' => null), - 'gte' => array('op' => ' >= ', 'pre' => null), - 'lt' => array('op' => ' < ', 'pre' => null), - 'le' => array('op' => ' <= ', 'pre' => null), - 'lte' => array('op' => ' <= ', 'pre' => null), - 'mod' => array('op' => ' % ', 'pre' => null), - 'and' => array('op' => ' && ', 'pre' => null), - 'or' => array('op' => ' || ', 'pre' => null), - 'xor' => array('op' => ' xor ', 'pre' => null), - 'isdivby' => array('op' => ' % ', 'pre' => '!('), - 'isnotdivby' => array('op' => ' % ', 'pre' => '('), - 'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '), - 'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '), - 'isoddby' => array('op' => ' / ', 'pre' => '(1 & '), - 'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '), - ); + 'eq' => ' == ', + 'ne' => ' != ', + 'neq' => ' != ', + 'gt' => ' > ', + 'ge' => ' >= ', + 'gte' => ' >= ', + 'lt' => ' < ', + 'le' => ' <= ', + 'lte' => ' <= ', + 'mod' => ' % ', + 'and' => ' && ', + 'or' => ' || ', + 'xor' => ' xor ', + ); $op = strtolower(preg_replace('/\s*/', '', o)); res = $lops[$op]; } +tlop(res) ::= TLOGOP(o). { + static $tlops = array( + 'isdivby' => array('op' => ' % ', 'pre' => '!('), + 'isnotdivby' => array('op' => ' % ', 'pre' => '('), + 'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '), + 'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '), + 'isoddby' => array('op' => ' / ', 'pre' => '(1 & '), + 'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '), + ); + $op = strtolower(preg_replace('/\s*/', '', o)); + res = $tlops[$op]; + } scond(res) ::= SINGLECOND(o). { static $scond = array ( diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index 914d8669..17b4fcea 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -121,7 +121,7 @@ class Smarty extends Smarty_Internal_TemplateBase /** * smarty version */ - const SMARTY_VERSION = '3.1.30-dev/34'; + const SMARTY_VERSION = '3.1.30-dev/35'; /** * define variable scopes diff --git a/libs/sysplugins/smarty_internal_templatelexer.php b/libs/sysplugins/smarty_internal_templatelexer.php index d93c2743..4ba968fa 100644 --- a/libs/sysplugins/smarty_internal_templatelexer.php +++ b/libs/sysplugins/smarty_internal_templatelexer.php @@ -559,7 +559,7 @@ class Smarty_Internal_Templatelexer { if (!isset($this->yy_global_pattern3)) { $this->yy_global_pattern3 = "/\G(\\s*" . $this->rdel . ")|\G(" . $this->ldel . - "\\s*)|\G([\"])|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G([$]smarty\\.block\\.(child|parent))|\G([$][0-9]*[a-zA-Z_]\\w*)|\G([$])|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*(([!=][=]{1,2})|([<][=>]?)|([>][=]?)|[&|]{2})\\s*)|\G(\\s+(eq|ne|neq|gt|ge|gte|lt|le|lte|mod|and|or|xor|(is\\s+(not\\s+)?(odd|even|div)\\s+by))\\s+)|\G(\\s+is\\s+(not\\s+)?(odd|even))|\G(([!]\\s*)|(not\\s+))|\G([(](int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)[)]\\s*)|\G(\\s*[(]\\s*)|\G(\\s*[)])|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*[-][>]\\s*)|\G(\\s*[=][>]\\s*)|\G(\\s*[=]\\s*)|\G(([+]|[-]){2})|\G(\\s*([+]|[-])\\s*)|\G(\\s*([*]{1,2}|[%\/^&]|[<>]{2})\\s*)|\G([@])|\G([#])|\G(\\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\\s*[=]\\s*)|\G(([0-9]*[a-zA-Z_]\\w*)?(\\\\[0-9]*[a-zA-Z_]\\w*)+)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G([`])|\G([|])|\G([.])|\G(\\s*[,]\\s*)|\G(\\s*[;]\\s*)|\G([:]{2})|\G(\\s*[:]\\s*)|\G(\\s*[?]\\s*)|\G(0[xX][0-9a-fA-F]+)|\G(\\s+)|\G([\S\s])/isS"; + "\\s*)|\G([\"])|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G([$]smarty\\.block\\.(child|parent))|\G([$][0-9]*[a-zA-Z_]\\w*)|\G([$])|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*(([!=][=]{1,2})|([<][=>]?)|([>][=]?)|[&|]{2})\\s*)|\G(\\s+(eq|ne|neq|gt|ge|gte|lt|le|lte|mod|and|or|xor)\\s+)|\G(\\s+(is\\s+(not\\s+)?(odd|even|div)\\s+by)\\s+)|\G(\\s+is\\s+(not\\s+)?(odd|even))|\G(([!]\\s*)|(not\\s+))|\G([(](int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)[)]\\s*)|\G(\\s*[(]\\s*)|\G(\\s*[)])|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*[-][>]\\s*)|\G(\\s*[=][>]\\s*)|\G(\\s*[=]\\s*)|\G(([+]|[-]){2})|\G(\\s*([+]|[-])\\s*)|\G(\\s*([*]{1,2}|[%\/^&]|[<>]{2})\\s*)|\G([@])|\G([#])|\G(\\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\\s*[=]\\s*)|\G(([0-9]*[a-zA-Z_]\\w*)?(\\\\[0-9]*[a-zA-Z_]\\w*)+)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G([`])|\G([|])|\G([.])|\G(\\s*[,]\\s*)|\G(\\s*[;]\\s*)|\G([:]{2})|\G(\\s*[:]\\s*)|\G(\\s*[?]\\s*)|\G(0[xX][0-9a-fA-F]+)|\G(\\s+)|\G([\S\s])/isS"; } if ($this->counter >= strlen($this->data)) { return false; // end of input @@ -698,102 +698,108 @@ class Smarty_Internal_Templatelexer } function yy_r3_19() + { + + $this->token = Smarty_Internal_Templateparser::TP_SLOGOP; + } + + function yy_r3_21() { $this->token = Smarty_Internal_Templateparser::TP_TLOGOP; } - function yy_r3_24() + function yy_r3_25() { $this->token = Smarty_Internal_Templateparser::TP_SINGLECOND; } - function yy_r3_27() + function yy_r3_28() { $this->token = Smarty_Internal_Templateparser::TP_NOT; } - function yy_r3_30() + function yy_r3_31() { $this->token = Smarty_Internal_Templateparser::TP_TYPECAST; } - function yy_r3_34() + function yy_r3_35() { $this->token = Smarty_Internal_Templateparser::TP_OPENP; } - function yy_r3_35() + function yy_r3_36() { $this->token = Smarty_Internal_Templateparser::TP_CLOSEP; } - function yy_r3_36() + function yy_r3_37() { $this->token = Smarty_Internal_Templateparser::TP_OPENB; } - function yy_r3_37() + function yy_r3_38() { $this->token = Smarty_Internal_Templateparser::TP_CLOSEB; } - function yy_r3_38() + function yy_r3_39() { $this->token = Smarty_Internal_Templateparser::TP_PTR; } - function yy_r3_39() + function yy_r3_40() { $this->token = Smarty_Internal_Templateparser::TP_APTR; } - function yy_r3_40() + function yy_r3_41() { $this->token = Smarty_Internal_Templateparser::TP_EQUAL; } - function yy_r3_41() + function yy_r3_42() { $this->token = Smarty_Internal_Templateparser::TP_INCDEC; } - function yy_r3_43() + function yy_r3_44() { $this->token = Smarty_Internal_Templateparser::TP_UNIMATH; } - function yy_r3_45() + function yy_r3_46() { $this->token = Smarty_Internal_Templateparser::TP_MATH; } - function yy_r3_47() + function yy_r3_48() { $this->token = Smarty_Internal_Templateparser::TP_AT; } - function yy_r3_48() + function yy_r3_49() { $this->token = Smarty_Internal_Templateparser::TP_HATCH; } - function yy_r3_49() + function yy_r3_50() { // resolve conflicts with shorttag and right_delimiter starting with '=' @@ -808,86 +814,86 @@ class Smarty_Internal_Templatelexer } } - function yy_r3_50() + function yy_r3_51() { $this->token = Smarty_Internal_Templateparser::TP_NAMESPACE; } - function yy_r3_53() + function yy_r3_54() { $this->token = Smarty_Internal_Templateparser::TP_ID; } - function yy_r3_54() + function yy_r3_55() { $this->token = Smarty_Internal_Templateparser::TP_INTEGER; } - function yy_r3_55() + function yy_r3_56() { $this->token = Smarty_Internal_Templateparser::TP_BACKTICK; $this->yypopstate(); } - function yy_r3_56() + function yy_r3_57() { $this->token = Smarty_Internal_Templateparser::TP_VERT; } - function yy_r3_57() + function yy_r3_58() { $this->token = Smarty_Internal_Templateparser::TP_DOT; } - function yy_r3_58() + function yy_r3_59() { $this->token = Smarty_Internal_Templateparser::TP_COMMA; } - function yy_r3_59() + function yy_r3_60() { $this->token = Smarty_Internal_Templateparser::TP_SEMICOLON; } - function yy_r3_60() + function yy_r3_61() { $this->token = Smarty_Internal_Templateparser::TP_DOUBLECOLON; } - function yy_r3_61() + function yy_r3_62() { $this->token = Smarty_Internal_Templateparser::TP_COLON; } - function yy_r3_62() + function yy_r3_63() { $this->token = Smarty_Internal_Templateparser::TP_QMARK; } - function yy_r3_63() + function yy_r3_64() { $this->token = Smarty_Internal_Templateparser::TP_HEX; } - function yy_r3_64() + function yy_r3_65() { $this->token = Smarty_Internal_Templateparser::TP_SPACE; } - function yy_r3_65() + function yy_r3_66() { $this->token = Smarty_Internal_Templateparser::TP_TEXT; diff --git a/libs/sysplugins/smarty_internal_templateparser.php b/libs/sysplugins/smarty_internal_templateparser.php index 934dfb6e..4327dd7d 100644 --- a/libs/sysplugins/smarty_internal_templateparser.php +++ b/libs/sysplugins/smarty_internal_templateparser.php @@ -367,449 +367,465 @@ class Smarty_Internal_Templateparser const TP_LOGOP = 55; - const TP_TLOGOP = 56; + const TP_SLOGOP = 56; - const TP_SINGLECOND = 57; + const TP_TLOGOP = 57; - const TP_QUOTE = 58; + const TP_SINGLECOND = 58; - const TP_BACKTICK = 59; + const TP_QUOTE = 59; - const YY_NO_ACTION = 527; + const TP_BACKTICK = 60; - const YY_ACCEPT_ACTION = 526; + const YY_NO_ACTION = 532; - const YY_ERROR_ACTION = 525; + const YY_ACCEPT_ACTION = 531; - const YY_SZ_ACTTAB = 2021; + const YY_ERROR_ACTION = 530; - static public $yy_action = array(242, 10, 131, 178, 255, 76, 157, 5, 83, 293, 12, 149, 152, 116, 292, 93, 331, 217, - 284, 295, 221, 331, 226, 36, 21, 169, 35, 43, 308, 99, 26, 42, 39, 294, 235, 244, - 30, 200, 187, 80, 1, 251, 320, 206, 442, 123, 53, 242, 10, 130, 98, 255, 194, 399, - 5, 83, 442, 240, 298, 107, 116, 310, 174, 220, 217, 36, 295, 221, 399, 208, 135, - 21, 26, 161, 43, 399, 8, 174, 42, 39, 294, 235, 218, 331, 200, 187, 80, 1, 312, - 320, 11, 290, 313, 53, 242, 10, 133, 306, 255, 205, 187, 5, 83, 264, 266, 267, 211, - 116, 353, 220, 52, 217, 298, 295, 221, 206, 226, 220, 21, 290, 290, 43, 321, 36, - 249, 42, 39, 294, 235, 244, 26, 200, 206, 80, 1, 11, 320, 283, 52, 52, 53, 242, 10, - 132, 248, 255, 205, 455, 5, 83, 84, 301, 151, 455, 116, 323, 92, 36, 217, 2, 295, - 221, 331, 226, 26, 21, 290, 304, 43, 137, 36, 111, 42, 39, 294, 235, 244, 26, 200, - 187, 80, 1, 225, 320, 320, 52, 123, 53, 242, 10, 133, 98, 255, 193, 175, 5, 83, - 177, 280, 273, 234, 116, 310, 23, 278, 217, 13, 295, 221, 320, 203, 223, 21, 290, - 442, 43, 138, 187, 326, 42, 39, 294, 235, 244, 216, 200, 442, 80, 1, 4, 320, 329, - 52, 15, 53, 242, 10, 134, 91, 255, 205, 176, 5, 83, 293, 12, 16, 90, 116, 292, 300, - 99, 217, 241, 295, 221, 320, 226, 215, 28, 213, 201, 43, 105, 187, 286, 42, 39, - 294, 235, 244, 215, 200, 214, 80, 1, 105, 320, 11, 135, 285, 53, 242, 10, 133, 8, - 255, 205, 164, 5, 83, 442, 215, 19, 239, 116, 99, 105, 331, 217, 6, 295, 221, 442, - 192, 311, 21, 182, 289, 43, 308, 443, 32, 42, 39, 294, 235, 244, 296, 200, 17, 80, - 1, 443, 320, 262, 107, 26, 53, 242, 10, 133, 122, 255, 191, 172, 5, 83, 183, 188, - 148, 231, 116, 223, 168, 331, 217, 181, 295, 221, 331, 226, 206, 21, 331, 141, 43, - 308, 206, 38, 42, 39, 294, 235, 244, 331, 200, 188, 80, 1, 187, 320, 155, 206, 308, - 53, 242, 10, 133, 25, 255, 198, 188, 5, 83, 206, 145, 160, 308, 116, 228, 146, 206, - 217, 180, 295, 221, 331, 226, 286, 21, 331, 359, 43, 179, 289, 38, 42, 39, 294, - 235, 244, 250, 200, 271, 80, 1, 272, 320, 122, 94, 103, 53, 242, 10, 129, 3, 255, - 205, 144, 5, 83, 185, 289, 170, 99, 116, 270, 322, 331, 217, 184, 295, 221, 331, - 226, 99, 7, 171, 35, 43, 308, 89, 105, 42, 39, 294, 235, 244, 120, 200, 328, 80, 1, - 187, 320, 82, 223, 4, 53, 242, 10, 134, 142, 255, 205, 107, 5, 83, 309, 324, 302, - 20, 116, 316, 206, 291, 217, 290, 295, 221, 33, 226, 277, 28, 399, 243, 43, 257, - 219, 189, 42, 39, 294, 235, 244, 110, 200, 140, 80, 399, 147, 320, 253, 327, 258, - 53, 399, 14, 236, 220, 207, 154, 113, 65, 108, 319, 159, 238, 311, 98, 471, 471, - 330, 237, 279, 471, 210, 325, 245, 299, 310, 86, 308, 143, 268, 263, 259, 260, 269, - 177, 204, 287, 136, 242, 10, 150, 87, 255, 320, 139, 5, 83, 293, 12, 22, 195, 116, - 292, 247, 258, 217, 153, 295, 221, 220, 207, 36, 126, 50, 104, 109, 112, 88, 26, - 98, 246, 397, 330, 237, 85, 212, 210, 325, 245, 258, 310, 102, 299, 299, 220, 207, - 397, 113, 65, 108, 320, 299, 134, 397, 98, 222, 442, 330, 237, 299, 299, 210, 325, - 245, 258, 310, 299, 299, 442, 220, 207, 299, 126, 69, 108, 299, 288, 31, 299, 98, - 299, 299, 330, 237, 299, 299, 210, 325, 245, 80, 310, 299, 320, 299, 258, 299, 299, - 209, 299, 220, 207, 299, 126, 69, 108, 206, 299, 299, 455, 98, 299, 206, 330, 237, - 455, 365, 210, 325, 245, 299, 310, 355, 227, 258, 299, 299, 299, 199, 220, 207, 36, - 126, 64, 104, 299, 214, 36, 26, 98, 299, 442, 330, 237, 26, 299, 210, 325, 245, - 258, 310, 471, 471, 442, 220, 207, 471, 126, 69, 108, 293, 12, 299, 299, 98, 292, - 299, 330, 237, 299, 299, 210, 325, 245, 36, 310, 163, 299, 258, 299, 299, 26, 202, - 220, 207, 299, 126, 44, 108, 471, 299, 299, 299, 98, 299, 299, 330, 237, 299, 299, - 210, 325, 245, 299, 310, 299, 299, 258, 134, 299, 299, 252, 220, 207, 206, 126, 72, - 108, 299, 299, 299, 299, 98, 299, 396, 330, 237, 299, 299, 210, 325, 245, 258, 310, - 299, 299, 299, 220, 207, 396, 126, 74, 108, 254, 299, 80, 396, 98, 320, 299, 330, - 237, 299, 297, 210, 325, 245, 299, 310, 299, 242, 9, 299, 299, 255, 299, 258, 5, - 83, 299, 299, 220, 207, 116, 126, 68, 108, 217, 299, 295, 221, 98, 299, 299, 330, - 237, 299, 299, 210, 325, 245, 299, 310, 299, 258, 299, 299, 299, 299, 220, 207, - 299, 100, 70, 108, 299, 303, 29, 299, 98, 299, 299, 330, 237, 299, 297, 210, 325, - 245, 299, 310, 299, 242, 9, 299, 299, 255, 299, 299, 5, 83, 299, 299, 299, 299, - 116, 299, 299, 258, 217, 299, 295, 221, 220, 207, 299, 126, 66, 108, 299, 299, 299, - 299, 98, 293, 12, 330, 237, 299, 292, 210, 325, 245, 299, 310, 258, 299, 299, 305, - 29, 220, 207, 299, 126, 60, 108, 299, 293, 12, 299, 98, 299, 292, 330, 237, 299, - 299, 210, 325, 245, 299, 310, 232, 299, 258, 299, 206, 299, 299, 220, 207, 299, - 126, 49, 108, 299, 299, 299, 299, 98, 299, 299, 330, 237, 299, 230, 210, 325, 245, - 299, 310, 258, 167, 299, 299, 299, 220, 207, 299, 126, 58, 108, 299, 41, 40, 37, - 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 258, 299, 256, 275, 282, - 220, 97, 299, 81, 45, 106, 299, 299, 299, 299, 98, 299, 299, 330, 237, 299, 299, - 210, 325, 245, 299, 310, 299, 299, 258, 299, 206, 299, 299, 220, 207, 299, 126, 63, - 108, 299, 186, 299, 299, 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, - 258, 299, 299, 299, 299, 220, 197, 299, 114, 59, 108, 299, 41, 40, 37, 98, 299, - 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 258, 299, 256, 275, 282, 220, - 207, 299, 126, 55, 108, 299, 299, 299, 299, 98, 299, 299, 330, 237, 299, 299, 210, - 325, 245, 299, 310, 299, 299, 258, 299, 206, 299, 299, 220, 207, 299, 126, 57, 108, - 299, 41, 40, 37, 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 258, - 299, 256, 275, 282, 220, 95, 299, 81, 48, 106, 233, 41, 40, 37, 98, 299, 299, 330, - 237, 299, 299, 210, 325, 245, 299, 310, 258, 299, 256, 275, 282, 220, 207, 299, - 126, 78, 108, 299, 299, 299, 299, 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, - 299, 310, 299, 299, 258, 299, 206, 18, 299, 220, 207, 299, 96, 61, 108, 299, 299, - 299, 299, 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 258, 299, 299, - 299, 299, 220, 207, 299, 126, 47, 108, 299, 41, 40, 37, 98, 299, 299, 330, 237, - 299, 299, 210, 325, 245, 299, 310, 258, 299, 256, 275, 282, 220, 207, 299, 126, 75, - 108, 299, 299, 299, 299, 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, - 299, 299, 258, 299, 206, 299, 299, 220, 207, 299, 126, 64, 108, 299, 299, 299, 299, - 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 258, 299, 299, 299, 299, - 220, 207, 299, 126, 56, 108, 317, 41, 40, 37, 98, 299, 299, 330, 237, 299, 299, - 210, 325, 245, 299, 310, 258, 299, 256, 275, 282, 220, 207, 299, 115, 46, 108, 299, - 299, 299, 299, 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 299, 299, - 258, 299, 206, 299, 299, 220, 207, 299, 126, 79, 108, 299, 190, 299, 299, 98, 299, - 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 258, 299, 299, 299, 299, 220, - 207, 299, 126, 62, 108, 299, 41, 40, 37, 98, 299, 299, 330, 237, 299, 299, 210, - 325, 245, 299, 310, 258, 299, 256, 275, 282, 220, 207, 299, 126, 71, 108, 299, 299, - 299, 299, 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 299, 299, 258, - 299, 206, 299, 299, 220, 207, 299, 101, 67, 108, 299, 318, 299, 299, 98, 299, 299, - 330, 237, 299, 299, 210, 325, 245, 299, 310, 258, 299, 299, 299, 299, 220, 207, - 299, 126, 77, 108, 299, 41, 40, 37, 98, 299, 299, 330, 237, 299, 299, 210, 325, - 245, 299, 310, 258, 299, 256, 275, 282, 220, 196, 299, 126, 54, 108, 299, 299, 299, - 299, 98, 299, 299, 330, 237, 299, 299, 210, 325, 245, 299, 310, 299, 299, 258, 299, - 206, 299, 299, 220, 207, 299, 126, 73, 108, 299, 274, 299, 299, 98, 299, 299, 330, - 237, 299, 299, 210, 325, 245, 299, 310, 258, 299, 299, 299, 299, 220, 224, 299, - 118, 299, 108, 299, 41, 40, 37, 98, 299, 299, 299, 261, 299, 299, 210, 325, 245, - 299, 310, 258, 299, 256, 275, 282, 220, 224, 299, 128, 299, 108, 299, 299, 299, - 299, 98, 299, 299, 229, 315, 206, 299, 210, 325, 245, 299, 310, 299, 471, 471, 307, - 27, 299, 471, 455, 526, 51, 265, 266, 267, 211, 299, 299, 220, 299, 36, 299, 409, - 409, 299, 299, 299, 26, 299, 299, 299, 299, 41, 40, 37, 206, 299, 455, 299, 455, - 299, 471, 299, 455, 299, 299, 299, 299, 299, 256, 275, 282, 229, 299, 299, 117, - 299, 442, 299, 409, 409, 409, 471, 471, 299, 299, 299, 471, 455, 442, 299, 299, 41, - 40, 37, 299, 409, 409, 409, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 256, - 275, 282, 299, 299, 299, 299, 455, 299, 455, 258, 471, 299, 455, 281, 220, 224, - 299, 127, 299, 108, 299, 299, 299, 299, 98, 299, 299, 299, 299, 299, 299, 210, 325, - 245, 258, 310, 206, 156, 299, 220, 224, 175, 121, 299, 108, 299, 299, 331, 299, 98, - 23, 278, 299, 299, 299, 299, 210, 325, 245, 34, 310, 36, 299, 299, 187, 299, 299, - 299, 26, 299, 299, 258, 299, 41, 40, 37, 220, 224, 299, 125, 299, 108, 299, 299, - 299, 299, 98, 299, 299, 229, 256, 275, 282, 210, 325, 245, 299, 310, 299, 471, 471, - 258, 31, 299, 471, 455, 220, 224, 299, 124, 299, 108, 299, 299, 299, 299, 98, 299, - 299, 299, 299, 299, 299, 210, 325, 245, 258, 310, 206, 299, 299, 220, 224, 455, - 119, 455, 108, 471, 299, 455, 299, 98, 299, 299, 229, 299, 299, 24, 210, 325, 245, - 299, 310, 299, 471, 471, 299, 471, 471, 471, 455, 299, 471, 455, 206, 41, 40, 37, - 299, 299, 299, 471, 471, 299, 299, 299, 471, 455, 299, 299, 276, 299, 256, 275, - 282, 299, 299, 299, 455, 36, 455, 455, 471, 455, 455, 471, 26, 455, 299, 206, 403, - 41, 40, 37, 206, 455, 299, 455, 299, 471, 403, 455, 403, 299, 299, 403, 299, 299, - 256, 275, 282, 299, 403, 299, 403, 299, 403, 299, 299, 299, 299, 299, 299, 299, - 299, 223, 41, 40, 37, 299, 299, 41, 40, 37, 299, 299, 299, 299, 299, 299, 299, 299, - 173, 256, 275, 282, 175, 314, 256, 275, 282, 299, 331, 166, 299, 23, 278, 175, 162, - 299, 299, 299, 175, 331, 299, 299, 23, 278, 331, 187, 299, 23, 278, 158, 299, 299, - 299, 175, 299, 299, 187, 299, 299, 331, 165, 187, 23, 278, 175, 299, 299, 299, 299, - 299, 331, 299, 299, 23, 278, 299, 187, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 187,); + const YY_SZ_ACTTAB = 2073; - static public $yy_lookahead = array(12, 13, 14, 80, 16, 17, 71, 19, 20, 12, 13, 71, 91, 25, 17, 75, 81, 29, 30, 31, - 32, 81, 34, 26, 36, 28, 15, 39, 93, 18, 33, 43, 44, 45, 46, 47, 28, 49, 98, 51, - 52, 70, 54, 1, 36, 74, 58, 12, 13, 14, 79, 16, 17, 11, 19, 20, 48, 86, 64, 48, - 25, 90, 75, 69, 29, 26, 31, 32, 26, 34, 46, 36, 33, 71, 39, 33, 52, 75, 43, 44, - 45, 46, 47, 81, 49, 98, 51, 52, 53, 54, 35, 22, 37, 58, 12, 13, 14, 103, 16, 17, - 98, 19, 20, 63, 64, 65, 66, 25, 11, 69, 41, 29, 64, 31, 32, 1, 34, 69, 36, 22, - 22, 39, 53, 26, 95, 43, 44, 45, 46, 47, 33, 49, 1, 51, 52, 35, 54, 37, 41, 41, - 58, 12, 13, 14, 14, 16, 17, 46, 19, 20, 102, 103, 71, 52, 25, 11, 75, 26, 29, - 36, 31, 32, 81, 34, 33, 36, 22, 17, 39, 14, 26, 48, 43, 44, 45, 46, 47, 33, 49, - 98, 51, 52, 70, 54, 54, 41, 74, 58, 12, 13, 14, 79, 16, 17, 75, 19, 20, 8, 9, - 10, 50, 25, 90, 84, 85, 29, 13, 31, 32, 54, 34, 46, 36, 22, 36, 39, 14, 98, 53, - 43, 44, 45, 46, 47, 46, 49, 48, 51, 52, 36, 54, 53, 41, 21, 58, 12, 13, 14, 36, - 16, 17, 75, 19, 20, 12, 13, 15, 35, 25, 17, 59, 18, 29, 22, 31, 32, 54, 34, 74, - 36, 76, 77, 39, 79, 98, 99, 43, 44, 45, 46, 47, 74, 49, 76, 51, 52, 79, 54, 35, - 46, 37, 58, 12, 13, 14, 52, 16, 17, 71, 19, 20, 36, 74, 15, 76, 25, 18, 79, 81, - 29, 35, 31, 32, 48, 34, 92, 36, 94, 95, 39, 93, 36, 15, 43, 44, 45, 46, 47, 53, - 49, 26, 51, 52, 48, 54, 89, 48, 33, 58, 12, 13, 14, 96, 16, 17, 71, 19, 20, 14, - 98, 71, 17, 25, 46, 71, 81, 29, 75, 31, 32, 81, 34, 1, 36, 81, 71, 39, 93, 1, 2, - 43, 44, 45, 46, 47, 81, 49, 98, 51, 52, 98, 54, 91, 1, 93, 58, 12, 13, 14, 28, - 16, 17, 98, 19, 20, 1, 91, 71, 93, 25, 18, 71, 1, 29, 80, 31, 32, 81, 34, 99, - 36, 81, 11, 39, 94, 95, 2, 43, 44, 45, 46, 47, 89, 49, 65, 51, 52, 68, 54, 96, - 80, 79, 58, 12, 13, 14, 36, 16, 17, 71, 19, 20, 94, 95, 71, 18, 25, 53, 96, 81, - 29, 75, 31, 32, 81, 34, 18, 36, 74, 15, 39, 93, 91, 79, 43, 44, 45, 46, 47, 17, - 49, 17, 51, 52, 98, 54, 17, 46, 36, 58, 12, 13, 14, 51, 16, 17, 48, 19, 20, 17, - 34, 17, 42, 25, 17, 1, 34, 29, 22, 31, 32, 23, 34, 37, 36, 11, 17, 39, 5, 17, - 17, 43, 44, 45, 46, 47, 17, 49, 51, 51, 26, 27, 54, 11, 53, 64, 58, 33, 13, 14, - 69, 70, 17, 72, 73, 74, 53, 91, 81, 92, 79, 12, 13, 82, 83, 9, 17, 86, 87, 88, - 104, 90, 79, 93, 91, 3, 4, 5, 6, 7, 8, 100, 101, 79, 12, 13, 91, 79, 16, 54, 91, - 19, 20, 12, 13, 13, 14, 25, 17, 17, 64, 29, 91, 31, 32, 69, 70, 26, 72, 73, 74, - 78, 76, 79, 33, 79, 34, 11, 82, 83, 79, 15, 86, 87, 88, 64, 90, 67, 104, 104, - 69, 70, 26, 72, 73, 74, 54, 104, 14, 33, 79, 17, 36, 82, 83, 104, 104, 86, 87, - 88, 64, 90, 104, 104, 48, 69, 70, 104, 72, 73, 74, 104, 101, 15, 104, 79, 104, - 104, 82, 83, 104, 104, 86, 87, 88, 51, 90, 104, 54, 104, 64, 104, 104, 97, 104, - 69, 70, 104, 72, 73, 74, 1, 104, 104, 46, 79, 104, 1, 82, 83, 52, 11, 86, 87, - 88, 104, 90, 11, 18, 64, 104, 104, 104, 97, 69, 70, 26, 72, 73, 74, 104, 76, 26, - 33, 79, 104, 36, 82, 83, 33, 104, 86, 87, 88, 64, 90, 12, 13, 48, 69, 70, 17, - 72, 73, 74, 12, 13, 104, 104, 79, 17, 104, 82, 83, 104, 104, 86, 87, 88, 26, 90, - 28, 104, 64, 104, 104, 33, 97, 69, 70, 104, 72, 73, 74, 50, 104, 104, 104, 79, - 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 104, 104, 64, 14, 104, 104, 17, - 69, 70, 1, 72, 73, 74, 104, 104, 104, 104, 79, 104, 11, 82, 83, 104, 104, 86, - 87, 88, 64, 90, 104, 104, 104, 69, 70, 26, 72, 73, 74, 49, 104, 51, 33, 79, 54, - 104, 82, 83, 104, 5, 86, 87, 88, 104, 90, 104, 12, 13, 14, 104, 16, 104, 64, 19, - 20, 104, 104, 69, 70, 25, 72, 73, 74, 29, 104, 31, 32, 79, 104, 104, 82, 83, - 104, 104, 86, 87, 88, 104, 90, 104, 64, 104, 104, 104, 104, 69, 70, 104, 72, 73, - 74, 104, 58, 59, 104, 79, 104, 104, 82, 83, 104, 5, 86, 87, 88, 104, 90, 104, - 12, 13, 14, 104, 16, 104, 104, 19, 20, 104, 104, 104, 104, 25, 104, 104, 64, 29, - 104, 31, 32, 69, 70, 104, 72, 73, 74, 104, 104, 104, 104, 79, 12, 13, 82, 83, - 104, 17, 86, 87, 88, 104, 90, 64, 104, 104, 58, 59, 69, 70, 104, 72, 73, 74, - 104, 12, 13, 104, 79, 104, 17, 82, 83, 104, 104, 86, 87, 88, 104, 90, 50, 104, - 64, 104, 1, 104, 104, 69, 70, 104, 72, 73, 74, 104, 104, 104, 104, 79, 104, 104, - 82, 83, 104, 50, 86, 87, 88, 104, 90, 64, 27, 104, 104, 104, 69, 70, 104, 72, - 73, 74, 104, 38, 39, 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, - 64, 104, 55, 56, 57, 69, 70, 104, 72, 73, 74, 104, 104, 104, 104, 79, 104, 104, - 82, 83, 104, 104, 86, 87, 88, 104, 90, 104, 104, 64, 104, 1, 104, 104, 69, 70, - 104, 72, 73, 74, 104, 11, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, - 104, 90, 64, 104, 104, 104, 104, 69, 70, 104, 72, 73, 74, 104, 38, 39, 40, 79, - 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 55, 56, 57, 69, 70, - 104, 72, 73, 74, 104, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, - 104, 90, 104, 104, 64, 104, 1, 104, 104, 69, 70, 104, 72, 73, 74, 104, 38, 39, - 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 55, 56, 57, - 69, 70, 104, 72, 73, 74, 37, 38, 39, 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, - 88, 104, 90, 64, 104, 55, 56, 57, 69, 70, 104, 72, 73, 74, 104, 104, 104, 104, - 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 104, 104, 64, 104, 1, 2, - 104, 69, 70, 104, 72, 73, 74, 104, 104, 104, 104, 79, 104, 104, 82, 83, 104, - 104, 86, 87, 88, 104, 90, 64, 104, 104, 104, 104, 69, 70, 104, 72, 73, 74, 104, - 38, 39, 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 55, - 56, 57, 69, 70, 104, 72, 73, 74, 104, 104, 104, 104, 79, 104, 104, 82, 83, 104, - 104, 86, 87, 88, 104, 90, 104, 104, 64, 104, 1, 104, 104, 69, 70, 104, 72, 73, - 74, 104, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, - 104, 104, 104, 104, 69, 70, 104, 72, 73, 74, 37, 38, 39, 40, 79, 104, 104, 82, - 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 55, 56, 57, 69, 70, 104, 72, 73, 74, - 104, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 104, - 104, 64, 104, 1, 104, 104, 69, 70, 104, 72, 73, 74, 104, 11, 104, 104, 79, 104, - 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 104, 104, 104, 69, 70, 104, - 72, 73, 74, 104, 38, 39, 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, - 90, 64, 104, 55, 56, 57, 69, 70, 104, 72, 73, 74, 104, 104, 104, 104, 79, 104, - 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 104, 104, 64, 104, 1, 104, 104, 69, - 70, 104, 72, 73, 74, 104, 11, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, - 88, 104, 90, 64, 104, 104, 104, 104, 69, 70, 104, 72, 73, 74, 104, 38, 39, 40, - 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 55, 56, 57, 69, - 70, 104, 72, 73, 74, 104, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, - 88, 104, 90, 104, 104, 64, 104, 1, 104, 104, 69, 70, 104, 72, 73, 74, 104, 11, - 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 104, - 104, 104, 69, 70, 104, 72, 104, 74, 104, 38, 39, 40, 79, 104, 104, 104, 83, 104, - 104, 86, 87, 88, 104, 90, 64, 104, 55, 56, 57, 69, 70, 104, 72, 104, 74, 104, - 104, 104, 104, 79, 104, 104, 2, 83, 1, 104, 86, 87, 88, 104, 90, 104, 12, 13, - 11, 15, 104, 17, 18, 61, 62, 63, 64, 65, 66, 104, 104, 69, 104, 26, 104, 1, 2, - 104, 104, 104, 33, 104, 104, 104, 104, 38, 39, 40, 1, 104, 46, 104, 48, 104, 50, - 104, 52, 104, 104, 104, 104, 104, 55, 56, 57, 2, 104, 104, 21, 104, 36, 104, 38, - 39, 40, 12, 13, 104, 104, 104, 17, 18, 48, 104, 104, 38, 39, 40, 104, 55, 56, - 57, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 55, 56, 57, 104, 104, 104, - 104, 46, 104, 48, 64, 50, 104, 52, 53, 69, 70, 104, 72, 104, 74, 104, 104, 104, - 104, 79, 104, 104, 104, 104, 104, 104, 86, 87, 88, 64, 90, 1, 71, 104, 69, 70, - 75, 72, 104, 74, 104, 104, 81, 104, 79, 84, 85, 104, 104, 104, 104, 86, 87, 88, - 24, 90, 26, 104, 104, 98, 104, 104, 104, 33, 104, 104, 64, 104, 38, 39, 40, 69, - 70, 104, 72, 104, 74, 104, 104, 104, 104, 79, 104, 104, 2, 55, 56, 57, 86, 87, - 88, 104, 90, 104, 12, 13, 64, 15, 104, 17, 18, 69, 70, 104, 72, 104, 74, 104, - 104, 104, 104, 79, 104, 104, 104, 104, 104, 104, 86, 87, 88, 64, 90, 1, 104, - 104, 69, 70, 46, 72, 48, 74, 50, 104, 52, 104, 79, 104, 104, 2, 104, 104, 2, 86, - 87, 88, 104, 90, 104, 12, 13, 104, 12, 13, 17, 18, 104, 17, 18, 1, 38, 39, 40, - 104, 104, 104, 12, 13, 104, 104, 104, 17, 18, 104, 104, 53, 104, 55, 56, 57, - 104, 104, 104, 46, 26, 48, 46, 50, 48, 52, 50, 33, 52, 104, 1, 11, 38, 39, 40, - 1, 46, 104, 48, 104, 50, 21, 52, 23, 104, 104, 26, 104, 104, 55, 56, 57, 104, - 33, 104, 35, 104, 37, 104, 104, 104, 104, 104, 104, 104, 104, 46, 38, 39, 40, - 104, 104, 38, 39, 40, 104, 104, 104, 104, 104, 104, 104, 104, 71, 55, 56, 57, - 75, 59, 55, 56, 57, 104, 81, 71, 104, 84, 85, 75, 71, 104, 104, 104, 75, 81, - 104, 104, 84, 85, 81, 98, 104, 84, 85, 71, 104, 104, 104, 75, 104, 104, 98, 104, - 104, 81, 71, 98, 84, 85, 75, 104, 104, 104, 104, 104, 81, 104, 104, 84, 85, 104, - 98, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 98,); + static public $yy_action = array(299, 9, 132, 209, 255, 80, 137, 4, 84, 300, 18, 209, 10, 108, 301, 14, 315, 223, + 245, 271, 213, 218, 224, 22, 24, 173, 446, 39, 231, 90, 26, 44, 43, 241, 229, 297, + 235, 210, 446, 82, 1, 247, 268, 324, 299, 9, 131, 79, 255, 196, 2, 4, 84, 300, 18, + 85, 333, 108, 301, 28, 78, 223, 136, 271, 213, 243, 207, 22, 24, 165, 32, 39, 311, + 102, 26, 44, 43, 241, 229, 222, 22, 210, 2, 82, 1, 331, 268, 26, 299, 9, 135, 79, + 255, 195, 83, 4, 84, 244, 36, 82, 192, 108, 268, 110, 139, 223, 446, 271, 213, 215, + 205, 230, 24, 233, 211, 39, 103, 16, 446, 44, 43, 241, 229, 297, 239, 210, 91, 82, + 1, 33, 268, 303, 299, 9, 134, 79, 255, 208, 169, 4, 84, 300, 18, 209, 268, 108, + 301, 257, 269, 223, 254, 271, 213, 399, 224, 22, 24, 136, 5, 39, 220, 334, 26, 44, + 43, 241, 229, 297, 399, 210, 112, 82, 1, 247, 268, 399, 299, 9, 135, 79, 255, 208, + 148, 4, 84, 283, 270, 266, 232, 108, 268, 218, 78, 223, 82, 271, 213, 268, 224, 30, + 24, 300, 18, 39, 174, 447, 301, 44, 43, 241, 229, 297, 247, 210, 269, 82, 1, 447, + 268, 157, 299, 9, 135, 79, 255, 193, 459, 4, 84, 269, 459, 78, 459, 108, 34, 234, + 459, 223, 150, 271, 213, 228, 224, 15, 24, 3, 102, 39, 326, 29, 312, 44, 43, 241, + 229, 297, 230, 210, 226, 82, 1, 103, 268, 295, 299, 9, 136, 79, 255, 208, 172, 4, + 84, 475, 475, 268, 110, 108, 475, 159, 228, 223, 315, 271, 213, 184, 224, 218, 19, + 269, 102, 39, 182, 291, 308, 44, 43, 241, 229, 297, 230, 210, 246, 82, 1, 103, 268, + 192, 299, 9, 135, 79, 255, 208, 209, 4, 84, 292, 137, 176, 267, 108, 260, 170, 10, + 223, 209, 271, 213, 33, 194, 316, 24, 269, 166, 39, 151, 446, 334, 44, 43, 241, + 229, 297, 269, 210, 334, 82, 1, 446, 268, 22, 299, 9, 133, 79, 255, 208, 26, 4, 84, + 33, 192, 313, 321, 108, 263, 164, 143, 223, 163, 271, 213, 103, 224, 265, 6, 269, + 183, 39, 269, 185, 102, 44, 43, 241, 229, 297, 21, 210, 334, 82, 1, 334, 268, 26, + 299, 9, 135, 79, 255, 200, 188, 4, 84, 188, 285, 209, 214, 108, 181, 267, 110, 223, + 307, 271, 213, 298, 224, 104, 24, 140, 171, 39, 334, 186, 187, 44, 43, 241, 229, + 297, 282, 210, 12, 82, 1, 287, 268, 127, 299, 9, 136, 79, 255, 208, 105, 4, 84, + 188, 188, 475, 475, 108, 325, 285, 475, 223, 144, 271, 213, 268, 224, 180, 19, 247, + 236, 39, 269, 22, 209, 44, 43, 241, 229, 297, 26, 210, 293, 82, 362, 240, 268, 102, + 78, 119, 37, 79, 356, 475, 100, 273, 281, 261, 242, 253, 182, 31, 258, 247, 299, 9, + 290, 22, 255, 276, 280, 4, 84, 209, 26, 218, 201, 108, 117, 70, 115, 223, 78, 271, + 213, 100, 209, 209, 323, 322, 145, 191, 327, 212, 319, 310, 368, 290, 22, 127, 269, + 209, 37, 237, 280, 26, 329, 203, 289, 218, 201, 22, 126, 47, 106, 332, 114, 228, + 26, 100, 155, 446, 323, 322, 41, 40, 38, 212, 319, 310, 280, 290, 153, 446, 309, + 218, 201, 93, 117, 70, 115, 279, 275, 278, 262, 100, 286, 302, 323, 322, 177, 267, + 23, 212, 319, 310, 264, 290, 300, 18, 250, 280, 32, 301, 179, 124, 218, 201, 288, + 126, 62, 106, 95, 226, 296, 251, 100, 161, 400, 323, 322, 178, 225, 247, 212, 319, + 310, 269, 290, 280, 42, 20, 328, 400, 218, 201, 238, 126, 69, 115, 400, 300, 18, + 446, 100, 188, 301, 323, 322, 284, 118, 256, 212, 319, 310, 446, 290, 7, 152, 280, + 149, 178, 292, 206, 218, 201, 252, 126, 69, 115, 42, 20, 328, 156, 100, 87, 303, + 323, 322, 217, 138, 116, 212, 319, 310, 188, 290, 209, 334, 154, 280, 89, 303, 202, + 88, 218, 201, 402, 126, 69, 115, 303, 221, 86, 303, 100, 119, 303, 323, 322, 303, + 100, 402, 212, 319, 310, 303, 290, 303, 402, 280, 303, 303, 290, 204, 218, 201, + 303, 126, 64, 115, 209, 41, 40, 38, 100, 142, 303, 323, 322, 186, 317, 303, 212, + 319, 310, 269, 290, 280, 279, 275, 278, 262, 218, 201, 303, 126, 67, 115, 303, 303, + 303, 303, 100, 188, 303, 323, 322, 41, 40, 38, 212, 319, 310, 280, 290, 303, 303, + 303, 218, 201, 303, 126, 72, 115, 279, 275, 278, 262, 100, 303, 303, 323, 322, 303, + 330, 303, 212, 319, 310, 303, 290, 299, 8, 314, 303, 255, 303, 209, 4, 84, 303, + 303, 303, 303, 108, 303, 303, 402, 223, 280, 271, 213, 303, 303, 218, 201, 303, + 113, 48, 115, 209, 303, 402, 175, 100, 303, 303, 323, 322, 402, 358, 303, 212, 319, + 310, 303, 290, 303, 259, 11, 330, 303, 303, 303, 303, 22, 162, 299, 8, 314, 92, + 255, 26, 280, 4, 84, 269, 303, 218, 201, 108, 126, 50, 115, 223, 147, 271, 213, + 100, 94, 303, 323, 322, 303, 188, 269, 212, 319, 310, 303, 290, 280, 303, 303, 303, + 303, 218, 201, 303, 126, 76, 115, 303, 188, 249, 11, 100, 146, 303, 323, 322, 178, + 303, 303, 212, 319, 310, 269, 290, 303, 42, 20, 328, 280, 303, 303, 303, 303, 218, + 201, 303, 126, 63, 115, 303, 188, 303, 303, 100, 303, 303, 323, 322, 303, 303, 303, + 212, 319, 310, 303, 290, 303, 280, 303, 303, 303, 303, 218, 201, 303, 126, 53, 115, + 303, 303, 303, 303, 100, 303, 303, 323, 322, 303, 303, 303, 212, 319, 310, 303, + 290, 280, 303, 303, 303, 303, 218, 201, 303, 126, 75, 115, 303, 303, 303, 303, 100, + 168, 303, 323, 322, 178, 303, 303, 212, 319, 310, 269, 290, 280, 42, 20, 328, 303, + 218, 98, 303, 81, 51, 107, 303, 303, 303, 303, 100, 188, 303, 323, 322, 303, 303, + 303, 212, 319, 310, 303, 290, 280, 303, 303, 303, 303, 218, 201, 303, 96, 58, 115, + 303, 303, 303, 303, 100, 141, 303, 323, 322, 178, 303, 303, 212, 319, 310, 269, + 290, 280, 42, 20, 328, 303, 218, 97, 303, 81, 46, 107, 303, 303, 303, 303, 100, + 188, 303, 323, 322, 303, 303, 303, 212, 319, 310, 303, 290, 280, 303, 303, 303, + 303, 218, 201, 303, 101, 73, 115, 303, 303, 303, 303, 100, 167, 303, 323, 322, 178, + 303, 303, 212, 319, 310, 269, 290, 280, 42, 20, 328, 303, 218, 201, 303, 126, 65, + 115, 303, 303, 303, 303, 100, 188, 303, 323, 322, 303, 303, 303, 212, 319, 310, + 303, 290, 280, 303, 303, 303, 303, 218, 199, 303, 109, 61, 115, 303, 303, 303, 303, + 100, 160, 303, 323, 322, 178, 303, 303, 212, 319, 310, 269, 290, 280, 42, 20, 328, + 303, 218, 201, 303, 126, 57, 115, 303, 303, 303, 303, 100, 188, 303, 323, 322, 303, + 303, 303, 212, 319, 310, 303, 290, 280, 303, 303, 303, 303, 218, 201, 303, 126, 59, + 115, 303, 303, 303, 303, 100, 303, 303, 323, 322, 303, 303, 303, 212, 319, 310, + 303, 290, 280, 303, 303, 303, 303, 218, 201, 303, 126, 56, 115, 303, 303, 303, 303, + 100, 303, 303, 323, 322, 303, 303, 303, 212, 319, 310, 303, 290, 280, 303, 303, + 303, 303, 218, 201, 303, 126, 45, 115, 303, 303, 303, 303, 100, 303, 303, 323, 322, + 303, 303, 303, 212, 319, 310, 303, 290, 280, 303, 303, 303, 303, 218, 201, 303, + 126, 55, 115, 303, 303, 303, 303, 100, 303, 303, 323, 322, 303, 303, 303, 212, 319, + 310, 303, 290, 280, 303, 303, 303, 303, 218, 201, 303, 126, 54, 115, 303, 303, 303, + 303, 100, 303, 303, 323, 322, 303, 303, 303, 212, 319, 310, 303, 290, 280, 303, + 303, 303, 303, 218, 201, 303, 126, 68, 115, 303, 303, 303, 303, 100, 303, 303, 323, + 322, 303, 303, 303, 212, 319, 310, 303, 290, 280, 303, 303, 303, 303, 218, 198, + 303, 126, 60, 115, 303, 303, 303, 303, 100, 303, 303, 323, 322, 303, 303, 303, 212, + 319, 310, 303, 290, 280, 303, 303, 303, 303, 218, 201, 303, 126, 66, 115, 303, 303, + 303, 303, 100, 303, 303, 323, 322, 303, 303, 303, 212, 319, 310, 303, 290, 280, + 303, 303, 303, 303, 218, 201, 303, 126, 62, 115, 303, 303, 303, 303, 100, 303, 303, + 323, 322, 303, 303, 303, 212, 319, 310, 303, 290, 280, 303, 303, 303, 303, 218, + 201, 303, 126, 49, 115, 303, 303, 303, 303, 100, 303, 303, 323, 322, 303, 303, 303, + 212, 319, 310, 303, 290, 280, 303, 303, 303, 303, 218, 201, 303, 126, 77, 115, 303, + 303, 303, 303, 100, 303, 303, 323, 322, 303, 303, 303, 212, 319, 310, 303, 290, + 280, 303, 303, 303, 303, 218, 201, 303, 126, 74, 115, 303, 303, 303, 303, 100, 303, + 303, 323, 322, 303, 412, 412, 212, 319, 310, 303, 290, 280, 303, 303, 303, 303, + 218, 201, 303, 99, 71, 115, 303, 303, 303, 303, 100, 303, 303, 323, 322, 303, 303, + 303, 212, 319, 310, 209, 290, 446, 303, 412, 412, 412, 303, 209, 303, 306, 303, + 303, 303, 446, 303, 303, 303, 303, 303, 303, 412, 412, 412, 412, 22, 303, 303, 303, + 303, 303, 27, 26, 22, 303, 303, 303, 41, 40, 38, 26, 303, 303, 303, 303, 41, 40, + 38, 303, 303, 303, 303, 303, 303, 279, 275, 278, 262, 303, 303, 303, 303, 279, 275, + 278, 262, 280, 216, 303, 303, 303, 218, 227, 303, 128, 303, 115, 475, 475, 303, + 303, 100, 475, 459, 216, 274, 303, 303, 303, 212, 319, 310, 303, 290, 475, 475, + 303, 280, 303, 475, 459, 303, 218, 227, 209, 130, 303, 115, 303, 303, 303, 459, + 100, 459, 303, 475, 318, 459, 272, 303, 212, 319, 310, 303, 290, 303, 303, 303, + 459, 22, 459, 303, 475, 303, 459, 303, 26, 303, 303, 303, 280, 41, 40, 38, 303, + 218, 227, 303, 125, 303, 115, 303, 209, 303, 303, 100, 303, 303, 279, 275, 278, + 262, 303, 212, 319, 310, 303, 290, 303, 280, 216, 303, 303, 303, 218, 227, 303, + 120, 158, 115, 475, 475, 303, 30, 100, 475, 459, 216, 303, 41, 40, 38, 212, 319, + 310, 303, 290, 475, 475, 303, 13, 303, 475, 459, 303, 303, 279, 275, 278, 262, 303, + 303, 303, 303, 459, 303, 459, 303, 475, 303, 459, 303, 303, 303, 280, 303, 303, + 303, 303, 218, 227, 459, 122, 459, 115, 475, 303, 459, 303, 100, 303, 303, 303, + 303, 303, 303, 303, 212, 319, 310, 303, 290, 280, 303, 303, 303, 303, 218, 227, + 209, 123, 303, 115, 280, 303, 303, 303, 100, 218, 227, 303, 121, 303, 115, 303, + 212, 319, 310, 100, 290, 303, 303, 303, 303, 303, 303, 212, 319, 310, 209, 290, + 303, 303, 303, 303, 280, 41, 40, 38, 209, 218, 227, 303, 129, 303, 115, 303, 303, + 303, 111, 100, 294, 209, 279, 275, 278, 262, 303, 212, 319, 310, 209, 290, 303, + 303, 303, 41, 40, 38, 303, 303, 277, 303, 303, 303, 219, 41, 40, 38, 303, 303, 303, + 303, 279, 275, 278, 262, 209, 320, 41, 40, 38, 209, 279, 275, 278, 262, 190, 41, + 40, 38, 303, 189, 303, 303, 303, 279, 275, 278, 262, 303, 303, 25, 303, 303, 279, + 275, 278, 262, 303, 303, 303, 475, 475, 41, 40, 38, 475, 459, 41, 40, 38, 209, 35, + 303, 303, 17, 197, 303, 303, 305, 279, 275, 278, 262, 209, 279, 275, 278, 262, 303, + 303, 303, 303, 303, 303, 459, 304, 459, 303, 475, 303, 459, 303, 303, 303, 303, + 303, 303, 41, 40, 38, 303, 303, 303, 303, 303, 268, 303, 303, 303, 406, 41, 40, 38, + 303, 279, 275, 278, 262, 303, 406, 303, 406, 303, 303, 406, 303, 303, 279, 275, + 278, 262, 406, 303, 406, 303, 406, 303, 475, 475, 303, 303, 303, 475, 459, 228, + 303, 303, 531, 52, 248, 270, 266, 232, 303, 303, 218, 303, 303, 303, 303, 303, 303, + 303, 303, 303, 303, 303, 303, 303, 303, 303, 459, 303, 459, 303, 475, 303, 459,); - const YY_SHIFT_USE_DFLT = - 13; + static public $yy_lookahead = array(12, 13, 14, 1, 16, 17, 46, 19, 20, 12, 13, 1, 52, 25, 17, 21, 65, 29, 30, 31, + 32, 70, 34, 26, 36, 28, 36, 39, 18, 35, 33, 43, 44, 45, 46, 47, 46, 49, 48, 51, + 52, 22, 54, 53, 12, 13, 14, 59, 16, 17, 36, 19, 20, 12, 13, 104, 105, 25, 17, + 13, 41, 29, 14, 31, 32, 17, 34, 26, 36, 28, 15, 39, 53, 18, 33, 43, 44, 45, 46, + 47, 26, 49, 36, 51, 52, 53, 54, 33, 12, 13, 14, 59, 16, 17, 17, 19, 20, 49, 28, + 51, 100, 25, 54, 48, 14, 29, 36, 31, 32, 17, 34, 75, 36, 77, 78, 39, 80, 15, 48, + 43, 44, 45, 46, 47, 22, 49, 36, 51, 52, 35, 54, 37, 12, 13, 14, 59, 16, 17, 72, + 19, 20, 12, 13, 1, 54, 25, 17, 17, 82, 29, 14, 31, 32, 11, 34, 26, 36, 14, 36, + 39, 17, 95, 33, 43, 44, 45, 46, 47, 26, 49, 48, 51, 52, 22, 54, 33, 12, 13, 14, + 59, 16, 17, 93, 19, 20, 64, 65, 66, 67, 25, 54, 70, 41, 29, 51, 31, 32, 54, 34, + 15, 36, 12, 13, 39, 72, 36, 17, 43, 44, 45, 46, 47, 22, 49, 82, 51, 52, 48, 54, + 72, 12, 13, 14, 59, 16, 17, 46, 19, 20, 82, 46, 41, 52, 25, 13, 14, 52, 29, 17, + 31, 32, 46, 34, 15, 36, 35, 18, 39, 53, 15, 60, 43, 44, 45, 46, 47, 75, 49, 77, + 51, 52, 80, 54, 53, 12, 13, 14, 59, 16, 17, 93, 19, 20, 12, 13, 54, 48, 25, 17, + 72, 46, 29, 65, 31, 32, 81, 34, 70, 36, 82, 18, 39, 8, 9, 10, 43, 44, 45, 46, + 47, 75, 49, 77, 51, 52, 80, 54, 100, 12, 13, 14, 59, 16, 17, 1, 19, 20, 94, 46, + 96, 97, 25, 105, 72, 52, 29, 1, 31, 32, 35, 34, 37, 36, 82, 72, 39, 93, 36, 95, + 43, 44, 45, 46, 47, 82, 49, 95, 51, 52, 48, 54, 26, 12, 13, 14, 59, 16, 17, 33, + 19, 20, 35, 100, 37, 9, 25, 53, 72, 75, 29, 72, 31, 32, 80, 34, 17, 36, 82, 76, + 39, 82, 76, 18, 43, 44, 45, 46, 47, 26, 49, 95, 51, 52, 95, 54, 33, 12, 13, 14, + 59, 16, 17, 100, 19, 20, 100, 101, 1, 50, 25, 96, 97, 48, 29, 66, 31, 32, 69, + 34, 80, 36, 14, 93, 39, 95, 76, 76, 43, 44, 45, 46, 47, 91, 49, 28, 51, 52, 98, + 54, 98, 12, 13, 14, 59, 16, 17, 68, 19, 20, 100, 100, 12, 13, 25, 11, 101, 17, + 29, 72, 31, 32, 54, 34, 14, 36, 22, 17, 39, 82, 26, 1, 43, 44, 45, 46, 47, 33, + 49, 97, 51, 11, 71, 54, 18, 41, 75, 2, 59, 11, 50, 80, 3, 4, 5, 6, 7, 8, 23, 88, + 22, 12, 13, 92, 26, 16, 5, 65, 19, 20, 1, 33, 70, 71, 25, 73, 74, 75, 29, 41, + 31, 32, 80, 1, 1, 83, 84, 72, 17, 91, 88, 89, 90, 11, 92, 26, 98, 82, 1, 2, 18, + 65, 33, 53, 102, 103, 70, 71, 26, 73, 74, 75, 53, 77, 46, 33, 80, 51, 36, 83, + 84, 38, 39, 40, 88, 89, 90, 65, 92, 51, 48, 17, 70, 71, 93, 73, 74, 75, 55, 56, + 57, 58, 80, 60, 11, 83, 84, 96, 97, 42, 88, 89, 90, 17, 92, 12, 13, 17, 65, 15, + 17, 81, 17, 70, 71, 103, 73, 74, 75, 81, 77, 17, 34, 80, 72, 11, 83, 84, 76, 15, + 22, 88, 89, 90, 82, 92, 65, 85, 86, 87, 26, 70, 71, 50, 73, 74, 75, 33, 12, 13, + 36, 80, 100, 17, 83, 84, 37, 17, 34, 88, 89, 90, 48, 92, 36, 93, 65, 93, 76, 94, + 99, 70, 71, 82, 73, 74, 75, 85, 86, 87, 93, 80, 80, 106, 83, 84, 50, 80, 79, 88, + 89, 90, 100, 92, 1, 95, 93, 65, 80, 106, 99, 80, 70, 71, 11, 73, 74, 75, 106, + 71, 80, 106, 80, 75, 106, 83, 84, 106, 80, 26, 88, 89, 90, 106, 92, 106, 33, 65, + 106, 106, 92, 99, 70, 71, 106, 73, 74, 75, 1, 38, 39, 40, 80, 72, 106, 83, 84, + 76, 11, 106, 88, 89, 90, 82, 92, 65, 55, 56, 57, 58, 70, 71, 106, 73, 74, 75, + 106, 106, 106, 106, 80, 100, 106, 83, 84, 38, 39, 40, 88, 89, 90, 65, 92, 106, + 106, 106, 70, 71, 106, 73, 74, 75, 55, 56, 57, 58, 80, 106, 106, 83, 84, 106, 5, + 106, 88, 89, 90, 106, 92, 12, 13, 14, 106, 16, 106, 1, 19, 20, 106, 106, 106, + 106, 25, 106, 106, 11, 29, 65, 31, 32, 106, 106, 70, 71, 106, 73, 74, 75, 1, + 106, 26, 27, 80, 106, 106, 83, 84, 33, 11, 106, 88, 89, 90, 106, 92, 106, 59, + 60, 5, 106, 106, 106, 106, 26, 72, 12, 13, 14, 76, 16, 33, 65, 19, 20, 82, 106, + 70, 71, 25, 73, 74, 75, 29, 72, 31, 32, 80, 76, 106, 83, 84, 106, 100, 82, 88, + 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, 100, 59, + 60, 80, 72, 106, 83, 84, 76, 106, 106, 88, 89, 90, 82, 92, 106, 85, 86, 87, 65, + 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, 100, 106, 106, 80, 106, 106, + 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, 106, 65, 106, 106, 106, 106, 70, 71, + 106, 73, 74, 75, 106, 106, 106, 106, 80, 106, 106, 83, 84, 106, 106, 106, 88, + 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, + 106, 80, 72, 106, 83, 84, 76, 106, 106, 88, 89, 90, 82, 92, 65, 85, 86, 87, 106, + 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 100, 106, 83, 84, 106, 106, + 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, + 106, 106, 106, 80, 72, 106, 83, 84, 76, 106, 106, 88, 89, 90, 82, 92, 65, 85, + 86, 87, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 100, 106, 83, 84, + 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, + 75, 106, 106, 106, 106, 80, 72, 106, 83, 84, 76, 106, 106, 88, 89, 90, 82, 92, + 65, 85, 86, 87, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 100, 106, + 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, + 73, 74, 75, 106, 106, 106, 106, 80, 72, 106, 83, 84, 76, 106, 106, 88, 89, 90, + 82, 92, 65, 85, 86, 87, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, + 100, 106, 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, + 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 106, 106, 83, 84, 106, 106, + 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, + 106, 106, 106, 80, 106, 106, 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, 65, + 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 106, 106, + 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, + 73, 74, 75, 106, 106, 106, 106, 80, 106, 106, 83, 84, 106, 106, 106, 88, 89, 90, + 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, + 80, 106, 106, 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, + 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 106, 106, 83, 84, 106, + 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, + 106, 106, 106, 106, 80, 106, 106, 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, + 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 106, + 106, 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, + 106, 73, 74, 75, 106, 106, 106, 106, 80, 106, 106, 83, 84, 106, 106, 106, 88, + 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, + 106, 80, 106, 106, 83, 84, 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, + 106, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 106, 106, 83, 84, + 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, + 75, 106, 106, 106, 106, 80, 106, 106, 83, 84, 106, 1, 2, 88, 89, 90, 106, 92, + 65, 106, 106, 106, 106, 70, 71, 106, 73, 74, 75, 106, 106, 106, 106, 80, 106, + 106, 83, 84, 106, 106, 106, 88, 89, 90, 1, 92, 36, 106, 38, 39, 40, 106, 1, 106, + 11, 106, 106, 106, 48, 106, 106, 106, 106, 106, 106, 55, 56, 57, 58, 26, 106, + 106, 106, 106, 106, 24, 33, 26, 106, 106, 106, 38, 39, 40, 33, 106, 106, 106, + 106, 38, 39, 40, 106, 106, 106, 106, 106, 106, 55, 56, 57, 58, 106, 106, 106, + 106, 55, 56, 57, 58, 65, 2, 106, 106, 106, 70, 71, 106, 73, 106, 75, 12, 13, + 106, 106, 80, 17, 18, 2, 84, 106, 106, 106, 88, 89, 90, 106, 92, 12, 13, 106, + 65, 106, 17, 18, 106, 70, 71, 1, 73, 106, 75, 106, 106, 106, 46, 80, 48, 106, + 50, 84, 52, 53, 106, 88, 89, 90, 106, 92, 106, 106, 106, 46, 26, 48, 106, 50, + 106, 52, 106, 33, 106, 106, 106, 65, 38, 39, 40, 106, 70, 71, 106, 73, 106, 75, + 106, 1, 106, 106, 80, 106, 106, 55, 56, 57, 58, 106, 88, 89, 90, 106, 92, 106, + 65, 2, 106, 106, 106, 70, 71, 106, 73, 27, 75, 12, 13, 106, 15, 80, 17, 18, 2, + 106, 38, 39, 40, 88, 89, 90, 106, 92, 12, 13, 106, 15, 106, 17, 18, 106, 106, + 55, 56, 57, 58, 106, 106, 106, 106, 46, 106, 48, 106, 50, 106, 52, 106, 106, + 106, 65, 106, 106, 106, 106, 70, 71, 46, 73, 48, 75, 50, 106, 52, 106, 80, 106, + 106, 106, 106, 106, 106, 106, 88, 89, 90, 106, 92, 65, 106, 106, 106, 106, 70, + 71, 1, 73, 106, 75, 65, 106, 106, 106, 80, 70, 71, 106, 73, 106, 75, 106, 88, + 89, 90, 80, 92, 106, 106, 106, 106, 106, 106, 88, 89, 90, 1, 92, 106, 106, 106, + 106, 65, 38, 39, 40, 1, 70, 71, 106, 73, 106, 75, 106, 106, 106, 21, 80, 53, 1, + 55, 56, 57, 58, 106, 88, 89, 90, 1, 92, 106, 106, 106, 38, 39, 40, 106, 106, 11, + 106, 106, 106, 37, 38, 39, 40, 106, 106, 106, 106, 55, 56, 57, 58, 1, 37, 38, + 39, 40, 1, 55, 56, 57, 58, 11, 38, 39, 40, 106, 11, 106, 106, 106, 55, 56, 57, + 58, 106, 106, 2, 106, 106, 55, 56, 57, 58, 106, 106, 106, 12, 13, 38, 39, 40, + 17, 18, 38, 39, 40, 1, 2, 106, 106, 13, 14, 106, 106, 17, 55, 56, 57, 58, 1, 55, + 56, 57, 58, 106, 106, 106, 106, 106, 106, 46, 34, 48, 106, 50, 106, 52, 106, + 106, 106, 106, 106, 106, 38, 39, 40, 106, 106, 106, 106, 106, 54, 106, 106, 106, + 11, 38, 39, 40, 106, 55, 56, 57, 58, 106, 21, 106, 23, 106, 106, 26, 106, 106, + 55, 56, 57, 58, 33, 106, 35, 106, 37, 106, 12, 13, 106, 106, 106, 17, 18, 46, + 106, 106, 62, 63, 64, 65, 66, 67, 106, 106, 70, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 46, 106, 48, 106, 50, 106, 52,); - const YY_SHIFT_MAX = 236; + const YY_SHIFT_USE_DFLT = - 41; - static public $yy_shift_ofst = array(542, 364, 82, 82, 82, 411, 364, 411, 35, - 12, - 12, 82, 82, 82, 82, 82, 82, - 176, 82, 82, 129, 82, 82, 82, 317, 82, 82, 82, 82, 82, 82, 270, 82, 82, 82, 82, - 176, 223, 223, 458, 458, 458, 458, 458, 1734, 1603, 1862, 1862, 1862, 1862, - 1862, 542, 749, 803, 1897, 1448, 1531, 1199, 1643, 1826, 1365, 950, 1282, 1033, - 1116, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 660, - 1902, 1089, 1089, 594, 666, 131, 202, 865, - 3, 703, 551, 551, 233, 202, 202, - 131, 131, 357, 97, 484, 144, 920, 505, 42, 768, 189, 232, 11, 232, 278, 324, - 428, 39, 372, 324, 39, 351, 384, 391, 294, 155, 114, 114, 114, 114, 417, 417, - 114, 114, 114, 114, - 13, 1786, 1659, 1600, 1844, 1841, 1858, 552, 897, 519, - 618, 24, 101, 39, 101, 24, 39, 24, 39, 130, 39, 39, 24, 39, 24, 24, 193, 24, - 39, 39, 39, 24, 39, 39, 39, 130, 39, 39, 39, 130, 39, 130, 39, 231, 39, 39, - 114, 114, 114, 526, 404, 417, 404, 114, 417, 390, 114, 417, - 13, - 13, - 13, - - 13, - 13, 1630, 1888, 576, 178, 694, 191, 69, 8, 100, 275, 212, 243, 297, - 265, 255, 150, 98, 165, 55, 123, 493, 479, 468, 456, 434, 482, 483, 473, 461, - 502, 489, 457, 452, 466, 422, 421, 449, 442, 444, 462, 432, 467, 440, 464, 446, - 390,); + const YY_SHIFT_MAX = 238; - const YY_REDUCE_USE_DFLT = - 80; + static public $yy_shift_ofst = array(488, 384, 164, 384, 340, 164, 340, 164, - 12, - 12, 32, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 76, 76, 120, 164, 208, 164, 164, 164, 164, 296, + 164, 164, 164, 164, 164, 164, 252, 252, 428, 428, 428, 428, 428, 428, 1570, + 1562, 1666, 1666, 1666, 1666, 1666, 488, 1909, 1914, 1954, 1874, 1883, 1714, + 726, 522, 1821, 1861, 1851, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, + 1967, 1967, 1967, 1967, 690, 690, 48, 842, 521, 826, 143, 325, 90, 786, - 3, + 41, 129, 129, 90, 90, 325, 272, 508, 536, 803, 443, 477, 142, 582, 682, 221, + 189, 189, 284, 55, 228, 362, 313, 449, 407, 449, 469, 54, 364, 54, 406, 10, + 465, 2, 2, 2, 2, 2, 2, 2, 465, 2, 2, - 41, 1628, 1748, 1731, 1933, 1645, 2020, + 1946, 625, 184, 261, 54, 54, 102, 54, 54, 54, 54, - 40, - 40, 46, - 40, - 40, + 180, - 40, 180, - 40, 54, 136, 54, 54, 54, 54, 54, 54, 136, 54, 54, 54, 54, 54, + - 40, - 40, 136, 54, 136, 465, 465, 2, 484, 617, 465, 355, 2, 484, 2, 2, 2, + - 41, - 41, - 41, - 41, - 41, 1529, 1993, 603, - 10, 439, 190, 19, 70, 151, 94, + 210, 294, 234, 326, 195, 301, 358, 169, - 6, 122, 629, 575, 489, 593, 553, 572, + 546, 517, 505, 498, 510, 507, 579, 608, 597, 613, 577, 583, 584, 500, 474, 617, + 92, 14, 77, 130,); - const YY_REDUCE_MAX = 190; + const YY_REDUCE_USE_DFLT = - 50; - static public $yy_reduce_ofst = array(1558, 451, 556, 640, 586, 506, 531, 615, 995, 939, 1078, 723, 1244, 968, 856, - 912, 1354, 1134, 1105, 1161, 1051, 1217, 1022, 1188, 1300, 1466, 1383, 1271, - 1327, 1437, 1410, 757, 698, 669, 885, 829, 785, 1493, 1520, 1761, 1706, 1669, - 1644, 1736, 1880, 1665, 1896, 1911, 1665, 1891, 1922, 40, - 29, 48, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 81, 119, 119, 119, 112, 2, - 60, 184, - 6, 264, 358, - - 65, 217, 213, 218, 197, 284, 269, 166, 363, - 13, 363, 295, 342, - 13, - 13, - 349, 281, 310, 295, 310, 323, 310, 316, 272, 236, 273, - 13, - 13, - 13, 320, - 374, - 13, - 13, 366, - 13, 338, 310, - 13, - 13, - 13, - 13, - 13, 465, 465, - 465, 465, 465, 465, 474, 450, 465, 465, 437, 469, 447, 453, 437, 447, 437, - 447, 463, 447, 447, 437, 447, 437, 437, 481, 437, 447, 447, 447, 437, 447, - 447, 447, 478, 447, 447, 447, 511, 447, 504, 447, 503, 447, 447, 241, 241, - 241, 530, 300, 29, 300, 241, 29, 361, 241, 29, - 79, - 77, 314, 340, 436,); + const YY_REDUCE_MAX = 192; + + static public $yy_reduce_ofst = array(1980, 441, 621, 501, 475, 560, 532, 590, 996, 940, 1080, 1304, 912, 751, 855, + 795, 1444, 1136, 1108, 1164, 1052, 968, 1024, 1220, 1360, 1416, 1472, 1388, + 1248, 1276, 1332, 1192, 651, 679, 884, 823, 705, 1595, 1564, 1638, 1793, 1761, + 1750, 1667, 1722, 1033, 977, 921, 541, 832, 1089, 977, 121, 581, 581, 581, + 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, + 581, 581, 581, 581, 581, 581, 581, 410, - 49, 800, 660, 627, 781, 36, 217, 66, + 295, 251, 298, 225, 181, 262, 223, 207, 305, 349, 147, 147, 349, 329, 349, + 339, 329, 243, 348, 314, 314, 132, 349, 437, 293, 341, 349, 386, 314, 454, + 349, 302, 314, 349, 349, 349, 349, 350, 349, 349, 490, 349, 349, 349, 177, + 177, 177, 177, 177, 177, 596, 589, 177, 177, 580, 580, 598, 580, 580, 580, + 580, 564, 564, 563, 564, 564, 576, 564, 592, 564, 580, 591, 580, 580, 580, + 580, 580, 580, 607, 580, 580, 580, 580, 580, 564, 564, 610, 580, 619, 381, + 381, 0, 354, 480, 381, 378, 0, 354, 0, 0, 0, 204, 89, 561, 527, 519,); static public $yyExpectedTokens = array(array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 25, 29, 31, 32,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), - array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 53, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 30, 31, 32, 34, 36, 39, 43, 44, - 45, 46, 47, 49, 51, 52, 54, 58,), + 45, 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 30, 31, 32, 34, 36, 39, 43, 44, - 45, 46, 47, 49, 51, 52, 54, 58,), + 45, 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 53, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 52, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 54, 58,), + 46, 47, 49, 51, 52, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 54, 58,), + 46, 47, 49, 51, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 54, 58,), + 46, 47, 49, 51, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 54, 58,), + 46, 47, 49, 51, 54, 59,), array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, - 46, 47, 49, 51, 54, 58,), - array(1, 24, 26, 33, 38, 39, 40, 55, 56, 57,), - array(1, 11, 26, 33, 38, 39, 40, 55, 56, 57,), - array(1, 26, 33, 38, 39, 40, 55, 56, 57,), - array(1, 26, 33, 38, 39, 40, 55, 56, 57,), - array(1, 26, 33, 38, 39, 40, 55, 56, 57,), - array(1, 26, 33, 38, 39, 40, 55, 56, 57,), - array(1, 26, 33, 38, 39, 40, 55, 56, 57,), + 46, 47, 49, 51, 54, 59,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 54, 59,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 54, 59,), + array(1, 24, 26, 33, 38, 39, 40, 55, 56, 57, 58,), + array(1, 11, 26, 33, 38, 39, 40, 55, 56, 57, 58,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57, 58,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57, 58,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57, 58,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57, 58,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57, 58,), array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 25, 29, 31, 32,), - array(14, 17, 49, 51, 54,), - array(5, 12, 13, 14, 16, 19, 20, 25, 29, 31, 32, 58, 59,), - array(1, 38, 39, 40, 55, 56, 57, 59,), - array(1, 11, 38, 39, 40, 55, 56, 57,), - array(1, 11, 38, 39, 40, 55, 56, 57,), array(1, 2, 38, 39, 40, 55, 56, 57,), - array(1, 21, 38, 39, 40, 55, 56, 57,), - array(1, 38, 39, 40, 53, 55, 56, 57,), - array(1, 11, 38, 39, 40, 55, 56, 57,), - array(1, 27, 38, 39, 40, 55, 56, 57,), - array(1, 37, 38, 39, 40, 55, 56, 57,), - array(1, 11, 38, 39, 40, 55, 56, 57,), - array(1, 37, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), - array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), - array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), - array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), - array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), - array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), - array(1, 11, 18, 26, 33, 36, 48,), array(1, 38, 39, 40, 55, 56, 57,), - array(38, 39, 40, 55, 56, 57,), array(38, 39, 40, 55, 56, 57,), - array(14, 17, 51, 54,), array(1, 11, 26, 33,), array(1, 26, 33,), - array(14, 36, 54,), - array(5, 12, 13, 14, 16, 19, 20, 25, 29, 31, 32, 58, 59,), + array(1, 11, 38, 39, 40, 55, 56, 57, 58,), + array(1, 11, 38, 39, 40, 55, 56, 57, 58,), + array(1, 2, 38, 39, 40, 55, 56, 57, 58,), + array(1, 37, 38, 39, 40, 55, 56, 57, 58,), + array(1, 11, 38, 39, 40, 55, 56, 57, 58,), + array(1, 27, 38, 39, 40, 55, 56, 57, 58,), + array(1, 11, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58, 60,), + array(1, 38, 39, 40, 53, 55, 56, 57, 58,), + array(1, 37, 38, 39, 40, 55, 56, 57, 58,), + array(1, 21, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), + array(1, 38, 39, 40, 55, 56, 57, 58,), array(38, 39, 40, 55, 56, 57, 58,), + array(38, 39, 40, 55, 56, 57, 58,), array(14, 17, 49, 51, 54,), + array(5, 12, 13, 14, 16, 19, 20, 25, 29, 31, 32, 59, 60,), + array(1, 11, 18, 26, 33, 36, 48,), array(1, 11, 26, 33,), + array(14, 17, 51, 54,), array(1, 26, 33,), array(14, 36, 54,), + array(5, 12, 13, 14, 16, 19, 20, 25, 29, 31, 32, 59, 60,), array(12, 13, 17, 26, 28, 33,), array(12, 13, 17, 26, 28, 33,), - array(12, 13, 17, 26, 33,), array(12, 13, 17, 26, 33,), array(18, 46, 52,), - array(14, 36, 54,), array(14, 36, 54,), array(1, 26, 33,), - array(1, 26, 33,), array(1, 2,), array(11, 22, 26, 33, 41,), - array(1, 11, 26, 27, 33,), array(11, 22, 26, 33, 41,), - array(12, 13, 17, 50,), array(13, 14, 17, 54,), array(1, 11, 26, 33,), - array(1, 11, 26, 33,), array(8, 9, 10,), array(12, 13, 17,), - array(15, 18, 48,), array(12, 13, 17,), array(15, 18, 48,), array(14, 17,), - array(18, 48,), array(26, 33,), array(1, 18,), array(14, 17,), - array(26, 33,), array(1, 28,), array(1, 53,), array(1, 11,), array(26, 33,), - array(14, 54,), array(1,), array(1,), array(1,), array(1,), array(18,), - array(18,), array(1,), array(1,), array(1,), array(1,), array(), + array(12, 13, 17, 26, 33,), array(12, 13, 17, 26, 33,), array(14, 36, 54,), + array(14, 36, 54,), array(1, 26, 33,), array(18, 46, 52,), + array(1, 26, 33,), array(1, 2,), array(1, 11, 26, 27, 33,), + array(11, 22, 26, 33, 41,), array(11, 22, 26, 33, 41,), + array(1, 11, 26, 33,), array(12, 13, 17, 50,), array(1, 11, 26, 33,), + array(13, 14, 17, 54,), array(12, 13, 17,), array(12, 13, 17,), + array(8, 9, 10,), array(15, 18, 48,), array(15, 18, 48,), array(26, 33,), + array(1, 53,), array(14, 17,), array(14, 54,), array(14, 17,), + array(1, 11,), array(26, 33,), array(18, 48,), array(26, 33,), + array(1, 28,), array(1, 18,), array(18,), array(1,), array(1,), array(1,), + array(1,), array(1,), array(1,), array(1,), array(18,), array(1,), + array(1,), array(), array(2, 12, 13, 17, 18, 46, 48, 50, 52, 53,), array(2, 12, 13, 15, 17, 18, 46, 48, 50, 52,), - array(2, 12, 13, 17, 18, 46, 48, 50, 52, 53,), array(2, 12, 13, 15, 17, 18, 46, 48, 50, 52,), array(2, 12, 13, 17, 18, 46, 48, 50, 52,), array(2, 12, 13, 17, 18, 46, 48, 50, 52,), array(12, 13, 17, 18, 46, 48, 50, 52,), array(13, 14, 17, 34, 54,), - array(12, 13, 17, 50,), array(12, 13, 17,), array(15, 46, 52,), - array(46, 52,), array(46, 52,), array(26, 33,), array(46, 52,), - array(46, 52,), array(26, 33,), array(46, 52,), array(26, 33,), - array(14, 54,), array(26, 33,), array(26, 33,), array(46, 52,), - array(26, 33,), array(46, 52,), array(46, 52,), array(13, 36,), - array(46, 52,), array(26, 33,), array(26, 33,), array(26, 33,), - array(46, 52,), array(26, 33,), array(26, 33,), array(26, 33,), + array(12, 13, 17, 50,), array(15, 46, 52,), array(12, 13, 17,), + array(26, 33,), array(26, 33,), array(15, 22,), array(26, 33,), + array(26, 33,), array(26, 33,), array(26, 33,), array(46, 52,), + array(46, 52,), array(13, 36,), array(46, 52,), array(46, 52,), + array(46, 52,), array(46, 52,), array(46, 52,), array(46, 52,), + array(26, 33,), array(14, 54,), array(26, 33,), array(26, 33,), + array(26, 33,), array(26, 33,), array(26, 33,), array(26, 33,), array(14, 54,), array(26, 33,), array(26, 33,), array(26, 33,), - array(14, 54,), array(26, 33,), array(14, 54,), array(26, 33,), - array(15, 22,), array(26, 33,), array(26, 33,), array(1,), array(1,), - array(1,), array(9,), array(2,), array(18,), array(2,), array(1,), - array(18,), array(36,), array(1,), array(18,), array(), array(), array(), - array(), array(), array(1, 2, 36, 38, 39, 40, 48, 55, 56, 57,), + array(26, 33,), array(26, 33,), array(46, 52,), array(46, 52,), + array(14, 54,), array(26, 33,), array(14, 54,), array(18,), array(18,), + array(1,), array(2,), array(36,), array(18,), array(9,), array(1,), + array(2,), array(1,), array(1,), array(1,), array(), array(), array(), + array(), array(), array(1, 2, 36, 38, 39, 40, 48, 55, 56, 57, 58,), array(11, 21, 23, 26, 33, 35, 37, 46,), array(11, 15, 26, 33, 36, 48,), - array(36, 46, 48, 53,), array(12, 13, 17, 50,), array(22, 41, 59,), - array(22, 41, 53,), array(28, 36, 48,), array(35, 37,), array(36, 48,), - array(21, 35,), array(35, 37,), array(15, 46,), array(35, 53,), - array(36, 48,), array(17, 50,), array(22, 41,), array(46, 53,), - array(35, 37,), array(36, 48,), array(5,), array(17,), array(23,), - array(37,), array(15,), array(17,), array(17,), array(53,), array(53,), - array(11,), array(17,), array(51,), array(34,), array(22,), array(51,), - array(46,), array(17,), array(17,), array(17,), array(17,), array(36,), - array(17,), array(42,), array(17,), array(34,), array(36,), array(), + array(36, 46, 48, 53,), array(12, 13, 17, 50,), array(22, 41, 60,), + array(22, 41, 53,), array(28, 36, 48,), array(22, 41,), array(35, 37,), + array(35, 53,), array(35, 37,), array(15, 46,), array(35, 37,), + array(46, 53,), array(36, 48,), array(17, 50,), array(36, 48,), + array(21, 35,), array(36, 48,), array(17,), array(17,), array(53,), + array(17,), array(17,), array(11,), array(42,), array(51,), array(51,), + array(53,), array(17,), array(46,), array(17,), array(37,), array(22,), + array(34,), array(34,), array(15,), array(17,), array(5,), array(23,), + array(36,), array(17,), array(36,), array(17,), array(17,), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), @@ -821,39 +837,39 @@ class Smarty_Internal_Templateparser array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), - array(), array(), array(), array(), array(), array(),); + array(), array(), array(), array(), array(), array(), array(),); - static public $yy_default = array(335, 510, 490, 490, 490, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 393, 525, 360, 393, - 357, 393, 369, 332, 525, 525, 525, 525, 525, 525, 525, 525, 525, 398, 525, 525, - 525, 513, 405, 395, 404, 489, 398, 374, 400, 511, 488, 414, 432, 512, 421, 420, - 525, 407, 393, 525, 525, 393, 393, 393, 393, 502, 525, 525, 393, 393, 383, 422, - 407, 422, 455, 525, 407, 407, 525, 455, 445, 455, 445, 525, 445, 393, 387, 525, - 371, 407, 407, 407, 393, 525, 417, 425, 389, 410, 499, 445, 423, 411, 407, 424, - 497, 444, 444, 444, 444, 444, 444, 525, 457, 455, 471, 449, 448, 366, 450, 451, - 379, 453, 378, 525, 368, 367, 452, 364, 483, 480, 455, 481, 358, 380, 362, 482, - 373, 356, 361, 525, 382, 370, 377, 525, 372, 525, 354, 525, 381, 376, 439, 413, - 384, 348, 492, 477, 491, 388, 503, 455, 390, 500, 455, 496, 496, 496, 455, 432, - 428, 432, 432, 456, 422, 422, 432, 525, 440, 525, 525, 428, 525, 432, 525, 422, - 428, 525, 525, 340, 525, 401, 525, 525, 525, 525, 435, 525, 525, 525, 525, 430, - 422, 525, 428, 525, 525, 525, 525, 501, 525, 434, 525, 525, 471, 412, 391, 402, - 418, 375, 352, 394, 435, 436, 460, 459, 471, 479, 437, 419, 442, 351, 443, 363, - 504, 342, 438, 341, 343, 416, 441, 339, 334, 333, 336, 337, 338, 344, 468, 349, - 347, 350, 476, 505, 469, 406, 415, 345, 346, 466, 506, 486, 385, 487, 495, 508, - 509, 478, 426, 429, 474, 475, 427, 386, 507, 524, 523, 520, 518, 517, 493, 514, - 494, 515, 516, 522, 473, 446, 447, 454, 470, 485, 519, 498, 458, 434, 461, 464, - 472, 467, 484, 521, 431, 433, 465, 463, 409, 462, 408, 392,); + static public $yy_default = array(338, 515, 494, 530, 530, 494, 530, 494, 530, 530, 530, 530, 530, 530, 530, 530, + 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, + 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 396, 530, 372, + 363, 396, 396, 360, 335, 530, 530, 530, 530, 530, 401, 530, 530, 530, 530, 530, + 408, 418, 407, 492, 403, 493, 518, 398, 517, 401, 377, 516, 425, 424, 530, 530, + 436, 410, 530, 396, 530, 530, 396, 396, 396, 396, 530, 530, 396, 506, 396, 386, + 410, 426, 426, 410, 459, 410, 530, 459, 459, 530, 449, 449, 396, 410, 530, 530, + 530, 410, 374, 449, 396, 410, 390, 449, 429, 413, 428, 417, 392, 427, 410, 503, + 421, 414, 501, 448, 448, 448, 448, 448, 448, 530, 461, 475, 459, 361, 359, 530, + 375, 376, 380, 367, 487, 484, 459, 485, 486, 452, 455, 454, 453, 357, 530, 369, + 365, 364, 370, 385, 384, 530, 371, 379, 373, 382, 383, 457, 456, 530, 381, 530, + 507, 504, 416, 495, 459, 481, 351, 391, 496, 387, 443, 393, 500, 459, 459, 500, + 500, 436, 432, 436, 436, 460, 426, 426, 436, 426, 530, 530, 530, 432, 530, 432, + 436, 530, 444, 530, 530, 530, 530, 530, 530, 530, 530, 438, 530, 530, 439, 530, + 432, 530, 530, 426, 434, 530, 530, 530, 343, 404, 475, 530, 505, 530, 530, 378, + 423, 431, 346, 446, 447, 388, 405, 430, 336, 519, 397, 435, 394, 347, 475, 366, + 433, 450, 422, 520, 521, 344, 511, 472, 497, 498, 340, 482, 476, 395, 339, 389, + 470, 341, 420, 509, 345, 480, 510, 508, 442, 342, 445, 337, 409, 499, 524, 488, + 514, 513, 451, 349, 458, 483, 473, 512, 412, 439, 350, 355, 479, 478, 354, 491, + 464, 463, 527, 352, 353, 462, 440, 471, 523, 489, 525, 528, 490, 465, 502, 437, + 438, 348, 415, 411, 466, 526, 469, 441, 419, 467, 529, 474, 468, 522, 477,); - const YYNOCODE = 105; + const YYNOCODE = 107; const YYSTACKDEPTH = 500; - const YYNSTATE = 332; + const YYNSTATE = 335; - const YYNRULE = 193; + const YYNRULE = 195; - const YYERRORSYMBOL = 60; + const YYERRORSYMBOL = 61; const YYERRSYMDT = 'yy0'; @@ -893,13 +909,13 @@ class Smarty_Internal_Templateparser 'CLOSETAG', 'LDELSLASH', 'ATTR', 'INTEGER', 'COMMA', 'OPENP', 'CLOSEP', 'MATH', 'UNIMATH', 'ISIN', 'INSTANCEOF', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH', 'OPENB', 'CLOSEB', - 'DOLLAR', 'LOGOP', 'TLOGOP', 'SINGLECOND', 'QUOTE', 'BACKTICK', 'error', 'start', - 'template', 'template_element', 'smartytag', 'literal', 'text_content', + 'DOLLAR', 'LOGOP', 'SLOGOP', 'TLOGOP', 'SINGLECOND', 'QUOTE', 'BACKTICK', 'error', + 'start', 'template', 'template_element', 'smartytag', 'literal', 'text_content', 'literal_elements', 'literal_element', 'tag', 'variable', 'attributes', 'value', 'expr', 'varindexed', 'modifierlist', 'statement', 'statements', 'foraction', 'varvar', - 'modparameters', 'attribute', 'ternary', 'array', 'lop', 'scond', 'ns1', 'function', - 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex', 'indexdef', - 'varvarele', 'objectchain', 'objectelement', 'method', 'params', 'modifier', + 'modparameters', 'attribute', 'ternary', 'array', 'tlop', 'lop', 'scond', 'ns1', + 'function', 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex', + 'indexdef', 'varvarele', 'objectchain', 'objectelement', 'method', 'params', 'modifier', 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',); @@ -947,9 +963,10 @@ class Smarty_Internal_Templateparser 'statement ::= varindexed EQUAL expr', 'statement ::= OPENP statement CLOSEP', 'expr ::= value', 'expr ::= ternary', 'expr ::= DOLLARID COLON ID', 'expr ::= expr MATH value', 'expr ::= expr UNIMATH value', 'expr ::= array', - 'expr ::= expr modifierlist', 'expr ::= expr lop expr', 'expr ::= expr scond', - 'expr ::= expr ISIN array', 'expr ::= expr ISIN value', - 'expr ::= variable INSTANCEOF ns1', 'expr ::= variable INSTANCEOF variable', + 'expr ::= expr modifierlist', 'expr ::= expr tlop value', + 'expr ::= expr lop expr', 'expr ::= expr scond', 'expr ::= expr ISIN array', + 'expr ::= expr ISIN value', 'expr ::= variable INSTANCEOF ns1', + 'expr ::= variable INSTANCEOF variable', 'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr', 'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr', 'value ::= variable', 'value ::= UNIMATH value', 'value ::= NOT value', 'value ::= TYPECAST value', @@ -992,8 +1009,8 @@ class Smarty_Internal_Templateparser 'static_class_access ::= method objectchain', 'static_class_access ::= ID', 'static_class_access ::= DOLLARID arrayindex', 'static_class_access ::= DOLLARID arrayindex objectchain', 'lop ::= LOGOP', - 'lop ::= TLOGOP', 'scond ::= SINGLECOND', 'array ::= OPENB arrayelements CLOSEB', - 'arrayelements ::= arrayelement', + 'lop ::= SLOGOP', 'tlop ::= TLOGOP', 'scond ::= SINGLECOND', + 'array ::= OPENB arrayelements CLOSEB', 'arrayelements ::= arrayelement', 'arrayelements ::= arrayelements COMMA arrayelement', 'arrayelements ::=', 'arrayelement ::= value APTR expr', 'arrayelement ::= ID APTR expr', 'arrayelement ::= expr', 'doublequoted_with_quotes ::= QUOTE QUOTE', @@ -1321,99 +1338,100 @@ class Smarty_Internal_Templateparser } } - public static $yyRuleInfo = array(array(0 => 61, 1 => 1), array(0 => 62, 1 => 1), array(0 => 62, 1 => 2), - array(0 => 62, 1 => 0), array(0 => 63, 1 => 1), array(0 => 63, 1 => 1), - array(0 => 63, 1 => 1), array(0 => 63, 1 => 1), array(0 => 63, 1 => 1), - array(0 => 66, 1 => 1), array(0 => 66, 1 => 2), array(0 => 63, 1 => 1), - array(0 => 63, 1 => 1), array(0 => 65, 1 => 2), array(0 => 65, 1 => 3), - array(0 => 67, 1 => 2), array(0 => 67, 1 => 0), array(0 => 68, 1 => 1), - array(0 => 68, 1 => 1), array(0 => 64, 1 => 2), array(0 => 64, 1 => 1), - array(0 => 69, 1 => 2), array(0 => 69, 1 => 3), array(0 => 69, 1 => 2), - array(0 => 69, 1 => 3), array(0 => 69, 1 => 2), array(0 => 69, 1 => 3), - array(0 => 69, 1 => 4), array(0 => 69, 1 => 4), array(0 => 69, 1 => 5), - array(0 => 69, 1 => 5), array(0 => 64, 1 => 1), array(0 => 69, 1 => 3), - array(0 => 69, 1 => 2), array(0 => 69, 1 => 4), array(0 => 69, 1 => 5), - array(0 => 69, 1 => 6), array(0 => 69, 1 => 2), array(0 => 69, 1 => 3), - array(0 => 69, 1 => 2), array(0 => 69, 1 => 3), array(0 => 69, 1 => 8), - array(0 => 78, 1 => 2), array(0 => 78, 1 => 1), array(0 => 69, 1 => 5), - array(0 => 69, 1 => 7), array(0 => 69, 1 => 2), array(0 => 69, 1 => 6), - array(0 => 69, 1 => 8), array(0 => 69, 1 => 6), array(0 => 69, 1 => 8), - array(0 => 69, 1 => 3), array(0 => 69, 1 => 4), array(0 => 69, 1 => 2), - array(0 => 64, 1 => 1), array(0 => 69, 1 => 2), array(0 => 69, 1 => 3), - array(0 => 69, 1 => 4), array(0 => 69, 1 => 5), array(0 => 71, 1 => 2), - array(0 => 71, 1 => 1), array(0 => 71, 1 => 0), array(0 => 81, 1 => 4), - array(0 => 81, 1 => 2), array(0 => 81, 1 => 2), array(0 => 81, 1 => 2), - array(0 => 81, 1 => 2), array(0 => 81, 1 => 2), array(0 => 81, 1 => 4), - array(0 => 77, 1 => 1), array(0 => 77, 1 => 3), array(0 => 76, 1 => 3), - array(0 => 76, 1 => 3), array(0 => 76, 1 => 3), array(0 => 76, 1 => 3), + public static $yyRuleInfo = array(array(0 => 62, 1 => 1), array(0 => 63, 1 => 1), array(0 => 63, 1 => 2), + array(0 => 63, 1 => 0), array(0 => 64, 1 => 1), array(0 => 64, 1 => 1), + array(0 => 64, 1 => 1), array(0 => 64, 1 => 1), array(0 => 64, 1 => 1), + array(0 => 67, 1 => 1), array(0 => 67, 1 => 2), array(0 => 64, 1 => 1), + array(0 => 64, 1 => 1), array(0 => 66, 1 => 2), array(0 => 66, 1 => 3), + array(0 => 68, 1 => 2), array(0 => 68, 1 => 0), array(0 => 69, 1 => 1), + array(0 => 69, 1 => 1), array(0 => 65, 1 => 2), array(0 => 65, 1 => 1), + array(0 => 70, 1 => 2), array(0 => 70, 1 => 3), array(0 => 70, 1 => 2), + array(0 => 70, 1 => 3), array(0 => 70, 1 => 2), array(0 => 70, 1 => 3), + array(0 => 70, 1 => 4), array(0 => 70, 1 => 4), array(0 => 70, 1 => 5), + array(0 => 70, 1 => 5), array(0 => 65, 1 => 1), array(0 => 70, 1 => 3), + array(0 => 70, 1 => 2), array(0 => 70, 1 => 4), array(0 => 70, 1 => 5), + array(0 => 70, 1 => 6), array(0 => 70, 1 => 2), array(0 => 70, 1 => 3), + array(0 => 70, 1 => 2), array(0 => 70, 1 => 3), array(0 => 70, 1 => 8), + array(0 => 79, 1 => 2), array(0 => 79, 1 => 1), array(0 => 70, 1 => 5), + array(0 => 70, 1 => 7), array(0 => 70, 1 => 2), array(0 => 70, 1 => 6), + array(0 => 70, 1 => 8), array(0 => 70, 1 => 6), array(0 => 70, 1 => 8), + array(0 => 70, 1 => 3), array(0 => 70, 1 => 4), array(0 => 70, 1 => 2), + array(0 => 65, 1 => 1), array(0 => 70, 1 => 2), array(0 => 70, 1 => 3), + array(0 => 70, 1 => 4), array(0 => 70, 1 => 5), array(0 => 72, 1 => 2), + array(0 => 72, 1 => 1), array(0 => 72, 1 => 0), array(0 => 82, 1 => 4), + array(0 => 82, 1 => 2), array(0 => 82, 1 => 2), array(0 => 82, 1 => 2), + array(0 => 82, 1 => 2), array(0 => 82, 1 => 2), array(0 => 82, 1 => 4), + array(0 => 78, 1 => 1), array(0 => 78, 1 => 3), array(0 => 77, 1 => 3), + array(0 => 77, 1 => 3), array(0 => 77, 1 => 3), array(0 => 77, 1 => 3), + array(0 => 74, 1 => 1), array(0 => 74, 1 => 1), array(0 => 74, 1 => 3), + array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), array(0 => 74, 1 => 1), + array(0 => 74, 1 => 2), array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), + array(0 => 74, 1 => 2), array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), + array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), array(0 => 83, 1 => 7), + array(0 => 83, 1 => 7), array(0 => 73, 1 => 1), array(0 => 73, 1 => 2), + array(0 => 73, 1 => 2), array(0 => 73, 1 => 2), array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), array(0 => 73, 1 => 1), array(0 => 73, 1 => 3), - array(0 => 73, 1 => 3), array(0 => 73, 1 => 3), array(0 => 73, 1 => 1), - array(0 => 73, 1 => 2), array(0 => 73, 1 => 3), array(0 => 73, 1 => 2), - array(0 => 73, 1 => 3), array(0 => 73, 1 => 3), array(0 => 73, 1 => 3), - array(0 => 73, 1 => 3), array(0 => 82, 1 => 7), array(0 => 82, 1 => 7), - array(0 => 72, 1 => 1), array(0 => 72, 1 => 2), array(0 => 72, 1 => 2), - array(0 => 72, 1 => 2), array(0 => 72, 1 => 2), array(0 => 72, 1 => 1), - array(0 => 72, 1 => 1), array(0 => 72, 1 => 3), array(0 => 72, 1 => 2), - array(0 => 72, 1 => 2), array(0 => 72, 1 => 1), array(0 => 72, 1 => 1), - array(0 => 72, 1 => 3), array(0 => 72, 1 => 1), array(0 => 72, 1 => 1), - array(0 => 72, 1 => 3), array(0 => 72, 1 => 1), array(0 => 72, 1 => 2), - array(0 => 72, 1 => 1), array(0 => 72, 1 => 3), array(0 => 86, 1 => 1), - array(0 => 86, 1 => 1), array(0 => 70, 1 => 1), array(0 => 70, 1 => 1), - array(0 => 70, 1 => 3), array(0 => 70, 1 => 1), array(0 => 70, 1 => 3), - array(0 => 70, 1 => 4), array(0 => 70, 1 => 3), array(0 => 70, 1 => 4), - array(0 => 74, 1 => 2), array(0 => 74, 1 => 2), array(0 => 91, 1 => 2), - array(0 => 91, 1 => 0), array(0 => 92, 1 => 2), array(0 => 92, 1 => 2), - array(0 => 92, 1 => 4), array(0 => 92, 1 => 2), array(0 => 92, 1 => 2), - array(0 => 92, 1 => 4), array(0 => 92, 1 => 3), array(0 => 92, 1 => 5), - array(0 => 92, 1 => 3), array(0 => 92, 1 => 3), array(0 => 92, 1 => 3), - array(0 => 92, 1 => 3), array(0 => 92, 1 => 3), array(0 => 92, 1 => 3), - array(0 => 92, 1 => 2), array(0 => 79, 1 => 1), array(0 => 79, 1 => 1), - array(0 => 79, 1 => 2), array(0 => 93, 1 => 1), array(0 => 93, 1 => 1), - array(0 => 93, 1 => 3), array(0 => 90, 1 => 2), array(0 => 94, 1 => 1), - array(0 => 94, 1 => 2), array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), - array(0 => 95, 1 => 5), array(0 => 95, 1 => 6), array(0 => 95, 1 => 2), - array(0 => 87, 1 => 4), array(0 => 96, 1 => 4), array(0 => 96, 1 => 4), - array(0 => 97, 1 => 3), array(0 => 97, 1 => 1), array(0 => 97, 1 => 0), - array(0 => 75, 1 => 3), array(0 => 75, 1 => 2), array(0 => 98, 1 => 3), - array(0 => 98, 1 => 2), array(0 => 80, 1 => 2), array(0 => 80, 1 => 0), - array(0 => 99, 1 => 2), array(0 => 99, 1 => 2), array(0 => 89, 1 => 1), - array(0 => 89, 1 => 2), array(0 => 89, 1 => 1), array(0 => 89, 1 => 2), - array(0 => 89, 1 => 3), array(0 => 84, 1 => 1), array(0 => 84, 1 => 1), - array(0 => 85, 1 => 1), array(0 => 83, 1 => 3), array(0 => 100, 1 => 1), - array(0 => 100, 1 => 3), array(0 => 100, 1 => 0), array(0 => 101, 1 => 3), - array(0 => 101, 1 => 3), array(0 => 101, 1 => 1), array(0 => 88, 1 => 2), - array(0 => 88, 1 => 3), array(0 => 102, 1 => 2), array(0 => 102, 1 => 1), - array(0 => 103, 1 => 3), array(0 => 103, 1 => 3), array(0 => 103, 1 => 1), - array(0 => 103, 1 => 3), array(0 => 103, 1 => 3), array(0 => 103, 1 => 1), - array(0 => 103, 1 => 1),); + array(0 => 73, 1 => 2), array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), + array(0 => 73, 1 => 1), array(0 => 73, 1 => 3), array(0 => 73, 1 => 1), + array(0 => 73, 1 => 1), array(0 => 73, 1 => 3), array(0 => 73, 1 => 1), + array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), array(0 => 73, 1 => 3), + array(0 => 88, 1 => 1), array(0 => 88, 1 => 1), array(0 => 71, 1 => 1), + array(0 => 71, 1 => 1), array(0 => 71, 1 => 3), array(0 => 71, 1 => 1), + array(0 => 71, 1 => 3), array(0 => 71, 1 => 4), array(0 => 71, 1 => 3), + array(0 => 71, 1 => 4), array(0 => 75, 1 => 2), array(0 => 75, 1 => 2), + array(0 => 93, 1 => 2), array(0 => 93, 1 => 0), array(0 => 94, 1 => 2), + array(0 => 94, 1 => 2), array(0 => 94, 1 => 4), array(0 => 94, 1 => 2), + array(0 => 94, 1 => 2), array(0 => 94, 1 => 4), array(0 => 94, 1 => 3), + array(0 => 94, 1 => 5), array(0 => 94, 1 => 3), array(0 => 94, 1 => 3), + array(0 => 94, 1 => 3), array(0 => 94, 1 => 3), array(0 => 94, 1 => 3), + array(0 => 94, 1 => 3), array(0 => 94, 1 => 2), array(0 => 80, 1 => 1), + array(0 => 80, 1 => 1), array(0 => 80, 1 => 2), array(0 => 95, 1 => 1), + array(0 => 95, 1 => 1), array(0 => 95, 1 => 3), array(0 => 92, 1 => 2), + array(0 => 96, 1 => 1), array(0 => 96, 1 => 2), array(0 => 97, 1 => 3), + array(0 => 97, 1 => 3), array(0 => 97, 1 => 5), array(0 => 97, 1 => 6), + array(0 => 97, 1 => 2), array(0 => 89, 1 => 4), array(0 => 98, 1 => 4), + array(0 => 98, 1 => 4), array(0 => 99, 1 => 3), array(0 => 99, 1 => 1), + array(0 => 99, 1 => 0), array(0 => 76, 1 => 3), array(0 => 76, 1 => 2), + array(0 => 100, 1 => 3), array(0 => 100, 1 => 2), array(0 => 81, 1 => 2), + array(0 => 81, 1 => 0), array(0 => 101, 1 => 2), array(0 => 101, 1 => 2), + array(0 => 91, 1 => 1), array(0 => 91, 1 => 2), array(0 => 91, 1 => 1), + array(0 => 91, 1 => 2), array(0 => 91, 1 => 3), array(0 => 86, 1 => 1), + array(0 => 86, 1 => 1), array(0 => 85, 1 => 1), array(0 => 87, 1 => 1), + array(0 => 84, 1 => 3), array(0 => 102, 1 => 1), array(0 => 102, 1 => 3), + array(0 => 102, 1 => 0), array(0 => 103, 1 => 3), array(0 => 103, 1 => 3), + array(0 => 103, 1 => 1), array(0 => 90, 1 => 2), array(0 => 90, 1 => 3), + array(0 => 104, 1 => 2), array(0 => 104, 1 => 1), array(0 => 105, 1 => 3), + array(0 => 105, 1 => 3), array(0 => 105, 1 => 1), array(0 => 105, 1 => 3), + array(0 => 105, 1 => 3), array(0 => 105, 1 => 1), array(0 => 105, 1 => 1),); public static $yyReduceMap = array(0 => 0, 1 => 1, 2 => 2, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 17 => 9, - 18 => 9, 43 => 9, 66 => 9, 67 => 9, 75 => 9, 76 => 9, 80 => 9, 90 => 9, 95 => 9, - 96 => 9, 101 => 9, 103 => 9, 104 => 9, 108 => 9, 110 => 9, 115 => 9, 176 => 9, - 181 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 16 => 13, 14 => 14, 74 => 14, - 15 => 15, 91 => 15, 93 => 15, 94 => 15, 122 => 15, 19 => 19, 20 => 20, 21 => 21, + 18 => 9, 43 => 9, 66 => 9, 67 => 9, 75 => 9, 76 => 9, 80 => 9, 91 => 9, 96 => 9, + 97 => 9, 102 => 9, 104 => 9, 105 => 9, 109 => 9, 111 => 9, 116 => 9, 178 => 9, + 183 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 16 => 13, 14 => 14, 74 => 14, + 15 => 15, 92 => 15, 94 => 15, 95 => 15, 123 => 15, 19 => 19, 20 => 20, 21 => 21, 23 => 21, 25 => 21, 22 => 22, 24 => 22, 26 => 22, 27 => 27, 28 => 27, 29 => 29, 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37, 38 => 38, 40 => 38, 39 => 39, 41 => 41, 42 => 42, 44 => 44, 45 => 45, 46 => 46, 47 => 47, 49 => 47, 48 => 48, 50 => 48, 51 => 51, 52 => 52, 53 => 53, 54 => 54, - 55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 69 => 60, 157 => 60, - 161 => 60, 165 => 60, 166 => 60, 61 => 61, 158 => 61, 164 => 61, 62 => 62, - 63 => 63, 64 => 63, 65 => 65, 142 => 65, 68 => 68, 70 => 70, 71 => 71, 72 => 71, - 73 => 73, 77 => 77, 78 => 78, 79 => 78, 81 => 81, 107 => 81, 82 => 82, 83 => 83, - 84 => 84, 85 => 85, 86 => 86, 87 => 86, 88 => 88, 89 => 89, 92 => 92, 97 => 97, - 98 => 98, 99 => 99, 100 => 100, 102 => 102, 105 => 105, 106 => 106, 109 => 109, - 111 => 111, 112 => 112, 113 => 113, 114 => 114, 116 => 116, 117 => 117, - 118 => 118, 119 => 119, 120 => 120, 121 => 121, 123 => 123, 178 => 123, - 124 => 124, 125 => 125, 126 => 126, 127 => 127, 128 => 128, 129 => 129, - 137 => 129, 130 => 130, 131 => 131, 132 => 132, 133 => 132, 135 => 132, - 136 => 132, 134 => 134, 138 => 138, 139 => 139, 140 => 140, 182 => 140, - 141 => 141, 143 => 143, 144 => 144, 145 => 145, 146 => 146, 147 => 147, + 55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 69 => 60, 158 => 60, + 162 => 60, 166 => 60, 167 => 60, 61 => 61, 159 => 61, 165 => 61, 62 => 62, + 63 => 63, 64 => 63, 65 => 65, 143 => 65, 68 => 68, 70 => 70, 71 => 71, 72 => 71, + 73 => 73, 77 => 77, 78 => 78, 79 => 78, 81 => 81, 108 => 81, 82 => 82, 83 => 83, + 84 => 84, 85 => 85, 86 => 86, 87 => 87, 88 => 87, 89 => 89, 90 => 90, 93 => 93, + 98 => 98, 99 => 99, 100 => 100, 101 => 101, 103 => 103, 106 => 106, 107 => 107, + 110 => 110, 112 => 112, 113 => 113, 114 => 114, 115 => 115, 117 => 117, + 118 => 118, 119 => 119, 120 => 120, 121 => 121, 122 => 122, 124 => 124, + 180 => 124, 125 => 125, 126 => 126, 127 => 127, 128 => 128, 129 => 129, + 130 => 130, 138 => 130, 131 => 131, 132 => 132, 133 => 133, 134 => 133, + 136 => 133, 137 => 133, 135 => 135, 139 => 139, 140 => 140, 141 => 141, + 184 => 141, 142 => 142, 144 => 144, 145 => 145, 146 => 146, 147 => 147, 148 => 148, 149 => 149, 150 => 150, 151 => 151, 152 => 152, 153 => 153, - 154 => 154, 155 => 155, 156 => 156, 159 => 159, 160 => 160, 162 => 162, - 163 => 163, 167 => 167, 168 => 168, 169 => 169, 170 => 170, 171 => 171, - 172 => 172, 173 => 173, 174 => 174, 175 => 175, 177 => 177, 179 => 179, - 180 => 180, 183 => 183, 184 => 184, 185 => 185, 186 => 186, 187 => 186, - 189 => 186, 188 => 188, 190 => 190, 191 => 191, 192 => 192,); + 154 => 154, 155 => 155, 156 => 156, 157 => 157, 160 => 160, 161 => 161, + 163 => 163, 164 => 164, 168 => 168, 169 => 169, 170 => 170, 171 => 171, + 172 => 172, 173 => 173, 174 => 174, 175 => 175, 176 => 176, 177 => 177, + 179 => 179, 181 => 181, 182 => 182, 185 => 185, 186 => 186, 187 => 187, + 188 => 188, 189 => 188, 191 => 188, 190 => 190, 192 => 192, 193 => 193, + 194 => 194,); #line 218 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r0() @@ -1463,7 +1481,7 @@ class Smarty_Internal_Templateparser { $code = $this->compiler->compileTag('private_php', array(array('code' => $this->yystack[ $this->yyidx + 0 ]->minor), - array('type' => $this->lex->phpType),), array()); + array('type' => $this->lex->phpType)), array()); if ($this->compiler->has_code && !empty($code)) { $tmp = ''; foreach ($this->compiler->prefix_code as $code) { @@ -1585,7 +1603,7 @@ class Smarty_Internal_Templateparser array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, - 1) . '\''),)); + 1) . '\''))); } #line 379 "../smarty/lexer/smarty_internal_templateparser.y" @@ -1597,7 +1615,7 @@ class Smarty_Internal_Templateparser array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 3 ]->minor, - 1) . '\''),), + 1) . '\'')), $this->yystack[ $this->yyidx + 0 ]->minor)); } @@ -1608,7 +1626,7 @@ class Smarty_Internal_Templateparser array_merge(array(array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor), array('var' => $this->yystack[ $this->yyidx + - - 3 ]->minor[ 'var' ]),), + - 3 ]->minor[ 'var' ])), $this->yystack[ $this->yyidx + 0 ]->minor), array('smarty_internal_index' => $this->yystack[ $this->yyidx + - 3 ]->minor[ 'smarty_internal_index' ])); @@ -1679,7 +1697,7 @@ class Smarty_Internal_Templateparser $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor, array('value' => $this->yystack[ $this->yyidx + - 2 ]->minor, - 'modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor,)); + 'modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor)); } else { $this->_retvalue = '' . $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor, @@ -1687,7 +1705,7 @@ class Smarty_Internal_Templateparser $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor, - 'value' => 'ob_get_clean()',)) . ';?>'; + 'value' => 'ob_get_clean()')) . ';?>'; } } @@ -1712,7 +1730,7 @@ class Smarty_Internal_Templateparser $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor, - 'value' => 'ob_get_clean()',)) . ';?>'; + 'value' => 'ob_get_clean()')) . ';?>'; } #line 457 "../smarty/lexer/smarty_internal_templateparser.y" @@ -1754,7 +1772,7 @@ class Smarty_Internal_Templateparser array('var' => $this->yystack[ $this->yyidx + - 2 ]->minor), array('step' => $this->yystack[ $this->yyidx + - - 1 ]->minor),)), + - 1 ]->minor))), 1); } @@ -1771,7 +1789,7 @@ class Smarty_Internal_Templateparser array(array('start' => $this->yystack[ $this->yyidx + - 3 ]->minor), array('to' => $this->yystack[ $this->yyidx + - - 1 ]->minor),)), + - 1 ]->minor))), 0); } @@ -1784,7 +1802,7 @@ class Smarty_Internal_Templateparser array('to' => $this->yystack[ $this->yyidx + - 3 ]->minor), array('step' => $this->yystack[ $this->yyidx + - - 1 ]->minor),)), + - 1 ]->minor))), 0); } @@ -1801,7 +1819,7 @@ class Smarty_Internal_Templateparser array(array('from' => $this->yystack[ $this->yyidx + - 3 ]->minor), array('item' => $this->yystack[ $this->yyidx + - - 1 ]->minor),))); + - 1 ]->minor)))); } #line 508 "../smarty/lexer/smarty_internal_templateparser.y" @@ -1813,7 +1831,7 @@ class Smarty_Internal_Templateparser array('item' => $this->yystack[ $this->yyidx + - 1 ]->minor), array('key' => $this->yystack[ $this->yyidx + - - 3 ]->minor),))); + - 3 ]->minor)))); } #line 521 "../smarty/lexer/smarty_internal_templateparser.y" @@ -1894,7 +1912,7 @@ class Smarty_Internal_Templateparser array('object_method' => $this->yystack[ $this->yyidx + - 1 ]->minor, 'modifier_list' => $this->yystack[ $this->yyidx + - 0 ]->minor,)); + 0 ]->minor)); } #line 573 "../smarty/lexer/smarty_internal_templateparser.y" @@ -1964,14 +1982,14 @@ class Smarty_Internal_Templateparser function yy_r71() { $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '\'', - 'value' => $this->yystack[ $this->yyidx + 0 ]->minor,); + 'value' => $this->yystack[ $this->yyidx + 0 ]->minor); } #line 645 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r73() { $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 2 ]->minor, - 'value' => $this->yystack[ $this->yyidx + 0 ]->minor,); + 'value' => $this->yystack[ $this->yyidx + 0 ]->minor); } #line 669 "../smarty/lexer/smarty_internal_templateparser.y" @@ -1996,50 +2014,54 @@ class Smarty_Internal_Templateparser $this->_retvalue = $this->compiler->compileTag('private_modifier', array(), array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor, 'modifierlist' => $this->yystack[ $this->yyidx + - 0 ]->minor,)); + 0 ]->minor)); } #line 694 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r82() - { - $this->_retvalue = (isset($this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ]) ? - $this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ] : '') . - $this->yystack[ $this->yyidx + - 2 ]->minor . - $this->yystack[ $this->yyidx + - 1 ]->minor[ 'op' ] . - $this->yystack[ $this->yyidx + 0 ]->minor . - (isset($this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ]) ? ')' : ''); - } - - #line 697 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r83() { $this->_retvalue = - $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . ')'; + $this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ] . $this->yystack[ $this->yyidx + - 2 ]->minor . + $this->yystack[ $this->yyidx + - 1 ]->minor[ 'op' ] . $this->yystack[ $this->yyidx + 0 ]->minor . ')'; } - #line 701 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r84() - { - $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' . - $this->yystack[ $this->yyidx + 0 ]->minor . ')'; - } - - #line 705 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r85() - { - $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' . - $this->yystack[ $this->yyidx + 0 ]->minor . ')'; - } - - #line 709 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r86() + #line 698 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r83() { $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 721 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r88() + #line 702 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r84() + { + $this->_retvalue = + $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . ')'; + } + + #line 706 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r85() + { + $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' . + $this->yystack[ $this->yyidx + 0 ]->minor . ')'; + } + + #line 710 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r86() + { + $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' . + $this->yystack[ $this->yyidx + 0 ]->minor . ')'; + } + + #line 714 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r87() + { + $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . + $this->yystack[ $this->yyidx + 0 ]->minor; + } + + #line 726 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r89() { $this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + @@ -2049,41 +2071,41 @@ class Smarty_Internal_Templateparser ' : ' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 725 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r89() + #line 730 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r90() { $this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->yystack[ $this->yyidx + - 2 ]->minor . ' : ' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 740 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r92() + #line 745 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r93() { $this->_retvalue = '!' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 761 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r97() + #line 766 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r98() { $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 765 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r98() + #line 770 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r99() { $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '.'; } - #line 769 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r99() + #line 774 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r100() { $this->_retvalue = '.' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 774 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r100() + #line 779 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r101() { if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) { if ($this->security) { @@ -2095,14 +2117,14 @@ class Smarty_Internal_Templateparser } } - #line 791 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r102() + #line 796 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r103() { $this->_retvalue = "(" . $this->yystack[ $this->yyidx + - 1 ]->minor . ")"; } - #line 806 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r105() + #line 811 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r106() { $prefixVar = $this->compiler->getNewPrefixVariable(); if ($this->yystack[ $this->yyidx + - 2 ]->minor[ 'var' ] == '\'smarty\'') { @@ -2122,8 +2144,8 @@ class Smarty_Internal_Templateparser $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ]; } - #line 817 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r106() + #line 822 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r107() { $prefixVar = $this->compiler->getNewPrefixVariable(); $tmp = $this->compiler->appendCode('', $this->yystack[ $this->yyidx + 0 ]->minor); @@ -2131,10 +2153,10 @@ class Smarty_Internal_Templateparser $this->_retvalue = $prefixVar; } - #line 834 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r109() + #line 839 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r110() { - if (!in_array(strtolower($this->yystack[ $this->yyidx + - 2 ]->minor), array('self', 'parent',)) && + if (!in_array(strtolower($this->yystack[ $this->yyidx + - 2 ]->minor), array('self', 'parent')) && (!$this->security || $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + - 2 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler)) @@ -2154,21 +2176,21 @@ class Smarty_Internal_Templateparser } } - #line 853 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r111() + #line 858 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r112() { $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 864 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r112() + #line 869 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r113() { $this->_retvalue = $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\''); } - #line 867 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r113() + #line 872 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r114() { if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] == '\'smarty\'') { $smarty_var = $this->compiler->compileTag('private_special_variable', array(), @@ -2184,22 +2206,22 @@ class Smarty_Internal_Templateparser } } - #line 880 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r114() + #line 885 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r115() { $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[ $this->yyidx + - 2 ]->minor . ']->' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 890 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r116() + #line 895 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r117() { $this->_retvalue = $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 1 ]->minor . "'"); } - #line 894 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r117() + #line 899 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r118() { $this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 2 ]->minor . @@ -2207,63 +2229,63 @@ class Smarty_Internal_Templateparser $this->yystack[ $this->yyidx + 0 ]->minor . ' :null)'; } - #line 898 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r118() + #line 903 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r119() { $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 1 ]->minor); } - #line 902 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r119() + #line 907 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r120() { $this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 2 ]->minor) . ') ? $tmp' . $this->yystack[ $this->yyidx + 0 ]->minor . ' : null)'; } - #line 906 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r120() - { - $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'', - 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor,); - } - - #line 909 "../smarty/lexer/smarty_internal_templateparser.y" + #line 911 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r121() { - $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 1 ]->minor, - 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor,); + $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'', + 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor); } - #line 922 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r123() + #line 914 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r122() + { + $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 1 ]->minor, + 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor); + } + + #line 927 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r124() { return; } - #line 928 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r124() + #line 933 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r125() { $this->_retvalue = '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'') . ']'; } - #line 931 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r125() + #line 936 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r126() { $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']'; } - #line 935 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r126() + #line 940 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r127() { $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 2 ]->minor) . '->' . $this->yystack[ $this->yyidx + 0 ]->minor . ']'; } - #line 939 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r127() + #line 944 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r128() { if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) { if ($this->security) { @@ -2275,20 +2297,20 @@ class Smarty_Internal_Templateparser } } - #line 950 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r128() + #line 955 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r129() { $this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']'; } - #line 955 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r129() + #line 960 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r130() { $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']'; } - #line 960 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r130() + #line 965 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r131() { $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[ $this->yyidx + @@ -2297,8 +2319,8 @@ class Smarty_Internal_Templateparser ']'; } - #line 964 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r131() + #line 969 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r132() { $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[ $this->yyidx + @@ -2309,47 +2331,47 @@ class Smarty_Internal_Templateparser '\']') . ']'; } - #line 967 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r132() + #line 972 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r133() { $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']'; } - #line 973 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r134() + #line 978 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r135() { $this->_retvalue = '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'') . ']';; } - #line 989 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r138() + #line 994 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r139() { $this->_retvalue = '[]'; } - #line 999 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r139() - { - $this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\''; - } - - #line 1003 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1004 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r140() { - $this->_retvalue = "''"; + $this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\''; } #line 1008 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r141() + { + $this->_retvalue = "''"; + } + + #line 1013 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r142() { $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 1016 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r143() + #line 1021 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r144() { $var = trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length), @@ -2357,14 +2379,14 @@ class Smarty_Internal_Templateparser $this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\''); } - #line 1022 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r144() + #line 1027 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r145() { $this->_retvalue = '(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')'; } - #line 1029 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r145() + #line 1034 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r146() { if ($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), @@ -2378,20 +2400,20 @@ class Smarty_Internal_Templateparser } } - #line 1038 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r146() + #line 1043 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r147() { $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 1043 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r147() + #line 1048 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r148() { $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 1048 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r148() + #line 1053 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r149() { if ($this->security && substr($this->yystack[ $this->yyidx + - 1 ]->minor, 0, 1) == '_') { $this->compiler->trigger_template_error(self::Err1); @@ -2400,8 +2422,8 @@ class Smarty_Internal_Templateparser '->' . $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 1055 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r149() + #line 1060 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r150() { if ($this->security) { $this->compiler->trigger_template_error(self::Err2); @@ -2410,8 +2432,8 @@ class Smarty_Internal_Templateparser $this->yystack[ $this->yyidx + 0 ]->minor . '}'; } - #line 1062 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r150() + #line 1067 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r151() { if ($this->security) { $this->compiler->trigger_template_error(self::Err2); @@ -2420,8 +2442,8 @@ class Smarty_Internal_Templateparser '->{' . $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}'; } - #line 1069 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r151() + #line 1074 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r152() { if ($this->security) { $this->compiler->trigger_template_error(self::Err2); @@ -2431,14 +2453,14 @@ class Smarty_Internal_Templateparser '}'; } - #line 1077 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r152() + #line 1082 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r153() { $this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 1085 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r153() + #line 1090 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r154() { if (!$this->security || $this->security->isTrustedPhpFunction($this->yystack[ $this->yyidx + - 3 ]->minor, $this->compiler) @@ -2487,8 +2509,8 @@ class Smarty_Internal_Templateparser } } - #line 1124 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r154() + #line 1129 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r155() { if ($this->security && substr($this->yystack[ $this->yyidx + - 3 ]->minor, 0, 1) == '_') { $this->compiler->trigger_template_error(self::Err1); @@ -2497,8 +2519,8 @@ class Smarty_Internal_Templateparser implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")"; } - #line 1131 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r155() + #line 1136 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r156() { if ($this->security) { $this->compiler->trigger_template_error(self::Err2); @@ -2512,106 +2534,107 @@ class Smarty_Internal_Templateparser $this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ')'; } - #line 1142 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r156() + #line 1147 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r157() { $this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 2 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor)); } - #line 1159 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r159() + #line 1164 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r160() { $this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 2 ]->minor, array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor))); } - #line 1163 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r160() + #line 1168 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r161() { $this->_retvalue = array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor)); } - #line 1171 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r162() + #line 1176 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r163() { $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor); } - #line 1179 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r163() + #line 1184 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r164() { $this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor); } - #line 1198 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r167() - { - $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method'); - } - #line 1203 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r168() { - $this->_retvalue = - array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method'); + $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method'); } #line 1208 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r169() { - $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, ''); + $this->_retvalue = + array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method'); } #line 1213 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r170() { - $this->_retvalue = - array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property'); + $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, ''); } #line 1218 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r171() { - $this->_retvalue = array($this->yystack[ $this->yyidx + - 2 ]->minor, - $this->yystack[ $this->yyidx + - 1 ]->minor . - $this->yystack[ $this->yyidx + 0 ]->minor, 'property',); + $this->_retvalue = + array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property'); } - #line 1224 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1223 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r172() { - $this->_retvalue[ 'op' ] = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' '; + $this->_retvalue = array($this->yystack[ $this->yyidx + - 2 ]->minor, + $this->yystack[ $this->yyidx + - 1 ]->minor . + $this->yystack[ $this->yyidx + 0 ]->minor, 'property'); } - #line 1228 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1229 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r173() { - static $lops = array('eq' => array('op' => ' == ', 'pre' => null), 'ne' => array('op' => ' != ', 'pre' => null), - 'neq' => array('op' => ' != ', 'pre' => null), 'gt' => array('op' => ' > ', 'pre' => null), - 'ge' => array('op' => ' >= ', 'pre' => null), - 'gte' => array('op' => ' >= ', 'pre' => null), 'lt' => array('op' => ' < ', 'pre' => null), - 'le' => array('op' => ' <= ', 'pre' => null), - 'lte' => array('op' => ' <= ', 'pre' => null), - 'mod' => array('op' => ' % ', 'pre' => null), - 'and' => array('op' => ' && ', 'pre' => null), - 'or' => array('op' => ' || ', 'pre' => null), - 'xor' => array('op' => ' xor ', 'pre' => null), - 'isdivby' => array('op' => ' % ', 'pre' => '!('), - 'isnotdivby' => array('op' => ' % ', 'pre' => '('), - 'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '), - 'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '), - 'isoddby' => array('op' => ' / ', 'pre' => '(1 & '), - 'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),); + $this->_retvalue = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' '; + } + + #line 1233 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r174() + { + static $lops = + array('eq' => ' == ', 'ne' => ' != ', 'neq' => ' != ', 'gt' => ' > ', 'ge' => ' >= ', 'gte' => ' >= ', + 'lt' => ' < ', 'le' => ' <= ', 'lte' => ' <= ', 'mod' => ' % ', 'and' => ' && ', 'or' => ' || ', + 'xor' => ' xor ',); $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor)); $this->_retvalue = $lops[ $op ]; } - #line 1254 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r174() + #line 1252 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r175() + { + static $tlops = + array('isdivby' => array('op' => ' % ', 'pre' => '!('), 'isnotdivby' => array('op' => ' % ', 'pre' => '('), + 'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '), + 'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '), + 'isoddby' => array('op' => ' / ', 'pre' => '(1 & '), + 'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),); + $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor)); + $this->_retvalue = $tlops[ $op ]; + } + + #line 1265 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r176() { static $scond = array('iseven' => '!(1 & ', 'isnoteven' => '(1 & ', 'isodd' => '(1 & ', 'isnotodd' => '!(1 & ',); @@ -2619,81 +2642,81 @@ class Smarty_Internal_Templateparser $this->_retvalue = $scond[ $op ]; } - #line 1268 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r175() + #line 1279 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r177() { $this->_retvalue = 'array(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')'; } - #line 1276 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r177() + #line 1287 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r179() { $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 1284 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r179() + #line 1295 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r181() { $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . '=>' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 1288 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r180() + #line 1299 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r182() { $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + - 2 ]->minor . '\'=>' . $this->yystack[ $this->yyidx + 0 ]->minor; } - #line 1304 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r183() + #line 1315 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r185() { $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor->to_smarty_php($this); } - #line 1309 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r184() + #line 1320 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r186() { $this->yystack[ $this->yyidx + - 1 ]->minor->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor); $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor; } - #line 1314 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r185() + #line 1325 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r187() { $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[ $this->yyidx + 0 ]->minor); } - #line 1318 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r186() + #line 1329 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r188() { $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[ $this->yyidx + - 1 ]->minor); } - #line 1326 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r188() + #line 1337 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r190() { $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\']->value'); } - #line 1334 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r190() + #line 1345 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r192() { $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')'); } - #line 1338 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r191() + #line 1349 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r193() { $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[ $this->yyidx + 0 ]->minor); } - #line 1342 "../smarty/lexer/smarty_internal_templateparser.y" - function yy_r192() + #line 1353 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r194() { $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[ $this->yyidx + 0 ]->minor); }