PageRenderTime 157ms CodeModel.GetById 5ms app.highlight 137ms RepoModel.GetById 2ms app.codeStats 0ms

/framework/vendor/smarty3/lib/libs/sysplugins/smarty_internal_templateparser.php

http://zoop.googlecode.com/
PHP | 1159 lines | 1122 code | 21 blank | 16 comment | 15 complexity | e501b94d4322af63ac1eba69a56e5451 MD5 | raw file
   1<?php
   2/**
   3* Smarty Internal Plugin Templateparser
   4*
   5* This is the template parser.
   6* It is generated from the internal.templateparser.y file
   7* @package Smarty
   8* @subpackage Compiler
   9* @author Uwe Tews
  10*/
  11
  12class TP_yyToken implements ArrayAccess
  13{
  14    public $string = '';
  15    public $metadata = array();
  16
  17    function __construct($s, $m = array())
  18    {
  19        if ($s instanceof TP_yyToken) {
  20            $this->string = $s->string;
  21            $this->metadata = $s->metadata;
  22        } else {
  23            $this->string = (string) $s;
  24            if ($m instanceof TP_yyToken) {
  25                $this->metadata = $m->metadata;
  26            } elseif (is_array($m)) {
  27                $this->metadata = $m;
  28            }
  29        }
  30    }
  31
  32    function __toString()
  33    {
  34        return $this->_string;
  35    }
  36
  37    function offsetExists($offset)
  38    {
  39        return isset($this->metadata[$offset]);
  40    }
  41
  42    function offsetGet($offset)
  43    {
  44        return $this->metadata[$offset];
  45    }
  46
  47    function offsetSet($offset, $value)
  48    {
  49        if ($offset === null) {
  50            if (isset($value[0])) {
  51                $x = ($value instanceof TP_yyToken) ?
  52                    $value->metadata : $value;
  53                $this->metadata = array_merge($this->metadata, $x);
  54                return;
  55            }
  56            $offset = count($this->metadata);
  57        }
  58        if ($value === null) {
  59            return;
  60        }
  61        if ($value instanceof TP_yyToken) {
  62            if ($value->metadata) {
  63                $this->metadata[$offset] = $value->metadata;
  64            }
  65        } elseif ($value) {
  66            $this->metadata[$offset] = $value;
  67        }
  68    }
  69
  70    function offsetUnset($offset)
  71    {
  72        unset($this->metadata[$offset]);
  73    }
  74}
  75
  76class TP_yyStackEntry
  77{
  78    public $stateno;       /* The state-number */
  79    public $major;         /* The major token value.  This is the code
  80                     ** number for the token at this stack level */
  81    public $minor; /* The user-supplied minor token value.  This
  82                     ** is the value of the token  */
  83};
  84
  85
  86#line 12 "smarty_internal_templateparser.y"
  87class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
  88{
  89#line 14 "smarty_internal_templateparser.y"
  90
  91    // states whether the parse was successful or not
  92    public $successful = true;
  93    public $retvalue = 0;
  94    private $lex;
  95    private $internalError = false;
  96
  97    function __construct($lex, $compiler) {
  98        // set instance object
  99        self::instance($this); 
 100        $this->lex = $lex;
 101        $this->compiler = $compiler;
 102        $this->smarty = $this->compiler->smarty;
 103        $this->template = $this->compiler->template;
 104        if ($this->template->security && isset($this->smarty->security_handler)) {
 105              $this->sec_obj = $this->smarty->security_policy;
 106        } else {
 107              $this->sec_obj = $this->smarty;
 108        }
 109        $this->compiler->has_variable_string = false;
 110				$this->compiler->prefix_code = array();
 111				$this->prefix_number = 0;
 112				$this->block_nesting_level = 0;
 113    }
 114    public static function &instance($new_instance = null)
 115    {
 116        static $instance = null;
 117        if (isset($new_instance) && is_object($new_instance))
 118            $instance = $new_instance;
 119        return $instance;
 120    }
 121
 122    public static function escape_start_tag($tag_text) {
 123       $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
 124       assert($tag !== false && $count === 1);
 125       return $tag;
 126    }
 127
 128    public static function escape_end_tag($tag_text) {
 129       assert($tag_text === '?>');
 130       return '?<?php ?>>';
 131    }
 132
 133    
 134#line 127 "smarty_internal_templateparser.php"
 135
 136    const TP_VERT                           =  1;
 137    const TP_COLON                          =  2;
 138    const TP_COMMENT                        =  3;
 139    const TP_PHPSTARTTAG                    =  4;
 140    const TP_PHPENDTAG                      =  5;
 141    const TP_FAKEPHPSTARTTAG                =  6;
 142    const TP_XMLTAG                         =  7;
 143    const TP_OTHER                          =  8;
 144    const TP_PHP_CODE                       =  9;
 145    const TP_PHP_CODE_START_DOUBLEQUOTE     = 10;
 146    const TP_PHP_CODE_DOUBLEQUOTE           = 11;
 147    const TP_PHP_HEREDOC_START              = 12;
 148    const TP_PHP_HEREDOC_END                = 13;
 149    const TP_PHP_NOWDOC_START               = 14;
 150    const TP_PHP_NOWDOC_END                 = 15;
 151    const TP_PHP_DQ_CONTENT                 = 16;
 152    const TP_PHP_DQ_EMBED_START             = 17;
 153    const TP_PHP_DQ_EMBED_END               = 18;
 154    const TP_LITERALSTART                   = 19;
 155    const TP_LITERALEND                     = 20;
 156    const TP_LITERAL                        = 21;
 157    const TP_LDEL                           = 22;
 158    const TP_RDEL                           = 23;
 159    const TP_DOLLAR                         = 24;
 160    const TP_ID                             = 25;
 161    const TP_EQUAL                          = 26;
 162    const TP_FOREACH                        = 27;
 163    const TP_PTR                            = 28;
 164    const TP_IF                             = 29;
 165    const TP_SPACE                          = 30;
 166    const TP_FOR                            = 31;
 167    const TP_SEMICOLON                      = 32;
 168    const TP_INCDEC                         = 33;
 169    const TP_TO                             = 34;
 170    const TP_STEP                           = 35;
 171    const TP_AS                             = 36;
 172    const TP_APTR                           = 37;
 173    const TP_LDELSLASH                      = 38;
 174    const TP_INTEGER                        = 39;
 175    const TP_COMMA                          = 40;
 176    const TP_MATH                           = 41;
 177    const TP_UNIMATH                        = 42;
 178    const TP_ANDSYM                         = 43;
 179    const TP_ISIN                           = 44;
 180    const TP_ISDIVBY                        = 45;
 181    const TP_ISNOTDIVBY                     = 46;
 182    const TP_ISEVEN                         = 47;
 183    const TP_ISNOTEVEN                      = 48;
 184    const TP_ISEVENBY                       = 49;
 185    const TP_ISNOTEVENBY                    = 50;
 186    const TP_ISODD                          = 51;
 187    const TP_ISNOTODD                       = 52;
 188    const TP_ISODDBY                        = 53;
 189    const TP_ISNOTODDBY                     = 54;
 190    const TP_INSTANCEOF                     = 55;
 191    const TP_OPENP                          = 56;
 192    const TP_CLOSEP                         = 57;
 193    const TP_QMARK                          = 58;
 194    const TP_NOT                            = 59;
 195    const TP_TYPECAST                       = 60;
 196    const TP_DOT                            = 61;
 197    const TP_BOOLEAN                        = 62;
 198    const TP_NULL                           = 63;
 199    const TP_SINGLEQUOTESTRING              = 64;
 200    const TP_DOUBLECOLON                    = 65;
 201    const TP_AT                             = 66;
 202    const TP_HATCH                          = 67;
 203    const TP_OPENB                          = 68;
 204    const TP_CLOSEB                         = 69;
 205    const TP_EQUALS                         = 70;
 206    const TP_NOTEQUALS                      = 71;
 207    const TP_GREATERTHAN                    = 72;
 208    const TP_LESSTHAN                       = 73;
 209    const TP_GREATEREQUAL                   = 74;
 210    const TP_LESSEQUAL                      = 75;
 211    const TP_IDENTITY                       = 76;
 212    const TP_NONEIDENTITY                   = 77;
 213    const TP_MOD                            = 78;
 214    const TP_LAND                           = 79;
 215    const TP_LOR                            = 80;
 216    const TP_LXOR                           = 81;
 217    const TP_QUOTE                          = 82;
 218    const TP_BACKTICK                       = 83;
 219    const TP_DOLLARID                       = 84;
 220    const YY_NO_ACTION = 585;
 221    const YY_ACCEPT_ACTION = 584;
 222    const YY_ERROR_ACTION = 583;
 223
 224    const YY_SZ_ACTTAB = 1995;
 225static public $yy_action = array(
 226 /*     0 */   373,  584,   55,  252,  258,  280,    8,  196,  283,  115,
 227 /*    10 */    59,  107,  247,  119,  255,  112,  257,  122,   41,   43,
 228 /*    20 */    45,   40,   25,   27,  299,  298,   20,   28,  296,  297,
 229 /*    30 */    15,   14,    8,  330,   31,   17,  294,  239,  322,   35,
 230 /*    40 */   196,  112,  146,  294,  326,  337,  162,  312,  313,  314,
 231 /*    50 */   311,  310,  306,  307,  308,  309,  338,  339,  369,  196,
 232 /*    60 */   304,   23,   24,  202,   34,   37,   17,  360,    7,  322,
 233 /*    70 */    41,   43,   45,   40,   25,   27,  299,  298,   20,   28,
 234 /*    80 */   296,  297,   15,   14,  452,   17,  276,   17,  322,   36,
 235 /*    90 */   322,  452,  251,  258,  280,    2,  253,  109,  201,  312,
 236 /*   100 */   313,  314,  311,  310,  306,  307,  308,  309,  338,  339,
 237 /*   110 */   369,  133,  219,   17,  158,   42,  322,    8,   38,  213,
 238 /*   120 */   109,  154,  114,  365,   17,  351,  112,  322,  304,   22,
 239 /*   130 */   196,  227,   47,   46,  242,  315,  316,  317,  328,  243,
 240 /*   140 */    60,   41,   43,   45,   40,   25,   27,  299,  298,   20,
 241 /*   150 */    28,  296,  297,   15,   14,   56,   17,  231,   10,  322,
 242 /*   160 */    35,   54,    4,   60,   54,   32,   17,  117,  272,  241,
 243 /*   170 */   312,  313,  314,  311,  310,  306,  307,  308,  309,  338,
 244 /*   180 */   339,  369,  268,   41,   43,   45,   40,   25,   27,  299,
 245 /*   190 */   298,   20,   28,  296,  297,   15,   14,  139,  348,  282,
 246 /*   200 */   231,  209,  109,  218,  344,  273,  274,  185,   17,  358,
 247 /*   210 */   327,  322,  312,  313,  314,  311,  310,  306,  307,  308,
 248 /*   220 */   309,  338,  339,  369,  202,   41,   43,   45,   40,   25,
 249 /*   230 */    27,  299,  298,   20,   28,  296,  297,   15,   14,   97,
 250 /*   240 */   451,  324,  267,  180,  347,   60,  368,  196,  182,  265,
 251 /*   250 */   294,  207,  327,  196,  312,  313,  314,  311,  310,  306,
 252 /*   260 */   307,  308,  309,  338,  339,  369,   16,   41,   43,   45,
 253 /*   270 */    40,   25,   27,  299,  298,   20,   28,  296,  297,   15,
 254 /*   280 */    14,  149,   96,  261,   17,    8,  182,  199,  229,  116,
 255 /*   290 */   202,   54,  278,  101,  112,  304,  312,  313,  314,  311,
 256 /*   300 */   310,  306,  307,  308,  309,  338,  339,  369,  249,   41,
 257 /*   310 */    43,   45,   40,   25,   27,  299,  298,   20,   28,  296,
 258 /*   320 */   297,   15,   14,  156,  190,  224,   17,  321,  184,  322,
 259 /*   330 */   320,   13,  166,  347,  165,  347,  302,  304,  312,  313,
 260 /*   340 */   314,  311,  310,  306,  307,  308,  309,  338,  339,  369,
 261 /*   350 */   202,  287,   12,   41,   43,   45,   40,   25,   27,  299,
 262 /*   360 */   298,   20,   28,  296,  297,   15,   14,  202,  100,  244,
 263 /*   370 */   198,  362,  372,  381,  202,   19,  186,  222,  196,  114,
 264 /*   380 */   196,  327,  312,  313,  314,  311,  310,  306,  307,  308,
 265 /*   390 */   309,  338,  339,  369,  196,  328,    9,   23,   24,  240,
 266 /*   400 */    98,  271,   65,   21,   44,   41,   43,   45,   40,   25,
 267 /*   410 */    27,  299,  298,   20,   28,  296,  297,   15,   14,  145,
 268 /*   420 */   190,   44,  171,   64,  187,  367,  238,   13,   44,  353,
 269 /*   430 */   168,    5,  152,  304,  312,  313,  314,  311,  310,  306,
 270 /*   440 */   307,  308,  309,  338,  339,  369,  304,   41,   43,   45,
 271 /*   450 */    40,   25,   27,  299,  298,   20,   28,  296,  297,   15,
 272 /*   460 */    14,    8,  105,  236,   98,  342,  343,  380,  263,   98,
 273 /*   470 */   112,  183,  196,  196,  196,  327,  312,  313,  314,  311,
 274 /*   480 */   310,  306,  307,  308,  309,  338,  339,  369,  147,   41,
 275 /*   490 */    43,   45,   40,   25,   27,  299,  298,   20,   28,  296,
 276 /*   500 */   297,   15,   14,  332,  137,  329,  143,  281,  371,  288,
 277 /*   510 */   196,  267,  196,  279,  196,  196,  153,  327,  312,  313,
 278 /*   520 */   314,  311,  310,  306,  307,  308,  309,  338,  339,  369,
 279 /*   530 */   304,   41,   43,   45,   40,   25,   27,  299,  298,   20,
 280 /*   540 */    28,  296,  297,   15,   14,  148,  361,  293,  159,  341,
 281 /*   550 */   366,    6,  291,  196,  196,  270,  196,  196,  233,  304,
 282 /*   560 */   312,  313,  314,  311,  310,  306,  307,  308,  309,  338,
 283 /*   570 */   339,  369,  228,   41,   43,   45,   40,   25,   27,  299,
 284 /*   580 */   298,   20,   28,  296,  297,   15,   14,  349,  225,  305,
 285 /*   590 */   379,  174,  347,   63,  196,   26,  196,  196,   54,  110,
 286 /*   600 */   326,  178,  312,  313,  314,  311,  310,  306,  307,  308,
 287 /*   610 */   309,  338,  339,  369,   48,   41,   43,   45,   40,   25,
 288 /*   620 */    27,  299,  298,   20,   28,  296,  297,   15,   14,  202,
 289 /*   630 */   215,  333,  230,  116,  108,  209,  206,  116,  123,  221,
 290 /*   640 */   226,  246,  196,  262,  312,  313,  314,  311,  310,  306,
 291 /*   650 */   307,  308,  309,  338,  339,  369,  175,  128,  196,  303,
 292 /*   660 */   170,  289,  116,  250,    7,   41,   43,   45,   40,   25,
 293 /*   670 */    27,  299,  298,   20,   28,  296,  297,   15,   14,  144,
 294 /*   680 */   383,  275,  118,   26,  188,    5,  325,  113,  285,  211,
 295 /*   690 */   215,  334,  336,  304,  312,  313,  314,  311,  310,  306,
 296 /*   700 */   307,  308,  309,  338,  339,  369,  323,   41,   43,   45,
 297 /*   710 */    40,   25,   27,  299,  298,   20,   28,  296,  297,   15,
 298 /*   720 */    14,   18,  135,  245,  346,  277,  292,   62,  355,  335,
 299 /*   730 */   259,  126,  300,  242,  157,  327,  312,  313,  314,  311,
 300 /*   740 */   310,  306,  307,  308,  309,  338,  339,  369,  304,  354,
 301 /*   750 */   294,  382,  196,  111,   39,  217,  161,  350,  324,  295,
 302 /*   760 */    41,   43,   45,   40,   25,   27,  299,  298,   20,   28,
 303 /*   770 */   296,  297,   15,   14,  326,  131,   33,   11,   95,   61,
 304 /*   780 */    48,  254,  232,  256,  332,  332,  332,  332,  327,  312,
 305 /*   790 */   313,  314,  311,  310,  306,  307,  308,  309,  338,  339,
 306 /*   800 */   369,  202,   41,   43,   45,   40,   25,   27,  299,  298,
 307 /*   810 */    20,   28,  296,  297,   15,   14,  132,  332,  332,  332,
 308 /*   820 */   332,  332,  332,  378,  332,  332,  332,  332,  332,  327,
 309 /*   830 */   196,  312,  313,  314,  311,  310,  306,  307,  308,  309,
 310 /*   840 */   338,  339,  369,  332,  140,  332,  264,  332,  332,  136,
 311 /*   850 */   332,  332,  332,  332,    2,   44,  121,   57,  304,  125,
 312 /*   860 */     3,  223,  327,  235,    2,  142,  106,  191,  332,  163,
 313 /*   870 */   133,  219,  295,  332,   42,  332,  133,  332,  332,  304,
 314 /*   880 */   133,  219,  332,  304,   42,  332,  332,  332,   29,  332,
 315 /*   890 */   202,   47,   46,  295,  315,  316,  317,  295,   22,   60,
 316 /*   900 */     1,   47,   46,  332,  315,  316,  317,  332,  332,   60,
 317 /*   910 */     1,  269,  454,  332,   56,    2,  332,  106,  205,  454,
 318 /*   920 */   284,   30,  266,  332,   56,    2,  332,  109,  193,  332,
 319 /*   930 */   332,  133,  219,   17,  359,   42,  322,  332,  332,  332,
 320 /*   940 */   332,  133,  197,  332,   44,   42,  332,  332,  220,   22,
 321 /*   950 */   332,  332,   47,   46,  332,  315,  316,  317,  141,   22,
 322 /*   960 */    60,    1,   47,   46,  332,  315,  316,  317,  264,  332,
 323 /*   970 */    60,    1,  304,   23,   24,   56,    2,  332,  109,  201,
 324 /*   980 */   332,  332,    3,  332,  332,   56,    2,  332,  106,  205,
 325 /*   990 */   332,  332,  133,  219,  332,  332,   42,  332,  133,  332,
 326 /*  1000 */   332,  332,  133,  219,  332,  332,   42,  332,  332,  332,
 327 /*  1010 */    22,  332,  332,   47,   46,  332,  315,  316,  317,  151,
 328 /*  1020 */    29,   60,    1,   47,   46,  332,  315,  316,  317,  332,
 329 /*  1030 */   332,   60,    1,  304,   23,   24,   56,    2,  332,  106,
 330 /*  1040 */   194,  332,  290,   30,  266,  332,   56,    2,  332,  106,
 331 /*  1050 */   192,  332,  332,  133,  219,  332,  332,   42,  332,  332,
 332 /*  1060 */   332,  332,  332,  133,  219,  332,  332,   42,  332,  332,
 333 /*  1070 */   332,   22,  332,  332,   47,   46,  332,  315,  316,  317,
 334 /*  1080 */   332,   29,   60,    1,   47,   46,  332,  315,  316,  317,
 335 /*  1090 */   332,  332,   60,    1,  332,  332,  332,   56,    2,  332,
 336 /*  1100 */   120,  205,  332,  332,  332,  160,  332,   56,    2,  332,
 337 /*  1110 */   109,  204,  332,  332,  133,  219,  332,  332,   42,  304,
 338 /*  1120 */    23,   24,  332,  332,  133,  219,  332,  332,   42,  332,
 339 /*  1130 */   332,  332,   22,  332,  332,   47,   46,  332,  315,  316,
 340 /*  1140 */   317,  332,   22,   60,    1,   47,   46,  332,  315,  316,
 341 /*  1150 */   317,  332,  332,   60,  332,  332,  332,  319,   56,    2,
 342 /*  1160 */   332,  109,  203,  332,  332,  155,  332,  208,   56,  332,
 343 /*  1170 */   114,  332,  332,  332,  332,  133,  219,  332,  234,   42,
 344 /*  1180 */   332,  332,  332,  331,  318,  332,  328,  260,   99,  332,
 345 /*  1190 */   352,  356,  357,   22,  332,  332,   47,   46,  332,  315,
 346 /*  1200 */   316,  317,  332,  173,   60,  319,    2,  332,  332,  332,
 347 /*  1210 */   332,  332,  332,  138,  332,  208,   94,  332,  114,   56,
 348 /*  1220 */   332,  332,  133,  332,  332,  319,  370,  332,  332,  332,
 349 /*  1230 */   332,  331,  318,   58,  328,  104,   53,  129,  102,  332,
 350 /*  1240 */   332,  332,  332,  200,  364,  332,  370,  332,  319,  332,
 351 /*  1250 */   332,  331,  318,  332,  328,  319,   58,  332,  103,   51,
 352 /*  1260 */   129,  102,  332,  181,  332,  208,  332,  332,  114,  370,
 353 /*  1270 */   332,  332,  332,  332,  331,  318,  301,  328,  332,  332,
 354 /*  1280 */   332,  331,  318,  319,  328,  332,  332,  319,  332,  332,
 355 /*  1290 */   332,  150,  332,  208,   66,  134,  114,  208,   50,  127,
 356 /*  1300 */   114,  332,  332,  332,  370,  376,  374,  375,  370,  331,
 357 /*  1310 */   318,  332,  328,  331,  318,  319,  328,  332,  332,  210,
 358 /*  1320 */   173,  340,  377,  150,  332,  208,   66,  319,  114,  332,
 359 /*  1330 */   332,  332,  332,  332,  332,  150,  370,  208,   66,  332,
 360 /*  1340 */   114,  331,  318,  332,  328,  332,  332,  332,  370,  319,
 361 /*  1350 */   332,  216,  332,  331,  318,  332,  328,  138,  332,  208,
 362 /*  1360 */    94,  332,  114,  286,  332,  332,  332,  332,  332,  332,
 363 /*  1370 */   370,  332,  332,  319,  332,  331,  318,  332,  328,  332,
 364 /*  1380 */   332,  150,  332,  208,   66,  319,  114,  332,  363,  332,
 365 /*  1390 */   332,  332,  332,  130,  370,  208,   79,  248,  114,  331,
 366 /*  1400 */   318,  332,  328,  332,  332,  319,  370,  332,  332,  212,
 367 /*  1410 */   332,  331,  318,  150,  328,  208,   71,  319,  114,  332,
 368 /*  1420 */   332,  237,  332,  332,  332,  150,  370,  208,   52,  124,
 369 /*  1430 */   114,  331,  318,  332,  328,  332,  332,  332,  370,  319,
 370 /*  1440 */   332,  332,  332,  331,  318,  332,  328,  150,  332,  195,
 371 /*  1450 */    67,  332,  114,  332,  332,  332,  332,  332,  332,  332,
 372 /*  1460 */   370,  332,  332,  319,  332,  331,  318,  332,  328,  332,
 373 /*  1470 */   332,  150,  332,  208,   89,  319,  114,  332,  332,  332,
 374 /*  1480 */   332,  332,  332,  150,  370,  208,   92,  319,  114,  331,
 375 /*  1490 */   318,  332,  328,  332,  332,  150,  370,  208,   70,  319,
 376 /*  1500 */   114,  331,  318,  332,  328,  332,  332,  150,  370,  208,
 377 /*  1510 */    93,  319,  114,  331,  318,  332,  328,  332,  332,  150,
 378 /*  1520 */   370,  208,   88,  332,  114,  331,  318,  332,  328,  332,
 379 /*  1530 */   332,  332,  370,  319,  332,  332,  332,  331,  318,  332,
 380 /*  1540 */   328,  150,  319,  208,   78,  332,  114,  332,  332,  332,
 381 /*  1550 */   150,  332,  208,   81,  370,  114,  332,  332,  332,  331,
 382 /*  1560 */   318,  332,  328,  370,  319,  332,  332,  332,  331,  318,
 383 /*  1570 */   332,  328,  150,  319,  208,   82,  332,  114,  332,  332,
 384 /*  1580 */   332,  150,  332,  208,   73,  370,  114,  332,  332,  332,
 385 /*  1590 */   331,  318,  332,  328,  370,  332,  332,  319,  332,  331,
 386 /*  1600 */   318,  319,  328,  332,  332,  150,  332,  208,   86,  150,
 387 /*  1610 */   114,  208,   80,  332,  114,  332,  332,  332,  370,  332,
 388 /*  1620 */   332,  332,  370,  331,  318,  332,  328,  331,  318,  332,
 389 /*  1630 */   328,  319,  332,  332,  332,  332,  332,  332,  332,  150,
 390 /*  1640 */   319,  208,   76,  332,  114,  332,  332,  332,  150,  332,
 391 /*  1650 */   208,   90,  370,  114,  332,  332,  332,  331,  318,  332,
 392 /*  1660 */   328,  370,  319,  332,  332,  332,  331,  318,  332,  328,
 393 /*  1670 */   150,  319,  208,   83,  332,  114,  332,  332,  332,  150,
 394 /*  1680 */   332,  208,   84,  370,  114,  332,  332,  332,  331,  318,
 395 /*  1690 */   332,  328,  370,  332,  332,  319,  332,  331,  318,  319,
 396 /*  1700 */   328,  332,  332,  150,  332,  208,   75,  150,  114,  208,
 397 /*  1710 */    85,  332,  114,  332,  332,  332,  370,  332,  332,  332,
 398 /*  1720 */   370,  331,  318,  332,  328,  331,  318,  332,  328,  319,
 399 /*  1730 */   332,  332,  332,  332,  332,  332,  332,  150,  319,  208,
 400 /*  1740 */    49,  332,  114,  332,  332,  332,  150,  332,  208,   74,
 401 /*  1750 */   370,  114,  332,  332,  332,  331,  318,  332,  328,  370,
 402 /*  1760 */   319,  332,  332,  332,  331,  318,  332,  328,  150,  319,
 403 /*  1770 */   208,   72,  332,  114,  332,  332,  332,  150,  332,  208,
 404 /*  1780 */    68,  370,  114,  332,  332,  332,  331,  318,  332,  328,
 405 /*  1790 */   370,  332,  332,  319,  332,  331,  318,  319,  328,  332,
 406 /*  1800 */   332,  150,  332,  208,   91,  150,  114,  208,   77,  332,
 407 /*  1810 */   114,  332,  332,  332,  370,  332,  332,  332,  370,  331,
 408 /*  1820 */   318,  332,  328,  331,  318,  332,  328,  319,  332,  332,
 409 /*  1830 */   332,  332,  332,  332,  332,  150,  319,  208,   87,  332,
 410 /*  1840 */   114,  332,  332,  332,  150,  332,  208,   69,  370,  114,
 411 /*  1850 */   332,  332,  332,  331,  318,  332,  328,  370,  319,  202,
 412 /*  1860 */   332,  332,  331,  318,  332,  328,  172,  319,  208,  332,
 413 /*  1870 */   332,  114,  332,  332,  332,  177,  332,  208,  332,  332,
 414 /*  1880 */   114,  345,  332,  332,  331,  318,  214,  328,  196,  332,
 415 /*  1890 */   332,  319,  332,  331,  318,  319,  328,  332,  332,  189,
 416 /*  1900 */   332,  208,  332,  169,  114,  208,  332,  332,  114,  332,
 417 /*  1910 */   332,  332,  332,  332,    8,  332,  332,  331,  318,  332,
 418 /*  1920 */   328,  331,  318,  112,  328,  319,  332,  332,  332,  332,
 419 /*  1930 */   332,  332,  332,  179,  319,  208,  332,  332,  114,  332,
 420 /*  1940 */   332,  332,  176,  332,  208,  332,  332,  114,  332,  332,
 421 /*  1950 */   332,  331,  318,  332,  328,  332,  319,  332,  332,  332,
 422 /*  1960 */   331,  318,  332,  328,  167,  319,  208,  332,  332,  114,
 423 /*  1970 */   332,  332,  332,  164,  332,  208,  332,  332,  114,  332,
 424 /*  1980 */   332,  332,  331,  318,  332,  328,  332,  332,  332,  332,
 425 /*  1990 */   332,  331,  318,  332,  328,
 426    );
 427    static public $yy_lookahead = array(
 428 /*     0 */    23,   86,   87,   88,   89,   90,   56,   30,    9,   10,
 429 /*    10 */    25,   12,   27,   14,   29,   65,   31,   24,   41,   42,
 430 /*    20 */    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
 431 /*    30 */    53,   54,   56,   23,   22,   22,   33,   61,   25,   26,
 432 /*    40 */    30,   65,  119,   33,  121,   69,   98,   70,   71,   72,
 433 /*    50 */    73,   74,   75,   76,   77,   78,   79,   80,   81,   30,
 434 /*    60 */   112,  113,  114,    1,   35,   34,   22,   23,   56,   25,
 435 /*    70 */    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
 436 /*    80 */    51,   52,   53,   54,   23,   22,   83,   22,   25,   26,
 437 /*    90 */    25,   30,   88,   89,   90,   22,   33,   24,   25,   70,
 438 /*   100 */    71,   72,   73,   74,   75,   76,   77,   78,   79,   80,
 439 /*   110 */    81,   38,   39,   22,   98,   42,   25,   56,   22,   99,
 440 /*   120 */    24,   25,  102,   23,   22,   23,   65,   25,  112,   56,
 441 /*   130 */    30,   66,   59,   60,    2,   62,   63,   64,  118,   37,
 442 /*   140 */    67,   41,   42,   43,   44,   45,   46,   47,   48,   49,
 443 /*   150 */    50,   51,   52,   53,   54,   82,   22,   66,   26,   25,
 444 /*   160 */    26,   28,   26,   67,   28,   22,   22,   24,   25,   25,
 445 /*   170 */    70,   71,   72,   73,   74,   75,   76,   77,   78,   79,
 446 /*   180 */    80,   81,   39,   41,   42,   43,   44,   45,   46,   47,
 447 /*   190 */    48,   49,   50,   51,   52,   53,   54,  108,   90,   57,
 448 /*   200 */    66,   65,   24,   25,   96,   62,   63,   23,   22,   23,
 449 /*   210 */   121,   25,   70,   71,   72,   73,   74,   75,   76,   77,
 450 /*   220 */    78,   79,   80,   81,    1,   41,   42,   43,   44,   45,
 451 /*   230 */    46,   47,   48,   49,   50,   51,   52,   53,   54,  108,
 452 /*   240 */    23,  120,   89,  122,  123,   67,   23,   30,  103,   23,
 453 /*   250 */    33,   28,  121,   30,   70,   71,   72,   73,   74,   75,
 454 /*   260 */    76,   77,   78,   79,   80,   81,   37,   41,   42,   43,
 455 /*   270 */    44,   45,   46,   47,   48,   49,   50,   51,   52,   53,
 456 /*   280 */    54,   98,  129,  130,   22,   56,  103,   25,   93,   94,
 457 /*   290 */     1,   28,   16,   17,   65,  112,   70,   71,   72,   73,
 458 /*   300 */    74,   75,   76,   77,   78,   79,   80,   81,   13,   41,
 459 /*   310 */    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
 460 /*   320 */    52,   53,   54,   98,   61,   36,   22,   25,  103,   25,
 461 /*   330 */   123,   68,  122,  123,  122,  123,   25,  112,   70,   71,
 462 /*   340 */    72,   73,   74,   75,   76,   77,   78,   79,   80,   81,
 463 /*   350 */     1,   83,   40,   41,   42,   43,   44,   45,   46,   47,
 464 /*   360 */    48,   49,   50,   51,   52,   53,   54,    1,  108,  105,
 465 /*   370 */   106,   23,   23,   23,    1,   58,   99,   66,   30,  102,
 466 /*   380 */    30,  121,   70,   71,   72,   73,   74,   75,   76,   77,
 467 /*   390 */    78,   79,   80,   81,   30,  118,   40,  113,  114,   91,
 468 /*   400 */    92,  124,  104,   37,   55,   41,   42,   43,   44,   45,
 469 /*   410 */    46,   47,   48,   49,   50,   51,   52,   53,   54,   98,
 470 /*   420 */    61,   55,   32,  104,  103,   69,   25,   68,   55,   23,
 471 /*   430 */    40,   26,   98,  112,   70,   71,   72,   73,   74,   75,
 472 /*   440 */    76,   77,   78,   79,   80,   81,  112,   41,   42,   43,
 473 /*   450 */    44,   45,   46,   47,   48,   49,   50,   51,   52,   53,
 474 /*   460 */    54,   56,  108,   91,   92,   23,   23,   23,   91,   92,
 475 /*   470 */    65,   23,   30,   30,   30,  121,   70,   71,   72,   73,
 476 /*   480 */    74,   75,   76,   77,   78,   79,   80,   81,  119,   41,
 477 /*   490 */    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
 478 /*   500 */    52,   53,   54,   23,  108,   23,  119,   23,   23,   57,
 479 /*   510 */    30,   89,   30,   23,   30,   30,   98,  121,   70,   71,
 480 /*   520 */    72,   73,   74,   75,   76,   77,   78,   79,   80,   81,
 481 /*   530 */   112,   41,   42,   43,   44,   45,   46,   47,   48,   49,
 482 /*   540 */    50,   51,   52,   53,   54,   98,   23,   23,  119,   23,
 483 /*   550 */    23,   30,  130,   30,   30,   23,   30,   30,   25,  112,
 484 /*   560 */    70,   71,   72,   73,   74,   75,   76,   77,   78,   79,
 485 /*   570 */    80,   81,   39,   41,   42,   43,   44,   45,   46,   47,
 486 /*   580 */    48,   49,   50,   51,   52,   53,   54,   23,  109,   23,
 487 /*   590 */    23,  122,  123,  104,   30,   26,   30,   30,   28,   24,
 488 /*   600 */   121,  104,   70,   71,   72,   73,   74,   75,   76,   77,
 489 /*   610 */    78,   79,   80,   81,    2,   41,   42,   43,   44,   45,
 490 /*   620 */    46,   47,   48,   49,   50,   51,   52,   53,   54,    1,
 491 /*   630 */    61,  117,   93,   94,   24,   65,   93,   94,  124,   24,
 492 /*   640 */    25,   36,   30,   69,   70,   71,   72,   73,   74,   75,
 493 /*   650 */    76,   77,   78,   79,   80,   81,   32,   30,   30,   25,
 494 /*   660 */    25,   93,   94,   23,   56,   41,   42,   43,   44,   45,
 495 /*   670 */    46,   47,   48,   49,   50,   51,   52,   53,   54,   98,
 496 /*   680 */    15,   11,   24,   26,  103,   26,   25,   24,   57,   25,
 497 /*   690 */    61,   69,   67,  112,   70,   71,   72,   73,   74,   75,
 498 /*   700 */    76,   77,   78,   79,   80,   81,   25,   41,   42,   43,
 499 /*   710 */    44,   45,   46,   47,   48,   49,   50,   51,   52,   53,
 500 /*   720 */    54,    2,  108,   57,   25,    5,   23,   25,   18,   67,
 501 /*   730 */    23,   57,   39,    2,   98,  121,   70,   71,   72,   73,
 502 /*   740 */    74,   75,   76,   77,   78,   79,   80,   81,  112,   23,
 503 /*   750 */    33,  112,   30,   24,   30,  111,  119,   20,  120,  126,
 504 /*   760 */    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
 505 /*   770 */    51,   52,   53,   54,  121,  108,  107,   56,   95,  119,
 506 /*   780 */     2,   30,  107,  105,  131,  131,  131,  131,  121,   70,
 507 /*   790 */    71,   72,   73,   74,   75,   76,   77,   78,   79,   80,
 508 /*   800 */    81,    1,   41,   42,   43,   44,   45,   46,   47,   48,
 509 /*   810 */    49,   50,   51,   52,   53,   54,  108,  131,  131,  131,
 510 /*   820 */   131,  131,  131,   23,  131,  131,  131,  131,  131,  121,
 511 /*   830 */    30,   70,   71,   72,   73,   74,   75,   76,   77,   78,
 512 /*   840 */    79,   80,   81,  131,   98,  131,    8,  131,  131,  108,
 513 /*   850 */   131,  131,  131,  131,   22,   55,   24,   25,  112,   27,
 514 /*   860 */    22,   29,  121,   31,   22,   98,   24,   25,  131,   98,
 515 /*   870 */    38,   39,  126,  131,   42,  131,   38,  131,  131,  112,
 516 /*   880 */    38,   39,  131,  112,   42,  131,  131,  131,   56,  131,
 517 /*   890 */     1,   59,   60,  126,   62,   63,   64,  126,   56,   67,
 518 /*   900 */    68,   59,   60,  131,   62,   63,   64,  131,  131,   67,
 519 /*   910 */    68,   69,   23,  131,   82,   22,  131,   24,   25,   30,
 520 /*   920 */    82,   83,   84,  131,   82,   22,  131,   24,   25,  131,
 521 /*   930 */   131,   38,   39,   22,   23,   42,   25,  131,  131,  131,
 522 /*   940 */   131,   38,   39,  131,   55,   42,  131,  131,   37,   56,
 523 /*   950 */   131,  131,   59,   60,  131,   62,   63,   64,   98,   56,
 524 /*   960 */    67,   68,   59,   60,  131,   62,   63,   64,    8,  131,
 525 /*   970 */    67,   68,  112,  113,  114,   82,   22,  131,   24,   25,
 526 /*   980 */   131,  131,   22,  131,  131,   82,   22,  131,   24,   25,
 527 /*   990 */   131,  131,   38,   39,  131,  131,   42,  131,   38,  131,
 528 /*  1000 */   131,  131,   38,   39,  131,  131,   42,  131,  131,  131,
 529 /*  1010 */    56,  131,  131,   59,   60,  131,   62,   63,   64,   98,
 530 /*  1020 */    56,   67,   68,   59,   60,  131,   62,   63,   64,  131,
 531 /*  1030 */   131,   67,   68,  112,  113,  114,   82,   22,  131,   24,
 532 /*  1040 */    25,  131,   82,   83,   84,  131,   82,   22,  131,   24,
 533 /*  1050 */    25,  131,  131,   38,   39,  131,  131,   42,  131,  131,
 534 /*  1060 */   131,  131,  131,   38,   39,  131,  131,   42,  131,  131,
 535 /*  1070 */   131,   56,  131,  131,   59,   60,  131,   62,   63,   64,
 536 /*  1080 */   131,   56,   67,   68,   59,   60,  131,   62,   63,   64,
 537 /*  1090 */   131,  131,   67,   68,  131,  131,  131,   82,   22,  131,
 538 /*  1100 */    24,   25,  131,  131,  131,   98,  131,   82,   22,  131,
 539 /*  1110 */    24,   25,  131,  131,   38,   39,  131,  131,   42,  112,
 540 /*  1120 */   113,  114,  131,  131,   38,   39,  131,  131,   42,  131,
 541 /*  1130 */   131,  131,   56,  131,  131,   59,   60,  131,   62,   63,
 542 /*  1140 */    64,  131,   56,   67,   68,   59,   60,  131,   62,   63,
 543 /*  1150 */    64,  131,  131,   67,  131,  131,  131,   89,   82,   22,
 544 /*  1160 */   131,   24,   25,  131,  131,   97,  131,   99,   82,  131,
 545 /*  1170 */   102,  131,  131,  131,  131,   38,   39,  131,  110,   42,
 546 /*  1180 */   131,  131,  131,  115,  116,  131,  118,    3,    4,  131,
 547 /*  1190 */     6,    7,    8,   56,  131,  131,   59,   60,  131,   62,
 548 /*  1200 */    63,   64,  131,   19,   67,   89,   22,  131,  131,  131,
 549 /*  1210 */   131,  131,  131,   97,  131,   99,  100,  131,  102,   82,
 550 /*  1220 */   131,  131,   38,  131,  131,   89,  110,  131,  131,  131,
 551 /*  1230 */   131,  115,  116,   97,  118,   99,  100,  101,  102,  131,
 552 /*  1240 */   131,  131,  131,  127,  128,  131,  110,  131,   89,  131,
 553 /*  1250 */   131,  115,  116,  131,  118,   89,   97,  131,   99,  100,
 554 /*  1260 */   101,  102,  131,   97,  131,   99,  131,  131,  102,  110,
 555 /*  1270 */   131,  131,  131,  131,  115,  116,  110,  118,  131,  131,
 556 /*  1280 */   131,  115,  116,   89,  118,  131,  131,   89,  131,  131,
 557 /*  1290 */   131,   97,  131,   99,  100,   97,  102,   99,  100,  101,
 558 /*  1300 */   102,  131,  131,  131,  110,    4,    5,    6,  110,  115,
 559 /*  1310 */   116,  131,  118,  115,  116,   89,  118,  131,  131,  125,
 560 /*  1320 */    19,   20,   21,   97,  131,   99,  100,   89,  102,  131,
 561 /*  1330 */   131,  131,  131,  131,  131,   97,  110,   99,  100,  131,
 562 /*  1340 */   102,  115,  116,  131,  118,  131,  131,  131,  110,   89,
 563 /*  1350 */   131,  125,  131,  115,  116,  131,  118,   97,  131,   99,
 564 /*  1360 */   100,  131,  102,  125,  131,  131,  131,  131,  131,  131,
 565 /*  1370 */   110,  131,  131,   89,  131,  115,  116,  131,  118,  131,
 566 /*  1380 */   131,   97,  131,   99,  100,   89,  102,  131,  128,  131,
 567 /*  1390 */   131,  131,  131,   97,  110,   99,  100,  101,  102,  115,
 568 /*  1400 */   116,  131,  118,  131,  131,   89,  110,  131,  131,  125,
 569 /*  1410 */   131,  115,  116,   97,  118,   99,  100,   89,  102,  131,
 570 /*  1420 */   131,  105,  131,  131,  131,   97,  110,   99,  100,  101,
 571 /*  1430 */   102,  115,  116,  131,  118,  131,  131,  131,  110,   89,
 572 /*  1440 */   131,  131,  131,  115,  116,  131,  118,   97,  131,   99,
 573 /*  1450 */   100,  131,  102,  131,  131,  131,  131,  131,  131,  131,
 574 /*  1460 */   110,  131,  131,   89,  131,  115,  116,  131,  118,  131,
 575 /*  1470 */   131,   97,  131,   99,  100,   89,  102,  131,  131,  131,
 576 /*  1480 */   131,  131,  131,   97,  110,   99,  100,   89,  102,  115,
 577 /*  1490 */   116,  131,  118,  131,  131,   97,  110,   99,  100,   89,
 578 /*  1500 */   102,  115,  116,  131,  118,  131,  131,   97,  110,   99,
 579 /*  1510 */   100,   89,  102,  115,  116,  131,  118,  131,  131,   97,
 580 /*  1520 */   110,   99,  100,  131,  102,  115,  116,  131,  118,  131,
 581 /*  1530 */   131,  131,  110,   89,  131,  131,  131,  115,  116,  131,
 582 /*  1540 */   118,   97,   89,   99,  100,  131,  102,  131,  131,  131,
 583 /*  1550 */    97,  131,   99,  100,  110,  102,  131,  131,  131,  115,
 584 /*  1560 */   116,  131,  118,  110,   89,  131,  131,  131,  115,  116,
 585 /*  1570 */   131,  118,   97,   89,   99,  100,  131,  102,  131,  131,
 586 /*  1580 */   131,   97,  131,   99,  100,  110,  102,  131,  131,  131,
 587 /*  1590 */   115,  116,  131,  118,  110,  131,  131,   89,  131,  115,
 588 /*  1600 */   116,   89,  118,  131,  131,   97,  131,   99,  100,   97,
 589 /*  1610 */   102,   99,  100,  131,  102,  131,  131,  131,  110,  131,
 590 /*  1620 */   131,  131,  110,  115,  116,  131,  118,  115,  116,  131,
 591 /*  1630 */   118,   89,  131,  131,  131,  131,  131,  131,  131,   97,
 592 /*  1640 */    89,   99,  100,  131,  102,  131,  131,  131,   97,  131,
 593 /*  1650 */    99,  100,  110,  102,  131,  131,  131,  115,  116,  131,
 594 /*  1660 */   118,  110,   89,  131,  131,  131,  115,  116,  131,  118,
 595 /*  1670 */    97,   89,   99,  100,  131,  102,  131,  131,  131,   97,
 596 /*  1680 */   131,   99,  100,  110,  102,  131,  131,  131,  115,  116,
 597 /*  1690 */   131,  118,  110,  131,  131,   89,  131,  115,  116,   89,
 598 /*  1700 */   118,  131,  131,   97,  131,   99,  100,   97,  102,   99,
 599 /*  1710 */   100,  131,  102,  131,  131,  131,  110,  131,  131,  131,
 600 /*  1720 */   110,  115,  116,  131,  118,  115,  116,  131,  118,   89,
 601 /*  1730 */   131,  131,  131,  131,  131,  131,  131,   97,   89,   99,
 602 /*  1740 */   100,  131,  102,  131,  131,  131,   97,  131,   99,  100,
 603 /*  1750 */   110,  102,  131,  131,  131,  115,  116,  131,  118,  110,
 604 /*  1760 */    89,  131,  131,  131,  115,  116,  131,  118,   97,   89,
 605 /*  1770 */    99,  100,  131,  102,  131,  131,  131,   97,  131,   99,
 606 /*  1780 */   100,  110,  102,  131,  131,  131,  115,  116,  131,  118,
 607 /*  1790 */   110,  131,  131,   89,  131,  115,  116,   89,  118,  131,
 608 /*  1800 */   131,   97,  131,   99,  100,   97,  102,   99,  100,  131,
 609 /*  1810 */   102,  131,  131,  131,  110,  131,  131,  131,  110,  115,
 610 /*  1820 */   116,  131,  118,  115,  116,  131,  118,   89,  131,  131,
 611 /*  1830 */   131,  131,  131,  131,  131,   97,   89,   99,  100,  131,
 612 /*  1840 */   102,  131,  131,  131,   97,  131,   99,  100,  110,  102,
 613 /*  1850 */   131,  131,  131,  115,  116,  131,  118,  110,   89,    1,
 614 /*  1860 */   131,  131,  115,  116,  131,  118,   97,   89,   99,  131,
 615 /*  1870 */   131,  102,  131,  131,  131,   97,  131,   99,  131,  131,
 616 /*  1880 */   102,   23,  131,  131,  115,  116,   28,  118,   30,  131,
 617 /*  1890 */   131,   89,  131,  115,  116,   89,  118,  131,  131,   97,
 618 /*  1900 */   131,   99,  131,   97,  102,   99,  131,  131,  102,  131,
 619 /*  1910 */   131,  131,  131,  131,   56,  131,  131,  115,  116,  131,
 620 /*  1920 */   118,  115,  116,   65,  118,   89,  131,  131,  131,  131,
 621 /*  1930 */   131,  131,  131,   97,   89,   99,  131,  131,  102,  131,
 622 /*  1940 */   131,  131,   97,  131,   99,  131,  131,  102,  131,  131,
 623 /*  1950 */   131,  115,  116,  131,  118,  131,   89,  131,  131,  131,
 624 /*  1960 */   115,  116,  131,  118,   97,   89,   99,  131,  131,  102,
 625 /*  1970 */   131,  131,  131,   97,  131,   99,  131,  131,  102,  131,
 626 /*  1980 */   131,  131,  115,  116,  131,  118,  131,  131,  131,  131,
 627 /*  1990 */   131,  115,  116,  131,  118,
 628);
 629    const YY_SHIFT_USE_DFLT = -51;
 630    const YY_SHIFT_MAX = 246;
 631    static public $yy_shift_ofst = array(
 632 /*     0 */  1184, 1015,  832,  832,  964, 1025, 1076,  893,  893, 1015,
 633 /*    10 */   964,  893,  893,  842,  893,  893,  893,  893,  893,  893,
 634 /*    20 */   893,  893,  893,  893,  893,  893,  893,  893,  893,  893,
 635 /*    30 */   893,  893,  893,  893,  893,  893,  893,  893,  893,  903,
 636 /*    40 */   954,   73,   73,   73, 1137,   73,   73,   73, 1086,   29,
 637 /*    50 */   -23,  100,  364,  364,   96, 1184,  838, 1858,  800,  223,
 638 /*    60 */   178,  263,  628,  612,  612,  612,  312,  268,  226,  184,
 639 /*    70 */   142,  406,  624,  574,  448,  490,  532,  666,  719,  761,
 640 /*    80 */   761,  761,  761,  761,  761,  761,  761,  761,  761,  761,
 641 /*    90 */   761,  761,  761,  761,  761, 1301,  960,  134,   -1,   -1,
 642 /*   100 */    63,   -1,  136,   10,  217,   91,  144,  276,  304,  304,
 643 /*   110 */   304,  304,  615,  304,  570,  276,  276,  304,  304,  276,
 644 /*   120 */   144,  262,  304,  133,  722,  724,  133,  722,  729,  722,
 645 /*   130 */   889,  911,  102,  -15,  349,   44,   13,  186,  366,   65,
 646 /*   140 */   566,  348,  526,  359,  524,  564,  359,  359,  523,  567,
 647 /*   150 */   373,  444,  443,  350,   12,  289,  485,  482,  527,  359,
 648 /*   160 */   484,  359,  480,  442,   62,  133,  133,   62,  729,   62,
 649 /*   170 */   721,  751,   62,  737,  133,  751,   62,   62,  778,   62,
 650 /*   180 */   133,   62,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
 651 /*   190 */   143,  -24,   61,  405,  229,    3,  533,  569,  390,  132,
 652 /*   200 */   356,  -50,  311,  -50,  -50,  -50,  295,  401,  717,  699,
 653 /*   210 */   452,  622,  631,  625,  702,  693,  674,  707,  662,  629,
 654 /*   220 */   663,  635,  634,  521,  610,  640,  608,  661,  657,  665,
 655 /*   230 */   670,  681,  658,  659,  605,  627,  710,  726,  703,  664,
 656 /*   240 */   720,  731,  302,   -7,   31,  317,  575,
 657);
 658    const YY_REDUCE_USE_DFLT = -86;
 659    const YY_REDUCE_MAX = 189;
 660    static public $yy_reduce_ofst = array(
 661 /*     0 */   -85, 1116, 1136, 1159, 1328, 1296, 1316, 1284, 1194, 1260,
 662 /*    10 */  1198, 1226, 1238, 1484, 1475, 1508, 1512, 1542, 1453, 1444,
 663 /*    20 */  1386, 1374, 1398, 1410, 1422, 1551, 1573, 1704, 1738, 1708,
 664 /*    30 */  1350, 1747, 1680, 1671, 1606, 1582, 1610, 1640, 1649, 1068,
 665 /*    40 */  1166, 1769, 1876, 1867, 1845, 1806, 1836, 1778, 1802, 1007,
 666 /*    50 */   921,  -52,  860,  -52,  277,    4,  153,  321,  183,  225,
 667 /*    60 */    20,  121,  581,  746,  767,  771,  284,  284,  284,  284,
 668 /*    70 */   284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
 669 /*    80 */   284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
 670 /*    90 */   284,  284,  284,  284,  284,  108,  422,  -77,  377,  308,
 671 /*   100 */   479,  372,  469,  636,  636,  -77,  354,  543,  708,  354,
 672 /*   110 */   667,  741,  514,  614,  469,  539,  568,   89,  260,  195,
 673 /*   120 */   131,  354,  396,  212,  447,  334,  210,  418,  264,   16,
 674 /*   130 */   145,  653,  653,  644,  145,  653,  653,  653,  145,  653,
 675 /*   140 */   639,  639,  639,  638,  639,  639,  638,  638,  639,  639,
 676 /*   150 */   145,  639,  639,  639,  637,  145,  639,  639,  639,  638,
 677 /*   160 */   639,  638,  639,  639,  145,  207,  207,  145,  678,  145,
 678 /*   170 */   660,  669,  145,  683,  207,  675,  145,  145,  633,  145,
 679 /*   180 */   207,  145,  497,  429,  489,  387,  369,  298,  319,  145,
 680);
 681    static public $yyExpectedTokens = array(
 682        /* 0 */ array(3, 4, 6, 7, 8, 19, 22, 38, ),
 683        /* 1 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 684        /* 2 */ array(22, 24, 25, 27, 29, 31, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 685        /* 3 */ array(22, 24, 25, 27, 29, 31, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 686        /* 4 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 687        /* 5 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 688        /* 6 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 689        /* 7 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 690        /* 8 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 691        /* 9 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 692        /* 10 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 693        /* 11 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 694        /* 12 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 695        /* 13 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 69, 82, ),
 696        /* 14 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 697        /* 15 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 698        /* 16 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 699        /* 17 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 700        /* 18 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 701        /* 19 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 702        /* 20 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 703        /* 21 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 704        /* 22 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 705        /* 23 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 706        /* 24 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 707        /* 25 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 708        /* 26 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 709        /* 27 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 710        /* 28 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 711        /* 29 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 712        /* 30 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 713        /* 31 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 714        /* 32 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 715        /* 33 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 716        /* 34 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 717        /* 35 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 718        /* 36 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 719        /* 37 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 720        /* 38 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 721        /* 39 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 722        /* 40 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 68, 82, ),
 723        /* 41 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 82, ),
 724        /* 42 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 82, ),
 725        /* 43 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 82, ),
 726        /* 44 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 82, ),
 727        /* 45 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 82, ),
 728        /* 46 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 82, ),
 729        /* 47 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 82, ),
 730        /* 48 */ array(22, 24, 25, 38, 39, 42, 56, 59, 60, 62, 63, 64, 67, 82, ),
 731        /* 49 */ array(30, 35, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 732        /* 50 */ array(23, 30, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 733        /* 51 */ array(23, 30, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 734        /* 52 */ array(30, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 735        /* 53 */ array(30, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 736        /* 54 */ array(22, 24, 25, 67, ),
 737        /* 55 */ array(3, 4, 6, 7, 8, 19, 22, 38, ),
 738        /* 56 */ array(8, 22, 38, 82, 83, 84, ),
 739        /* 57 */ array(1, 23, 28, 30, 56, 65, ),
 740        /* 58 */ array(1, 23, 30, 55, ),
 741        /* 59 */ array(1, 23, 28, 30, ),
 742        /* 60 */ array(24, 25, 67, ),
 743        /* 61 */ array(28, 61, 68, ),
 744        /* 62 */ array(1, 30, ),
 745        /* 63 */ array(2, 30, ),
 746        /* 64 */ array(2, 30, ),
 747        /* 65 */ array(2, 30, ),
 748        /* 66 */ array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 749        /* 67 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, ),
 750        /* 68 */ array(23, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 751        /* 69 */ array(23, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 752        /* 70 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 753        /* 71 */ array(23, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 754        /* 72 */ array(32, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 755        /* 73 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 756        /* 74 */ array(23, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 757        /* 75 */ array(23, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 758        /* 76 */ array(23, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 759        /* 77 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 760        /* 78 */ array(2, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 761        /* 79 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 762        /* 80 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 763        /* 81 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 764        /* 82 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 765        /* 83 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 766        /* 84 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 767        /* 85 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 768        /* 86 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 769        /* 87 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 770        /* 88 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 771        /* 89 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 772        /* 90 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 773        /* 91 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 774        /* 92 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 775        /* 93 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 776        /* 94 */ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ),
 777        /* 95 */ array(4, 5, 6, 19, 20, 21, ),
 778        /* 96 */ array(8, 22, 38, 82, 83, 84, ),
 779        /* 97 */ array(22, 25, 26, 66, ),
 780        /* 98 */ array(9, 10, 12, 14, ),
 781        /* 99 */ array(9, 10, 12, 14, ),
 782        /* 100 */ array(22, 25, 26, 33, ),
 783        /* 101 */ array(9, 10, 12, 14, ),
 784        /* 102 */ array(26, 28, 65, ),
 785        /* 103 */ array(23, 30, 33, ),
 786        /* 104 */ array(23, 30, 33, ),
 787        /* 105 */ array(22, 25, 66, ),
 788        /* 106 */ array(22, 25, ),
 789        /* 107 */ array(16, 17, ),
 790        /* 108 */ array(22, 25, ),
 791        /* 109 */ array(22, 25, ),
 792        /* 110 */ array(22, 25, ),
 793        /* 111 */ array(22, 25, ),
 794        /* 112 */ array(24, 25, ),
 795        /* 113 */ array(22, 25, ),
 796        /* 114 */ array(28, 65, ),
 797        /* 115 */ array(16, 17, ),
 798        /* 116 */ array(16, 17, ),
 799        /* 117 */ array(22, 25, ),
 800        /* 118 */ array(22, 25, ),
 801        /* 119 */ array(16, 17, ),
 802        /* 120 */ array(22, 25, ),
 803        /* 121 */ array(22, 25, ),
 804        /* 122 */ array(22, 25, ),
 805        /* 123 */ array(28, ),
 806        /* 124 */ array(30, ),
 807        /* 125 */ array(30, ),
 808        /* 126 */ array(28, ),
 809        /* 127 */ array(30, ),
 810        /* 128 */ array(24, ),
 811        /* 129 */ array(30, ),
 812        /* 130 */ array(1, 23, 30, 55, ),
 813        /* 131 */ array(22, 23, 25, 37, ),
 814        /* 132 */ array(22, 23, 25, 37, ),
 815        /* 133 */ array(25, 27, 29, 31, ),
 816        /* 134 */ array(1, 23, 55, ),
 817        /* 135 */ array(22, 23, 25, ),
 818        /* 136 */ array(22, 25, 26, ),
 819        /* 137 */ array(22, 23, 25, ),
 820        /* 138 */ array(1, 37, 55, ),
 821        /* 139 */ array(22, 25, 66, ),
 822        /* 140 */ array(23, 30, ),
 823        /* 141 */ array(23, 30, ),
 824        /* 142 */ array(23, 30, ),
 825        /* 143 */ array(61, 68, ),
 826        /* 144 */ array(23, 30, ),
 827        /* 145 */ array(23, 30, ),
 828        /* 146 */ array(61, 68, ),
 829        /* 147 */ array(61, 68, ),
 830        /* 148 */ array(23, 30, ),
 831        /* 149 */ array(23, 30, ),
 832        /* 150 */ array(1, 55, ),
 833        /* 151 */ array(23, 30, ),
 834        /* 152 */ array(23, 30, ),
 835        /* 153 */ array(23, 30, ),
 836        /* 154 */ array(22, 56, ),
 837        /* 155 */ array(1, 36, ),
 838        /* 156 */ array(23, 30, ),
 839        /* 157 */ array(23, 30, ),
 840        /* 158 */ array(23, 30, ),
 841        /* 159 */ array(61, 68, ),
 842        /* 160 */ array(23, 30, ),
 843        /* 161 */ array(61, 68, ),
 844        /* 162 */ array(23, 30, ),
 845        /* 163 */ array(23, 30, ),
 846        /* 164 */ array(1, ),
 847        /* 165 */ array(28, ),
 848        /* 166 */ array(28, ),
 849        /* 167 */ array(1, ),
 850        /* 168 */ array(24, ),
 851        /* 169 */ array(1, ),
 852        /* 170 */ array(56, ),
 853        /* 171 */ array(30, ),
 854        /* 172 */ array(1, ),
 855        /* 173 */ array(20, ),
 856        /* 174 */ array(28, ),
 857        /* 175 */ array(30, ),
 858        /* 176 */ array(1, ),
 859        /* 177 */ array(1, ),
 860        /* 178 */ array(2, ),
 861        /* 179 */ array(1, ),
 862        /* 180 */ array(28, ),
 863        /* 181 */ array(1, ),
 864        /* 182 */ array(),
 865        /* 183 */ array(),
 866        /* 184 */ array(),
 867        /* 185 */ array(),
 868        /* 186 */ array(),
 869        /* 187 */ array(),
 870        /* 188 */ array(),
 871        /* 189 */ array(),
 872        /* 190 */ array(22, 24, 25, 39, 62, 63, ),
 873        /* 191 */ array(56, 61, 65, 69, ),
 874        /* 192 */ array(23, 30, 56, 65, ),
 875        /* 193 */ array(26, 56, 65, ),
 876        /* 194 */ array(37, 56, 65, ),
 877        /* 195 */ array(33, 83, ),
 878        /* 196 */ array(25, 39, ),
 879        /* 197 */ array(26, 61, ),
 880        /* 198 */ array(32, 40, ),
 881        /* 199 */ array(2, 26, ),
 882        /* 200 */ array(40, 69, ),
 883        /* 201 */ array(56, 65, ),
 884        /* 202 */ array(25, 66, ),
 885        /* 203 */ array(56, 65, ),
 886        /* 204 */ array(56, 65, ),
 887        /* 205 */ array(56, 65, ),
 888        /* 206 */ array(13, ),
 889        /* 207 */ array(25, ),
 890        /* 208 */ array(33, ),
 891        /* 209 */ array(25, ),
 892        /* 210 */ array(57, ),
 893        /* 211 */ array(69, ),
 894        /* 212 */ array(57, ),
 895        /* 213 */ array(67, ),
 896        /* 214 */ array(25, ),
 897        /* 215 */ array(39, ),
 898        /* 216 */ array(57, ),
 899        /* 217 */ array(23, ),
 900        /* 218 */ array(67, ),
 901        /* 219 */ array(61, ),
 902        /* 220 */ array(24, ),
 903        /* 221 */ array(25, ),
 904        /* 222 */ array(25, ),
 905        /* 223 */ array(30, ),
 906        /* 224 */ array(24, ),
 907        /* 225 */ array(23, ),
 908        /* 226 */ array(56, ),
 909        /* 227 */ array(25, ),
 910        /* 228 */ array(26, ),
 911        /* 229 */ array(15, ),
 912        /* 230 */ array(11, ),
 913        /* 231 */ array(25, ),
 914        /* 232 */ array(24, ),
 915        /* 233 */ array(26, ),
 916        /* 234 */ array(36, ),
 917        /* 235 */ array(30, ),
 918        /* 236 */ array(18, ),
 919        /* 237 */ array(23, ),
 920        /* 238 */ array(23, ),
 921        /* 239 */ array(25, ),
 922        /* 240 */ array(5, ),
 923        /* 241 */ array(2, ),
 924        /* 242 */ array(25, ),
 925        /* 243 */ array(24, ),
 926        /* 244 */ array(34, ),
 927        /* 245 */ array(58, ),
 928        /* 246 */ array(24, ),
 929        /* 247 */ array(),
 930        /* 248 */ array(),
 931        /* 249 */ array(),
 932        /* 250 */ array(),
 933        /* 251 */ array(),
 934        /* 252 */ array(),
 935        /* 253 */ array(),
 936        /* 254 */ array(),
 937        /* 255 */ array(),
 938        /* 256 */ array(),
 939        /* 257 */ array(),
 940        /* 258 */ array(),
 941        /* 259 */ array(),
 942        /* 260 */ array(),
 943        /* 261 */ array(),
 944        /* 262 */ array(),
 945        /* 263 */ array(),
 946        /* 264 */ array(),
 947        /* 265 */ array(),
 948        /* 266 */ array(),
 949        /* 267 */ array(),
 950        /* 268 */ array(),
 951        /* 269 */ array(),
 952        /* 270 */ array(),
 953        /* 271 */ array(),
 954        /* 272 */ array(),
 955        /* 273 */ array(),
 956        /* 274 */ array(),
 957        /* 275 */ array(),
 958        /* 276 */ array(),
 959        /* 277 */ array(),
 960        /* 278 */ array(),
 961        /* 279 */ array(),
 962        /* 280 */ array(),
 963        /* 281 */ array(),
 964        /* 282 */ array(),
 965        /* 283 */ array(),
 966        /* 284 */ array(),
 967        /* 285 */ array(),
 968        /* 286 */ array(),
 969        /* 287 */ array(),
 970        /* 288 */ array(),
 971        /* 289 */ array(),
 972        /* 290 */ array(),
 973        /* 291 */ array(),
 974        /* 292 */ array(),
 975        /* 293 */ array(),
 976        /* 294 */ array(),
 977        /* 295 */ array(),
 978        /* 296 */ array(),
 979        /* 297 */ array(),
 980        /* 298 */ array(),
 981        /* 299 */ array(),
 982        /* 300 */ array(),
 983        /* 301 */ array(),
 984        /* 302 */ array(),
 985        /* 303 */ array(),
 986        /* 304 */ array(),
 987        /* 305 */ array(),
 988        /* 306 */ array(),
 989        /* 307 */ array(),
 990        /* 308 */ array(),
 991        /* 309 */ array(),
 992        /* 310 */ array(),
 993        /* 311 */ array(),
 994        /* 312 */ array(),
 995        /* 313 */ array(),
 996        /* 314 */ array(),
 997        /* 315 */ array(),
 998        /* 316 */ array(),
 999        /* 317 */ array(),
1000        /* 318 */ array(),
1001        /* 319 */ array(),
1002        /* 320 */ array(),
1003        /* 321 */ array(),
1004        /* 322 */ array(),
1005        /* 323 */ array(),
1006        /* 324 */ array(),
1007        /* 325 */ array(),
1008        /* 326 */ array(),
1009        /* 327 */ array(),
1010        /* 328 */ array(),
1011        /* 329 */ array(),
1012        /* 330 */ array(),
1013        /* 331 */ array(),
1014        /* 332 */ array(),
1015        /* 333 */ array(),
1016        /* 334 */ array(),
1017        /* 335 */ array(),
1018        /* 336 */ array(),
1019        /* 337 */ array(),
1020        /* 338 */ array(),
1021        /* 339 */ array(),
1022        /* 340 */ array(),
1023        /* 341 */ array(),
1024        /* 342 */ array(),
1025        /* 343 */ array(),
1026        /* 344 */ array(),
1027        /* 345 */ array(),
1028        /* 346 */ array(),
1029        /* 347 */ array(),
1030        /* 348 */ array(),
1031        /* 349 */ array(),
1032        /* 350 */ array(),
1033        /* 351 */ array(),
1034        /* 352 */ array(),
1035        /* 353 */ array(),
1036        /* 354 */ array(),
1037        /* 355 */ array(),
1038        /* 356 */ array(),
1039        /* 357 */ array(),
1040        /* 358 */ array(),
1041        /* 359 */ array(),
1042        /* 360 */ array(),
1043        /* 361 */ array(),
1044        /* 362 */ array(),
1045        /* 363 */ array(),
1046        /* 364 */ array(),
1047        /* 365 */ array(),
1048        /* 366 */ array(),
1049        /* 367 */ array(),
1050        /* 368 */ array(),
1051        /* 369 */ array(),
1052        /* 370 */ array(),
1053        /* 371 */ array(),
1054        /* 372 */ array(),
1055        /* 373 */ array(),
1056        /* 374 */ array(),
1057        /* 375 */ array(),
1058        /* 376 */ array(),
1059        /* 377 */ array(),
1060        /* 378 */ array(),
1061        /* 379 */ array(),
1062        /* 380 */ array(),
1063        /* 381 */ array(),
1064        /* 382 */ array(),
1065        /* 383 */ array(),
1066);
1067    static public $yy_default = array(
1068 /*     0 */   583,  566,  583,  583,  583,  583,  583,  537,  537,  583,
1069 /*    10 */   583,  537,  537,  583,  583,  583,  583,  583,  583,  583,
1070 /*    20 */   583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
1071 /*    30 */   583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
1072 /*    40 */   583,  583,  583,  583,  583,  583,  583,  583,  583,  451,
1073 /*    50 */   583,  583,  451,  451,  583,  384,  583,  462,  461,  583,
1074 /*    60 */   583,  545,  451,  451,  451,  451,  536,  583,  583,  583,
1075 /*    70 */   583,  583,  583,  583,  583,  583,  583,  583,  583,  453,
1076 /*    80 */   568,  484,  481,  457,  460,  433,  480,  477,  471,  567,
1077 /*    90 */   472,  473,  476,  468,  569,  583,  583,  508,  395,  395,
1078 /*   100 */   583,  395,  501,  485,  485,  508,  583,  401,  583,  583,
1079 /*   110 */   583,  583,  583,  583,  501,  401,  401,  583,  583,  401,
1080 /*   120 */   583,  583,  583,  540,  451,  451,  541,  451,  583,  451,
1081 /*   130 */   461,  583,  583,  583,  461,  583,  583,  583,  461,  509,
1082 /*   140 */   583,  583,  583,  531,  583,  583,  506,  529,  583,  583,
1083 /*   150 */   461,  583,  583,  583,  508,  583,  583,  583,  583,  530,
1084 /*   160 */   583,  528,  583,  583,  486,  542,  543,  465,  583,  466,
1085 /*   170 */   508,  582,  464,  407,  524,  582,  483,  487,  500,  488,
1086 /*   180 */   546,  470,  548,  508,  548,  508,  508,  548,  548,  549,
1087 /*   190 */   583,  462,  462,  456,  462,  485,  583,  490,  583,  522,
1088 /*   200 */   583,  583,  583,  482,  550,  462,  583,  583,  485,  583,
1089 /*   210 */   583,  583,  583,  583,  583,  583,  583,  583,  583,  490,
1090 /*   220 */   583,  583,  583,  583,  583,  583,  544,  583,  583,  583,
1091 /*   230 */   583,  583,  583,  456,  583,  583,  583,  583,  583,  583,
1092 /*   240 */   583,  522,  583,  583,  458,  495,  583,  445,  455,  398,
1093 /*   250 */   432,  386,  385,  434,  581,  443,  459,  444,  387,  442,
1094 /*   260 */   388,  573,  518,  394,  580,  515,  576,  579,  514,  519,
1095 /*   270 */   523,  532,  511,  512,  513,  397,  574,  390,  402,  436,
1096 /*   280 */   389,  435,  495,  396,  570,  534,  535,  575,  533,  400,
1097 /*   290 */   571,  572,  448,  427,  489,  547,  478,  479,  475,  474,
1098 /*   300 */   491,  469,  539,  538,  450,  447,  556,  557,  558,  559,
1099 /*   310 */   555,  554,  551,  552,  553,  492,  493,  496,  497,  499,
1100 /*   320 */   527,  463,  522,  502,  507,  510,  521,  520,  503,  415,
1101 /*   330 */   577,  494,  416,  498,  517,  504,  505,  516,  560,  561,
1102 /*   340 */   405,  429,  428,  425,  406,  426,  525,  526,  408,  424,
1103 /*   350 */   404,  437,  391,  430,  431,  403,  392,  393,  438,  439,
1104 /*   360 */   440,  423,  422,  565,  564,  578,  417,  563,  441,  562,
1105 /*   370 */   467,  446,  418,  419,  412,  411,  410,  409,  413,  414,
1106 /*   380 */   420,  421,  449,  399,
1107);
1108    const YYNOCODE = 132;
1109    const YYSTACKDEPTH = 100;
1110    const YYNSTATE = 384;
1111    const YYNRULE = 199;
1112    const YYERRORSYMBOL = 85;
1113    const YYERRSYMDT = 'yy0';
1114    const YYFALLBACK = 0;
1115    static public $yyFallback = array(
1116    );
1117    static function Trace($TraceFILE, $zTracePrompt)
1118    {
1119        if (!$TraceFILE) {
1120            $zTracePrompt = 0;
1121        } elseif (!$zTracePrompt) {
1122            $TraceFILE = 0;
1123        }
1124        self::$yyTraceFILE = $TraceFILE;
1125        self::$yyTracePrompt = $zTracePrompt;
1126    }
1127
1128    static function PrintTrace()
1129    {
1130        self::$yyTraceFILE = fopen('php://output', 'w');
1131        self::$yyTracePrompt = '<br>';
1132    }
1133
1134    static public $yyTraceFILE;
1135    static public $yyTracePrompt;
1136    public $yyidx;                    /* Index of top element in stack */
1137    public $yyerrcnt;                 /* Shifts left before out of the error */
1138    public $yystack = array();  /* The parser's stack */
1139
1140    public $yyTokenName = array( 
1141  '$',             'VERT',          'COLON',         'COMMENT',     
1142  'PHPSTARTTAG',   'PHPENDTAG',     'FAKEPHPSTARTTAG',  'XMLTAG',      
1143  'OTHER',         'PHP_CODE',      'PHP_CODE_START_DOUBLEQUOTE',  'PHP_CODE_DOUBLEQUOTE',
1144  'PHP_HEREDOC_START',  'PHP_HEREDOC_END',  'PHP_NOWDOC_START',  'PHP_NOWDOC_END',
1145  'PHP_DQ_CONTENT',  'PHP_DQ_EMBED_START',  'PHP_DQ_EMBED_END',  'LITERALSTART',
1146  'LITERALEND',    'LITERAL',       'LDEL',          'RDEL',        
1147  'DOLLAR',        'ID',            'EQUAL',         'FOREACH',     
1148  'PTR',           'IF',            'SPACE',         'FOR',         
1149  'SEMICOLON',     'INCDEC',        'TO',            'STEP',        
1150  'AS',            'APTR',          'LDELSLASH',     'INTEGER',     
1151  'COMMA',         'MATH',          'UNIMATH',       'ANDSYM',      
1152  'ISIN',          'ISDIVBY',       'ISNOTDIVBY',    'ISEVEN',      
1153  'ISNOTEVEN',     'ISEVENBY',      'ISNOTEVENBY',   'ISODD',       
1154  'ISNOTODD',      'ISODDBY',       'ISNOTODDBY',    'INSTANCEOF',  
1155  'OPENP',         'CLOSEP',        'QMARK',         'NOT',         
1156  'TYPECAST',      'DOT',           'BOOLEAN',       'NULL',        
1157  'SINGLEQUOTESTRING',  'DOUBLECOLON',   'AT',            'HATCH',       
1158  'OPENB',         'CLOSEB',        'EQUALS',        'NOTEQUALS',   
1159  'GREAT